Enabling Repository Snapshots in Mercurial Browser at SF.net

Imaging’s code repository at SourceForge has been migrated from Subversion version control system to Mercurial. However, repository browser for Mercurial at SF.net doesn’t provide “download tarball” feature out of the box (that browser for SVN does). It’s a simple way for users that don’t want to install VCS clients they don’t normally use to download the current revision of your project in single archive.
Fortunatelly, enabling snapshot downloads for Mercurial is possible using SF.net’s shell service:

  • Login to your shell service at SF.net (ssh to username,projectname@shell.sourceforge.net) and navigate to your project’s repository. You start in your home dir (for me that’s /home/users/g/ga/galfar) and your project’s repo dir might look like /home/scm_hg/i/im/imaginglib/imaginglib/.hg/.
  • There you create a new file named hgrc (repository configuration) or edit the existing one.
  • Append the following two lines to that config file:
    allow_archive = gz zip
  • Save the config and enjoy downloading zip and tar.gz archives! You’ll see new zip and gz items in the top menu of repo browser (e.g. summary | shortlog | changelog | graph | tags | branches | files | zip | gz) when viewing the revisions and also corresponding two icons in repository list that can be used to get the snapshot of top revision of each repository.

Hg repo browser witch snapshots

PS: You can convert whole repository to Mercurial with all the history and tags simply by using Convert extension. It takes quite a lot of time when you convert remote repository directly but the conversion continues where it left off when you get timeout or some network problem and run the conversion again.

Stats for 2009

I quite like looking at various stats and sometimes even big tables with a lots of numbers. Since I don’t have anything in particular to write about now, I’ll share some of the site stats for 2009.


Top download is JPEG 2000 for Pascal package with about 700 downloads. Second place goes to glSOAR terrain renderer with about 200 downloads. Third place is shared between Earth Under Fire shooter and venerable JPEG Ripper tool, both with meager 60 downloads.


There have been around 4000 visitors since last March. 42% of them got here from referring sites,  35% used search engine, and 23% is direct traffic.

Referring Pages

Basically all of them are connected to Imaging Library or JPEG 2000 for Pascal (torry.net, delphiplus.org, imaginglib.sf.net, cc.embarcadero.com, etc.). For some reason there’s really a lot of referrals from images.google[.ru|.de|.fr|.com] pointing mostly to screenshots from Ufo: Extraterrestrials and Terrain Rendering stuff. Few links to Earth Under Fire from pascalgamedevelopment.com are in the stats too.

Browsers and OS

Firefox is in the lead with 40% share, IE is second with 25%, third is Opera with 22%, Chrome and Safari have 7% and 2% respectively. Windows is major OS here with 91%, Linux and Mac OS X have about 4% each. There’s also one visit from Wii and one from PS3.

Search Engine Keywords

Most common keywords refer to these topics: Terrain rendering, JPEG 2000 for Delphi and Pascal, Ufo: Extraterrestrials, DirectX 11 for Delphi, and Daggerfall. You can find more or less information about these topics at this site.

Some keywords were very common too even though I wouldn’t think they’d be so popular:

  • APNG  (mostly coupled with Delphi) – As far as I know my Imaging is only library for Pascal and Delphi that can read and write APNG animated images. That’s probably why Google search for “apng delphi” puts this site at top.
  • Delphi shr operator – Looks like there’s more people surprised that it treats negative values differently than shift right operator in C and some other languages. More on this in this post Shift Right: Delphi vs C.
  • Daggerfall music (“daggerfall gstory music”, “eric heberling” daggerfall”, “robert hood daggerfall”) – Great music indeed, much better than what’s in Morrowind and Oblivion.
  • SOAR terain rendering – here’s my Pascal implementation glSOAR.
  • Modula-2 related (“modula-2 vs c++, vs pascal, vs freepascal, on mac ox, for 8051, …” )

And here are some uniques searches:

  • “ancientlich” – My favorite monster in Daggerfall as well, checkout bestiary at UESP (top of the Undead section!).
  • “UFO old programming language” – that must be COBOL!
  • “ufo enemy ripped png picture” – anyone has these?
  • “directx 11 radeon x1950″ – sadly no, otherwise I’d put it back in my PC right away.
  • “mng vs apng” – basically MNG is much more capable but harder to implement, more VS info here.
  • “john the ripper directx 11″ – is this some of kind of a game or what?
  • “mac os 7.5 emulator” – check out Basilisk .
  • “midi format daggerfall” – It’s HMI (Human machine interfaces MIDI music file), WinAmp can play and convert that (and other old game MIDI formats as well).
  • “a price drop for gpu in 2010″ – there better be one.
  • “earth on fire from space” – let’s hope not anytime soon.
  • “gulfar vivek”, “how is galfar doing?”, “large galfar image” – ???

DirectX 11: GPUs and headers

Few days ago I was wondering how long it will take to see DirectX 11 headers translated to Delphi/Pascal. I knew that translations of new DX components Direct2D and DirectWrite are part of Delphi 2010, but what about Direct3D and DirectCompute?

I checked out Clootie graphics pages but no luck there. Unfortunately, it’s not so active anymore. After that I thought DX11 for Pascal wouldn’t appear in like several months at least. Surprise, I found it about 5 minutes later. John Bladen published his DX11 translation on DirectX for Delphi blog. Thanks John!

Now all that remains is buying a DX11 GPU. New Radeons should be released sometime during this week and I’m thinking of getting 5850 model in a few months. Rumours are that NVidia’s DX11 cards won’t be out before 2010, so probably no big price drops for 5800 Radeons are to be expected until then.

My pile of old graphic cards will get bigger once again. I don’t buy new CPU/motherboard/RAM too often (now it’s Core2 from 2007 and before that AthlonXP in 2002) and I usually manage to sell the old ones or put them on server duty somewhere. However, since GPU performance as well as requirements on it rise much more faster than that of CPU, I ended up with like 5 cards in last 8 years. I managed to sell Radeon 9000 and GeForce 6600 but I still have Riva TNT2 and Radeon X1950 in my closet somewhere (and S3 Trio!). Hopefully, I’ll find a buyer for my 1GB 4850 soon.

Lately, I’ve had bad luck buying some new stuff just before major price drop. Hopefully, this won’t happen with 5850. Not that I want it to remain expensive – just want to buy it after the drop, not  a little while before it.

New Homepage Ready

I created new web site based on WordPress at http://galfar.vevb.net/wp/ few months and I’ve been slowly transferring content there since then. It’s ready now so I’ll redirect http://galfar.vevb.net/ to the new site in a moment. Old one will still be available at http://galfar.vevb.net/cms/ but all the old content should be available here too.

Current theme is just temporary, I’ll look for something more to my liking later (going away for a week in few hours) and probably do some modifications. I’ve tried quite a few themes already but there was always some glitch (no header margins, wrong image alignment, etc.).

Working in MODULA-2

I’ve been working in Modula-2 for last few weeks. It’s a considered a dead language now, one of Pascal’s descendants designed by Niclaus Wirth. I’ve been doing some updates to quite an old project, embedded system for military usage.  I had to run Mac OS 7.5 emulator to get original 1989 compiler running. Modula-2 dialect understood by this compiler is quite strict – you cannot even mix cardinal and integer numbers without explicitly converting one of them.

First difference you may notice (compared to Pascal) is case sensitiveness of Modula-2, for instance all reserved words are upper cased. You don’t have to write so many begin-end statements though. Another C-like trait is importance of header files (definition modules) order during compiling – just change it a little bit in a large project and whole thing breaks down.

More info about Modula-2 if you’re interested: http://www.modula2.org/.


Some News

Vampyre Imaging Library 0.26.0 was finally released few days ago. There are many canvas enhancements and support for 3Dc compressed formats. More info and downloads at project’s homepage: http://imaginglib.sourceforge.net.

I’m planning revamping this whole site. Maybe creating some sort of simple CMS myself or just some better way to handle the projects. I don’t enjoy coding in PHP but there’s not much choice.

An Update

There has been no news for quite some time. This will change! Or maybe not.

Imaging 0.24.2 patch will hopefully be released soon (waiting for Lazarus 0.9.24 since there is LCL change that breaks Imaging’s LCL support for older Lazaruses). More about new Imaging can be found at its homepage. I also plan to release OpenJPEG (JPEG 2000 library) for Pascal independent on Imaging for those who just want JPEG 2000 for their programs.

I will (have to) start working on my Master’s thesis in very near future so you may expect some demos soon (terrain rendering stuff again).

2 0 0 7

Again, the Year variable has incremented. Current value is 2007.

I’m going to release Imaging 0.22 with Extras package in late January or early February. There are only few finishing touches needed but I don’t have much time now (many exams at uni). Later I plan to devote some time to update Earth Under Fire, maybe even create 1.0 version and close it. Next I want to brush up on Python (but with my Delphi module containing Imaging and other stuff) and create simple Chaos remake with multiplayer over the Internet. More info on this later.

There is also a commercial app in Delphi we are starting with a friend. And UFO: Extraterrestrials game is about to be released soon (I hope) so I expect subsequent patches, patches, and maybe even some patches. And I should pick up some theme for my Master’s thesis soon and do some stuff for it. Well, looks like a busy year, [sigh].

And now for something completely different:

This is something you don’t see every day. I met this herd of polar ostriches few days ago. Scary bunch.