May 2012 Issue of Linux Journal: Programming
Rubies, Pythons and Perls!
It may sound like a new Indiana Jones movie or possibly a cheesy platform-style video game from the 1990s, but the title of this column actually refers to our focus this month—programming! Not that there's anything wrong with daring adventures in remote locations, it's just that all the red tape can be overwhelming. You know that somewhere there was a college intern filing environmental impact study reports, negotiating work visas for multi-country searches and adding venomous predator riders on the insurance policies. Dr Jones just grabbed his hat and found the treasure!
Here in the real world, we prefer to create our own treasures. That's where this issue comes into play. Reuven M. Lerner is actually a bit of a rebel this month, and in an ironic twist, he focuses on Web design frameworks. The worlds of Web design and programming certainly overlap, so we'll give him a pass. Dave Taylor wraps up his Words With Friends series by demonstrating how to calculate word point values. Dave's articles always are fun for me, because scripting is the only sort of programming I ever do (usually out of sysadmin need), and watching him create stuff that I understand is fun.
Kyle and I are system administrators by trade, so it's not a surprise that our columns this month show it. Kyle describes how to use iftop, which is like the monitoring tool top, except for bandwidth usage. If you are struggling to find where all your bandwidth is going, iftop can be invaluable, and in his article, you'll learn how to use it. For my column, it's quite clear where the bandwidth is going—to the thin clients! This month, I finish my three-part series on LTSP and discuss how to scale your thin-client environment. As with most complex problems, there isn't a single solution to LTSP scaling. I talk about a handful of methods and help you choose the best option for your environment.
I'm sure you're thinking, "I thought this was the programming issue!" Rest assured, it is. Alejandro Segovia explores Lua, a multiparadigm programming language. No, he doesn't take us to a Luau, with grass skirts and coconuts, but in his words, he "presents a reusable mechanism through which you can implement an object-oriented model using Lua's built-in constructs." On his heels, Amit Saha follows with a great article on using App Inventor to program for Android. With its drag-and-drop interface, App Inventor nips at the learning curve a bit for Android programming. Whether you want to create a fancy GUI application or a service that runs in the background, Amit's article will be very useful.
Dave Phillips introduces Pure Data (Pd), which is a graphic patching environment for audio production. If that sounds confusing, it's a bit like an old modular patching synthesizer on steroids. If even that sounds confusing, you should read the article. Dave discusses using Pd to program audio. It's pretty cool stuff, and you won't want to miss it.
Amit is back for a second time with an article on parallel programming. It seems everything from pocket watches to Space Shuttles (oh, how we miss Space Shuttles...) have multicore processors, but not all programs take advantage of them. Amit shows how to parallel program in Python and C. Because every modern CPU has more than one core, it makes sense to understand how parallel processing works.
Every programmer needs reliable hardware on which to run their programs. We included Florian Hass' article on highly available iSCSI storage this month, because even the best code will fail if the server fails. Florian shows how to use DRBD and Pacemaker to keep iSCSI available even when systems fail. It's a great read for anyone concerned with reliability and uptime, and aren't we all concerned about that?
We also have the full gamut of Linux Journal goodies this month. I review the ZaReason Valta X79, we have a slew of new product announcements, and we have more tips and tricks than you can shake a stick at. So put on your leather fedora, grab a whip and start on your programming adventure! We'll sit back and worry about all the red tape. Try to avoid venomous spiders though; our "adventure insurance" doesn't cover that.
Available to Subscribers: May 1
Shawn Powers is an Associate Editor for Linux Journal. You might find him chatting on the IRC channel, or Twitter
Today’s modular x86 servers are compute-centric, designed as a least common denominator to support a wide range of IT workloads. Those generic, virtualized IT workloads have much different resource optimization requirements than hyperscale and cloud applications. They have resulted in a “one size fits all” enterprise IT architecture that is not optimized for a specific set of IT workloads, and especially not emerging hyperscale workloads, such as web applications, big data, and object storage. In this report, you will learn how shifting the focus from traditional compute-centric IT architectures to an innovative disaggregated fabric-based architecture can optimize and scale your data center.
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
| 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 |
| Non-Linux FOSS: Seashore | May 10, 2013 |
| Trying to Tame the Tablet | May 08, 2013 |
| Dart: a New Web Programming Experience | May 07, 2013 |
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- RSS Feeds
- A Topic for Discussion - Open Source Feature-Richness?
- Drupal Is a Framework: Why Everyone Needs to Understand This
- Readers' Choice Awards 2011
- Home, My Backup Data Center
- What's the tweeting protocol?
- Linux on Azure—a Strange Place to Find a Penguin
- Running Ubuntu as a Virtual OS in Mac OS X
- Reply to comment | Linux Journal
3 hours 45 min ago - Reply to comment | Linux Journal
6 hours 18 min ago - Reply to comment | Linux Journal
7 hours 35 min ago - great post
8 hours 10 min ago - Google Docs
8 hours 32 min ago - Reply to comment | Linux Journal
13 hours 21 min ago - Reply to comment | Linux Journal
14 hours 8 min ago - Web Hosting IQ
15 hours 41 min ago - Thanks for taking the time to
17 hours 18 min ago - Linux is good
19 hours 16 min ago
Enter to Win an Adafruit Prototyping Pi Plate 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 Prototyping Pi Plate 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
- Next winner announced on 5-21-13!
Free Webinar: Linux Backup and Recovery
Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.
In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.



Comments
UEFI coming this year.
With new computer bios's being provided with UEFI, when will we have UEFI compatible loaders (anaconda for Fedora, and others for SUSE, DEBIAN, UBUNTGU ARC' etc, etc, etc.
Secure boot is not secure if you are able to update the bios. And if you cannot update the bios, I would not buy that brand of mother board, or laptop or desktop.
UEFI is new technology for bios vendors. And therefore will have more bugs than a standard bios.
We should get a downloadable file from the bios vendor to allow us to revert back to legacy bios code.
Interesting, but do you have
Interesting, but do you have anything that us non-linux users can use?
I admit, I have not fully explored all of the meta-languages, so I would find a good tutorial on the breadth and capabilities of each of these tools. If nothing else, it would help me decode the acronym soup you use.
Just a thought,
DAB
Programming Languages
All programming languages suck, because of this and that.
Java sucks, C ## more or less, python seems to lazy and incomplete, ruby the syntax is horror movie, and others suck.
C is hard is outdated.
When will there be a programming language of ease of use and libraries for everything, the only language that seems tAll programming languages suck, because of this and that.
Java sucks, C ## more or less, python seems to lazy and incomplete, ruby the syntax is horror movie, and others suck.
C is hard is outdated.
When will there be a programming language of ease of use and libraries for everything, the only language that seems to meet this is C##, but learning curve has to be assisted i think, or that is it sucks as well.o meet this is C##, but learning curve has to be assisted i think, or that is it sucks as well.
Programming Languages
All programming languages suck, because of this and that.
Java sucks, C ## more or less, python seems to lazy and incomplete, ruby the syntax is horror movie, and others suck.
C is hard is outdated.
When will there be a programming language of ease of use and libraries for everything, the only language that seems to meet this is C##, but learning curve has to be assisted i think, or that is it sucks as well.
All progamming languages suck.
I guess that means that Linux (most code), Windows (most code), which is written in C, sucks.
C# is a complete object oriented programming language, great for the web. C++ is great for creating frameworks, such as GUI, or specialized frameworks for networking, etc.
Assembly language is great, because you can optimize code to your hearts content, and you can make many many programming errors, taking hours to debug.
So lets see, we don't have a mind-reading language yet. What would you suggest?
Here is an idea, look at interpreted languages that give you instant feedback. Try the J language. http://www.jsoftware.com/forums.htm
eBook formats?
Hey! Didn't you used to make issues available in multiple eBook formats? I just bought this issue and all I got was the PDF, which is completely unreadable on my smartphone.
Where's the .mobi or .prc version? I did try a Calibre conversion but your layout is too complex and produces gibberish.
Thanks.
You can buy individual issues
You can buy individual issues in ebook formats through Barnes and Noble and Amazon.com, and subscribers have access to all formats.
Katherine Druckman is webmistress at LinuxJournal.com. You might find her on Twitter or at the Southwest Drupal Summit
eBook formats!
I'm sure what you write is true. It doesn't answer my point: I bought a single issue that I really have no way to read, since reading PDFs on my computer is unpleasant.
Subscribers are very patient?
"Available to Subscribers: October 1"
One might suspect that this is some form of mistake on someone's part, if one were the negative type.
Programming languages for Linux
I do a lot of C, am learning Qt and writing C++, and have considered python.
Today I read about C# being open and free, with Oracle suing Google because Oracle claims the APIs are not free, but copyrighted.
A team has made a cross compiler from java to C# (mono) and the results are amazingly fantastic. Interpretor overheads are between 5% to 10% of java vm.
So, switching all java code to C# could result in tablet battery life doubling.
I think C## is my next language.
Python is bigger linux language
I would choose python to program in. It seems to be the Linux choice. All you have to do is tear into a few deb packages from dotdeb.com and you'll see that almost all of them are done in python.