projects | pushover | github | twitter | rss | contact
May 2017

OpenBSD on the Xiaomi Mi Air 12.5"

posted to writings on may 22nd, 2017 with tags hardware, laptops, and openbsd, last updated on may 14th, 2017

The Xiaomi Mi Air 12.5" is a basic fanless 12.5" Ultrabook with good build quality and decent hardware specs, especially for the money; while it can usually be had for about $600, I purchased mine for $489 shipped to the US during a sale.

Note that the current models being sold have a 7th generation (Kaby Lake) processor, so OpenBSD compatibility will be different.

Continue reading 1,836 words...

February 2017

iOS Universal Links and Privacy

posted to writings on feb 14th, 2017 with tags endless, ios, and privacy, last updated on feb 9th, 2017

Introduced in iOS 9, Universal Links allow iOS developers to claim ownership of domain names (including wildcards) that can be processed by that developer's iOS app. When an iOS user taps on a link to a URL of that domain name in any app, such as Safari or Mail, and the user has that 3rd party app installed, that 3rd party app is immediately launched to service the URL.

For web browsing apps on iOS that route traffic through VPNs or Tor, this feature can cause traffic to be sent outside of the VPN/Tor network without warning. For instance, if one has the eBay app installed and taps on this link from within Safari or any other web browsing app on iOS, the eBay app will be opened to load that auction page.

Continue reading 987 words...

January 2017

OpenBSD (not) on the Surface Pro 4

posted to writings on jan 2nd, 2017 with tags hardware, laptops, and openbsd, last updated on dec 30th, 2016

I recently had access to a Surface Pro 4 and tried to boot OpenBSD on it. It did not go well, so I am just putting this here for posterity.

The 2016 Surface Pro 4 is basically just a keyboard-less x86 (Core i5 on the model I had) tablet with some tightly integrated (read: not upgradeable) components. Its optional Surface Type Cover is just a USB-attached keyboard and trackpad, which magnetically secure to the bottom of the device.

Continue reading 640 words...

November 2016

The 2016 MacBook Pro

posted to writings on nov 8th, 2016 with tags apple, hardware, laptops, and mac, last updated on nov 3rd, 2016

I've been using an 11" MacBook Air as my primary computer for six years. It's a great computer that satisfied a lot of requirements I had for a laptop: thin, lightweight, small form factor, excellent keyboard and touchpad, mostly silent, but not an Atom or Core M processor.

I've done a lot on this little computer, like compiling and maintaining an Android ROM, writing the Rails, iOS, and Android apps for Pushover, creating Lobsters, recording and editing 40 episodes of Garbage, and lots of OpenBSD development.

Continue reading 2,064 words...

August 2016

OpenBSD on the Chromebook Pixel (2015)

posted to writings on aug 26th, 2016 with tags laptops and openbsd, last updated on aug 22nd, 2016

The Chromebook Pixel LS (2015) has an Intel Core i7 processor (Broadwell) at 2.4Ghz, 16Gb of RAM, a 2560x1700 400-nit IPS screen (239ppi), and Intel 802.11ac wireless. It has a Kingston 64Gib flash chip, of which about 54Gib can be used by OpenBSD when dual-booting with a 1Gb Chrome OS partition.

Continue reading 2,899 words...

February 2016

The Case of the Missing Watch

posted to writings on feb 16th, 2016 with tag rant, last updated on feb 15th, 2016

On January 8th, I bought a Withings Activité watch direct from Withings after finding a 25%-off coupon for their site. I had recently sold my Apple Watch and thought I'd try out a more analog watch.

I received the watch on the afternoon of January 13th. As soon as I opened the box, I could tell that I was not going to like it. If you look at all of the pictures of the watch on their website, you might not notice that they never show you the side profile of it. Much like the newer iMacs, the Activité has a huge tapered hump on the back that they hide in marketing materials to make it seem much thinner than it is. Combined with the unappealing appearance of the long and thin straps of the watch, and some frustration at difficulties pairing it with my phone, I was having a bit of buyer's remorse and decided to return it.

Continue reading 1,449 words...

April 2015

Creating a BBS in 2015

posted to writings on apr 2nd, 2015 with tag ruby, last updated on mar 28th, 2015

Although it fooled nobody, yesterday for April Fools' Day, Lobsters users that normally saw a boring list of story titles and links were greeted with a BBS-style interface to the site complete with story and comment browsing, private message reading and sending, and a multi-user chat area.

The BBS remains active at (you can login as "guest").


Continue reading 2,748 words...

February 2015

If an app crashes in a forest and the bug report can't be sent out, did it ever crash?

posted to writings on feb 26th, 2015 with tags ios and pushover, last updated on feb 26th, 2015

A new version of Pushover is finally out today for iOS and Android. This has been in development for a few months, with lots of work being done in both apps, the website, the API, and writing documentation.

Continue reading 490 words...

September 2014

Remotely Installing OpenBSD on a Headless Linux Server

posted to writings on sep 12th, 2014 with tags linux and openbsd, last updated on sep 6th, 2014

I recently activated a new dedicated server that came preinstalled with Linux, as the hosting provider didn't support OpenBSD. Since they also didn't provide an IP-based KVM without purchasing a dedicated hardware module (though most of the IP-KVMs I've used recently require interfacing with some terrible Java-based monstrosity anyway), I needed a way to remotely install OpenBSD over the running Linux server.

I've previously used YAIFO to do remote OpenBSD installations, which basically adds an SSH daemon to the OpenBSD installer image and brings up a network interface that is manually configured before compiling the image. The image is then dd'd directly to the hard drive while running whatever OS is on the system, the system is rebooted, and if all went according to plan, the machine will boot into OpenBSD and present you with SSH access so you can run the installer.

Continue reading 973 words...

November 2013

Some Android phone reviews

posted to writings on nov 6th, 2013 with tags android, motox, and nexus, last updated on nov 21st, 2013

I recently decided to upgrade my Galaxy Nexus to something with a better camera. I liked much about the HTC One Mini, but I refuse to get a phone with logos on the front of it, so that ruled out the HTC One and all of the Samsung phones.

I first got the Moto X Developer Edition which only comes in one color: a black front with a white "woven" design which is just kind of cheap. The phone is plastic but with a solid feel. It has a smaller footprint than my Galaxy Nexus and the rear of the phone is curved and fit in my hand nicely. The screen is bright and colors are sharp. The camera is great, and very quick to respond which is one thing I really hated about the Galaxy Nexus. Its HDR mode in the Camera app made for some pretty decent pictures in various light.

Continue reading 1,326 words...

June 2013

Adventures in Toronto

posted to writings on jun 9th, 2013 with tags openbsd and travel, last updated on jun 9th, 2013

I spent a week in Toronto, Canada attending the OpenBSD t2k13 hackathon hosted at the University of Toronto. While these events are put on every year in random places, I have not attended one since c2k7 in Calgary back in 2007. I tried to go to the Portugal hackathon last year but my travel plans got all screwed up.

I wrote about the technical details of what I accomplished at this event at the OpenBSD Journal so I won't duplicate it here, but it was a fairly productive week for me. I remember at c2k7 I didn't really have much to work on and felt out of place but this time I had more things to do than I had time.

Continue reading 725 words...

September 2012

An Update on Pushover

posted to writings on sep 23rd, 2012 with tags android, ios, iphone, pushover, and superblock

It's been a little over 6 months since I released Pushover, the notification service with Android and iOS apps. I've been asked to post an update on how things have been going since then.

Shortly after the initial release, I received some great feedback from Chad Etzel, one of the creators of Notifo, the notification service that I used until it was shut down (which prompted me to create Pushover in the first place). Chad asked for Pushover to support sending messages with URLs that can open external apps, and Pushover soon gained supplementary URL support which required changes in the API and on both Android and iOS apps.

Continue reading 1,720 words...

June 2012

Hellbanned from Hacker News

posted to writings on jun 13th, 2012 with tag drama, last updated on jul 9th, 2012

Yesterday I submitted a post on Hacker News out of frustration at moderators pedantically changing post titles. After quickly rising to the number two spot on the front page with 482 points and 37 comments, the post was deleted by a moderator, presumably the operator of the site, Paul Graham. Since you can't read the text of it now, here it is:

As soon as the post was deleted, I received an e-mail from Paul Graham:

Continue reading 808 words...

April 2012

Counting Pull-ups

posted to writings on apr 25th, 2012 with tags fitbit, openbsd, and ruby

I'm a big fan of my Fitbit pedometer because it does most of its work without any interaction. I clip it onto my pocket and it counts my steps and flights of stairs as I walk throughout the day, then automatically, wirelessly uploads the data to Fitbit's website whenever I'm within range of its USB dongle plugged into one of my computers. The whole thing works without having to think about it or plug anything in. The battery lasts for about a week, and when it finally runs low, my low battery notifier sends a message to my phone through Pushover telling me to put it on its charger for a few hours.

To add to my step data, I got a Withings scale last year which logs my weight and BMI on Withings' website automatically every time I step on the scale. Fitbit's website syncs this data from Withings, so now I'm able to track my steps, flights of stairs, weight, and BMI, all automatically, all on Fitbit's website. I use this data mainly as a motivation to walk more and not get fat, just as my Wii Fit motivated me to exercise every day by tracking all of the data. When I know my Fitbit is counting my steps, I'll avoid hopping on the bus or train to get home and just walk. A few times I've left the house and upon noticing my Fitbit wasn't there, walked all the way back and got it just so the steps I was going to take that day would "count".

Continue reading 873 words...

March 2012

Building Pushover

posted to writings on mar 16th, 2012 with tags android, ios, iphone, pushover, ruby, and superblock

On March 7th, 2012, I announced the launch of Pushover, a simple mobile notification service with device clients available for Android and iOS. I kept some notes during the development process, which mostly occurred in the evenings and weekends around my other work.

I had been using Notifo for a year or so to receive push notifications on my phone from my custom network monitor, but last year the free service announced it was shutting down. When I switched back to my Android phone a few months ago, I was unable to download Notifo's Android app which never made it out of beta.

Continue reading 4,047 words...