™ LUCI4HPC: the Lightweight, User-Friendly Cluster Management Tool Since 1994: The Original Magazine of the Linux Community APRIL 2015 | ISSUE 252 | www.linuxjournal.com - HIGH PERFORMANCE COMPUTING JAILHOUSE Real-Time Security-Wise Virtualization PLUS Explore the Concepts of STDIN, STDOUT and STDERR Write a Script to Generate Word Searches WATCH: HOW-TO: CREATE ISSUE OVERVIEW Installing Libreboot Dynamic Content ▲ on an x60 with Django Templates LJ252-April2015.indd 1 4/2/15 10:31 AM “It’s where you meet people who think and do data science— London, UK where U.S. innovation meets 5–7 May, 2015 Europe’s data opportunities.” The Future Belongs to Those Who Use Data Hear how companies like Google, Goldman Sachs, Ebay, CERN, BBC, and Siemens AG are using data— and how you can benefit from their experiences. Conference Tracks include: Business & Industry, Privacy and Law, Data Science, Tools & Technology, and Internet of Things. Don’t miss what Forbes calls “A mind -blowing big data experience.” Register with code BD20 to save 20% on passes. strataconf.com/uk LJ252-April2015.indd 2 3/20/15 4:06 PM LJ252-April2015.indd 3 3/20/15 4:06 PM CONTENTS APRIL 2015 ISSUE 252 HIGH-PERFORMANCE COMPUTING FEATURES 68 LUCI4HPC 78 Jailhouse LUCI4HPC aims at providing an Explore a simple, compact, yet easy and convenient tool to set real-world Linux hypervisor striving up and maintain an in-house to cover use cases that others high-performance computer cluster. don’t quite fit. Melanie Grandits, Valentine Sinitsyn Axel Sündermann and Chris Oostenbrink ON THE COVER (cid:139)(cid:3)(cid:51)(cid:60)(cid:42)(cid:48)(cid:27)(cid:47)(cid:55)(cid:42)(cid:33)(cid:3)(cid:91)(cid:79)(cid:76)(cid:3)(cid:51)(cid:80)(cid:78)(cid:79)(cid:91)(cid:94)(cid:76)(cid:80)(cid:78)(cid:79)(cid:91)(cid:19)(cid:3)(cid:60)(cid:90)(cid:76)(cid:89)(cid:20)(cid:45)(cid:89)(cid:80)(cid:76)(cid:85)(cid:75)(cid:83)(cid:96)(cid:3)(cid:42)(cid:83)(cid:92)(cid:90)(cid:91)(cid:76)(cid:89)(cid:3)(cid:3) (cid:3) (cid:52)(cid:72)(cid:85)(cid:72)(cid:78)(cid:76)(cid:84)(cid:76)(cid:85)(cid:91)(cid:3)(cid:59)(cid:86)(cid:86)(cid:83)(cid:19)(cid:3)(cid:87)(cid:21)(cid:3)(cid:29)(cid:31) (cid:139)(cid:3)(cid:49)(cid:72)(cid:80)(cid:83)(cid:79)(cid:86)(cid:92)(cid:90)(cid:76)(cid:33)(cid:3)(cid:57)(cid:76)(cid:72)(cid:83)(cid:20)(cid:59)(cid:80)(cid:84)(cid:76)(cid:3)(cid:58)(cid:76)(cid:74)(cid:92)(cid:89)(cid:80)(cid:91)(cid:96)(cid:20)(cid:62)(cid:80)(cid:90)(cid:76)(cid:3)(cid:61)(cid:80)(cid:89)(cid:91)(cid:92)(cid:72)(cid:83)(cid:80)(cid:97)(cid:72)(cid:91)(cid:80)(cid:86)(cid:85)(cid:19)(cid:3)(cid:87)(cid:21)(cid:3)(cid:30)(cid:31) (cid:139)(cid:3)(cid:44)(cid:95)(cid:87)(cid:83)(cid:86)(cid:89)(cid:76)(cid:3)(cid:91)(cid:79)(cid:76)(cid:3)(cid:42)(cid:86)(cid:85)(cid:74)(cid:76)(cid:87)(cid:91)(cid:90)(cid:3)(cid:86)(cid:77)(cid:3)(cid:58)(cid:59)(cid:43)(cid:48)(cid:53)(cid:19)(cid:3)(cid:58)(cid:59)(cid:43)(cid:54)(cid:60)(cid:59)(cid:3)(cid:72)(cid:85)(cid:75)(cid:3)(cid:58)(cid:59)(cid:43)(cid:44)(cid:57)(cid:57)(cid:19)(cid:3)(cid:87)(cid:21)(cid:3)(cid:28)(cid:29) (cid:139)(cid:3)(cid:62)(cid:89)(cid:80)(cid:91)(cid:76)(cid:3)(cid:72)(cid:3)(cid:58)(cid:74)(cid:89)(cid:80)(cid:87)(cid:91)(cid:3)(cid:91)(cid:86)(cid:3)(cid:46)(cid:76)(cid:85)(cid:76)(cid:89)(cid:72)(cid:91)(cid:76)(cid:3)(cid:62)(cid:86)(cid:89)(cid:75)(cid:3)(cid:58)(cid:76)(cid:72)(cid:89)(cid:74)(cid:79)(cid:76)(cid:90)(cid:19)(cid:3)(cid:87)(cid:21)(cid:3)(cid:27)(cid:25) (cid:139)(cid:3)(cid:47)(cid:86)(cid:94)(cid:20)(cid:59)(cid:86)(cid:33)(cid:3)(cid:48)(cid:85)(cid:90)(cid:91)(cid:72)(cid:83)(cid:83)(cid:80)(cid:85)(cid:78)(cid:3)(cid:51)(cid:80)(cid:73)(cid:89)(cid:76)(cid:73)(cid:86)(cid:86)(cid:91)(cid:3)(cid:86)(cid:85)(cid:3)(cid:72)(cid:85)(cid:3)(cid:95)(cid:29)(cid:23)(cid:19)(cid:3)(cid:87)(cid:21)(cid:3)(cid:27)(cid:31) (cid:139)(cid:3)(cid:42)(cid:89)(cid:76)(cid:72)(cid:91)(cid:76)(cid:3)(cid:43)(cid:96)(cid:85)(cid:72)(cid:84)(cid:80)(cid:74)(cid:3)(cid:42)(cid:86)(cid:85)(cid:91)(cid:76)(cid:85)(cid:91)(cid:3)(cid:94)(cid:80)(cid:91)(cid:79)(cid:3)(cid:43)(cid:81)(cid:72)(cid:85)(cid:78)(cid:86)(cid:3)(cid:59)(cid:76)(cid:84)(cid:87)(cid:83)(cid:72)(cid:91)(cid:76)(cid:90)(cid:19)(cid:3)(cid:87)(cid:21)(cid:3)(cid:26)(cid:27) Cover Image: © Can Stock Photo Inc. / alexaldo 4 / APRIL 2015 / WWW.LINUXJOURNAL.COM LJ252-April2015.indd 4 3/20/15 4:06 PM COLUMNS IN EVERY ISSUE 34 Reuven M. Lerner’s 8 Current_Issue.tar.gz At the Forge Letters 10 Django Templates UPFRONT 16 42 Dave Taylor’s 32 Editors’ Choice Work the Shell New Products 64 Where’s That Pesky Hidden Word? Advertisers Index 103 Kyle Rankin’s 48 Hack and / Libreboot on an x60, Part II: the Installation Shawn Powers’ 56 The Open-Source Classroom Pipes and STDs Doc Searls’ EOF 94 Consent That Goes Both Ways 24 68 LINUX JOURNAL (ISSN 1075-3583) is published monthly by Belltown Media, Inc., 2121 Sage Road, Ste. 395, Houston, TX 77056 USA. Subscription rate is $29.50/year. Subscriptions start with the next issue. WWW.LINUXJOURNAL.COM / APRIL 2015 / 5 LJ252-April2015.indd 5 3/20/15 4:06 PM Executive Editor Jill Franklin [email protected] Senior Editor Doc Searls [email protected] Associate Editor Shawn Powers [email protected] Art Director Garrick Antikajian [email protected] Products Editor James Gray [email protected] Editor Emeritus Don Marti [email protected] Technical Editor Michael Baxter [email protected] Senior Columnist Reuven Lerner [email protected] Security Editor Mick Bauer [email protected] Hack Editor Kyle Rankin lj@greenfly.net Virtual Editor Bill Childers [email protected] Contributing Editors (cid:41)(cid:66)(cid:82)(cid:65)(cid:72)(cid:73)(cid:77)(cid:40)(cid:65)(cid:68)(cid:68)(cid:65)(cid:68)(cid:115)(cid:50)(cid:79)(cid:66)(cid:69)(cid:82)(cid:84)(cid:44)(cid:79)(cid:86)(cid:69)(cid:115)(cid:58)(cid:65)(cid:67)(cid:75)(cid:34)(cid:82)(cid:79)(cid:87)(cid:78)(cid:115)(cid:36)(cid:65)(cid:86)(cid:69)(cid:48)(cid:72)(cid:73)(cid:76)(cid:76)(cid:73)(cid:80)(cid:83)(cid:115)(cid:45)(cid:65)(cid:82)(cid:67)(cid:79)(cid:38)(cid:73)(cid:79)(cid:82)(cid:69)(cid:84)(cid:84)(cid:73)(cid:115)(cid:44)(cid:85)(cid:68)(cid:79)(cid:86)(cid:73)(cid:67)(cid:45)(cid:65)(cid:82)(cid:67)(cid:79)(cid:84)(cid:84)(cid:69) (cid:48)(cid:65)(cid:85)(cid:76)(cid:34)(cid:65)(cid:82)(cid:82)(cid:89)(cid:115)(cid:48)(cid:65)(cid:85)(cid:76)(cid:45)(cid:67)(cid:43)(cid:69)(cid:78)(cid:78)(cid:69)(cid:89)(cid:115)(cid:36)(cid:65)(cid:86)(cid:69)(cid:52)(cid:65)(cid:89)(cid:76)(cid:79)(cid:82)(cid:115)(cid:36)(cid:73)(cid:82)(cid:75)(cid:37)(cid:76)(cid:77)(cid:69)(cid:78)(cid:68)(cid:79)(cid:82)(cid:70)(cid:115)(cid:42)(cid:85)(cid:83)(cid:84)(cid:73)(cid:78)(cid:50)(cid:89)(cid:65)(cid:78)(cid:115)(cid:33)(cid:68)(cid:65)(cid:77)(cid:45)(cid:79)(cid:78)(cid:83)(cid:69)(cid:78) President Carlie Fairchild [email protected] Publisher Mark Irgang [email protected] Associate Publisher John Grogan [email protected] Director of Digital Experience Katherine Druckman [email protected] Accountant Candy Beauchamp [email protected] Linux Journal is published by, and is a registered trade name of, Belltown Media, Inc. PO Box 980985, Houston, TX 77098 USA Editorial Advisory Panel Nick Baronian Kalyana Krishna Chadalavada (cid:34)(cid:82)(cid:73)(cid:65)(cid:78)(cid:35)(cid:79)(cid:78)(cid:78)(cid:69)(cid:82)(cid:115)(cid:43)(cid:69)(cid:73)(cid:82)(cid:36)(cid:65)(cid:86)(cid:73)(cid:83) (cid:45)(cid:73)(cid:67)(cid:72)(cid:65)(cid:69)(cid:76)(cid:37)(cid:65)(cid:71)(cid:69)(cid:82)(cid:115)(cid:54)(cid:73)(cid:67)(cid:84)(cid:79)(cid:82)(cid:39)(cid:82)(cid:69)(cid:71)(cid:79)(cid:82)(cid:73)(cid:79) (cid:36)(cid:65)(cid:86)(cid:73)(cid:68)(cid:33)(cid:14)(cid:44)(cid:65)(cid:78)(cid:69)(cid:115)(cid:51)(cid:84)(cid:69)(cid:86)(cid:69)(cid:45)(cid:65)(cid:82)(cid:81)(cid:85)(cid:69)(cid:90) (cid:36)(cid:65)(cid:86)(cid:69)(cid:45)(cid:67)(cid:33)(cid:76)(cid:76)(cid:73)(cid:83)(cid:84)(cid:69)(cid:82)(cid:115)(cid:52)(cid:72)(cid:79)(cid:77)(cid:65)(cid:83)(cid:49)(cid:85)(cid:73)(cid:78)(cid:76)(cid:65)(cid:78) (cid:35)(cid:72)(cid:82)(cid:73)(cid:83)(cid:36)(cid:14)(cid:51)(cid:84)(cid:65)(cid:82)(cid:75)(cid:115)(cid:48)(cid:65)(cid:84)(cid:82)(cid:73)(cid:67)(cid:75)(cid:51)(cid:87)(cid:65)(cid:82)(cid:84)(cid:90) Advertising E-MAIL: [email protected] URL: www.linuxjournal.com/advertising PHONE: +1 713-344-1956 ext. 2 Subscriptions E-MAIL: [email protected] URL: www.linuxjournal.com/subscribe MAIL: PO Box 980985, Houston, TX 77098 USA LINUX is a registered trademark of Linus Torvalds. LJ252-April2015.indd 6 3/20/15 4:06 PM LJ252-April2015.indd 7 3/20/15 4:06 PM Current_Issue.tar.gz High SHAWN POWERS Performance: a Relative Term M y Pebble watch has several this issue should tickle your fancy. orders of magnitude We start out with Django more power than the templates, as Reuven M. Lerner mainframe computers used by NASA builds on last month’s column about to land astronauts on the moon the “atfproject” he started. Whether and then get them back safely. In you want to develop with Django fact, at the time, the six-megabyte or not, Reuven’s lessons always are program IBM developed to monitor beneficial to the new programmer the astronaut’s biometric and and the seasoned developer alike. environmental data was the most Dave Taylor follows with a topic that complex software ever written! is half scripting and half brain teaser. Times certainly have changed, but How can you make a script to create our desire to push computing to the words in a word search? Is a its very limit surely hasn’t. This brute-force, every possible iteration month is the High-Performance solution the best way? Dave starts Computing issue of Linux Journal, the script this month and urges us and whether you plan to land to send him ideas. humans on the moon or analyze Kyle Rankin continues last issue’s weather data over the Atlantic, article on Libreboot. We deal with the operating systems (specifically Linux!) all the time, but Kyle dives deeper and explains how to replace VIDEO: (cid:86) Shawn Powers runs the system BIOS with an open through the latest issue. alternative. My column isn’t nearly 8 / APRIL 2015 / WWW.LINUXJOURNAL.COM LJ252-April2015.indd 8 3/20/15 4:06 PM CURRENT_ISSUE.TAR.GZ With a friendly Web interface and high customization ability, LUCI4HPC might be perfect for your needs. as low-level, but it addresses an solutions very well. If you need often confusing concept for Linux real-time solutions, but want the users—namely, system I/O. If cost benefits of virtualization, STDIN, STDOUT and STDERR sound Jailhouse might be perfect. scary, fear not. I explore I/O in all Finally, Doc Searls tears open the its glory and round things out with “Do Not Track” concept and explores a clearer understanding of pipes its meaning, intent, current state and redirects too. and future. If you, or your users, are You will get a really clear look concerned about who gets access to at LUCI4HPC this month, as what data, Doc’s column will be of Melanie Grandits, Axel Sündermann particular interest this month. and Christ Oostenbrink explain In fact, as a Linux user, this the lightweight clustering system. entire issue is full of articles that Although clustering often is needed most likely will pique your interest. only in specialized circumstances, Whether you want to rewrite the it doesn’t mean the process needs BIOS on your laptop or just want to be difficult. With a friendly Web some free cash (be sure to read interface and high customization my UpFront article on ChangeTip), ability, LUCI4HPC might be perfect this issue aims to please. Add the for your needs. product news, tech tips, kernel (cid:54)(cid:65)(cid:76)(cid:69)(cid:78)(cid:84)(cid:73)(cid:78)(cid:69) (cid:51)(cid:73)(cid:78)(cid:73)(cid:84)(cid:83)(cid:89)(cid:78) (cid:68)(cid:69)(cid:83)(cid:67)(cid:82)(cid:73)(cid:66)(cid:69)(cid:83) updates and so on, and you have on how to use Jailhouse this month. your screen a great way to spend Although it might seem like “just April 1st—no fooling!(cid:81) another virtualization platform”, Jailhouse is designed with real-time Shawn Powers is the Associate Editor for Linux Journal. virtualization in mind. For folks in He’s also the Gadget Guy for LinuxJournal.com, and he has system automation, medical and an interesting collection of vintage Garfield coffee mugs. telecommunications, real-time Linux Don’t let his silly hairdo fool you, he’s a pretty ordinary guy is crucial. Sadly, most virtualization and can be reached via e-mail at [email protected]. systems don’t handle real-time Or, swing by the #linuxjournal IRC channel on Freenode.net. WWW.LINUXJOURNAL.COM / APRIL 2015 / 9 LJ252-April2015.indd 9 3/20/15 4:07 PM letters an implementation in your next great column. —Hans Dave Taylor replies: Thanks for your kind note, Hans! As you have no doubt figured out by now, I’m more intrigued by algorithms and implementations than I am by the weird corner-case tricks and shortcuts in the Bash shell. My logic is that obfuscated code might be neat, but it’s not elegant and therefore also isn’t maintainable. I hate reading Shuffling Cards—Dave Taylor someone else’s undocumented shell I love your column, although I script that requires hours to figure think you concentrate a bit too out. That’s just not good coding. much on the application and too We’re not in the 1960s where every little on interesting bash tricks. kilobyte counts, after all! Now I know these are hard to find, or perhaps what is trivial for one I’ll check out the algorithm, but is new to the other. Perhaps the truth be told, I’m heading down same also applies with the shuffling a different path starting with the cards algorithm from your February column I owe LJ today—one that’s 2015 column. There is this “well” tied to a project I promised my known algorithm from Fisher-Yates. 11-year-old a while back, a program See Wikipedia for the details. It is that can create word searches. embarrassingly straightforward once you understand it and, Shake Up the Content therefore, so clever. And, it’s very I used to be an LJ subscriber for years easy to implement. and originally started reading your magazines somewhere in the mid- I’m looking forward to seeing 1990s. I used to enjoy reading and 10 / APRIL 2015 / WWW.LINUXJOURNAL.COM LJ252-April2015.indd 10 3/20/15 4:07 PM
Description: