-
Replacing Boxen
When I started working at GitHub my GitHub-provided MacBook was bootstrapped with Boxen. Boxen is a tool for managing OS X development machines using Puppet to install and update packages, start persistent services, install and bootstrap projects and apply security policies. Over time I went from a Boxen novice to power user to internal and external maintainer and finally to implementing its replacement for GitHub.
-
Long Distance Business Travel
One of the side effects of successfully finding a remote job and working from home is that you may find yourself having to travel internationally for work. In comparison to traveling for your own pleasure there’s a few attributes that may differ:
-
Kindly Closing Pull Requests
Getting your first pull request from an outside contributor on GitHub is an exciting experience. Someone cared enough about the problem you were solving to check it out themselves, change something, and contribute that change back to your project. When your project has a relatively small number of high-quality, desirable incoming pull requests it is easy to happily merge them.
-
Runnable Documentation: Code For Humans
Getting your first pull request from an outside contributor on GitHub is an exciting experience. Someone cared enough about the problem you were solving to check it out themselves, change something, and contribute that change back to your project. When your project has a relatively small number of high-quality, desirable incoming pull requests it is easy to happily merge them.
-
How I Get Things Done
The first thing you need to accept is: your memory sucks. If you have ever had things you want to do in life (for yourself or for others) chances are you can’t remember them all right now. That’s why most people don’t rely entirely on their own memory and have some sort of system to remind them what commitments they’ve made. I’ll explain my system and hopefully a bit about why it is the way it is.
-
Antisocial Networking
Two recent posts made me reconsider how I used social networking.
-
Finding A Remote Job
In 2012 I found myself in an awkward position in my career. I was working at KDAB, a company of lovely, talented people with great bosses and working on (mostly) interesting projects. Sounds great, right?
-
My Working From Home Schedule
Since my last post on working from home a few people have asked me for a more specific breakdown of how I schedule my day. Obviously this varies a bit but here’s my vague timetable:
-
Working From Home
I used to have a list of “Things I Will Never Do In My Job” when I was at university. Looking back at the 7 years since I graduated I realise I’ve done almost all of them.
-
Why Use Version Control?
You may not be familiar with version control concepts or why version control systems are useful for managing changes to text. Let’s start off by asking why you should use version control.
-
Deploying Qt applications With DeployQt4
DeployQt4 will take an executable and any specified Qt plugins and install and setup all the linked dependencies.
-
Make Qt Use The GTK Style On XFCE or Xubuntu
I’m a Qt developer and use Xubuntu in my Linux VMs as it is lighter than KDE and doesn’t get in my way (unlike Unity).
-
The Social Network: A Defence Of Programming
I recently saw The Social Network, a dramatisation of the creation of Facebook. It was a thoroughly enjoyable film with brilliant direction, casting (Eisenberg and Timberlake in particular) and writing. It also had an incredibly realistic hacking scene (using wget and perl scripts) and featured KDE on the desktop of most of the programmers in the film. I highly recommend seeing it, regardless of your thoughts on Facebook.
-
Why I Left Linux
I originally bought a MacBook to use as a nice Linux laptop and for some iPhone and Qt OS X development. Shortly afterwards I got engaged which made me think about the future and how I spent my time a bit more. Linux is great for many use-cases but I just kept finding myself getting increasingly fed up with trying to use it on the desktop. My problems included having DVD playback not work quite correctly, having to manually edit configuration files in a text editor just to get some piece of hardware that worked instantly in OS X and Windows working and various other issues that wasted my time. Due to a kernel bug in Linux affecting my MacBook, I found myself using OS X more and more for work and finally moved across completely to my MacBook and also removing Linux from my desktop to relegate it to a Windows-only games machine. I’m now only running Linux on my NAS, this server, TV and phone.
-
Windows Autologin Lock Screen
Something I miss when I used Windows is the nice autologin feature from KDE’s login manager (KDM). Autologin always struck me as a bit insecure; why have a password if you are going to bypass it completely? KDM’s solution was pretty nice, it allowed you to be logged in automatically (so that everything that runs on startup started loading) and lock the desktop before it appeared so that when you turned on your computer you would still get a password prompt but would unlock it to find that all your applications had already loaded.
-
KDE - Blog From KOrganizer HOWTO
Blog from KOrganizer? What kind of madness is this? Apparently some crazy fool decided to give you the ability to post journals from KOrganizer to your blog. Let’s learn how to do it!
-
Using .asoundrc To Remap ALSA channels For Audacity
My sound card (a Creative Sound Blaster Audigy 2) has got lots of inputs, especially with the nice drive bay expansion port.
-
Konqueror With Latest Adobe Flash HOWTO (Outdated)
I agree with Lubos. Flash sucks. However, most of us have or want to use it for things like YouTube or watching badgers.
-
IBM Cell SDK/SDK For Multicore Acceleration On Debian/Ubuntu HOWTO
Today I battled with trying to get IBM’s Cell SDK 3.0 (now known as the SDK for Multicore Acceleration) installed on my Debian AMD64 machine. This would cause slight grief even with a regular Debian machine as IBM only formally supports Fedora and RHEL so only provides RPMs. This is worsened by the fact that a bunch of the packages aren’t even available from IBM but require perusal of some provided yum configuration files to find.
-
Community Driven Software Development
Some people have suggested that the future of E-Commerce will be shaped by various kinds of “communities” (both online and offline); other are more sceptical about the potential.
-
Making Dizzy Shine With Ajax
“Ajax applications can provide a more effective user interface than those of GUI desktop or classic Web applications with fewer drawbacks than either individual approach.”
-
Digital Rights Management And Operating Systems
“Sony has recalled many millions of its music CDs, because they contain ‘copy protection software’ that may damage computers. Describe and explain this story; compare Sony’s approach with other attempts to achieve copy protection, and discuss the future for digital rights management in operating systems design.”