Cool, Fun, and Mostly Useless Things to do with Linux

I frequently find myself on a weekend without much to do, wishing I could have some cool new project to put on my Linux server at home. I've implemented several of my ideas and occasionally come up with one more, but when I'm starving for one and don't have one on the cooker at the moment, finding a cool Linux project idea on the internet can be quite the task so much so that you can make searching for one a weekend project in itself...until of course you get so frustrated with not finding one that you want to commit some uncivilized acts to various (hopefully) inanimate objects near you.

If that describes you, hopefully this post will help.

Linux as a Server
Without going into too much detail, I'll start with a simple list of my ideas with a few links to things here and there with a Linux server.
 * Build an IRC server using ircd-hybrid
 * Build an XMPP/jabber server for chatting with your GMail friends (or whoever else uses xmpp) using ejabberd.
 * Build a Ventrilo server using Ventrilo (duh)
 * Take webcam photos from command line using the fswebcam package
 * Set up a motion-detecting webcam using the motion package
 * Build a media server that works with your PlayStation 3 using MediaTomb
 * Set up an IRC bot to connect to previously made IRC server using eggdrop

Linux as a Desktop
I figured that in light of what I spent my time on thus far this weekend I would update the post to include things for the Linux desktop.
 * Get a usb stick or external hard drive and install Linux on it, bootloader and all. USB 2.0 transfers at roughly 35 MB per second and USB 3.0 transfers at roughly 400 MB per second, so you won't see too bad of performance.
 * I'd like to take a second to expound on this one because it's been particularly useful to me. Having this kind of a setup allows me to use any computer hardware that supports booting from USB as my computer. It's great for fixing friend's computers, it's great in case your laptop battery dies, it's more portable than a laptop (assuming you'll have a computer you can use whever you're going), you can run Linux at work without angering the desktop team who built your work computer. When you go on trips, you don't have to bring both your personal laptop and your work laptop. You just need one computer and your little harddrive. It's really a handy thing to have.
 * If your work uses Cisco VPN, you can go in using vpnc (Gnome and KDE GUI implementations are readily available).
 * Get a usb stick or external hard drive and install Linux on it, bootloader and all. USB 2.0 transfers at roughly 35 MB per second and USB 3.0 transfers at roughly 400 MB per second, so you won't see too bad of performance.
 * I'd like to take a second to expound on this one because it's been particularly useful to me. Having this kind of a setup allows me to use any computer hardware that supports booting from USB as my computer. It's great for fixing friend's computers, it's great in case your laptop battery dies, it's more portable than a laptop (assuming you'll have a computer you can use whever you're going), you can run Linux at work without angering the desktop team who built your work computer. When you go on trips, you don't have to bring both your personal laptop and your work laptop. You just need one computer and your little harddrive. It's really a handy thing to have.
 * If your work uses Cisco VPN, you can go in using vpnc (Gnome and KDE GUI implementations are readily available).
 * If your work uses Cisco VPN, you can go in using vpnc (Gnome and KDE GUI implementations are readily available).

Hopefully that's enough to get you started. Enjoy!