JankyNAS

Bringing my dead NAS back to life.
Read more →

Ansible

I’ve been playing with ansible off and on for several years now, usually in fits and starts. Ansible is a tool for managing computers. It lets you do things like setup a new web server in exactly the same way you setup your old web server, or make sure that your new laptop has all the software you routinely use installed, or configure a cluster of computers identically regardless of their underlying operating system, package manager, or authentication system.
Read more →

Review of the Pine64 PINEBOOK Pro

I’ve been wanting to grab a PINEBOOK Pro since I first heard about it a few years ago. The PINEBOOK Pro checks all the boxes I care about when considering hardware: Prioritizes open source Runs Linux/BSD/etc Small Solid build quality Replaceable parts It’s a solid little laptop and is perfect for my use cases: Programming Writing blog posts SSH’ing to servers to do stuff Playing Minetest with my kids Playing around with open source software First impressions The PINEBOOK Pro comes in a non descript cardboard box.
Read more →

I am an open source developer

I’m an open source developer. What does that mean to me? Prefer open source software I always prefer open source software. If no open source software exists to do what I’m trying to do, see the next point. If the software doesn’t exist, create it If there’s no software available to do what I’m trying to do, it’s my job to create it. Contribute to open source software If I use open source software and find a way to improve that software, or fix a bug, it’s my job to improve it.
Read more →

Review of the hubitat elevation IoT hub

I’ve been playing with home automation for a few years now and wanted to stop relying on 3rd party cloud software for the devices I run at home. I also wanted to stop connecting my IoT devices to my wifi in order to control them. In order to do this, I needed a zigbee or z-wave hub. One of my friends has a hubitat elevation and recommended it it to me so I ordered one to try it out.
Read more →

Review of the hyperikon vapor proof LED fixture

What do I need this for? The lights in my duck house aren’t quite bright enough to cover the space adequately. The duck house is also a high humidity, high dust environment. We currently have 19 chickens and 10 ducks sleeping in there (they free range during they day). Before getting these, I was using two Lifx BR30 bulbs which overall worked fine, but had a few drawbacks: They are wifi only If the power goes out they turn back on Not meant for harsh environments Eventually I may write a review of those but not today.
Read more →

Review of the Jasco Enbrighten in wall toggle switch

As part of my move away from cloud based IoT devices I’ve been looking for a zigbee switch I could use to automatically turn the lights in my duck house on and off. I got the hubitat on a recomendation from a friend and managed to find these zigbee toggle switches that should work with it. After spending a few hours rewiring some of the electrical in the duck house (I’m not an electrician) and managing to not burn it down, I flicked the switch on and the lights came on!
Read more →

Goodbye Google

Searching for and switching to alternatives to google services
Read more →

git bundle

TIL
Read more →

DHCP

Dynamic Host Configuration Protocol
Read more →

Good Practices - Code Review Comments

Improving the quality of your contributors
Read more →

What’s DNS?

How does DNS work and why do I need it?
Read more →

Scaling your engineering teams

Thoughts on getting teams to be more autonomous
Read more →

$DREAM_JOB

Thoughts on the perfect job
Read more →

git revert, merge commits, confusion

I’ve never had to revert a merge commit until last night, never want to do it again.
Read more →

plantuml - drawing pictures with text

First impressions of a tool that allows you to generate UML from text.
Read more →

A New Home

A note about moving to lifewaza.com
Read more →

arcanist: lint, unit test, and submit for code review

I briefly mentioned arcanist in a previous article. It is a command line tool that wraps around git, hg, and svn and provides some handy features for working on a shared codebase. It is meant to be used in conjunction with phabricator, and all my examples assume that situation. As I mentioned previously, a typical workflow while using arc might look something like this: Create a local branch git checkout -b mygreatfeature hack on that branch Run arc lint to run your changes through several possible code linters Run arc unit to run the unit tests that are associated with your changes Run arc diff to submit your patch for review (Note: just running arc diff will call both the lint and the unit test steps if you have them configured)
Read more →

Nest Protect

My experience owning a Nest Protect
Read more →

code review before commit

I’ve started implementing code review before commit/push on my team. We theoretically had a code review system in place before this, but it went something like this: Write code Commit code Push code Roll a d20 If die came up greater than 2, no one will review your code. Otherwise, someone tries to retroactively review a billion commits in 30 minutes. That process wasn’t really the best didn’t work. In my experience, once the code is in the tree, there is a near zero chance that it will be reviewed.
Read more →

OpenBSD and the Intel NUC

A report of running OpenBSD on an Intel NUC
Read more →

more continuous integration

So, in a previous post, Continuous Integration I gave a quick overview of our continuous integration setup, and mentioned that I’d like to explore allowing jenkins to push our deploys for us. That work is now done. The basic workflow is now: Developer develops new feature Developer runs unit tests locally Developer submits patch for code review via Phabricator Code is approved by another person on the team Developer lands (pushes to master) changes Jenkins initiates a build, and if all tests pass, promotes the build automatically to the integration server.
Read more →

Twitter as a Backup Server

Backing up data to Twitter
Read more →

Continuous Integration

I finally got around to setting up Jenkins for some continuous integration on one of the projects I contribute to at work. It’s been a long time coming and we’ve been talking about it for awhile. Finally getting it done ended up taking longer than expected. No surprise there, with the constant pressure to deliver and release, we often forget that quality and quality assurance are an important aspect of shipping.
Read more →

Road Trip: Reno to Boston

A log of a trip across the USA, from Reno, NV to Boston, MA
Read more →

Trip to Peru

A log of my trip to Peru
Read more →

Asterisk, The Future of Telephony

A review of the book Asterisk, The Future of Telephony
Read more →

An open letter to my blog

An apology to my blog for not writing.
Read more →

Cross Country Skiing

My first attempt at cross country skiing
Read more →

Those Crazy Hackers

SSH bruteforce attempts, and OpenBSD to the rescue
Read more →

haiku

Some Haiku from my old blog
Read more →

Armenia - Yerevan

My visit to Armenia
Read more →

The Future

Some predictions for the year 2025
Read more →

Armenia - Karabagh

A story about my trip to Karabagh
Read more →

My European Adventure

A log of my trip to Europe
Read more →

Ultimate Frisbee

Wherein a bunch of nerds attempt to be athletic.
Read more →

you, read.

A list of books I liked, circa 1999.
Read more →

Student Computing Terms of Use

An attempt at writing some funny terms of use.
Read more →