Just came back from a training about enterprisedb, a flavour of PostgreSQL with complete Oracle compatibility. Never heard of them before, and had a good surprise : 3 of the 7 pgsql core team members are working for them. They are the guys that designed the WAL system which finally made PostgreSQL an enterprise class database (at least for me). Their implementation uses a pretty cool dynamic tuning system to get a correct PostgreSQL setup for your server with only one setting.
Side note : London is a very expensive city, 63 pounds to go from heathrow to town center by cab, 4 pounds for an underground ticket :/
Friday, March 21, 2008
Monday, March 10, 2008
Moved my webmail code from our internal svn to http://code.google.com/p/minig and registered http://minig.org/ as the domain was available. Registered MiniG on ohloh.net and freshmeat.
Saturday, March 08, 2008
Kubuntu saved my life. I was playing with the partitions on my laptop hd. I first used gparted, but as it didn't want to move to start of an extended partition to the right, I rebooted on a partition magic 8 cd. It asked me to convert the partition to extendedX, and I said no, as I didn't know what an extendedX partition was.
It proposed me to convert my /dev/sda5 to a primary partition, so I did it... reboot... and BANG, grub error 17. Reminded me of lilo old times when you forgot to run lilo after compiling your fresh new kernel. My "/boot/grub" was on /dev/sda5 at this time, and I forgot about it. Starting to panic, I don't have any rescue cd around. Grabbed my keys, 10min car drive & I had a kubuntu 7.10 cd rom, as one was available with "planete linux".
Boot kubuntu, sudo -s, mkdir sda3, mount /dev/sda3 sda3, chroot sda3, cd /boot/grub, grub --device-map=device.map, root (hd0,2), setup (hd0). My system is now up & running again.
It proposed me to convert my /dev/sda5 to a primary partition, so I did it... reboot... and BANG, grub error 17. Reminded me of lilo old times when you forgot to run lilo after compiling your fresh new kernel. My "/boot/grub" was on /dev/sda5 at this time, and I forgot about it. Starting to panic, I don't have any rescue cd around. Grabbed my keys, 10min car drive & I had a kubuntu 7.10 cd rom, as one was available with "planete linux".
Boot kubuntu, sudo -s, mkdir sda3, mount /dev/sda3 sda3, chroot sda3, cd /boot/grub, grub --device-map=device.map, root (hd0,2), setup (hd0). My system is now up & running again.
Sunday, January 13, 2008
GWT meeting took place in atlanta last week. I'm eagerly waiting GWT 1.5 release with generics support.
Thursday, January 03, 2008
Tonight I spent 2 hours reading & commenting stevey's blog about code size. Here is my comment to his article :
I Think you should try the "play" programming language. Its semantic is quite rich : the program "Play;" will run a game with all the features of your 500k game.
Ok, I'm just kidding but you have some very valid points : trying to factor (I'm not saying refactor) your code, and reusing instead of duplicating is a mandatory thing.
What I'm not buying is your focus on the "LoC" metric. Your 500k lines of code break eclipse, and this is good thing. For me it means that the way the code is architected, eclipse must load all the code to figure it out (I mean compile / index it) : exactly like if the code was a single 500k line script, where line 500.000 depends on line 1.
Divide to win
Let's think about it for a few seconds, what do you have in a game : the AI, the graphics engine, the physics engine, the audio engine, lots of data file and a "scripting engine" to glue everything together. It is pretty clear that your AI does not care about the colors of the textures on your polygons.
Now, would you consider a technology like OSGi / Eclipse plugins ? You focus on writing the smallest possible piece of code. Everytime you're willing to add a new feature, you ask yourself : "Can I add an extension point here and program my new feature as an external plugin ?".
Now my feature is a separate project Y in my IDE. I create a new project Ytests, that depends on Y, and unit test the code in Y. When Y performs correctly, I package it (right click / export / export as deployable plugin & fragment), push the code to git/svn/you name it, and close the project Y in eclipse.
Another point is, when I start writing a program, do I use plugin / modular technologies from the start ? Can I know in advance that my little project will be successful, and will grow to X lines of codes ?
I Think you should try the "play" programming language. Its semantic is quite rich : the program "Play;" will run a game with all the features of your 500k game.
Ok, I'm just kidding but you have some very valid points : trying to factor (I'm not saying refactor) your code, and reusing instead of duplicating is a mandatory thing.
What I'm not buying is your focus on the "LoC" metric. Your 500k lines of code break eclipse, and this is good thing. For me it means that the way the code is architected, eclipse must load all the code to figure it out (I mean compile / index it) : exactly like if the code was a single 500k line script, where line 500.000 depends on line 1.
Divide to win
Let's think about it for a few seconds, what do you have in a game : the AI, the graphics engine, the physics engine, the audio engine, lots of data file and a "scripting engine" to glue everything together. It is pretty clear that your AI does not care about the colors of the textures on your polygons.
Now, would you consider a technology like OSGi / Eclipse plugins ? You focus on writing the smallest possible piece of code. Everytime you're willing to add a new feature, you ask yourself : "Can I add an extension point here and program my new feature as an external plugin ?".
Now my feature is a separate project Y in my IDE. I create a new project Ytests, that depends on Y, and unit test the code in Y. When Y performs correctly, I package it (right click / export / export as deployable plugin & fragment), push the code to git/svn/you name it, and close the project Y in eclipse.
Another point is, when I start writing a program, do I use plugin / modular technologies from the start ? Can I know in advance that my little project will be successful, and will grow to X lines of codes ?
Subscribe to:
Posts (Atom)