Goat 1000 home
Welcome to Goat 1000 - this is where you'll find some of the bits and pieces of software that I cobble together for fun. Please feel free to download them and try them out. All this stuff is freeware, no guarantee that it will do anything, etc. (though if it does fail to do anything, please let me know!)
This new version of JPEG Saver adds a feature that people have been asking me about for years and another feature that nobody has ever asked me about, as far as I can remember. There are also a few bugs fixed in this version, but since I discovered them myself I don't think they are earth-shattering.
The first new feature should be obvious to long-time users as soon as you open up the configuration dialog. The “All” and “None” buttons that were there for enabling and disabling all the transitions are gone, replaced by a slider labelled “Speed”. The slider provides some control over how fast the transitions are, with five options for multiplying the default speed: ×1/2; ×2/3; ×1 (the default speed); ×1.5; and ×2. You can see the effect of these options on all the transitions in the preview window on the dialog. All of the transitions are affected equally by the slider setting - there is still no way to slow down or speed up individual transitions.
The functions of the removed “All” and “None” buttons have moved to the three-state checkbox next to the “Transitions” label above the list. The thick black dot in the checkbox means some of the transitions are enabled; clicking it will disable them all and clear the checkbox. This type of checkbox has been around for years, but I'm still not used to using it.
The new version 2.15 of SVGGraph contains three new graph types and some substantial internal changes to the existing grid-based graphs. These changes are there to support drawing a second Y-axis on the right hand side of the bar, line and scatter graphs.
The new graph types are all variations on the pie graph. The donut graph is a pie graph with a hole in the middle where you can put an optional label. There is an option for how large the hole is, but apart from that it behaves like a normal pie graph. In case you are wondering, I spelled it “donut” instead of “doughnut” because of the shorter spelling, making the class and filename shorter too.
The polar area graph is a pie graph where the angle of each slice remains constant, with the value represented by the area of the slice instead. One advantage of this type of graph over a standard pie graph is that zero values are visible as gaps in the graph. The example above shows that my dough recipe has no badger in it, which could be quite reassuring.
Here's another minor update to JPEG Saver, fixing a couple of bugs that were reported to me and some other things that I noticed while testing and using it myself.
The most glaring bug fixed in this version is one that would rotate images incorrectly, due to my misunderstanding some of the EXIF specification. The details of how the image should be rotated to appear the right way up on the screen are stored as a field in the image's EXIF data. If JPEG Saver came across an image without an orientation field in the main block of EXIF data, it would look in the next EXIF block for the field (if there was a second block). The second block is for details about the thumbnail image that is sometimes embedded in the main image, and JPEG Saver was taking the orientation from here and rotating the main image the way that the thumbnail image should be rotated instead of leaving it unrotated. Don't ask me why the thumbnail should have a different orientation from the main image, but it can happen and now JPEG Saver should be able to cope with it.
The first bug has been around for a long time, but the second was fairly new. When JPEG Saver happened to choose the same image to display twice in a row, it was not restarting the timer to load the next image. This was because the image loading code found that the image to be loaded was already in memory so didn't bother to load it again, and also didn't bother telling the main thread that the image was loaded. This meant that the main thread sat waiting for a message that never arrived and the images stopped changing.
- JPEG Saver - A screen saver for Windows that displays JPEG, PNG and BMP images.
- SVGGraph - A PHP library for generating SVG graphs.
- CRCDropper - A drag and drop CRC32 calculator.
- CRCDropper2 - Another drag and drop CRC32 calculator.
- CRCDropper3 - « see if you can guess what this does ».
- TrayBlank - a small utility for starting the screen saver from the system tray.
- Shuffler - a small utility for managing windows.
- Snow - a web page background snowfall, using the HTML5 canvas element.
About this site
All pages on this site are written in PHP. Syntax highlighting is performed using GeSHi. Titles and sub-titles use the Franchise font, with CSS @font-face files generated by the Font Squirrel @font-face generator.
If you are wondering what the point of that paragraph was, please take a look at the EU Cookie Directive site.