<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-737706232225771178</id><updated>2012-02-16T20:17:32.275-08:00</updated><category term='comment'/><category term='solution'/><category term='Renoir'/><category term='Robots'/><category term='cellphone'/><category term='SanDisk'/><category term='LCD'/><category term='Windows'/><category term='Management'/><category term='lirc'/><category term='general'/><category term='Editing'/><category term='sync'/><category term='tortoisesvn'/><category term='Opinion'/><category term='scheduler'/><category term='model.'/><category term='python'/><category term='Player Project'/><category term='e-mail'/><category term='Projects'/><category term='LG'/><category term='vim'/><category term='eclipse'/><category term='zigbee'/><category term='Video'/><category term='blogs'/><category term='netfilter'/><category term='linux'/><category term='embedded'/><category term='hack'/><category term='frozentux.net'/><category term='Service'/><category term='Robby RP5'/><category term='php'/><category term='lock'/><category term='C/C++'/><category term='migration'/><category term='Whine'/><category term='Player/Stage'/><category term='VFD'/><category term='mythtv'/><category term='KC910'/><category term='Phone'/><category term='configuration management'/><category term='USB'/><category term='remote control'/><category term='Development'/><category term='Economy'/><category term='trac'/><category term='Kino'/><category term='web2.0'/><category term='Mencoder'/><category term='mythbuntu'/><category term='sucks'/><category term='FFmpeg'/><category term='HTML'/><category term='Posten'/><category term='toolchains'/><category term='ubuntu'/><category term='iptables'/><category term='JavaScript'/><category term='wamp'/><category term='subversion'/><category term='iMON'/><category term='problem'/><title type='text'>Frozentux Blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://frozentux.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>45</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2139599565388750538</id><published>2009-11-20T08:31:00.000-08:00</published><updated>2009-11-20T08:32:58.054-08:00</updated><title type='text'>Moved blog</title><content type='html'>The blog and all posts has been moved to my main site:&lt;br /&gt;http://www.frozentux.net&lt;br /&gt;&lt;br /&gt;If you wish to read new or old material, please go there instead.&lt;br /&gt;Thank you!&lt;br /&gt;&lt;br /&gt;Oskar Andreasson&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2139599565388750538?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2139599565388750538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2139599565388750538'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/11/moved-blog.html' title='Moved blog'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5919972633704156679</id><published>2009-09-13T03:45:00.000-07:00</published><updated>2009-09-13T03:56:01.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Video'/><category scheme='http://www.blogger.com/atom/ns#' term='KC910'/><category scheme='http://www.blogger.com/atom/ns#' term='Editing'/><category scheme='http://www.blogger.com/atom/ns#' term='Mencoder'/><category scheme='http://www.blogger.com/atom/ns#' term='Kino'/><category scheme='http://www.blogger.com/atom/ns#' term='FFmpeg'/><title type='text'>Example transforming videos</title><content type='html'>I recently made some video editing on videos i copied to and from my cell phone and realized some of the stuff might be rather esoteric and hard to find good examples on how to do. Basically just going to post some minor tips and tricks that I picked up, and some very simple commands to use with mencoder, ffmpeg and kino.&lt;br /&gt;&lt;br /&gt;I used mencoder and ffmpeg to do some of the basic edits, like turning videos around etc. After the basic video snippets where done, throw them into kino and make the final cut, and then recode the video into a distributable format (10 minute video in dv format as used in kino = 2.1gig data, while 10minute divx of the same video = 170 meg).&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;#Rotate video 90degrees&lt;br /&gt;oan@laptop4:~$ mencoder -o lala.avi -vf-add rotate=1 V170709_12.54.AVI -oac copy -ovc lavc&lt;br /&gt;&lt;br /&gt;#Postprocessing filters, ac = high quality&lt;br /&gt;oan@laptop4:~/Desktop$ mencoder -o lala.avi -vf pp=ac V170709_12.54-recode.AVI -oac copy -ovc lavc&lt;br /&gt;&lt;br /&gt;#Transcode video so it works on cellphone (KC910), this "works for me"(tm)&lt;br /&gt;oan@laptop4:~/Videos$ mencoder -o lala.avi -oac copy -ovc lavc -lavcopts vcodec=mpeg4 alice-final.avi&lt;br /&gt;&lt;br /&gt;# Create a black 2 second frame (25 fps, 50 frames), I used this as a filler between&lt;br /&gt;# two movies. There's probably easier ways of doing this, but it "works for me"(tm)&lt;br /&gt;oan@laptop4:~/Pictures/2009-08-01$ ffmpeg -r 25 -loop_input -i black.jpg -vcodec mjpeg -vframes 50 -y -an test.avi&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Finally I put the videos together in kino in the order I wanted, with black frames in between and effects fading from the videos into black, and so forth, making for smooth transitions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5919972633704156679?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5919972633704156679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5919972633704156679'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/09/example-transforming-videos.html' title='Example transforming videos'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5569567913361418142</id><published>2009-08-20T23:25:00.001-07:00</published><updated>2009-08-20T23:28:25.564-07:00</updated><title type='text'>Dpkg and apt-get reading database is really slow [fixed]</title><content type='html'>I've had problems many times with the "reading database" step in deb package based systems getting really slow. Today it took over 1,5 minute on a quad core machine with 4 gig ram, which is simply over the top for me.&lt;br /&gt;&lt;br /&gt;Within 5 minutes of searching I found this:&lt;br /&gt;&lt;br /&gt;http://antti-juhani.kaijanaho.fi/newblog/archives/521&lt;br /&gt;&lt;br /&gt;So a total of 7 minutes later, it takes me less than 2 seconds to install small packages again. I should've found this earlier :-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5569567913361418142?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5569567913361418142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5569567913361418142'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/08/dpkg-and-apt-get-reading-database-is.html' title='Dpkg and apt-get reading database is really slow [fixed]'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2042494828462590730</id><published>2009-08-16T02:09:00.000-07:00</published><updated>2009-08-16T02:22:25.876-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='migration'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Migrating windows to virtualbox</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2042494828462590730?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2042494828462590730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2042494828462590730'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/08/migrating-windows-to-virtualbox.html' title='Migrating windows to virtualbox'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2619078232773475900</id><published>2009-07-24T06:09:00.000-07:00</published><updated>2009-07-24T06:57:41.408-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='problem'/><category scheme='http://www.blogger.com/atom/ns#' term='KC910'/><category scheme='http://www.blogger.com/atom/ns#' term='Renoir'/><category scheme='http://www.blogger.com/atom/ns#' term='Phone'/><category scheme='http://www.blogger.com/atom/ns#' term='LG'/><title type='text'>LG KC910 woes</title><content type='html'>As I've already said in earlier postings I relatively recently got myself a LG KC910 Renoir phone. The phone has been the cause of a lot of woes and problems so far and I'm afraid I must say I regret not getting a proper Android or iphone from the beginning. As it is, I'm stuck with this phone for another year+ until the subscription runs out - or get some other phone on my own tab.&lt;br /&gt;&lt;br /&gt;The one really great part that I love about the KC910 so far is the absolutely wonderful camera, it has a 8MP camera that takes rather splendid snaps for a cellphone camera. Also, the video recording function, and video/music playback is rather nice.&lt;br /&gt;&lt;br /&gt;For the really really bad part, well, look at the rest. Three of the main reasons I got this phone was for the ability to get some websurfing done "on the go", and to get a good calendar that could be synced vs my work and private calendars, and finally I wanted to use the phone straight off for connecting to the internet instead of some dongle. Both these functions are completely botched in the KC910 as the, the webbrowser lacks a lot of functionality practically making most of the internet unusable on the phone, and the browser is also horribly slow, taking tens of seconds to "calculate/draw" complex webpages after its actually loaded. This problem should be easily solvable by downloading and installing another browser such as Opera you say, sadly, the install process hangs halfway through on the Renoir, and I have so far to find another browser that actually installs at all, which kind of brings a fourth point up (applications/third party market).&lt;br /&gt;&lt;br /&gt;Second problem was the calendar, which is unfortunately totally borked. For basic calendar tasks it works fairly well, but very soon you will realize it doesn't work very well. It lacks good support for reoccuring activities, the sync applications has a bad habit of screwing up timezones and actually moving activities/entries around based on timezones and at occasions it deleted entries entirely, and worst of all, LG has chosen to go all the way with their PC Suite set of applications, which essentially bars you from using anything but officially supported Microsoft Windows XP/Vista and Outlook. This goes for pretty much all functionality in the phone. Getting it to work with thunderbird, well, good luck. This is one of the reasons I had to work very hard getting Funambol setup at home to sync the phone and thunderbird with (I can not use a third party server as some calendar entries may in worst case contain sensitive data). The functionality of this setup worked out to be "semi-decent" to crap at best, and in the end I winded up reverting to just using my computer calendars.&lt;br /&gt;&lt;br /&gt;My third problem has been internet connections. The only supported way of connecting to the internet is (again) via their PC Suite crapware. All other phone manufacturers support Bluetooth DUN or serial port connections without a problem, but not LG. It halfway supports DUN connections, I get a connection the first time that doesnt work, then get disconnected, and after that it takes 2+ days until I can connect again, and get disconnected again, exactly the same thing happened in Linux, Vista, XP, with/without PC Suite, over USB/Bluetooth, in accordance with 3's and LG's support etc. In the end, after 3-4 weeks of messing with this, I winded up getting a Huawei E180 HSPA USB stick, 30 seconds to unpack, plug in and click two buttons in Ubuntu and I was connected to the Internet.&lt;br /&gt;&lt;br /&gt;My final annoyance is the lack of a third party aftermarket of some kind, I'm talking anything like the Iphone/Android app-store. A smart phone without a serious aftermarket support is pretty much as dumb as any old "dumb phone" ever was. LG has some eclipse based SDK's available for download, but they only work for Windows, which has stopped me from actually trying them out at all so far, as I quit using windows completely half a year back. Anyways, the big problem is that there is no coordinated effort to make a decent app-store or app-store-a-like place to go for your applications for this phone. As always, the phone producers completely fails at understanding this part, in this day and age, you need to create officially endorsed systems of managing, getting and paying for applications. Whom the problem should fall upon is a hard question, but just dumping the problem on someone elses porch is not sufficient in this day and age, especially if you want to make phones that tries to emulate the success of "the big one", you need to at least try and understand what made it big. It wasn't a good camera or a nice looking (but slow) gui. It's the ability to be adapted to my requirements, and to perform my required tasks. You can not predict it all (my needs are not your needs), hence adapt to standards (make shit plug and play with others), and make every effort you can to create a third party aftermarket that works (signed downloads, payments, etc etc).&lt;br /&gt;&lt;br /&gt;As a verdict, if you're looking for a smartphone/iphone/android, dont get an LG.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2619078232773475900?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2619078232773475900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2619078232773475900'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/07/lg-kc910-woes.html' title='LG KC910 woes'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5248220755851940648</id><published>2009-05-03T06:41:00.000-07:00</published><updated>2009-05-03T07:15:35.979-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sync'/><category scheme='http://www.blogger.com/atom/ns#' term='cellphone'/><category scheme='http://www.blogger.com/atom/ns#' term='KC910'/><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='LG'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='e-mail'/><title type='text'>Syncing strategies</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Workplace1 = Windows Vista with bluetooth&lt;/li&gt;&lt;li&gt;Workplace2 = Microsoft Exchange server with limited access.&lt;/li&gt;&lt;li&gt;Home1 = Ubuntu with thunderbird&lt;/li&gt;&lt;li&gt;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.&lt;/li&gt;&lt;li&gt;Cellphone = LG KC910 with bluetooth and wifi.&lt;/li&gt;&lt;/ol&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;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. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;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 ;)  .&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5248220755851940648?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5248220755851940648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5248220755851940648'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/05/syncing-strategies.html' title='Syncing strategies'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-645253234565448636</id><published>2009-04-09T20:20:00.000-07:00</published><updated>2009-04-09T21:05:55.933-07:00</updated><title type='text'>Inproductive productivity</title><content type='html'>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  telecom company".&lt;br /&gt;&lt;br /&gt;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 actually 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 actually 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.&lt;br /&gt;&lt;br /&gt;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" actually works :-).&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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).&lt;br /&gt;&lt;br /&gt;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 ;).&lt;br /&gt;&lt;br /&gt;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 actually are completely awesome). Sidenote, I simply adore the systems we are working on 4 xeon with 4cores and 64 gig ram.&lt;br /&gt;&lt;br /&gt;I'll get back later :-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-645253234565448636?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/645253234565448636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/645253234565448636'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/04/inproductive-productivity.html' title='Inproductive productivity'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5857656394503775816</id><published>2009-02-26T22:47:00.000-08:00</published><updated>2009-02-26T22:57:00.033-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Posten'/><category scheme='http://www.blogger.com/atom/ns#' term='Service'/><category scheme='http://www.blogger.com/atom/ns#' term='sucks'/><title type='text'>Swedish postal services suck</title><content type='html'>Just a quick note, Swedish postal services suck. They are completely retarded to deal with. Since christmas, I've ordered 5 packages sent via "Posten", 4 of those are lost/stolen.&lt;br /&gt;&lt;br /&gt;I've spent over 8 hours on hold and in phonelines to posten trying to report these different losses etc. If you read this, and use Posten for package delivery, or you are a company sending packages to Sweden, please use another service. A list of the packages that has been lost so far:&lt;br /&gt;&lt;br /&gt;1. An Acer Aspire One + extra ram, stolen over 1,5 months ago, still haven't received payment for the laptop. According to my research, it could be up to 4-5 months before they get their thumbs out of their asses and pay money to me.&lt;br /&gt;2. Electronics, it was delivered to package delivery, but i never got notified, and after 7 days it was returned -- packages are supposed to be left for 14-30 days, and you're supposed to get notified. Elfa was kind enough to repay me in full.&lt;br /&gt;3. Cell phone, it was delivered in Alvesta since posten claims it's my closest pickup point. For those not knowing, Alvesta is 300-400km away from me. Again, no notification. No payment done in advance.&lt;br /&gt;4. Replacement cell phone, sent over a week ago. Still no notification, possibly gone?&lt;br /&gt;&lt;br /&gt;As you can understand, I'm not happy with the services. The only package that I did receive? It was sent with inWarehouse to their own pickup point, 1,5km extra travel to pick it up, but sooo worth it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5857656394503775816?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5857656394503775816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5857656394503775816'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/02/swedish-postal-services-suck.html' title='Swedish postal services suck'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7141679243651134579</id><published>2009-02-26T11:32:00.000-08:00</published><updated>2009-02-26T11:53:53.425-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='zigbee'/><category scheme='http://www.blogger.com/atom/ns#' term='Robots'/><category scheme='http://www.blogger.com/atom/ns#' term='Player/Stage'/><category scheme='http://www.blogger.com/atom/ns#' term='Player Project'/><category scheme='http://www.blogger.com/atom/ns#' term='Robby RP5'/><title type='text'>Off-work robot fun</title><content type='html'>As of late, I've been having loads of fun with an old robot of mine, Robby RP5. My biggest complaint at all times has been the fact that it has a horrible 8-bit processor with "some kind of" Basic interpreter/compiler that I never quite figured out because it is so boring and ... well, let's face it, you will never be able to do anything "wow" in a language that is more or less assembler having 4k flash and 256bytes ram where only some 60 bytes are actually available.&lt;br /&gt;&lt;br /&gt;As of late, we've been having some fun with zigbee modules at work, and I figured out a way to have fun with my old Robby again. Robby has a serial port, and I'm connecting one zigbee module to that one, and on the other end I've got a zigbee module connected to my computer via USB. On the Robby processor, I got a very simple program that simply talks a protocol sent over the zigbee connection and "implementing" the commands sent in packets. There are 3 packets that can be sent, TrackData, SensorData and RequestData. TrackData packet sent from computer sets speed of both tracks individually, RequestData is sent from computer to Robby and contains a request for a packet back. The Request can either be TrackData or SensorData. SensorData contains data from all sensors supported (currently only IR range sensors).&lt;br /&gt;&lt;br /&gt;My first demonstration program on the computer is connected to a joystick and simply transforms the joystick input and sends it to the robot. Pushing button 0 requests sensordata and 1 trackdata.&lt;br /&gt;&lt;br /&gt;Right now, I'm looking at porting my robot drivers into the Player/Stage project which I've been looking heavily at as of late, and seems damn cool. I've been testing some of the example robots in the Stage simulator, and if I would port my setup into that project, I should be able to use the available robot "behavioural modules" straight on my robot, and/or test my new modules in a simulator before actually running in the real world. In all honesty, I think player/stage is the best thing I've ever found since sliced bread, it simply opens up for sooo much fun :) . Connect this with a couple of zigbee modules, you can build very simple and cheap robots that are extremely powerful. 60ÜSD robot chassis, 5USD processor, 10USD junk, 30USD for 2 zigbee modules, add some sensors, and you've got as much as you can ask for. Robby for example is around 110USD, probably much lower, a pair of zigbee modules are 30USD.&lt;br /&gt;&lt;br /&gt;And yes, I will open this once I feel that I'm closer to finished :-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7141679243651134579?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7141679243651134579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7141679243651134579'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/02/off-work-robot-fun.html' title='Off-work robot fun'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7793886769519855486</id><published>2009-01-27T01:49:00.001-08:00</published><updated>2009-01-27T02:14:40.347-08:00</updated><title type='text'>Work? What work?</title><content type='html'>So, just a brief update. I've recently (a few months back *cough*) taken over our Linux "education" group at work, and it's interesting. The sad part is, we mostly only see people who already knows what Linux is as we're working internally in a world where most people are rather Computer savvy as it is. It's given me a few new viewing angles though, and I'll get back to that at a later point.&lt;br /&gt;&lt;br /&gt;Currently working on some Trac guidelines for our Change Management process as well. Working from home today to actually get something done with it, as most of the days I wind up getting too many disturbing calls, talks and discussions to be very efficient. Our first two tries at making a decent workflow winded up a bit messy, and I think we really must get this down properly this time.&lt;br /&gt;&lt;br /&gt;There are some other things I react on, and want to fix, for example, as it looks now, every single project sets up their own bugtracking/ticketsystem, and every project uses a different system (trac, mantis, clearcase, dimensions, etc). Preferably, this should be centralized in some fashion, and if possible I'd love to get a bit more homogenized environment. As it is, I try to tell people "look, here's a system for handling your day to day tasks, use it!". First time, the workflow got overly complex, second shot was also overly complex, and people where put off by all the choices and steps to take. This problem mainly stems from project/change management criterion.&lt;br /&gt;&lt;br /&gt;My latest and greatest (yeah yeah) workflow should alleviate some of these problems by making some of the choices less visible to normal users. Ie, we have one task management system and a problem and change management system baked into one, but normal users (programmers) only use the task management system, while the project manager, tech project manager and CM also have the ability to handle problems and changes in separate workflows.&lt;br /&gt;&lt;br /&gt;We're also adding the ability to have supertickets, where a single problem report can contain several tasks. This is a pseudo development so far, as we're not actually adding the whole deal right now, we're just adding the idea of it, not bounds checking or views/reports of it. Basically, every ticket can have a superticket (we add a numeric field to the ticket), which can point to another ticket, which is the "parent" ticket. This makes it possible to handle a large and complex bug in several smaller tickets. Anyways, the idea is there, but it's not fully implemented. If our management likes it, and the others like it, we could implement it for future usage. I'm worried it's too complex however. At the same time, one complex system might be better than 6 alltogether different systems as it allows for longer time to learn? Kind of like... well, unix for example. Once you find ls, its a darn good bit faster than having to click your way through a whole heap of paths to find the specified file list.&lt;br /&gt;&lt;br /&gt;At the same time, both me and PM are a bit tired of Trac's shortcomings, maybe change to Mantis for example? My general thought to this however is, we need to stick it out i'm afraid... one more system will just make the normal user less interested in the new tool and hence taking even longer to learn. As it is, people use it at a bare minimum cause they dont know it, give them time to learn it properly, and they might come to like it. Comments on this line of thinking?&lt;br /&gt;&lt;br /&gt;For now, tata. Back to writing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7793886769519855486?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7793886769519855486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7793886769519855486'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/01/work-what-work.html' title='Work? What work?'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2174072726097533402</id><published>2009-01-04T10:50:00.000-08:00</published><updated>2009-01-04T11:31:38.325-08:00</updated><title type='text'>Christmas ending</title><content type='html'>So, christmas and new years holidays is coming to an end. A long and arduous autumn/winter at work has ended, and an equally joyful christmas holiday is ending. This has been the year of working for my part, and the experience has been incredible. In all honesty, I've never had the opportunity to work in such a stimulating environment as I have the last few months, and I'm very happy for it.&lt;br /&gt;&lt;br /&gt;Me and the girlfriend had the bad habit of buying an Xbox 360 for ourselfs this christmas, which made us realize we have a really small tv, so within 5 days we bought a new one. Then, we realized how bad speakers we have, so we winded up buying a set of bose speakers and new spdif cables within 2-3 days as well. This in turn, and the fact that I finally had some spare time, lead to me spending a lot of time finally getting the HTPC configured and working.&lt;br /&gt;&lt;br /&gt;The entire HTPC is worth mentioning since I've put it together from parts, and installed/configured everything on my own. My opinion is that mythtv and ubuntu (mythbuntu) has come a long way as a platform for end users, but they still have a long way to go I'm afraid. My biggest annoyance is still the same it was 12 years ago unfortunately, and I think it's to some extent become even worse over time. Graphics and Sound drivers...&lt;br /&gt;&lt;br /&gt;I personally have fairly new nvidia card which I want 3d graphics on, and all the hardware accelerations etc, in other words I'm stuck with the nvidia drivers. You would think it would be easy with the proprietary hardware drivers stuff in Ubuntu, but it's not. It's actually worse than some years ago when I last handled these setups, then all you had to do was compile and install drivers in the correct kernel modules directory. Now you have to fight with umpteenth other installers which crashes and overwrites eachothers and so forth, and then when you do an update, all of a sudden you overwrite your working drivers with nonworking versions and you're stuck trying to figure out just what happened. Also, the choice of good graphics cards has become smaller imho. If you want something powerful, you're stuck with nvidia or ati. Both drivers are completely horrible to get working. I'm hoping the rumours I've heard lately will turn true here, and we'll finally see better support for open source software from both companies, at least if they could make a single decent installer for the proprietary drivers in the common Linux distributions.&lt;br /&gt;&lt;br /&gt;And my final gripe, which isn't so large as the other ones, the sound drivers. Sound was absolutely horrible back in the days with OSS, whatever soundcard I tried to install, I winded up with either having to run the trial OSS drivers, or choosing between no sound and buying the OSS drivers. This has become much better happily. It's still not working flawlessly as I just found out (SPDIF took a few hours to get working, and I still haven't gotten 5.1 output to work correctly over SPDIF).&lt;br /&gt;&lt;br /&gt;These are critical areas of an OS (you expect sound and graphics to "work out of the box" these days, not having to screw around with settings/drivers/installers as soon as you deviate by a single micron from the specifications.&lt;br /&gt;&lt;br /&gt;On top of this, I had some more serious issues with my iMON PAD remote, once again after reinstalling the system. That I can live with, but it's a serious annoyance. For some reason, the configurations shipped with mythbuntu had a bunch of codes that where off by a few numbers every here and there, and then there was a lot of buttons not connected between lirc to mplayer and mythtv.&lt;br /&gt;&lt;br /&gt;Apart from this, I'm very happy with the setup by now. The basic functionality is there, but it's made for tweaking and having fun, so there's still a lot of things I'm interested in doing on it :-).&lt;br /&gt;&lt;br /&gt;By now, I'm mainly waiting for work to start again, I feel rested, I've gotten to fiddle with some hardware and software, and I got new energy for the new year. I just need to try and get working on my webpage and stuff like that a little bit more so I can finally finish it. Like all IT projects, it's running very late ;-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2174072726097533402?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2174072726097533402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2174072726097533402'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2009/01/christmas-ending.html' title='Christmas ending'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-9010933241469813316</id><published>2008-11-23T12:30:00.000-08:00</published><updated>2008-11-23T12:33:35.763-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='configuration management'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Build components</title><content type='html'>After a weekend of work, I finally got myself a build component that I'm semi-pleased with, for C and C++ projects, using Subversion. Most likely works for any other lower level programming language as well.&lt;br /&gt;&lt;br /&gt;First off, structure. Each component is it's own BTT(Branches, Tags, Trunk)-root, residing in a Project_Modules directory in subversion. Each component contains an inc, src, test and a stubs directory. Rationale for the BTT-root is that, with a separate BTT-root for each component we can raise the version of each separate component without having to raise it for the entire project.&lt;br /&gt;&lt;br /&gt;The Project directory resides on the same level as Project_Modules, and is empty, only containing the subversion property externals pointing to the trunks of the Components in Project_Modules. Rationale for this is to have a simple place to checkout the entire project. It's a bit dangerous when working with branches, and requires a little bit extra care so one doesnt write into the trunk out of mistake. Possibly block everyone but a specific user to write in the trunks and have that CM person do all the branching/merging. It is time consuming however.&lt;br /&gt;&lt;br /&gt;It looks something like this:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Project_Modules&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Component1&lt;/li&gt;&lt;ul&gt;&lt;li&gt;inc&lt;/li&gt;&lt;li&gt;src&lt;/li&gt;&lt;li&gt;test&lt;/li&gt;&lt;li&gt;stubs&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Component2&lt;/li&gt;&lt;ul&gt;&lt;li&gt;inc&lt;/li&gt;&lt;li&gt;src&lt;/li&gt;&lt;li&gt;test&lt;/li&gt;&lt;li&gt;stubs&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Project&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Inc directory is the public interface of the component towards the other components. Src directory contains the actual code of the component. Test contains unit tests (personally, i create a new directory for each new unit test file). Stubs contains the stubs of my own component. Ie, Component1/stubs will contain stubs for the functions in Component1. Rationale being that 95% of the time, we want to stub another component in the same way, instead of keeping stubs of a component in 10 different components, we keep it in one place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-9010933241469813316?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/9010933241469813316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/9010933241469813316'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/11/build-components.html' title='Build components'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2590413048927137355</id><published>2008-11-22T08:01:00.000-08:00</published><updated>2008-11-22T08:04:08.013-08:00</updated><title type='text'>Criminalized generation</title><content type='html'>So, IPRED is coming to this country, Swedens government is forcing it into effect. Even though there has been quite heavy resistance and a lot of people don't like it. I agree. It's a complete nutjob of a law. Before moving on, let me state that I am here discussing the Swedish implementation of the law. This is even further going than the original EU directive COM(2006)0168. The best part is, they just "softened it". Ie, it was even worse from the beginning.&lt;br /&gt;&lt;br /&gt;As has already been said by thousands of others, but it can't be said enough times. The law moves the burden of the police work from the (almost) objective police to the absolutely partial owners themself. Let's consider this: We have for centuries had a police force because they are objective. They deal with criminals and they should hopefully not take sides for either part in a case, it's left to the court to do this.&lt;br /&gt;&lt;br /&gt;With IPRED, the entire burden of investigating a crime is moved to the plaintiff. The plaintiff (in this case, the intellectual property owner) or someone working for the plaintiff, finds someone downloading a piece that they "own". They then move on to demanding the name and contact information of that person from the Internet Service Provider (ISP) of the Internet address of that specific downloader. Current law does not tell the ISP that it has to comply with the demand. IPRED does. The plaintiff can now move on to the next step below.&lt;br /&gt;&lt;br /&gt;The plaintiff are then free to send monetary demands to the "defender", who will find out about the problem with the monetary demand. The monetary demand is formed as "pay us money or we draw you in front of a court and you will loose a lot more". Basically, you will have a gigantic mass of people just paying out of freight "who knows, maybe my kids/spouse/visitor did download that song on my computer?". Or how about framing someone you don't like, it's not gonna be hard, trust me. Don't like your neighbour, go download a free program and hack him, then set up a bittorrent client to keep downloading/uploading from their computer.&lt;br /&gt;&lt;br /&gt;Now, this is the basic argument people have against this new law. Unfortunately, it has been cobbled together by retards and rather IQ-free people and been compromised by to such a degree that it's no longer coherent. One of the sideeffects of this law is that it will become illegal to buy an application or download a open source application and then run on your own computer. The same plaintiff above could sue every single owner of a Microsoft Windows Vista license (for example) if they can find a instance where Vista steps on their patent.&lt;br /&gt;&lt;br /&gt;This comes to mind, when one reads IPRED:&lt;br /&gt;&lt;br /&gt;When the Nazis came for the communists,&lt;br /&gt;I remained silent;&lt;br /&gt;I was not a communist.&lt;br /&gt;When they locked up the social democrats,&lt;br /&gt;I remained silent;&lt;br /&gt;I was not a social democrat.&lt;br /&gt;When they came for the trade unionists,&lt;br /&gt;I did not speak out;&lt;br /&gt;I was not a trade unionist.&lt;br /&gt;When they came for the Jews,&lt;br /&gt;I remained silent;&lt;br /&gt;I was not a Jew.&lt;br /&gt;When they came for me,&lt;br /&gt;there was no one left to speak out.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2590413048927137355?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2590413048927137355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2590413048927137355'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/11/criminalized-generation.html' title='Criminalized generation'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7120038502655644749</id><published>2008-10-29T00:03:00.000-07:00</published><updated>2008-10-29T00:08:13.256-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem'/><category scheme='http://www.blogger.com/atom/ns#' term='Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Projects'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='solution'/><title type='text'>"New" subversion structure using svn:externals</title><content type='html'>Me and the boss deviced a new structure for the project during the last few weeks, and it's been slowly refining in our heads until yesterday when we finally implemented it. I think we made a rather refined and complex structure, but once we got it into place physically and once we get the general idea into the developers heads (including me), I think it will prove very powerful.&lt;br /&gt;&lt;br /&gt;That being said, I don't think this is a new structure, I just think people are very quiet about how they use subversion, and it's a problem. Newcomers do the same old errors over and over again. So, let's get on to try and explain it all.&lt;br /&gt;&lt;br /&gt;Most projects uses a single BTT root, where BTT stands for Branches, Tags and Trunk. Ie, they start a project, and then straight in the root put the BTT, and then inside that, they create the project structure. For example:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;project-root/&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Branches&lt;/li&gt;&lt;li&gt;Tags&lt;/li&gt;&lt;li&gt;Trunk&lt;/li&gt;&lt;ul&gt;&lt;li&gt;admin&lt;/li&gt;&lt;li&gt;src&lt;/li&gt;&lt;li&gt;out&lt;/li&gt;&lt;li&gt;test&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;This is a good basic structure for very small projects, containing perhaps 10'ish files, or where the actual implementation is perfectly homogenous and has no need for separated versioning.  Every time we want to make a release, we cheap copy the content to Tags as a new tag (called perhaps /Tags/Milestone1-RC1). We now have a release that we can provide to people.&lt;br /&gt;&lt;br /&gt;The problem comes if it isn't so homogenous. For example, let's say you are developing a calculator. It has two objects, a numpad and a display. What if you want to make a new version just of the display? You need to make a completely new version, including for the numpad.&lt;br /&gt;Or how about wanting to branch just a small part of the project? Ie, I want to use a branch for the numpad, and then use the trunk for the display. You'd then have to make a cheap copy for the entire tree. Admittedly, it isn't costing too much.&lt;br /&gt;&lt;br /&gt;Our "new" structure deals with this on a different level. Basically, the idea is to have multiple BTT roots, and then use svn:externals to connect the correct tags to create&lt;br /&gt;1) a complete releasable project and&lt;br /&gt;2) a complete workarea project.&lt;br /&gt;&lt;br /&gt;For the calculator example, you get the following structure:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;calculator/&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Calculator_Modules/&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Display/&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Branches/&lt;/li&gt;&lt;li&gt;Tags/&lt;/li&gt;&lt;li&gt;Trunk/&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;Numpad/&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Branches/&lt;/li&gt;&lt;li&gt;Tags/&lt;/li&gt;&lt;li&gt;Trunk/&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;li&gt;Calculator/&lt;/li&gt;&lt;ul&gt;&lt;li&gt;Branches/&lt;/li&gt;&lt;li&gt;Tags/&lt;/li&gt;&lt;li&gt;Trunk/&lt;/li&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;/ul&gt;As you can see, it looks much more complex, and it is, but the possibilities are infinitely much better.&lt;br /&gt;&lt;br /&gt;The Calculator/Trunk/ directory contains a svn:externals property linking in the Calculator_Modules/Display/Trunk as Display and Calculator_Modules/Numpad/Trunk as Numpad. This works by linking external resources into the current directory structure, so basically I would get the trunks into my Calculator trunk, but properly renamed, without them actually being there in the repository. This also works on "real externals" by the way, such as linking in a specific version of a library from some repository on the Internet.&lt;br /&gt;&lt;br /&gt;To create a Calculator/Tags/MS1 we could either just set a -rXX to the correct subversion revision, or we would create svn:externals to the correct Display and Numpad Tags, not their trunk. This way, we can say that "Calculator 1.0 contains Display 2.0 and Numpad 2.1", not "Calculator 1.0 contains Display revision 439 and Numpad revision 587", or even worse "Calculator 1.0 is revision 587" which completely lacks granularity.&lt;br /&gt;&lt;br /&gt;I'm not completely sure it's perfect, and others have probably already tested it, but I think it will be pretty sweet :-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7120038502655644749?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7120038502655644749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7120038502655644749'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/new-subversion-structure-using.html' title='&quot;New&quot; subversion structure using svn:externals'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5294817046422626034</id><published>2008-10-28T23:57:00.000-07:00</published><updated>2008-10-29T00:00:20.611-07:00</updated><title type='text'>Mednafen configuration for Logitech Precision</title><content type='html'>As I've already stated partially, I got an HTPC at home running MythTV on ubuntu. One of the things I've wanted to do for a long time was to get some games running on it. Supertuxkart was simple and was installed in less than 3-4 minutes once I understood the basics of the MythGames plugin (typing with a on-screen keyboard and a remote control is slow).&lt;br /&gt;&lt;br /&gt;Anyways, I did have some problems getting a NES emulator, or any emulator at all as a matter of fact, running on it, and I also had some problems getting input from the right devices to them properly. I finally decided on mednafen as it seemed the easiest to understand.&lt;br /&gt;&lt;br /&gt;Let's understand the structure. NES and other games are usually downloaded in some image file. Mednafen is installed as a binary. MythGames needs to know about the binary used to launch a NES image, and where the NES images are located. I downloaded mednafen using apt-get install mednafen. Secondly, MythGames needs to know where you will put the images, personally I put them in /var/games/nes/. This is entered into the mythtv configuration using the Setup -&gt; Game Settings -&gt; Game Players. Choose New Game Player and enter&lt;br /&gt;&lt;br /&gt;Player name: &lt;span style="font-weight: bold;"&gt;mednafen &lt;/span&gt;(for example)&lt;br /&gt;Type: &lt;span style="font-weight: bold;"&gt;Other&lt;/span&gt;&lt;br /&gt;command: &lt;span style="font-weight: bold;"&gt;mednafen -nes.stretch 1 -fs 1 -vdriver 0 %s&lt;/span&gt;&lt;br /&gt;Rom Path: &lt;span style="font-weight: bold;"&gt;/var/games/nes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Having a keyboard around when doing this is prefered, using the on-screen keyboard takes ages.&lt;br /&gt;&lt;br /&gt;Once this is done, go to Setup -&gt; Game Settings -&gt; Scan for games. This will scan the /var/games/nes directory for all images and add them to the list. To start a game, go to Games. Then get into the "All Games" -&gt; "mednafen" and you should find all the games from /var/games/nes there.&lt;br /&gt;&lt;br /&gt;Click one, and the game should hopefully start. The first time mednafen is run, it creates a directory ~/.mednafen/ containing a basic configuration. The following is an example to get my Logitech Precision gamepad running with it:&lt;br /&gt;&lt;br /&gt;nes.input.port1.gamepad.a joystick 42190af389429475 00000002&lt;br /&gt;nes.input.port1.gamepad.rapid_a joystick 42190af389429475 00000003&lt;br /&gt;nes.input.port1.gamepad.b joystick 42190af389429475 00000000&lt;br /&gt;nes.input.port1.gamepad.rapid_b joystick 42190af389429475 00000001&lt;br /&gt;nes.input.port1.gamepad.select joystick 42190af389429475 00000008&lt;br /&gt;nes.input.port1.gamepad.start joystick 42190af389429475 00000009&lt;br /&gt;nes.input.port1.gamepad.up joystick 42190af389429475 0000c001&lt;br /&gt;nes.input.port1.gamepad.down joystick 42190af389429475 00008001&lt;br /&gt;nes.input.port1.gamepad.left joystick 42190af389429475 0000c000&lt;br /&gt;nes.input.port1.gamepad.right joystick 42190af389429475 00008000&lt;br /&gt;&lt;br /&gt;nes.input.port2.gamepad.a joystick 42190af389429476 00000002&lt;br /&gt;nes.input.port2.gamepad.rapid_a joystick 42190af389429476 00000003&lt;br /&gt;nes.input.port2.gamepad.b joystick 42190af389429476 00000000&lt;br /&gt;nes.input.port2.gamepad.rapid_b joystick 42190af389429476 00000001&lt;br /&gt;nes.input.port2.gamepad.select joystick 42190af389429476 00000008&lt;br /&gt;nes.input.port2.gamepad.start joystick 42190af389429476 00000009&lt;br /&gt;nes.input.port2.gamepad.up joystick 42190af389429476 0000c001&lt;br /&gt;nes.input.port2.gamepad.down joystick 42190af389429476 00008001&lt;br /&gt;nes.input.port2.gamepad.left joystick 42190af389429476 0000c000&lt;br /&gt;nes.input.port2.gamepad.right joystick 42190af389429476 00008000&lt;br /&gt;&lt;br /&gt;command.exit joystick 42190af389429475 00000006&amp;amp;joystick 42190af389429475 00000007&lt;br /&gt;command.exit joystick 42190af389429476 00000006&amp;amp;joystick 42190af389429476 00000007&lt;br /&gt;&lt;br /&gt;Unfortunately, the above changes around a bit from device to device and atm i'm not even sure the i'd will survive from disconnect/connect of the gamepads.&lt;br /&gt;&lt;br /&gt;The proper way of doing this is to:&lt;br /&gt;&lt;br /&gt;1. Start a game.&lt;br /&gt;2. Press Alt+Shift+1&lt;br /&gt;3. Push the correct buttons asked for on screen to do specified command. (First time you push a button adds it to the command, second time you push the same button marks it "final" for the command sequence. Peculiar, I know. So, to make the game use button 2 and 3 in conjunction to be button A, you'd first press button 2 once, then button 3 twice.&lt;br /&gt;4. hit esc on the keyboard to leave mednafen. The config should now be saved.&lt;br /&gt;&lt;br /&gt;I haven't found a way to create the "command.exit" commands yet. I'll have to work some more on that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5294817046422626034?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5294817046422626034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5294817046422626034'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/mednafen-configuration-for-logitech.html' title='Mednafen configuration for Logitech Precision'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-9104398491349244523</id><published>2008-10-20T14:18:00.000-07:00</published><updated>2008-10-20T14:20:09.336-07:00</updated><title type='text'>Stoneage efficiency measurements</title><content type='html'>Once again I react to the inefficiency of corporate bureaucracy. A very common way of measuring efficiency is to use statistics. How do you use statistics to measure efficiency, and especially in cases such as helpdesk and support functions in a corporation?&lt;br /&gt;&lt;br /&gt;A common way of doing this is to just measure closed tickets, and how long time is spent per ticket. I'm not sure how many companies still do this, but I've run into it more than once (actually, more times than I can count on my own hands) in the last year.&lt;br /&gt;&lt;br /&gt;The problem is that any given person with the sole efficiency measurement being quantitative applied knowingly on him will react by trying to increase his efficiency, and how better to do that than to just cut and paste answers and close any tickets as soon as that's done.&lt;br /&gt;&lt;br /&gt;My response to this, is it quality or quantity that is most interesting? I believe the answer is quite simple in this case, I'm all for quality. Unfortunately, the entire economic system seems to be leaning towards quantity rather than quality these days. I think a half decent compromise however is how CCP in eve-online is handling user support, and it's the same way I've done it when I did user support.&lt;br /&gt;&lt;br /&gt;Once you get a problem report (aka ticket), skim through the message, see if you can find a common denominator with some of the most known 6-7 problems (or more if you're unlucky). Send a cut and paste response (with either an explanation, or a detailed step by step fix), but keep the ticket alive until the person responds. If no response has been received in a given time, say a week, try to contact them again and see if the problem was solved before closing it. If the problem hasn't been solved by this simple round, it's either time to send it to 2nd line support, or if there is no 2nd line support start asking for information that can be used to debug the problem, and delve deeper into the problem.&lt;br /&gt;&lt;br /&gt;I'm not claiming this is a holy grail of any kind, but it does hopefully keep more customers happy. It requires happy and motivated support personel, and that can at least try to keep face up for a while with customers. To do that, it requires proper motivators, and definitely not some stoneage efficiency measures. Get customer satisfaction index into the game, even if it's an internal function in your company, or an external function fronting towards your customers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-9104398491349244523?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/9104398491349244523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/9104398491349244523'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/stoneage-efficiency-measurements.html' title='Stoneage efficiency measurements'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-427240099241963533</id><published>2008-10-13T12:48:00.000-07:00</published><updated>2008-10-13T13:08:39.848-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='toolchains'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Switching GNU toolchains in eclipse -- the easy way</title><content type='html'>This is a method of switching to a different toolchain that I found in eclipse. Basically, my goal was to get eclipse to use a secondary toolchain. Primarily in my first step, I tried making eclipse use a crosscompiling gnu toolchain.&lt;br /&gt;&lt;br /&gt;Doing this the "right" way seems to entail writing plugins eclipse, and to write lots of XML configurations and so forth. Not having the luxury of infinite time and money (yet wanting a managed build), but rather being result driven, I finally managed to solve it partially with a hack.&lt;br /&gt;&lt;br /&gt;My secondary goal now is to make the build work with a completely "non-gnu toolchain" (renesas sh compiler), I will try to hack together this in the upcoming days. I'll get back to this topic again, once I know if it works or not. In the meantime, this is how I got it to compile with "non-standard" toolchain, and "standard" cygwin toolchain at the same time.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Install the toolchain somewhere.&lt;/li&gt;&lt;li&gt;Setup your PATH with the /bin/ directory in it.&lt;ol&gt;&lt;li&gt;Start -&gt; Control Panel -&gt; System.&lt;/li&gt;&lt;li&gt;Enter the Advanced tab.&lt;/li&gt;&lt;li&gt;Click Environment Variables.&lt;/li&gt;&lt;li&gt;Find the PATH variable in System variables.&lt;/li&gt;&lt;li&gt;Edit and add ;c:\path\to\your\toolchain\ at the end of it.&lt;/li&gt;&lt;li&gt;OK&lt;/li&gt;&lt;li&gt;OK&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Create a new Build Configuration (Target for example).&lt;ol&gt;&lt;li&gt;Right click the project in the Project Explorer.&lt;/li&gt;&lt;li&gt;Build Configurations -&gt; Manage...&lt;/li&gt;&lt;li&gt;New...&lt;/li&gt;&lt;li&gt;Write name "Target" and a description.&lt;/li&gt;&lt;li&gt;Copy settings from another target that might contain decent default values.&lt;/li&gt;&lt;li&gt;Ok&lt;/li&gt;&lt;li&gt;Ok&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Edit the Settings for the "Target" Build Configuration.&lt;ol&gt;&lt;li&gt;Right click the project in the Project Explorer.&lt;/li&gt;&lt;li&gt;Choose Properties.&lt;/li&gt;&lt;li&gt;Go to C/C++ Build -&gt; Settings.&lt;/li&gt;&lt;li&gt;Choose the right Configuration at the top (Target in our case).&lt;/li&gt;&lt;li&gt;For each heading in Tool Settings (GCC Assembler, Cygwin C Compiler, Cygwin C Linker)&lt;ol&gt;&lt;li&gt;Click the heading.&lt;/li&gt;&lt;li&gt;Edit the Command field (for example, instead of using gcc, you might be using arm-elf-gcc or m68k-uclinux-gcc).&lt;/li&gt;&lt;li&gt;Apply.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;OK.&lt;/li&gt;&lt;/ol&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Try to build the new "Target" Build.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;toolchain&gt;Hint: A problem I ran into was that my new toolchain couldnt understand/interpret unix style paths properly and not hinting very openly about it. Ie, I got "missing header files" all over the build. Turning on verbose (-v flag) in the C/C++ Builds -&gt; Settings, and then under Cygwin C Compiler -&gt; Miscellaneous gave me an error like "ignoring nonexistent directory", which turned out that instead of using "../inc/" I had to use "..\inc\".&lt;/toolchain&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-427240099241963533?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/427240099241963533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/427240099241963533'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/switching-gnu-toolchains-in-eclipse.html' title='Switching GNU toolchains in eclipse -- the easy way'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2329079714215267749</id><published>2008-10-09T13:38:00.001-07:00</published><updated>2008-10-13T13:31:30.225-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='USB'/><category scheme='http://www.blogger.com/atom/ns#' term='SanDisk'/><title type='text'>Removing U3 from a SanDisk cruzer micro 1gb memory</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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".&lt;br /&gt;&lt;br /&gt;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 Settings\&lt;username&gt;\Application Data\U3\temp\U3BkUpDir. Guess what, the application only copied the directory structure, no data is actually in the directories.&lt;br /&gt;&lt;br /&gt;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. &lt;span style="font-weight: bold;"&gt;And be prepared to backup data on your own&lt;/span&gt;&lt;/username&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2329079714215267749?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2329079714215267749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2329079714215267749'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/removing-u3-from-sandisk-cruzer-micro.html' title='Removing U3 from a SanDisk cruzer micro 1gb memory'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-123606515721968448</id><published>2008-10-06T11:13:00.000-07:00</published><updated>2008-10-06T11:17:44.845-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Economy'/><category scheme='http://www.blogger.com/atom/ns#' term='Whine'/><category scheme='http://www.blogger.com/atom/ns#' term='Opinion'/><title type='text'>The dead horse rebeaten to life - How governments keeps banks alive</title><content type='html'>So, once again it happens, local governments jumps the bandwagons to save big time banks who have done a crap job at making sound and good business. Once again we have people completely misbehaving, and in general doing bad business, getting their wallets lined with more money from the governments to save them.&lt;br /&gt;&lt;br /&gt;Personally, I don't have a belief in either [political] direction really, but I think that if we are going to make a sustainable planetarian (as opposed to the wordinternational, which always tend to exclude countries) economic system, we need to stop promoting the current scenario with promoted competition and then giving our friends (the loosers) prizes for doing bad choices. This is contra-productive in my humble opinion, and stagnates the market and the players in a bad circle.&lt;br /&gt;&lt;br /&gt;We have two diametrically opposite choices planetarian economical systems -- in reality, no we don't have these choices, but to make what I believe is a sustainable planetarian system. I refuse to talk about global economy as we've already seen where that leads.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;The problem&lt;/span&gt;&lt;br /&gt;The world &lt;span style="font-style: italic;"&gt;willingly &lt;/span&gt;entered (yes yes, I'm beating a dead horse as well) a global economic system during the 1990's, the leaderships and right wing politicos of countries jumped the possibilities, while citizens and left wing politicos where slightly defiant and backwards, something normally attributed to right wing people. Either way, we entered the system, but only partially. Banks (swedbank, hypo real estate, fannie mae, et al) and global mega corporations (ibm, dell, coca cola company, disney, ford, nestle, et al) are using the possibilities to its fullest, they are no longer national entities, they are everywhere and anywhere and noone except themself has a decent window into the ins and outs of their economical structures. And no, no, no -- Nasdaq, SEC, NYSEC, and none of the so called third parties have a decent looking glass into these kind of megacorps. In actuality -- the ones who where in some part supposed to be our warrants against misbehaviour, where the ones misbehaving the worst in this round.&lt;br /&gt;&lt;br /&gt;National governments and local governments are still living in the local economic system, they know part of what is happening, not even close to everything. They are still regarding banks and other megacorps as &lt;span style="font-style: italic;"&gt;local entities&lt;/span&gt;, which does good for the locals, and which needs local support in bad times. For examples, look at Lehman brothers, Hypo Real Estate or SE-banken back in the days.&lt;br /&gt;&lt;br /&gt;Are they really worthy of our [local] support? As it currently stands, the economical machinery doesn't work. It's out of sync with reality, fantasy sums of money are passing around every day in the forms of loans and 1's and 0's.&lt;br /&gt;&lt;br /&gt;I will pull a weird example from a game I've played for quite some time, eve-online (It has it's own problems, admittedly), to show how numbers can be misguiding. Recently, there's been a gigantic war between two different factions -- GBC and NC. Normally all "&lt;span style="font-style: italic;"&gt;kills&lt;/span&gt;" are gathered on specific webpages for each alliance, GBC has several alliances, and NC has several alliances as well. Now looking at any one of those alliances killboards for a big battle, you always have the "&lt;span style="font-style: italic;"&gt;local&lt;/span&gt;", ie the alliance who owns the killboard, looking as if they came out as the winner of the battle. Now, go over to an alliance on the other side, it looks the same way, the "&lt;span style="font-style: italic;"&gt;locals&lt;/span&gt;" where winning. In this case, you only get a partial overview of the fight -- you get the losses of that specific alliance but none of the others, but since everyone from all alliances on one side are sharing the kills, all the kills are showing up on any one of the respective alliances killboard.&lt;br /&gt;&lt;br /&gt;This [eve fights] alone is hard to get accurate numbers on unless you do some serious data aggregation and acquisition, now let's try to get accurate numbers for a real life company operating in 50+ countries, especially if anyone at any level in that company has something to hide? And if the one who has something to hide, is the one who is supposed to be supervising the market?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Choices&lt;/span&gt;&lt;br /&gt;The situation as it looks is untenable, we are currently fighting a fire with fire, and most likely moving problems from one place to another.&lt;br /&gt;&lt;br /&gt;There are of course, several different choices imho, but to be perfectly logical, there are a few different changes that must be made.&lt;br /&gt;&lt;br /&gt;Choice number one, go liberal. Do not engage in saving the different banks in financial crisis, let them be devoured by bad choices and the strong ones survive. The problem is, how do you make this work on a planetary level? Ie, if the banks in your region are not saved, they get a disadvantage in comparison to banks from regions which have regional support in bad times, hence putting darwinian rules out of the calculation. In other words, a planetary agreement must be reached for this to happen.&lt;br /&gt;&lt;br /&gt;Choice number two, go all out socialistic, save the banks, but in return all the banks should either be run in such a way that their own proceeds will pay for either their own demise (Ie., make them pay for some kind of government run insurance, which must reach a zero result over a defined timeline), and also make the figureheads and CEO's of financial institutions and banks personally responsible for what happens inside their organisation. Make it personally hurt whoever is responsible. This also requires quite a lot of unison between countries as to not provide too much leeway for any one of the banks around.&lt;br /&gt;&lt;br /&gt;In summary, something needs to be done about this. Every 15-20 years or so we have another financial crisis due to more and more greed, and mostly it's about the same type of people doing the same type of mistake over and over again.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-123606515721968448?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/123606515721968448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/123606515721968448'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/dead-horse-rebeaten-to-life-how.html' title='The dead horse rebeaten to life - How governments keeps banks alive'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-3494502457561406640</id><published>2008-10-01T12:10:00.000-07:00</published><updated>2008-10-01T12:13:10.346-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='vim'/><category scheme='http://www.blogger.com/atom/ns#' term='C/C++'/><title type='text'>Moving interface from Enterprise Architect to C include file</title><content type='html'>After writing this, i realized the output after this is almost 100% the same as I got from exporting the original class as a C header from Enterprise Architect, still putting this out there as it's a nice regex. Cut n paste each function line from EA to the header file. format will be a bit screwed up, for example:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;functionname(varname: vartype, varname2: vartype2): void&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Begin with moving trailing return type to beginning:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;:%s/^\(.*)\): \(\w\+\)$/\2 \1;/g&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Get all varnames and vartypes into correct positions:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;:%s/\(\w\+\): \(\w\+\)/\2 \1/g&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;All function declarations should now be fixed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-3494502457561406640?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3494502457561406640'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3494502457561406640'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/10/moving-interface-from-enterprise.html' title='Moving interface from Enterprise Architect to C include file'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-3610496287253413589</id><published>2008-09-26T13:59:00.000-07:00</published><updated>2008-09-26T14:04:01.063-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='problem'/><category scheme='http://www.blogger.com/atom/ns#' term='tortoisesvn'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='lock'/><category scheme='http://www.blogger.com/atom/ns#' term='solution'/><title type='text'>Dangling locks in the Subversion tree</title><content type='html'>I recently ran into another rather peculiar and interesting case with subversion. As I've already explained, I don't have actual physical access to the subversion servers we are perusing for our project. We use &lt;span style="font-weight: bold;"&gt;TortoiseSVN &lt;/span&gt;for access to the repository on our local systems.&lt;br /&gt;&lt;br /&gt;My boss was working with some &lt;span style="font-weight: bold;"&gt;excel &lt;/span&gt;and &lt;span style="font-weight: bold;"&gt;word &lt;/span&gt;files checked into the repository. He had &lt;span style="font-weight: bold;"&gt;template.xls &lt;/span&gt;locked as he was working in it, he decided to rename it to a template, so &lt;span style="font-weight: bold;"&gt;template.xlt &lt;/span&gt;it is (and checked in). After doing some more work, he decided this was a bad idea, so he changes it back to &lt;span style="font-weight: bold;"&gt;template.xls&lt;/span&gt;, and tries to check it back in again... no luck, it wont work.&lt;br /&gt;&lt;br /&gt;15-20 minutes worth of investigation later, we found the problem. &lt;span style="font-weight: bold;"&gt;TortoiseSVN &lt;/span&gt;had been configured to always check&lt;span style="font-style: italic;"&gt; "Keep Locks" &lt;/span&gt;on commit, hence the client kept the lock when he commited the &lt;span style="font-weight: bold;"&gt;template.xls &lt;/span&gt;deletion. To fix this problem, run &lt;span style="font-style: italic;"&gt;svnadmin lslock &lt;/span&gt;and then &lt;span style="font-style: italic;"&gt;svnadmin rmlock &lt;/span&gt;the file in question. &lt;span style="font-weight: bold;"&gt;Please note &lt;/span&gt;that this requires actual access to the physical subversion repository. Http or svnserve will not do in other words.&lt;br /&gt;&lt;br /&gt;A step by step on how to cause the Dangling lock problem -- All of the actions are done via TortoiseSVN interface:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Create a repository.&lt;/li&gt;&lt;li&gt;Check out the repository.&lt;/li&gt;&lt;li&gt;Add a file to the repository, set the svn:needs-lock property.&lt;/li&gt;&lt;li&gt;Commit the file.&lt;/li&gt;&lt;li&gt;Lock the file.&lt;/li&gt;&lt;li&gt;Change name of the file, and check the "Keep locks" checkbutton.&lt;/li&gt;&lt;li&gt;Commit the changes.&lt;/li&gt;&lt;li&gt;Change the filename back to the original filename.&lt;/li&gt;&lt;li&gt;Commit the change. This step will fail.&lt;/li&gt;&lt;/ol&gt;This is a rather funny problem imho :-). We finally managed to get it fixed after contacting the IT department and sending them the command. 10 minutes to cause the problem, 20 minutes to analyze it, 20 hours to wait for the fix. Sometimes there should be less depth in organizations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-3610496287253413589?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3610496287253413589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3610496287253413589'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/dangling-locks-in-subversion-tree.html' title='Dangling locks in the Subversion tree'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-4602965300427737247</id><published>2008-09-23T03:09:00.000-07:00</published><updated>2008-09-23T04:22:00.237-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Development'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='Whine'/><title type='text'>In windows, noone hears you scream</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;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 &lt;span style="font-style: italic;"&gt;need&lt;/span&gt; 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 &lt;span style="font-style: italic;"&gt;really &lt;/span&gt;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".&lt;br /&gt;&lt;br /&gt;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...&lt;br /&gt;&lt;br /&gt;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.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-4602965300427737247?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/4602965300427737247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/4602965300427737247'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/in-windows-noone-hears-you-scream.html' title='In windows, noone hears you scream'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5401784318798430607</id><published>2008-09-19T23:52:00.000-07:00</published><updated>2008-09-23T06:16:50.989-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scheduler'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><title type='text'>Svnsync automatisation via Windows Scheduler</title><content type='html'>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.&lt;br /&gt;&lt;br /&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Windows Scheduled synchronize Task&lt;br /&gt;&lt;br /&gt;Warning!&lt;/span&gt; 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.&lt;br /&gt;&lt;br /&gt;A scheduled task is set up as follows, create a bat file (ie, c:\projects\svn\project\svnsync-project.bat):&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;svnsync synchronize http://localhost/svn/project --sync-username slaveuser --sync-password tjohej --source-password password &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;c:\Python25\Scripts\trac-admin.exe c:\projects\trac\project\ resync&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;The Second line unfortunately has to be done to resync the new changes with the trac database. After this, create a scheduled task in windows as follows:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Go to &lt;span style="font-weight: bold;"&gt;start &lt;/span&gt;-&gt; &lt;span style="font-weight: bold;"&gt;control panel &lt;/span&gt;-&gt; &lt;span style="font-weight: bold;"&gt;scheduled tasks&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;Add scheduled task&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;Next&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;Browse...&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Browse to your &lt;span style="font-weight: bold;"&gt;svnsync-project.bat &lt;/span&gt;file, as described above. Double click it.&lt;/li&gt;&lt;li&gt;Set name (default is ok). Perform this task: &lt;span style="font-weight: bold;"&gt;Daily&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;Next&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Start time: &lt;span style="font-weight: bold;"&gt;00:00, Every day&lt;/span&gt;, Start date: &lt;span style="font-weight: bold;"&gt;today&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Fill in &lt;span style="font-weight: bold;"&gt;username/password &lt;/span&gt;to run it as.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Select &lt;span style="font-weight: bold;"&gt;open advanced properties for this task&lt;/span&gt;. Click &lt;span style="font-weight: bold;"&gt;Finish.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Go to tab &lt;span style="font-weight: bold;"&gt;Schedule&lt;/span&gt;. Choose &lt;span style="font-weight: bold;"&gt;Advanced&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;Repeat task&lt;/span&gt;, fill in &lt;span style="font-weight: bold;"&gt;Every 10 minutes&lt;/span&gt;, and click &lt;span style="font-weight: bold;"&gt;Time &lt;/span&gt;and fill in &lt;span style="font-weight: bold;"&gt;23:59&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;OK&lt;/span&gt;.&lt;/li&gt;&lt;li&gt;Click &lt;span style="font-weight: bold;"&gt;OK&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Done.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;This could most likely be done from cruisecontrol, but as stated, i'm stressed. I hate windows by now (at/cron is just sooo much nicer to handle).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5401784318798430607?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5401784318798430607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5401784318798430607'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/svnsync-automatisation-via-windows.html' title='Svnsync automatisation via Windows Scheduler'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2390596133354822954</id><published>2008-09-11T13:03:00.000-07:00</published><updated>2008-09-23T06:17:45.950-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='mythtv'/><category scheme='http://www.blogger.com/atom/ns#' term='lirc'/><category scheme='http://www.blogger.com/atom/ns#' term='iMON'/><category scheme='http://www.blogger.com/atom/ns#' term='remote control'/><title type='text'>Linux iMON pad remote controller with lirc</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction&lt;/span&gt;&lt;br /&gt;In short, the SoundGraph iMON PAD that came with my &lt;a href="http://www.silverstonetek.com/products/p_contents.php?pno=lc20"&gt;SilverStone LC20&lt;/a&gt; doesn't work very well with the default &lt;a href="http://www.ubuntu.com/"&gt;ubuntu&lt;/a&gt; 8.04 installation. I've previously discussed how to get the VFD running, and am now turning my attention to the remote control and how to get it decently working in mythtv with lirc.&lt;br /&gt;&lt;br /&gt;Let's start by looking at the following image:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kST6cmGpvFc/SMl6ls_XIhI/AAAAAAAAAaA/sPoh8kfKdTI/s1600-h/lirc.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_kST6cmGpvFc/SMl6ls_XIhI/AAAAAAAAAaA/sPoh8kfKdTI/s400/lirc.png" alt="" id="BLOGGER_PHOTO_ID_5244858029200318994" border="0" /&gt;&lt;/a&gt;In short, red files are "main steps" which the "packets" flow from the remote control, and finally reaching lircd where they are converted from a binary stream into something intelligeble (with the help of the lircrc file, which specifies names for the different hex codes).&lt;br /&gt;&lt;br /&gt;blue boxes are configuration files, green boxes are "users" of lircrc -- ie, they will connect to lircd and receive all the updates from lircd as needed. Finally, magenta boxes are different things needed to build to get stuff running.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Installation&lt;/span&gt;&lt;br /&gt;Everything will work out of the (ubuntu 8.04) box more or less, except for the big blobby nice mousepad on the remote control. That one is a mouse -- sort of -- and doesn't work at all for me, your mileage may vary however (ie, it didn't work for me, it might change fast)&lt;br /&gt;&lt;br /&gt;Install Xorg, mythtv, mplayer, linux-kernel sources (needed later) and lirc via apt-get or your prefered frontend. Configure the packages, start xorg and make mythtvfrontend start from the .xinitrc if you so wish, and then start via the startx script, or rather make it start up as you feel most comfortable with. I'm an old fart and I like my startx.&lt;br /&gt;&lt;br /&gt;Once all this is set up, all things should work, except the remote control, as already said. Most buttons will work, but not the big blobby knob (a.k.a. mousepad).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HACK&lt;/span&gt;&lt;br /&gt;Well, it's time to hack the horrible hack I guess. Download lirc-0.8.3 from &lt;a href="http://www.lirc.org/"&gt;www.lirc.org&lt;/a&gt;. Also, download the pad2keys patch from &lt;a href="http://brakemeier.de/electronics/vdr/lirc-imon.html"&gt;http://brakemeier.de/electronics/vdr/lirc-imon.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;1. Unpack the lirc package.&lt;br /&gt;2. Patch the lirc package with the pad2keys patch (it will most likely fail with some chunks, just look at the patch, and add the code manually, are you a hacker or not?!).&lt;br /&gt;3. Configure and make the lirc package. &lt;span style="font-weight: bold;"&gt;Don't install it&lt;/span&gt;.&lt;br /&gt;4. run &lt;span style="font-style: italic;"&gt;uname -r&lt;/span&gt;, note your kernel version (&lt;span style="font-style: italic;"&gt;2.6.24-19-server&lt;/span&gt; for example).&lt;br /&gt;5. run "locate lirc_imon.ko" (have you updated your locate database? man updatedb, hint hint). If there are more than one in the list showing up, find the one in &lt;span style="font-style: italic;"&gt;/lib/modules/&lt;insert&gt;/blah blah&lt;/insert&gt;&lt;/span&gt;.&lt;br /&gt;6. Copy &lt;span style="font-style: italic;"&gt;lirc-0.8.3/drivers/lirc_imon/lirc_imon.ko&lt;/span&gt; to the file you found in step 5, and replace the old one.&lt;br /&gt;7. Either reboot, or if you know how to &lt;span style="font-style: italic;"&gt;rmmod lirc_imon.ko&lt;/span&gt; and &lt;span style="font-style: italic;"&gt;modprobe &lt;/span&gt;the new one. This might fail if you followed my previous post on islcd=0 etc, if you did, remove that line again.&lt;br /&gt;&lt;br /&gt;Don't forget to edit your lircd.conf with the new IR codes from the &lt;a href="http://brakemeier.de/electronics/vdr/lirc-imon.html"&gt;brakemeyer.de&lt;/a&gt; webpage. Set PAD key's to good values, such as this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;          Up                       0x690281B7&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;          Right                   0x688A81B7&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;          Down                  0x688291B7&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;          Left                     0x6A8281B7&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Finally add them to your lircrc in a good way, such as this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    prog = mythtv&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    button = Up&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    config = Up&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    delay = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    repeat = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    prog = mythtv&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    button = Down&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    config = Down&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    delay = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    repeat = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    prog = mythtv&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    button = Left&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    config = Left&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    delay = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    repeat = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;begin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    prog = mythtv&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    button = Right&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    config = Right&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    delay = 2&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    repeat = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So, you're now a hacker of immense proportions. Celebrate with some mead and grow a beard like the rest of the hackers ;-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2390596133354822954?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2390596133354822954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2390596133354822954'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/linux-imon-pad-remote-controller-with.html' title='Linux iMON pad remote controller with lirc'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kST6cmGpvFc/SMl6ls_XIhI/AAAAAAAAAaA/sPoh8kfKdTI/s72-c/lirc.png' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-6777528410366418279</id><published>2008-09-11T10:24:00.000-07:00</published><updated>2008-09-23T06:18:42.127-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='scheduler'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='trac'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><title type='text'>Trac on separate server from subversion</title><content type='html'>&lt;strong&gt;&lt;/strong&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;It is possible to have Trac on a different server than the subversion server, albeit a bit convoluted. This is slightly stolen note from &lt;a href="http://blogs.open.collab.net/svn/2007/08/mirroring-repos.html"&gt;http://blogs.open.collab.net/svn/2007/08/mirroring-repos.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Set up the &lt;strong&gt;master subversion server&lt;/strong&gt; as you would normally. We will get back to this one.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;On the trac server, install subversion etc as well. This server will rely on &lt;strong&gt;svnsync&lt;/strong&gt; to become a secondary/&lt;strong&gt;mirror subversion server&lt;/strong&gt;. It must not be used for checking in or working against, it is purely a repository for reading.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;Set up trac and all other tools&lt;/strong&gt; required on the mirror server.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Now, you need to &lt;strong&gt;set up user accounts on the mirror server&lt;/strong&gt;. To start with, create the mirror subversion repository, it will be empty to begin with:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;svnadmin create MIRROR_REPOS_PATH&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;After that, &lt;strong&gt;create authz authentication files for the repositories&lt;/strong&gt; to stop anyone from writing/working against the mirror repository, such as the following:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;[/]&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;* = r&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;svnsync = rw&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;You could extend this by writing hook scripts blocking anything but the svnsync user.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;If the master subversion repository is live while adding the trac database, &lt;strong&gt;all of the following must be done during server maintenance window&lt;/strong&gt; (ie, close it down from any kind of access, except the mirror machine).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Once all that is done, its time to &lt;strong&gt;initialize the the mirror server&lt;/strong&gt; with the master subversion repository (ie, move over the data).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;span style="font-family:monospace;"&gt;svnsync initialize URL_TO_MIRROR_REPO URL_TO_MASTER_REPO --username=svnsync --password=svnsyncpassword&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;And once that has successfully been done, do as follows:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;span style="font-family:monospace;"&gt;svnsync synchronize URL_TO_MIRROR_REPO --username=svnsync --password=svnsyncpassword&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;The final step is to either add a &lt;strong&gt;scheduler (cron.d) script, or a post-commit hook&lt;/strong&gt; script running the following:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;span style="font-family:monospace;"&gt;# Example for synchronizing one repository from the post-commit hook&lt;br /&gt;#!/bin/sh&lt;br /&gt;SVNSYNC=/usr/local/bin/svnsync&lt;br /&gt;$SVNSYNC synchronize URL_TO_MIRROR_REPO --username=svnsync --password=svnsyncpassword &amp;amp;&lt;br /&gt;exit 0&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Preferably run it from post-commit as it gives better refresh rate.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;em&gt;You can now run the trac against the mirrored subversion server.&lt;/em&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-6777528410366418279?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/6777528410366418279'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/6777528410366418279'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/trac-on-separate-server-from-subversion.html' title='Trac on separate server from subversion'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-636890137884590566</id><published>2008-09-10T09:55:00.000-07:00</published><updated>2008-09-23T06:19:16.932-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><category scheme='http://www.blogger.com/atom/ns#' term='trac'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='wamp'/><category scheme='http://www.blogger.com/atom/ns#' term='python'/><title type='text'>Trac on windows</title><content type='html'>Trac is a rightfull bitch to install on win32 as it requires &lt;em&gt;very specific version matching&lt;/em&gt; of packages. This is a long winded installation note with the more or less latest versions available as of this writing.&lt;br /&gt;&lt;br /&gt;I'm hoping to get working on TortoiseSVN and Trac integration once this is done (ie, make tortoise automatically set variables etc sent in change notes, which can hence update the issue tracking systems in trac and so forth. The way of working is really really sweet imho, and I think it could be a really nice way of working. I'm just sad that I have to set all this serverstuff up on windows though.&lt;br /&gt;&lt;br /&gt;Let's begin with a list of all the installation files used:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;strong&gt;python-2.5.2.msi&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;setuptools-0.6c8.win32-py2.5.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;py25-pysvn-svn150-1.6.0-975.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;svn-python-1.5.2.win32-py2.5.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;Genshi-0.5.win32-py2.5.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;Trac-0.11.win32.exe&lt;br /&gt;&lt;/strong&gt;&lt;div&gt;&lt;strong&gt;WampServer2.0c.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;CruiseControl-2.7.3.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi&lt;/strong&gt;&lt;/div&gt;  &lt;strong&gt;WampServer2-APACHE229.exe&lt;br /&gt;&lt;/strong&gt;&lt;strong&gt;svn-win32-1.5.2.zip&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;mod_python-3.3.1.win32-py2.5-Apache2.2.exe&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;These packages should be fairly simple to get started with. Install them straight on, in the order mentioned.&lt;br /&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;python-2.5.2.msi&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;setuptools-0.6c8.win32-py2.5.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;py25-pysvn-svn150-1.6.0-975.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;svn-python-1.5.2.win32-py2.5.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;Genshi-0.5.win32-py2.5.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;Trac-0.11.win32.exe&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Install the above packages in that order. Some errors i ran into:&lt;/div&gt; &lt;h4&gt;&lt;span style=";font-family:monospace;font-size:85%;"  &gt;Unsupported version control system "svn"&lt;/span&gt;&lt;/h4&gt; &lt;div&gt;I accidentally used svn-python-1.5.0.win32-py2.5.exe. It also complained about not finding &lt;strong&gt;SSLEAY32.DLL&lt;/strong&gt; which threw me off course, looking for the wrong solution.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Secondary applications&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;On top of this, the following applications where installed (not yet configured/set up).&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;WampServer2.0c.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;CruiseControl-2.7.3.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt;&lt;strong&gt;TortoiseSVN-1.5.3.13783-win32-svn-1.5.2.msi&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;WampServer2-APACHE229.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;The &lt;strong&gt;Apache2.2.9 must be installed before svn-win32-1.5.2.zip&lt;/strong&gt; files are, and the .so files must be put in 2.2.9 as that package will not run on Apache2.2.8. &lt;strong&gt;Apache 2.2.8 with svn-win32-1.5.2.zip will die silently without hint as to why it died.&lt;br /&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;br /&gt;Once all of the above is installed, create a svn repository in &lt;em&gt;c:\projects\svn\test&lt;/em&gt; (create directories, and then right click test and choose &lt;em&gt;TortoiseSVN -&gt; Create repository here&lt;/em&gt;.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Now create a trac database in &lt;em&gt;c:\projects\trac\test\&lt;/em&gt; by running&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;c:\python2.5\trac-admin.exe c:\projects\trac\test\ initenv&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Answer the questions asked by &lt;em&gt;trac-admin.exe&lt;/em&gt;. To test the trac at this point, run tracd.exe per ordinations from &lt;em&gt;trac-admin.exe&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;svn-win32-1.5.2.zip&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;Contains required files to make dav_svn work in apache2.2, edited extract on how to install:&lt;/div&gt; &lt;blockquote&gt; &lt;div&gt;For an Apache server here's the essentials:&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;1. Copy bin/mod_dav_svn.so and bin/mod_authz_svn.so to the Apache modules directory.&lt;/div&gt; &lt;div&gt;2. Add the Subversion/bin directory to the SYSTEM PATH.&lt;/div&gt; &lt;div&gt;3. Edit the Apache configuration file (httpd.conf) and make the following changes:&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt; 3a. Uncomment the following two lines:&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;em&gt;    &lt;/em&gt;&lt;/strong&gt;&lt;br /&gt;&lt;em&gt; #LoadModule dav_fs_module modules/mod_dav_fs.so&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;     #LoadModule dav_module modules/mod_dav.so&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt; &lt;div&gt; 3b. Add the following two lines to the end of the LoadModule section:&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;em&gt;     LoadModule dav_svn_module modules/mod_dav_svn.so&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;     LoadModule authz_svn_module modules/mod_authz_svn.so&lt;/em&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt; &lt;/div&gt; &lt;div&gt; 3c. Add the following to end of the file.&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;br /&gt;&lt;em&gt;    &amp;lt;location /svn&amp;gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;      DAV svn&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;      SVNPath c:\projects\svn\test&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;      AuthType Basic&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;      AuthName "My Subversion repository"&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;      AuthUserFile "c:\projects\svn\test\conf\passwd"&lt;/em&gt;&lt;em&gt;      Require valid-user&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&amp;lt;/location&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;    &lt;/em&gt;&lt;/div&gt;&lt;/blockquote&gt;  &lt;div&gt; &lt;/div&gt; &lt;div&gt;Add users to passwd file above:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;C:\wampbin\apache\apache2.2.9\bin\htpasswd.exe -b \projects\svn\test\conf\passwd myuser hejhej&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Finally installing Trac in apache2.2&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;mod_python-3.3.1.win32-py2.5-Apache2.2.exe&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;To run trac via apache, you need the above module for apache as well. Once this is done, add the following to modules section of apache:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;LoadModule python_module modules/mod_python.so&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;To test the python installation add the following to the end of your httpd.conf:&lt;br /&gt;&lt;br /&gt;&amp;lt;location /mpinfo&amp;gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;location&gt;&lt;/location&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  SetHandler mod_python&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  PythonInterpreter main_interpreter&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  PythonHandler mod_python.testhandler&lt;br /&gt;&amp;lt;/location&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;And if that works, test the following:&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&amp;lt;Location /trac&amp;gt;&lt;/em&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;location&gt;&lt;/location&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  SetHandler mod_python&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  PythonInterpreter main_interpreter&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  PythonHandler trac.web.modpython_frontend&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  PythonOption TracEnv "c:/projects/trac/test/"&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;  PythonOption TracUriRoot /trac&lt;br /&gt;&lt;/em&gt;&lt;em&gt;&amp;lt;/Location&amp;gt;&lt;/em&gt;&lt;br /&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt;&lt;em&gt;&lt;/em&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Further reading&lt;/span&gt;&lt;/strong&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;a href="http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/issue-tracker-plugins"&gt;http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/contrib/issue-tracker-plugins/&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html"&gt;http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-propertypage.html&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;a href="http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html"&gt;http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-dug-bugtracker.html&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;a href="http://trac.edgewall.org/wiki/TortoiseSvn"&gt;http://trac.edgewall.org/wiki/TortoiseSvn&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;a href="http://trac.edgewall.org/wiki/TracOnWindows"&gt;http://trac.edgewall.org/wiki/TracOnWindows&lt;/a&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;&lt;a href="http://ifdefined.com/blog/post/2007/10/BugTrackerNET-integration-with-Subversion---design-choices.aspx"&gt;http://ifdefined.com/blog/post/2007/10/BugTrackerNET-integration-with-Subversion---design-choices.aspx&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-636890137884590566?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/636890137884590566'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/636890137884590566'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/trac-on-windows.html' title='Trac on windows'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7251678141418878114</id><published>2008-09-10T09:43:00.001-07:00</published><updated>2008-09-23T06:20:21.011-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VFD'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='LCD'/><category scheme='http://www.blogger.com/atom/ns#' term='lirc'/><category scheme='http://www.blogger.com/atom/ns#' term='iMON'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Ubuntu 8.04 lirc_imon VFD's</title><content type='html'>I got a silverstone LC20 chassi with a built in iMON &lt;a href="http://en.wikipedia.org/wiki/Vacuum_fluorescent_display"&gt;vacuum fluorescent display&lt;/a&gt; (VFD) and IR remote control. I recently upgraded to Ubuntu 8.04 from 7.10 -- yes I know, I am a bit late, but generally you don't have to deal with kinks like this one when that happens.&lt;br /&gt;&lt;br /&gt;Ubuntu 7.10 -&gt; 8.04 changed the behaviour of the lirc_imon module pretty little, yet radically. The old default was to treat all iMON driven screens as VFD's, but it now defaults to treat all iMON modules as LCD modules instead.&lt;br /&gt;&lt;br /&gt;This results in tons of errors being pumped out (10's-100's per second), like this one:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Sep  9 21:35:00 fs1 kernel: [   71.481262] /var/lib/dkms/lirc/0.8.3~pre1/build/drivers/lirc_imon/lirc_imon.c: lcd_write: invalid payload size: 32 (expecting 8)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also, the VFD will not work. To make a long story short, to fix it, you need to tell the kernel module that the VFD is in fact a VFD and not a LCD, by giving the kernel module the option &lt;span style="font-style: italic;"&gt;islcd=0&lt;/span&gt;. For example, in /etc/modprobe.d/options:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;options lirc_imon islcd=0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I hope this helps anyone out there. I will soon try to have something together on getting the iMON PAD working properly. The basics was simple to get  working, but the "mousepad" has been a general pain to get up and running properly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7251678141418878114?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7251678141418878114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7251678141418878114'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/ubuntu-804-lircimon-vfds.html' title='Ubuntu 8.04 lirc_imon VFD&apos;s'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-1633145601123955008</id><published>2008-09-09T00:09:00.001-07:00</published><updated>2008-09-09T00:09:24.812-07:00</updated><title type='text'></title><content type='html'>If god is omnipotent, why did he need to rest on the 7th day? Shouldn't he have been fixing his errors?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-1633145601123955008?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1633145601123955008'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1633145601123955008'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/if-god-is-omnipotent-why-did-he-need-to.html' title=''/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-1137708041410505915</id><published>2008-09-08T12:33:00.001-07:00</published><updated>2008-09-08T12:42:21.084-07:00</updated><title type='text'>Qt presentation tomorrow</title><content type='html'>So, I'm holding a brief Qt presentation on a demo i made a few weeks back. It's pretty, and got a ton of stylesheets on it. Going down tomorrow at work. Hopefully people will be a little bit interested at least. It's not that often I dare get my ass up there behind a podium, or speak up at all for that matter.&lt;br /&gt;&lt;br /&gt;To be honest, I don't know why really, I just hate being in front of people talking and possibly saying anything that might be wrong. Of course, there's a reason why I'm doing the presentation, and not someone else. I'm the only one with any substantial experience at all of this subject, so why not basically.&lt;br /&gt;&lt;br /&gt;Also, I'm feeling horribly stressed as of late. I started on a project last week, and it's getting to me. Need to take a minute, sit down, and calm down.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-1137708041410505915?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1137708041410505915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1137708041410505915'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/qt-presentation-tomorrow.html' title='Qt presentation tomorrow'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2069956349487047148</id><published>2008-09-07T02:02:00.000-07:00</published><updated>2008-09-07T02:32:24.644-07:00</updated><title type='text'>IKEA and stuffs</title><content type='html'>Once again we've been to IKEA. Once again, we got back home with a ton of stuff. Picked up a lot of smaller things we needed, lights, bowls, etc. Also, we went by jysk and finally found a half-decent tv-bench. We didn't really love it, but agreed that with some white paint, we could actually stand it for a year or two. It's taken almost a year of bickering to finally find a tv bench that we both can agree to buy. Hilarious :).&lt;br /&gt;&lt;br /&gt;To sum it all up as simple as possible, we have no really good space to put a tv at, either its a bad angle towards the sofa, or it's in the middle of the floor, or we have a too small space for most tv benches. Also, I have a htpc + a huge amplifier, both are ... not quite sure, but both chassis looks to be based on 4U rack-mountable machines (H16xW43xD43cm approx), and both need to fit in the tv-bench. Annoyingly, almost 90% of all tv-benches havent been planned to fit that size HTPC/amplifiers. It's a standardized size, sure it's the absolute largest standard size you will see on this type of hardware, but it's still standard.&lt;br /&gt;&lt;br /&gt;Let's take an example, the chassis of both machines are 16cm high. Out of maybe 10 benches we found that have "high" shelfs for dvd's etc, only 1 or possibly 2 could fit a 16cm machine. The rest where around 15,5cm, or sometimes simply not deep enough, etc. Why the hell is there a common form factor, and the designers of furniture can't deign themselfs to look it up and design the furniture to hold the common hardware?&lt;br /&gt;&lt;br /&gt;Anyways, we did find a few benches that could've worked... except... they where so freakishly ugly it's not even funny. Take &lt;a href="http://www.ikea.com/se/sv/catalog/products/90120545"&gt;EINA avlastningsbord&lt;/a&gt; for example. Looks decent on the pictures there, but in reality the material/finish looks like cardboard box that's been standing out in the rain and then dried up. &lt;a href="http://www.ikea.com/se/sv/catalog/products/20114755"&gt;Lerberg&lt;/a&gt; was actually a candidate, just because it was so cheap, and we only need to use it as long as we live in this apartment. Check out the max load of it though, 10kg?? We couldn't even have put the tv on it, and we only have a 20" LCD tv. Not to talk about the 25kg htpc or 16kg amplifier. &lt;a href="http://www.ikea.com/se/sv/catalog/products/90086669"&gt;Flärke&lt;/a&gt; was another really cheap option, except... it simply doesnt fit with our furniture, and it doesnt look very good, AND machines doesnt fit in the bench.&lt;br /&gt;&lt;br /&gt;Either way, we found a bench finally - at&lt;a href="http://www.jysk.se"&gt; jysk&lt;/a&gt;. They didnt have it in store yesterday, so hopefully I'll be able to pick it up today at another store. Can't find any pictures of it, so just saying it looks half decent at least :).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2069956349487047148?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2069956349487047148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2069956349487047148'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/ikea-and-stuffs.html' title='IKEA and stuffs'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7051114758559078559</id><published>2008-09-03T09:11:00.000-07:00</published><updated>2008-09-03T10:01:31.161-07:00</updated><title type='text'>Continuous integration and buildserver</title><content type='html'>So, I finally got around to trying out &lt;a href="http://en.wikipedia.org/wiki/Continuous_Integration"&gt;continuous integration&lt;/a&gt; and got a buildserver at home. Ok, not much use on any 1-man projects, but should be good enough for some testing at least. I'm currently using &lt;a href="http://cruisecontrol.sourceforge.net/"&gt;cruisecontrol&lt;/a&gt; for it, and so far so good. I've got a few points I sincerely react against, but I'll get back to that a bit later.&lt;br /&gt;&lt;br /&gt;For those not knowing what continuous integration is, I suggest reading the above link. Basically, when you run a project, you always run into some "final" integration problems. People have coded each on their own side, and you wind up having to "integrating" the code so that it all works as supposed. In the one extreme, you have everyone coding on their own tree from start to end, and then you finally have an integration session. In this shitty situation, you have no clue how long it will take. On the other extreme, you have "perfect" continuous integration, where every single line of code is tested and checked that it doesnt screw things up.&lt;br /&gt;&lt;br /&gt;A buildserver such as cruisecontrol is an excellent tool for doing "good" continuous integration. What it does is as follows, it connects to your central code repository, checks for any changes. If there was changes, it downloads them, and then rebuilds the project(s). If you have done it properly, you also have a ton of tests that you can run on the project. This is then reported or output in several different ways. Did it fail, did it succeed, and so forth.&lt;br /&gt;&lt;br /&gt;I might be able to convince my new project manager to use a cruisecontrol server for the project I am working on at the moment, and he sounds like he likes the idea. We just need to consider everything for this project, and I need to figure out just how it works and how to configure it etc etc etc =) . Either way, I think it will be interesting to find out more about this type of development, and to see if it actually changes the development in any large way.&lt;br /&gt;&lt;br /&gt;Oh, yes, I currently got two things I need to figure out with cruisecontrol. If I got it right, it doesn't support GNU Make. Not supporting make seems... well, to be honest, totally stupid. It's been one of the biggest make systems for 20 years or more, so there's bound to be like 500000+ projects out there already running Make. I know it's an old system, but it works, and it's there already.&lt;br /&gt;&lt;br /&gt;The second thing, I'm not totally certain of this, but subversion support seems to be abysmal. I need to look more at it however to find out the lay of the land or something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7051114758559078559?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7051114758559078559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7051114758559078559'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/continuous-integration-and-buildserver.html' title='Continuous integration and buildserver'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-3680639706186081438</id><published>2008-09-01T07:13:00.000-07:00</published><updated>2008-09-01T08:49:49.761-07:00</updated><title type='text'>Re: "Miljövän rasar mot flygshow"</title><content type='html'>&lt;a href="http://www.gp.se/gp/jsp/Crosslink.jsp?d=113&amp;amp;a=442174"&gt;http://www.gp.se/gp/jsp/Crosslink.jsp?d=113&amp;amp;a=442174&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I need to comment on this news story as it really annoyed me.&lt;br /&gt;&lt;br /&gt;I've personally grown up with airplanes and airshows very close to me as my father was a pilot, I have quite a few old friends that are pilots, and I've always been interested in airplanes and I admit that this might have coloured my perspective very heavily. However, the hypocrisy and bullshit, if you excuse my language, that Lotta Holmberg spews forth is just plain wrong.&lt;br /&gt;&lt;br /&gt;Before she even considers throwing stones in her own glass house, she should contemplate how she herself is living. She's even so mentally deficit as to admit that she hasn't even stopped her "yearly trip to the sun". Now, let's do some really simple math on this.&lt;br /&gt;&lt;br /&gt;Let's consider how many people get anything from a trip with a charter airplane "to the sun", approximately 200-500, let's say 400 to err on her side. Average trip time from this country to "a place in the sun" would be approximately 5-6 hours airtime, so a grand total of 12 hours both ways. Split the airtime per passenger, 12/400 which turns into 1.8 minutes per person on the airplane.&lt;br /&gt;&lt;br /&gt;Now, let's consider the airshow. There was a grand total of maximum 6 hours or so of airshows per day, average of 3-4 airplanes in the air at all times (rounding to 4 to be nice to you), so a grand total of 6*2*4 = 48 hours in the air during the whole airshow. 45000 persons visited the airshow and had a great time, making for a total of 48/45000 hours per person and which turns into... tada, a massive 3,84 seconds airtime per visitor.&lt;br /&gt;&lt;br /&gt;To make it simple, let's make the assumption "all airplanes turns out as much green gases as any other" (your charter aircraft is gigantic in comparison and shiny new with perfect green engines (yeah as if, you freakin mooch going with the cheapest 30 year old crap airplanes on the market and still flying commercially), while "mine" at the airshow are very small, but at the same time very old so probably having a bad efficiency with a big exhaust of gases in comparison to their engine size). So, 1.8 minutes = 108 seconds, divided by 3.84 seconds, 28.125x less gas output per person in comparison to your "yearly trip to the sun".&lt;br /&gt;&lt;br /&gt;I got about 50 other reasons why airshows are a good thing and needs to be there, and why you should keep your mouth shut. Please stop throwing stones in a glass house and stop putting your feets in your own mouth.&lt;br /&gt;&lt;br /&gt;Now, if you excuse me, I need to visit 420 airshows to use up as much green gases as you have done with your "yearly trips to the sun" -- calculated based on you being old enough to have been on 15 "yearly trips to the sun" vs Göteborg Aero show.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-3680639706186081438?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3680639706186081438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3680639706186081438'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/09/re-miljvn-rasar-mot-flygshow.html' title='Re: &quot;Miljövän rasar mot flygshow&quot;'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7495886590292671488</id><published>2008-08-31T08:55:00.001-07:00</published><updated>2008-08-31T10:01:34.042-07:00</updated><title type='text'>Crispy burnt hungover wreck</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kST6cmGpvFc/SLrInvge56I/AAAAAAAAAAo/YuZoF26bDF4/s1600-h/DSC00018.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_kST6cmGpvFc/SLrInvge56I/AAAAAAAAAAo/YuZoF26bDF4/s320/DSC00018.JPG" alt="" id="BLOGGER_PHOTO_ID_5240721701492156322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It's been a long and rough weekend. Friday started out easily, just softing at home and preparing for the day after...&lt;br /&gt;&lt;br /&gt;Saturday was the big day, Göteborg Aero Show 2008 :-P. It's such a damn long time since I was last at an airshow, but it was awesome. I loved it so much. I've seen all the old nice airplanes, heard a lot of news (well, news to me, I've been out of the loop for a long time now). My sister managed to run into old friends of my father, and we got a vip visit to some really sweet airplanes :P.&lt;br /&gt;&lt;br /&gt;We also got to see some really nice airshows. I think in general, it was a very nice show, but there was a few kinks. If I understood it correctly, this was the first sh&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.aeroseum.se/bilder/goteborgaeroshow2008_spitfire.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px;" src="http://www.aeroseum.se/bilder/goteborgaeroshow2008_spitfire.jpg" alt="" border="0" /&gt;&lt;/a&gt;ow that these people planned so I have full respect if a few things didn't turn out perfect (practice makes perfect after all). Also the people planning it didnt anticipate just how big success the airshow would be, which made for some minor kinks as well. None of this was really a big problem. The biggest problem I noticed was that we had to wait 45 minutes in line for food (they kept running out). Also, the spitfire had some problems with the ignition, so they had to cancel that flight during the saturday schedule, which made me very sad as it's always been one of my favourite aircrafts.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_kST6cmGpvFc/SLrNFZEXd1I/AAAAAAAAAAw/f_bHzFCxt7c/s1600-h/DSC00020.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer;" src="http://1.bp.blogspot.com/_kST6cmGpvFc/SLrNFZEXd1I/AAAAAAAAAAw/f_bHzFCxt7c/s320/DSC00020.JPG" alt="" id="BLOGGER_PHOTO_ID_5240726608911234898" border="0" /&gt;&lt;/a&gt;Also, a big big big downer, swedish airforce is so horribly low on funds so they can no longer fly their airplanes properly from what I've heard on the news. It showed at this airshow as they didn't fly the jas 39 gripen at all. They had a rather ... weak display of 3 gripen on the ground, that was it from what I saw (except for a few helicopters as well). Privately funded groups, fantasts and hobbyists did more of a show than the military did.. I'm not blaming the airforce, I'm pretty much blaming the idiots in suites running this country. Damn hippies.&lt;br /&gt;&lt;br /&gt;Once we left the airshow, unfortunately had to leave 30-45minutes early due to crayfish party and to get ahead of the lines from the airshow, I realized that I had burnt my face to a crisp pretty much.&lt;br /&gt;&lt;br /&gt;I got home, showered, switched clothes, and ran down to go to the crayfish party, met my girlfriend in the door, and she started laughing like a maniac and went on to thank me for preparing so vigoriously the entire day for the crayfish party (even coloring myself for it)...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.forsnaspriset.se/1995-1.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px;" src="http://www.forsnaspriset.se/1995-1.jpg" alt="" border="0" /&gt;&lt;/a&gt;Either way, we went for the crayfish party, I winded up getting overly refreshed, fell asleep on a clapping chair for almost 45 minutes. See image for a demonstration of what kind of chair it was. I'm still sore today from that :P.&lt;br /&gt;&lt;br /&gt;And today, we winded up starting the day with cleaning up a bit in the apartment, doing dishes, and so forth before my mother + sister + kid came for a visit. Nice day in general imho.&lt;br /&gt;&lt;br /&gt;Long entry :-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7495886590292671488?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7495886590292671488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7495886590292671488'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/crispy-burnt-hungover-wreck.html' title='Crispy burnt hungover wreck'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_kST6cmGpvFc/SLrInvge56I/AAAAAAAAAAo/YuZoF26bDF4/s72-c/DSC00018.JPG' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-2471053302296199904</id><published>2008-08-29T11:35:00.000-07:00</published><updated>2008-08-29T13:27:21.337-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='netfilter'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='iptables'/><category scheme='http://www.blogger.com/atom/ns#' term='frozentux.net'/><title type='text'>Iptables-tutorial explained</title><content type='html'>So, time to explain whats happened to the iptables-tutorial, it's been rather dead for a long time now. This is kind of meant as an explanation on what and why things has gone downhill with it, but also kind of a try to define for myself what went wrong back then.&lt;br /&gt;&lt;br /&gt;By now, it's almost 8 years since I started writing on it. It all started as a short term project, a real tutorial if you wish. Due to the demand, I was rather amused at keeping it up, writing more material and so forth, but with time it took more and more effort to keep up to date and to add all the material I wanted in it. While the tutorial was at it's high, I had 25 000 unique visitors per month on the main iptables-tutorial site alone, and all that traffic generated questions, and lots of them. At times, I received 70+ e-mails with questions per week, which required hours of attention. Also, Apress contacted me at this time asking me to write a book on iptables for them.&lt;br /&gt;&lt;br /&gt;Having that burden on top of a project that was originally intended to have fun, learn and to get more experience makes a project much less appealing. Also, at the same time, me and my then girlfriend broke up, leaving me in devastation. In a sense, I lost my muse at the same time as I was the least interested in writing. I spent several weeks trying to get somewhere, but didn't manage to get 2 pages out of me. This is where I dropped the tutorial the first time. I pretty much went MIA.&lt;br /&gt;&lt;br /&gt;Either way, after a while (a bit over 2 years to be precise), I decided to give it another try. I had for a long time wanted to start writing again, and got around to it as I had the time and will. To make a long story short, I got too much to do with school and work and life in general for a while, but managed to get version 1.2.0 out before this happened. Another year later, I managed to get 1.2.1 out, and finally 1.2.2 which was the first printed version at lulu.com. Due to several minor problems, which turned out to become pretty large problems imho, I later decided to pull down the print version while getting my life together again so that I could focus on what needed doing again.&lt;br /&gt;&lt;br /&gt;This is where the iptables tutorial is at this time and date. I'm not really sure what I'm hoping to accomplish with this post really, more than generally give people an idea what's been going on around the iptables-tutorial and try to explain why it's been ... well, not keeping up with developments in iptables and netfilter.&lt;br /&gt;&lt;br /&gt;I'm not exactly certain what will happen in the close future with the iptables tutorial. I'm currently working on a few other projects  which are better defined and that should hopefully be possible to "finish" properly.. Ie, once I've done them, they should stay done. Once those projects are done, I might get back to the whole iptables-tutorial.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-2471053302296199904?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2471053302296199904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/2471053302296199904'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/iptables-tutorial-explained.html' title='Iptables-tutorial explained'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-1186875853898111611</id><published>2008-08-29T04:10:00.001-07:00</published><updated>2008-08-29T04:10:24.753-07:00</updated><title type='text'></title><content type='html'>Going to Säve airshow tomorrow o/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-1186875853898111611?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1186875853898111611'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1186875853898111611'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/going-to-sve-airshow-tomorrow-o.html' title=''/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5926841193063584846</id><published>2008-08-27T12:42:00.000-07:00</published><updated>2008-08-27T13:01:52.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Tired of Javascript/CSS</title><content type='html'>CSS is not my strong side, actually web development isn't at all, yet I have this bad habit of wanting to learn things I don't know since before. That being said, not sure if i got this right. Putting an absolute object (div for example) inside a relative object makes for an unhappy combination. Problem is that the outer container does not resize for the absolute object (depending on how you interpret the standards, I guess this is correct behaviour).&lt;br /&gt;&lt;br /&gt;Take the following rather long example:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&amp;lt;html&amp;gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&amp;lt;style type=&amp;quot;text/css&amp;quot;&amp;gt;&lt;br /&gt;.hump&lt;br /&gt;{&lt;br /&gt;   position: static;&lt;br /&gt;   width: 400px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.lala&lt;br /&gt;{&lt;br /&gt;position:relative;&lt;br /&gt;background-color:blue;&lt;br /&gt;width: 400px;&lt;br /&gt;}&lt;br /&gt;.hoho&lt;br /&gt;{&lt;br /&gt;position:absolute;&lt;br /&gt;background-color:red;&lt;br /&gt;left:0px;&lt;br /&gt;top:0px;&lt;br /&gt;width:50%;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.rofl&lt;br /&gt;{&lt;br /&gt;position:absolute;&lt;br /&gt;background-color:blue;&lt;br /&gt;left:0px;&lt;br /&gt;top:20px;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&amp;lt;/style&amp;gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&amp;lt;div class=hump&amp;gt;&lt;br /&gt;&amp;lt;div class=&amp;quot;lala&amp;quot;&amp;gt;ewrio&lt;br /&gt;   &amp;lt;div class=hoho&amp;gt;lala&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;div class=&amp;quot;lala&amp;quot;&amp;gt;&lt;br /&gt;   &amp;lt;div class=hoho&amp;gt;lala&amp;lt;/div&amp;gt;&lt;br /&gt;   &amp;lt;div class=rofl&amp;gt;hejhopp&amp;lt;/div&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/html&amp;gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;You have two options.&lt;br /&gt;&lt;br /&gt;1. Add height attribute to lala (making it static height).&lt;br /&gt;2. Write a javascript to dynamically change height of the area depending on how large content is. I'm currently working on this as I really want this solution.&lt;br /&gt;&lt;br /&gt;There is probably a much better solution to this, so if you know of a better way, please let me know!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5926841193063584846?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5926841193063584846'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5926841193063584846'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/tired-of-javascriptcss.html' title='Tired of Javascript/CSS'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-250642896937264807</id><published>2008-08-27T08:18:00.001-07:00</published><updated>2008-08-27T12:42:23.930-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comment'/><title type='text'></title><content type='html'>Could use some help with css positioning. Absolute positioned div inside relative div does not change size of relative div.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-250642896937264807?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/250642896937264807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/250642896937264807'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/could-use-some-help-with-css.html' title=''/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-6370965334557572314</id><published>2008-08-27T06:07:00.000-07:00</published><updated>2008-08-27T12:42:07.661-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comment'/><title type='text'>British boffins perfect process to make any item '100% waterproof'</title><content type='html'>&lt;a href="http://www.reghardware.co.uk/2008/08/27/new_waterproofing_technology_pioneered_by_uk_firm/"&gt;http://www.reghardware.co.uk/2008/08/27/new_waterproofing_technology_pioneered_by_uk_firm/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This looks cool, damn that has applications from hell. I wish I came up with stuff like that. Well, more than the general idea of "oh, lets make everything hydrophobic", to the "hm, if we do like this, then maybe we can make anything hydrophobic". Ideas are easy to get, to actually implement and get an idea on how to do it is harder. Maybe if you've spent as much time doing physics and chemistry, as I've spent doing computers, it gets easier... "Turn on the flux capacitor Mr Scott!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-6370965334557572314?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/6370965334557572314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/6370965334557572314'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/british-boffins-perfect-process-to-make.html' title='British boffins perfect process to make any item &apos;100% waterproof&apos;'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7320581078285480254</id><published>2008-08-27T03:18:00.001-07:00</published><updated>2008-08-27T12:41:54.188-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Plusenergi continued</title><content type='html'>Just called them, money received. But now they want the fees also. I'm refusing. If they had sent the bill to the right address to begin with, this wouldn't have happened.&lt;br /&gt;&lt;br /&gt;In other news, making a new linux x86/qt4.4 compile of the tanker demo. Build environment setup, should have a binary able to run on the target platform within a few minutes. I'm having a blast with QT to be honest, as I started coding in it a while ago, and I'm really just starting to "get it". The fast prototyping ability of new graphical user interfaces is awesome, and the customizability with both stylesheets and inherited widgets.. I like it :-). I usually avoid changing widgets, it's a bit of a mess since I'm still rather new to the language, but I will do my best at it soon ;) .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7320581078285480254?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7320581078285480254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7320581078285480254'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/plusenergi-continued.html' title='Plusenergi continued'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-5906553894724130455</id><published>2008-08-26T01:51:00.001-07:00</published><updated>2008-08-27T12:41:29.997-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Cuckolding electric utility company</title><content type='html'>Just wanted to say, f***ing electric utility company, they're pissing me off so much right now. Plusenergi has done pretty much every single thing wrong that they can. When we moved here, they tried charging me for the actual apartment, and then my girlfriend for the basement (owned by the landlord). Then it took several phonecalls to get that right.&lt;br /&gt;&lt;br /&gt;This time around, they've sent my electric bill to my old apartment. So, they send my bills to the right address for almost a year, then all of a sudden decide that my old address should have it, but still sends the bill for the right electric installation?&lt;br /&gt;&lt;br /&gt;Anyways, I got the second notice about electrics last wednesday, paid it asap, and just checking it with my bank, it was paid this friday, and the money was docked. Today, I got a debt collection mail from svea inkasso, so I call them, tell them I've paid the bill, they tell me that they've made a remark about calling to check with plusenergi before taking any further steps (yeah right).&lt;br /&gt;&lt;br /&gt;Not satisfied, I call plusenergi directly to ask them what's happened. Oh, they have _hopefully_ fixed my address again, that was the first order of business. Then I went on to ask if the bill was paid, nope, it's not according to them. Double check account numbers, reference numbers and so forth, everything checks out. Their final word "can you call us back tomorrow, maybe the money will be here then".&lt;br /&gt;&lt;br /&gt;No wonder Electric utility companies are so doing so freakishly well these days. The people who used to turn into pirates are today turning into representatives and executives of the electricity companies. Whatever you _ever_ do, avoid plusenergi, I've had it with them.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-5906553894724130455?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5906553894724130455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/5906553894724130455'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/cuckolding-electric-utility-company.html' title='Cuckolding electric utility company'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-4949038963035669455</id><published>2008-08-25T14:39:00.001-07:00</published><updated>2008-08-27T12:41:05.873-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='comment'/><title type='text'></title><content type='html'>Refactoring some more lousy webpage code&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-4949038963035669455?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/4949038963035669455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/4949038963035669455'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/refactoring-some-more-lousy-webpage.html' title=''/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-7067246249106595617</id><published>2008-08-25T10:46:00.000-07:00</published><updated>2008-08-27T12:40:36.510-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='embedded'/><category scheme='http://www.blogger.com/atom/ns#' term='hack'/><title type='text'>Keeping promises</title><content type='html'>Well, I did. I did write today again. Hah! :-)&lt;br /&gt;&lt;br /&gt;All work and no play makes jack a dull boy,&lt;br /&gt;All play and no work makes jack a mere toy.&lt;br /&gt;&lt;br /&gt;Working again, working on a report of some kind, how to do an embedded linux project properly. It's hard to define. I know how I would love to have it, but defining it in words is not. I know it should not be hard, but it is. A paper that is very good imho, &lt;a href="http://www.linuxdevices.com/articles/AT2191860258.html"&gt;Tips for planning an embedded Linux project&lt;/a&gt;. It gets all the errors down that we made, but it doesnt really define what makes a embedded Linux project great, or even good for that matter.&lt;br /&gt;&lt;br /&gt;I also read &lt;a href="http://www.theregister.co.uk/2008/08/22/anatomy_of_a_hack/"&gt;anatomy of a hack&lt;/a&gt; earlier, it's some interesting stuff, but I'm not sure this is what I would give out to people who really needs it. I've tried handing that short thing to a few relatives, we'll see if anyone of them gets it.&lt;br /&gt;&lt;br /&gt;Also, this is the real kicker today, I love Ted Dziubas writing, it's the best tech stuff I've read in quite a while :-). For an example, read his &lt;a href="http://www.theregister.co.uk/2008/08/25/cloud_dziuba/"&gt;Cloud computing: A catchphrase in puberty&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I'm turning into a real blogger, ain't I? :-P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-7067246249106595617?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7067246249106595617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/7067246249106595617'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/keeping-promises.html' title='Keeping promises'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-1742061576146894932</id><published>2008-08-24T13:10:00.000-07:00</published><updated>2008-08-24T13:21:39.446-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mythbuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='php'/><category scheme='http://www.blogger.com/atom/ns#' term='model.'/><title type='text'>Easy stuff</title><content type='html'>Ok, I started recoding frozentux.net today finally. It's rather ugly and messy code, so i'm starting by cleaning it up a bit. It's kinda nice getting a goal again, I've lacked a bit of it. Also, I must say, this feels soooo easy. PHP code is a breeze, and way to forgiving, especially without 10+ guys looking over your shoulder once in a while to make sure your code is good enough *cough* .&lt;br /&gt;&lt;br /&gt;That said, I'm not planning to use too much cross site stuff or any other heavy stuff, so it will be easy to get it to a working state again. Basically, I'm going for a simpler design, with larger flexibility as I want to add a lot of small code samples and projects to the website in the future (I kinda locked myself down there last time).&lt;br /&gt;&lt;br /&gt;Also cleaned the fan over the stove, built more on the model (wow, you can almost see that it's an airplane body right now :P ). I got a lousy glue (so sorry mac and heather, it was an awkward glue you gave me :)), need a new one, and I also need some sandpaper. Taken a walk, looked at an episode of &lt;a href="http://revision3.com/systm/"&gt;systm&lt;/a&gt;. A cool show about mythbuntu tbh.&lt;br /&gt;&lt;br /&gt;Workweek ahead. See if i manage to get into a habit of writing here or not?;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-1742061576146894932?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1742061576146894932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/1742061576146894932'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/easy-stuff.html' title='Easy stuff'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-6926075152123590788</id><published>2008-08-24T03:36:00.000-07:00</published><updated>2008-08-27T12:39:33.160-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='subversion'/><category scheme='http://www.blogger.com/atom/ns#' term='frozentux.net'/><category scheme='http://www.blogger.com/atom/ns#' term='model.'/><title type='text'>Slow grasswidow evening</title><content type='html'>What do you do when you are home alone a saturday evening? Personally, I web2.0'd my life (i got facebook, a blog, remember the milk, dipity, evernote, and decided to rewrite/update my webpage). Also, I really got started building the Fokker DR.1.&lt;br /&gt;&lt;br /&gt;To update frozentux.net, I screwed around a bit with eclipse pdt. I want to do this since I think the whole site looks pretty awful. I was ok with it "back then", but not any more. I've been using eclipse for a few months to code c, c++, qt and I've grown rather fond of it. My first time with eclipse left me... well, let's just say i went back for a few years to vim and loved it. Still wish there was a decent vim/eclipse plugin as i love vims command/edit mode.&lt;br /&gt;&lt;br /&gt;I digress. Basically, what I did was Install subversion, make a copy of frozentux.net in subersion and a few other projects in there. I setup subversion with apache2. I know I suck that haven't done this before. After that, I installed pdt, subclipse and a few other modules in eclipse and got it all working together. I think I might like the subclipse module, but still got a few things I need to find out.&lt;br /&gt;&lt;br /&gt;I'm gonna get started on rewriting frozentux today I hope. Now, going for a walk first.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-6926075152123590788?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/6926075152123590788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/6926075152123590788'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/slow-grasswidow-evening.html' title='Slow grasswidow evening'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry><entry><id>tag:blogger.com,1999:blog-737706232225771178.post-3739468084124867057</id><published>2008-08-23T09:07:00.000-07:00</published><updated>2008-08-27T12:36:40.417-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogs'/><category scheme='http://www.blogger.com/atom/ns#' term='web2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><category scheme='http://www.blogger.com/atom/ns#' term='model.'/><title type='text'>First entry (a.k.a. I've joined the dark side, I'm blogging)</title><content type='html'>Ok, I'm blogging? Now what? ;) . Nah, I'm hoping to use this site as a place to collect information about what I'm currently working on etc. Maybe an introduction?&lt;br /&gt;&lt;br /&gt;Yes, I'm the idiot behind frozentux.net, yes i wrote the iptables and ipsysctl tutorial stuff a long time ago. It's unfortunately a long time ago, and rather rusty. I grew very tired of it during the last update of the iptables tutorial (even earlier actually, but lets keep it simple). I'm not sure at this point if i will try to get it rolling again, but it is possible, depending on how much work it will be to update it.&lt;br /&gt;&lt;br /&gt;Other projects i've been boring myself with as of late:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; Coding (&lt;a href="http://www.trolltech.com/"&gt;trolltech&lt;/a&gt; qt/qtopia calculator, notepad, other stuff to learn the qt api etc). I love QT to be honest, wonderful so far, and you can do hilarious stuff with the stylesheets. Need this for work.&lt;/li&gt;&lt;li&gt;Working on some model aircrafts (a balsa built RC one in the countryside which i only have access to very seldom and a &lt;a href="http://www.guillow.com/"&gt;guillow's&lt;/a&gt; balsa scale &lt;a href="http://www.guillow.com/GuillowDetail.asp?UID=7742264&amp;amp;Num=4&amp;amp;prod=204&amp;amp;SeriesId=18&amp;amp;FamilyId=1"&gt;Fokker DR.1&lt;/a&gt; at the moment). I need relaxation from computers once in a while, this is _awesome_ stuff to relax with.&lt;/li&gt;&lt;li&gt;Still some general security stuff, been a while since, feels nice to be back on homefield once in a while.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Started web2.0'ing my life, Ie I now come with shiny buttons and instead of tcp sockets i come with a http api. Seriously just trying this blogging, twitter, &lt;a href="http://www.dipity.com/"&gt;dipity&lt;/a&gt;, &lt;a href="http://ping.fm/"&gt;ping.fm&lt;/a&gt; stuff, some stuff will stay, some i'll get bored with. &lt;a href="http://evernote.com/"&gt;EverNote&lt;/a&gt; will stay, _awesome_ stuff. &lt;a href="http://rememberthemilk.com/"&gt;Remember the milk&lt;/a&gt; will be investigated... it has potential;).&lt;/li&gt;&lt;li&gt;Some testing to do with my HTPC, using ubuntu and mythtv... this will get a lot of attention soon as I got seriously pissed at mythtv some time ago. To those gurus at it, apologies, but it sucks as far as ive seen so far, and it was a while since i did any work on it, but it needs to be revisited. Graphics was horribly buggy, some weirdness with unpacking/loading images etc which took close to 5-10 minutes on startup and so forth.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/737706232225771178-3739468084124867057?l=frozentux.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3739468084124867057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/737706232225771178/posts/default/3739468084124867057'/><link rel='alternate' type='text/html' href='http://frozentux.blogspot.com/2008/08/first-entry-aka-ive-joined-dark-side-im.html' title='First entry (a.k.a. I&apos;ve joined the dark side, I&apos;m blogging)'/><author><name>Oskar Andreasson</name><uri>http://www.blogger.com/profile/02602460746100725730</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_kST6cmGpvFc/SLA1LmPHoNI/AAAAAAAAAAM/Cw3XmbAEzQw/S220/myface.jpg'/></author></entry></feed>
