saliences.com : Webln

Limit Break: System.Timers.Timer
May 21, 2012 @ 3:32 PM
Music: Adele - Set Fire to the Rain

.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

Categories:
updated: Voronoi Stippler
February 26, 2012 @ 9:16 PM
Music: Austra - The Future

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?)

Enjoy.

Categories:
2012 Ford Focus Long Term Review (20000 kms)
February 6, 2012 @ 10:50 PM
Music: Gotye (feat. Kimba) - Somebody That I Used to Know

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.

Categories:
updated: Voronoi Stippler
January 6, 2012 @ 10:38 PM
Music: Florence + the Machine - No Light, No Light
Rocks: OpenMP

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.

Enjoy.

DSGrab v1.5.0
December 18, 2011 @ 2:47 PM
Music: Bright Eyes - Middleman

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:

  • Issue #1: Implement YUV -> RGB filtering
  • Issue #2: (Programmer’s Pride): Release AM_MEDIA_TYPE structures
  • Issue #3: Use Boost for Command Line parsing
  • Issue #4: More intelligent device selection
  • Issue #5: (Programmer’s Pride): Uninitialize GdiPlus when finished
  • Issue #6: Always default to 24-bit colour depth.

Project Page GitHub Page Direct Source Code download Direct Executable download (may require VS 2010 SP1 run-time)

Enjoy.

Billy Talent's Upcoming CD
November 28, 2011 @ 10:48 PM
Music: Florence + the Machine

If I was Ben Kowalewicz, I would name the upcoming Billy Talent album “IntraVenous”.

Categories:
updated: mustache.js improved
October 10, 2011 @ 9:33 PM
Music: Alfh Lyra - Theme of World Champions

A new version of my implementation of Mustache.js which implements Dot Notation support from the mustache specification is now available.

Try it out.

updated: Voronoi Stippler
October 10, 2011 @ 9:27 PM
Music: Maria Taylor - Matador

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.

Enjoy.

Categories:
GitHub Goodness
September 9, 2011 @ 3:25 PM
Music: Sam Roberts Band - WIthout a Map
Rocks: GitHub

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:

Categories:
2012 Ford Focus Long Term Review (10000 kms)
September 5, 2011 @ 11:13 PM

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.

Categories:
The Saddest Article Ever
July 17, 2011 @ 1:03 PM
Music: John Vanderslice - They Won't Let Me Run

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.

Categories:
2012 Ford Focus Long Term Review (3000 kms)
July 14, 2011 @ 10:49 PM

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.

Categories:
The World Misses You Jim Henson
June 24, 2011 @ 11:03 PM
Music: The Muppets - To Morrow
Categories:
2012 Ford Focus Long Term Review
June 24, 2011 @ 10:49 PM
Music: Mobile - Out of My Head

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.

Categories:
Updated Stippling Application
June 1, 2011 @ 8:38 PM
Music: Jimmy Eat World - Invented

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.

updated: mustache.js improved
April 28, 2011 @ 11:01 PM
Music: Chiddy Bang - Opposite of Adults

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.

Deep Zoom Panoramas
April 9, 2011 @ 4:22 PM
Music: Mumford and Sons - Awake My Soul
Rocks: Microsoft Deep Zoom

I’ve added a new image album exclusively for panoramic pictures. Enjoy!

Kimmunicator Ring Tone
March 14, 2011 @ 12:11 AM
Music: Christina Milian - Call Me, Beep Me

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.

string-measurement.js
March 12, 2011 @ 2:22 PM
Music: The Cardigans - If There is a Chance
Rocks: TortoiseHg

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!

Best Horoscope Ever #2
January 26, 2011 @ 11:31 PM
Music: The Arcade Fire - Sprawl II (Mountains Beyond Mountains)

Leo (July 23 - Aug. 22) Leo, bro. Bro, bro, bro, bro, bro, bro, bro. Shut up, bro.

Another in the series of horoscope WTFs.

Show 20 earlier entries.
Show 5, 10, or 20 entries at a time.