Dvorak Typing Thing

May 5, 2013

I hurt my left hand recently and couldn’t type with it. I could only go with one hand and it was very slow. Looking into one handed typing methods, I found out that there was a Dvorak one handed layout. Looking around, I couldn’t find a typing tutorial for one handed Dvorak so I made one.

Dvorak Typing Thing

And the source code if you’re interested.

Yearly Goals Checkin

May 1, 2013

On New Years Eve, I posted about some goals I had for the year. Given that the year is 1/3 over, I thought it’d be a good time to check up on them.

  • Publish a Profitable App – Qualifying “app” as just software, it’s yet to be determined whether or not I’m behind here. I’ve got a few ideas cooking, some code written, and 8 months to make a buck 🙂
  • Get In Shape – This has been up and down, but it’s getting better recently. I joined a meetup group to play pickup basketball, started a swim class, and still rock climb when I’m not broken.
  • Write Blog Software – I’m definitely behind on this one. I haven’t thought about it at all so far this year. Not sure if I’ll be able to regroup to bring this one back.
  • Finish Go Coding Project – This hasn’t really moved since the beginning of the year. I’ve mostly been focused on go content generation with my class. I’ll need to sequence this with the first point.
  • Make a Climbing Cave in the Basement – This hasn’t moved since summer hasn’t started. The next 4 months will be key for this one.
  • Write 50 Blog Posts – I’m behind for this one. This post will be post 11 when I should have about 16-17 (and 20-21 by the end of May). I’ll try to make up some ground this month.

I’ll check back in at some later point this year.

[Witty April Fools Joke]

April 1, 2013

Tee Hee

Sakuracon 2013

March 31, 2013

So I went to Sakuracon on a free pass for teaching go.

Queue pictures.


March 11, 2013

TL;DR version: Here’s a picture of Snorlax and some lifehacks.

  • Floss while showering
  • Drink fruit shakes if you don’t get enough fruits
  • Staying active should be fun – if it’s not, go find something else
  • Carry a notepad and pen wherever you go

Long version

Wanting to do something is different from actually doing something. I’ve often wanted to do a lot of different things. However, if you’re like me, just “wanting” something is rarely enough. The “want” has to be so great that it is enough to change your lifestyle. If it isn’t, you may end up committing for a few weeks or so, but you’ll inevitably fall off. The key to getting something that you want is often to be pragmatic about it.


First, be honest with yourself and recognize what your current lifestyle is. Second, identify regular things you can do to take you towards your goal. Third, integrate those regular things into your lifestyle as opposed to drastically warping your schedule to accommodate some new thing you have to do. Don’t be afraid of trial and error. If one thing doesn’t work out, don’t give up. With most things that are worth doing, there are typically many different paths you can take. Find another path that fits your lifestyle better.

Here are a few things that I’ve done that have been successful for me thus far.

I tend to brush my teeth daily, but I would rarely floss. I tried doing it for awhile, but it turned out that every time I brushed my teeth, I was either in a rush (because it was the morning) or extremely tired (because it was at night). Ultimately, I kept up the flossing for maybe a month or so flossing 3-4 times a week, but then I stopped. After I realized that I wasn’t flossing regularly anymore, I installed a mirror and floss in the bathtub. Nowadays, I floss every time I take a shower.

My nutrition, in general, is pretty random and horrible. This is definitely an area that needs improvement for me. It’s been difficult to completely change my diet mostly because I don’t have the time. One area where I was particularly weak was that I didn’t eat enough fruits. I tried buying fruits and that would work for awhile, but then I’d get sick of the same banana or orange every day. I’m not big on apples or more messy fruits since I tend to eat on the go. What’s been working for me recently is buying those fruit shakes. I feel like I reach my fruit quota by killing about 3 or so a week. I buy one at a time so I’m never stuck with a flavor that I’m sick of.

Since I started working as a programmer, keeping active has always been a struggle. There’s never enough time. I’ve tried to force myself to get off my ass to do stuff, but I’ve never seen more than a short term gain and it’s always been painful. In order to keep active, I’ve found that you have to enjoy whatever it is that you’re doing (probably an obvious point for many, but it took me awhile). I started rock climbing 2 years ago and I’m still loving it. On average, I’ve been climbing around twice a week, every week.

I’ve often had side projects and such that I’ve started and had slowly die over time. While I don’t think I’ve completely solved this problem, one thing that has really helped me to keep projects and ideas fresh has been keeping a notepad and pen with me at all times. Even when I’m not working on the project explicitly, I might be thinking about it and having a place to write ideas down is super convenient. I recommend a pocket notepad. Mine has grid paper and it’s pretty awesome.

More fun with icon making

February 14, 2013

So I made another icon today.

squirrel_1  squirrel_2

squirrel_3  squirrel_4

…and the actual size!


Making my favicon

February 14, 2013

Thanks to this awesome tutorial, I now have a favicon!

Here are the steps I took to make it (following along the tutorial).

flan_icon_1  flan_icon_2

flan_icon_3  flan_icon_4

…and here is the result!


Learning new things

February 3, 2013


These days it’s pretty easy to study subjects that would have required going to college just 10 years ago. I used to say I wish I knew more [insert subject]. The excuse was that I didn’t have the time to do it. You could argue that that was code for me not actually having the will to study the subject (and you might be on to something), but there were some realistic time costs that didn’t actually contribute to learning the new subject. In order to actually get better at something, it required going to the library, finding the appropriate books and trying to build a lesson plan for myself while not knowing much about the subject – some non-trivial things in my opinion.

Nowadays, though, with sites like MIT’s OCW and Coursera which have pre-built lesson plans, course notes and video lectures to follow, a lot of the filler time is cut out. In other words, you don’t have to enroll in a college, you don’t have to pay any money, you don’t even have to go out and get books. Everything you need is available through an internet connection.

Anyway, I was going through OCW’s list of subjects and I wrote down all the ones that sounded remotely interesting to me. That turned out to be a pretty damned long list. So I shortened it to 5. Here they are:

  1. Physics
  2. Energy (Building Sciences/Fuels/etc)
  3. Music
  4. History
  5. Electrical Engineering

So for the next decade or so, I’ll be working on these 🙂

Newegg is Awesome

January 28, 2013

Just ran into an Ars post about how Newegg took down a patent troll that wanted a 1% royalty on shopping carts.


I used to buy stuff from them, but over time I switched over to Amazon. They’re definitely getting all my computer-related business now. You should go get something from them, too.

How to debug django through a vagrant stack

January 26, 2013

At work, we run django on vagrant. It was a pain to not have a debugger in this environment, so after some digging, it turns out it’s possible to just forward the proper ports and do a runserver in order to get the debugger going.

Here are the proper steps:

  1. Install ipdb on your VM
  2. Add this to your Vagrantfile

    config.vm.forward_port 8001, 8001

  3. Add this where you want a breakpoint

    import ipdb; ipdb.set_trace() # BREAKPOINT

  4. Do a `runserver` on your VM like so

    python manage.py runserver [your ip for your VM]:8001

  5. You should be able to access your server from your host and the debugger should break properly
Older Posts »