Archive for the ‘Linux’ Category
Someone recently remarked to me that you can think of hardware as software that’s developed really slowly. While the software space has been going wild over cloud computing it’s been pretty quiet on the hardware side of the equation. But, that’s going to change as we see a new class of server hardware that helps businesses take advantage of the power and density savings possible through new CPU architectures and software stacks.
As an illustration IDC reported on the server market recently and it shows the start of the next wave of change. As you’d expect the general server market is pretty poor, growing at just 2.7%. But, blade servers which are commonly used for Web workloads is growing at 7%. Finally, the hyperdense form-factor is growing at 29% – which is an astounding amount.
In some ways the drivers for this change are just the continuation of a long-running story where everything is (has?) moved into a Web infrastructure set-up which enables the horizontal scaling of services. Implicitly this favours buying a lot of cheaper systems and building in redundancy at the software level. But the Cloud accelerates this trend further since it’s stateless and you no longer care about the specifics of the hardware layer in the same way.
The challenge for infrastructure managers is that continually adding more servers means you’re incurring ongoing costs for electricity, space and management. So anything that can drive better performance per watt in a denser arrangement is interesting. As you can see from the diagram below the expected growth in this space is really significant.
At a CPU architecture level ARM chips have been getting more powerful and this year they’re going to enter into the mix for servers. The first reason for this is that they’re relatively low-power which means lower running costs. Since they’re low power they also give off less heat so another advantage is they can be put into a ‘hyperdense’ arrangement that also saves money in terms of space. You’ll see systems this year from both Dell and HP (see Moonshot). It’s pretty astounding to think that the same chip that’s powering your phone could be powering Facebook!
If we’re truly going to get the benefit from the new hyperdense form-factor then the software layer will also need to reflect the capabilities of these systems. So for Ubuntu we’re continuing our work on ARM and recently announced the availability of 12.04 LTS as an ARM server – the first commercial Linux to come to the platform. We’re also exploring how these hardware systems unique strengths are expressed and how this impacts the software stack. For example if you’ve got a few hundred systems in a half-rack then the problem of managing those systems is far more significant – so service orchestration (such as Juju) is really critical. It’s exciting times in this space and a really interesting project.
If you’re interested in a quick summary of ARM server check out this Prezi by Victor Palau.
I’m pretty much tied to my laptop, not only does it have all my applications on it but I think I might be so habituated that I can’t usefully think without having it’s warming reassuring whirr on my lap. Of course like all mobile workers I’m always worried about how much time I have left in the battery, in fact I’m so paranoid that I’ve developed frown lines from constantly scowling at the battery indicator as it slowly dribbles down to the moment when I’ll be disconnected from the world-wide-‘like’-a-sphere! It’s one thing to watch it dribble down when you’re working, but how much worse when you ‘resume’ the laptop to find that half the battery has gone already! Equally, doing a full hibernate is great from a battery perspective but the ‘resume’ takes a long time to get to which isn’t fantastic if you’re just moving from say one meeting room to another. In Ubuntu 12.04 LTS we have the answer with hybrid suspend.
If you’ve ever had a Mac OSX laptop then you’ve seen this capability before. Essentially, when you close the lid the system initially goes to suspend, and then after a few minutes it drops into hibernate so you’re no longer using any power from the battery. One capability the Mac has is to resume from hibernate really quickly, not quite sure how they do that – if you know I’d be interested.
Hibernate takes a while to get back to your previous state because it has to read the system image back from the disk. Equally, with plain suspend you’re using a trickle of battery to keep the system quietly ticking over so it can resume a lot faster. So when you’re using the hybrid system you want to set it to hibernate when you’re not going to be using the laptop for a while. I set it to go to full hibernate after 15 minutes.
Here are the steps to follow:
Test that hibernate actually works:
$ sudo pm-hibernate
Check if the system thinks that suspend-hybrid is supported:
$ sudo pm-is-supported --suspend-hybrid && echo $?
If it returns 0 then suspend-hybrid can be used with this system.
Create the hybrid suspend capability by creating the /etc/pm/config.d/00-use-suspend-hybrid file.
In the file you have:
# Always use suspend_hybrid instead of suspend if [ "$METHOD" = "suspend" ]; then METHOD=suspend_hybrid fi PM_HIBERNATE_DELAY=900 # Hibernate to disk after 15 minutes (900 seconds)
It should now use hybrid suspend and put the system to full hibernation after 15 minutes. There’s some more power saving information in the Ubuntu Wiki, and the original source of the idea was from Daniel Hahlers post.
Raspberry Pi is a project to spark exploration, innovation and to create a new generation of programmers by putting a computer into the hands of every British child. That was the passionate vision presented by David Braben of Frontier Development at Develop in a talked labelled “Giving something back”. There are some interesting parallels with the vision One Laptop Per Child (OLPC) had. The radical difference is that with the effects of Moores Law since the OLPC project the Raspberry Pi vision is for a device that costs 15 GBP – that makes it realistic to put one into the hands of every child in the UK!
They showed an alpha last year which got lots of attention – watch it and then we’ll continue:
The starting point for this endeavour is that children aren’t excited by Computer Science in the UK any more and that this has meant a radical drop in the number of University applications. There’s a shortage of precise figures, said David, but it could be as much as a 51% drop since the mid-90’s. He cites a lot of reasons for this, from changes in life-style, curriculum and the mass-media. His conclusion is that a key shortage is a computing environment for kids that encourages programming – a BBC B for a newer generation. The team aims to create a small (phone sized) computer, powered by an ARM chip, which you can plug a TV/keyboard into and a software load with educational software on it. The long-term mission being to provide these free to groups of children with appropriate content, along with management capabilities for teachers.
The bottom line for me is that encouraging experimentation, exploration and creation is a good thing in and of itself. If you want to create programmers they have to start along the journey of realising that you can create as well as consume in the digital world. When I was in school computers were all the rage from an educational perspective and certainly while we mostly played games we also created small programs. Like many others I spent long hours typing out program listings that came in magazines, and learnt rudimentary concepts in BASIC. While I personally took an indirect path into computers I do think these experiences were formative in accepting what was possible and sparking an inherent interest.
Creating a complete computing environment for children and teachers is a hugely ambitious goal. You have to solve hardware, software, content and distribution problems along the way. At the moment the Raspberry Pi team is focusing on the hardware, with an initial developer version due this year. I see the software stack as being a critical portion – you’ll be glad to know that Ubuntu is the OS! It has to be said that although I got into computing with BASIC and a manual I don’t think that’s going to cut it for kids these days: it certainly wouldn’t have cut it for me if there’d been anything like the Net! Moreover, I think we have to accept that the Web is the platform and that the elements of sharing, socialising and interacting are all part of what makes up computing now. So any software stack has to look forward and encompass new elements even when trying to be simple. That said I think the software and languages we have today are a lot stronger and more compelling: whether that’s languages like Python or some of the OLPC environment! Of course, it’s easy for a technical audience to focus on the technology stack but this changes all the time, what’s more important is the content and education contacts.
Clearly, the content will need to address childrens needs at different ages, and working with the education sector so that it fits their needs and understanding is going to be very important. David noted that managing groups of machines was a key need for educators who aren’t technicians. I was struck by the passion and willingness to get involved throughout the room – if that passion can be harnessed it will hold the project in good stead. I’ve love to see Raspberry Pi develop into a full charity with funding from the industry and efforts to work with the education sector.
If you’re like to find out more about Raspberry Pi, and perhaps sign-up for one of their dev boards, then see their site. What do you think about this initiative and on a more general level how can we help get kids involved in experimenting with technology?
We added two classic games, Darwinia and Uplink, to the Ubuntu Software Center this week. It’s been a great journey working with the Introversion team to bring this software to Ubuntu and it’s great to see this result!
I first spoke to Mark Morris, Introversion MD, last summer explaining the concepts around the Software Center and our intent to bring a wider range of applications to Ubuntu users. It was great to explore how this system would work for commercial developers and Mark gave us great perspective on the mechanics of software publishing in the gaming industry.
We used the Introversion example internally when we were working through many of the complexities of the commercial system. And I staid in touch with Mark keeping him up to date on our progress and reflecting on his commentary.
As an Indie developer Introversion has to focus on the future, particularly their current project Subversion. So it was by no means a given that they’d be willing to take on the additional attention cost and effort of a new publishing platform. Sowe were really happy when he agreed to publish Darwinia and Uplink through our platform. And they were fully committed as we worked through putting their software into Ubuntu Software Center.
Both Darwinia and Uplink are great titles that show the quality and range of commercial games and applications that are available for Ubuntu. I hope you support them by buying and enjoying them!
Why wasn’t Google invented in the UK? Where are all the great British software start-ups? Why isn’t there more Open Source in the UK?
That last question may not have come up in the Chancellors budget speech, but it should have. This was my central argument to The Register this week – to move from an economy whose value is “the loan was created in Britain”, to one where it’s “invented, designed and built in Britain” then we need to unleash innovation through Open Source.
You might think it a bit self-serving for me to be pushing Open Source as the answer to the UK’s ills. In fact, as I far too passionately made my points to Lucy Sherriff, it crossed my mind that I could fully conform to my own stereotype of “special pleading corporate PR” by next asking for special tax breaks and complaining about unspecified (but nonetheless burdensome) “red-tape”! Nonetheless, I believe that technology and Open Source have to be key elements in the rebalancing of the UK’s economy.
First, lets put back into the box the idea that the UK cannot do technology, and that we should just leave it to Silicon Valley. The funny thing is that when you pull up the covers on successful valley technology companies you’ll find plenty of Brits. That shouldn’t be a surprise, the education system in the UK is strong, we have a fantastic tradition in science and engineering, and the language/culture compatibility helps. Finally, it completely ignores the evidence of the technology companies we do have, from successful start-ups such as Last.fm through to majors like ARM.
Perhaps it’s that cultural contrarianism that makes us unable to dwell on the positive or accentuate the good. A national character of, you say “tomato”, I say “no, it’s a squashed, bruised, fruit that tastes anaemic and who knows the long-term effects of the pesticides”. So, lets not waste any more bits on this – the UK has great technology capabilities and we should celebrate them!
So why is Open Source an important element in creating an environment that can create success for our technologists and economy? Because, it’s a leveller and a remover of locked-in de-facto networks. Open source releases innovation and provides ways for companies of all sizes to compete, bringing greater competition and delivering more value to everyone.
First, government wants to encourage start-ups and small business. There’s lots of policy options, but a big (perhaps the biggest) lever is government procurement. Our tax money should be used to buy great value technology, provided by local companies if at all possible. Governments know this, but they’re often concerned that small suppliers will fail – it’s a real concern because it happens. Mandating that the technology be Open Source removes that concern. That way if the supplier fails it can be supported and maintained by an alternative supplier. And, in the long-run you create a competitive national set of technology companies that will be employing locally and providing services far more efficiently than a small number of multi-national conglomerates (yes, looking at you Oracle).
Second, Open Source enables a local (ie national) supplier ecosystem to be created. Fundamentally, if our technology companies just resell proprietary software that’s developed by the large multinationals they will lack the skills to innovate and create on their own. Open Source is customisable and enables the suppliers to develop the same skills that will be needed to create products. There’s no black-boxes in Open Source, so if someone spots an opportunity or a gap they can understand it and innovate from there.
Third, Open Source provides more flexible and capable systems for end-users. My biggest fear about proprietary software is that it destroys enquiry in our children and students – it’s a curiosity trap. How many of the stories about great inventors (whether software or not) start with them taking apart everything they could get their hands on, from clocks to cars. They had a spirit of enquiry, a curiosity to understand and then improve.
In this era Open Source is the biggest library of software on the planet. In any domain, sphere or software idea there’s an Open Source project and some of the most skilled developers on the planet out there working on it. And everyone can read, understand and enquire – how short a step is it for the imagination to be fed and the idea of improving to occur? It’s terrible to anaesthetise our children and students with the idea that they shouldn’t look under the hood or understand what’s happening. That’s exactly what proprietary software does. And we risk missing the next Steve Jobs or Bill Gates because of it.
So really George (Osbourne in this case), stop throwing tax dollars at bribing multi-national banks to keep taking space in Canary Wharf. Unleash the UK into the forefront of the global technology revolution by adopting an industrial policy that develops technology as a key area, and for goodness sake make Open Source part of that mix. You know I’m right!
Canonical is looking for a software business development consultant focusing on helping consumer third-party developers (ISV’s) and content providers bring their products to Ubuntu. It deserves a bit of background and an explanation of why this is important for Ubuntu.
Let me start with a slight digression: I went skiing over the holidays but forgot my GPS, it was a bit annoying as I like to keep a record of where I’ve skied off-piste. Luckily, I had my phone so I simply purchased, downloaded (Over-The-Air) and installed a GPS app. If you stop for a second, this is a pretty amazing capability. Even a few years ago the idea of using my phone in this way wouldn’t have been in the realms of possibility – but increasingly every device we have is multi-functional and extended by third-party software capabilities. In fact, any platform that doesn’t have this flexibility is at a severe disadvantage.
If you’re a software device manufacturer or consumer operating system vendor it’s no longer sufficient to scope your capabilities to driving the hardware and providing the core experiences. Users expect their devices to be ubiquitous, connected and social which means that platforms need to be personal and flexible to their needs. So every consumer device OS needs to be a (for want of a better label) “software platform” that can be used to create those experiences along with an active developer ecosystem creating them. It’s this set of consumer expectations that drives Android and iPhone to put so much pressure on ‘apps’ and even in contexts like the desktop this is happening (ie Mac App Store). But it doesn’t end there, applications are only half the story, content (whether created or consumed) is an integral part of the desired user experience.
This is why as Ubuntu expands as a consumer platform we need to build the range of software and content experiences for our users. Each month we ship on a larger range of devices (desktops, laptops and mobile devices), which reach a wider set of consumer users (both in experience and geography) so the overall needs of our users are broadening and deepening. Ubuntu users want the latest games (can anyone say Angry Birds), entertainment (e.g Boxee) and productivity applications. The Ubuntu Software Center creates a system so that third-party developers can reach Ubuntu users, distribute their software and monetise through the Ubuntu playment platform.
As I said earlier, software and content are somewhat bound together from a user perspective: is Spotify software or content for example? So from an Ubuntu user perspective we also need to think about each media and content experience and work with partners to deliver those to them. We’ve already done lots of work with UbuntuOne and music, but there’s all sorts of additional media experiences that need development.
So our long-term objective is to create a large ecosystem of third-party software applications for Ubuntu consumers which are distributed and sold through the platform. In addition, we are seeking to work with third-party content providers such as music, movie and e-book vendors to deliver the range of content that consumer users expect. I’m excited about this area for Ubuntu and for our partners so today we’ve created a new software business development role: if it’s something that excites you and you have the right experiences I’d encourage you to apply.
When I started using Linux in the mid 90’s almost all of the developers were part-time, even Linus Torvalds had another job and did kernel development part time. These days many of the core Linux projects (from the kernel through to Firefox) have full-time paid developers. Consequently, Open Source has been able to progress more in the last 10 years than the previous 20 years of development.
However, there’s still no independent software industry around the platform: I mean by this development shops that create application software for Linux. This is a problem. On the developer side it means we often lose programmers to other platforms as they move across to a space where they can earn a living. On the user side it prevents a range of users from using Linux because the range of software isn’t there to suit their needs. Both sides of this equation need to be solved for Linux to become a mainstream desktop platform. It’s these long terms problems that we’re trying to impact through the software center and the related threads.
If you look at other platforms, such as Mac, you see there’s a strong hobbyist or casual developer group who are very influential. This group has often made the most exciting, compelling and breakthrough applications and utilities. When the Mac desktop wasn’t cool (ie OS 9) this group kept the platform alive by creating great new software for users. It’s also this type of developer who was the first to adopt the ipod/iOS application space and who has been so important advocating the platform. These developers create software because they love doing so, and they get a positive kick out of the direct and indirect appreciation from users.
Free Software developers often cite the community aspect of being in the open as a driver for working on software. But there’s fewer ways for a user to show direct appreciation for the work. So we’ve been thinking about adding the ability for Ubuntu users to donate to free software applications that they love. It will provide a way for users to show their appreciation, and this positive feed-back will encourage the developer to keep cranking out great software. My expectation is that the value of donations will be in users showing their love and that it will provide for the odd “free beer”.
From a user perspective the experience will be that they’ll switch on donations and charge their account. They’ll then be able to donate to individual applications within the software center. It should be a straightforward user-experience but the variety of requirements to fulfill this properly is complex. There’s core problems like storing money within an account, how you process transactions and what the user can see within Software Center – I’m sure they’d like to see what they’ve donated to for example.
On the developer side of the equation the experience should be that a software project registers for donations and provides financial details. Then when some set of donations is received it’s paid out to their account. The core part of the discussion at UDS was around how you identify the right person to give the donations to. This a difficult problem. The proposal for the initial release is that we’ll switch on donations for software which has a foundation and has the legal structures to receive donations.
It’s a really exciting idea and one I believe will make a difference to encouraging free software. If you’d like to give feedback or track development add yourself to the blueprint.