August 2013 Issue of Linux Journal: Programming
Building a Better Mouse (and Keyboard) Trap
I've mentioned in years past that my programming skills started with Pascal and ended with bubble sorting. My brain just doesn't seem wired to write code. Perhaps when actual brain-wiring moves from science fiction to the mainstream, I can upload something like, "How to Program for Neanderthals". Until that glorious cybernetic day, I'll continue to rely on the skills of others.
One of those folks is Reuven M. Lerner, who month after month gives us new insight into the programming world. This month, he expands on last issue's Clojure article and discusses Compojure, which allows us to connect to a PostgreSQL database. Our resident scripting expert, Dave Taylor, switches gears from Cribbage in this issue. Dave has been dealing with DDOS attacks of late, and he shares how he's using a script to detect the attacks on his server. Whether or not his attacker is an angry Cribbage player who can no longer beat his computer is still unknown!
Kyle Rankin introduced us to DNSSEC last month, and now that we have an understanding of how it works, he walks us through the process of implementation. By the time you reach the end of Kyle's article, you'll likely want to install DNSSEC for your domains. It's not the simplest technology to implement, but Kyle's teaching makes it feasible for us all. I follow Kyle's column with The Open-Source Classroom. Playing off last month's Tomcat installation, I walk through setting up a reverse proxy with Apache. Why add another layer of complexity to our server? Because running Tomcat and a Web server on the same machine usually means applications have nonstandard port numbers. With a reverse proxy, every application is a virtual host—no special port numbers to remember!
Although it sounds more like a pirate's greeting than a programming tool, Mihalis Tsoukalos shows us R this month. R is a statistical package that offers some powerful tools, even for folks uncomfortable with mathematics and statistics. Whether you prefer to see the raw numbers or look at graphs generated to show your data, R is a tool everyone needing to sort through data should look into. When it comes to tools of the trade, nothing is more precious to a programmer than his or her text editor. Although vim is all I need as a system administrator, if you spend eight hours a day working with an editor, it should be one that makes your job easier. Ken Kinder introduces the Sublime Editor this month. It's a cross-platform, proprietary editor that offers a developer far more than syntax highlighting.
Arnold Robbins returns to a topic he covered a few years back by teaching us even more tricks with gawk. If awk and sed are your bread and butter, Arnold's article will feel like a home-cooked meal. Sushil Krishna Bajracharya follows up with a great article on using code search to utilize your enterprise's code base better. All too often we re-invent the wheel when it comes to programming because we don't know a solution already has been written! If you ever feel like you're re-inventing the wheel inside a wheel factory, Sushil's article is for you.
No programming issue would be complete without talking about programming for mobile devices. When "Linux" and "Phones" are discussed, it seems that 99% of the time the discussion is about Android. Although awesome and powerful, Android isn't the only mobile OS leveraging Linux. Ubuntu has a mobile OS, Firefox has a mobile OS, and the world of Maemo/Moblin/Meego has transformed into Tizen. Michael Schloh Von Bennewitz explains all about the mobile platform you may not know about, but that has very deep roots in the mobile world. If you think competition in the mobile OS world is a good thing, check out Michael's article on Tizen, it's exciting stuff.
It's unlikely I'll be getting a cybernetic implant that allows me to jumpstart a programming career; however, issues like this month's always excite me. I enjoy reading about programming, and along with those focused articles, we have product announcements, tech tips and other goodies along the way. Oh, and to address the inevitable e-mail messages I'll get about being a test case for the new cybernetic learning tool you're writing? I'll wait for version 2.0, but thanks anyway.
Available to Subscribers: August 1
Practical books for the most technical people on the planet. Newly available books include:
- Agile Product Development by Ted Schmidt
- Improve Business Processes with an Enterprise Job Scheduler by Mike Diehl
- Finding Your Way: Mapping Your Network to Improve Manageability by Bill Childers
- DIY Commerce Site by Reven Lerner
Plus many more.