Categories
Main

Judge others by intentions, yourself by results

Great quote from Guy Kawasaki today:

Judge others by their intentions and yourself by your results. If you want to be at peace with the world, here’s what you should do. When you judge others, look at what they intended to do. When you judge yourself, look at what you’ve actually accomplished. This attitude is bound to keep you humble. By contrast, if you judge others by their accomplishments (which are usually shortfalls) and yourself by your intentions (which are usually lofty), you will be an angry, despised little man.” (From: Hindsights II)

I’d like to do this more myself.

Categories
Main

Most important technical book I ever read

Power C Manual While I was home for Christmas, I found a book I hadn’t seen in a while: a computer programming manual for Power C, a C compiler from Mix Software. My parents sent away for it when I was about 12 years old. At $19.95 it was quite a steal since it included an ANSI-compliant C compiler and a printed manual with a good tutorial. I remember poring over it trying to take it all in. I learned pointers, memory management, and linked lists. For an additional $19.95, we bought the debugger. I could see the values of variables in real time and step through programs. It was fun.

My proudest programming moment was creating a Terminate and Stay Resident program that helped me play an online game. The game was Flash Attack and it ran on Galacticomm BBS‘s. (Despite having to dial into a bulletin board system to play it, that my computer was slow, and that the game used primitive text graphics, it was pretty fun to play with other people.) The game would let you shoot a laser beam at oncoming tanks, but you had to type in the trajectory of the laser beam in degrees and that obviously wasn’t easy to do in a hurry when tanks were attacking.

So I built a program that ran in the background, looking for oncoming tanks by watching for the diamond shape in the video card’s memory area. If it saw a tank, it would calculate the trajectory of the laser beam, type it in, and press “L” to shoot the laser. It was like having a bug zapper for my base; any time a tank came near it would automatically be shot. (Including my tanks, so I had to be careful where I drove.) It was a big project for me because I had to learn direct memory access to the graphics system, hook into system interrupts to stay resident in the background, how to “stuff” the keyboard with keystrokes, and a little trigonometry.

That Power C manual taught me everything I know about C. Since I now make my living as a PHP programmer, and especially because PHP is modeled after C, I can safely say the Power C manual has had more influence on me than any other technical book! Thanks, Mix Software!

NOTE: I had never searched for Mix Software on the Internet, but while writing this entry I was surprised to find that Mix Software is apparently still in business and Power C is still available at the same price!

Categories
Main

Utah Geek dinner

Last night I went with Mike Triunfo to Utah Geek Dinner #2. The idea is to bring together all the programmers and technologists from around Utah to network and brainstorm. I also went to the 1st meeting and enjoyed both. Here are a few points from the meeting last night:

  • What happens at Geek Dinner stays at Geek Dinner. I.e., people at these gatherings should feel comfortable enough to talk about work and professional challenges without worrying their boss will be tipped off to a problem.
  • Phil Burns, COO of Provo Labs, brought up the idea of building a “geek community center”. It would have wireless internet access, tons of whiteboards and collaboration areas, a food court, a game room, business offices, and even office space for rent for as little as an hour or a day or a week (for startups.)
  • Utah Geek Dinners should be (technically) non-denominational. Open source people can intermingle with Microsofties, etc.
  • It was clear from the meeting that Utah has many talented technologists and cool companies.
  • These gatherings can be a great place for business owners and entrepreneurs to find programmers and for programmers to find jobs.
  • Everyone interested should put “devutah” in their list of Groups and Associations on Linkedin.com
  • Geek Dinners are intended to supplement not supplant user group meetings. Each user group was given time to make announcements, recruit people, and talk about upcoming meetings.

One of the sponsors and attendees was Jamis Buck, a top developer at one of my favorite companies. So to all you Web 2.0 companies looking for Ruby on Rails programmers in this new era of irrational exuberance: I sat 5 feet away from Jamis Buck. That ought to count for something.

Categories
Main

Outsourcing the small stuff

When I was home for Thanksgiving break, my brothers told me that for a fee you can get Chinese kids to play video games for you. Why? Because some online adventure/role-playing games are so tedious and boring at times that you’d prefer to pay someone to beat those areas for you so you can enjoy the fun parts. I had no idea this existed, but this week the New York Times confirmed it: Ogre to Slay? Outsource it to China. It’s interesting how such a disparity in income can turn one man’s play into another man’s work. Only the internet could make this sort of arbitrage possible, and you have to feel good about this flow of disposable income to low-income countries.

On a similar note, Amazon.com recently introduced a service called the Mechanical Turk. It’s not really mechanical, but the name is based on a famous hoax from 18th century wherein a large machine was built to play chess against famous people (it beat Ben Franklin) but actually had a chess master inside.

Amazon.com’s Mechanical Turk allows people to perform Human Intelligence Tasks for money. The tasks have little to do with being intelligent and everything to do with being human. Questions might include “What is written on this CD case?” or “Does this photo contain a grocery store?” They are tasks that would be difficult or impossible for a computer but which are easy for a human. And Amazon is willing to pay for them to be done. (Though not very much — I did it for 5 minutes and only made $0.15. I’m sure rates vary.) Some of the tasks are to double-check the tasks others have done. Amazon uses this information for its book search and A9 local search.

The interesting thing about the Mechanical Turk is that it could become a platform for outsourcing small tasks, perhaps especially to persons in 3rd world nations where the tasks, even in English, are doable and the money goes a lot further than it does here. I’ll be watching this one with curiosity.

Categories
Main

Gas prices over the last 30 months

On Monday my motorcycle turned 30 months old. (It was a big day for both of us.) About the time I got it, I put together a little WML app that would let me record my mileage. Each time I buy gas I open up my phone and record how much gas I bought, how much it cost, and my current odometer reading. I don’t quite know why I started doing it, probably just for fun, but now I have 30 months of historical data which is sort of interesting to look at.

Here is a graph of gas prices over the last 30 months. It’s not scientific:

  • Most of these prices come from Provo, UT, but there were trips to Las Vegas and Logan and everywhere in between.
  • Prices are for premium gasoline — usually 91 octane.
  • The dates on the x-axis are not constant; there are more data points when I ride more during the warm months, and fewer points during the cold months.
  • The green area marks $1.00/gallon and is just to make the graph more colorful.

Premium gas was cheapest on July 21, 2003 at $1.64/gallon. It was most expensive during September of this year when it reached $3.06/gallon. The average is $2.19/gallon.

gas chart

Ingredients: One web app (WML, PHP, and MySQL), Actual Technologies ODBC Driver for getting the data into Excel X, then a copy-and-paste into Pages for graphing.