Creating a Terminal Emulator from Scratch (where to start)

Where to start creating a Terminal Emulator from scratch Before I get started I need to link you to this great answer on the Unix & Linux Stack Exchange which explains the differences between a Terminal (tty), a Console, and a Shell. That knowledge will be key to writing a terminal emulator. VT100 (and beyond) Setting the stage with a little background. Most terminal emulators claim to be VT100 emulators. VT100 came out of DEC somewhere around 1977.

Adding Press and Hold Characters to OS X

OS X makes it easy to type accented characters by simply holding down the letter you want accented. If you hold down c (for example) you’ll see this: Well, _I_do. You probably don’t see that 4th option: “ĉ”, and that’s what this post is about. I needed to add that, and others to support typing in Esperanto without switching to a different language keyboard. This technique is also useful if there is a language keyboard you want to use but it doesn’t have the Press and Hold support you want.

On offering up Grad School Recommendations

I was recently asked to provide a letter of recommendation to a past coworker who is trying to get in to grad school. The experience was excessively time-consuming, and left me with little belief that any of these schools are worth attending because their systems were (with one exception) all painful to use, and (with no exceptions) all looked like shit. If you can’t teach your students how to build a decent system for letting people upload recommendations, then how the @#$% can I expect you to teach anyone graduate level concepts?

Software worth recommending

There are lots of great tools out there. Far too many to try. Here are the ones that I’ve tried, and found worth recommending. Mostly they’re OS X Developer Things Quiver is a “Programmer’s Notebook”. I’ve recently switched to it from CodeBox which seems to have been abandoned by its developer. I’ve got some minor quibbles with Quiver, but overall it’s pretty nice and I’ll be bringing all my code snippets and reference material over to it.

Static vs. Dynamic Blogging

You’ve got a lot of software options when setting up a blog. Over the years. I’ve used or tried most of the options including, but not limited to: WordPress, Jekyll, Octopress, and at least 3 custom built systems. What follows is my thinking on the pros and cons of each option, and why I’m switching back to a static blog system (Hugo this time). Dynamic Blogs (WordPress, etc.) Dynamic blogs, like WP, have a lot going for them: Easy to use Lots of plugins Great media handling Usable from any internet connected device with a browser.

Why I won't be backing Mou's crowdfunding Campaign

Mou as your Markdown loving Mac geeks know, is a split pane Markdown editor. It’s been around for years and it’s really quite good. I even donated to its creator in the past to support it. Now he’s put together an IndieGoGo campaign to pay for people to work on it full time, but I won’t be contributing. Some background first Mou was never open source. I’m ok with that. I use a bunch of great proprietary apps.

The Five Virtues of a Great Programmer

In Programming Perl Larry Wall (in)famously suggested that programmers had three great virtues: Laziness, Impatience and Hubris. Over the years I’ve kept coming back to those because there’s a real truth to the idea as he originally presented it, but it’s limited, and his definition of “Hubris” has no relation to the actual word. I believe that those may be aspects of real programmers, a great programmer goes beyond that. Building on Larry’s idea, I present you The Five Virtues of a Great Programmer: Laziness The quality that makes you go to great effort to reduce overall energy expenditure.

Vampire Bug [Definition]

n. something that worked when you went to bed at 2AM, but when exposed to the light of the next day dies horribly. Typically the exposure proves that it couldn’t possibly have been working at 2AM either.

How to enable GitHub 2 factor Authentication on new device / app

( as of Sept 30th 2014 ) These are the instructions for how to do it if you’ve already got it configured and need to add a new app / device. If you don’t have it set up already, GitHub’s docs are… probably passable. Go to Settings Click on Security In the “Two-factor authentication” section click “Edit” Yes, even though you don’t want to edit it. Under “Delivery options” click “Reconfigure two-factor authentication Yes, even though you don’t want to reconfigure it.

What would you want to do?

This afternoon my intern asked me this simple question. She’s a new developer, and a friend of hers is working in a fresh codebase, with best practices. Everything is nice, and he can keep the entirety of it in his head. She’s working with my team, Support Engineering. We’re the front-line bug squashers at our company. We’ve got a legacy codebase with no tests and brain melting insanity around every bend.