LUG Community Blogs

Jono Bacon: Testing and Instrumentation

Planet WolvesLUG - Wed, 16/05/2012 - 05:16

Recently I have been talking a little about building quality and precision into Ubuntu Accomplishments. Tonight I put one of the final missing pieces in place and I thought I would share in a little more detail about some of this work. Some of you might find this useful in your own projects.

Before I get started though, I just wanted to encourage you to start playing our software and for those of you that had a crash when using certain languages with the Accomplishments Information viewer, I released a 0.1.2 update earlier that fixes this.

Automated Testing

As we continue to grow the Ubuntu Community Accomplishments collection it is going to be more and more complex to ensure all of the accomplishments are working effectively every day; we are already at 28 accomplishments and growing! What’s more, the community accomplishments scripts work by checking third-party services for data (e.g. Launchpad) to assess if you have accomplished something. These external services may change their APIs, adjust how they work, add/reduce services etc, so we need to know right away when one of our accomplishments no longer works and needs updating.

To do this I wrote a tool called battery. It works by reading in a test that is available for each accomplishment that feeds the accomplishment validation data that should succeed and also data that should not validate. As an example, for the Ubuntu Member accomplishment the data that succeeds is an existing member’s email address (such as my own) and the test for failure is an email address on Launchpad that is not a member. The original script requires the user’s email address to assess this accomplishment, so battery tests simply require the same types of information, with data that can trigger success and failure.

This approach allows us to test for three outcomes:

  • That the valid email address returns exit code 0 (the script ran successfully and the user is verified as being an Ubuntu Member).
  • That the invalid email address returns exit code 1 (the script ran successfully but the user is not an Ubuntu Member).
  • If the script has an internal issues and returns exit code 2.

The way this works is that battery includes a customized version of the general accomplishments.daemon module that we use for the backend service. In the code I override the back-end module and load a custom module. This way the original accomplishment script does not need to be modified; instead of get_extra_information() calling the back-end daemon and gathering the user’s details, the custom module that comes with battery instead has it’s own get_extra_information() that gets returns the test data so battery can run the tests.

Originally battery only output textual results, but this would require us manually running it. As such, last night I added HTML output support. I then enabled battery to run once a day and automatically update the HTML results. You can see the output here.

There are a few important features in this report other than a list of all the accomplishment test results:

  • It shows the failures: this provides a simple way for us to dive into the accomplishments and fix issues where they occur.
  • It shows which tests, if any, are missing. This gives us a TODO lists for tests that we need to write.

While this was useful, it still required that we would remember to visit the web page to see the results. This could result in days passing without us noticing a failure.

Tonight I fixed this by adding email output support to battery. With it I can pass an email address as a command-line switch and battery will generate an email report of the test run. I also added battery‘s default behavior to only generate an email when there are failures or tests are missing. This prevents it generating results that don’t need action.

With this feature I have set battery to send a daily “Weather Report” to the Ubuntu Accomplishments mailing list; this means that whenever we see a weather report, something needs fixing.

One final, rather nice feature, that I also added was the ability to run battery on one specific accomplishment. This is useful for when we are reviewing contributions of new accomplishments; we ask every contributor to add one of these simple tests, and using battery we can test that the script works for validation success, validation failure, and script failure with a single command. This makes reviewing contributions much easier and faster and improves our test coverage.

Graphing

Something Mark Shuttleworth discussed at UDS was the idea of us building instrumentation into projects to help us identify ways in which we can make better decisions around how we build software. This is something I have also been thinking of for a while, and to kick the tyres on this I wanted to first track popularity and usage of Ubuntu Accomplishments before exploring other ways of learning how people contribute to communities to help us build a better community.

Just before we released version 0.1 of Ubuntu Accomplishments, I created a little script that does a scan of the validation server to generate some statistics about the number of daily new users, the daily number of new trophies issued, and the totals. Importantly, I only count users and trophies, and I am only interest in publishing anonymized data, not exposing someone’s own activity.

To do this my script scans the data and generates a CSV file with the information I am interested in. I then used the rather awesome Google Charts API to take my CSV and generate the Javascript need to display the graph. Here are some examples:

While this is not exactly instrumentation, it got me thinking about the kind of data that could be interesting to explore. As an example, we could arguably explore which types of contributions in our community are of most interest in our users, how effective our documentation and resources are, which processes are working better than others, and also some client side instrumentation that explores how people use Ubuntu Accomplishments and how they find it rewarding and empowering.

Importantly, none of this instrumentation will happen without anyone’s consent; privacy always has to be key, but I think the idea of exploring patterns and interesting views of data could be a fantastic means of building better software and communities.

Categories: LUG Community Blogs

Richard WM Jones: rich

Planet GLLUG - Tue, 15/05/2012 - 20:43

The OCaml Users and Developers Conference (14th September 2012, Copenhagen) is looking for speakers!

I’m intending to submit a talk on using OCaml for code generation in libguestfs.


Categories: LUG Community Blogs

Jono Bacon: Accomplishing An Awesome App Developer Platform

Planet WolvesLUG - Tue, 15/05/2012 - 06:51

At the Ubuntu Developer Summit last week I delivered a plenary on the Tuesday called Accomplishing An Awesome App Developer Platform that tells the story of how the Ubuntu app developer platform enabled me to build the Ubuntu Accomplishments system that I designed with Aq. The presentation walks through the story of how we designed the system, and how everything was available in Ubuntu to create the client, back-end daemon, validation server, and desktop integration. I think it is a good example of how Ubuntu can help app devs to create interesting ideas and apps.

I thought this might be handy to have on YouTube, so I re-recorded it today, and you can see the video below:

Can’t see it? Watch it here!

If you want to create your own application for Ubuntu, be sure to visit developer.ubuntu.com.

Categories: LUG Community Blogs

Jono Bacon: Ubuntu Community Accomplishments Collection 0.1.1 Released

Planet WolvesLUG - Mon, 14/05/2012 - 21:12

I just released a new update for the Ubuntu Community Accomplishments collection. This new release (0.1.1) includes the following new community accomplishments:

  • Accomplishments Contributor
  • Attend LoCo Team Event
  • Bug Squad Member
  • Ubuntu Forums Council Member
  • Ubuntu Forums Staff Member
  • Imported an SSH Key
  • Ubuntu Beginners Team Council Member
  • Ubuntu Beginners Team Member
  • Bug Control Member
  • Ubuntu Forums Ubuntu Member
  • Launchpad Profile Mugshot is now fixed too.

Thanks to Silver Fox, Michael Hall, Matt Fischer, Rafal Cieslek, Angelo Compagnucci for contributing these additions! It is wonderful to see our community growing!

If you want to contribute accomplishments, be sure to see our guidelines, some suggestions, and how to get started!

If you are already running Ubuntu Accomplishments 0.1, you just need to do the following to get the new set:

sudo apt-get update sudo apt-get upgrade

If you are running the daemon, kill it first with killall -9 twistd and then load Accomplishments Information from the dash.

If you are new to Ubuntu Accomplishments, be sure you have your Ubuntu One set up and running on your computer, and then follow these installation instructions.

Categories: LUG Community Blogs

Matt Revell: Asus Zenbook UX31 running Ubuntu: first impressions

Planet WolvesLUG - Mon, 14/05/2012 - 19:00

Last week, I finally gave in and bought a new laptop. I wanted something small and lightweight, yet reasonably powerful.

I discounted the MacBook Air on a couple of counts: the increased cost and the potential for extra hassle getting Ubuntu running.

My two choices were the Dell XPS 13 and the Asus Zenbook. The Dell was my first choice: Project Sputnik, the fact Mark has just got one and its size were all in its favour.

The Asus is a good looking machine and has had good reviews. Some dislike the keyboard, but it has been okay for me. However, the Dell feels like it has more momentum amongst the kind of people I work with and the people who make Ubuntu work well on laptops.

After much thought, and a few conversations, a couple of things pushed me away from the Dell: the trackpad isn’t yet well supported in anything other than Windows and it’s a touch more expensive than the Asus.

So, after a few days with the Asus, here’s a quick run-down:

  • It really is very thin, lightweight and looks great.
  • The keyboard is okay; not perfect but not terrible.
  • The battery life under Ubuntu is mediocre; three or four hours under light usage.
  • Wifi range is a joke; seriously poor.
  • Despite being advertised as supporting 5GHz wifi, it sees only 2.4GHz networks.
  • The trackpad does not switch off when typing; very frustrating in use and, also, I could probably have got the Dell.
  • Sound quality is very good.
  • The screen resolution is good and, for my purposes, colours and contrast appear to be good.

I’ll report back when I’ve started to tackle some of these issues.

Categories: LUG Community Blogs

Peter Cannon: Rathole Radio 2012

Planet WolvesLUG - Mon, 14/05/2012 - 12:54


So it’s that time again when we all head off to Liverpool for Dan Lynch’s Rathole Radio, as usual Matthew Copperwaite travelled up from the small village of London to Castle Cannon in the West Midlands and arrived while I was watching Mel Gibson leaving no one behind in ‘When we were soldiers’. Full of excitement I opened the front door to be greeted by Matt clutching a pathetic bouquet of flowers! “These are for you.” he said “you’re always moaning that I never bring you flowers.” Bastard, he knows full well I like lilies! After spending some time recovering from his journey Matt and I set off for Liverpool, I always like to take Matt on a little bit of a detour rather than taking the shortest route to the M6 so that he can sample the delights of the West Midlands the first 20 minutes or so of our journey was pretty uneventful however when we hit the M6 OMG! The traffic was horrendous, every 5 to 10 minutes it was stop start stop start and this was in the fast lane, it has to have been one of the worst journeys up Matt and I have done in fact on one occasion we nearly died when I took my eye off the car in front for literally a split second.

Now I was determined on this occasion that we would not get lost I had downloaded the directions from Google maps even though this is the third time I have done the journey, it clearly states on the directions to get off at junction 21a and follow the M62 to the 5080 now this is where we got lost before so we start to follow the directions and yes you guessed it we was on the wrong road “Fook this” I said “I’m going back to the 62.” So we headed back to the 62 and followed it down into Liverpool which miraculously turns into the 5080  how stupid is that? On the outskirts of Liverpool we could clearly see Ubuntu’s new venture, they are going into house refuse collection as there was a sea of purple wheelie beans everywhere presumably these are collected by the Ubuntu-cart. We headed on down into the city centre totally ignoring the directions we had with me repeatedly saying “we just need to head for the sea.” Yeah that worked really well didn’t it? So having gone round the block we decided to follow a bus which clearly had better directional sense than we did. Now I should say here that we was looking for the Q car park Liverpool 1 I had looked on Google maps, street view, and could see how you got out of the car park but could not for the life of me find the way in. The Strand is a very busy road with three lanes of course we was in the left-hand lane and needed to be in the right-hand lane I tried looking like a lost tourist at the cop car next to us in the hope that they would let us cross in front of them but we obviously didn’t look criminal enough as they just drove off.

Having managed to cross the three lanes into the right-hand lane we travelled a little further on and Matt spotted a ramp in the middle of the road going down into the bowels of the earth “aha, this must be the entrance?” As we descended down we drove across the worst rumble strips I have ever driven over in my life I don’t know about slowing us down but it certainly nearly made me shit myself. I have to say I have never parked in such a posh car park, blue mood lighting adorned the subterranean cavern and this car park was huge. We found a space and retrieved our bags from the boot and set off looking for the exit, on our way we accosted an unfortunate local woman “excuse me can you tell us how we get out of here?” The poor woman led us to the lifts “you don’t happen to know where the travel Lodge Strand Hotel is do you?” The woman led us outside and directed us in the general location of the hotel, Matt and I set off in the lovely weather we was having on that day, it was pissing down. As the bedraggled pair shuffled along the Strand heads sunk into our shoulders for protection we tried to find the hotel “I’m sure it’s on the docks” I said then suddenly out of the corner of my eye there in 20ft letters was the Strand, unusually reception is on the first floor and as we came out of the lift we was greeted by a party of hen nighters trying to book in. Matt, ever the geek, used the booking in console and had his door key straight away I of course was determined to hand over my scrap of paper confirming my booking to a human being, yeah I’m old school, bite me.

“What shall I do give you knock in about an hour?” Said Matt, “Na, I’ve changed my mind I’m not going to have a shower now I’m just going to have a shave and change. Just come in about 20 minutes, don’t panic I won’t be naked.” twenty minutes later there was a knock at the door and I opened it naked from the waist up clutching a towel to my face trying to staunch the blood!
“You bastard, you promised you wouldn’t be naked!” said Matt, never mind the fact that the lovely white towel was covered in blood and looked like some heinous murder had been committed all he was worried about was seeing my hairy chest. Having managed to stem the flow I dressed and we set off to retrieve my phone which I had accidentally left in the car this meant traipsing all the way back to the car park which by now we had a good idea how to get to, having retrieved the phone we got back into the lift and arriving at the shopping level the lift announced “shopping and shop mobility.” which was hysterical given there was still a flight of stairs to be negotiated, how on earth is a wheelchair bound person going to get up those stairs?

We set off for Wetherspoon’s which is where some of us met up last year, as we walked through the city centre a voice called out “Hello” scared that we was going to be asked if we could loan the owner of the voice 24p we picked up the pace, “It’s Dick Turpin in’t it?” I was cornered I had no choice but to own up. There in front of us was Matt Molyneaux, maybe he had been there all day waiting to ambush us? Moggers needed to go back to the hotel so we told him where we would be and carried on I thought it would be a good idea to announce on G+ where we was meeting so, wait for it, I typed ‘witherspoons’ Matt said “what the hell is witherspoons? It’s Wetherspoon’s how can you get that wrong? It’s the biggest national pub chain in the UK!” He’s horrible to me you know. What always makes me smile in this pub is all the girls with rollers in their hair who are having a pre-night out drink I think I’ve only ever seen this in Liverpool? After a short while Matt’s mate texted him that he was in another pub, The Pilgrim on Pilgrim Street. Now given I’d announced we was in Wetherspoon’s we buggered off to the Pilgrim like the complete gits we are.

It’s become a bit of a tradition to eat in The China Palace given it was one of those “Eat all you can for £6.00″ establishments, now Michael (heeed) Rimicans had said earlier in the week that their website was down but we never listen to anything he has to say anyway. My phone rang and it was Michael “The Chinese is closed!” now I thought he meant closed as in not open but after much gnashing of teeth he managed to communicate that like the African blue parrot (Monty Python) “It had ceased to be.” and was closed down so we decided to head for the LEAF as they did food there, the venue is actually really nice and I thought the staff was pretty friendly too. We could hear Dan warming up and could take no more and crept upstairs.

First up was Thom Morecroft I would have said he was a folk singer, we all loved his opening song and his band featured a guy who played a box. Yep he sat on a box and banged it! But it was very good.

I’m afraid the next few songs seemed a bit same old same old with a bit too much “Ooh Ooh aah aah” melodies for my liking Tom did say Holly(?) had a beautiful voice, if only she had sung words more. The songs in the middle of his set was a bit depressing for me but even so we all enjoyed it, sing some happy songs next time mate.

Next up was ‘our mate Dan’ with his band 20lb sounds I am so glad he’s smartened himself up a bit, gone are those crappy red shorts and in was a pretty slick black pair of strides and a black shirt. Of course being a scouse git he still had to wear some multi coloured trainers didn’t he!

Getting a bit too carried away with himself Dan managed to break a string during the second song “It’s OK I only need five strings anyway.” said Mr show off. I’m not sure if it was the next song or the one after Dan realised that he did need that string after all when he hit his guitar solo which now consisted of ‘one note’ played relentlessly. The highlight for me was not only when he announced ”The next song is Jimmy Carter” but that it was for me \o/ I love this song, mainly because it’s the only one of Dan’s I know the words to but also Dan really belts it out. I was a bit worried about him during the mouth organ solo I was scared we’d have to scoop his lung up as he bent over blowing his guts out with a contorted face “You’ll do yourself a mischief mate.”

Next up was P’Chenga this guy is mental! Matt said he was kinda Ska/Punk with almost a bit of Reggae thrown in. This loon threw himself round the stage like a demented gibbon while pulling facial contortions HE WAS BRILLIANT true we couldn’t really understand half the words but who cares he made up for it in energy.

We did feel that his set went on a touch too long there’s only so much excitement a man can take so was kind of glad we could get our breath back when he finished by now I had consumed seven Ginger Beers and was glad of the toilet break to be honest.

The final act was The Corinthians I would have said they was a Rap band, I’ll be honest they was not really my cup of tea although my foot was tapping a couple of times. Matt and I noticed that the guy on the Laptop and I suspect sound board was brilliant! He really seemed to be enjoying himself as well as the guy in the white tee-shirt (This works really well if you wasn’t there as you have no idea who I’m talking about.) my main complaint was they must have said “Corinthians” 30 times during every song! Mind you Matt was right as it clearly worked, their name is now imprinted on my brain.

They’re clearly popular as they brought along their own fan base with an average age of twelve by the look of some of them however at least they had the balls to stand in front of the stage and dance (If you can call it that) which made a few others get up and jiggle about a bit.

One of the strangest moments of the night was when Mr Tinfoil walked past! I have no idea what he was smoking and his excuse of “I was at a fancy dress party.” seemed ‘thin’ very thin in my opinion but hey this is Liverpool and nothing should surprise you of a night time round there.

It was getting near the end of the night certainly for us some of our friends had already headed off and Matt and I decided to wander off back to the hotel. We had a brilliant night Rathole Radio is not just about the music for us it’s about a social event with our friends and one we look forward to every year. If you’ve never been come along next year and we’ll look after you.

The pictures in the post are reproduced by kind permission of another baldy Pete Stean who scared the living daylights out of me by leaving his hugely expensive camera lying around, I’ve lost five years off my life coz of you you bastard! Cheers for letting me use your photos mate and the ones you took of Matt and me.

Pete Stean is available for weddings, christenings and Bar Mitzvah’s and the odd risqué photo shoot. All that’s left to say is “Thanks Dan see you in 2013″

Oh and one final thing, Matt and I was very impressed with the vending machine in the Strand Travelodge that dispensed paracetamol!

ENJOY

Categories: LUG Community Blogs

Richard WM Jones: rich

Planet GLLUG - Mon, 14/05/2012 - 12:22

Previously if you wanted to mount a disk image on the host from libguestfs, you had to use a separate program called guestmount.

A couple of months ago, we added FUSE support directly into the libguestfs API, and rewrote guestmount to use it. This also means you can use FUSE from your own libguestfs programs.

Yesterday I wrote a short example of using the mount-local API from C. This program creates a new disk image, formats it etc using libguestfs, then gives you a subshell so you can copy your own files, directories etc. in. When you quit the subshell, the disk image is synced and closed, and you end up with a virtual disk image containing all the files you just added. (Nothing that you couldn’t easily do before, but a nice little demonstration anyway).

Here it is in use:

$ gcc -Wall mount_local.c -o mount_local -lguestfs $ ./mount_local /tmp/test.img This is the 'mount-local' demonstration program. Follow the instructions on screen. Creating and formatting the disk image, please wait a moment ... The _current directory_ is a FUSE filesystem backed by the disk image which is managed by libguestfs. Any files or directories you copy into here (up to 512 MB) will be saved into the disk image. You can also delete files, create certain special files and so on. When you have finished adding files, hit ^D or exit to exit the shell and return to the mount-local program. mount-local-shell> ls lost+found PUT_FILES_AND_DIRECTORIES_HERE

From the subshell, I copy in some files:

mount-local-shell> cp -a /usr/share/doc/libguestfs-devel-1.17.40/ . mount-local-shell> ls libguestfs-devel-1.17.40 lost+found PUT_FILES_AND_DIRECTORIES_HERE mount-local-shell> ls libguestfs-devel-1.17.40/ AUTHORS example-ubuntu.xml BUGS example-windows-2003-x64-cd.xml ChangeLog example-windows-2003-x86-cd.xml copy_over.c example-windows.xml create_disk.c example-windows-xp-cd.xml display_icon.c HACKING example-debian-netinst-cd.xml inspect_vm.c example-debian.xml README example-fedora-dvd.xml RELEASE-NOTES example-fedora-netinst-cd.xml ROADMAP example-fedora.xml TODO example-rhel-6-dvd.xml virt-dhcp-address.c example-rhel-6-netinst-cd.xml virt-inspector.rng example-ubuntu-live-cd.xml

After copying in my files, I exit from the subshell:

mount-local-shell> exit Any files or directories that you copied in have been saved into the disk image called '/tmp/test.img'. Try opening the disk image with guestfish to see those files: guestfish -a /tmp/test.img -m /dev/sda1

Here is the disk image that was created (note it is sparse, so it’s not really so large as it appears):

$ ll /tmp/test.img -rw-r--r--. 1 rjones rjones 536870912 May 14 12:03 /tmp/test.img $ du -sh /tmp/test.img 18M /tmp/test.img

We can use guestfish to look inside it:

$ guestfish -a /tmp/test.img -m /dev/sda1 Welcome to guestfish, the libguestfs filesystem interactive shell for editing virtual machine filesystems. Type: 'help' for help on commands 'man' to read the manual 'quit' to quit the shell ><fs> ll / total 18 drwxr-xr-x 4 root root 1024 May 14 12:03 . drwxr-xr-x 23 1000 1000 4096 May 14 12:18 .. -rw-r--r-- 1 root root 0 May 14 12:03 PUT_FILES_AND_DIRECTORIES_HERE drwxr-xr-x 2 root root 1024 May 14 08:37 libguestfs-devel-1.17.40 drwx------ 2 root root 12288 May 14 12:03 lost+found

Download the test program here: https://github.com/libguestfs/libguestfs/blob/master/examples/mount_local.c


Categories: LUG Community Blogs

Jono Bacon: Precision and Reliability in Ubuntu Accomplishments

Planet WolvesLUG - Mon, 14/05/2012 - 00:56

In the Ubuntu world we have some common values that are not just focused on freedom, but also in how we build Ubuntu. Values such as cadence, design, quality and precision help guide us in building the best Ubuntu that we can.

These values continued to be common themes at the recent Ubuntu Developer Summit in California. Today our culture continues to involve important integration work that is a rich and interesting challenge, but this work has also been augmented by us building assurances around Ubuntu too; assurances such as regular releases (cadence), the reliability and quality of the experience (quality), and attention to detail in both design and engineering (precision) are all examples of the strong balance of predictability and innovation that we want to bring.

These values are not limited to Ubuntu though: we want Ubuntu to be a platform where you can get the very best software experience, whether you are using Open Source or commercial applications. In a nutshell, we want to take the lessons we have been learning regarding cadence, design, quality and precision and share them with our upstreams. This is going to be a big chunk of what Michael Hall will be focusing on in the coming months.

One upstream project though that I am actively involved in in my spare time is Ubuntu Accomplishments and I wanted to share some of our plans surrounding our next 0.2 release and how these values are forming an important core of this work. Before I continue though, I just want to say a huge thank-you to everyone who has been participating in Ubuntu Accomplishments. Ever since our 0.1 release a few weeks ago we have had over 180 people start using this very early PPA and a number of people have started contributing accomplishments. Thanks to all of you!

Quality

With the expanded number of accomplishments being contributed, I started thinking last week about how we could perform better testing around these contributions as well as daily testing reports; I wanted to ensure that our project, even though we are very young and small, demonstrates a level of quality that we can be proud of. To kick this off, this weekend I wrote a small tool called battery that helps us assure quality. I created a validation test for every accomplishment and battery runs all the accomplishments and feeds them this data that will cause an accomplishment to succeed as well as fail. This serves a few valuable purposes:

  • We now have better testing for new contributions and we can test both success and failure more effectively.
  • We can build testing into the accomplishment submission process so that when someone contributes an accomplishment we will ask them to also submit a test file (the test file is extremely simple and just specifies data used for success and data used for failure). This should take a contributor ten seconds to put together.
  • Finally, we can now run battery in an automated environment every day and have it alert us when one of the tests fails. This gives us better visibility on our accomplishments collections to ensure that we can assure quality and resolve issues quickly.

As an important part of building good design into the system, battery was designed to not require any changes to the existing accomplishments sets and require a bare minimum from our contributors who should be spending more time having fun writing accomplishments than caring about tests. I am delighted with the results.

The Road To 0.2

In addition to helping to ensure the accomplishment contribution process is simple (see our list of ideas for accomplishments and how to create them), we have been planning the 0.2 release. This will continue to focus on refinements and building a strong, reliable platform for both community and local accomplishments.

We will be focusing on the following in the 0.2 cycle:

  • Local Accomplishment Support – in 0.1 we focused our efforts primarily on community accomplishments (that is, accomplishments that need to be verified). Although we have always supported local accomplishments (these are accomplishments on your computer such as installing a package for the first time or sending your first email), this local support was a little broken in 0.1. I have already landed a branch from Rafal that fixes these bugs, using GNOME Mines as the test application. We will continue to refine this support.
  • Daemon and API Refinements – this won’t be visible to the user but we are planning a raft of API improvements to ensure that the back-end daemon is precise and high quality. This requires some functional changes, API naming conventions, standardizing on accomplishment IDs and other improvements.
  • Growing Ubuntu Community Accomplishments – we plan on continuing to grow and expand the Ubuntu Community Accomplishments collection. We need help though, and that help could come from you! If you know a little Python and want to help our community, be sure to let me know! You can also join our IRC channel at #ubuntu-accomplishments.
  • Introducing Ubuntu Desktop Accomplishments – we plan on introducing our first set of desktop accomplishments that can be used with the local accomplishments feature in the system. This will help us to start mapping out an awesome journey for how ours users use the desktop, discover things to do, and more!

It was wonderful to see the excitement and interest around Ubuntu Accomplishments at UDS, and I am excited to see where the project can take us. If you want to join us, be sure to join the mailing list and/or join us on IRC on freenode in #ubuntu-accomplishments.

Categories: LUG Community Blogs

Jonathan McDowell: Going to DebConf 12

Planet ALUG - Sat, 12/05/2012 - 17:02

Meant to post this a while ago when I booked the tickets, but life has a habit of being busy at present. I'm pleased to say I'm going to DebConf 12 in Managua. In the off-chance someone else might be on some of the same flights as me, here's what I've booked:

Outbound:

2012-07-07 00:15 SFO -> 08:12 CLT US466 2012-07-07 11:40 CLT -> 13:44 MIA US1831 2012-07-07 16:07 MIA -> 16:45 MGA US4925

Inbound:

2012-07-14 21:15 MGA -> 01:50 MIA US4944 2012-07-15 06:15 MIA -> 08:19 CLT US1800 2012-07-15 09:40 CLT -> 12:08 SFO US1485

There were some single stop options but the timings didn't them any quicker, they weren't any cheaper, and these times worked better for me anyway.

Categories: LUG Community Blogs

Andrew Savory: Twitter Weekly Updates for 2012-05-12

Planet ALUG - Sat, 12/05/2012 - 14:15
  • Just changed my tyre in the car park. It was a race to see if I would finish before the jack sunk into the tarmac. http://t.co/kRI3x9pH #

Powered by Twitter Tools

Categories: LUG Community Blogs

Andrew Savory: Twitter Weekly Updates for 2012-05-12

Planet ALUG - Sat, 12/05/2012 - 14:15
  • Just changed my tyre in the car park. It was a race to see if I would finish before the jack sunk into the tarmac. http://t.co/kRI3x9pH #

Powered by Twitter Tools

Categories: LUG Community Blogs

Aq: How to make APIs that people like

Planet WolvesLUG - Sat, 12/05/2012 - 01:00

A short presentation I gave at today's Multipack Show and Tell on "How to make APIs that people like".

The tl;dr version: your API is part of your user experience. Take your UX knowledge -- design for the user, not for yourself; think about the user journey rather than just modelling your underlying infrastructure; make it understandable and intuitive and focused on their need -- and do all the same things when designing an API.

Categories: LUG Community Blogs

David Goodwin: SSL Commands

Planet WolvesLUG - Fri, 11/05/2012 - 10:43

I keep forgetting these one line OpenSSL commands – perhaps if they are here, I’ll remember —

  1. Create private key file : openssl genrsa -out server.key 2048
  2. Create certificate signing request (to send to e.g. GoDaddy) – openssl req -new -key server.key -out server.csr 
  3. Verify a certificate – openssl verify file.name
  4. To convert a .crt (base64 encoded) and .key file into a .pem file – just cat them together – cat something.crt something.key > something.pem

 

Categories: LUG Community Blogs

Why not contribute to Ubuntu Manual

Planet SurreyLUG - Wed, 09/05/2012 - 20:01

I’m in a session at the Ubuntu Developer Summit about the Ubuntu Manual http://ubuntu-manual.org/ which you may remember was started some time ago with the goal of producing a high quality pdf (and printed) manual for Ubuntu desktop.

They are looking for new blood to help author and edit the manual for 12.04 to be released around the time of 12.04.1 (July 19th). However we’re trying to figure out why we don’t have more contributors and what may be holding people back.

So my question to you is:-

“If you have considered contributing to Ubuntu Manual, but haven’t, what’s stopped you?”

Some reasons might include:-

  • Lack of time
  • Lack of motivation
  • Lack of skill
  • Difficult to use tools

Or something we’re missing. We’d really like to know in case it’s something we can fix. If you’re interested in contributing, please do let us know, and we can help you get involved.

                          

Categories: LUG Community Blogs

Richard WM Jones: rich

Planet GLLUG - Tue, 08/05/2012 - 20:40
100000007003899576467 = 3.3.3.3.3.3.3.3.3.3.23.73630821715421 100000007003899576466 = 2.307 ... 100000007003899576465 = 5.67.298507483593730079 100000007003899576464 = 2.2.2.2.3.11.29.6143.121439.8754461 100000007003899576463 = 127.136649.5762220213481 100000007003899576462 = 2.7.7142857643135684033 100000007003899576461 = 3.33333335667966525487 100000007003899576460 = 2.2.5.101.191.223.1249.930567739 100000007003899576459 = 1031.6577.51769.284868053 100000007003899576458 = 2.3.3.5555555944661087581 100000007003899576457 = 13.17.19.41.47.6607.1870544887 100000007003899576456 = 2.2.2.3359.3721345899222223 100000007003899576455 = 3.5.7.7.8963.15179563906931 100000007003899576454 = 2.67957.158591.4639351721 100000007003899576453 = 11.9090909727627234223 100000007003899576452 = 2.2.3.107.96293.171203.4724207 100000007003899576451 = ... 100000007003899576450 = 2.5.5.37.6833.7910735817349 100000007003899576449 = 3.3.673.16509824501221657 100000007003899576448 = 2.2.2.2.2.2.2.7.2447.45609787770329 100000007003899576447 = 4111.656603.37046713859 100000007003899576446 = 2.3.281.683.86840388249367 100000007003899576445 = 5.313.331.85931.2246507273 100000007003899576444 = 2.2.13.23.43 ... 100000007003899576443 = 3.89.30859.427001.28423531 100000007003899576442 = 2.11.4545454863813617111 100000007003899576441 = 7.14285715286271368063 100000007003899576440 = 2.2.2.3.3.3.5.17 ... 100000007003899576439 = 557.165037.1087836219871 100000007003899576438 = 2.19.149.5309.895469.3715069 100000007003899576437 = 3.31.1075268892515049209 100000007003899576436 = 2.2.797 ... 100000007003899576435 = 5.29.689655220716548803 100000007003899576434 = 2.3.7.79.30138639844454363 100000007003899576433 = 8369.11948859720862657 100000007003899576432 = 2.2.2.2.59.765949.138301911497 100000007003899576431 = 3.3.11.11.13.2003.6173.571283357 100000007003899576430 = 2.5.10000000700389957643 100000007003899576429 = 18133 ... 100000007003899576428 = 2.2.3.523.1181.13491716222263 100000007003899576427 = 7.353.45319.892990763323 100000007003899576426 = 2 ... 100000007003899576425 = 3.5.5.867253 ... 100000007003899576424 = 2.2.2.4751 ... 100000007003899576423 = 17.53.73.83.511963.35779619 100000007003899576422 = 2.3.3.941.5903885169671719 100000007003899576421 = 23.7537.576864321543571 100000007003899576420 = 2.2.5.7.11.71.167.269.3823.5325347 100000007003899576419 = 3.19.1754386087787711867 100000007003899576418 = 2.13.3846154115534599093 100000007003899576417 = ... 100000007003899576416 = 2.2.2.2.2.3.41.25406505844486681 100000007003899576415 = 5 ... 100000007003899576414 = 2 ... 100000007003899576413 = 3.3.3.7.37.14300015301572941 100000007003899576412 = 2.2.103.106109.171469.13340281 100000007003899576411 = 100000007003899576411 100000007003899576410 = 2.3.5.47.61 ... 100000007003899576409 = 11.9203.987820246400873 100000007003899576408 = 2.2.2.97.251.4567.89021.1262819 100000007003899576407 = 3.139 ... 100000007003899576406 = 2.7.7.17.29.31.8311.29339.273821 100000007003899576405 = 5.13 ... 100000007003899576404 = 2.2.3.3.359.521 ... 100000007003899576403 = 163.389.977.10993.146842589 100000007003899576402 = 2 ... 100000007003899576401 = 3.43.775193852743407569 100000007003899576400 = 2.2.2.2.5.5.19.1607.8187862886377 100000007003899576399 = 7.14285715286271368057 100000007003899576398 = 2.3.11.23.67.263.647.5273.1095811 100000007003899576397 = 480941 ... 100000007003899576396 = 2.2.25000001750974894099 100000007003899576395 = 3.3.5.2222222377864435031 100000007003899576394 = 2.2347.21303793567085551 100000007003899576393 = 113.6637.133336720535453 100000007003899576392 = 2.2.2.3.7.13.5051.17791.509529893 100000007003899576391 = 131.211.999853.3618346267 100000007003899576390 = 2.5.199.50251259800954561 100000007003899576389 = 3.17.1960784451056854439 100000007003899576388 = 2.2.25000001750974894097 100000007003899576387 = 11.197.65899.700264797439 100000007003899576386 = 2.3.3.3.3 ... 100000007003899576385 = 5.7.2857143057254273611 100000007003899576384 = 2.2.2.2.2.2.25169.62080341270449 100000007003899576383 = 3.16889.1973671364081149 100000007003899576382 = 2.541.691.133750286899561 100000007003899576381 = 19.997.4271.35407.34908611 100000007003899576380 = 2.2.3.5.4327 ... 100000007003899576379 = 13.76379.100712345423077 100000007003899576378 = 2.7.5857.1219542025462811 100000007003899576377 = 3.3.29.8011.47826961588687 100000007003899576376 = 2.2.2.11.37.151.7219.41761.674669 100000007003899576375 = 5.5.5.23.23.31.41.109.10915969081 100000007003899576374 = 2.3.16666667833983262729

I just don’t know what it is.


Categories: LUG Community Blogs

Jono Bacon: EA Games and Ubuntu

Planet WolvesLUG - Tue, 08/05/2012 - 18:00

Electronic Arts are delivering two games into Ubuntu, Command & Conquer Tiberium Alliances and Lord of Ultima. They are currently available in the Ubuntu Software Center.

While some may focus on the fact that these are loading web apps, the really exciting opportunity here is that EA have identified Ubuntu as an exciting channel to deliver their content. I would like to encourage our community to welcome EA to Ubuntu, and download and enjoy the games.

Let’s not get side-tracked by the fact that these are web games and not native to Ubuntu: EA are dipping their toes in Ubuntu as a channel of opportunity, and let’s welcome them with open arms.

Categories: LUG Community Blogs

davblog - Dave Cross: Week Notes 17 & 18

Planet GLLUG - Sun, 06/05/2012 - 09:50

Another fortnight with no blog posts.

Health

Getting used to paying close attention to what I’m eating and how much I’m exercising. And for the first week of this fortnight that was starting to work and I shifted a few pounds. This week I’ve been staying in a hotel in Edinburgh and all of my good work has been undone. Just need to start again I suppose.

Last time I mentioned how my had suggested that I bought a Fitbit as it would encourage me to take more notice of what my body was doing. Turns out that this is a really good idea. And it also turns out that’s it’s a bit of a growing movement. O’Reilly have just published a book called Fitness for Geeks which looks at this whole area in some detail. I have a copy which I’m looking forward to reading. Once I’ve finished it, I’ll write a review.

Training and Speaking

As I mentioned above, I’ve been in Edinburgh all this week. I ran five days of Perl training for staff at Edinburgh University. Everyone seemed happy with the way it went and there’s a chance I’ll be invited back again at some point in the future.

But in the previous week I arranged another training course. It all happened rather quickly and, to be honest, took me a bit by surprise. It was a case of a few things all coming together at the right time.

Five years ago, the London Perl Mongers, with lots of help from the BBC, ran what we called a “Perl Teach-In”. It was a one-day, free Perl training course. It was a great success. The fifty places on the course were all booked in a couple of days and everyone who came on the day agreed that it was a great idea.

For a few months now, as we approached the fifth anniversary of the Teach-In, I’ve been thinking that it would be nice to do it all over again. I spoke to a few people to get a few ideas, but nothing really came together. A couple of months ago, I heard about Google’s new Campus venue in London and I contacted them to find out what they would charge to hold a training event there. For several weeks I got no reply.

Then, about ten days ago, Google got back to me asking what date I wanted to hold my event. I asked them what it would cost and they told me it would be free. So we set a date of 4th August for the second free Perl Teach-In. This time all the places were booked in just under 24 hours. Which seems pretty successful.

If this works, then there’s a good chance that I’d like to make it a more frequent event. But (obviously) I’d like to find some way to make a bit of money out of it. Perhaps I need to look for sponsorship.

Related Posts:
Categories: LUG Community Blogs

Richard WM Jones: rich

Planet GLLUG - Sat, 05/05/2012 - 21:27

Japan has turned off its last nuclear reactor.

I’m wondering, how many people will die because of this decision? How many people will die directly because of pollution from fossil fuel sources?

How many from lack of power at some crucial point, like their birth? Or the elderly?

How many in the long term because Japan won’t advance as quickly, advancement being the best way to pull people out of poverty and illness?


Categories: LUG Community Blogs

Richard WM Jones: rich

Planet GLLUG - Sat, 05/05/2012 - 20:56

Three cheers for CyanogenMod for making my Samsung Galaxy Tab 10.1 usable!

No cheers to Samsung for putting TouchWiz on it and making it unnecessarily hard to root.

Screenshot in a minute when I work out how to copy it off the tablet!


Categories: LUG Community Blogs

Jono Bacon: Oakland Ubuntu Folks: Severed Fifth Playing Tonight

Planet WolvesLUG - Sat, 05/05/2012 - 19:09

Just a quick reminded that my band Severed Fifth will be playing tonight at:

Roosters Roadhouse, 1700 Clement Avenue, Alameda, CA 94501

This is about a 5 – 10min cab ride from the Oakland Marriot hotel.

Get down there for about 7.30pm to ensure you get your tickets as the show has sold out of pre-sold tickets. We go on stage at 8pm. Hope to see you there!

Categories: LUG Community Blogs
Syndicate content