I'm Not Dead Yet Just about a year and a half ago I decided it was time for a change, so I started looking around for something new. Not just a new job, but something that would take me way out of my comfort zone as a developer.
Hobgoblins and Data Stores “A foolish consistency is the hobgoblin of little minds, adored by little statesmen and philosophers and divines." - Emerson Continuing with my ideas from the other day, I wanted to move from the abstract to the more concrete, which is to say that
QR Codes for Storing Private Keys So, storage of private keys is a problem. Just storing it on your computer isn't such a big problem - hopefully, you're storing it encrypted using software whose encryption you trust. However, backing them up - that's another issue. Do you trust storing them
A Foolish Consistency... How do you scale a computer system? It seems like such a simple question. Of course, to a certain extent, it is - if you've designed the system properly up front. By this I mean that, if you've broken the overall system down into
The Ghost in the Machine So, I've moved my blog over to Ghost from Octopress. I did this for a few reasons. My main reason for wanting to move away from Octopress was that updating my blog was getting to be a huge pain. You have to run a
REST REST By Any Other Name... I've done quite a few interfaces which I've referred to as "RESTful", because I've done what most people call "REST" - using HTTP as the transport, modeling everything as resources, and using the HTTP verbs (GET, POST, PUT, etc) to
programming Dependency Injection and the YAGNI principle One of my new personal projects involves writing an application using Node.js and MongoDB. It's going to have a RESTful interface for the services, and MongoDB as the database (I haven't decided about what I'm going to use for the front-end, but Angular.
node.js Logging Using EventEmitters in Node.js I've been working a lot in node.js lately for a work project. Javascript as a language is an odd duck (pun not intended). It's got all these incredibly powerful features - dynamic typing, inheritance-by-prototype, functions as first-class objects - but it has some
node.js Inheritance in Functional Languages There's a tendency amongst proponents of functional languages, like Javascript, to consider inheritance an anachronism of older (and, by implication, worse) OO languages and OO design. One example is this discussion by Mikito Takada. This is what he says: I think classical inheritance is
apple Using a Raspberry Pi as an iBeacon There's an excellent blog post by by James Nebeker and David G. Young about simulating an iBeacon using a Raspberry Pi and a bluetooth dongle. Since I already had both, I thought I'd give it a try. It worked really well, and I've even
wifi More Fun With BeagleBone Black I've discovered that owning a BeagleBone Black (or, in my case, two) is kind of like owning one of those really, really nice cars that you buy but you can almost never drive because it spends so much time in the shop. It's a
node.js btle.js 0.2.0 released I just (okay, a few days ago) released version 0.2.0 of btle.js to npm. This has a bunch of API changes - the connect method now gives you a Device object, instead of a Connection. All the ATT methods are now
node.js Fun with BeagleBone Black So, I've decided to try to play with ZigBee, and since I have a couple of BeagleBone Blacks hanging around doing nothing, I thought I'd try setting it up on them. First thing I came across was that the BBB's seem to have issues
sensortag Node.js Bit Operations I was working on trying to get the barometer readings from my TI SensorTag using Node.js when I came across this problem. See, the user's guide has two code examples for the algorithm for the pressure - one in C, and one in
sensortag Published Bluetooth LE Module Well, I published my Node.js module for Bluetooth LE, btle.js (pronounced "Beetle Juice") to npm. Even though it's labeled version 0.1.0, it's got most of the functionality that's necessary for Bluetooth LE - reading attributes, writing commands and
todo What to do? So, I haven't posted in almost 2 months. Part of that is the fact that the last two months have been very busy - work is crazy busy trying to do all the work and get more, and I've been busy with the family
bluetooth_le Got Them Bluetooth LE Bluez I'm trying to get my Raspberry Pi to talk to my TI Sensortag over Bluetooth LE, using an IOGear Bluetooth 4.0 USB adapter. I chose that adapter because it is supported by Linux, and so far it works quite nicely with the Pi.
linux Zeroconf Rocks! I have a lot of computers on my network now - my laptop and desktop, my wife's 3(!) computers, her iPad, two Linux servers and miscellaneous other devices, along with my Raspberry Pi and two BeagleBone Blacks, so managing all these was starting to
eclipse Scala Is Disappointing So, I've been playing around with Scala, and, while I'm quite impressed with the language syntax, it's a real pain-in-the-ass to deal with. To begin with, the various versions (2.7, 2.8, 2.9., 2.10) are binary incompatible, which is really annoying.
eclipse Scala Development Setup I had this idea for doing a Scala project integrating WebSockets with Kafka, so I spent a good bit of today trying out different configurations for doing Scala development. My first pass was to try IntellijIDEA from JetBrains. I really liked their RubyMine IDE
eclipse Eclipse with Subversion 1.8 on OS X I wasted a considerable amount of time following the instructions from this page on how to install Subclipse on OS X, trying to get MacPorts to install the right version of Subversion (Why subversion, you may ask? Because a customer is still using it,
scriptogr.am Moved to GitHub/Octopress I finally gave up on scriptogr.am. I was struggling with their syntax highlighting, even sent a message to their support. The only answer I got back was from another user (who was very helpful, but it didn't really fix my problem). So, I'm
ssh SELinux and SSH I needed to set up Jenkins so that it could run an agent on another Linux box. To do this the default way, you need to allow Jenkins to access the remote box via SSH. So, I set up the Jenkins user and the
node.js Node.js Having my new BeagleBone Black has made me look at the default programming environment for it, Node.js. Companies like LinkedIn are using it on the server side, which sort of surprises me. I can definitely see its uses in devices like the BeagleBone,
beaglebone Setting up NTP on BeagleBone Black For some reason, they didn't seem to see the need to set up the time service on the BeagleBone Blacks by default. I tried using the instructions from this gentleman, but I had to make some modifications. Install NTP $ opkg update && opkg