I’ve been home for a few days with a really bad back, and the only thing I’ve been able to do is watch tv, and some minor work with the laptop. I’ve been running Windows 7 which it was delivered with for a few months to get a feel of it, and I must say I was pleasantly surprised for the most part. It hasn’t crashed more than once or twice in three months, and it is fairly snappy (except boottimes seems to get worse and worse, at this point it takes 2-3 minutes to boot). Anyways, for some reason I get a bit sad inside (and bored) every time I boot Windows, there is just “something” about the feel, the look or… I can’t really put my finger on it, that I can’t stand. How the windows open and close perhaps, I just don’t know.

So, yesterday I wanted to test android SDK, re-realized just how much of a bitch it is to install stuff on Windows, so I finally got around to installing Ubuntu 10.10 on it (Already running 10.10 on desktop and mediapc), removing the extra backup partition they deliver laptops with these days. Sidenote, isn’t it a bit like selling a candle with a flammable fire extinguisher to sell a laptop with 500gig harddrive, split it in half, and use on half for “backups”? I digress.

So, installation went almost flawless. The wireless card was identified, saw networks, but was unable to connect to any of them. I managed to pass the installation using trusty old cables, and after installation was done I started fiddling about, reading on the net etc, and found noone who had solved the combination or at least written about it.

Main problem seems to have been hardware wep encoding/decoding, which can be turned off using the hwwep flag to the r8192se_pci module. On Ubuntu 10.10, remove the module, and then reload it by doing this:

rmmod r8192se_pci
modprobe r8192se_pci hwwep=0

If your network works now, you can automate the setting by editing/adding the configuration to modprobe.d, by editing /etc/modprobe.d/realtek.conf and adding the following line:

I had a discussion this morning with my wife regarding her new computer (Toshiba laptop). A few days back, I was contemplating the possibility to try and get rid of the Windows 7 license it came with the EULA disagreement argument and get my money back, but after much consideration and realizing that her school (Chalmers University) pretty much requires her to run Windows 7 and Office 2007 (all applications used are windows based with Unix/Linux alternatives only irregularly, and her lab professors more or less frowns on OpenOffice.org vs MS Office formatting problems), we decided to keep it. This is another story, how Chalmers went from being a very open University to a complete clusterfuck of a Microsoft bootcamp and something I’d love to write more about at some point, but not now.

The computer has arrived finally, and my wife had a little time to play around with Windows 7. I’ve personally not used Windows since Win XP and refuse to lay hands on it unless “forced” to at work. Her main gripes came with Internet Explorer 8, and I couldn’t help but laugh very loudly at her assessment of it. It incessantly keeps asking questions and giving hints and ideas like “How do you like this?”, “Did you know that IE plugin blah …?”, “We can help you do …?”, “Do you have herpes?” to the point where the only sane comparison she could make is a very horny and needy drunk boy at a club. It took her less than one battery charge to switch back over to Firefox. My guess is that they simply made the user interface a bit … too helpful, and tried to be too reactive to “possible needs in this context”.

So, on this topic, I thought it could be slightly interesting to see this months statistics and split between different operating systems and web browsers.

Operating systems

I can’t really say that this site is representative of the world in general, but I think it is interesting to see the level of windows users. I’m guessing this is a sign that many of the people visiting are reading about iptables and using linux for servers and firewalls, but aren’t using it as a desktop system (yet?).

Windows

59.1 %

Linux

31.3 %

Macintosh

6.4 %

Unknown

2.7 %

Web browser

Personally, I find this part the most astounding. That IE has gone so low is simply not something I had expected, and how big market share firefox has… incredible.

Firefox

60.7 %

MS Internet Explorer

16.4 %

Safari

11.4 %

Mozilla

4.5 %

Opera

4.1 %

Unknown

1.2 %

I will try to do some more work on this in the future, could be interesting to see this change over time. I know the reliability of my own source isn’t excellent and the error margin is probablythrough the roof, but it should be rather fun to dig in to.

I got a Xbox360 since about a year and I just noticed it had some way of connecting to a PC, using the PC as a Media Server. Unfortunately it required a Windows Media Center installation to work, or so it claimed at least. This is probably not news to anyone, but it was very easy to get Ubuntu (or any other Linux distro as a matter of fact) to serve media for the Xbox 360. Xbox 360 uses UPnP to get media from the Windows Media Center PC. To make any recent Ubuntu able to serve UPnP suitable for the Xbox, do the following:

sudo apt-get install ushare

sudo dpkg-reconfigure ushare

sudo vim /etc/ushare.conf

Make sure all the settings are correct.

sudo vim /etc/default/ushare

Make sure it contains USHARE_OPTIONS=”–xbox”.

sudo /etc/init.d/ushare restart

You should now be able to find the PC by searching for it from the Xbox interface (the name you set in ushare.conf should show up in the list of found PC’s). Now that that’s said, I should hint that the Xbox360 has a really shitty availability of audio and video codecs, and I don’t know if it’s possible to resolve this problem. There are hints that there is something called a UPnP Media Adaptor on the ushare website which should be able to convert to proper file formats as necessary, but ushare does not have that ability. Of course, that would give a shitload of cpu load on the fileserver as well, something which sounds less good in my opinion.

My personal opinion so far, Xbox 360 media center is really simple to use, but the available codecs, flexibility and scalability is catastrophically bad in comparison to my MythBuntu installation (still running 9.04 though). The Mythbuntu installation is a bit heavy on the configuration, but much more flexible, handles almost all codecs I’ve run into without even a hitch, and very scalable.

I finally got rid of the last windows computer in our home. My laptop had a backup installation of Windows XP just in case I realized I had either forgotten something on that partition, or I realized I had some need I had forgotten. This partition has now been moved to virtualbox on my workstation via the http://www.virtualbox.org/wiki/Migrate_Windows how-to.

Also, my wifes laptop running Windows Vista stopped working (again), and she had finally had enough of the problems that Windows installation has caused so she asked me to remove Windows Vista and install Ubuntu 9.04. The harddrive was also copied over to the workstation and I tried the same how-to as above, but it didn’t work properly unfortunately, so I winded up just moving the harddrive inside my old Windows XP installation.

Once this is done, I’m planning to reduce the size of the harddrives. This is 220gig data at the moment, so it could be a good thing. I will try http://forums.virtualbox.org/viewtopic.php?p=572#p572 and see how it goes. Once that is done, I’m almost 100% free of all the problems we’ve had with Windows. The only windows I have left is the backups for emergencies.

Another problem has (mostly) been solved for me it seems. I’ve had quite a lot of problems the last few months with calendars and email and contacts being out of sync between workplaces and my private computers/cellphones etc. The problem has been that I’ve gotten a new contract and hence am relocated to another workplace. My employer has a stupid (ok, maybe not so stupid, but annoying me nonetheless) policy of not allowing any e-mail to internal addresses be forwarded or fetched from external networks. At the same time, my contracting has put a heavy load on the calendar and all of a sudden I understand everyones problems with syncing e-mail/contacts/calendars etc… it’s really a must.

Anyways, in short, I started out with 4 calendars (workplace1, workplace2, home1, home2(laptop) and cellphone) needing sync, and using Microsoft Exchange weirdo protocols was not an option (I’m not using Windows or Outlook at home anymore). This has later been extended to sync contacts and my two instances of thunderbird (not yet finished). So, in short:

Workplace1 = Windows Vista with bluetooth

Workplace2 = Microsoft Exchange server with limited access.

Home1 = Ubuntu with thunderbird

Home2 = Old Laptop, Windows XP with thunderbird, will likely migrate to Linux soon as well since I barely use it anymore due to the OS on it.

Cellphone = LG KC910 with bluetooth and wifi.

First off, finding a sync strategy wasn’t easy. First, decide on where your “central repository” is, or rather which will be your main device. My current solution relies on cellphone (LG KC910) being the central repository since it’s the only common gadget at all locations. connection at workplace1 is directly over bluetooth to the KC910 using the LG sync application. The application is absolutely horrible, but it does it’s job (barely). Unfortunately LG relies on a proprietary bluetooth protocol for syncing so I have yet to find any decent replacement applications.

My big problem was finding a working solution at home, and I think I finally found it in Funambol (https://www.forge.funambol.org/DomainHome.html) which is a SyncML server. Basically, I got a server on my local network running Funambol, when I get home, connect to the local wifi, and sync with funambol (See http://www.mobyko.com/phoneinfo/lg/renoirkc910Info.do, a bit down for instructions). The funambol server then acts as a “central repository” when I’m at home containing all calendars etc. Thunderbird sessions on Home1 and Home2 uses the funambol addon (https://addons.mozilla.org/en-US/thunderbird/addon/8616) to sync with the funambol server.

WARNING! So far I dont trust funambol to run on the public internet, for one part it seems to be sending passwords in cleartext, as well as data. I’d love to figure out a way to get it all encrypted using SSL/https, but I’m a complete newbie to Tomcat (base plattform for funambol) as well as java. As far as possible, try to use a closed/encrypted network for this unless you get https running imho.

A second note on Funambol is that I had some really funny Timezone problems when setting it up, all devices run the correct timezones, but for some reason my calendars winded up being winded 2 hours into the future at home, I got it fixed by setting all timezones in funambol for all devices manually, and then disabling the timezone handling in funambol… don’t ask me why it fixed it etc, I hate working with timezones 😉 .

All that said, I really think SyncML was a big saviour for me in the end, but I had a hard time finding a single word on it or anyone really recommending it. Bluetooth just needs to be …. well, better support, and everyone needs to agree on standards. Everyone (companies) seems to be running around doing their own thing, which means Linux has very good basic bluetooth support, but none of the higher layer stuff since it’s badly implemented or proprietary.

For a while I’ve been stuck in slow speed mode again, not really doing great work, just being on average. It feels weird. Don’t really get much done, but I have on the other hand had a great deal of time to test some “new” technologies, well, new as in only 10-15 years old I guess :-). I’ll get back to that later. Also, I’ve begun a new contract at “a big company”.

This is my first time at a really giant hunk of a company, the biggest I’ve seen before was circa 500 people in all, and it moved slower (the beaurocracy) than this in all honesty. This BigCompany is quite interesting to me. Started off with almost 4 weeks of introductions, courses, and so forth. They have a dedicated TEAM of CM’s, that alone is just… wow :-P. I’ve just been put up to speed and started working a little before this weekend so I might be a bit premature, but I like it so far. The weird part is, things happen, but not as I’m used to it. I’m used to 13+hour days and frentic coding/hacking to get things to happen, everyone here eschews away with their 8 hour days — only working overtime at very special occasions — yet slowly things get done, new functionality gets added and so forth.

Another thing that kind of amazes me — and worries me to some extent — is the kind of planning that is done. I’m used to small scale projects with workpackages or task based development, where no workpackage should ever take more than 4-5 days to implement. This place uses a workpackage development structure where each package takes up to 6-7 weeks for 6-10 people to implement. We’ll see how it works out — at least their “stand-up meetings” works :-).

All that being said, I had the time to write quite a bit of python which is a first, then I’ve looked into d-bus architecture which is also a first, and I also looked into Bluetooth and how to use it — some test applications running, fetching services and graphically displaying info about all units it finds etc. The complexity of Bluetooth is rather saddening imho, it’s a horrible protocolstack to work with in some senses, even though I was really impressed by how much python does for you.

I’ve been unused to the whole concept of python before this, and just a tad sceptical. Mainly because of all the problems with version matching that you always wind up having to do, to make anything work properly (try getting scons, trac and wamp, and some more tools working on a win32 machine some day for some fun).

Anyways, I always figured there has to be an upside, and there really is — python is hackfriendly 🙂 . In less than 3-4 hours I went from writing my first simple helloworld to having a scratch written class based graphical (tkinter) interface implementing some very fundamental bluetooth commands. In my world, thats not bad at all ;).

I’ve also had time to learn a lot of new tools at work. I’ll comment on those some other day as I havent seen much other comments on some of them (some is imho very expensive crap with a nice wrappings, while some are completely awesome). Sidenote, I simply adore the systems we are working on 4 xeon with 4cores and 64 gig ram.

Girlfriend has had a USB memory stick for a long long time now, and every time I plugged it into the computer, I’ve gotten completely raving mad at how retarded it is. The story is this, it has 2 separate partitions. 1 partition where you save files etc, and a “system” partition containing something called U3. U3 is closest described as a virus imho.

The system partition is read only and I found no way of easily making it read/write/formattable. Every time you plug in the USB stick, it will autorun a junk program called U3 launchpad with a lot of popups showing up to let you know about it, and it has a bad notion of trying to be a second “start” menu or something.

Anyways, I decided for the 3rd time to try and remove this crap from the USB stick, both times before I got about 10 minutes into the process, at which time the computer had locked up hard on me 2-3 times, and almost had me stomping on the memory stick out of sheer annoyance. Same thing happened this time. But, I had some more perseverance, and actually access to the internet this time, and started searching for others with the same kind of problem.

I found this: http://www.u3.com/uninstall/ . The sheer idiocy of this amazes me. Let’s assume that here I am buying a memory stick to help me “when I have no access to the internet”, and I get some junk with me on the usb drive. The only way of getting rid of the junk, is to download an application off of the “thing I will likely not have access to”.

So, I download the application, and run it. It asked me if I wanted to backup the data on the memory stick. I did, so I choose to backup data on it, and continued. It downloaded the data properly to the harddrive it looked like, and continued to reformat the drive. At this point, it crashed, trying to replug the USB drive didn’t work — apparently the driver for the drive was already installed. So, reboot the computer, and it finally recognizes the drive again. It’s empty, no more U3, but the application never got around to actually formatting the new drive and reinsert the backed up data. No worries I think, I format the drive, and manage to search down the backup to C:Documents and SettingsApplication DataU3tempU3BkUpDir. Guess what, the application only copied the directory structure, no data is actually in the directories.

And they have the audacity to _really really_ try to talk me into “nooo, you want to keep this application, it will save your life” more or less. It’s a freaking virus. It’s actually harder to get rid of than quite a lot of viruses, and caused more of a havoc imho. Anyways, check out the above link to get rid of U3. And be prepared to backup data on your own

As you’ve all noticed, I’ve been working overtime with Windows as of late. I’m working in the embedded development industry, and wherever I turn, there is windows. To be honest, I don’t get this industry and why the hell they keep running in this environment. Most of the people I’ve met in the trade are brilliant minds and know what they are doing, but the business in general are very backwards refusing to let go of things.

Also, another reason for the entire trade being stuck in such a fashion is all the tools produced. You have a market catering to the same market with software and tools, developing for a single common development platform — Windows. And you have product lifetime to take into consideration…. There are still a bountiful of products out there that was developed before windows 3 was created.

All of this is creating a rather stagnant trade where it’s hard to get a move on, test new things, do something differently. Just take my last few weeks of working with subversion/trac/cruisecontrol on windows. Had I known just how much work I would be forced into just because someone else decided that we run it on Windows XP, I would have protested loudly.

I can’t simply get rid of this horrible abomination of an operating system in this trade, thats the sad but simple fact as of today. Sure, I’ve managed to get trac and cruisecontrol into the project, and we use subversion since before. But, I still need Windows for proprietary development environments, proprietary fileformats from customers, proprietary software from proprietary software companies, and so forth and so forth. And before you say anything, unfortunately I’m really stuck this time, proprietary IDE and compilers for weird hardware. Every time I touch an embedded project, it’s the same thing “oops, we gotta use this processor or that dohicky which requires software Y which requires Microsoft Windows”.

What’s just taken me 3 weeks in Windows — Basically, setting up subversion/svnsync/trac/cruisecontrol and some small work around that — was accomplished in that time, even though I did the same in less than 2 days just before in Linux. As we’re building for target via cruisecontrol, we where stuck with using Windows as the compilers where proprietary…

I’m a Unix person by soul, I love it, it’s natural to me, it’s my home. It’s where I come from! I feel like I’m screaming at this insanity asylum that is Windows, but nobody is listening to me. The entire Operating system is befuddled with incompetence, idiocy and bad design choices.

Recently I’ve been setting up for a project, as you might have noticed, and one of the problems we ran into was the fact that we have a centralized subversion repository. We don’t have access to control or install anything on the actual server unfortunately, so hence we can’t install trac on that system, as previously explained. The solution is to sync the main subversion databases to the trac server as previously explained.

A secondary problem arising from this, is that we can’t actually change the hook files of the master repository. The solution to this, is to add a synchronizing scheduler. As I was stressed, and had no time to deal with this properly, I had to run with the Windows Scheduler of all horrible solutions. The following explains how to set it up.

Windows Scheduled synchronize Task

Warning! The windows scheduler does not start automatically when you reboot etc. If you do this, the task restarts at it’s start time, so if it’s set to run at 00.00 every day, and then every 5 minutes, it will restart and start running at 00.00, not as soon as the machine is started up again. This is pure evil.

A scheduled task is set up as follows, create a bat file (ie, c:projectssvnprojectsvnsync-project.bat):

Set up the master subversion server as you would normally. We will get back to this one.

On the trac server, install subversion etc as well. This server will rely on svnsync to become a secondary/mirror subversion server. It must not be used for checking in or working against, it is purely a repository for reading.

Set up trac and all other tools required on the mirror server.

Now, you need to set up user accounts on the mirror server. To start with, create the mirror subversion repository, it will be empty to begin with:

svnadmin create MIRROR_REPOS_PATH

After that, create authz authentication files for the repositories to stop anyone from writing/working against the mirror repository, such as the following:

[/]

* = r

svnsync = rw

You could extend this by writing hook scripts blocking anything but the svnsync user.

If the master subversion repository is live while adding the trac database, all of the following must be done during server maintenance window (ie, close it down from any kind of access, except the mirror machine).

Once all that is done, its time to initialize the the mirror server with the master subversion repository (ie, move over the data).