<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#">
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/"/>

<title>Jeff Epler's blog</title>
<modified>2012-06-13T12:49:53Z</modified>
<tagline>Photos, electronics, cnc, and more</tagline>
<author><name>Jeff Epler</name><email>jepler@unpythonic.net</email></author>
<entry>
<title>StippleGen 2—Stippler, turned friendly</title>
<issued>2012-06-13T12:49:53Z</issued>
<modified>2012-06-13T12:49:53Z</modified>
<id>https://gamma.unpythonic.net/01339591793</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01339591793"/>
<content type="text/html" mode="escaped">

&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- 7368233514_59f7d25603.jpg--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01339591793/7368233514_59f7d25603.jpg&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;
Mark Twain, 5000 white stipples by oskay&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01339591793/7368233514_59f7d25603-small.jpg&quot; width=300 height=274&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01339591793/7368233514_59f7d25603.jpg&quot;&gt;&lt;img class=zoom src=&quot;https://media.unpythonic.net/emergent-files/default/zoom.png&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01339591793/7368233514_59f7d25603.jpg&quot;&gt;Mark Twain, 5000 white stipples by oskay&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
A long time ago I wrote &lt;a href=&quot;https://gamma.unpythonic.net/01108611472&quot;&gt;stippler&lt;/a&gt; and &lt;a href=&quot;https://gamma.unpythonic.net/01133127497-stippler-source-release&quot;&gt;put the source on my blog&lt;/a&gt;.
However, it was pretty user-hostile software and doesn't even build with
current versions of Linux without modification.  That's why I'm gratified
to see &lt;a href=&quot;http://www.evilmadscientist.com/2012/stipplegen2/&quot;&gt;StippleGen 2&lt;/a&gt;, free software (LGPLv2.1+) that performs a similar function
but with a nice-looking user interface.  I haven't tried it myself, but
if you are interested in making this kind of art it surely warrants a look.
</content>
</entry>
<entry>
<title>CropGUI 0.1.1: now with gtk</title>
<issued>2009-07-24T02:19:06Z</issued>
<modified>2009-07-24T02:19:06Z</modified>
<id>https://gamma.unpythonic.net/01248401946</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01248401946"/>
<content type="text/html" mode="escaped">
&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- cropgtk.png--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01248401946/cropgtk.png&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;Gtk version of cropgui&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01248401946/cropgtk-small.jpg&quot; width=300 height=259&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01248401946/cropgtk.png&quot;&gt;&lt;img class=zoom src=&quot;https://media.unpythonic.net/emergent-files/default/zoom.png&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01248401946/cropgtk.png&quot;&gt;Gtk version of cropgui&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;a href=&quot;https://gamma.unpythonic.net/01235516977&quot;&gt;Earlier this year&lt;/a&gt;, 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).</content>
</entry>
<entry>
<title>cropgui: A Linux GUI for Lossless JPEG Cropping</title>
<issued>2009-02-24T23:09:37Z</issued>
<modified>2009-02-24T23:09:37Z</modified>
<id>https://gamma.unpythonic.net/01235516977</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01235516977"/>
<content type="text/html" mode="escaped">
&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- cropgui.jpg--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01235516977/cropgui.jpg&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;Cropping a tiny insect&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01235516977/cropgui-small.jpg&quot; width=300 height=228&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01235516977/cropgui.jpg&quot;&gt;&lt;img class=zoom src=&quot;https://media.unpythonic.net/emergent-files/default/zoom.png&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01235516977/cropgui.jpg&quot;&gt;Cropping a tiny insect&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;b&gt;Update&lt;/b&gt;: See the &lt;a href=&quot;https://gamma.unpythonic.net/01248401946&quot;&gt;newer version of cropgui&lt;/a&gt;

&lt;p&gt;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.

&lt;p&gt;But it turns out that debian's jpegtran has a &amp;quot;-crop&amp;quot; flag which
performs lossless cropping of jpeg images as long as the crop is to a
multiple of what the manpage calls the &amp;quot;iMCU boundary&amp;quot;, a (usually?) 8x8
block of pixels.  This feature was pioneered by Guido of &lt;a href=&quot;http://jpegclub.org/&quot;&gt;jpegclub.org&lt;/a&gt; some years ago.

&lt;p&gt;There's apparently a nice &lt;a href=&quot;http://www.softpedia.com/progScreenshots/Jpegcrop-Screenshot-91058.html&quot;&gt;Windows front-end to this program&lt;/a&gt;, 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.</content>
</entry>
<entry>
<title>Canon Digital Rebel XSi (450D) on Linux Ubuntu Hardy 8.04</title>
<issued>2009-02-14T16:24:20Z</issued>
<modified>2009-02-14T16:24:20Z</modified>
<id>https://gamma.unpythonic.net/01234628660</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01234628660"/>
<content type="text/html" mode="escaped">
&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- IMG_0135.jpg--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01234628660/IMG_0135-medium.jpg&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;ufraw-converted image&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01234628660/IMG_0135-small.jpg&quot; width=300 height=200&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01234628660/IMG_0135-medium.jpg&quot;&gt;(M)&lt;/a&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01234628660/IMG_0135.jpg&quot;&gt;(L)&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01234628660/IMG_0135.jpg&quot;&gt;ufraw-converted image&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
gimp-ufraw (ubuntu hardy) would open cr2 files from my new camera (Canon
Digital Rebel XSi, aka 450D), but until I applied &lt;a href=&quot;http://const.deribin.com/ufraw_and_Canon_450D&quot;&gt;a patch&lt;/a&gt; the colors were all
wrong.  (This is &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/ufraw/+bug/228623&quot;&gt;on launchpad&lt;/a&gt; but
not fixed in an official ubuntu package yet)

&lt;p&gt;Another nice tool with this camera is &lt;tt&gt;gphotofs&lt;/tt&gt;, which allows the
camera to be mounted as a filesystem even though it uses PTP rather than
mass storage.  The one packaged for Ubuntu Hardy works nicely.

&lt;p&gt;</content>
</entry>
<entry>
<title>XO-1 screen simulation</title>
<issued>2008-11-17T15:16:13Z</issued>
<modified>2008-11-17T15:16:13Z</modified>
<id>https://gamma.unpythonic.net/01226934973</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01226934973"/>
<content type="text/html" mode="escaped">
&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- olpcgui.png--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01226934973/olpcgui.png&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;olpcgui.py in action&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01226934973/olpcgui-small.png&quot; width=300 height=276&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01226934973/olpcgui.png&quot;&gt;&lt;img class=zoom src=&quot;https://media.unpythonic.net/emergent-files/default/zoom.png&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01226934973/olpcgui.png&quot;&gt;olpcgui.py in action&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
I failed to resist the &lt;a href=&quot;http://laptop.org&quot;&gt;new G1G1 program&lt;/a&gt; and
ordered myself an XO-1 today.  As a lot of geeks are, I'm intrigued by the
screen. &lt;b&gt;Updated:&lt;/b&gt; sped up the simulation a bit with a pyrex module.</content>
</entry>
<entry>
<title>Cairo-based waveform demo</title>
<issued>2008-08-15T02:59:44Z</issued>
<modified>2008-08-15T02:59:44Z</modified>
<id>https://gamma.unpythonic.net/01218769184</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01218769184"/>
<content type="text/html" mode="escaped">
&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- trace2.png--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01218769184/trace2.png&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;Image generated by waveform demo&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01218769184/trace2-small.png&quot; width=300 height=300&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01218769184/trace2.png&quot;&gt;&lt;img class=zoom src=&quot;https://media.unpythonic.net/emergent-files/default/zoom.png&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01218769184/trace2.png&quot;&gt;Image generated by waveform demo&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt;
It's late, but I just wanted to toss this online.  It's a Python / Cairo / Gtk
based waveform viewer.  Maybe it will become the foundation for a replacement
for both emc2's halscope and the sump.org logic analyzer GUI, when I find
a hundred hours or so to work on it.

&lt;p&gt;The main feature is that when a trace has more than one sample per horizontal
pixel it goes into a sort of &amp;quot;envelope&amp;quot; mode, with a fainter trace showing
the min and max and the bright trace following the median (not mean) value.

&lt;p&gt;The demo writes out 3 static pngs, then shows a window that you can re-size
to get an idea of the responsiveness.  I have only run on a very beefy machine
so far, which gives the impression that all is well.  Resizing is tolerable,
and exposing (and, by analogy, scrolling, when I get around to it) is pretty
responsive.

&lt;p&gt;&lt;p&gt;&lt;b&gt;Files currently attached to this page:&lt;/b&gt;
&lt;table cellpadding=5 style=&quot;width:auto!important; clear:none!important&quot;&gt;&lt;col&gt;&lt;col style=&quot;text-align: right&quot;&gt;&lt;tr bgcolor=#eeeeee&gt;&lt;td&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01218769184/demo.py&quot;&gt;demo.py&lt;/a&gt;&lt;/td&gt;&lt;td&gt;7.0kB&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;
</content>
</entry>
<entry>
<title>Making a YouTube video of X program</title>
<issued>2007-11-26T19:29:20Z</issued>
<modified>2007-11-26T19:29:20Z</modified>
<id>https://gamma.unpythonic.net/01196105360</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01196105360"/>
<content type="text/html" mode="escaped">Instructions for recording any X program into a video suitable
for upload to youtube


&lt;p&gt;&lt;object width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/fWKYQUj5AOs&amp;rel=1&quot;&gt;&lt;/param&gt;&lt;param name=&quot;wmode&quot; value=&quot;transparent&quot;&gt;&lt;/param&gt;&lt;embed src=&quot;http://www.youtube.com/v/fWKYQUj5AOs&amp;rel=1&quot; type=&quot;application/x-shockwave-flash&quot; wmode=&quot;transparent&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;</content>
</entry>
<entry>
<title>The Bayer sensor vs the Foveon sensor (part 2 of 2)</title>
<issued>2006-10-23T18:15:08Z</issued>
<modified>2006-10-23T18:15:08Z</modified>
<id>https://gamma.unpythonic.net/01161627308</id>
<link rel="alternate" type="text/html" href="https://gamma.unpythonic.net/01161627308"/>
<content type="text/html" mode="escaped">&lt;div style=&quot;float:right;clear:right&quot;&gt;&lt;!-- cactus.jpg--&gt;&lt;div class=albumouter style=width:306px id=&gt;&lt;div class=albumimage style=&quot;width:306px;margin-left:0.0px;&quot;&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01161627308/cactus-medium.jpg&quot; class=&quot;thickbox&quot; rel=&quot;album&quot; title=&quot;cactus&quot;&gt;&lt;img src=&quot;https://media.unpythonic.net/emergent-files/01161627308/cactus-small.jpg&quot; width=300 height=225&gt;&lt;/a&gt;&lt;div &gt;&lt;div style=&quot;float: right&quot; &gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01161627308/cactus-medium.jpg&quot;&gt;(M)&lt;/a&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01161627308/cactus.jpg&quot;&gt;(L)&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;https://media.unpythonic.net/emergent-files/01161627308/cactus.jpg&quot;&gt;cactus&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;
&lt;/div&gt; In this part of the article, I present
the images and compare the results to my predictions.</content>
</entry>
</feed>
