This is my personal blog, which is powered by several new and exiting technologies for me. Heroku, Sinatra, HAML and RDiscount (markdown).
Use Git-svn to Maintain a Stable Branch
These days I discovered that git-svn could be very useful for my workflow. In the project I work now, the development is quite intense and it is not unusual for the latest code, when I get up in the morning and sync with the trunk, not to work properly or to require some reconfiguration. This means that I will need extra time to get everything working, before I am able to start working.
Falling in Love With Git
I few weeks ago I decided to try to use git) in my everyday workflow. In DreamBox we are using SVN, so I had to use git-svn.
To be honest, first it was hard. The main problem was to get the ideas behind git and to find the right commands for doing the everyday stuff. After several days of working with it I really fell in love. Now I am using it as my main version control system. What I really like is that I can easily branch the code and start working on something experimental and at the moment I decide that it is ready to be integrated in the product I just merge it in the main code branch with the whole history of developing it. The other great thing is that I have the whole history on my machine and I can work offline.
Dreambox.com - the Revolution in the Online Learning
I haven’t written anything about the company I am working right now. May be one of the reasons is that my free time is highly limited (I guess working in a start-up is aways like that ;-)).
Hacking the Package TTL With DD-WRT
Some ISPs are changing the TTL of the packets going to their customers to protect from splitting the network accounts to several people. This could be quite annoying when a person wants to use a wireless router, so she could use her laptop/ipod/whatever-you-like from every point in the house. Of course there is a solution. Here is mine:
The Game of Breakit!
When I was still in high school I wrote a game. It was a cloning of the famous Arcanoid game and was written in Allegro. The unique feature of the game is that it supports multiplayer on one PC, which is something like deathmatch. Today I found the source and opened a project in Google Code. Here is it: http://code.google.com/p/breakin/ (the project is called breakin, because breakit is used for another project in sourceforge).
The Greatest Demo Video *ever*
http://static.zoho.com/meeting/docs/demo/demo.html
I don’t have anything against people with strange English accents (I guess that I also have one), but to make a video showing your product like this it not one of the greatest things a company can make.
The Song About the Bottles Sang by a C Programmer
1 2 3 4 5 6 7 | |
The big question is on which line exactly the segmentation fault will be thrown? ;-)
Installing the Rails Native Mysql Bindings for a “Fink” Mysql
I am using Mac OS X Leopard and I have the package manager fink for installing open source software. I have used fink to install mysql and today it turned out that this was a horrible mistake.
I lost around 1:30 hours for figure out how to compile the mysql gem. The installer was not able to find the mysql libraries and includes. The magic line turned out to be:
# gem install mysql -- --with-mysql-config=`which mysql_config`
This makes the install just a piece of cake! :)
An Interesting Compiler Oddness in Visual Studio C++
A few days ago I stumbled to a very interesting behavior of the Visual Studio C++ compiler. Here is a simple code illustrating it:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | |
In this code there is an error and it is an initialization of the reference in the test function with a map, which is local for the conditional expression. This means that the reference will be initialized with an object, which will be destroyed after the line is executed.
The problem is that VC++ allows you to write this. The more interesting thing is how this code will behave. It turns out that whatever value you pass to the test function it will always behave like you created a new map and initialized the reference with it. So, gmap will never be changed!
Compiling this code with GCC gives an error, which is the correct behavior for this kind of expressions.