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
Religion

Celebrating 200th birthday of the Prophet Joseph Smith

It was 200 years ago today that the Prophet Joseph Smith, founder of the The Church of Jesus Christ of Latter-day Saints, was born. To celebrate, the Church held a televised event with president Gordon B. Hinckley speaking from Joseph Smith’s birthplace in Vermont. Our family watched the event on the Internet, and it was very good. Here are a few thoughts from various speakers:

Elder Ballard — We should be grateful for Joseph Smith’s family. Imagine if Joseph had come back to his parents to tell him about the visions he had seen, and hadn’t received any support. He came from good blood.

President Faust — Every person that calls him or herself a member of the Church should have a conviction of the Joseph Smith account. While Joseph Smith has friends and enemies, no one can dispute the success of what he started.

President Monson — By any account he was a remarkable individual.

President Hinckley — “He was the living prophet of the living God.” To celebrate Joseph’s 100th birthday, a granite tower was built at his birth place. The tower was 39 and 1/2 feet tall, one foot for every year of his life. It was made from one solid piece of granite and weighed 40 tons. Getting it from the quarry, to the shop, to the birthplace was a monumental task in 1905.

The building of that monument goes along well with a quote by Joseph about himself: “I am like a huge, rough stone… and the only polishing I get is when some corner gets rubbed off by coming in contact with something else, striking with accelerated force…. Thus I will become a smooth and polished shaft in the quiver of the Almighty.”

During this Christmas time we should remember that no man bore a stronger witness of Jesus Christ than the Prophet Joseph Smith.

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.