Brendan Graetz

  • jest is a test runner that has all batteries included. Previously I have been using mocha, which is only a test runner. mocha, on the other hand, has assertions, mocking, and all the other bells and whistles, all baked in. With mocha, you would need to require() these in, from other modules - my go to ones were chai and sinon. Further to this, jest adds snapshot testing, which is something I have not previously done in mocha - that is perhaps something for a another article.

    Suffice to say that jest testing covers a huge surface area. …

    continue reading »
  • Many to many relationships are usually quite expensive in relational databases. For example, when you do a select in a purely relational database, you need to do two joins. When reading (select) from a database, joins are often the most expensive operation. Sure the cost of these can be mitigated through various optimisations, such as composite keys, indices on composite keys, SQL hints, et cetera; but are these really the only way? In a pure relational database system, that might be the extent of the surface area to be explored. …

    continue reading »
  • At the moment, I am in the midst of planning for an extremely large project - it is really four projects rolled into one. This has actually been quite an interesting and refreshing experience. The exercise of planning for more than one project at once forces you to think about what all the common things are up front, rather than upon completing each project. Especially useful for tasks involving using new tools/ services/ libraries/ frameworks, or anything that requires a proper investigation or spike prior to implementation. …

    continue reading »
  • After managing an extremely large scale NodeJs deployment last year. I learnt a great deal about production deployments with a focus on scalability. The retrospective summary of these learning points are in a presentation given last year: Top 7 Things Learnt Deploying NodeJs Servers at Scale.

    Production deployments are about a whole lot more than scalability though, and we’ll examine another aspect of them here: Managing multiple deployment environments. …

    continue reading »
  • It has been a while since my last post… So I thought I might combat the inertia with a fun project:

    Presenting: video2flipbook

    What it does: Downloads a video, splits it up into frames, and assembles those frames back into printable pages - which you can then print, cut, and finally glue - and voila a flip book of your favourite video!

    Best of all, it does all of that using just one simple shell script. …

    continue reading »

Copyright © 2008-present Brendan Graetz