How I got fired and learned the importance of communication and play time

When I came to the office one late autumn morning in 2005, I have been shocked to find out that – without any warning signs whatsoever – I hd been fired. That day I have learned the importance of communication. Their criticism was justified but the thing is, nobody bothered to tell me anything duringContinue reading “How I got fired and learned the importance of communication and play time”

Troubleshooting javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure

Re-published from the Telia Tech Blog. The infamous Java exception javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure is hardly understandable to a mere mortal. What it wants to say is, most likely, something like this: Sorry, none of the cryptographic protocols/versions and cipher suites is accepted both by the JVM and the server. For instance the serverContinue reading “Troubleshooting javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure”

Demonstration: Applying the Parallel Change technique to change code in small, safe steps

The Parallel Change technique is intended to make it possible to change code in a small, save steps by first adding the new way of doing things (without breaking the old one; “expand”), then switching over to the new way (“migrate”), and finally removing the old way (“contract”, i.e. make smaller). Here is an exampleContinue reading “Demonstration: Applying the Parallel Change technique to change code in small, safe steps”

Troubleshooting And Improving HTTPS/TLS Connection Performance

Our team has struggled with slow calls to the back-end, resulting in unpleasant, user-perceivable delays. While a direct (HTTP) call to a backend REST service took around 50ms, our median time was around 300ms (while using HTTPS and a proxy between us and the service). We have just decreased that time to median of 80msContinue reading “Troubleshooting And Improving HTTPS/TLS Connection Performance”

Storytelling as a Vehicle of Change: Introducing ClojureScript for the Heart and Mind

People don’t really like changes yet change we must in this fast-developing world. How to introduce a change, or rather how to inspire people to embrace a change? That is one of the main questions of my professional life. I have recently talked about Functional programming (FP) in JavaScript and compared it to ClojureScript, whichContinue reading “Storytelling as a Vehicle of Change: Introducing ClojureScript for the Heart and Mind”

NDC Oslo 2015: Talk notes, recommended talks (security, FP, etc.)

A great conference. A good deal of good talks. To (perhaps) check later Wednesday Practical CSS tips & tricks for backend developers – really useful tips! video No Estimates, Let’s Explore the Possibilities video Form with Function: Adding Behavior with CSS – recommended by a friend (modal dialogs, tab switching, …) video ? Anti-fragile andContinue reading “NDC Oslo 2015: Talk notes, recommended talks (security, FP, etc.)”

Notes from Troy Hunt’s Hack Yourself First workshop

Troy Hunt (@troyhunt, blog) had a great, very hands-on 2-day workshop about webapp security at NDC Oslo. Here are my notes. Highlights – resources Personal security and privacy https://www.entropay.com/ – a Prepaid Virtual Visa Card mailinator.com – tmp email f-secure VPN https://www.netsparker.com/ – scan a site for issues (insecure cookies, framework disclosure, SQL injection, …) (lot of $k) SiteContinue reading “Notes from Troy Hunt’s Hack Yourself First workshop”

Mounting an EBS volume to Docker on AWS Elastic Beanstal

Mounting an EBS volume to a Docker instance running on Amazon Elastic Beanstalk (EB) is surprisingly tricky. The good news is that it is possible. I will describe how to automatically create and mount a new EBS volume (optionally based on a snapshot). If you would prefer to mount a specific, existing EBS volume, you shouldContinue reading “Mounting an EBS volume to Docker on AWS Elastic Beanstal”

OS X: Using scutils to discover whether/what a web proxy is in use

When looking for ways to discover whether a proxy is being used by OS X, you will be typically pointed to networksetup -getwebproxy However that does not always work – for example when using “Auto Proxy Discovery” and/or “Automatic Proxy Configuration” with a proxy.pac file. scutils –proxy seems to detect all these cases (though itContinue reading “OS X: Using scutils to discover whether/what a web proxy is in use”

All-in-one Docker with Grafana, InfluxDB, and cloudwatch-to-graphite for AWS/Beanstalk monitoring

I have derived the Docker container docker-grafana-influxdb-cloudwatch that bundles Grafana dashboards, InfluxDB for metrics storage, and runs cloudwatch-to-graphite as a cron job to fetch selected metrics from AWS CloudWatch and feed them into the InfluxDB using its Graphite input plugin. It is configured so that you can run it in AWS Elastic Beanstalk (the main problem being thatContinue reading “All-in-one Docker with Grafana, InfluxDB, and cloudwatch-to-graphite for AWS/Beanstalk monitoring”