- Weighted Voronoi Stippling
- Painterly Rendering
- mustache.js improved
- TorrentUploader
- Entropy Solitaire
- Tone Preservation with Ice Crystal Growth
- DSGrab



.NET’s built in Timer class System.Timers.Timer has a limit of int.MaxValue on the Interval property. This means that you cannot simply use the Timer class to schedule a task more than roughly 27 days into the future. While this is not a deal-breaker in 99.9% of the situations that Timer is used, it does present itself as a critical flaw when using the class for Scheduling purposes.
I have written a simple drop in replacement for the System.Timers.Timer class which boosts the limit of the Interval property to double.MaxValue effectively removing the restriction entirely. You can grab the library from GitHub
Thanks to some modifications made by Davin Potts, Voronoi Stippler now works on Linux. I will not be maintaining binary versions for the Linux version, but they can be compiled from source easily enough using the provided makefile. In addition, these changes should allow the application to be compiled under Mac OS X, but since I do not have a Mac, I cannot verify this (anybody interested in verifying this?)
Updated long term review now that I have driven 20000 kms. Now with information on winter driving, kicking the sound system while it is down, and a list of observed oddities.
I’ve completed an update to the Voronoi Stippler application that greatly speeds up the generation of stippled renderings regardless of the number of stipples. It does this by removing the usage of OpenGL across the application, and being smarter about the resolution of the numerical integration of Voronoi centroids. It also uses OpenMP to parallelize the rendering algorithm. Much much much faster than the previous release. Check it out.
A long needed update to the DSGrab applet is available. The biggest change for v1.5.0 is that it now supports YU* colour modes for capture devices, which should make the program a lot more compatible. I’ve also made it a little more user friendly by having the applet choose sensible defaults wherever possible (and removed some questionable options like choice of colour bit depth). The update fixes the following issues which are outlined on the GitHub project page:
Project Page GitHub Page Direct Source Code download Direct Executable download (may require VS 2010 SP1 run-time)
Enjoy.
If I was Ben Kowalewicz, I would name the upcoming Billy Talent album “IntraVenous”.
A new version of my implementation of Mustache.js which implements Dot Notation support from the mustache specification is now available.
Try it out.
I’ve completed an update to the Voronoi Stippler application that cleans up the resultant output a bit so that the results are a little more aesthetically pleasing across more input images. It also adds the ability to remove tone preservation (constant sized stipples). This should be useful for people who are scripting this program. I’ve also removed the GPU stippler algorithm since it was so brittle and barely worked. This is in preparation for an eventual OpenCL implementation.
A couple of people have been downloading the source bundles that are available for the various projects on this site, so I decided to start hosting the projects on GitHub since it promotes contributions. The three projects that have received the love are:
Updated long term review now that I have driven 10000 kms. Now with information on the sound system, a malfunctioning fuel pump, and the Sports Mode Transmission.
Jeremy Grantham writes about how the world is going to end with a whimper. Okay, not really but the article is an exceptionally good read about why growth over time is a phenomenally bad metric for pricing equities. It also hints about what the world will look like in 50 years time given that the Earth will need to sustain close to 10 billion people by that time. It is a scary looking place, let me tell you. Read, enjoy, cry.
Updated long term review now that I have driven 3000 kms. Now with information on back room seating space, cruise control, and the auto-dimming rear view mirror.
I recently purchased a 2012 Ford Focus SEL. My longer term review is posted here. I will be adding on to this review as I drive this car around a bit.
Inspired by the interesting things that some folks are doing with the Weighted Voronoi Stippling application, I have updated the executable to be a little more user friendly by being a little more lenient in terms of what command line arguments the executable accepts. Before when the application encountered a problem, it would simply bail out without any indication of why to the end user. I have covered most of the common cases and it should be a lot better now. In addition, I have added support for coloured stippling which can give some pretty interesting results.
Download the Windows executable from here, and the source code from here. As always, both are licensed under the MIT License.
This is just a beginning though. My first priority now is to retool the stippling landing page to be a little more about end-user usage, as opposed to the more butchered academic article that is there now. Following that, I am going to drop the dependency on OpenGL and optimize the application to work with multiple cores. I figure, I should be able to match the speed of the current GPU based implementation across a wider swatch of PCs. This should make it easy to port to other platforms (Linux, OpenGL), and even out performance. Right now the performance of the application is atrocious on lower end laptops because of limited bandwidth between the graphics processor and CPU.
Interesting times are ahead.
Over the last two days, I have been improving my implementation of Mustache.js using something that I have been calling fat-strides. The basic premise is that the existing tokenizer in the parser is not very smart in that it creates tokens that are too small, which results in a more complicated finite state machine than is strictly necessary. With fat-strides, I increased the size of the tokens by making the lexer much more intelligent. As a result, the parser is now smaller (17 kb versus 23 kb uncompressed), produces smaller code (the compiled mustache programs have far fewer function blocks in them), and is generally 10% faster then the predecessor which was already hella fast. In addition to all of those goodies, the parser will now give you detailed error information about the templates (partial names, line, and character numbers).
All of this is great, but the end goal of all this is to make this implementation of the Mustache syntax be complaint with the Mustache specification, which is the next step and work is already well underway.
Try it out, you will not be disappointed.
I’ve added a new image album exclusively for panoramic pictures. Enjoy!
For those of you who own a locked/branded Sony Ericsson phone and cannot play MP3 ring tones, there is the Sony Ericsson DRM Packager utility.
For those of you who think that Kim Possible’s smart phone precursor — the Kimmunicator — has the best possible ring tone for a phone and want to use it as your ringtone on your locked/branded SE phone without the hassle of the user-unfriendly DRM Packager, here is the DRM enabled version of the MP3 ring tone. If you want the unprotected version, Google will provide the right answer.
Measuring the dimensions of a string is a problem that I have run into quite frequently whilst doing web development. The problem mainly arises when having to see if a string will fit into a particular container and if not, cropping the string and adding ellipsis to give a more visually pleasing representation of the string.
I have created a tiny little JavaScript library that will do these exact set of operations as quickly as possible: string-measurement.
Released under the MIT License. Enjoy!
Leo (July 23 - Aug. 22) Leo, bro. Bro, bro, bro, bro, bro, bro, bro. Shut up, bro.
Another in the series of horoscope WTFs.