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.
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:
eth0 Link encap:Ethernet HWaddr 00:1e:8c:71:d4:1f UP BROADCAST MULTICAST MTU:1500 Metric:1 RX packets:0 errors:0 dropped:0 overruns:0 frame:0 TX packets:0 errors:0 dropped:0 overruns:0 carrier:1 collisions:0 txqueuelen:1000 RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) Memory:fbfc0000-fc000000 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 Metric:1 RX packets:264 errors:0 dropped:0 overruns:0 frame:0 TX packets:264 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:19232 (19.2 KB) TX bytes:19232 (19.2 KB) wlan0 Link encap:Ethernet HWaddr 00:15:af:6b:59:ec inet addr:192.168.2.101 Bcast:192.168.2.255 ↪Mask:255.255.255.0 inet6 addr: fe80::215:afff:fe6b:59ec/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:3228 errors:0 dropped:0 overruns:0 frame:0 TX packets:1639 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:2994761 (2.9 MB) TX bytes:205416 (205.4 KB)
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:
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:
auto eth1 iface eth1 inet static address 192.168.2.34 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255
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:
auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa-supplicant/wpa-supplicant.conf
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.
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 supports an alphabet soup of file transfer protocols: FTP, FTP/TLS, SFTP, WebDAV, Amazon S3, Amazon CloudFront, Google Docs and Rackspace Cloud Files. It integrates with external editors, file viewers, Web browsers, the system Keychain, Spotlight, Bonjour and Growl. It supports synchronizing local and remote directories with a preview of the affected files. Cyberduck can resume interrupted downloads and uploads.
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.
1. Number of public DNS A-records for the private IP address 192.168.0.200: 63
2. Number of public DNS A-records for the private IP address 192.168.1.200: 140
3. Number of public DNS A-records for the private IP address 192.168.254.200: 4
4. Number of public DNS A-records for the private IP address 192.168.255.200: 0
5. Number of domains with names matching [a–z]200.com with valid DNS A-records: 23
6. Number of domains with names matching [a–z]200.net with valid DNS A-records: 20
7. Number of domains with names matching [a–z]200.org with valid DNS A-records: 13
8. Number of domains with names matching 200.* with valid DNS A-records out of 20 possible generic TLDs (Top Level Domains): 6
9. Number of domains with names matching 200.co.* with valid DNS A-records out of 248 possible country code TLDs: 30
10. Number of domains with names matching [a–z]200.com that lead to “real” Web pages: 4
11. Number of domains with names matching [a–z]200.com that lead to “real” Web pages: 6
12. Number of domains with names matching [a–z]200.org that lead to “real” Web pages: 8
13. Number of domains with names matching 200.* that lead to “real” Web pages: 3
14. Number of domains with names matching 200.co.* that lead to “real” Web pages: 5
15. Approximate number of times a byte with the value 200 occurs in the file /dev/mem: 1,900
16. Approximate number of times a byte with the value 200 appears after reading 1 million bytes from the file /dev/urandom: 3,890
17. Approximate number of times a byte with the value 200 appears after reading 1 billion bytes from the file /dev/urandom: 38,900
18. Thousands of Google results for the search for “200th Issue”: 381
19. Thousands of Google results for the search for “200th Anniversary”: 590
20. Number of times the LJ staff has enjoyed creating an issue of Linux Journal: 200
18, 19: Google
20: 2010 Confidential LJ Staff Psychological Evaluation Report
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.
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!
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.
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.
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!).
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).
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Any program is only as good as it is useful.
I like to think that I've been a good manager. That fact has been very instrumental in making Linux a successful product.
Making Linux GPL'd was definitely the best thing I ever did.
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.
Microsoft isn't evil, they just make really crappy operating systems.
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.”
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.
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.
Non-technical questions sometimes don't have an answer at all.
Software is like sex: it's better when it's free.
The memory management on the PowerPC can be used to frighten small children.
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
Be productive.—Petros Koutoupis
Block Web sites.—LJ Staff
Blow people's minds.—djystn brimr
Bond Ethernet channels.—LJ Staff
Boot a live CD.—Tim Kissane
Browse the Internet virus-free.—ali
Bubble sort.—LJ Staff
Build an arcade center.—Kris Occhipinti
Build a robot.—LJ Staff
Build Asterisk telephone switches.—Mike Synnott
Build self-assembling/healing wireless mesh networks.—Ivan Ivanov
Build smart appliances.—Tom Gilley
Build solutions.—Wilhem Gonzalez
Burn CDs and DVDs.—LJ Staff
Carry it in my pocket.—Sean Pratz
cat stuff to /dev/audio.—Michael Hadam
Check e-mail from the command line.—LJ Staff
Code, code and code.—Jeff Boschee
Combine the power of xargs and MPlayer.—Javier Rojas Balderrama
Communicate with other consciences.—Angela Kahealani
Compile a kernel.—LJ Staff
Compile Windows programs.—LJ Staff
Compose music.—LJ Staff
Compress data.—LJ Staff
Conduct penetration testing.—Anthony Moore
Control embedded systems.—Mike Lerley
Control my data.—Dieter Plaetinck
Control servers from my N900.—Gunder johansen
Control space ground network for satellite communications.—Vidar Tyldum
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
Develop Arduino gadgets.—Eric Schug
Do development work for the pike language.—Lance Dillon
Do multilingual work.—Jonathan Abolins
Download back episodes.—john bosco
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
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
Launch a (USB) missle.—LJ Staff
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
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 operating system concepts.—satyaakam goswami, Esteban Arias
Time your tea steeping.—LJ Staff
Transmit audio casts.—carlos gomes
Try as many different distros as possible.—Carlo van Rijswijk
Try interesting apps.—Abhishek Tiwary
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 Python code.—svaksha
Write Web pages that Internet Explorer can't display.—LJ Staff
Write with OpenOffice.org.—Jeremy LaCroix
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!