I’m so proud

One of our star students, Zach Clifford, has set up his own web server. Why am I proud? Because he’s running Debian Linux, of course. I would love to take some of the credit for this site, but Zach did it all on his own. Actually, I just started visiting about a week ago.

It’s a great site. He as an active message board, games, picture galleries, etc. There’s only one thing wrong with his site – Google has never heard of it. A Google search for Zach Clifford doesn’t even list his site on the first page. Looking at the stats for his site, I realized that Google’s bot wasn’t even indexing his page.

Since Google is rather found of our little site, I though I would help him out by posting a few links to his site. So if there’s anything you want to know about Zach Clifford, be sure to check out his website at http://www.zachclifford.com.

We’ll see what this does for his page rank…

Get Categorized

I finally broke down and added categories to the site. You’ll find them in the navigation bar on the right side of the home page. So if you’re just here for the technical stuff, like this post, you can go to the Technology Category and read all of it at once.

I’m not really happy with the names of the categories yet, but they’ll do for now. The only problem with this system is when I ramble on about several different things I’ll have to assign that post to multiple categories.

In other news, I just learned how to spell the word “category”. I think I’ve been spelling it “catagory” for my entire life. A Google search for catagory turns up about 503,000 pages, so I guess I’m not alone…

Tutorial Updates

I’ve gotten several requests to update my Lua tutorials for version 5, so today I sat down and got it done.

Each tutorial has been updated with the changes required for version 5. At the end of the first tutorial I have zip file of headers, libs, and dlls for developing Lua programs on Windows. I also updated the downloads for each tutorial so you can easily download the source code for Lua 4 or Lua 5 on Windows or Linux.

Now I guess I’ll get to work adding a few more SDL tutorials. I’ve gotten a few requests for those as well. Next I’m going to try to cover animated sprites.

Things are about to get weird

We’re moving all of our web sites from Modwest to DreamHost. I don’t have any complaints with Modwest, and I’d recommend them to anyone looking for a good hosting company. I just happened to get a special deal with DreamHost that I couldn’t pass up.

It can take up to 72 hours for DNS changes to happen, so if you have any trouble accessing this site for the next three days, that’s why. Check back around Wednesday and everything should be back to normal.

Another helpful hint

Warning, this post is going to be mostly written in the language of the geek. So, if you’re not one of us, please let your eyes go out of focus and scroll on down to the nice posts about turkey and graduation…

I’ve been using RedHat’s new “community-supported” distribution Fedora since the day it was announced. Now that Fedora-Core-1 has been released, I’m using it full-time. Everything was going great until I installed the NVidia drivers for my video card. Here are a few tips for anyone else having problems.

First, the NVidia drivers don’t include modules for the Fedora kernel. Luckily, the installer will compile them for you if you have everything set-up correctly before you start. Here’s what you need to do:

  1. Install the gcc32 compiler installed if you don’t already have it. In a terminal window type “up2date gcc32”.
  2. Make sure you have the kernel-source package installed – “up2date –force kernel-source”. Up2date won’t normally install kernel packages so you have to use the –force option to make it. Also note that this is a very large download (14MB+) so you might be better off installing it from your original CDs if you have a slow connection.
  3. Download the latest driver from http://www.nvidia.com/ if you haven’t already.
  4. Log out of GNOME
  5. Press Ctrl+Alt+F1 to switch to the first console
  6. Log in as root
  7. Type “telinit 3” to switch to runlevel 3 and kill the X Window System
  8. Change to the directory where you saved the driver
  9. Make the driver executable by typing “chmod +x NVIDIA-Linux-x86-1.0-4496-pkg2.run”
  10. Tell the system to use the gcc32 compiler by typing “export CC=gcc32”
  11. Install the driver with the command “./NVIDIA-Linux-x86-1.0-4496-pkg2.run” (that’s a dot and a forward slash followed by the name of the file you downloaded)
  12. After answering a few questions, the installer should compile a new module for you and install it.

Now we need to edit the XF86Config file so X will actually use the new driver. I normally use VI for editing files, but for these instructions I’ll use nano since it’s easier.

  1. Type “nano /etc/X11/XF86Config” to open your config file for editing.
  2. Scroll down to the line that says Load “dri” and put a # at the beginning of the line. This makes that line a comment which means it won’t be read by the X Server.
  3. Now keep scrolling down to the line that says Driver “nv”. Change the “nv” to “nvidia”
  4. Press Ctrl+O to save the file and Ctrl+X to exit

If you restart X right now, it will come up, but anytime you try to run a 3D application you’ll get this message Xlib: extension “XFree86-DRI” missing on display “:0.0”

I found a solution for this on the nV News Forums. Here’s what you need to do now:

  1. Get rid of a directory with some conflicting files by typing “mv /usr/X11R6/lib/tls/ /usr/X11R6/lib/tls-bad/”
  2. Tell your system about the change by typing “ldconfig”

You can now restart X and have good 3D acceleration. Type “telinit 5” to restart the login manager and get back into GNOME.

I’m sure this will make someone very happy one of these days. I still get e-mail about the last bit of technical advice I posted.

iTunes for Windows

I love the headline at Apple.com – Hell froze over. Apple has just released their awsome CD Ripper / CD Burner / Music Organizer / Music Store for Windows. They call it the best Windows app ever.

If you’re interested in music at all, then you owe it to yourself to check out iTunes. I’ll be downloading it at work tomorrow to play with on my laptop. Since I’m running nothing but Linux at home now, I guess I’ll stick to Rhythmbox and buy my music the old fashioned way…

Social Software

As graduation approaches I’m starting to think more and more about what I’m going to do once I get my degree. My current job is not too bad. The people are friendly and the time off is great. I’d like to make more money, but who wouldn’t. Besides, once I get my degree I expect to get a raise.

A while back I posted about starting my own software company. That’s something that will happen, and soon. I already have several working programs that I think other people would pay money for, and I have a few more either in progress or at least in mind. It seems like I’m always trying to think up some new program to make people’s lives better.

My latest obsession is so-called social software. These are programs that bring groups of people together with similar interests.

The first example that most people have experienced is Amazon.com. You can buy books just about anywhere, but where else can you get detailed reviews from people all over the world, and recommendations based on your past purchases and ratings. Another popular social site is eBay. On eBay, it’s easy to see who’s a good seller or if someone is a deadbeat bidder. Everyone on the site works together to make a strong community.

Another example would be weblogs and discussion boards. I’m a big fan of Slashdot.org. At Slashdot, the editors take submissions from visitors for interesting news stories. The editors pick the ones they like, then all of the visitors discuss them. Site visitors are also sometimes given the ability to moderate other visitor’s comments in the discussion. This way, the meaningless comments are eventually eliminated and an interesting discussion emerges. Kuro5hin.org takes this concept a bit further. At Kuro5hin, the readers of the site decide what stories to run on the front page. Anyone can submit a story and then vote on which stories are interesting enough for further discussion.

For some people, social software goes beyond complex sites such as these. CC’ing a group of people in e-mail and then using reply to all can be a great way to communicate with a group. The group I’m in right now uses this technique quite a bit. We have discussions on everything from the design of our program, to who is bringing what for dinner at the next meeting.

Here’s a list of websites that I just added to my bookmarks about social software:

That should be enough to keep me busy for at least the next few evenings…

Community

The other day when I was talking about the IBM Linux commercial I mentioned the community aspects of open source software. To me, that’s the best part. The idea that everyone helps each other create something great.

Here’s a good example of that: A few weeks ago I was downloading a new theme for GNOME. It’s called MetaXP and it makes the desktop on your Linux computer look just like Windows XP. After installing it, I noticed that the restore button was a little strange, so I opened up the file and fixed it.

I then e-mailed my fix off to the original author of the theme in case he was interested. He e-mailed me back a nice thank you and said he would give me credit for the fix. Keep in mind this was not a huge job, maybe five minutes of work just correcting a few lines. Today, the updated version was released and my name was mentioned. You can see a screenshot of it here.

New Linux Ad

It’s not very often that I watch football on TV, but I spent a lot of time watching it yesterday. I even watched a little tennis. I was trying to catch IBM’s new ad featuring Linux. Unfortunately, I always seemed to miss it.

Linux is hardly ever mentioned on TV, even though it seems to be taking over the world of computers. I guess it’s true that the revolution will not be televised. Anyway, I found out this morning that you can download the ad from IBM, and they have a transcript available. The best line from the ad is:

Collecting data is only the first step toward wisdom. But sharing data is the first step toward community.

Not many people understand Linux, but whoever wrote that line really gets it.

SDL Tutorial #2

I’ve added a new tutorial about SDL. This one is called Moving Sprites with SDL. Beginning programmers frequently ask how to make things move around using the keyboard with SDL, so I thought I’d attempt to explain it.

If you’re a programmer, take a look at it. Also, let me know if you find any silly mistakes. Believe it or not, I have been known to misspell words from time to time…