How to patch Travis CI’s deployment tool for your needs

Travis CI is a pretty good software-as-a-service Continuous Integration server. It can deploy to many targets, including AWS BeanStalk, S3, and CodeDeploy. However it might happen that the deploy tool (dpl) has a missing feature or doesn’t do exactly what you need. Fortunately it is easy to fix and run a modified version of theContinue reading “How to patch Travis CI’s deployment tool for your needs”

Simulating network timeouts with toxiproxy

Goal: Simulate how a Node.js application reacts to timeouts. Solution: Use toxiproxy and its timeout “toxic” with the value of 0, i.e. the connection won’t close, and data will be delayed until the toxic is removed. The steps: 1. Start toxiproxy, exposing the port 6666 that we intend to use as localhost:6666: docker pull shopify/toxiproxy docker runContinue reading “Simulating network timeouts with toxiproxy”

Backup WD MyCloud to S3/Glacier with duplicity (build instructions included)

How to back up your precious files stored on the WD My Cloud NAS into S3 with the slow but low-cost storage class “Glacier”. How does the backup work: duplicity does its job and uploads files to S3. The large data archives are recognized by S3 Lifecycle rules that we set up based on theirContinue reading “Backup WD MyCloud to S3/Glacier with duplicity (build instructions included)”

AWS CloudWatch Alarms Too Noisy Due To Ignoring Missing Data in Averages

I want to know when our app starts getting slower so I sat up an alarm on the Latency metric of our ELB. According to the AWS Console, “This alarm will trigger when the blue line [average latency over the period of 15 min] goes above the red line [2 sec] for a duration ofContinue reading “AWS CloudWatch Alarms Too Noisy Due To Ignoring Missing Data in Averages”

A Usable Node.js REPL for Emacs

Being used to the excellent REPL in Clojure(Script), I was surprised to find out that Node.js REPL is somewhat weak and that its support in Emacs is not actively maintained. I anyway managed to get a usable REPL with these three components: The Emacs nodejs-repl package (nearly 2 years old) J. David Smith’s nodejs-repl-eval.el toContinue reading “A Usable Node.js REPL for Emacs”

Connect Tunnelblick to VPN automatically after wake up

Need: Make sure that VPN is always running except when at work. Partial solution: Make sure VPN is always running with “connect when computer starts” and using an AppleScript to connect after waking up from sleep. Disconnect manually when at work. Future: Check the current location (wifi name? IP?) and do not connect when atContinue reading “Connect Tunnelblick to VPN automatically after wake up”

Notes From CodeMesh 2014

My consise highlights from CodeMesh 2014. Philip Potter has very good CodeMesh notes as well, as usually. TODO: Check out the papers mentioned in the  NoSQL is Dead talk. (<- slides) Tutorial: QuickCheck (John Hughes) General QC => Less code, more bugs found QC tests are based on models of the system under test –Continue reading “Notes From CodeMesh 2014”

Most interesting links of June ’14

Recommended Readings The emperor’s new clothes were built with Node.js – I know sadly little about Node.js but this goes against the hype and is thus interesting. So what does Node.js give us? Performance 1-5x slower than Java [like Clojure] according to the Benchmarks Game (contrary to other benchmarks with the opposite result as mentionedContinue reading “Most interesting links of June ’14”

Most interesting links of May ’14

Recommended Readings Monolith – from The Codeless Code – fables and koans for the SW engineer – the Monad monolth #Haskell #fun http2 explained (pdf, 27 pages) – cons of http 1 (huge spec / no full impl., wasteful use of TCP <=> latency [x spriting, inlining, concatenation, sharding]) => make it less latency sensitive,Continue reading “Most interesting links of May ’14”