The Best Dock for Linux

I’ve been looking for an OS X-like dock bar for Linux for many years. For a while, I used the launcher applet in gdesklets. It works without x-composite and pretty nice, but gdesklets can be a resource hog at times. Most of the gdesklets are written in Python if I’m not mistaking and Python, being an interpreted language, uses much more system resources than a native compiled application.

My next dock was AWN, or Avant Window Navigator. At one point, possibly the present, Google was involved with this project. Again, this is if I recall correctly. AWN is very nice, however, it only works if you are using the composite extension in X, as in Compiz/Beryl/Compiz Fusion. It’s very customizable and behaves much like the OS X dock.

There’s one part of the OS X dock that I really like that isn’t quite the same in these docks however. The fish-eye zoom of icons on the dock is a trademark of OS X. AWN and the launcher in gdesklets both have a zoom function but it’s just not the same.

I recently discovered that there is a great dock pretty much hidden away in a program called Gnome-Do. Gnome-Do itself is a cool search app for gnome. It’s somewhat like a KDE app I remember that lets you launch programs by hitting a keyboard shortcut and then typing the name of the app. I can’t remember the name of that app at the moment though. Gnome-Do does exactly that. One can type super(windows key) and the space bar to bring up Gnome-Do.

Of course, you will have to install it first though. After it is installed, simply run the application and go to the preferences for it. Change the appearance to “Docky”. Voila, the best dock you’ve ever had in Linux will appear. Play with it and you’ll soon see that this is very close to the OS X dock experience.

Ubuntu Synergy Howto

There’s really not much to setting up Synergy in the latest Ubuntu. The reason I’m writing this is because I ran into a roadblock while setting it up and it was a stupid mistake on my part. I know someone else will probably make the same mistake.

I’m used to Debian-based distros. I ran Debian for a few years on my home desktop, and I use Debian on my personal development servers. I should have realized that synergy and quicksynergy were in the Ubuntu repositories. It just makes sense. They are even available for the 64bit version.

Before I realized this, I looked for the package in Ubuntu’s “Add and remove software” app. I searched for synergy and found nothing. Stupid me assumed that it wasn’t available. I should have just ran the ole trusty apt-cache search synergy. Assuming that it wasn’t in the repos, I downloaded the source. The only binary available for Linux was in RPM form. I just don’t like converting RPMs to DEBs using Alien. Sorry. So, I tried to compile it. I ran in to a few issues while trying to compile. That’s when I decided to check the repos. Lo and behold, there both packages were. So to install synergy and the nice graphical front-end for it called quicksynergy, simple run: sudo apt-get install synergy quicksynergy

I’m pretty sure these are both in the universe repository. However, in the event I’m incorrect, they are at least in the multiverse repo. So if universe doesn’t turn up anything, just add multiverse. If you don’t know how to do that, Google.

If you’ve never tried Synergy out, it’s one of those must have apps for Linux, Windows, or OS X. It’s useful if you have more than one computer and more than one monitor, but only want to use one keyboard and one mouse. It makes the two computers seem to work in unison by sharing the keyboard and mouse over IP. It’s not exactly the same as KVM over IP because video doesn’t get shared.

It’s great for me because I have a regular desktop and my “server” box at my desk. I have dual displays on my main box and I now have another display connected to my “server”. My keyboard and mouse are shared between the two computers. When I mouse over to the far right hand side of my main box’s desktop the mouse goes to my server box’s display. My keyboard then works on it. Mousing back to the left gives control back to my main box.

If you’ve never tried synergy, give it a shot. It’s open source, free, and extremely handy.

Automated twitter status updates

Once you have a following on Twitter, it’s easy to gather a little extra traffic to your site from it. To help automate the process, I make use of Twitter’s API and a Linux command line. I create some cron jobs to update my status using curl. This is pretty simple to do and may be helpful for people with a Linux box and the need to advertise something.

The curl command is structured as follows:
curl -u username:password -d status="My new status message" http://twitter.com/statuses/update.xml

Now it’s important to note that for the automated crons the returned xml isn’t really needed. You can also use this in the programming language of choice to fetch the xml and make use of it. You can also get JSON results by changing the end from .xml to .json.

So, once you have the code, all you have to do is create the cron jobs in Linux. Edit the crontab with crontab -e
Your default editor should open your cron. Here is an example showing how to create the cron job:
5 * * * * curl -username:password -d status="My Message" http://twitter.com/statuses/update.xml
That cron job would run at 5 minutes after the hour, every hour, every day. This is, however, not a good idea because your account will not last long 🙂

Best Cross-Platform FTP Client/Server

Due to my recent web site development work, I’ve been in need of good FTP client for Windows. In the past, I used SmartFTP but it was a free trial or it may have actually been freeware at one time. I liked it, but it’s hard to make a bad FTP client for Windows. Pretty much all FTP clients have the same features these days anyway.

So I thought it’d be a good time to find a free open source FTP client for Windows. It didn’t take long for me to dig up Filezilla. I have to say, I like it. It’s not spectacular or amazing. I really don’t see why an FTP client should be. It is lightweight and works as expected. That’s all one should expect from an FTP client. I like programs that keep it simple and Filezilla does that well.

Another advantage to FileZilla is that it is available on all platforms. I prefer it to anything I’ve ever tried on OS X. For some reason a lot of Mac lovers like some program with a duck in it. The name escapes me. I should take the time to google it but I just don’t have the time at the moment. File Duck or Ducky….Something like that. At any rate, that program has a very Mac feel to it but I don’t like that I have to use it with finder. I think a lot of that comes from the fact that I’ve been using FTP clients for quite some time and it’s just not intuitive to me.

FileZilla is available on Linux, Windows, and OS X. I’m pretty sure it’s available on BSD as well. Once one is familiar with it on one platform, it’s the same on any other.

I’ve limited experience with the server version of FileZilla. From what little experience (from XAMPP) I have with FileZilla server, it seems pretty good. I personally don’t have a need for an FTP server in Windows, and if I did, I would probably use the built-in FTP server in IIS, since I run Windows Server 2008. But if all one needs is an FTP server, Filezilla appears to be an excellent choice.

Free Software Everyone Should Know About

Most computer users aren’t “savvy”. They know how to turn the computer on, how to open up “the internet”, and maybe how to write an email. To some, computers are scary devices. To others, computers are something they use daily but couldn’t fix on their own. To the non-savvy computer user, open source software is a foreign term.

Most computer users aren’t “savvy”. They know how to turn the computer on, how to open up “the internet”, and maybe how to write an email. To some, computers are scary devices. To others, computers are something they use daily but couldn’t fix on their own. To the non-savvy computer user, open source software is a foreign term. It’s geek speak. It’s mumbo jumbo. Whether one is a savvy user or a beginner, they should be aware of what open source software has to offer them.

In order to understand what open source software is, it is important to know a little about how computers work and why software is normally so expensive to begin with. So a little “Intro to computers” is in order.

Computers need software to operate. The main software on a computer is it’s operating system. This software allows the user to interact with the hardware. When the user presses a mouse button, a signal is sent to the computer’s hardware, the hardware asks the operating system what it’s supposed to do with this signal. The operating system tells the hardware what to do next and then tells the other software on the computer what has happened. The other software then reacts to the event. The click event is registered and the process pretty much goes back in reverse. The software that handled the click event tells the operating system what happened. The operating system tells the hardware. Finally the user sees or hears the effect of their click of the button on the screen/speakers/both.

The operating system is very important. Most people use a form of Microsoft’s Windows operating system. Other examples of operating systems include Apple’s Mac OS X, Linux, and FreeBSD. Windows and OS X are considered proprietary or commercial software. OS X comes on Macs, and Windows comes on most PCs. However, neither are free. They are part of the price paid for the new computers.

So this leads us to our first examples of open source software. Linux and FreeBSD are open source software. Proprietary or commercial software is normally “closed source”, meaning the source code is a secret that only the software company can look at. Windows is completely closed source. OS X is to an extent. Much of the software at the core of OS X is built from open source software. Windows has an arguably unfair share of the market because Microsoft positioned themselves to have their version of DOS included on most new computers back in the old days and that has carried over to Windows. Many people argue that Windows is easier and that is why it has such a huge market share. However, it’s arguably easier for most people because of it’s huge market share making it more familiar.

This market share allowed Microsoft to position itself in other software and top software testing companies in the markets as well. For instance, today Microsoft’s Office Suite controls a huge market share as well. This creates a circular problem in that everyone who wishes to open an Office document whether it be a spreadsheet, presentation, or memo, has to have Office installed on their computer. However, it can also be stated that Microsoft finally delivered a standard on all these products. Back in the day there were many word processors and if person A wrote a document in Word Perfect, it was difficult for person B to open the document in Word.

There is a better solution to the document standards though. The documents should be a standard, and that standard should be open. Meaning anyone who wants to write a word processor should adhere to the standard document type. It’s the same concept that we use today for our web browsers. It is important that all web sites have standard coding that all browsers can read. Microsoft tried to set that standard as well, and to this day Internet Explorer is one of the least standards compliant browsers available. Microsoft knew that if they controlled the standard, then everyone would have to use their products.

Now that all of that is out of the way, lets look at some of this open source software. Open source software is, as its name implies, software who’s source is open for public viewing. Anyone is free to view, edit, and redistribute the software with or without the modification. This also means that open source software tends to be free, and in most cases, can be downloaded for free. Here is a list of common alternatives. I will post links at the end of the article that will lead to the download page or home page for all these applications.

If one needs an office suite, why pay $100 to $400 for Microsoft Office when OpenOffice is free. OpenOffice has a word processor, database app, presentation app, and spreadsheet app. Granted, there are a few features that Microsoft has that OpenOffice doesn’t, but most of those features wouldn’t be used by the average user. If one finds that OpenOffice doesn’t do the trick, then they can look into purchasing Microsoft’s Office suite, but if it’s not needed why waste the money.

For email, most people probably have a web-base mail account. However, for those that use Outlook or Outlook express, perhaps Mozilla’s Thunderbird is a better alternative.

Window Media player and Apple’s iTunes software are both free but they aren’t open source. For music, SongBird is a great alternative. It has the look and feel of iTunes but doesn’t force the iTunes music store down the user’s throat. It also has many plugins/extensions that one can install with a click of the mouse. Such extensions include: automatic lyric display, automatic album art, artist bio, discography, etc. It also has many available themes.

Browsing the web is easy with Windows right out of the box. Internet Explorer is built-in. However there are a few things people don’t realize about Internet Explorer. Ever notice how everyone’s home page is set to MSN? Microsoft rakes in millions just from the advertising on that site. It’s a simple tweak that most people don’t realize. Also, what about the user’s browsing habits. That’s some very powerful information to have. With it they could pinpoint advertise and make even more money, or sell the info to others. The point is, Internet Explorer is all about invading your privacy. This coupled with the fact that it’s probably the least secure browsers one can use, and it stands to reason that we should all be using something else. Thankfully there are plenty of alternatives to Internet Explorer. Try out Firefox, Google Chrome, Opera, or Flock. They are all very good choices to replace IE.

For photo editing needs, The Gimp makes a pretty good Photoshop replacement. It can do many of the same things. Granted, it’s nowhere near as robust as Photoshop, it will surprise many of the most skilled “shoppers” out there.

For chatting with friends, an IM application is usually installed. These include Yahoo, MSN, AIM, Google Talk, and MySpace IM. Well all of those could be replaced with a single program called Pidgin. Pidgin is a great instant messenger application and uses very little system resources compared to any one of these.

Finally, after replacing all of the core software titles on a system, why not replace the operating system itself. Many people have switched to Linux and are happy. Linux is a monster as a server OS and it’s actually a very good desktop OS as well. The most popular (at least for desktops) Linux distribution available today is Ubuntu. It is one of the easier distributions. There is also a huge community available to help with any problems that may arise.

In conclusion, it is quite possible to legally use a computer without paying a single penny for any of the software installed on it. Not only is this software free, but it’s also very robust and can fill even the most demanding user’s needs. There’s always a chance that open source isn’t a good choice for some users, but most will find it very useful.

Here is a complete list of the software mentioned in this article and links to learn more about or download the software.

Linux:
General Information about Linux
Ubuntu Linux
Debian Linux
Fedora Linux
Suse Linux
Arch Linux
DistroWatch – A list of all popular Linux distributions

FreeBSD and other free operating systems other than Linux:
FreeBSD Project Site
OpenBSD
NetBSD

OpenOffice:
http://openoffice.org

Thunderbird:
http://www.mozillamessaging.com/en-US/thunderbird/

SongBird:
http://getsongbird.com/

VLC:
Video Lan Media player
Firefox:
http://mozilla.com

Google Chrome:
http://www.google.com/chrome

Opera:
http://www.opera.com/

Flock:
http://flock.com/

The Gimp:
http://www.gimp.org/

Pidgin:
http://pidgin.im/

Other helpful links:
Comprehensive list of Open Source/Free software
GNU Project
The Free Software Foundation
Sourceforge – search for open source software.

BitchX removed from latest stable Debian release

I just recently realized that BitchX is no longer in the Debian repos on one of my servers. Apparently there is some kind of library dependency issue. I decided to try some of the other IRC clients for the command line (I use XChat for most of my IRC chatting but sometimes I want to chat from a CLI environment). The rest of the clients, however, sucked. Especially when one is used to BitchX. I could have probably gotten used to one of them but I just wasn’t impressed. I tried Irssi, ircii, weechat, epic4, and something called Pork. None of them felt right.

So, I downloaded the BitchX source. I couldn’t get it to compile (probably why it isn’t in the repos any longer). Configure didn’t report any errors. Make failed with a generic error that ld ended status 1. All that means to me is that ld ended with an error. I’m sure I could have tracked it down eventually but instead I downloaded the Linux binaries. Miraculously, the binary worked without any problems whatsoever.

So, if you are like me and really like BitchX for IRC, download the binaries from: http://www.bitchx.com/download.php

Once you have the binary, you can place it in /usr/bin with:
cp BitchX /usr/bin
and create a symlink like so: 
ln -s /usr/bin/BitchX /usr/bin/bitchx
I created the symlink only because I’m used to starting BitchX using the lowercase version of the command. The symlink is optional.

Virtual Box: VMs for the Rest of Us

A lot of my desktop time is spent in Linux, even though lately I’ve been trying out Windows Server 2008 as a desktop OS (as a side note, it’s pretty dang good). At any rate, being a full time web developer now, I need to be able to preview everything with IE. DeVry also requires me to use Office 2007 for my school work. So, there’s still a need for Windows. I can’t cut myself free of it yet. I’ve been trying for over 10 years.

There’s always the dual boot solution. I still do that on my main box. My secondary (I call it my server) runs Ubuntu Server OS only. My wife’s desktop boots to Linux all the time. She tried Windows 7 but wasn’t very impressed. All our laptops are dualboot as well.

This isn’t a great solution if I just need to check a few things in IE though. This is where a VM comes in handy for me. There are many other uses, but for the most part, in my daily life, that’s what I use a VM for. I also quite frequently use a Windows XP VM for writing Windows code.

Another handy thing about VMs is that they can be stored on an external storage device and carried around everywhere. It’s basically like having your computer on your thumbdrive. The only catch is you need VM software to run that virtual machine. The most popular virtual machine software is VMWare. This is, however, an open source solution as well, Virtualbox.

Now, I love VMWare. So, there’s no need to argue your points for VMWare. I know them. When I suggest Virtualbox, I’m only suggesting an alternative. I know VMWare server is free. BlahBlahBlah. I’m mearly suggesting that people should give Virtualbox a try. It really is a great product. I’ve had very few issues with it at all. The ONLY bad thing about it that I’ve found is related to its virtual networking. It’s harder to make custom network interfaces with Virtualbox than VMWare. At least that’s my experience. This is especially true with the Linux versions.

This network problem isn’t really a problem for most people. I just noticed it because I was trying to set up a Windows domain for testing purposes one day. I wanted four VMs of XP and a 2k3 VM in a virtual lan cut off from the rest of the world. I then wanted to test group policy and such on the internal domain. It’s been a while ago so I can’t remember the exact details but I remember that it was difficult to make happen on Virtualbox at the time. It may have actually just been user error on my part.

I believe Virtualbox was bought by Sun not too long ago. It was around the same time that Sun bought MySQL. Those were two of my favorite open source products. So far it doesn’t appear that Sun has screwed them up, but I’m sure it’ll happen eventually. I can picture the future for both of those applications as being filled with Java bloat. It may be one of Sun’s goals to slow MySQL down to Oracle speeds and to do so they’ll force users to run MySQL in a Solaris VM on Virtualbox. Who knows?

Either way, Virtualbox is working great as of today, and I highly recommend it. Oh and by the way, it runs on Windows, Linux, and OS X. So, even your Mini can run it.

Google Gears for Linux 64 bit Redux

Earlier I posted that there was no Google Gears for Linux x64. Well I found a solution here.

Earlier I posted that there was no Google Gears for Linux x64. Well I found a solution here. I was able to install it in a few minutes and I’m not in WordPress “turbo” mode. There are a few applications that take advantage of Google Gears. The key feature of Google Gears is that it allows web applications to run offline. I believe that it’s used by WordPress to cache most of the application locally. This allows it to run much faster. Hopefully this helps some of you find Gears for x64 Linux. I should have looked a little more before I posted that last entry about it being non-existent.