StippleGen 2—Stippler, turned friendly 
CropGUI 0.1.1: now with gtk 
Gtk version of cropgui Earlier this year, I released a program for lossless cropping of jpeg images. This week, based on feedback from Ingrid, I ported the program to gtk (it originally used tkinter).
cropgui: A Linux GUI for Lossless JPEG Cropping 
Cropping a tiny insect Update: See the newer version of cropgui Of the pictures from my recent trip I'd like to put online, I've found that in 75% of the cases where I want to retouch the photo, it's to crop it and nothing else. Since I shoot in jpeg, it's a lossy process to load the jpeg in gimp, crop it, and write the result. But it turns out that debian's jpegtran has a "-crop" flag which performs lossless cropping of jpeg images as long as the crop is to a multiple of what the manpage calls the "iMCU boundary", a (usually?) 8x8 block of pixels. This feature was pioneered by Guido of jpegclub.org some years ago. There's apparently a nice Windows front-end to this program, but I didn't find a Linux one. So I wrote one! It's pretty basic, but it gets the job done. You can download it below.
Canon Digital Rebel XSi (450D) on Linux Ubuntu Hardy 8.04 
XO-1 screen simulation 
olpcgui.py in action I failed to resist the new G1G1 program and ordered myself an XO-1 today. As a lot of geeks are, I'm intrigued by the screen. Updated: sped up the simulation a bit with a pyrex module.
Cairo-based waveform demo 
Making a YouTube video of X program 
Instructions for recording any X program into a video suitable for upload to youtube
The Bayer sensor vs the Foveon sensor (part 2 of 2) 
(M)(L)cactus In this part of the article, I present the images and compare the results to my predictions.
The Bayer sensor vs the Foveon sensor (part 1 of 2) 
Using synthetic images, I have subjectively compared the effective resolution of a Bayer and a Foveon sensor with the same number of photosites.
Tired of missing OpenGL manpages on Ubuntu 
Onscreen Crosshairs in tcl/tk [software/01146347893]
I was staring too long at a screenshot of a graph on some web page, wishing I could tell if two things lined up. Well, inspiration struck, and this program was born. Two windowsone that is one pixel wide, and another that is one pixel tallare created, and they follow the mouse around every 1/10 second or so. They're displaced by one pixel so that clicking will hit the underlying window, not the crosshair. I apologize for the changing colors, since xor isn't available with this simple method of drawing the lines, it's the only way to be sure to get contrast. I considered making the color depend on e.g., whether SHIFT is pressed, but if Tk provides this information to a window that doesn't have focus, I overlooked it in the manpages.
Stippler 1.0 source release [software/01133127497-stippler-source-release]
I finally got around to writing my own dithering algorithm, so now all parts of stippler are under a clear GPL license. Stippler is software for turning greyscale images into "stippled" images. I have have discussed it before on my blog. Stippler is based on the reasearch of Adrian Secord, but the implementation is my own. Files currently attached to this page: stippler-1.0.tar.bz27.9kB
Hershey Vector Fonts [software/01132595691]
Two optical illusions [01131390746-two-optical-illusions]
QOOP -- the final chapter? 
After seeing the comparison image I posted earlier, QOOP has thanked me for bringing the resolution issue to their attention, and offered me a Flickr Pro membership at their expense. I'm pleased with this outcome.
Response from QOOP (updated with comparison images) 
I got a response from QOOP about the perceived problems with my order. Be sure to see the newer entry about this issue.
QOOP: My friends' reaction to one of their photo books 
I ordered a 16-page photo book from QOOP on the 20th, it was shipped on the 26th and delivered to me on the 28th. The total cost including shipping was $20.04. Read on for my reactions and the reactions of my friends.
It probably won't be the biggest thing since AJAX, but I hit upon the idea of generating images client-side. The current ways to do this seem to involve using tables or absolute-positioning of very small DIVs. (See, for example, http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm) My technique, which I call glif (for GIF and glyph), generates a gif-format image on the client side. One application for this that comes immediately to mind is client-side generation of sparklines-type images, possibly from an AJAX source. glif.html is a small demo which draws a sine wave in an image (Known not to work in IE) Update: SparGlif demo
Flicker and QOOP 
Off and on, I'm interested in printing my photography. So today when I heard about QOOP I decided to take a look.
a plug for Eagle3D 
XY display update [projects/01117067802]
… less frequently). Apparently the ATI graphics chipset in my laptop is capable of a display of…
vgaxy -- create XY scope displays with your VGA card [software/01115603899]
Software for a virtual terminal and several other toys
Vector patches for xmame 0.94 [software/01115603825]
With this patch applied, xmame 0.94 does vgaxy-style output for display on an oscilloscope in xy mode
More vector game screenshots 
(M)(L)Battle Zone I really should mention the website of Jed Margolin which has a lot of information about his time at Atari, including his work with vector games.
"Dithered" output increases resolution 
MAME vector display on the oscilloscope 
(M)(L)Asteroids Yep, it works. Too bad about the low resolution. More game pictures below the fold.
Working Z-axis 
(M)(L)Vector terminal with Z-axis With a simple transistor, the Z axis works pretty well. The linearity is better now that I'm using some 10b2 tees and terminators (50 ohms) on the X and Y inputs, too.
Vector "text" display 
(M)(L)Simulating a character-cell display Displaying a message, even.
Animated XY display 
(M)(L)Not originally a raster game... It's an old-style "QIX" animation.
VGA to 'scope display 
(M)(L)XY display of a cube The question on my mind was this: Where do I get a nice, fast DAC to run an XY display? How do I keep it fed with values? I discovered a very simple answer that I hadn't heard of before. The hardware is dirt simple: Get a VGA to 5 BNC-connector cable. Plug your computer's VGA output into your scope. Now load a specially crafted image in a full-screen viewer
Serendipitous optimization 
An implementation choice in stippler turned out to give near-optimal output for the milling machine
Much better results 
It's in a frame! 
OK, so there are still some problems left. But this is exciting anyway.
Stippling with lots of points 
crane-out This image has 12k points. I don't think this many points are practical on the mill, but it looks pretty good onscreen. Screenshot from the stippler software, resized and cropped with gimp.
Stippler: Turning photos into dots 
A few weeks ago, I stumbled over a paper by Adrian Secord describing an algorithm to turn a greyscale image into stipples. Here are the results of my implementation of his algorithm. UPDATE: I added the original photo of Marie, as well as the version that was used as input by stippler.
Stippler: Turning photos into dots [stippler]