Mac productivity tips for developers
Working faster
msol • a blog made of words
Working faster
Nietzsche's style is outrageous. He [denies morality and immorality][dawn-103]. He criticizes popular religions like Christianity and Judaism, popular moral philosophies like utilitarianism, and popular virtues like modesty[^immodest]. His language is evocative and exaggerated. As Higgins & Solomon[^higgins-solomon] point out: > ... it is evident that he was willing to be misunderstood if that was…
To be useful to me, backups must be:
If you write software professionally, you probably write automated tests. This is fantastic.
There are only two hard things in Computer Science: cache invalidation and naming things –Phil Karlton
In many web apps, things need to be deleted (no way!). But actually deleting records from your database has some side effects that aren’t immediately obvious:
OpenWRT is a powerful Linux distribution for embedded devices, such as my router, and this is the story of how I used it to double my bandwidth at no extra cost to myself.
Keybearer uses several independent passwords to encrypt a file and later requires a subset of those passwords to decrypt it.
Web fonts are very popular these days, and sites like Google Fonts and Typekit make it very easy to use them on your website.
We all know it happens–the underdog wins, the smaller army emerges victorious, the startup overtakes the multinational.
Back up your keys
Creating a self-signed certificate with OpenSSL
Shell aliases
I use the Dvorak keyboard layout, but prefer to retain my usual keyboard shortcuts from QWERTY.
Programmer Dvorak
Recently when working on an Android app I needed to convert a Drawable object to a Bitmap object. Rasterizing a Drawable is actually pretty easy if you use this method:
If you are a programmer with a history similar to my own then you have seen enough to know vaguely that the << and >> operators in many languages shift bits (usually in integers) around and that there are some techniques to isolate certain blocks of bits out for reading, but you haven’t actually tried these techniques.
When I was working on the web application flesh, I needed to use the Go SQL package to run some queries. Unsurprisingly, I needed to substitute values in for parameters using special methods in Go’s SQL API, since simple string concatenation could potentially lead to SQL injection vulnerabilities. I’ve done this sort of thing before, so I recognized the question mark syntax I found in an example…
Self-signed certificates and Elliptic Curve Cryptography
Note: This method no longer works