If there was an overarching message from the speakers at last week’s Open Hardware Summit, particularly those in the first morning block, it’s that openness isn’t that critical. It sounds strange coming from a conference whose name starts with “open,” but speaker after speaker talked about hybrids and doing whatever worked, not just doing what was open.
Cloud Storage Isn’t What It Used To Be [Humor]
There’s a generation of youngsters growing up who think that Cloud Storage means Dropbox or Drive, and not some crazed childhood idea to collect all those awesomely shaped plumes in the sky.
A Herd of Excellent Free Web Testers for Linux Webmasters
Migrating a Website
When you’re moving a Web site, how do you know if your name server changes are working? What’s My DNS? shows what a random assortment of nameservers all over the world are reporting for whatever hostname you’re querying. By default it queries A records, and you can select any DNS record you want. This is a great site for tracking the propagation of any DNS changes you have made.
When you’ve moved a site to a new server with a different address, how do you know which site you’re seeing in your Web browser: the new one or the old one? Webmasters have all kinds of tricks for this, like making a small change on the front page of the new site, or fiddling with /etc/hosts. I like using /etc/hosts to get the most accurate preview of a new site before pushing it live. Suppose your old server address is 1.2.3.4, and the new server address is 1.2.3.5. To see the new site before publishing the new DNS, make an entry like this in /etc/hosts:
1.2.3.5 newsite.hostname
Don’t forget to remove it when you’re done testing.
After publishing your new DNS, you can see right in your Firefox Web browser which server you’re looking at, the new or old one, with the IPvFox add-on. This sits in the URL bar, so all you have to do is click it to see where your pages are being served from. Figure 1 shows the plethora of servers that feed the ravenous Linux.com.
IPvFox is also a great tool for improving webpage performance by showing you exactly where all page elements are coming from, and for tracking down un-encrypted, third-party content on your HTTPS pages. Chromium users can use IPvfoo, which is the inspiration for IPvFox.
Checking Nameserver Configuration
Nameserver configuration is hard to get right, especially for BIND admins. Somehow BIND became the standard, and the most widely-used nameserver even though it is the most complex DNS server to configure. So a third-party configuration checker can be a real life-saver. My favorite is Dnssy.com. Its DNS Test Report does a comprehensive check of your hostname configuration, and creates a detailed report. Webdnstools.com is another good site for testing nameservers, and it has a lot of good articles that teach all those gnarly name server concepts like glue records, spoofing, cache poisoning, and so on.
Is My Site Down For Everyone, or Just Me?
Downforeveryoneorjustme.com answers that most common of questions. In the olden days we could run a few quick pings from our PCs and from remote websites, but a lot of admins in these modern times mistakenly believe that blocking pings improves their security, so ping isn’t reliable as an indicator of an up host anymore.
Monitive.com checks your site from multiple locations around the world. It’s a good way to find out if a site is being blocked in your country, or if there is an Internet outage somewheres. Speaking of Internet outages, Internet Traffic Report tracks network health all over the world, and Internet Pulse tracks Internet health in the US.
Performance Testing
Content management systems like Drupal, WordPress, Joomla, and Plone power most modern websites, and each one comes with its own set of baggage and performance killers. Themes are notorious system hogs, so wise admins test themes before rolling them out on production systems. Pingdom.com has a nice batch of free and paid testing tools. The full-page test measures the load time of every element on a webpage, and displays the results in a good colored graph that shows where the bottlenecks are, like DNS lookups, SSL handshakes and waiting for the server. Figure 2 shows a snippet for Linux.com.
Don’t overlook the tabs at the top of the graph. It also rates individual performance metrics on the Performance Grade tab, and supplies a detailed Page Analysis. The History tab compares with previous runs.
Accessibility
The Juicy Studio Accessibility Toolbar is a super nice Firefox addon for testing the accessibility of your site for people with vision impairments, and compatibility with assistive devices like screen readers.
SSL Tester
Qualys SSL Labs has a lot of excellent information on securing Web sessions with SSL. As with so many things, SSL is hard to get right and easy to muck up while having a false sense of security. Web browsers are getting a lot pickier, and issue scary warnings to site visitors if your site is not set up to their satisfaction. I don’t know if people pay much attention to these since we’re used to ignoring scary warnings, but still it’s important to get it right.
It also has a site tester, so you can test your own site and get a detailed report on strengths and weaknesses.
Attention CEO’s: You Are in the Software Business. Now What?
Whether you’re Nissan or Toyota, Walmart or Nordstrom, NYSE or NASDAQ, you are in the software business. Every company today, regardless of whether or not they’re a “technology” company, is in the business of building software. Today’s consumers demand it.
Companies will spend $1.4 trillion this year on global R&D to design and build their core products. They don’t have the time or dollars to build the software from scratch that runs in those products. So, they’re turning to Linux and open development. Once upon a time just an operating system for servers, mobile devices and supercomputers, Linux is giving companies $10B in R&D that they can pull from and run with to build everything from cars to custom devices, and much more.
Companies finding themselves in the software business can learn a lot from long-time Linux users and sponsors HP, IBM, Intel, Google, and Qualcomm, among others. These companies already spend billions on R&D, according to USA Today and IC Insights: Intel alone will spend $8.4 billion dollars on R&D. Google a whopping $5.2 billion. HP, IBM and Qualcomm will spend $3.2 billion, $6.3 billion and $2 billion respectively. This is a huge sum of money. But with Linux and open development, they maximize those billions of dollars on product innovation and rely on the power or collaboration to build the software that runs their products.
If you’ve never heard of Imad Sousou, Dan Frye, Chris DiBona or Mark Charlebois, you should. They work on managing billions of dollars worth of development for the likes of Intel, IBM, HP, Google and Qualcomm. But rather than manage the development and R&D inside their companies, they are in charge of managing participation in development outside their companies. New companies to Linux and open development can learn a lot from how these people participate in Linux.
Software is simply no longer developed in isolation. No one, not even Apple or Microsoft, can afford not to take advantage of open, collaborative development. And, companies just arriving to the software business – companies like Toyota and Nissan, for example – aren’t about to start from scratch. They’re using the world’s largest code base from which to accelerate innovation in a fiercely competitive technology market.
This trend has led the world’s best companies to create dedicated teams that are in charge of getting the most out of this external R&D. At IBM’s Linux Technology Center, Dan Frye manages a group of developers who participate in open source projects that shape IBM’s software future. His team works on the Linux kernel project, compiler projects, and a variety of other open source initiatives so that the open source code in the worlds most successful project runs great on IBM hardware. The same can be said of Intel where they have an Open Source Technology Center under Imad Sousou made up of hundreds of engineers working on a stunning array of open source projects around virtualization, graphics, networking and more so that it runs better on Intel architecture than any other platform.
The payback these companies get by having a group dedicated to this work is huge. These teams manage who contributes to what project, under what terms developers are allowed to contribute and how to manage intellectual property both inside and outside the company, among other functions. Even if the group has dozens and dozens of staff, as in the case with Qualcomm Innovation Center under Mark Charlebois, that pales in comparison with the billions of dollars of open source software those companies depend on to run their business.
And now the hottest Internet and social media companies are hopping on the bandwagon too. Twitter recently hired Open Source Manager Chris Aniszczyk to manage its interaction with open source projects such as MySQL, Cassandra, Hadoop, Lucene, and Pig; open source projects which are all used within Twitter’s infrastructure. Twitter even has created open source projects themselves, which include Iago, a load generator for testing services; Zipkin, a distributed tracing system; and Scalding, a Scala library that makes it easier to use Hadoop.
Facebook isn’t being left behind, either. Mark Zuckerberg’s famous “hacker way” letter is being institutionalized with projects such as OpenCompute, which has released the secrets of Facebook’s data center hardware for the world to see. Why? Because everyone benefits when these things can be shared and collaborated on. Finally, under Chris DiBona at Google there is a group that has come up with Google’s famous “Summer of Code” and that manages the search giant’s participation in the hundreds of open source projects that powers everything at Google from its search engine to Andriod phones.
Smart CEO’s are recognizing that the bottom’s up trend that brought open source software to play such a major role in their products now warrants a top-level view. Managing collaborative R&D not only provides direct value in terms of the quality of the code that is being used to power any company’s products, but it also means that organizations might be able to spend more of their internal development resources on things that can allow them to compete at even higher levels of innovation.
Being in the software business means learning how to collaborate and watching the results pay for themselves. A good place to start is by learning from the best organizations in the world that have wholesale groups dedicated to external development.
Whitman: No new HP Smartphone Coming in 2013
HP chief executive Meg Whitman, weeks after saying the company has to “offer a smartphone,” says one won’t be coming any time soon.
Open Source Cloud News Roundup: Week of Oct. 1
Zenoss released a new report this week that predicts more than 50 percent open source cloud adoption among enterprises within five years. In other open source cloud news, Rackspace has a new training and certification program for OpenStack, Citrix is building its IaaS platform and CloudStack is looking for speakers at its November conference in Las Vegas.

Virtualization, Open Source Cloud and PaaS Adoption Numbers
Info Queue
More than 80 percent of enterprises have not yet turned to open source cloud platforms, but 57 percent are considering choosing one in the next five years, according to a study released by Zenoss this week. The full Zenoss report is available on the Zenoss website, along with a cool infographic. The report adds a little more dimension to a Gartner report out earlier in September on the hype surrounding open cloud.
Podcast: RackSpace Announces OpenStack Training and Certification Program
ZDNet
Rackspace announced this week it will begin offering training and certification for system administrators on OpenStack. This podcast discusses the program, pricing and details.
Is OpenStack Cloud Computing Certification a Sign of Things to Come?
Search Cloud Computing
If you’re an IT professional looking for a job, certification on a cloud platform could improve your chances says Rackspace’s Tony Campbell.
Citrix Cashes In and Unites Xen, CloudStack Investments in Project Windsor
ZDNet
Citrix’s XenServer 6.1 upgrade is integrated with CloudStack positions it as a “direct rival” to the other virtualization and cloud players, writes Paula Rooney.
Bringing the Open Cloud to Las Vegas: The CloudStack Collaboration Conference
Linux.com
CloudStack developers and integrators will meet up in Las Vegas on Nov. 30-Dec.2. Submit your presentation proprosal.
Raspberry Pi: Broadcom Teaches Kids Coding in an Hour
Broadcom has used the $25 computer to teach children how to program a game in sixty minutes.
The Internet of Things: Talking Socks and RFID Trash
There are enough unique IPv6 addresses to assign an IP address to every item in the world, natural and man made. But how will we manage the conversation with our newly intelligent things?
So You Want to Be an Embedded Linux Developer
Android smartphones and tablets represent only the most visible part of a larger embedded Linux ecosystem that extends throughout industries like consumer electronics, telecom, manufacturing, and transportation. As device requirements call for more intelligence and networking savvy, Linux has become the oft-hidden secret sauce in everything from set-top boxes to home automation systems to rugged field handhelds.
It’s not surprising then that embedded Linux developers continue to be in high demand. But just who are these people, what skills do they need, and how do they spend their days? Are they primarily programmers writing to hardware targets or are they mechanical and electrical engineers who know some coding?
The good news for developers who want to check out embedded is that software is increasingly running the show. With multi-faceted system-on-chips (SoCs) running today’s gadgets, “most of the deep EE issues have been abstracted away in digital circuits,” says Justin Waters, Manager, Embedded Development at Timesys, which offers its LinuxLink development platform. “The remaining issues are much more software-oriented.”
Still, most embedded applications require someone with deep understanding of hardware design. In addition, many projects demand knowledge of hardware tools like soldering irons, oscilloscopes, target debuggers, and logic and network analyzers.
“It’s often said that software dominates the embedded world these days, but that varies considerably according to the project and industry,” says Rick Lehrbaum, a consultant and publisher of the DeviceGuru blog. Lehrbaum co-founded AmPro, now part of Adlink, and is known as the chief developer of the PC/104 embedded board form-factor.
The Job Description

“Embedded development” encompasses a wide range of potential jobs, from hardware design to firmware development to COTS-based system development. Arguably, Android app programming could be included, although it often has more in common with general software development.
Developing firmware requires especially demanding skills, says Lehrbaum. “Firmware developers need to understand lower-level hardware function control,” he says. “At the same time, they need to know issues like user interface design and system reliability.”
Firmware developers, who often work hand in hand with hardware engineers, need a thorough knowledge of the Linux kernel and components, and possibly Android expertise as well. They also need to know at least one processor architecture. In consumer electronics, this is typically ARM, but in other areas, especially networking and industrial, x86 is far more prevalent, along with MIPS or PowerPC. Increasingly, developers are asked to optimize code for multi-core processors, which in turn demands a deeper understanding of multitasking.
Most embedded development jobs require an understanding of hardware design, prototyping, compiling, debugging and testing tools. It is also important to be able to write interfaces to multiple peripherals, including serial busses, timers, generators, DACs, and display devices. Your dreams will be filled with device drivers.
Projects based on off-the-shelf COTS hardware, using embedded module form-factors such as PC/104, COM Express, and QSeven, generally require less time and expertise than custom hardware projects. Using larger carrier-board formats with real-world ports like Mini-ITX reduces the learning curve even further.
“For COTS developers, the effort consists mostly of software development,” says Lehrbaum. “But there’s still the need for some knowledge of mechanical engineering, such as packaging, as well as electronic design, including custom I/O interface development.”
COTS developers are facing new challenges as modules move from x86 to ARM. “The transition to ARM is a big challenge and opportunity,” says Lehrbaum. “Most ARM chips are highly customized, whereas x86 is more of a well-defined system.”
Team Players
Embedded projects tend to be more diverse in scope than server- or desktop-oriented projects. In consumer electronics in particular, there is a continuing churn of new platforms, applications, components, processors, peripherals, and features, any of which can trip up the others.
“The biggest challenge is the sheer size of the market,” says Waters. “There are so many different architectures, operating systems, and component vendors, that it’s impossible for any one person to master it all. The embedded world is so heterogeneous that it’s very difficult for somebody to find a niche.”
Due to the variety of hats required, embedded development is usually performed in teams, with different members playing specialized roles, says Lehrbaum. In addition, different industries and device targets often demand specific knowledge.
“Embedded development is all about the target device,” says Lehrbaum. “Environmental factors and standards vary greatly depending on the industry.” For example, one needs to know about SAE for automotive applications, MIL-STD for military systems, and HIPAA for medical devices, he adds.
Despite the need for specialization, all the developers need at least a basic understanding of all development facets. Even mobile app developers using a higher-level Android framework, for example, need a grounding in power management, sensors, telephony, storage, and security. For mobile devices, power management consumes a lot of development time.
Troubleshooting: Diggers Wanted
The wide variety of components, skills, and tasks required in embedded development can be maddening, but this can also make it more compelling than standard software development. In addition, many developers like the sense of fulfillment they get from a finished device.
Your satisfaction may vary, however, if you become easily bored or frustrated with debugging and testing, which always seems to take longer with embedded. Many developers relish the forensic challenge of hunting down and squashing obscure bugs while many others simply endure it as a necessary evil.
“Embedded troubleshooting often means interacting with the system at the chip-, interface-, and protocol levels,” says Lehrbaum. “Developers need to understand the hardware enough to build fail-safe code and control the system so it doesn’t violate parameters.”
According to Waters, embedded debugging is the largest missing skillset among entry-level developers. “Most college coursework focuses on software development using a full-fledged debugger, but with all of the moving parts of a low-level system, these tools aren’t terribly useful,” he says. “A developer needs to truly understand how the pieces interact and come up with specialized ways to find the source of an issue. It’s important to be able to ‘think around’ difficult problems and function outside of a traditional debugging environment.”
This heuristic, trial-and-error process tends to self-select for a particular embedded hacker temperament. “The most successful embedded developers I know are what I call ‘diggers’,” says Waters. “They have the patience to dig in to a difficult problem and get down to the basics of what could be going wrong; they have the desire to peel away the abstractions. By contrast, for a higher-level programmer, this can be a distraction — it’s often helpful for them to ignore the implementation.”
Open Source Challenges and Benefits
Due to the crazy-quilt nature of open source and distributed resources, embedded Linux development tends to be more complex compared to a proprietary OS. Yet, open source more than pays for that complexity in other ways, say Waters and Lehrbaum.
“The wealth of sample open source code for all types of devices is invaluable,” says Waters. “It allows developers to leverage existing code with minimal changes. There’s also a large focus on portability and standardized interfaces.”
The open source community is another great asset. “Chances are, you aren’t the only one having the same problem,” says Waters. “Unless you’re on the bleeding edge, there’s a good chance the issue has already been fixed.”
To get more information on what it takes to be a Linux developer, check out the Linux Foundation’s Linux training site.
5 signs you might like embedded development:
Google, LG to Debut Android 4.2 Next Month, Report Says
LG will reportedly show off the Optimus G Nexus, which will be running the software and be based on its previously announced Optimus G. [Read more]
