The ide is that working as a coder, I really appreciate how source code is managed by git nowadays. It’s a bit of a learning curve, but then it gets intuitive and very productive in managing simultanously changing code.
One of the core concepts of git is to “merge” the codes for two features into a new code base that contains both features. When changes not interfere they can be merged automatically. But when both changes touch the same lines of code, manual interventions is needed.
Most of these interventions are booring. The way the “conflicts” are presented is not intuitive for most of mankind. There’s tools, but anyway, solving such issues take developer time.
I think we should be able to build tools, using state-of-the-art open source technologies, automating most of the conflicts.
I try to blog about my progess into this. Maybe I succeed:-)
Migrating data from one DBMS to another one can be tricky business.
Here’s a nice way to migrate data from an SQLite3 file to a MySQL database using taps. Well, the nice way is actually well documented here: Taps for Easy Database Transfers.
So this post is actually about working around a simple problem: SQLite doesn’t have a scope for decimal columns, but MySQL does. When taps rebuilds the database schema in MySQL it simply assumes those decimal columns had scope 0, which makes them integer columns. The data migration will thus result in rounded values in all those columns!
And here’s how you can workaround this problem for Ruby On Rails projects. Replace the all-uppercase placeholders with your info.
# Start the taps server on the original SQLite DB
taps server sqlite://DATABASE_FILE 'TAP_USER' 'TAP_PW'
# Create the database as per database.yml, assuming proper privileges
# Manually load the schema
# Pull the data, but skip the schema and don't copy the schema_migrations table
taps pull -e schema_migrations -s 'mysql://USER:PW@localhost/DATABASE' http://TAP_USER:TAP_PW@localhost:5000
Be aware that taps uses the default encoding for it’s MySQL connections, so you might have to set something like this in your ~/.my.cnf
After a long time with no “modern” Linux Kernel available in Debian or Ubuntu for usage as Xen Dom0, the “Big Bang” release has been uploaded to Debian unstable. This actually means all the hardware support etc. from Kernel 2.6.32 AND Xen a simple ‘apt-get install’ away. Maybe we can even get Ubuntu Karmic DomUs running…
When you can’t login using SSH after installing Voyage Linux on a CF Card, this might come from extracting the voyage-XXX.tar.bz2 not as root. This results in some /dev/ nodes not being created.
Simplest solution: re-extract as root and run installation again.
cpio failes to update
If you’re getting the following error after apt-get update/upgrade from Debian Etch:
Unpacking replacement cpio …
Replaced by files in installed package tar …
dpkg: error processing /var/cache/apt/archives/cpio_2.6-18.1+etch1_i386.deb (–unpack):
unable to create `./usr/share/locale/da/LC_MESSAGES/cpio.mo’: No such file or directory
dpkg-deb: subprocess paste killed by signal (Broken pipe)