Letters
Letters
Acer Aspire One and Linux
I noticed that someone said the background of the Acer Aspire One cannot be changed, so far as he or she knows—presumably when running a Linux-based OS. Well, the background can be changed easily. Just right-click anywhere on the desktop and select the tabbed option for background. Also, you can add more pictures from your own pictures folder if you want.
But, that won't work if you are using the Netbook version of, for example, Ubuntu. In that case, you need to go to your own pictures folder and click on a picture. Then, there is an option to access background preferences.
I purchased an Acer Aspire One, AOD260, which had Windows XP as its OS.
I “upgraded” it myself to the full version of Windows 7 Premium as the
primary OS and Linux Ubuntu (full) as the secondary. Both worked
fine except for an irritating failure on Internet time updating.
Since then, I have changed permanently to Linux Ubuntu (full version) and
it is running beautifully.
—
Derek
Netflix and Linux
I have heard you mention the inability to stream Netflix content and share
your angst with that fact. However, recently, we have been given that
ability! Some people will shun me for admitting this, but I use Google Chrome
as my browser (yes, despite its inherent memory leaks), but the latest
stable update I received added Chrome WebApp functionality, and guess
what? There is a Netflix app! I don't have a login anymore, because I
canceled my subscription because I can't stand booting Windows every time I
want to watch a movie. Let me know if it works. I am very curious. It
started for me, but I wasn't able to test it.
—
Philip
Sadly, no. The problem with Netflix under Linux is that Netflix uses Silverlight for its streaming/playback/rendering solution. Although we do have Moonlight, a Linux native version of Silverlight, it doesn't support DRM, so the video will not start streaming.—Ed.
Boot Challenge
First, thank you for a wonderful magazine. I'm on my third annual subscription, and I really look forward to reading it every month.
I have a challenge that I would like to put forward, after reading the article on UNetbootin that I hope you may consider taking. [See Joey Bernard's “Linux on a Fingernail” in the Upfront section of the March 2011 issue.]
Recently, I bought a Zotac Zbox that I wish to run Linux on. I have one SD card and a USB stick. Both are recognized by the system. In the BIOS, I can set either as the first boot device, which will become /dev/hda for Linux. I want to make the SD card my “hard drive”.
I used UNetbootin to create the USB stick bootable with an installer ISO. The aim is to install Linux on the SD card and later boot from it. Booting goes okay, and I can install Linux (CentOS in my case) on the SD card. Later, I wanted to boot from the SD card, but as you might have guessed, CentOS installed on /dev/hdb, and hence, will not boot.
I have thought of different options, like attaching an external SATA
DVD-ROM drive and booting from that, but that would be too simple, plus, I
don't have such a drive. The other option (not tested) is to install Syslinux on
the SD card, boot from it, and use GRUB to boot the USB stick with an
installer ISO image that has been made with UNetbootin, and then install to
/dev/hda. A third option (not tested either) would be PXE boot, but I
don't have a PXE server at this time. The fourth option is to go back to my
installed CentOS on the SD card and modify the mount options
and the bootloader (not tested either).
So, I hope you will take my challenge!
—
Simon Stavdal
I would recommend the fourth option, and possibly mounting with the UUID instead of the device name. (Ubuntu does this by default.) You'll likely still have to fiddle with GRUB as well, but it should work. I'll admit though, sorting out these sorts of problems can be very frustrating.—Ed.
Spaces in Filenames, Revisited
Regarding Dave Taylor's article “Dealing with Spaces in Filenames” in the February 2011 issue, I never put spaces in my filenames when I create file/folders. But I do get files from others that have spaces in them. I used to leave those files with the spaces in them, even though they are not good. Your article got me to change that, so I wrote a simple script that seems to work real well. Here it is:
for s is *\ * do rename 's/ /_/g' "$s" sleep 1 printf "Removing spaces from $s\n" done
Thanks for your great article.
—
caseesac
Author Update on “Zotonic: the Erlang Content Management System”, LJ, April 2011
As it stands, the default Zotonic branch is under heavy development,
and installation instructions have changed slightly. You can
clone the 0.6 version instead using hg clone -r release-0.6.x
https://zotonic.googlecode.com/hg/ zotonic. If you want to live
on the edge, see the new instructions for the default branch:
code.google.com/p/zotonic/source/browse/doc/INSTALL.
You also can check out the very active Zotonic Google group if you need
further help.
—
Michael Connors
Fedora Packagers Refuse to Fix Security Hazard in glibc Packages
A security hazard was introduced in glibc as of version glibc-2.12.90-4 and has been left uncorrected for nearly four months. Namely, glibc allows other programs to overwrite adjacent memory blocks.
The bug was narrowed down to an inappropriate use of memcpy instead of memmove in glibc on 08.11.2010—see comments 37 and 38 of https://bugzilla.redhat.com/show_bug.cgi?id=638477.
Unfortunately, this bug thread has disintegrated into a debate over the pros and cons of support for proprietary software, completely ignoring the main issue—a security hazard in glibc that needs to be fixed immediately. Despite critical comments from Linus Torvalds (see comments 199 and 222), nothing has changed.
The only other possible course of action is to advise Fedora 14 users to downgrade or
roll back glibc until such time as this bug is fixed.
—
Simon Lewis
Thank you for the heads up. Instances like this are the reason I try not to be smug as a Linux user. Yes, our systems are designed well and are usually rock solid, but a coding error is a coding error. We are not impervious to bugs.—Ed.
Paul Barry's “Python for Android”, LJ, March 2011
I've been a loyal reader for some time, mostly because of articles like “Python for Android” by Paul Barry. Not only did things work exactly as described, but the descriptions themselves were perfect for a technical but not über-geek like myself.
Sadly, I did run into trouble when trying to follow the article using a
physical Android phone. My phone has “security features” that prevent
loading of applications that do not pass through the mobile carrier's
“App
Market” toll booth. I suspect that I'm not alone with this restriction. My
troubles are complicated further by the fact that most postings about
“side
loading”—getting apps onto phones using various unofficial
techniques—require and presume root access. Neither of these will frighten a
thoroughbred developer (aka, “geek”), but fear of bricking one's smartphone
remains daunting to most bank accounts.
—
Dan St. Andre
Paul Barry replies: Thanks for the kind words, Dan. Unfortunately, some vendors are intent on sealing tight what should be an open platform. This might make business sense to them, but it certainly makes life difficult for some of their users (especially us hacker types who want to control everything their smartphones can do). I've very little experience rooting Android devices, although there's plenty of help on the Net. You may wish to search answers.oreilly.com for articles by Brian Sawyer. Brian was the editor on my two Head First books and (as well as an editor) is a published Android author. He has tried most things on his smartphone and offers some good advice on getting root access. Search for “How to root your Android phone with one click”, and take things from there. But, be careful, as the possibility of bricking is an issue, so tread carefully.
Cool Application Package
I don't recall which monthly Linux magazine recently asked readers to submit their favorite applications that they can't live without.
I've been a longtime user of the XFCE, and one thing it has that I haven't found anywhere else is the ability to run the mouse off the edge of the screen onto the next screen and wrap around from the last screen to the first again.
Brightside does this for GNOME, and it works on Ubuntu Netbook Remix Unity
as well. It also does vertical screen switching for screen layouts that
are not side by side.
—
honkytonkwillie
I often set up my desk like this at work. I have three monitors and three operating systems. Using Synergy, I can move my mouse between them all and have them wrap from the last to the first as well. Doing the same on virtual desktops in a single screen might be interesting. Thanks for the tip.—Ed.
Thank You, Kyle
I read most issues of Linux Journal cover to cover; it's the only mag that grabs so much of my attention. For all the excellent contributors, one stands out perhaps even just a little more: Kyle Rankin.
Coming from a Mac background, learning Bash was a weakness for me initially, but Kyle's column has taught me enough to feel confident doing things I'd never considered before. I feel like I truly own my machine now, and a big part of that is Kyle's experience coupled with his excellent writing style.
In fact, I recently decided to install an experimental server in my office, so of course, my first choice was Kyle's Official Ubuntu Server book—every bit as good as his column here.
Many thanks to Kyle and the others there at Linux Journal who've helped turn me from a total noob into someone who's feeling confident and competent. You folks are the best!
PS: Thanks for your SCaLE 9x sponsorship. I loved the conference, and
I really appreciate the role Linux Journal played in supporting it.
—
Richard Gaskin
Yeah, we like Kyle around these parts as well. As far as his book goes, I've been a Linux admin for more than 15 years, and I still refer to his Official Ubuntu Server Book rather often. Which reminds me, I still need to get my second edition signed.—Ed.
More on Paul Barry's “Python for Android”
I really enjoyed Paul Barry's “Python for Android” article. Working through it though, I thought about how Paul had the readers develop the program twice—once to run on a common computer for the proof of concept, then again to add the Android UI and remove the debugging print statement.
Once a programmer is more familiar with Python than with Android, I think it can help to have some test tools to deal with the whole program while it's being developed outside the simulator. I put this module, named android.py, in my development directory:
class Android (object):
'''Emulate android API without android.'''
def __getattr__ (self, name):
'''Presume that unknown attribute requests are for methods.'''
def log_method (*args, **kwargs):
print 'Android.%s ::' % (name,), args, kwargs
return log_method
def dialogGetResponse (self, *args, **kwargs):
class DGR (object):
def __init__ (self, result='???'):
self.result = result
print 'Android.dialogGetResponse ::', args, kwargs
return DGR ('OK')
This traces most API calls along with the given parameters. dialogGetResponse was cobbled together specially to keep LJapp.py from failing. Running LJapp.py with android.py in an ordinary non-Android shell session gives:
mwilson@tecumseth:~/sandbox/android-app$ python LJapp.py
Android.makeToast :: ('Hello from LJapp.',) {}
Android.dialogCreateSpinner :: ('LJapp',
↪'Checking the price of coffee...')
{}
Android.dialogShow :: () {}
Android.dialogDismiss :: () {}
Android.vibrate :: () {}
Android.dialogCreateAlert :: ('The current
↪price of coffee beans:',) {}
Android.dialogSetItems :: ([5.1900000000000004],) {}
Android.dialogSetPositiveButtonText :: ('OK',) {}
Android.dialogShow :: () {}
Android.dialogGetResponse :: () {}
Android.makeToast :: ('bye',) {}
Of course in Python, test frameworks and test-driven development are huge
things; this is mere baby talk compared to what developers will be doing
very soon. I think it's interesting anyway.
—
Mel Wilson
Paul Barry replies: Thanks for sending this. It's a pretty cool piece of code. Could I suggest that you sign up to the SL4A mailing list and share this script with the developers frequenting the list?
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Sponsored by AMD
Built-in forensics, incident response, and security with Red Hat Enterprise Linux 6
Every security policy provides guidance and requirements for ensuring adequate protection of information and data, as well as high-level technical and administrative security requirements for a system in a given environment. Traditionally, providing security for a system focuses on the confidentiality of the information on it. However, protecting the data integrity and system and data availability is just as important. For example, when processing United States intelligence information, there are three attributes that require protection: confidentiality, integrity, and availability.
Learn more about catching the bad guy in this free white paper.
Sponsored by DLT Solutions
| Designing Electronics with Linux | May 22, 2013 |
| Dynamic DNS—an Object Lesson in Problem Solving | May 21, 2013 |
| Using Salt Stack and Vagrant for Drupal Development | May 20, 2013 |
| Making Linux and Android Get Along (It's Not as Hard as It Sounds) | May 16, 2013 |
| Drupal Is a Framework: Why Everyone Needs to Understand This | May 15, 2013 |
| Home, My Backup Data Center | May 13, 2013 |
- New Products
- Linux Systems Administrator
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Web & UI Developer (JavaScript & j Query)
- Designing Electronics with Linux
- Dynamic DNS—an Object Lesson in Problem Solving
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi

It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Featured Jobs
| Linux Systems Administrator | Houston and Austin, Texas | Host Gator |
| Senior Perl Developer | Austin, Texas | Host Gator |
| Technical Support Rep | Houston and Austin, Texas | Host Gator |
| UX Designer | Austin, Texas | Host Gator |
| Web & UI Developer (JavaScript & j Query) | Austin, Texas | Host Gator |
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?




5 hours 9 min ago
15 hours 50 min ago
21 hours 36 min ago
21 hours 53 min ago
23 hours 46 min ago
1 day 1 hour ago
1 day 8 hours ago
1 day 8 hours ago
1 day 10 hours ago
1 day 16 hours ago