Archive for category Software and Development

Ubuntu Party 2009 @Cité des Sciences de Paris la Villette

Last year (2009) I went to the Ubuntu Party 2009 in the Cité des Sciences de Paris la Villette. It was nice, and I had a great dinner with most of the staff. I didn’t expect much from this event, I have just been there by curiosity; because I didn’t like Ubuntu a lot. And yet, I was impressed by Mark Shuttleworth’s conference¹, which changed my mind and my considerations on it. I thought and I still think it is a crappy Operating system which is also simple to deploy and to use. What has changed is that now, I know that this “imperfect” software is based on very good ideas, and that the Ubuntu team seems to be very dynamic (which means that the correction of any bug or defective design is just a matter of time).

First, Mark told us about cadence (or to plan releases on milestones rather than functionalities). He said that it:

  • Energizes a project
  • Regularises project releases (on a 3/6/12 months basis; adapt the time cycle to the project)
  • Force developers to release their work to the project
  • Gives a rapid feedback from users
  • Makes collaboration between projects easier
  • Allows users to help each other (since they have similar versions of software)

I think this might be a good practice for middle-sized and big projects; while I would prefer “when it’s done” releases for little projects, since it allows more flexibility and give me much more free time when I work alone on a project.

Then, he spoke of the quality of a project, and said that:

  • Projects witch have tests are more open to contributions
  • Automated package creation from stable software branches increases the number of people who really use an up to date version of the software and allows a great feedback on latest versions.
  • It’s important to be aware of the difference between a new software development and the maintenance of the current version of an existing one.
  • There is less pressure to back-port new features (rather than to maintain stable branch) when people know when the next version will be out (see cadence).
  • More aggressive changes can be done since more accurate feedback is available from more users.
  • Automated crash reporting gathers all crash information (mainly from log-files) and spot all problems as they happen.

And finally he got into design, or the way you approach a problem.

  • Best open source software are made by people who instinctively understand (grok) good software design.
  • Design as skill is a profession.
  • Creating both a design and engineering space on a projects make the project healthy.
  • Ask tests from unexpected (aka. random; as instance, people picked from street or at a shop, friends of friends, etc.) people gives a more complete feedback
  • Design is also about functionalities integration into the window manager and all its parts.

In the end, I liked to be there, I learned a lot of things, and now, I still use Ubuntu, but I don’t grumble as often as before about it. ;)

So, see you at the next Ubuntu Party² :)


¹ A post on Mark’s blog about time based release and cycles in free software.
² For the moment, the page doesn’t exists.

No Comments

Nautilus SVN plugin

Today, I had to checkout some SVN repository, and so, I downloaded subversion. But I reminded that when I used windows, a while ago, a sort of GUI plugin was available for explorer. So, I started to seek for the same thing for Nautilus. And I found out this.

P.S.: I also sorted out this, for those who don’t want to use rabbitvcs. But I haven’t tested it yet.

No Comments

D-ie6, die!

From a nice web-log on which 404 errors are awesome :)

die6

No Comments

Customers, their ambitions vs. their needs.

Few days ago, one of my friends told me a short story which happened to him a very short while before:

My friend is a web developer, and so, his customers usually want him to code online software. One of his customers, though, wanted an e-commerce website «Like another one». So, my friend immediately thought at a huge web application which was dedicated, would have scaling abilities, advanced features, etc.  The customer then told him that he only had slightly more 700 bucks to start the project. My friend, conscious of the fact that the price of something like that application would cost at least ten times more, told his client that he could do something «light» to start, on what the client agreed. So, he started to work, hard, and got something working, then he put the stuff online. All has been okay for some weeks, ’til the customer wanted to do some slight modifications on his website… These slight changes would have been so if my friend would have done a complete and finished product, what he obviously hadn’t done for this little amount of money. So, despite the fact that his work has been thought to be evolutive, he had to recode most of the website in order to make the site suitable for these slight modifications. So he told that to the customer, who didn’t accept the quote. After arguing a short while, they both agreed that a simple e-commerce website would be sufficient.

So, my friend migrated his customer on an e-commerce website solution, and him and his client are both satisfied with that. The moral of this story is to NEVER trust a customer on his needs: they always are either distorted by the customer’s ambition, or, rarely, willingly lowered, in order to pay less (and, unfortunately, have less) than really needed. The role of a developper is also to understand his customer’s needs, and to explain them why and what they really need.

No Comments

XBox gamepad driver for Linux

Tonight I plugged my Xbox controller to my freshly installed Ubuntu setup. I have been using Windows Xp for at least three years, and I didn’t know it should work natively; so I started to look at existing drivers. I founded out that a project exists, but source code was two years old. I contributed to it and it seemed to work.

After encounting some problems I have to debug this driver. I’ll post any further information here.

No Comments

Windows Clipboard viewer…

Today I found a nice software into windows, which is very useful and handy: the Clipboard viewer. It’s located in %SystemRoot%\System32\clipbrd.exe. This great software doesn’t only allow to view, but also to erase, save and load clipboard content.

No Comments

Regedit trick to getting rid of “Use the Web service to find the appropriate program”

In HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer, create a new DWORD value named NoInternetOpenWith and set it to 1. Done. And, yes, it’s mostly a note for myself.

No Comments

April news

Exactly what I would like to do every time I see such a parked car…

http://xkcd.com/562/

From xkcd :)

Edit: As I write a post today, I also post a direct link to latest Nvidia drivers for Geforce 6, 7 ,8 ,9 and 200 series for windows XP 32 bit; since the download button doesn’t seems to appear on firefox. Note that downloading this file makes you accept the NVIDIA Software License Agreement.

No Comments

Actionscript 3 stage origin.

Hi there, it’s been a while.

So, what’s about AS3 stage origin? Well, I tried to use the stage with this.stage.scaleMode = flash.display.StageScaleMode.NO_SCALE; associated with this.stage.stageWidth; and this.stage.stageHeight; to work with a non-scaled, just-in-time dimensioned stage; but I had a nasty problem: when I used this.stage.stageWidth; and this.stage.stageHeight; to get the stage dimentions, and set them to my objects (movieclips, sprites, layouts, etc.), with X = 0 and Y = 0 coordinates; they were stuck at some given coordinates, but not in the top left of the browser viewport.

Actually, the 800×600 stage was centered. It’s quite simple, you just have to set this.stage.align = flash.display.StageAlign.TOP + flash.display.StageAlign.LEFT; but if you don’t know that; you could waste a lot of time wondering why the stage origin is not in the top left.

, , ,

1 Comment

Google Chrome

Yeah, It was obvious that sooner or later, I’d come to speak about the attempt from Google to do a browser. Actually, I just tried Chrome. And after a short time of use, I know that this browser is not yet for me: ok it’s fast. But, it has too many lacks. Even if it could be skinned easily by replacing a dll file, it doesn’t support extensions, and has many missing features. I found a related google project, but the code is hosted there. If you want to compile it yourself, here are instructions.

Finally there are two bills on the subject, one by Lennart Regebro, and the other from “the independent”.

Note: for those who want to change the theme, just rename the file default.dll. I saw a theme changer on a forum, but it seems to be done in vb6, so you’d better get away from it if you don’t want to screw your Chrome up.

,

1 Comment