HOW-TOs

Sometimes It's Okay to Point

Mom always said, "It's not nice to point." I'd argue Mom didn't manually enter long, cumbersome URLs, however. We're all familiar with services like TinyURL, but because we're Linux folks, we tend to prefer doing such things on our own. As with almost everything in Linux, there's more than one way to skin a cat, and in this article, I explore a bunch.

Lock-Free Multi-Producer Multi-Consumer Queue on Ring Buffer

Nowadays, high-performance server software (for example, the HTTP accelerator) in most cases runs on multicore machines. Modern hardware could provide 32, 64 or more CPU cores. In such highly concurrent environments, lock contention sometimes hurts overall system performance more than data copying, context switches and so on.

Designing Electronics with Linux

In many scientific disciplines, the research you may be doing is completely new. It may be so new that there isn't even any instrumentation available to make your experimental measurements. In those cases, you have no choice but to design and build your own measuring devices.

Dynamic DNS—an Object Lesson in Problem Solving

The other day in the Linux Journal IRC room (#linuxjournal on Freenode), I was whining to the channel about no-ip.com deleting my account without warning. My home IP address hadn't changed in a couple months, and because there was no update, it appeared abandoned.

Home, My Backup Data Center

New Linux users often ask me "what is the best way to learn about Linux?" My advice always comes down to this: install and use Linux (any distribution will do but something stable works better), and

Trying to Tame the Tablet

Like many folks, I received a shiny new Nexus 7 tablet for Christmas. This brought me great joy and excitement as I began to plot my future paperless life. For most of the evening and an hour or so the next day, I was sure the new Android tablet would change my life forever. Sadly, it wasn't that easy.

Working with Stdin and Stdout

Previously, I erroneously titled my column as "SIGALRM Timers and Stdin Analysis". It turned out that by the time I'd finished writing it, I had spent a lot of time talking about SIGALRM and how to set up timers to avoid scripts that hang forever, but I never actually got to the topic of stdin analysis.

Updating the Firmware of Linux-Based Devices

This tutorial provides a general description of updating Linux-based firmware and illustrates it with some specific implementations. First, consider the sections of the memory system (Figure 1) and parts of memory that should be updated while transferring software to a new version.

ConVirt: the New Tool in Your Virtual Toolbox

Virtualization is now a staple of the modern enterprise. As more and more shops switch to the virtual paradigm, managing those new virtual resources is a critical part of any deployment. For admins using Microsoft- or VMware-based hypervisors, powerful management tools are available to keep their virtual houses in order.

SIGALRM Timers and Stdin Analysis

It's not hard to create functions to ensure that your script doesn't run forever. But what if you want portions to be timed while others can take as long as they need? Not so fast, Dave explains in his latest Work the Shell.

Troubleshooting with Telnet

Poor telnet, it used to be the cool kid on the block. It was the program all sysadmins turned to when they needed to connect to a remote server. Telnet just wasn't that good at keeping a secret—all communication went over plain text—so administrators started switching to SSH for encrypted remote shell sessions.

Pwn Your Phone

I've owned two different Android phones since they first were released, and I eventually rooted both of them. My Droid (original) was such a popular phone that rooting it was very simple. I used my rooted Droid until it wore out and rebooted every time I slid open the keyboard. My second Android phone, the Samsung Galaxy S2, is the phone I have right now.

The Über-Skeleton Challenge

I received an interesting message from Angela Kahealani with a challenge: "Here's what I'd like to see in Work the Shell: a full-blown shell script template. It should comply with all standards applicable to CLI programs.

N900 with a Slice of Raspberry Pi

It may not come as a surprise to anyone who regularly reads my column that I tried to be first in line to order the Raspberry Pi. I mean, what's not to like in a $35, 700MHz, 256MB of RAM computer with HDMI out that runs Linux? In the end, I didn't make the first batch of 10,000, but I wasn't too far behind either.