RSSAmplifier

Blog

msol

msol • a blog made of words

msol.ioRSS feed ↗20 posts

Latest posts

Mac productivity tips for developers

Working faster

Nietzsche would write clickbait

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…

Dirt-cheap client-encrypted online backups with Raspberry Pi

To be useful to me, backups must be:

Pro-style testing

If you write software professionally, you probably write automated tests. This is fantastic.

You're probably wrong about caching

There are only two hard things in Computer Science: cache invalidation and naming things –Phil Karlton

Ruby on Rails: Don't delete, tombstone

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:

How I doubled my Internet speed with OpenWRT

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: Decrypt a secret using M of N keys

Keybearer uses several independent passwords to encrypt a file and later requires a subset of those passwords to decrypt it.

Host your own web fonts

Web fonts are very popular these days, and sites like Google Fonts and Typekit make it very easy to use them on your website.

How to win when you're small

We all know it happens–the underdog wins, the smaller army emerges victorious, the startup overtakes the multinational.

Back up your PGP keys with GPG

Back up your keys

Create a self-signed SSL Certificate with OpenSSL

Creating a self-signed certificate with OpenSSL

More useful shell aliases

Shell aliases

Dvorak–QWERTY ⌘ on Mac, Windows, and Linux

I use the Dvorak keyboard layout, but prefer to retain my usual keyboard shortcuts from QWERTY.

Programmer Dvorak with QWERTY shortcut keys on OS X

Programmer Dvorak

Android: Convert Drawable to Bitmap

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:

Bitshifting by example

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.

Know each system’s responsibilities

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…

Create a self-signed ECC certificate

Self-signed certificates and Elliptic Curve Cryptography

Sending links with custom URL schemes through e-mail

Note: This method no longer works