Networking on the Command Line

Lots of GUI tools exist to help set up and maintain
network connections. Two common ones are NetworkManager and wicd. But,
because the focus here is doing things on the command line,
how can you configure your network connections and be sure they are
behaving correctly?

The first utility to cover is ifconfig, which lets you learn about and set
all kinds of parameters for network interfaces. When you simply run
it with no options, you get a list of all the network interfaces
on your machine along with details for each. It looks a bit like this:

You can set all kinds of options for your network interfaces with
ifconfig. These are applied to the interface you use on the command
line. In the examples below, I use eth1. You can set the usual things,
like the netmask:

ifconfig eth1 netmask 255.255.255.0

Or, the MTU:

ifconfig mtu 1500

You can set a network device to promiscuous mode so that it receives all
packets on the network, not just the ones addressed for your machine:

ifconfig promisc

Setting the address is as simple as:

ifconfig eth1 192.168.4.4

Several other more esoteric options are available, but they usually
apply only to specific hardware. Check the man page for more details.

Now that you can get your network interfaces configured on the command
line, you probably want to be able to have this configuration applied
on each reboot. This is where the file /etc/network/interfaces comes
in. You define each interface and whether each interface should
be brought up at boot time. The most basic entry would be for a wired
network interface that is using DHCP. In that case, it would look like
this:

iface eth1 inet dhcp

Be sure to replace eth1 with the label for the specific interface you
want to configure. If your interface is static, you can set the
address, network, netmask and broadcast values. If you want this
interface to come up automatically at boot time, simply add
auto eth1 to the interfaces file. A full example
looks like this:

More options are involved when you want to configure a wireless
network interface. These extra options begin with
wireless-. In these
cases, you probably want to set the SSID of the wireless network to which you
actually want to connect. Also, if you need any security settings
to make your connection, you also can add them here by
using the option wireless-key xxxxxxxxx. Here's a basic example, consisting
of an unsecured Wi-Fi connection using DHCP:

iface wlan0 inet dhcp
wireless-essid "mynetwork"

If you are a bit more safety-conscious and have chosen to use WPA, you
can enter your credentials with wpa- options. This tells the network
subsystem to start up wpa_supplicant in the background to handle these
parts. A simple example looks like this:

iface wlan1 inet dhcp
wpa-ssid mynetwork
wpa-psk mysecretpassphrase

More complex examples, like those using EAP-TLS, can use an external
configuration file to handle authentication, for example:

In the above example, all the extra parameters needed to connect are located in the
named file. For more details on what you can put in this file,
see the man page for wpa_supplicant.conf.

Once you have all this configured, how can you activate and deactivate
the various network interfaces? Use the utilities
ifup and ifdown. These use the network interfaces you defined in the file
/etc/network/interfaces. When you want to bring up a particular interface,
it's as simple as ifup eth1. To bring down an
interface,
do ifdown wlan0. If you aren't sure whether a particular interface
is up, use ifstatus eth0 to check the status of
the network interface eth0. If you get your IP address through DHCP,
you may need to renew your lease, which you can do with ifrenew
eth1. This accomplishes the DHCP renewal without actually cycling your
network interface. Now you should be able to get your network up
and running without having to resort to a GUI at all.

diff -u: What's New in Kernel Development

Filesystem hints are attributes that filesystems can pass down to
storage devices. The devices then use the hints to make decisions
about how to lay down their data most efficiently. Matthew Wilcox has
expressed interest in implementing this. Specifically, he wanted to
implement the NVMHCI working group's recommended set of filesystem
hints. But, as James Bottomley pointed out, the filesystem and the
hardware had no real basis for agreement on what any given hint
actually meant. So the filesystem would make guesses about what kind
of hints to give the device, and the device would make guesses about
what those hints actually meant. As James said, one of the most
interesting things is that systems using filesystem hints seem to do
better than those that don't, in spite of the guesswork involved. But,
folks like Alan Cox remain unconvinced, saying he'd bet a beer on the
fact that filesystem hints would end up not being used, even if they
were fully implemented in the kernel. He didn't see enough benefit.

Robert P. J. Day has started offering
kernel programming classes. See
www.crashcourse.ca/wiki/index.php/Online_beginner's_kernel_programming_course
for details. Some of the lessons are available for free; others are
available at what seems like a pretty low fee. I haven't taken the
class myself, and I'm not getting a kickback for mentioning it, but it
seems like an interesting way for folks to get started with kernel
hacking.

Using kernel-level encryption can be slow, but several folks,
including Miloslav Trmac, recently argued that it would protect
user-space applications from certain kinds of malicious attacks.
Miloslav submitted a patch implementing a user-space interface to the
kernel's encryption routines. This inspired a number of complaints.
Theodore Y. Ts'o felt the speed issues would be pretty significant,
and he wanted to make sure that potential users were made well aware
of the huge slowdown their code would experience if they used this API
instead of a user-space implementation of the same basic feature. Arnd
Bergmann also found Miloslav's code to be overly complex, but this was
explained by the fact that so many user requests had come in for
extensions to Miloslav's initial implementation. The complexity was
necessary to accommodate those requests. In spite of the general
complaints against this code, it does seem as though the security
reasons do justify it, so none of the critics seem to be objecting
too loudly. I'd expect a clean implementation to make it into the
kernel.

There was a bit of a scare recently when Linus
Torvalds received a set
of patches that appeared not to have been compiled or tested at all,
in spite of the long “Signed-Off-By” chain listed in the patch
e-mail messages.
One of the main values of the “lieutenant” system is that patches are
vetted through a series of trusted people who understand what Linus
wants and can give it to him. If that system ever broke down, Linus
probably would have to fall back on the “maintainer” system, which
would be less good, because maintainers often are selected based solely
on their willingness to do that job, and not on their specific
reliability as producers of Linus-worthy code. The lieutenant system,
in part, helps communicate various requirements to the maintainers.
In this particular case, Len Brown had done an incorrect merge
between some ACPI branches and then fed the wrong branch of
his tree into his test suite. It's a very unusual confluence of
errors, but the result was that some patches made it to Linus without
the proper testing—just one of those things that happens and gets
fixed.

Non-Linux FOSS

Microsoft may be public enemy number one to many in the Open Source
world, but Apple is certainly number two with a bullet.
Of course, that doesn't stop open source from existing in the Mac world.
One such open-source program is Cyberduck, an FTP client for Mac OS X.

Cyberduck is written mostly in Java.
The latest version of Cyberduck is 3.5.1, and it requires Mac OS X 10.5 or later.
For the non-Macified out there, the Cyberduck Trac roadmap refers to
a port to Windows, and the repository looks like progress is being made toward that end.
And, don't worry, Cyberduck can quack in your language,
with more than 30 supported translations.

Power Supplies

One hundred forty-seven dollars and thirty-nine cents—that is the cost
for replacing a power supply for an old MiniITX computer system I found
in my office. Mind you, the entire unit cost about $199, and that was five
years ago, but still, the cost for a replacement power supply is absurd.

Thankfully, a quick search on the Internet found a universal power adapter
that fit my requirements for about $18. How can you find inexpensive
replacements for your missing power supplies, without frying your vintage
arcade cabinet computer? There are a few important things to watch for:

Voltage: most universal power adapters have several voltage selectors;
make sure that they match your needs. (For example, laptop power supplies
generally require more voltage and, unfortunately, are more expensive.) The
device should say near the power adapter how much voltage it requires.
The network switch in Figure 1 shows a need for 7.5V of DC current.
Some devices require AC voltage as opposed to DC, so be sure to look for
“DC” on the device.

Amperage: your device generally will say near its power port the
amperage it requires along with the voltage. Amperage is a little
different from voltage, and you want to make sure your power supply
supplies at least as much amperage (usually measured in milliamps)
as your device requires. The device will draw as much amperage as it
requires, but there's no concern if the power supply gives more than
it requires. The network switch in Figure 1 shows a 1 amp minimum
requirement.

Polarity: your device most likely will have a drawing that shows whether
the tip of the plug is positive and the jacket negative, or vice versa.
Most universal power supplies will have a selector that looks similar.
Make sure polarity is lined up! It's just like putting batteries in
backward if you flip the polarity.

Plug: I wish there were a standard for the various types of plugs
you might face, but sadly, there's not. Most universal adapters come
with a selection of plugs that will fit most devices, but unfortunately,
not all. It is possible, if you feel a bit adventurous, to cut the end
off your old power adapter (assuming you have it) and solder or tape the
correct plug on the wire of the universal adapter. Be warned, however,
that it's easy to mess up polarity when you do that.

There are some other factors to weigh in as well. Some cheap universal
power supplies are not regulated, which means they can vary in voltage
depending on the load they're put under. If your device is particularly
sensitive, you may want to watch for that. In the end, if you're worried
you might mess up and ruin your prized powerless device, you always
can shell out the $147.39 and get a new one. For me though, $18
was more in my budget.

Just Keep Rolling

Linux Mint recently came out with a version of its operating system
based on Debian rather than Ubuntu. For the life of me, I couldn't see
the advantage over the Ubuntu-based version. Then, in an IM chat with
Linux Journal reader “Topher”, I finally understood. Rolling releases.

That may not sound significant, but if you are (or ever have been)
a Debian user, it's possible you use the “testing” release of
the
distribution. It's been so many years since I've been a Debian user,
I forgot about the beauty of the concept. See, when the Debian folks decide
to make a “release” of their distribution, they'll take a snapshot of
the “testing” branch and stabilize it from there. The testing branch
continues to roll along, never getting finished, and yet never getting
long in the tooth.

So although the idea of a rolling distribution isn't new by any means, if
you've been lulled into the Ubuntu release schedule but hate upgrading
every six months, perhaps a flavor of Linux that is always up to date
will appeal to you. If you don't like it, you always can update to
something else!

Thanks LJ Subscribers!

We asked LJ subscribers to write in and tell us a bit
about themselves, so we could print a special thanks to them in our 200th
issue. So many people responded, and we wish we could include them all. We
edited down the responses and chose a few to print here, and we hope you enjoy
this brief glimpse at some of the folks who've helped keep us going all these
years.

I think LJ captured the real Linux spirit—a bit of
“entrepreneur”, a bit of “amateurism”, a lot of joy for innovation,
challenge, freedom and companionship. That's the only reason to
continue reading the magazine.
I am a scientist working on Solar Physics, teaching at undergraduate and
graduate levels, and now that Moore's Law has a shallow slope, I'm developing
parallel systems to take advantage of multicore technologies.

Guillermo Giménez de Castro

Reading LJ is like listening to a group of people discussing a subject that they
really love. I do not feel like I am getting a bunch of information shoved at me
like a sales pitch. It's more like casual conversation and I am just being a
good listener.

I am an EE by degree but have been writing software for 20+ years using FORTRAN,
Ada, C, C++, ASP, PHP, MySql, etc. I started at a large company then went into
the startup/consulting world for about seven years and am back at a larger
organization. I have been using Linux since 1995. Here is the story of my entry
into “the penguin zone”: I left a big company to work at a startup and moved
from using SGI Irix to Sun systems. I was still using Win98 at home but
wanted to learn more about *nix internals, admin, etc. A co-worker said “get a
stack of diskettes and come with me.” 30+ floppies later, I had Slackware and X
ready to load on my system at home.

Jonathan Coker

Although I had already
been using Linux for a while before LJ started, I didn't hear about the
new magazine until the first issue was sold out. My first “proper”
issue was #2, but the LJ staff was kind enough to
photocopy issue #1 for me so I would not miss any issues.

I started playing with Linux using a set of Yggdrasil disks with a 0.99
kernel in 1993. By the way, I just looked at my #1
issue and was amused to see articles on the kernel 1.0 code freeze
(written by Linus) and on Linux vs. Windows NT and OS/2 on the front page.

Over the years (16+), Linux Journal has helped me stay abreast of
developments in the Linux community, and at times has helped to keep up
my enthusiasm for the platform when work or school pressures forced my
attention in other directions.

I have been programming computers for 40 years (just about every
kind imaginable). I have a PhD in Computer Engineering from UC
Santa Cruz, where I am currently an Adjunct Professor in the CE
department, and I am a researcher and manager at IBM's Almaden
Research Center in San Jose, California. I am also pleased to say that I
started the first Linux-based research project at IBM in 1996, several
years before IBM officially embraced the Linux platform. Some years ago,
I converted all of my systems (work and home, servers and laptops) to
Linux (and am Microsoft-free!).

David Pease

I've been a subscriber since issue #1 and the Phil Hughes days. I missed a
few issues during a transition in 2001 or so, but I still have copies
of almost every issue of LJ ever published!

I was an early leader in the adoption and implementation of
Linux and free and open-source software in Philadelphia.
Through
my leadership position in the Philadelphia Area Computer Society (PACS),
I began introducing Linux to organizations in the Greater Philadelphia
region. At PACS, I organized monthly presentations on Linux and FOSS and
wrote 29 columns in the organization's print periodical, The
Databus. I
then founded and helped build Philadelphia's premiere Linux user group,
the Philadelphia-area Linux User Group (PLUG), where I continue to
facilitate its first Wednesday meetings. After helping establish a
community and culture for Linux and FOSS in Philadelphia, I started
building my first company, LinuxForce (www.LinuxForce.net), to
be the “go-to” firm for organizations wanting to realize the promise
and power of Linux.
I contribute to a blog on managing FOSS
for business results (blog.RemoteResponder.net).

CJ Fearnely

When I first subscribed to LJ, it was because I was a new Linux user and
needed help. LJ still helps. It gives me ideas of things I could/can
use Linux for, shows me how to build or add on to my original Linux,
and it also shows how to use new programs that come out for Linux distros.

I've been in the fix-and-repair computer business for about 20 years.
I started out with Microsoft/DOS. I was a business guru, and then went
for my certifications and began building computers for a company that
made special-order hardware and software. Then, I moved into freelancing
with the fix-and-repair part. After that, I moved into a large school
district where I took care of the networking, computer repair and
software replacement at one of their high schools. These days, I'm
retired, but I still do some work for friends and family.

Marianne Popp

The things I like best about LJ are
kernel korner (now diff -u), hardware hacks/projects and
Web technology. I think a “how to contribute to Linux/FLOSS” and a
“LUG/Community
corner” are missing.

I live in Trento (Italy) and co-founded the local LUG in May 1998. I am active as
a FLOSS promoter, and I contribute in the form of translations from English to Italian.
I'm actually the main Italian GIMP translator (program and user manual).

Marco Ciampa

The breadth of content helps LJ appeal to everyone from myself and my fellow
systems administrators to typical home users, and others in between. In my
experience, it has the most balanced content of the Linux magazines.

As of last month, I am a Jr Systems Administrator in the Bay Area (recently moved
from Baton Rouge, Louisiana), and enjoy various projects, from mild
programming/“hacking”, to hardware modifications. In my spare time, I enjoy
reading, canoeing and camping.

Tray Torrence

I have been an LJ subscriber on and off since the early 1990s, depending on my work
and leisure interests at the time. LJ is the
only Linux mag that seems to
address anyone other than a complete newbie. I especially like the hardware
Linux articles that come out every so often.

I am a hard-core DIY'er, mechanical engineer with a slant toward
software/automation. A recent accomplishment is converting an RX7 to an
all-electric vehicle (www.mysmartev.com)—no Linux
in there yet, but there will
be if I get around to making my carputer.

Nathan Stowe

LJ's interesting, fun and treats me with respect, as in: I'm part of it, not
just a consumer. I'm smart, but there's a ton I don't know.
I had a part-time job writing educational physics software in high school (1970s)
on an Apple ][. I joined the Air Force, where I became a system programmer on
Sperry Univac systems; the military wasn't afraid to give amazing
responsibilities to young punks. I went full-time Linux at home in 1994 with Yggdrasil,
started subscribing with issue #3 and got the back issues for 1 and 2. Became a
full-time Unix/Linux admin in the mid-1990s.

I love airplanes, aviation and airplane people. I'm a full-time volunteer on
AirVenture Oshkosh flightline. I own and fly an award-winning restored 1946
Luscombe Silvaire. There's no technology in the cockpit whatsoever—it's got one more
instrument than the minimum required by law, and I've never used that one.

Garrett Nievin

I subscribed because I needed to read something about GNU/Linux. There were no
magazines in Italy at the time, so I decided to subscribe to yours. I
used
it to learn some English too. I must confess that I don't read every issue
from
cover to cover but most of them. What I find most interesting are your
articles about security and programming.

I'm a software developer currently working on multiplatform projects on
GNU/Linux. I'm struggling to find enough time to contribute to Debian
and to some other free software. I'm a member of a local association
that aims to spread knowledge about free software, free data formats and
digital rights. With my association, I'm involved in a project to spread the
use of GNU/Linux at primary schools. Early in the morning, I like to run
just to relax my mind and keep well-trained, as the Latins said: Mens sana in
corpore sano.

Stefano Canepa

I like a monthly magazine, because despite reading a lot on the Internet,
LJ
always surprises me with things I have missed. It's great to read away from the
keyboard and think about which things to try before you're too close to the
keyboard and jump on it.
I've been a subscriber since the stapled issue #1 and still have them all, and
it's great fun to flip back some pages from time to time.

I do research and programming in astronomy, and we have pretty much 100% migrated
to Linux during the past 10 years. I've built a number of boxes and RAID arrays, even
tinkered with real-time Linux for an instrument, but for programming work, I have
been a laptop user for the longest time.

Peter Teuben

I don't really know how long I've been a subscriber, but it'll
take more than your disastrous format change a couple of years ago to get me to
unsubscribe. Timely, relevant, interesting, challenging, cutting-edge, it's
helped me sell GNU/Linux (I wish you'd use that term, honoring the other, equally
important piece of the OS) to my boss and slash our licensing costs.

I've been a programmer since 1984, network administrator and junior college
instructor (I wrote
the original GNU/Linux curriculum years ago). I started with the MCC distro WWWAAAAAYYYY
back when.

Sean Kirkpatrick

I am a longtime Linux supporter. I don't always have time to hack around with
Linux, as I am a Windows application developer at my job. So
LJ helps me stay in
touch with the the Linux/Open Source movement when I get too involved with the
Windows world of thinking.

I have been using Linux/open-source software since 1997. It was first
introduced to me in college, and I was hooked instantly and still use it today. I am
an applications developer in Visual Studios in ASP.NET and C#. I like to hack in
my spare time in Python and PHP. I do Web site designs focusing on usability and
experience. When I am not in front of a monitor, I am a volunteer firefighter.
I love this as much as I do my Linux.

Ryan Chiles

I get good introductions to various topics from LJ that I may not know much about and
sometimes pick up useful techniques. I tend to focus a lot on the kernel and
drivers, and it is good for me to be aware of more applications and their
uses.

I have been programming since 1970. My first paid programming job was in the
summer of 1971 at the University of Illinois on the PLATO Project when I was in
high school. I have pretty much been programming ever since.
I still remember reading
Linus' e-mail about Linux in the Minix newsgroup while I was working for Apple and
thinking, “Those guys are going to have a lot of fun. I wish I had time
to help.”
Between work and family, I really didn't have free time to get involved. I also
thought that Linux would never really be important. Boy was I wrong about that!
My first exposure to Linux came in 1996 when I worked for an employer that used
Linux to host the company's main server that also served as the company's main
Internet connection. Initially, it was only dial-up access, but by 1997, it was
upgraded to ISDN. I don't remember the kernel version it was running, but that server
seemed more stable than the ISP it was connecting to.
Still programming after all these years, and mainly using Linux and Mac OS X.

Mark Rustad

I have been involved with Linux since November 1991. The idea of a magazine dedicated
to it was, at the time, incredible. It was as exciting as when the first edition
of Running Linux was published.

I was born in Germany to American parents and grew up living between the US and
Europe. I worked 28 years in the IS/IT field. I'm divorced and have one
son. I love programming and am fair to ok at it. Physically disabled since '93,
and
going to university on-line to get a BS degree in programming.

Joe Klemmer

I subscribe because I believe in the ability of open source and free software to
transform the computing world. And, thanks to publications like Linux
Journal, it is and will continue to do so.

I started using UNIX with Ultrix back in 1983. My first software contributions
were made to assembler language programs written for CP/M and were published on
RBBS (a popular bulletin-board system). I programmed in everything from Turbo
Pascal, to C, LISP and even Cobol. I have many years of experience as a software
release manager. I have been an adjunct professor teaching UNIX using Linux for
both continuing education and credit side colleges. I currently serve as a Sr
UNIX sysadmin specializing in Linux and Windows integration. I'm also
President of the North Texas Linux Users Group. Putting Linux distributions to
use in real-world situations is one of my passions.

Chris Cox

LJ is simply the first and best Linux magazine available! Every issue still has at
least one interesting feature article that includes things I don't know about
Linux—and that is despite having worked professionally with Linux for 12 years
and provided Linux/FOSS solutions in a very wide range of areas.

I'm 40-something years old and a dedicated father of three as well as a former track and
field athlete who grew up as an international student in Vienna, Austria,
and I'm
now living in Sweden. I've been a Linux/UNIX system administrator (since 1996) in the
Telecommunications Industry who felt extremely satisfied (and justified) when
the company I work for finally made the shift to a Linux-based OS in the mobile
phones it produces. My colleagues and I had been discussing this for years and
seeing it finally happen was vindication at an unprecedented level! Now, of
course, I have my work cut out for me since there is a huge demand for everything
Linux within the company.

Johannes Ramm-Ericson

My favourite aspect of LJ is the “Things that make
you go hmmmm”. Sure, the tech
articles are very useful, as are the product tests and comparisons. But it's
highlighting all those quirky/odd/crazy/utterly bizarre things that people are
out there doing, that Linux is a part of, that makes me look forward to the
magazine dropping into my mailbox every month. The latest issue always has pride
of place in my bathroom, so I can peruse it at leisure.

I guess I'm a life-long techie, having started out by learning BASIC on a
Sinclair ZX80 in 1980 at the age of 8. I've essentially grown up with the
personal computer industry, and have worked with so many different technologies
over the years, I can't even remember them all now. It appears that my brain is
prematurely full.
I started with Linux in 1993 as a way of keeping up the UNIX knowledge and skills
I had acquired while working in Germany.
My first distro was Yggdrasil Linux, and I bought myself a video
card off their compatibility list and a 2.2X CD-ROM drive so I wouldn't have to
load up an insane amount of floppies. I got it all working, but it didn't really
do a lot. But it was a start, and it did keep me interested, and while I was
never able to make Linuxing a major part of my career, it has certainly been very
useful from time to time in a minor capacity.

Stuart Powell

I like the variety of articles and the letters that the readers send in with
their tips, etc. This is the only magazine that I read cover to cover every
month.

I am a software developer that has been using Linux since 1995. I am primarily a
Perl developer now, but cut my teeth on C. I have written a screensaver module
for XLockMore and XScreensaver and have several projects in the works, all of
which are open source.

Desmond Daignault

I have been a subscriber since the very beginning in March 1994. I have all the
issues saved, and I sometimes bring issue #1 of LJ to class when I hold Linux
courses. People are always surprised to find an advertisement from a Swedish
company in it, and even more surprised to discover that part of the text in
this
ad is in Swedish (!).
My field is System Design and Software Architecture of mobile devices, and I
have
a long-term engagement with ST-Ericsson. I help asserting that the ST-Ericsson
dual-core ARM-based mobile platforms become attractive for use with open-source
environments such as MeeGo.
I have been a Linux Evangelist just about forever, and my first distro was
Trans-Ameritech 4 from 1994.
The best Sunday afternoons for me are the ones when I have a fresh
LJ to read.
Other Linux magazines can be interesting too, but none feel as genuine as
LJ.

Tony Mansson

They Said It

Any program is only as good as it is useful.

—Linus Torvalds

I like to think that I've been a good manager. That fact has been
very instrumental in making Linux a successful product.

—Linus Torvalds

Making Linux GPL'd was definitely the best thing I ever did.

—Linus Torvalds

Before the commercial ventures, Linux tended to be rather hard to set up,
because most of the developers were motivated mainly by their own interests.

—Linus Torvalds

Microsoft isn't evil, they just make really crappy operating systems.

—Linus Torvalds

When you say “I wrote a program that crashed Windows”, people just
stare at you blankly and say “Hey, I got those with the system, for
free.”

—Linus Torvalds

The cyberspace earnings I get from Linux come in the format of having
a Network of people that know me and trust me, and that I can
depend on in return.

—Linus Torvalds

People enjoy the interaction on the Internet, and the feeling of
belonging to a group that does something interesting: that's how
some software projects are born.

—Linus Torvalds

Non-technical questions sometimes don't have an answer at all.

—Linus Torvalds

Software is like sex: it's better when it's free.

—Linus Torvalds

The memory management on the PowerPC can be used to frighten small children.

—Linus Torvalds

200 Things to Do with Linux

For our 200th issue of Linux Journal, we did a virtual
“man on the street”
interview with our Web site readers, asking what things they
do with Linux. Many of the responses were rather lengthy, but we've trimmed
them down and added some of our own.

Actually work instead of waiting for reboots.—Tim Chase

Add extra monitors.—LJ Staff

Analyse water level and precipitation data.—Keith Nunn

Analysis of remote sensing imagery.—Micha Silver

Antagonize Windows users.—John Abbott

Anything I need, since 1994.—Manuel Trujillo

As the basis for FOSS conferences.—moose

Audio chat.—LJ Staff

Automate tasks with bash.—Dusty Roberson

Avoid using Microsoft Windows!—Simon Quantrill, Chris Szilagyi

Be a freelance writer.—Carl Fink

Be part of a revolution.—max

Be part of the Linux community.—Clifford Garwood II, Rodney
Shinkfield

Control XBMC from another room and freak out your kids by changing the
video that's playing.—LJ Staff

Convert units of measure.—LJ Staff

Convert video.—LJ Staff

Create and edit videos.—Elmer Perry

Create your own PBX.—LJ Staff

Customize with compiz.—okiwan

Debug ncurses code.—Alexander Cox

Delete all the GPS location data from images.—Stuart

Dent.—LJ Staff

Develop Arduino gadgets.—Eric Schug

Do development work for the pike language.—Lance Dillon

Do multilingual work.—Jonathan Abolins

Download back episodes.—john bosco

Dual-boot.—LJ Staff

Edit photographs.—Tarek Ahmed, Jim Peterson, DANiel Asselin

Edit the programing environment.—bhanupriya jena

Enjoy 1,000 days of uptime!—Ted Behling

Everyday tasks.—Patrick Dunn

Everything.—Philippe Godin, Lucas Westermann

Explore all the open-source apps.—Magesh

Explore source code.—Yash Datta

Explore various tools.—Bhupesh Chawda

Explore what Linux is made of.—Sriharsha

Feel the freedom.—hasintha, Risman

Filter spam.—LJ Staf

Fix Windows machines.—Scott Boucher, Detron Phillips, Stan Hearn

Geocache.—Buster Stone

Gloat when colleagues reboot Windows.—Kanwar Plaha

Grep the heck out of everything!—mixtape

Hack a Gibson.—LJ Staff

Hack an e-book reader.—LJ Staff

Hack everything.—Bart Friederichs

Hack your phone.—LJ Staff

Hang around various IRC networks.—dewey

Hijack Facebook on my wife.—Jon Elofson

Home music studio.—David Trombly

Home server.—Eric Gamache

Host your own blog.—BaloneyGeek

Impress girls with the command line.—Tim Kissane

Install apps from terminal.—M. Taylor

Install a RADIUS server.—LJ Staff

Install Boxee.—LJ Staff

Install on exotic hardware.—Jed Dale

Instant message/chat.—Josh

Launch a (USB) missle.—LJ Staff

Learn.—Andrew Frame

Learn C, C++, PHP, Python, Tcl/Tk, etc.—LJ Staff

Learn new technologies.—cga

Learn operating systems.—Alex Link

Link VHF radios using Internet.—Gustavo Conrad

Listen to music.—LJ Staff

Listen to podcasts.—LJ Staff

Load balance with round-robin DNS.—LJ Staff

Log on to Windows and remove IE.—Kartik Mistry

Make affordable technology solutions.—nettie feldman

Make a living.—Doug Roberts, cbleslie, Woody

Make free phone calls.—LJ Staff

Make my terminal window transparent.—Josiah Ritchie

Make non-Linux users jealous.—T.J. Domingue

Make videos of my desktop.—Praveen Kumar Singh

Make your computer look like Windows or OS X.—LJ Staff

Manipulate data with Python and shell.—Darrell Collins

Multitask.—Samuel Huang

Not waste my time rebuilding systems.—Jim Wallace

Parse weather data.—Xiao Haozi

Partition and format my hard drive.—Samsuddin Wira

Pay my bills securely on-line.—J. E. Aneiros

Photo management system with digiKam.—Fri13

Play a game.—LJ Staff

Play Commander Keen.—Terry Letsche

Play console emulators.—LJ Staff

Play SCummVM games.—LJ Staff

Play with Compiz Fusion.—Oleg Shmelyov

Play with OSes in VirtualBox.—Kousik Maiti

Pretend to be a Windows server.—LJ Staff

Provide services for Windows.—Gene Liverman

Proxy through SSH tunnel.—Scott Schafer

PXE boot GeeXboX.—Jeremy Kepler

Read a book.—LJ Staff

Read comics.—Neal Murphy

Read the boot sequence.—José Filipe

Read the digital edition of Linux Journal.—John Abbott

Record and watch TV.—Cory Lievers

Record, edit and publish a podcast about Linux.—Larry Bushey

Record HDTV with MythTV.—David Miller

Recover my girlfriend's data.—Arun SAG

Rejuvenate a sluggish computer.—Andrea Zygmunt

Render fractals.—LJ Staff

Render video content.—Erin Bournival

Research and analyze baseball.—Sid Finch

Revolutionize healthcare.—Fred Trotter

Rip audio from streaming radio.—Galen Gish

Rip YouTube videos.—LJ Staff

Root around a Windows computer.—Ben Pratt

Run a beer fermentation cooler.—LJ Staff

Run a feature-rich Web site with Drupal.—Jim Caruso

Run an embedded server (where Windows failed).—Ryan Kirkpatrick

Run a proxy for my friend in China.—DavidWC

Run Lotus Notes version 8.—David Vasta

Run mutt and irssi in a screen session.—Matthew Cengia

Run my home family network.—Zak_Neutron

Run my whole house.—Robert White

Run Radiance daylight simulations in Amazon's EC.—Severn Clay-Youman

Run the sound system at the chapel I attend.—Irving Risch

Run Windows in VirtualBox.—Happy Hacker

Run XBMC on your TV.—LJ Staff

Run Xen hypervisor.—Joe Cortes

Save infected Windows machines.—Paul Bucalo

Save people's info with Linux.—Lee Schmid

Search for aliens.—LJ Staff

Search for Mersenne Primes.—Ted Behling

Serve a Web page.—LJ Staff

Set up a distro mirror.—LJ Staff

Set up a VPN.—LJ Staff

Set up my system for perfect productivity.—Justin Christian

Set up MythTV.—Patrick Bulteel

Share Linux with other people.—Rob Haag

Shell scripts.—Hieu, Nghiem Ba

Show it to my friends.—Dale Rooney

Show off my desktop.—Sum Yung Gai

Show people cool software.—Rob Hooft

Sniff packets.—LJ Staff

Solve for Pi (okay, probably not).—LJ Staff

Sort your DVD library.—LJ Staff

ssh to remote systems.—Bharathi Subramanian

Stream Netflix.—LJ Staff

Surf the Web, text, play silly games on my Motorola Droid!—Todd Blake

Talk to Amateur radio operators.—Jeff Hanscom

Teach Linux.—shrinivasan

Teach operating system concepts.—satyaakam goswami, Esteban Arias

Time your tea steeping.—LJ Staff

tracepath/traceroute.—Gjorgji Taskovski

Transmit audio casts.—carlos gomes

Try as many different distros as possible.—Carlo van Rijswijk

Try interesting apps.—Abhishek Tiwary

Tweet.—LJ Staff

Type top and press Enter.—Roshan Baladhanvi

Use a 9+ year-old computer.—Gumnos

Use GnuCash.—Peter Anderton

Use Linux as a thin-client server.—Tim Strickland

Use Linux to fix computers.—Bob Ivie

Use multiple virtual desktops.—LJ Staff

Video chat.—LJ Staff

Watch HD movies.—Vangelis Nonas

Watch Linux Journal
videos!—LJ Staff

Watch TV with MythBuntu.—Todd Fowler

Watch video RSS with Miro.—David Crews

Web hosting.—Jared Moore

We like to have it with some funk!—Hedda, Anna and Maxim

Wiggle windows with Compiz.—LJ Staff

Work mobile or static.—Divakar Ramachandran

Work on my Web site.—charles snider

Write poetry in shell scripts.—Hani Saigh

Write programs.—ttylinux

Write Python code.—svaksha

Write Web pages that Internet Explorer can't
display.—LJ Staff

Write with OpenOffice.org.—Jeremy LaCroix

LinuxJournal.com

Because everything is more awesome on-line, you'll find even more
great information about our 2010 Readers' Choice Awards at
www.linuxjournal.com/rc10. There you'll see the runners-up and get a
more in-depth look at the survey results. Save yourself some typing
too, as we'll have links to all the winners and runners-up. It
was a tough race, and there were some great projects and products
represented, so check out all the top vote-getters at
LinuxJournal.com.

You'll also notice that this issue is our 200th! That's a lot of
Linux over the years, and I encourage you to get nostalgic and check
out some goodies from our archives. Our May 1995 “World Wide
Web”
focused issue is a favorite of mine
(www.linuxjournal.com/issue/13), as is a recent Linux
troubleshooting series by Kyle Rankin
(www.linuxjournal.com/article/10688). With so much information
compiled in our 200 issues, you'll see where we've been, where we
are, and where we're going in the Open Source community. Here's to
issue 300!