Launchpad News: Getting started with launchpadlib: Launchpad's Python library

Launchpad’s strategist, Jonathan Lange, has started a series of blog posts on getting started with Launchpad’s Python library, launchpadlib:

launchpadlib is the Python client-side library that talks to Launchpad’s own REST API. It turns out that customize scripted control of a bug-tracker-code-hosting-translation-distribution-building-cross-project-collaboration thing is actually quite handy.

Catch-up with the first two posts in the series:

And you can subscribe to Jonathan’s blog or follow blogs from both Jonathan and other members of the Launchpad community on Planet Launchpad.



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Dylan McCall: New stuff for ubiquity-slideshow!

Remember that slideshow when you did a fresh install of Ubuntu Karmic?


For Lucid, ubiquity-slideshow is rocking, if I may say so myself :)

First of all, a quick refresher: this is a really simple project with the goal of providing an introductory slideshow that runs when people install Ubuntu. The ubiquity-slideshow packages are all content packages, then Ubiquity displays that content at the right time.

The slideshow is implemented with Webkit, since all the cool people use Webkit. (It also renders things nicely, it's flexible, quick, we can quickly throw it on the web, people can make content really easily, and Javascript allows us a good split between interactive goodies and actual functionality like installing the operating system).

As far as content is concerned, I try to keep this different from other introductory slideshows in the content that I maintain. It doesn't try to sell the product as people install it, instead providing some exciting points of action for getting started. Not as vague as you get in Windows' slideshows, but not an in-depth how-to either.
The idea is really summed up in the first slide: Through this I want to encourage new users to explore Ubuntu and really discover how awesome it is (instead of what buttons to press).


(I admit it: I am obsessed with whitespace)


So: Lucid... Lots of new stuff here.

First of all, the project is now providing separate slideshows for Xubuntu, Kubuntu and Ubuntu installations. It's also really easy to add more, so anyone who wants in on neat slideshowy action can!
I'm hoping to get an Ubuntu Netbook Edition slideshow in there, too. It isn't perfect at the moment, so if you have any suggestions for what needs to be done or said, please let me know or write to the ubiquity-slideshow mailing list on Launchpad!

Translations aren't horrific to work with any more. It's still possible that strings may change before documentation freeze, but the gist of it is we just have one translation template that has all the text for each slideshow. You can go through the list on a rainy afternoon and have your favourite distro's installer slideshow completely translated for your locale.

Speaking of strings being changeable, if you see any errors, things that sound strange, things that are useless, things we need or things that you could say better, please file a bug or let me know. I keep a recent copy of things at http://people.ubuntu.com/~dylanmccall/ubiquity-slideshow-ubuntu

Michael Forrest and Otto Greenslade, from the design team, sent me a mockup and some graphics to fit with the exciting new Ubuntu branding. I worked them into the CSS and played with the text a little. Thus, behold, the proposed new look for the Ubuntu slideshow!




The whole thing can be seen on the web. It is a little bit larger than the one in Karmic.
Imagine it in Ubiquity, without a border, inside the awesome new Ambience theme, gracefully connecting to the title bar. Mmm...

Keep in mind this is still a proposal, just fully implemented (granted a few clunky bits).
Any constructive feedbacks or cries of "stop, you maniac!" are certainly not in vain :)

Thanks for listening!

Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Unable to login with root for more than 2 sessions

Hi, I am unable to login with root for more than 2 sessions. Plz help any thing need to updated? Suresh

Categories: Computers | Debian | Fedora | Gentoo | Linux | Mandriva | nix | RedHat | Slackware | SUSE | The UNIX and Linux Forums for Linux | Ubuntu
The Fridge: Ubuntu as project in Google Summer of Code 2010

I’m very excited to announce that Ubuntu has applied as participating organisation in the Google Summer of Code 2010!

We submitted an organisational application, along with suggested ideas for potential projects for students. We also encourage students to come up with their own ideas.

If you’re a student interested in Open Source (or if you know students who are), now is the time to act to get involved in Google’s wonderful Summer of Code program.

Also, if you are thinking about becoming a student’s mentor please visit:

https://wiki.ubuntu.com/GoogleSoC2010

Make sure you read all the necessary information carefully and join the IRC channel and mailing list for more discussion.

The timeline is as follows:

  • The list of accepted Mentoring Organisations will be announced on March 18, 2010 at 12 noon PDT / 19:00 UTC and will be posted on the Google Summer of Code 2010 site.
  • The student application period begins March 29, 2010 at 12 noon PDT / 19:00 UTC and ends April 9, 2010 at 12:00 at 12 noon PDT / 19:00 UTC. Please see the Google Summer of Code 2010 timeline and FAQs for further information.

[Discuss Ubuntu and the Google Summer of Code 2010 on the Forum]

Originally sent to the ubuntu-devel-announce mailing list by Daniel Holbach on Fri Mar 12 09:59:16 GMT 2010



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Scott Ritchie: It's time to fix the window controls

This is awkward.   We need to talk.

March 3rd was a strange day. It was one day before User Interface freeze for the upcoming Ubuntu Lucid long term support release.   By the end of the day we were supposed to have the entire look and feel of the desktop settled on so people could start writing documentation and books.

This was the same day that Canonical finally released the new theme that had been under secretive development.   It was bold, daring, light-inspired, and perhaps most popularly, not brown.   Jono Bacon, Canonical’s community manager, broke the news.   Mark Shuttleworth followed up on his own blog, thanking three members of the design team for leading the effort.

The most important change, however, wasn’t actually talked about.   The designers don’t blog themselves, and Mark and Jono didn’t mention it directly.   It had to be found in the screenshots, or experienced firsthand by alpha testers.

This is not ok

Soon, the community learned the change was intentional: a bug about the misplaced window controls was quickly marked invalid,   and when the controls briefly reappeared on the right again the change was reverted.   What’s disturbing is that Planet Ubuntu has been rather silent on the topic.   No one’s posted a real defense of this change yet, or for that matter even claimed responsibility. It’s like there’s this collective unease about criticizing something that feels like it came directly from on high.   So, instead, people are just silent.   I’d certainly be if I worked for Canonical.   Perhaps I should be, as I still hope to work for them.

If you read between the lines, you can tell that people aren’t too happy about it.   The most flattering thing a developer’s said about the left-sided Window controls is that they “got used to them after a few days”.   We’re quick to praise the theme (it’s gorgeous), but talking about this major sudden change to the window controls feels like taboo.   That’s incredibly unhealthy for a community project.   It’s like there’s this collective unease and everyone’s worrying if we’re about to release something embarrassing.

This experiment was a failure and we need to realize it

The alpha releases are great places for usability experiments.   Sometimes, they don’t work out.   Put a new user on today’s Ubuntu Lucid and they’ll think it’s fantastic, sleek, and absolutely gorgeous right up to the point where they have to close a window.   That’s where our first impression becomes something awful.

Note: The new card backs pictured above are my doing and are now default (Mads Rosendahl drew them).

A brief summary of the complaints about  the left side window controls

Some of these I noticed myself, a few are gathered from various comment threads on forums and blogs over the past week.

• Because the window title isn’t centered, the window controls being placed directly in front of it put it in a weird indented position
• The “slightly off left” location is inconsistent with Nautilus, Firefox, Thunderbird, Pidgin, Empathy, and every other tabbed program we have, which have close buttons for their tabs on the right.
• The left position is inconsistent with Windows, previous versions of Ubuntu, and even OSX – users have to relearn decades of muscle memory.
• Users who interact with both Windows and Ubuntu machines (or migrate from Windows) will have a much harder time than they did before.
• The buttons are too close to the file and edit menus, making catastrophic misclicks much more likely.   Closing something on accident should be as rare as possible.
• Even without misclicking, a user will have to take more time to use the window control and avoid a misclick.   This is an example of Fitt’s Law.
• The close position is also inconsistent with the power button in upper right.   Currently, “close it down” is something you can always do from the upper right anywhere in the system: within a tab, within a window, and even for the whole computer.   The new window controls break that entirely.
• The new position leaves a lot of empty, wasted space in the upper right of most windows.   While strictly speaking the amount of unused space is the same, it looks much worse when it’s all clustered together.   When the controls are on the right, the extra space can function as a buffer for the potentially destructive window controls.
• Similarly, the upper left of most windows now becomes much more crowded, creating a rather unpleasing contrast to the relatively empty upper right.
• In previous Ubuntus you could close windows on the left if you really wanted, by expanding the small circle menu that’s now gone entirely.   File->Quit is also an option, which is now very close to the close box.
• Gnome upstream has them on the right, causing consistency and developmental problems when we deviate.   This is particularly jarring with the adoption of future projects like Gnome shell and Gnome 3, which will change again how we interact with window controls.
• The current implementation breaks themes not designed for the new button order (which is currently every theme we ship, so even changing the theme back doesn’t help)
• A day before User Interface freeze of a long term support release is the worst possible time to suddenly spring this on everyone without explanation.
• It is very difficult to change them back as we don’t have any UI tool for doing this (the current method is manually editing gconf keys)
• The new position doesn’t actually do anything beneficial.

That last point is the most important.   Other than “looking different” the change doesn’t do anything helpful.   It’s a huge usability loss for an awful lot of people.   Some people get used to it quickly.   Others don’t, and like me end up getting physically angry when trying to use their computer.   I can’t remember ever having my computer make me feel this way for a long time, and I’ve been running Ubuntu alphas for five years now.

Let’s admit we have a problem

Ivanka deserves credit for being the first member of the design team to  at least talk about the controls:

Are we smoking crack to think that the learning curve or getting used to a new position is ever going to be worth any real or perceived benefit of new positions?

I’ll leave that question to the reader.



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
mail alias problem

Hi all, well i am configuring backuppc for awhile, anyway my current problem is, i set a smarthost, configured the mail to use our ISP smtp server, and its working successfully thanks to ALLAH, now i want to set an alias for mails( it was working when it was using the local smtp server), so the...

Categories: Computers | Debian | Fedora | Gentoo | Linux | Mandriva | nix | RedHat | Slackware | SUSE | The UNIX and Linux Forums for Linux | Ubuntu
Benjamin Drung: Translations of package descriptions

I saw the Translations of package descriptions video from FOSDEM 2010. Every distribution has two translatable string for each package: a synopsis (summary, short description) and a long description. These descriptions differ from distribution to distribution. The descriptions should be shared between the distributions. This will enable us to share the translations of the descriptions.

My idea: Why not letting upstream provide the package description and the translation for it? They should have the knowledge to provide a good description and to update it if required. To encourage upstream to provide the description, we should create a freedesktop specification for it. Quick draft: The tarball should contain a file named package.info. The package.info file should contain three RFC-2822-like fields for each package: Package, Synopsis, and Description. Translation can be stored in package.info.<language> (for example package.info.de).

Example package.info:

Package: audacity
Synopsis: A fast, cross-platform audio editor
Description: Audacity is a multi-track audio editor for Linux/Unix,
 MacOS and Windows. It is designed for easy recording, playing
 and editing of digital audio. Audacity features digital effects and
 spectrum analysis tools. Editing is very fast and provides unlimited
 undo/redo.
 .
 Supported file formats include Ogg Vorbis, MP2, MP3, WAV, AIFF, and AU.

What do you think about this idea?

Edit: Alexandre Franke found an existing markup language designed for our use case: Description of a Project (DOAP). Package is name there, synopsis is shortdesc, and description is description. Here is my example in DOAP:

<Project xmlns="http://usefulinc.com/ns/doap#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/">
  <name>Audacity</name>
  <shortdesc xml:lang="en">
    A fast, cross-platform audio editor
  </shortdesc>
  <description xml:lang="en">
    Audacity is a multi-track audio editor for Linux/Unix,
    MacOS and Windows. It is designed for easy recording, playing
    and editing of digital audio. Audacity features digital effects and
    spectrum analysis tools. Editing is very fast and provides unlimited
    undo/redo.
    Supported file formats include Ogg Vorbis, MP2, MP3, WAV, AIFF, and AU.
  </description>
</Project>




Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Not able to remove virus from a pen drive

Hello Friends, My pendrive (FAT32 filesystem) consist of following files+viruses. Code: --------- -rwxr-xr-x 1 chinmay root 0 2010-03-10 01:29 autorun.inf dr-xr-xr-x 2 chinmay root 4096 2010-03-09 23:51 Docs -rwxr-xr-x 1 chinmay root 4726162 2010-03-08 15:02...

Categories: Computers | Debian | Fedora | Gentoo | Linux | Mandriva | nix | RedHat | Slackware | SUSE | The UNIX and Linux Forums for Linux | Ubuntu
Terminal logging character problem -Newbie-

Im a complete newbie tryin to work with linux centos; in terminal wanted to log with* script* command; but output file has some strange characters when I try to open with gedit or bluefish terminal , gedit, bluefish encoding is utf-8 ; Code: --------- Script started on Mon 08 Mar 2010...

Categories: Computers | Debian | Fedora | Gentoo | Linux | Mandriva | nix | RedHat | Slackware | SUSE | The UNIX and Linux Forums for Linux | Ubuntu
Shane Fagan: My thoughts on Games for Linux

I went on a quest to find an awesome game for Ubuntu. It doesnt matter how much it costs I just want an awesome game. So there are some ones that most people know about Heroes of Newerth, Nexuiz, Warsow, OpenArena, Tremulous and a load of id software games.
So we have lots but most of the good ones are first person shooters. So what about massively multiplayer online games? On windows and mac they have Wow and we can run that on wine but it isnt exactly ideal. So I went looking for some good mmorpg games and i found two games that dont look bad Neverwinter Nights and Vendetta Online. Oh and if you count Heroes of Newerth we have 3 good online multiplayer fantasy games and lots of FPS games already available.
The problem is that there isnt enough people using linux yet to justify most companies making games for Linux but its great that id software and a few other nice companies accommodate us.
So what we need is for lucid+1(10.10) we get as many good games in the software center. So commercial or free, proprietary or free software lets make everything available. Lets have some fun :)
EDIT: I got neverwinter nights wrong its not a MMORPG, its just a RPG. Whoops :/



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Jonathan Carter: Purple vs Orange


Scottie posted an entry earlier about the new Ubuntu branding. I’ve been meaning to make a very similar post, but I’ve had lots more important things to do the last two weeks.

For those who have missed it, Canonical announced the new branding and artwork on the day of the User  Interface  Freeze for the Lucid development cycle. The decisions around the new branding have been met with some  controversy, and as Scottie pointed out, some awkwardness around it. I’ll try to sum up my views about it in this post.

Purple / Aubergine

One of the major changes in the artwork is a change from the yellowy-brown colours to purple and orange. Most of the highlights are in purple, so is the terminal background. The aubergine (purple) is supposed to signify the corporate and the commercial aspects of Ubuntu, while the orange represents community.

I love the way the background is slightly transparent by default. The compositing capabilities in Ubuntu is powerful and should be showed off. The amount of transparency is also just subtle enough that it shouldn’t bother people who usually prefer a solid background. I think the colour is horrible though. I’d go as far as to say it’s offensive, I can write that off to personal taste though. The really bad thing about it is that it changes your to profile to the so-called “Ambiance” theme automatically without any warning. At least it was easy to delete and my older, much more aesthetically pleasing terminal was restored.

Button Positions

The button positions have been a bit more controversial than the actual colours. Personally, I didn’t like it at first but it only took a few hours to get used to it. It was the same when I used OSX for the first time, the positions feel weird at first but they grow on you fast. I don’t think the button positions will be a problem for users who use Ubuntu pretty much exclusively. Not all my machines are on Lucid yet, so it’s been a pain to move between machines that have the controls on the left and that have them on the right. I can imagine that having the controls on the left may be a major annoyance for someone who uses the one system at home and another at work.

Besides that, many applications are set up to have the close button at the top right, and it’s usually not configurable. Scott mentioned something similar with regards to tabs, here’s an example in an OpenOffice document:

Font / Logo

Besides the announcement on the day of UI Freeze, the new Ubuntu font is still not complete either. This means that some derivatives (Edubuntu, for one), doesn’t have a new logo yet since the “e” and “d” letters haven’t been finalized yet. We’re also waiting for a new logo from Canonical, it’s a bit painful that this couldn’t have been better communicated or planned in advance.

Scott wonders why few other people have talked about this, but it’s not the first time Canonical has made big changes on or just before a freeze. It’s probably not the last either. I don’t think people are comfortable providing feedback, especially at the risk of being labeled as a bad apple that just wants to complain about stuff and especially if it won’t change anything.

Changes

Having said what I have so far, I’m all in favour of making big, bold changes. If Canonical puts this much effort into the design of every release, and if they can find a way to involve the community as well (turn their cold purple hearts a bit more orangy), then I think Ubuntu will make major strides in  usability  and design that ultimately, everyone else would want to copy.



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
How to get an Indirect Variable Value..?

Hi, I've got a small problem. If varible A stores "B" and Variable B stores C, How to get the value of variable B by using only Variable A..? I tried the following but didnt work pease help..

Categories: Computers | Debian | Fedora | Gentoo | Linux | Mandriva | nix | RedHat | Slackware | SUSE | The UNIX and Linux Forums for Linux | Ubuntu
File System exceed Alert Script!

Hello Allz, Please review my following script. The purpose of the script is to check the file system every 5 minutes & if any file systems is exceed from 90% then raise an email alert only 1 time. But the following script not functioning properly, mostly send an email that contain only...

Categories: Computers | Linux | nix | The UNIX and Linux Forums | UNIX
Richard Johnson: Consulting Gig and Microsoft Sales Bash

So, here I am, a bit peeved but more humored than anything else. Today I spent some time with a client of mine, actually a friend. His company asked me to come in and sit in while 5 other companies bid on a project they are working on. I listened to sales people all day long, and it isn’t like I have anything against all sales people, just a vast majority of them. My head was spinning when it was all over with. So, I got to listen to 4 companies give their spiel about using Linux here, possibly Windows there, and one even promoted the idea of using Macs as the workstations. Interesting stuff by these 4 companies, yet still boring as hell. Then come sales dude number five, the second or maybe third largest tool I have ever had the great privilege of meeting in my life. He comes prepared no doubt, gives us a groovy presentation handout, business cards, and even a pretty cool pen. I love swag, so I grabbed a handful of pens. I flipped over this guys business card before he introduced himself, and there it was, in big bold letters, Microsoft. Rock on, this should be entertaining, and boy was it!

I will not go in to details on who this guy is or what he does either at Microsoft or one of their partners, however Microsoft was on his business card, bigger than anything else. Anyways, he starts out rocking. He had me impressed, all kinds of charts, cost cutting avenues, cost and benefit analysis which made my socks roll it was so damn sexy. He even had the project mapped out, which none of the other 4 groups had done. Thus far, literature wise, he dusted the other 4. I was starting to cheer for this dude, got a little hot and bothered there for a second, sorry, back on track here. So, he finishes his Microsoft talk, and it was great this far. Then he thanks the other 4 groups there, and seemed really nice, until…”Let me show you where these other groups don’t make the mark, seriously Mac? Let’s start by showing you how they have this whole Linux thing wrong. First it is created in the basements of unemployed hobbiests, it isn’t as secure as its made out to be, and needless to say all of the patents they are infringing upon, therefor making it a liability for you to even use.” Now that was paraphrased, but my jaw was on the ground. He knew I literally just shat myself, but what he didn’t know is I am a Linux fanboy and hacker. I was actually dressed a little nice, wearing my typical wise guy hat. He said something else, but I can’t remember what it was, all I remember is I grabbed my laptop bag like it was my gun holster, and from it I pulled out my 9mm. Err, I pulled out my netbook, which has 2 stickers on there, and both say Kubuntu.

He just chuckled at me, which I think infuriated me more than what I had just heard. So now he tries to explain himself, back peddles at least to the point where he admits there are great corporations behind Linux development. But the 4 other groups that were there and myself really wanted to know, and before I could say anything, the CEO of the one group, Mandy I think her name was, chimed in with a, “Could you please explain the patents Linux infringes?” He gave her a brief look, and she went all comedian on him, and I had to hold back everything just not to start rolling on the floor. She lets out a, “No, before you continue, can you please explain that, as I would hate to be sued by some insane company for something they think is theres.” He wouldn’t answer at all and would only state he wasn’t allowed to speak about it. Oh boy, I am peeing myself by this time. So I look at my buddy, and I had to do it, some of you might have heard me say it before, but I just had to do it.

You know, I have been thinking about writing a piece of software that did nothing but infringe upon every software patent there was.

Brief pause, trying to get the people to do the, “OK dude, wtf are you getting at?” And when I got that look, I finished with…

But it’s to late, as Microsoft beat me to it.

Yes, very childish and immature, but it had to be done. So, that was my Microsoft bash. Listen, if you are a salesman, especially a Microsoft salesman or partner, don’t do your unfounded threats in a professional manner. You might be surprised that the people sitting in the room might just see right through you, and today, they saw through you, big time! In the end, it looks like there might be a combination of 2 of the companies used. One of the companies is the one who suggested the Macs as the workstations, and the reasoning behind it was good. On the server side, there will be Linux. In the end, a very entertaining day. Even this former or current FBI Cyber Security guy even poked fun at the Microsoft salesman. Supposedly he is one of the gentleman that also helped rip off the state of Illinois with frivolous claims about Linux, and boy did Illinois fall for it.

Anyways, just wanted to share that with everyone, as it was a fun story, probably a more of a “You had to have been there.” Now this salesman wasn’t the only one to bend the truth or outright lie, so salesman, be careful, not everyone is dumber than you anymore!



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
GTK+ Training in Bangalore

Hi, I would like to undergo training in GTK+ . Please if any one has an idea where in bangalore i get the coaching centers for GTK. Regards, MrUser.

Categories: Computers | Linux | nix | The UNIX and Linux Forums | UNIX
Compiling with multiple versions of a library

Hello! I have a set of headers and libraries I want to use but they are mixed with ones I do not want to use. They are part of some official stuff, so I cannot modify them while begging and pleading for weeks. These headers and libraries are located here /long/official/path/to/include...

Categories: Computers | Debian | Fedora | Gentoo | Linux | Mandriva | nix | RedHat | Slackware | SUSE | The UNIX and Linux Forums for Linux | Ubuntu
Matt Zimmerman: QCon London 2010: Day 1

For the first time in several years, I had the opportunity to attend a software conference in the city where I lived at the time. I’ve benefited from many InfoQ articles in the past couple of years, and watched recordings of some excellent talks from previous QCon events, so I jumped at the opportunity to attend QCon London 2010. It is being held in the Queen Elizabeth II Conference Center, conveniently located a short walk away from Canonical’s London office.

Whenever I attend conferences, I can’t help taking note of which operating systems are in use, and this tells me something about the audience. I was surprised to notice that in addition to the expected Mac and Windows presence, there was a substantial Ubuntu contingent and some Fedora as well.

Today’s tracks included two of particular interest to me at the moment: Dev and Ops: A single team and the unfortunately gendered Software Craftsmanship.

Jason Gorman: Beyond Masters and Apprentices

A Scalable, Peer-led Model For Building Good Habits In Large & Diverse Development Teams

Jason explained the method he uses to coach software developers.
I got a bad seat on the left side of the auditorium, where it was hard to see the slides because they were blocked by the lectern, so I may have missed a few points.

He began by outlining some of the primary factors which make software more difficult to change over time:

  • Readability: developers spend a lot of their time trying to understand code that they (or someone else) have written
  • Complexity: as well as making code more difficult to understand, complexity increases the chance of errors. More complex code can fail in more ways.
  • Duplication: when code is duplicated, it’s more difficult to change because we need to keep track of the copies and often change them all
  • Dependencies and the “ripple effect”: highly interdependent code is more difficult to change, because a change in one place requires corresponding changes elsewhere
  • Regression Test Assurance: I didn’t quite follow how this fit into the list, to be honest. Regression tests are supposed to make it easier to change the code, because errors can be caught more easily.

He then outlined the fundamental principles of his method:

  • Focus on Learning over Teaching – a motivated learner will find their own way, so focus on enabling them to pull the lesson rather than pushing it to them (“there is a big difference between knowing how to do something and being able to do it”)
  • Focus on Ability over Knowledge – learn by doing, and evaluate progress through practice as well (“how do you know when a juggler can juggle?”)

…and went on to outline the process from start to finish:

  1. Orientation, where peers agree on good habits related to the subject being learned. The goal seemed to be to draw out knowledge from the group, allowing them to define their own school of thought with regard to how the work should be done. In other words, learn to do what they know, rather than trying to inject knowledge.
  2. Practice programming, trying to exercise these habits and learn “the right way to do it”
  3. Evaluation through peer review, where team members pair up and observe each other. Over the course of 40-60 hours, they watch each other program and check off where they are observed practicing the habits.
  4. Assessment, where learners practice a time-boxed programming exercise, which is recorded. The focus is on methodical correctness, not speed of progress. Observers watch the recording (which only displays the code), and note instances where the habit was not practiced. The assessment is passed only if less than three errors are noticed.
  5. Recognition, which comes through a certificate issued by the coach, but also through admission to a networking group on LinkedIn, promoting peer recognition

Jason noted that this method of assessing was good practice in itself, helping learners to practice pairing and observation in a rigorous way.

After the principal coach coaches a pilot group, the pilot group then goes on to coach others while they study the next stage of material.

To conclude, Jason gave us a live demo of the assessment technique, by launching Eclipse and writing a simple class using TDD live on the projector. The audience were provided with worksheets containing a list of the habits to observe, and instructed to note instances where he did not practice them.

Julian Simpson: Siloes are for farmers

Production deployments using all your team

After a brief introduction to the problems targeted by the devops approach, Julian offered some advice on how to do it right.

He began with the people issues, reminding us of Weinberg’s second law, which is “no matter what they tell you, it’s always a people problem”.

His people tips:

  • In keeping with a recent trend, he criticized email as a severely flawed communication medium, best avoided.
  • respect everyone
  • have lunch with people on the other side of the wall
  • discuss your problems with other groups (don’t just ask for a specific solution)
  • invite everyone to stand-ups and retrospectives
  • co-locate the sysadmins and developers (thomas allen)

Next, a few process suggestions:

  • Avoid code ownership generally (or rather, promote joint/collective ownership)
  • Pair developers with sysadmins
  • It’s done when the code is in production (I would rephrase as: it’s not done until the code is in production)

and then tools:

  • Teach your sysadmins to use version control
  • Help your developers write performant code
  • Help developers with managing their dev environment
  • Run your deploy scripts via continuous integration (leading toward continuous deployment)
  • Use Puppet or Chef (useful as a form of documentation as well as deployment tools, and on developer workstations as well as servers)
  • Integrate monitoring and continuous integration (test monitoring in the development environment)
  • Deliver code as OS packages (e.g. RPM, DEB)
  • Separate binaries and configuration
  • Harden systems immediately and enable logging for tuning security configuration (i.e. configure developer workstations with real security, making the development environment closer to production)
  • Give developers access to production logs and data
  • Re-create the developer environment often (to clear out accumulated cruft)

I agreed with a lot of what was said, objected to some, and lacked clarity on a few points. I think this kind of material is well suited to a multi-way BOF style discussion rather than a presentation format, and would have liked more opportunity for discussion.

Lars George and Fabrizio Schmidt: Social networks and the Richness of Data

Getting distributed webservices done with Nosql

Lars and Fabrizio described the general “social network problem”, and how they went about solving it. This problem space involves the processing, aggregation and dissemination of notifications for a very high volume of events, as commonly manifest in social networking websites such as Facebook and Twitter which connect people to each other to share updates. Apparently simple functionality, such as displaying the most recent updates from one’s “friends”, quickly become complex at scale.

As an example of the magnitude of the problem, he explained that they process 18 million events per day, and how in the course of storing and sharing these across the social graph, some operations peak as high as 150,000 per second. Such large and rapidly changing data sets represent a serious scaling challenge.

They originally built a monolithic, synchronous system called Phoenix, built on:

  • LAMP frontends: Apache+PHP+APC (500 of them)
  • Sharded MySQL multi-master databases (150 of them)
  • memcache nodes with 1TB+ (60 of them)

They then added on asynchronous services alongside this, to handle things like Twitter and mobile devices, using Java (Tomcat) and RabbitMQ. The web frontend would send out AMQP messages, which would then be picked up by the asynchronous services, which would (where applicable) communicate back to Phoenix through an HTTP API call.

When the time came to re-architect their activity , they identified the following requirements:

  • endless scalability
  • storage- and cloud-independent
  • fast
  • flexible and extensible data model

This led them to an architecture based on:

  • Nginx + Janitor
  • Embedded Jetty + RESTeasy
  • NoSQL storage backends (no fewer than three: Redis, Voldemort and Hazelcast)

They described this architecture in depth. The things which stood out for me were:

  • They used different update strategies (push vs. pull) depending on the level of fan-out for the node (i.e. number of “friends”)
  • They implemented a time-based activity filter which recorded a global timeline, from minutes out to days. Rather than traversing all of the user’s “friends” looking for events, they just scan the most recent events to see if their friends appear there.
  • They created a distributed, scalable concurrent ID generator based on Hazelcast, which uses distributed locking to assign ranges to nodes, so that nodes can then quickly (locally) assign individual IDs
  • It’s interesting how many of the off-the-shelf components had native scaling, replication, and sharding features. This sort of thing is effectively standard equipment now.

Their list of lessons learned:

  • Start benchmarking and profiling your app early
  • A fast and easy deployment keeps motivation high
  • Configure Voldemort carefully (especially on large heap machines)
  • Read the mailing lists of the NoSQL system you use
  • No solution in docs? – read the sources
  • At some point stop discussing and just do it

Andres Kitt: Building Skype

Learnings from almost five years as a Skype Architect

Andres began with an overview of Skype, which serves 800,000 registered users per employee (650 vs. 521 million). Their core team is based in Estonia. Their main functionality is peer-to-peer, but they do need substantial server infrastructure (PHP, C, C++, PostgreSQL) for things like peer-to-peer supporting glue, e-commerce and SIP integration. Skype uses PostgreSQL heavily in some interesting ways, in a complex multi-tiered architecture of databases and proxies.

His first lesson was that technical rules of thumb can lead us astray. It is always tempting to use patterns that have worked for us previously, in a different project, team or company, but they may not be right for another context. They can and should be used as a starting point for discussion, but not presumed to be the solution.

Second, he emphasized the importance of paying attention to functional architecture, not only technical architecture. As an example, he showed how the Skype web store, which sells only 4 products (skype in, skype out, voicemail, and subscription bundles of the previous three) became incredibly complex, because no one was responsible for this. Complex functional architecture leads to complex technical architecture, which is undesirable as he noted in his next point.

Keep it simple: minimize functionality, and minimize complexity. He gave an example of how their queuing system’s performance and scalability were greatly enhanced by removing functionality (the guarantee to deliver messages exactly once), which enabled the simplification of the system.

He also shared some organizational learnings, which I appreciated. Maybe my filters are playing tricks on me, but it seems as if more and more discussion of software engineering is focusing on organizing people. I interpret this as a sign of growing maturity in the industry, which (as Andres noted) has its roots in a somewhat asocial culture.

He noted that architecture needs to fit your organization. Design needs to be measured primarily by how well they solve business problems, rather than beauty or elegance.

He stressed the importance of communication, a term which I think is becoming so overused and diluted in organizations that it is not very useful. It’s used to refer to everything from roles and responsibilities, to personal relationships, to cultural norming, and more. In the case of Skype, what Andres learned was the importance of organizing and empowering people to facilitate alignment, information flow and understanding between different parts of the business. Skype evolved an architecture team which interfaces between (multiple) business units and (multiple) engineering teams, helping each to understand the other and taking responsibility for the overall system design.

Conclusion

Overall, I thought the day’s talks gave me new insight into how Internet applications are being developed and deployed in the real world today. They affirmed some of what I’ve been wondering about, and gave me some new things to think about as well. I’m looking forward to tomorrow.




Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Jorge Castro: Add your LoCo to the List!

Please don’t forget to add your team to the Event List if you’re planning on running a jam as part of the Global Jam! People can’t show up to your wonderfully planned event if they don’t know about it!


Tagged: jam, loco, ubuntu

Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu
Nick Barcet: GWOS sees Ubuntu running on business servers

On Monday our partner Groundwork Open Source, whom are selling a monitoring solutions that they recently certified for Ubuntu, published their statistics of the OS on which they see GWOS running on.

read more



Categories: Computers | Linux | nix | Planet Ubuntu | Ubuntu