Brendan Graetz

  • 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 »
  • tl;dr= Use ReactJs to publish static + isomorphic websites

    git push -> travis -> webpack -> reactjs -> gh-pages

    reactpub

    React can render both to in-browser DOM - which is the default use case - as well as to an in-memory string - which is usually used in server-side rendering. Thanks to static-site-generator-webpack-plugin doing the heavy lifting, and a few node modules of my own, it can also be used to generate static sites. This is perfect for hosting on Github Pages, or similar hosts.

     …

    continue reading »

Copyright © 2008-present Brendan Graetz