Asus 1008HA with Ubuntu 9.10 Karmic Koala Alpha2

Following my earlier post about getting the Microsoft Tax on the Asus netbook refunded very efficiently and painlessly by Amazon, I’ve been doing a little reading, formatting, re-partitioning, installing and updating.

The newest PC in The Open Sourcerer’s household is now duly christened, cleansed and freed from proprietary software hell and will, from this moment forth, be known as Magrat. All our machines are named after characters from the Discworld novels by Terry Pratchett.

I thought I’d take a quick screenshot:

magrat running Ubuntu 9.10.

magrat running Ubuntu 9.10.

That’s me being filmed by the built-in webcam and I have printed a list of the disk partitions showing that there are now no NTFS or FAT left. The fourth partition was already on the disk and is for Asus’ “Boot Booster” utility which, from what I can tell simply dumps the BIOS and the results of some the POSTs into this partition and it causes the unit to get from power up to grub in about 1/2sec flat! So I thought I’d leave that one for now.

I re-partitioned the HDD to have a 15GB Ext4 partition for /, about 135GB for /home using ext3, and a 2GB swap partition.

Apart from a minor hiccup early on with the eth0 device disappearing, probably due to my incompetence rather than anything else, everything seems to be working as it should. The Wifi was detected, the screen looks great, the webcam, speakers and mic all work. I chose Karmic as the WiFi hardware for this netbook is a fairly recent addition to the Linux kernel and although it seems to be supported in the more recent Jaunty kernels, there still seemed to be some issues on various forums, whereas one contributor reported a perfect install using Karmic very recently.

So here’s the Asus Eee 1008HA PC running the regular Desktop version of Ubuntu Karmic Koala 9.10 Alpha 2 (I’ve removed several stickers from the area below the keyboard. These were telling me about some proprietary OS that I didn’t want in the first place):

Magrat in the flesh.

Magrat in the flesh.

I may well use the UNR (Ubuntu Netbook Remix) edition one day, but I do like having Compiz and multiple desktops around; something that doesn’t really “fit” with the UNR interface. But the cool thing is I have the freedom to choose…

For those interested in knowing more about the hardware of the Asus 1008HA, here’s the output of lshw, lspci -v, and dmidecode.

New Thoughts on the UK Government Open Source Action Plan

Remember when, back in late February, the Cabinet Office released their “Open Source, Open Standards and Re–Use: Government Action Plan”? Myself and many other FOSS commentators were obviously heartily encouraged and have talked about it and examined the policy in some detail.

I was going back over the document recently and something quite important struck me that I had missed completely the first time round; there is a distinct lack of consideration for one particular group of “stakeholders”. A particular group of very important stakeholders that should be one of the key beneficiaries of the whole policy.

Can you guess who I mean yet?

You.

Yes, the tax paying public. The group that actually consumes the services and output of Government. The group that pays the bills. The group that needs and should be guaranteed free and open access to public information; especially now after the recent ‘expenses revelations’.

Yet, reviewing the policy as a whole it seems remarkably introspective. Only examining how FOSS should or could be acquired and used within Government for Government. And it really only discusses the expectations and implications of increased use of FOSS for itself alone. It is as if the Government are acting only for themselves. <sarcasm>Surely not?</sarcasm>.

The key objectives will be to:

  • ensure that the Government adopts open standards and uses these to communicate with the citizens and businesses that have adopted open source solutions
  • ensure that open source solutions are considered properly and, where they deliver best value for money (taking into account other advantages, such as re–use and flexibility) are selected for Government business solutions.
  • strengthen the skills, experience and capabilities within Government and in its suppliers to use open source to greatest advantage.
  • embed an ‘open source’ culture of sharing, re–use and collaborative development across Government and its suppliers, building on the re–use policies and processes already agreed within the CIO Council, and in doing so seek to stimulate innovation, reduce cost and risk, and improve speed to market.
  • ensure that there are no procedural barriers to the adoption of open source products within government, paying particular regard to the different business models and supply chain relationships involved.
  • ensure that systems integrators and proprietary software suppliers demonstrate the same flexibility and ability to re–use their solutions and products as is inherent in open source.

Even the first objective above targets only those consumers that have already adopted FOSS solutions themselves. There is very little (and I’m being generous) mention or apparent consideration of the public citizen and the benefits that adopting Open Standards/Open Source will bring in terms of ability to access information without needing to acquire proprietary software to do so. There should, IMHO, be another “spoke” to the Government’s policy that provides for a basic level of education of these benefits to the public in general and the public sector employee too.

In my company we tend to meet and deal with individuals who are quite well-informed and will have (at least) a basic understanding of FOSS. They have probably heard of OpenOffice.org for example. But if you were to have that kind of conversation outside of the IT sector you will often be met with blank stares or gasps of “But how can it be free?” or “What’s the catch?”. It is these people who need to be contacted and helped so they may make an informed choice about the software they use on their home computers. Today many do not know they even have a choice (try asking you neighbours if they have heard of Ubuntu). It is – the way I see it – the responsibility of our Government to provide some base-level of information; the proprietary software vendors won’t pay to advertise FOSS and, to be totally honest, I don’t really see why they should be forced to in a free market.

You might think to suggest that is up to companies like ours to do this promotion. And we do to the best of our ability and as finances will allow. But, like many others, we are not a large company and do not have hundreds of thousands of pounds or more to spend on that kind of education. In fact, I was contacted last week by someone working “on behalf” of the Cabinet Office and a publication that is destined to go to all Local Government departments around the UK to help spread the word about the new policy and action plan. We were asked initially what we did and then if we would be interested in being included in this government sponsored and distributed “book”. It sounded very interesting. Until that was, they said it was going to cost us £4000 to have our company details in this register for just 6 months!

That hardly sounds like an “inclusive” and helpful exercise does it? Who are they going to get paying that kind of money? Just how much does this “book” actually cost to produce? And how many copies will be printed? And why are they still using books and paper anyway? It’s contents will almost certainly be out-of-date before it even gets distributed. Sheesh.

There is still, clearly, a very long way to go before our Government really starts to “get it”…

If John Suffolk or any other Government (or opposition) policy makers would like to discuss these issues further and hear how we think we could help to get the “message” out in a more inclusive, effective and less expensive way, please get in touch with us via our company web site. I have tagged this article with the requisite #ukgovOSS so I am hopeful that it will be picked up.

Book Review: Asterisk AGI Programming with Packt

[Please Note: If you follow the book links from this site to Packt’s and decide to buy *any* book from their site, we will get a small commission that we’ll use towards the upkeep of our servers etc.]

Asterisk Gateway Interface ProgrammingAs you may have read previously, I was approached by Packt Publishing to see if I would like to review their new book on AGI Programming by Nir Simionovich. Time has conspired against me to actually use it for a real project so instead I resorted to choosing it as my bedtime reading for a few days.

I’ve now read the book and first off I’d like to thank Packt for asking me. I have enjoyed it far more than I thought I would. As for how to review it, I thought I’d give my overall impression and then just go through it chapter by chapter.

It isn’t a long book – about 190 pages – which to my mind is no bad thing. It managed to concentrate on the subject and had little in the way of superfluous text and language (Apart from chapter 1 that is). The author knows his subject well and writes in a fairly informal and easy-to-read style which I personally quite liked. The meat of the book concentrates on – as you would probably guess – programming with AGI and focusses almost exclusively on using PHP. As much as I am happy around PHP, I would have liked to see some examples with alternative languages such as Python perhaps. The subtitle of the book is “Design and Develop Asterisk-based VoIP telephony platforms and services using PHP and PHPAGI” so I guess that’s why other languages don’t get much of a look in. They are mentioned here and there and there are some good links to various other libraries and open source projects. I did like the fact that he mentioned throughout the book – where necessary – the functional difference between the main versions of Asterisk (1.2, 1.4 and 1.6) and ways to deal with those differences when you come up against them.

OK – so here is my chapter-by-chapter review:

Sorry, but I didn’t really get the first chapter at all. This is a book aimed at programmers and developers and yet the first chapter was a repetitive cut-and-paste of how to build the various asterisk components from source, including lots of screen shots showing the output of things like ./configure which personally I found a bit trivial and uninteresting. I was a bit concerned that the rest of the book was going to follow suit but thankfully I was mistaken.

Chapter 2 is really good. It explains the workings of Asterisk’s dialplan and applications – the infamous extension.conf – in a very clear and understandable way. I recall when I first started to look at Asterisk and was delving into as much information on-line as I could get, the Asterisk TFOT book [pdf download] and whatever else I could find, that it was several days before the penny finally dropped. It isn’t difficult really but it isn’t quite the same as “normal” programming or scripting concepts and the language itself is far from obvious (e.g. an extension is not the phone on your desk in Asterisk’s configuration files). But then this is telephony we are talking about. Using the example of a basic IVR or AA the author examines the diaplan syntax and construction.

So I got quite a lot out of chapter 2. I thought it was well written and clear and useful. Chapter 3 develops the IVR theme further, introduces other features of the Asterisk application pool and covers the scripting language in more detail examining branching, expressions, operators and flow control. It’s a fairly short chapter but covers a good deal of ground if you are unfamiliar with Asterisk programming.

Your level of knowledge and familiarity with Asterisk will dictate what you get from this first section (Chapters 1-3). Although I have used Asterisk for a couple of years now and have felt quite comfortable with the platform’s configuration and use, I got quite a lot of new information and ideas from this early part of the book. For me, this initial part has been very useful and will be a good reference for the future. I think, though, if you are very familiar with Asterisk then you might find it a bit slow going. The book hasn’t examined AGI whatsoever up to this point and we are about a third of the way through already! The author does suggest that a coffee is a good before starting on Chapter 4 as “the journey becomes more and more complicated”…

Chapter 4 introduces the reader to AGI in a fairly gentle way and also offers 10 “rules” to help make your AGI programming more successful – they all make sense to me and will I’m sure prove to be a very useful monitoring/checking tool. Packt sent me an extract from this chapter which you are free to read here if you want to get a flavour of it.

The following chapter introduces us to some real code (PHP) and we build our first, simple AGI application. Nothing to hard, but a useful introduction into how to actually get the conversation happening between Asterisk and your script. There are couple of nice flow charts which are helpful for visualising the traffic flow back and forth between Asterisk and your script too. Again not too complicated but helpful in getting the novice AGI programmer, i.e. me, thinking about things the right way.

In chapter 6 Nir examines and recommends the use of a set of PHP classes (library) called PHPAGI. Being completely new to AGI programming I am in no position to contradict the author’s recommendation, but looking on the Sourceforge site for this library, it is quite old and has not been updated for 3 years or more. Of course that may be because it is perfect and needs no further development, or there might be other reasons but I would have really liked to have had some more discussion regarding this choice of library before continuing – just for my own piece of mind more than anything else. Perhaps if Nir reads this he could leave a comment about this? My own assumptions after reading the rest of the chapter are that the AGI interface itself is fairly simple and so – perhaps – the need for a more dynamic or complex library is just not there and this one does the job just fine. Anyway, the rest of the chapter we look at a new AGI application using the class library above and also we discover the main – and what seems to me to be a first-class – concept for building AGI applications: Atomic AGI or Particle Programming. Sounds great doesn’t it? It really does make a lot of sense. Basically it’s a bit like the traditional ideals behind Unix/Linux command line applications; write small applications that do one thing and do it well. To summarise then, in chapter 6 we are shown the author’s recommended path to AGI Nirvana through adopting some rules, and practices. It is hard for me to draw any solid conclusions from his approach as I am a novice with AGI and so have nothing by way of comparison, but it certainly seems to make a great deal of sense and is clear and well explained. Good stuff.

The remainder of the book goes a bit wider than just pure AGI. Chapters 7 and 8, examine some of the closely related applications and facilities of Asterisk. We get an overview of FastAGI (AGI over TCP) and Nir shows us some further PHP libraries that are available to assist with producing FastAGI applications. Chapter 8 offers an overview of the AMI (Asterisk Manager Interface) and some example code to get you started.

In the penultimate chapter, the reader is given a challenge: to create an application that is used in the real world – an Asterisk Call Recording Gateway. There is no code in this chapter – that’s for you to do. But Nir provides some useful guidance about the way to think about the development and plan the project itself.

And finally, chapter 10 discusses how to make sure your Asterisk applications can scale and offers several ideas and techniques to improve performance such as database query caching and using web services.

As I said at the beginning – I enjoyed reading this book much more than I thought I would. It is not overly technical and Nir has an engaging style of writing. The book is a great introduction into Asterisk programming. It is not “The Bible of Asterisk Programming” and does not set out to be. It is clearly aimed at developers who have not had much to do with Asterisk before but are familiar with traditional programming methods. I really liked the fact that it is quite short. You can read the whole book in a couple of evenings and being laid out the way it is it will become a very useful reference document for me in the future.

Nir Simionovich has a blog.

Vietnam: Will be 100% Open Source

I know this isn’t exactly “new” news, (it’s 2 days old and has appeared on /. I understand) but to me it is really important and should be shouted from the rooftops.

VietNamNet Bridge – The Ministry of Information and Communications has issued an instruction on using open source software products at state agencies.

Accordingly, by June 30, 2009, 100% of servers of IT divisions of government agencies must be installed with open source software; 100% of staffs at these IT divisions must be trained in the use of these software products and at least 50% use them proficiently.

Get that! 100% of servers be installed with FOSS (I wonder if they will use Ubuntu?) by the middle of this year.

I mean WOW! Somebody tell Gordon will they?

The article goes on to discuss the desktop, although I guess some of the clarity has been lost in translation but:

Open source software products are OpenOffice, email software for servers of Mozilla ThunderBird, Mozilla FireFox web browser and the Vietnamese typing software Unikey.

The instruction also said that by December 31, 2009, 70% of servers of ministries’ agencies and local state agencies must be installed with the above open source software products and 70% of IT staff trained in using this software; and at least 40% able to use the software in their work.

The above agencies are requested to increase the number of documents and information exchanged among them processed by the above software. By December 31, 2010, all staff at these agencies must be able to use open source software in their jobs.

This is pretty amazing. A sovereign government, mandating the use of FOSS and open standards for document exchange too. And let’s not forget that will bring massive benefits to the Vietnamese citizen. No longer will they have to go and buy, or possibly pirate (see below about cracked software), copies of proprietary software to exchange documents. They can all happily go and use Free Software safe in the knowledge that their government will be able to accept their documents.

I’d like to see what happens if you sent Gordon a letter in ODF?

There is a final, short sentence to this news item that also made me sit up and take note:

The instruction also requests that computer traders not sell PCs installed with cracked software, but open source ones.

BANG goes the Microsoft TAX in Vietnam.

Congratulations to every one who made this happen – I dread to think how much lobbying must have gone on behind closed doors before they got to this point. Can you imagine how M$ must have reacted???

And please pass this story on. I believe this is an announcement worthy of spreading far and wide.

Here’s the URL in it’s full glory: http://english.vietnamnet.vn/tech/2009/01/822425/.

BETT 2009

Next week, we’ll be exhibiting at BETT, “the world’s largest educational technology event” in Olympia, London from the 14th to the 17th January.

On our stand (SW104) “The Open Source Precinct” with our friends at the OpenForum Europe we will be:

… promoting the benefits of Open Standards and the Free and Open Source Software Community. This global community creates high quality software that is Free for everyone, and best of all, the code is open so anyone can study how the software works and make improvements. Open Source and Open Standards create a lower cost, more open and competitive ICT market. Visit us to see (and play with) software for students and staff and learn where you can get local support from IT companies and user groups to get you started.

Please drop by if you are coming and say hello. Or if you know of any educators who are going, mention us to them. The educational world really needs FOSS right now more than ever before. But publicising it against the backdrop of vast marketing budgets and political influence is hard.

Think about it.

  • Do you have kids who go to school?
  • Do you still go to school?
  • Do you teach?
  • Do you pay tax?
  • Do you care about the future?

If you can answer yes to one or more of these questions then FOSS in education really matters.

Do you want our Government and education system to waste your money on proprietary software like Windows, Anti Virus Software, Office 2000, 2003, 2007 etc and simply teach us how to use these products? “Just press CTL+ATL+DEL when it stops working Jonny”

Or would you prefer to spend the money on more teachers, buildings, hardware etc and teach us how to use any computer and how the software works and how to improve it and how to collaborate and how to communicate and and and?

We will have Edubuntu running on all our PCs, and lots of interesting applications to see and touch and play with.

Ubuntu and aptURL

They say you learn something new everyday don’t they? I came across a little gem in this article, via the Ubuntu Weblogs aggregator that really surprised me! Now, this may be well known, but I hadn’t seen it before. So I guess that this might be of interest to others too…

When I’m working on something I like to have a clear overview of what I’ve done and what I still need to do. I’ve never really found a good way to do that in a visual way, but lately I read about a mindmapping tool for Linux called View Your Mind, which you can find in the repositories as vym. Install VYM.

The last hyperlink in the quote above Install VYM uses a great tool I wasn’t aware of at all. Something called aptURL. If you click on the link in Ubuntu Gutsy, Hardy or Intrepid, you will be asked if you would like to install the software directly. How bloody cool is that? And more to the point, how come I hadn’t come across it before?

It’s a really simple syntax. Something like:

Text for install link

would do the trick.

And there is a man page for apturl if you want to know a bit more:

APTURL(8)                                                            APTURL(8)

NAME
apturl – graphical apt-protocol interpreting package installer

SYNOPSIS
apturl [options…] <URL>

DESCRIPTION
apturl is a simple graphical application that takes an URL (following the apt-protocol) as a command line option, parses it and carries out the operations that  the URL describes (that is, it asks the user if he wants the indicated packages to be installed and if the answer is positive does so).

USAGE
apturl just needs an URL conforming with the apt-protocol in order to work. Additionally, it recognizes the following options:

-p, –http-proxy
Use the given HTTP proxy in order to download the packages.

EXAMPLES
apturl apt:pidgin,pidgin-plugin-pack
Installs Pidgin and Pidgin Plugin Pack (if the user confirms).

apturl apt:freevial?section=universe
Enables the “universe” component and installs package  Freevial.

apturl apt+http://launchpad.net/~mvo/ppa?package=2vcard
Installs  2vcard  from the indicated PPA (if the user confirms), and afterwards asks if the PPA should be removed again or it should remain enabled.
Warning: This is currently disabled because of security concerns.

EXIT CODES
0      All requested packages have been successfully installed or were already installed.

1      The user aborted the installation of one or more packages.

2      There was an error doing the requested operations, or the user aborted the installation while Synaptic (and not apturl  itself) was working.

3      The arguments with which apturl was called were incorrect (e.g., it was called without any argument or the given URL was  wrong).

BUGS
Please report any bug on https://bugs.launchpad.net/ubuntu/+source/apturl.

SEE ALSO
synaptic

AUTHORS
apturl was written by Michael Vogt <michael.vogt@ubuntu.com> for Canonical, Ltd. and this manual page by Siegfried-A. Gevatter <rainct@ubuntu.com>.

It is released under the GNU General Public License, version 2 or any later version published by the Free Software Foundation.

September 01, 2008                     APTURL(8)

I’ll certainly remember that for the next time I write a post and suggest a package for installation or testing.

« Previous PageNext Page »