Tuesday, August 05, 2008

New Blog

So the blog has moved over to andrewfarmer.name. I'm leaving this here until I get all the links converted over for old entries and get the comments imported.

Monday, August 04, 2008

Tropical Storm

So a tropical storm is going to hit us tomorrow. If we get lucky it might get fed a bit and turn into a category 1 hurricane, but it's extremely unlikely. I guess I'm fine with that though... don't want anything to happen to my precious computer. ;)

Spent many hours working on my learn-ramaze project. Hopefully you'll see the fruits of that in a day or two. Since I worked on that all day, I failed to exercise again, but hit all the other goals. Oh well, my body is almost not sore, so maybe the two day break was good for it.

Anyway, been on the computer for about 15 hours today, so going to go read the Economist and sleep.

Sunday, August 03, 2008

Runes

Acquired more fruit, then promptly failed on the exercising. I'm going to claim that it is Sunday, and that somehow relates to not exercising. Got a little bit of work done this morning before the sun came up, but managed to fritter away the rest of the day on inconsequentials.

Oh well, there is always tomorrow. At least I haven't had a coke since I started this. That goal will hopefully stick on a daily basis.

Saturday, August 02, 2008

Continuum

Watched the newest Stargate movie... Continuum. Thankfully the dialog wasn't total crap (like it was in Ark of Truth) so it was quite enjoyable. Ark of Truth was kind of a bad first effort in the SG-1-as-movie thing that MGM has embarked on, but Continuum restored my faith. It was basically like one long episode of the series, which is definitely a good thing.

All the goals were met today, except for the consumption of fruit. Sadly we are out of anything fruit-like, but I don't feel too terrible, as my jogging was much easier than usual and I spent 5 or 6 hours working with Ramaze. (Which definitely blows my 1 hr goal out of the water.)

On that note, Ramaze is great. I had a blast with it today and plan to rock out some more productivity when I wake up in the morning. Buenas noches.

Friday, August 01, 2008

Bob Saget

... for the win.

All the goals were accomplished today. I also discovered the glory that is Ramaze. Finally a framework that lets me write sweet ruby without getting in my way. So far it has been a blast and I look forward to doing more with it tomorrow.

Watched Running With Scissors tonight. The movie itself seems like a running list of non-sequiturs intermixed with brief moments of lucidity, but I thoroughly enjoyed it. Kind of bittersweet in the end, but really well made. This movie brings the crazy in a way that I Heart Huckabees and Little Miss Sunshine can only dream about.

Thursday, July 31, 2008

<witty title>

Yeah I got nothing.

  1. After three days of real exercise, my body is telling me that today is a day to rest. I did walk for several hours around the mall, but walking is only considered 'exercise' by old people, and I scoff at the notion that it counts.
  2. I made a blueberry/cherry smoothie, so that is going to have to count as my fruit today. We were out of everything else.
  3. No coke today, probably too much coffee though.
  4. Check
  5. Check
  6. Check
Was supposed to brainstorm with Tyler today about some stuff, but I haven't seen him on. That is probably for the best though, as I haven't been able to focus on much today. Getting my hour in on a 'project' was kind of a stretch... I installed and configured a new window manager (the awesome window manager), and messed around with scheme. I think the new window manager will be pretty sweet once I get used to the key bindings.

Wednesday, July 30, 2008

Burritos!

Looking forward to tasty burritos here in a bit. The obligatory:

  1. Switched to weights to give my legs a rest.
  2. Rocked an orange.
  3. Not craving too badly today.
  4. Check
  5. Check
  6. Aquí está.
Alright smoothie time. Dead tired once again, so yet another post mercifully devoid of content.

Tuesday, July 29, 2008

Dia Dos

Nothing much in the way of exciting stuff to report, just checking in on the goals.

  1. I jogged 1.65 miles and did 10 laps in the pool.
  2. I had an apple with my breakfast.
  3. Day 2 without coke was better than Day 1.
  4. Did a couple problems on Project Euler.
  5. Check
  6. Check.
I am deadly tired, since I woke up at 1:30 today. Kathy needs to get home so we can eat dinner and I can hit the hay.

Monday, July 28, 2008

Primer Dia

First day was a success.

  1. I jogged 1.35 miles and did 10 laps in the pool.
  2. I had an apple with my breakfast.
  3. Nothing but water, coffee, and milk were imbibed.
  4. Added some functionality to our item tracker.
  5. Imported new cards and got pagination working on search results.
  6. Here is my blog post.
(You can put your mouse over each to see the goal this addresses.)

Sunday, July 27, 2008

The Face Of The Earth

... I fell off it.

This summer I have slipped into an odd sleeping schedule (complete lack thereof) and time has definitely flown. It's hard to believe that we are almost to August. It's even harder to believe because I don't feel like I've accomplished a lot.

I've done some work on a new interface to the Magic site, and will hopefully get something out there on that front soon. I'm about halfway through SICP, which has been just as mind-expanding the second time as the first. I've also been dabbling the last couple days in creating my own web framework.

The standard response when someone creates their own framework is "there is no way you can do it better than the thousands of people working on existing mainstream frameworks." Yes, there is no way I have time to make a polished framework with all the features of those frameworks, so this argument is true on the surface. But frankly nothing out there is as simple as what I want, and I'm not setting out to make the greatest thing ever, I just want something that works for me.

Besides, it's fun.

But, in order to make better use of the five months of freedom that remain, I'd like to lay out some goals. They are all baby steps for now, with hopeful modifications later on.

  1. Exercise every day when I get up.
  2. Eat at least one piece of fruit a day.
  3. Stop drinking coke.
  4. Devote at least one hour a day to coding.
  5. Devote at least one hour a day to a project.
  6. Blog once a day, and mention progress on these goals.
You might look at #4 and think "You can't even work one hour a day?!" ... but that isn't the issue. When I get to working on something I can get lost for hours at a time. The problem is that I often go two to three days without getting anything done, which definitely needs to stop. Also notice that coding does not necessarily mean accomplishing anything on one of my projects, so those are separate. I might accomplish my coding goal through SICP or Project Euler, but I should definitely make progress on some projects too.

Also, on a less daily front, I think I want to feel out and possibly apply to grad school. So that will be my long term personal development project.

Now one caveat. My 'days' are not standard days, so for the purpose of this, 'every day' is every time I'm awake for an extended period. 'Today,' for instance, started at 10pm Saturday night and is going to end at about 4pm.

Saturday, June 28, 2008

And The Winner Is

So since the Twitter IM bot has been down for like three weeks, I finally gave up on it. I discovered this neat service provided by IMified.com that lets you post to your FriendFeed account via an IM bot. All you do is add friendfeed@bot.im to your Gtalk/jabber account and then send it the message 'help' and it'll tell you what to do. Really I like FriendFeed better anyway, but Twitter seemed like the de facto standard.

If you don't have FriendFeed, I highly recommend it. It's like a blog+facebook+twitter all in one, with a nice interface and tons of nifty development going on around it. The basic idea is that it aggregates all your online activity (that you tell it about) into a feed, then all your friends can comment on each other's feeds. Right now I have mine linked up to this blog, my Disqus comments, and Twitter, so any time I post on one of those it shows up in my feed.

All the items posted by your friends show up in a composite feed, and you can go comment on them and have discussions. You can also post links/messages to your feed, so planning things like group activities is easy. Since all your friends see your message, they can hash out the details in the comments. Hook it up to your Flickr/Picassa account, and you have the equivalent of Facebook photos.

Speaking of Facebook, you can even integrate it with that.

So FriendFeed ftw. If you want to add me, my handle is xich. Or you can just check out my feed.

Saturday, June 21, 2008

On Fuel Efficiency

An interesting study came out showing that people are confused by the MPG rating on cars. Obviously people can correctly figure out that a higher MPG number is better than a lower one, but the issue came when selecting upgrade paths.

Say a family has two vehicles. One is a truck that gets 12mpg, and the other is a car that gets 25mpg. This family decides it wants a new vehicle and it wants to save as much money as it can on gas (and help the environment). Both the car and truck are driven roughly equally. Do they get a new truck that gets 17mpg (an increase of 5mpg over the current one), or spring for a Prius to replace their car (going from 25mpg to 45mpg, an increase of 20mpg)?

If you chose the Prius, you must hate the environment, because the new truck would be the much better choice.

Why? Because think of it in terms of the actual gas saved. A 12mpg truck driven 10,000 miles a year would use about 833 gallons. A 17mpg truck would use 588 gallons, or about 245 gallons less.

A 25mpg car driven the same distance would use 400 gallons, and that Prius would use 222, or 178 gallons less. Thus, (taking 245-178) buying the new truck would save 67 gallons more per year than buying the Prius.

The study showed that this could be solved by simply giving people a better set of numbers to think about. Instead of miles per gallon, give then gallons per mile. And, since gallons per mile is a tiny number and people seem to abhor tiny numbers (audio file), make it really easy by giving it to them in gallons per 10,000 miles.

If you do it this way, our previous example becomes immediately obvious.

The same family has a truck with a rating of 833 (gallons per 10k miles) and a car with a rating of 400. They are trying to choose between a new truck with a rating of 588 and a Prius with a rating of 222. If they buy the truck their combined ratings would be 988 (400+588). If they choose the Prius, their combined ratings would be 1055 (833+222). Obviously the new truck route would be more efficient (988 is less than 1055).

An interesting example of how numbers can be counter-intuitive at first glance. When stated in MPG, the 20mpg increase given by the new Prius seems far better than the measely 5mpg increase given by the new truck, but the reality is the opposite.

You can go take an online quiz made by the people who did the study if you want to test yourself. The overall lesson: think in gallons per mile instead of miles per gallon. It's even easy to do the conversion yourself. Just take 10,000 and divide by the MPG rating of the car. That will give you gallons per 10,000 miles.

For instance, my car gets about 34mpg. If I take 10,000 divided by 34, I get 294. Buying a new Prius (with a rating of 222), would save me about 72 gallons every 10,000 miles. At current prices, that is about $280. Obviously $280 isn't worth buying a whole new car for, and thinking about it this way makes it very apparent.

This should also make another point very clear. The easiest way to save a lot of gasoline is to focus on the biggest vehicles. If the average semi-truck gets 9mpg, and somehow we improved that to 11mpg (just a 2mpg improvement), it would save more gas than replacing a car with a Prius (moving from 25mpg to 45mpg, or a 20mpg improvement). Add to that the fact that semi-trucks drive many more miles on a yearly basis than any car owner does, and you have to wonder why people aren't clamoring for hybrid semis. Having a fleet of hybrid semis getting 14mpg would do way more for the environment than converting every car in America into a Prius.

Of course, I'm still holding out for plugin hybrids. Bring on the electric cars!

Saturday, June 14, 2008

Toadies

unit of h: make up your miiind
unit of h: decide to walk with me
unit of h: around the lake tonight
unit of h: aaaround the lake tonight
unit of h: bah mah side
unit of h: bah my side
unit of h: I'm not gonna liee
unit of h: I'll not be a gentleman
unit of h: behind teh boat house
unit of h: ah'll show you mah dark secret
unit of h: bundundununudnudndu udnu nud nudn (wananwananwannwa) waaaaaa
unit of h: I'm not gonnaaa liee!
unit of h: I want yooou for mine
unit of h: my blushing bride!
unit of h: my lover, BEE my lover
unit of h: yeaha!
unit of h: don't be afraid!
unit of h: I didn't mean to scare you
unit of h: so help me jeebus
unit of h: I can promise yoou
unit of h: you will stay as bootyful
unit of h: with dark haairrr
unit of h: and soft skiiinnnn
unit of h: fo-ev-errrr
unit of h: foo-ev-errrr
unit of h: make up yer mind
unit of h: make up yeeer mind!
unit of h: well I promise you
unit of h: ah will treat you well!
unit of h: mah sweet angel!
unit of h: so help me jeeeeebus
unit of h: aeaehayya
unit of h: give it up to me
unit of h: gibs it up too mee
unit of h: do yoo wanna be
unit of h: MAH ANGEL?
unit of h: gibs it up to me
unit of h: gibs it upp to meeeee
unit of h: do you wannna be?
unit of h: MAH ANGEL?
unit of h: GIVE IT UP TO ME!
unit of h: GIVE IT UPP TO MEE!
unit of h: DOOO YOO WANNA BE
unit of h: MAH ANGEL!?
unit of h: sooo help meeeeeeeeeeeeeeeeeeEEEEEEEE
unit of h: dun dun bam dun dun bam dun dun bamambamba dun dundund (wananana nan an aNAN NA NA NA)
unit of h: Beee mah angel
unit of h: beee mah angel
unit of h: be mah angel
unit of h: do you wanna die?
unit of h: do yoo wanna dieee?
unit of h: do you wanna DIE?
unit of h: do yoo wanna DIE?!
unit of h: DO YOO WANNA DIEEEE?!
unit of h: DO YOU WANNA DIIIEEEE?!
unit of h: DOOO YOU WANNA DIE?!
unit of h: DOOOOO YOO WANNA DIE?!
unit of h: well I promise YOU
unit of h: I will treat you well!
unit of h: mah sweet angel
unit of h: so help me jeeebuss
unit of h: jeeeeeeeebus
unit of h: jeeeeeebus
unit of h: jeeebussssSssSssss

Sorry harry, I'm taken.

Friday, June 13, 2008

HN Blacklist -> HN Toolkit

So thanks to nirmal's brilliant idea of browsing Hacker News in split view, I got the bug last night to add that functionality to the HN Blacklist. What I had originally thought would take about two hours ended up being about an eight hour ordeal, but it was worth it. I learned lots of neat things about the browser security model and GM evaluation, all because I couldn't get some event listeners to work.

The problem is now solved, and seeing as how my little blacklist does more than just that now, I went ahead and renamed it to HN Toolkit.

Obviously nirmal's bookmarklet works for a wider variety of browsers than my GM script, but my way means you don't have to hit his server to do it, which I figure is a good thing.

Sunday, June 08, 2008

Harvard Commencement Speech

So JK Rowling did Harvard's 2008 Commencement Speech. All I can say is... wow. If you want something to bump your optimism needle, this is it, and I'm not even really a fan of Rowling herself, although I do plan on eventually reading those things. This speech, however, was quite excellent.

Part 1:


Part 2:

Saturday, June 07, 2008

So, uh, Texas

I think I have completed major moving activities, so it's about time for an update to the old blog.

The move itself was rather more epic than I had planned. Due to the never-ending stormy weather we are getting this year, and the fact that I was planning on moving water sensitive things in the uncovered bed of a truck, the loading process took about five hours longer than the planned one hour. This was because we ended up gift-wrapping all our furniture in 3.5 mil plastic (the kind you put in flower beds). Several rolls of plastic and several rolls of duct tape later, we had everything ready, but seeing as it was about midnight, and our original plan was to leave at 2am, we ended up leaving later and breaking the drive into two days. With a stopover at my cousin Hillary's house for the night, it didn't end up costing us much.


Beaumont is amusing.

My only major accomplishments so far have been unpacking my stuff and reading a 700 page book by the pool. The pool here is quite excellent, and it's hot enough I don't even miss having a hot tub around.

Tonight I decided to get Firefox 3 RC2 up and running, just to try it out. It took quite a while to make portage happy. The initial emerge only took about 12 minutes, but some of the packages were requesting revdep-rebuilds that were curiously downgrading Firefox back to 2.0.0.14. After about an hour of investigating, I tracked it all down, and feel like documenting all my fixes here for fun.

Added the following to package.keywords:
=www-client/mozilla-firefox-3.0_rc2 ~amd64
>=dev-libs/nss-3.12_rc4 ~amd64
>=dev-libs/nspr-4.7.1 ~amd64
>=x11-libs/cairo-1.6.0 ~amd64
>=x11-libs/pixman-0.10.0 ~amd64
>=net-libs/xulrunner-1.9_rc2 ~amd64

Added this to package.unmask:
=www-client/mozilla-firefox-3.0_rc2
>=dev-libs/nss-3.12_rc4
>=dev-libs/nspr-4.7.1
>=net-libs/xulrunner-1.9_rc2

And to fix that reversion issue... added to package.use:
app-office/openoffice -firefox
dev-java/swt -firefox

Also changed my xorg.conf ButtonMapping Option to use buttons 8 and 9 instead of 6 and 7.

The first two sets of changes were needed to unmask everything Firefox 3 needed to compile. The changes to package.use were needed to fix the reversion issue. Apparently both these packages depend on Firefox 2 when that use flag is enabled, and aren't smart enough to use Firefox 3. I'm pretty sure I can live without whatever integration that use flag offers, at least until they are updated to use FF3.

As for the mouse button mapping, I guess older versions of Firefox incorrectly used buttons 6 and 7 as forward and back buttons, even though they are supposed to be the horizontal scroll buttons. Many laptop touchpads and fancy new mice have horizontal scroll spots/wheels, and firefox was executing back/forward operations whenever those users accidently bumped them. The side buttons on a mouse are apparently really supposed to be buttons 8 and 9, and substituting those for where I had 6 and 7 before did the trick nicely.

FF3 itself is great so far. The new Firebug has lots of nifty things, and since you can disable the performance sucking parts, it doesn't seem to bite page loads as hard. The zoom functionality is much better than before. (I use this a lot so I can read long articles while reclining several feet away from my monitor.) It actually zooms the entire page, images and all, much like the iPhone browser does. The old Firefox just made the text larger, which could lead to weird layout issues. The alt text on images actually shows in it's entirety when hovering, which makes xkcd comics much more fun. Browsing is moderately snappier, and the new javascript engine shines. Gmail loads up about twice as fast as before, and heavy javascript pages don't seem to clunk and stutter like before.

On that note, the new jQuery release apparently improved mouse handling and events a ton. Using the demos on the documentation site, I can definitely vouch that dragging and dropping seems much much faster/smoother, so definitely worth updating. I love jQuery.

I have a whole book in this excellent trilogy left to read, so probably nothing too exciting until I'm done with that. I'll be sure to rant about these books later. Kathy seems to be digging the new job duties, and it's kind of weird staying home all day, but it still feels like vacation, so I can't complain.


Plus I have this to play with all day!

Wednesday, May 21, 2008

Motivation

"Nobody should start to undertake a large project. You start with a small trivial project, and you should never expect it to get large. If you do, you'll just overdesign and generally think it is more important than it likely is at that stage. Or worse, you might be scared away by the sheer size of the work you envision. So start small, and think about the details. Don't think about some big picture and fancy design. If it doesn't solve some fairly immediate need, it's almost certainly over-designed. And don't expect people to jump in and help you. That's not how these things work. You need to get something half-way useful first, and then others will say "hey, that almost works for me", and they'll get involved in the project."

- Linus Torvalds
Really well said. I definitely suffer from over-planning-and-under-doing things. Once you build all these castles in the air regarding what it is you are going to do, it all starts to seem overwhelming and hard to achieve. If, instead, you just start doing something, then iterate, you end up achieving a lot without even noticing, and suddenly you have this big thing to show off.

Maybe I should just focus on something I can solve in a day, and then go from there.

Tuesday, May 20, 2008

Improvements

UPDATE (06/13/2008): Even more improvements here.

There were a couple links on Hacker News today that were to pdfs, and someone pointed out that the automatic scribd vacuuming of said links is kind of annoying. I agree, so I thought I'd add the option to my blacklist to disable that functionality. While I was at it, I added a search box for Search YC as well.

Oh and the UI got a facelift.



You can check it out and install from here.

Monday, May 19, 2008

Twinview

So after I got my monitor last week, I spent about four days fighting to get dual monitors to work correctly. I tried a litany of things before I solved it. Want to know how? Probably not, but going to tell you anyway. Get this: I unplugged the DVI cables and plugged them back in.

Crazy I tell you.

So after the creepiness of that voodoo wore off, I spent a few days just enjoying the warm glow of four feet of LCD screen. Watching movies on one screen while chatting on another is fun, and the brief bit I spent coding was great. I could have my code, the console, firefox and pidgin all visible at once... each of them big enough to be considered full screen on a lesser monitor.

Spent most of the weekend sleeping, cleaning, and reading. Got this awesome book called Revelation Space (by Alastair Reynolds). So far it's probably some of the best Sci-Fi I have ever read.

Before acquiring the book, move-related cleaning was in full swing. I've managed to organize and pack most of the office, with about two boxes to go. Most of the time was consumed by going through all my collected documents and piles of things and throwing away everything I could. Also finally rid myself of the magazines and extra clothes, which was liberating to say the least. It'd really be nice to get my personal possessions down to books, computer, and clothes. It's amusing how much more crap I have than Kathy. I think tonight I'm finally going to take an axe to the box full of papers from college.

For some reason, at the time, I thought keeping all my homeworks/notes/tests from all my classes would someday be useful for refreshing myself. Thing is, with the internet and wikipedia at my fingertips, there is probably zero chance I'll ever look at them again. I think I'll keep some stuff related to Spain and just recycle the rest.

Still coughing up a storm, but most of the sickness has passed. Hopefully that'll eventually go away too. I'd hate to end up with bronchitis.

Tuesday, May 13, 2008

Purge

Been sick since Saturday. It's pretty much no fun.

Due to the excessive sleeping involved in being ill, I am behind on just about everything. I did manage to go through my clothes before I got sick and pick out about two trashbags worth to give away. Upcoming move to Texas gives me an excuse to downsize my stuff a bit. I also have a stack of magazines about six feet tall ready for the recycling bin.

Usually when I go through my clothes, I end up keeping t-shirts with memories attached. I still have my shirt from Nerd Camp in 1999, as well as several high school related ones. I haven't actually worn them in years, so this time they got pitched. Something clicked and it just seemed silly to keep things I had no practical use for, even if they had memories attached. My next debate is whether to treat some of my other childhood knick-knacks the same way.

As for the magazines, I had been holding on to them because I had a complete series from 1995 to 2001. But honestly, nobody really wants to collect magazines. It's an interesting mental effect... having a 'complete set' of something makes it seem more valuable. Oh well, recycle bin here I come.

All the stuff going out is being replaced by more useful things. Got the new 8800GT last night, and it's working like a charm. Tonight I will hopefully come home to a new monitor and lots of new magic cards. Oh well, I already have a place for those things in the moving process.