24. July 2018

Run automated MongoDB backups to S3 using AWS Lambda and Zappa

MongoDB comes with a backup tool called mongodump which is what you should be using when you have the resources to set up a dedicated backup job that is able to install / run the CLI tools that are needed.

If you’re running an application that is limited in scope, scarce on resources and money or just want to set up your backup without too much hassle, you can use a Python script running on AWS Lambda and Zappa to set up automated backups to AWS S3 using the setup described in this article.

22. June 2018

Compile to JS like it's 2010 again: A sneak peek into ClojureScript, Elm and ReasonML

Recently, we’ve been seeing some kind of a renaissance of Compile-to-JS languages. When Babel and ES6 made the first wave of languages like CoffeScript obsolete, the toolchain that evolved around Babel (and TypeScript) made transpiling your code mainstream and probably even the de-facto standard for writing largish applications that run in the browser.

While the first wave of languages were dealing with syntactic improvements to JavaScript, the next one seems to be about types, state and immutable data. Over the last few months I took a look at a few of these languages, so this article is trying to share a few of the insights I had while doing so.

21. May 2018

Programming is not about competing with others

The title says it all. Programming is a team effort. There is no winning, no hierarchy of performance, no #1 programmer: in the end you all commit to the same codebase, you build the same product.

Use terms and language everyone on your team understands. Be mindful about the attitude your language transports, and make it a positive one. Accept the fact that different people will do things differently, recognize different kinds of contributions and value the entire spectrum of possibilities. Unassume knowledge about things you already know and that are important to you. Educate others instead of judging them. Let others educate yourself. Ask, don’t tell.

Assume that every line of code you read, no matter how old or imperfect, has been written with good intentions. There have been constraints and circumstances you don’t know about. Improve upon what’s there and see the opportunity rather than the inadequacy. Make the product better and also make your team a better one. Make doing so and enjoyable ride for yourself and others.

Thank you for this.