A cute acute triangle.

Category: Open source

AGG 0.3.1

About 10 days ago, I released a small new release of AGG - version 0.3.1.

What's new:

Besides that, there are numerous bugfixes. When using "Sort by exif date" in 0.3.0, creating a new project would usually lead to a crash. Also, if the input images are small (they don't require rescaling), sometimes you would get an empty gallery. In some cases, if Auto-save is on when you created a new project, the old project would be falsely overwritten. I also fixed a pesky bug, which appeared only rarely at gallery creation, causing the app to freeze. All in all, I'm very satisfied with the improved stability of the new version :).

With all this in mind, you should now go and download that new version immediately!

Posted in category Open source -- clock 6 Nov 2012, 19:06, 2 comments


AGG 0.3.0

After 1½ years of laziness, I'm finally able to release a new version of the AGG - 0.3.0 :)

What's new?

The controversy with the russian guy, who cloned AGG (as I wrote earlier) resolved very amicably: he agreed with my cease-and-desist letter, and introduced notes all over the place, which mark his software as an AGG derivative. Also, he offers the source code upon request (and he sent it to me, when I requested).
This was a triumph! Another victory for the open-source movement!

Posted in category Open source -- clock 17 May 2012, 20:06, 0 comments


AGG and the GPL

Every now and then, one can be astonished by human arrogance and ruthlessness. Some genius took the open-source project, AGG, added some copy-protection code, and put a $30 price tag on the resulting product. The GPL is for the losers, who have nothing else to do. Ladies and gentlemen, I present you: SoftOrbits's Html Web Gallery Creator.

Just for example: A gallery, made by AGG, and a take with SoftOrbits's product.

The company that does it is unusually stealthy, specifying nothing about its whereabouts or operations. But the domain still leads to some russian guy, whom I already sent a Cease and Desist letter, coined with the help of this very kind person. And now we wait. I see some interesting days ahead...

Posted in category Open source -- clock 7 Jan 2012, 01:05, 0 comments


Benchmark week

It's been a benchmark week - I worked on two benchmarks simultaneously :)

UCBench 2011

A new version for the new year :) The website is
We're still cracking .RAR archive passwords and benchmark the cracking speed, however we're now 8-12% faster. And it has better CPU speed detection, equalized Linux vs Windows performance, and lots of tweaks and improvements on the website and the program itself.

Fract Benchmark for Android

I was following this article about using SDL on Android; however, it turned out to be a plunge in the wrong direction and I lost a few hours in fruitless attempts:

1) The SDL that gets compiled that way does not work with Android 2.2, it lacks /dev/tty0 and other related devices;
2) For some reason it requires root access. You have to root your phone. Also, as it does not create an .apk directly, you need to run the benchmark from the command line.

So, what I find out in the end was to simply use the latest SDL 1.3, directly sourced from the Mercurial repository. It has a wonderful that explains it all. You just put your C/C++ sources inside a mock "Java"+JNI project, type a few commands and you get an .apk. Plain and simple.

The porting of Fract itself was also easy and I quickly got to this point:


The score is somewhat disappointing, especially considering the benchmark is run in reduced 400x300 resolution - so I delved into the generated object code and saw (to my astonishment) that the instructions were FPU-less, the compiler issued software floating-point code. Well, you can't assume a FPU on the ARM, but the newer devices do have FPU units (two, to be more precise - a VFP, which is similar to x87 in the PC world, and NEON, which compares to SSE1). So, to compile the NDK-part of your project with FPU support, you need to specify a slightly different architecture, using this build command:

ndk-build TARGET_ARCH_ABI=armeabi-v7a

I recommend you add V=1 in the end of that, so you can see what commands are being executed exactly. -mfpu=vfp is the relevant GCC option.

The two builds (FPU and non-FPU) can be found here:
Go test your android :)

Some results: a stock HTC Desire / Android 2.2 gets around 5.5 FPS. In comparison, Asus Eee PC 901, using the same fract sources and --no-sse --no-mmx --no-mmx2 --xres=400 --cpus=1 yields 11.7 fps. So far x86 wins :)

Posted in category Open source -- clock 19 Jan 2011, 10:11, 0 comments


AGG 0.2.5

I've released yet another version of my gallery editor/generator AGG. It is mostly a bugfix and optimization release. The major bug that prompted this release is: when you process a huge gallery on a lot of threads (e.g., two 4-core Nehalem-based Xeons, resulting in 16 "cores"), the working memory gets awfully fragmented, and malloc()s start to fail (you get NULLs) - because it can't allocate the large contiguous regions needed to store the pixel data. In 0.2.5, the images are stored using lots of small chunks.
There are some optimizations as well: I'm using libjpeg-turbo for decoding/encoding JPEGs, and also did a rehaul of the resizing algorithms. Another major thing is the 64-bit support (there are 64-bit builds for Windows and Linux). See here for a more detailed change list.

Some performance figures: while the new libjpeg and the resizer optimizations are significant by themselves, the convoluted image storing reorganization (creating a mess in the memory due to data fragmentation) offset the performance win by some margin, so I did some real-life tests to assess how is the new version scores, compared to 0.2.4. So here is it: on a dualcore laptop, a 325-image 8 MPix gallery is produced in 2m 11s (as opposed to 2:28 for 0.2.4), which is a 12% win. On my other (six-core) machine, there is no performance difference between 0.2.4 and 0.2.5 (64-bit), but I think it's the disk throughput that is the bottleneck there ;)

Posted in category Open source -- clock 2 Dec 2010, 01:40, 0 comments


AGG 0.2.4

I've released a new version of my gallery generator - 0.2.4. It brings a lot of bugfixes and new features and is definitely worth the download (see the News for detailed change log). Be sure to comment here if you do or don't like it, suggest improvements, etc.

Posted in category Open source -- clock 9 Jun 2010, 02:03, 0 comments

Older posts >>




Open source


+ 2008 (9)
March '08 (2)
April '08 (2)
May '08 (2)
October '08 (1)
December '08 (2)
+ 2009 (8)
January '09 (2)
March '09 (1)
August '09 (2)
September '09 (1)
November '09 (1)
December '09 (1)
+ 2010 (9)
January '10 (1)
April '10 (2)
June '10 (1)
July '10 (1)
September '10 (1)
November '10 (1)
December '10 (2)
+ 2011 (10)
January '11 (3)
February '11 (1)
August '11 (2)
September '11 (2)
October '11 (2)
+ 2012 (14)
January '12 (3)
March '12 (1)
April '12 (2)
May '12 (3)
August '12 (1)
September '12 (1)
November '12 (1)
December '12 (2)
+ 2013 (1)
March '13 (1)
+ 2014 (3)
September '14 (3)
+ 2015 (5)
January '15 (1)
March '15 (3)
May '15 (1)
+ 2016 (4)
June '16 (1)
July '16 (1)
November '16 (1)
December '16 (1)

Last comments:

30 May 2017, 02:02 by anrieff
26 May 2017, 01:00 by Mathew
30 Mar 2017, 13:59 by antfarmer
26 Dec 2016, 17:52 by Private
19 Dec 2016, 23:01 by ицаци
16 Dec 2016, 19:50 by Антон

Valid XHTML 1.0 Strict


linkJoel on Software
linkRidiculous Fish
linkXKCD blag