2009 wrap-up; and my very personal move to Git

January 6, 2010

As you might have noticed, the first nine years of this millenium are over. From a programming perspective, my last year has not been overly productive: KDiamond¹ is in maintenance mode, Kolf¹ 2 could easily win the “Most biggest KDE Vaporware” award because another major rewrite is due, only Palapeli¹ is about to have a first release after yet another major rewrite. 😉

I hope that this year turns out better. Perhaps a first version of Kolf 2 can ship with SC 4.5 (more likely 4.6), after I have cut away the 3D stuff. Palapeli 1.1 (KDE SC 4.5) will definitely bring diverse improvements in handling big puzzles, as well as lower memory and CPU time consumption. Apart from that, I have three top-secret projects for which I hope to produce first code over the next year.

Now you are probably waiting for me to tell you about my very personal move to Git. Some fellow students and I are writing our lectures in LaTeX. (Through this experience, I have become quite comfortable in writing AMSLaTeX formulas and creating TikZ drawings in near real-time.) We use Gobby during the lecture, and also synchronized and backed up our working copys through a self-written CMS on a joint webserver (LAMP config).

This solution has worked well for about two years, but has been retired this Monday, because it has some architectural issues:

  • Synchronizing the working copy with the server essentially meant downloading some tar-like archive files which contain a plain snapshot of the server’s master version. Everyone of us has written extensive Bash scripts to unpack these archives, and sort and merge the contents with the working copy.
  • Every file needed to be uploaded by hand. No mass uploading, over even a command line client. (The interface was copied heavily inspired from MediaWiki.)
  • It’s centralized and has linear version numbering. This is so 90s.
  • There were lots of funny ways to lose files, e.g. by renaming them to inaccessible names.

Enough reasons for me to finally make the switch to Git. I quickly hacked together a 200-lines QtSql application to convert the database into a Git repo, and after five minutes, I have my repo right away. Since the webserver upgrade to a vServer has not yet been ordered to host the origin/master, it currently resides elsewhere:

Myself posing with my new Git "jewelry"

If you’re interested in some sample code that shows how to convert a simple CMS database into a Git repo, post a comment. Apart from that, I’m now working on a Makefile generator for LaTeX files and SVG drawings (which I need to convert to PDF for usage with PDFLaTeX). More on that coming soon.

¹ For those who do not know it: KDiamond is a simple three-in-a-row game, Kolf is a minigolf game, Palapeli is a jigsaw puzzle game.


2 Responses to “2009 wrap-up; and my very personal move to Git”

  1. milanphd Says:

    A few suggestion after having played with palapeli:

    Switched to KDE SC 4.4, installed palapeli and gave it a go.

    First, thanks: it is a great and fun app, quite stable and feature-rich. well done!

    I just wanted to share a couple of things that popped to my mind while playing

    1. GHNS support. I think it could be a great feature, and a dedicated entry on kde-look would easily be populated by puzzles created by people who want to show off their pictures (like me and all the others posting screenshots and wallpapers…)

    2. moving around. I think that the current effect of the mouse wheel is not the best. Now it is wheel = zoom, and to move around (up, down, left, right) you use scrollbars. I do not particularly like it. It would have suited me best if it would be possible to use the mouse as in Inkscape: wheel moves up-down; ctrl-wheel zooms; shift-wheel shifts left-right.

    3. grouping. at one point I had my half-mae puzzle in the upper right corner and all the pieces in my left. I wanted to move them closer, and of course I could have moved the half-done puzzle, but I thought that it could be possible to select a bunch of pieces (i.e. by dragging a rectangle) and move them together. But I could not do it. I think the select-group thing could be very useful in creating groups of pieces – that would be very much helpful in big puzzles.

    Hope this is useful in some way. Thanks!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s