<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"><channel><title>kmkeen.com: comment feed</title><link>http://kmkeen.com</link><description>All unreplied comments.</description><lastBuildDate>Sun, 05 May 2013 15:15:04 GMT</lastBuildDate><generator>ReD-Template</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Rtl_fm Guide</title><link>http://kmkeen.com/rtl-demod-guide/2013-01-02-17-54-37-499.html</link><description>It also works nicely on a Mac under OS X assuming you have all the libraries it needs.</description><guid>http://kmkeen.com/rtl-demod-guide/2013-01-02-17-54-37-499.html</guid><pubDate>Sun, 05 May 2013 15:14:58 GMT</pubDate></item><item><title>Jshon</title><link>http://kmkeen.com/jshon/2011-12-21-21-53-50-464.html</link><description></description><guid>http://kmkeen.com/jshon/2011-12-21-21-53-50-464.html</guid><pubDate>Fri, 08 Mar 2013 14:16:26 GMT</pubDate></item><item><title>Linux Wifi</title><link>http://kmkeen.com/linux-wifi/2012-06-18-10-00-10-044.html</link><description>better</description><guid>http://kmkeen.com/linux-wifi/2012-06-18-10-00-10-044.html</guid><pubDate>Sat, 09 Feb 2013 10:42:19 GMT</pubDate></item><item><title>Rtl_fm Guide</title><link>http://kmkeen.com/rtl-demod-guide/2013-01-02-17-54-37-499.html</link><description>... And to get a list of legal gain values with `rtl_test`.</description><guid>http://kmkeen.com/rtl-demod-guide/2013-01-02-17-54-37-499.html</guid><pubDate>Wed, 30 Jan 2013 12:43:07 GMT</pubDate></item><item><title>Rtl_fm Guide</title><link>http://kmkeen.com/rtl-demod-guide/2013-01-02-17-54-37-499.html</link><description>Add a note that if it sounds bad, the antenna is bad and the gain (`-g`) should be set manually.</description><guid>http://kmkeen.com/rtl-demod-guide/2013-01-02-17-54-37-499.html</guid><pubDate>Wed, 30 Jan 2013 12:39:19 GMT</pubDate></item><item><title>AWK Music</title><link>http://kmkeen.com/awk-music/2011-03-07-20-10-07-394.html</link><description>Kernighan didn't write C</description><guid>http://kmkeen.com/awk-music/2011-03-07-20-10-07-394.html</guid><pubDate>Fri, 25 Jan 2013 05:41:50 GMT</pubDate></item><item><title>Code for Puzzlers</title><link>http://kmkeen.com/code-for-puzzlers/2011-01-14-06-27-09-026.html</link><description>This sort of trigram word puzzle is called an Anaquote.</description><guid>http://kmkeen.com/code-for-puzzlers/2011-01-14-06-27-09-026.html</guid><pubDate>Mon, 07 Jan 2013 20:44:32 GMT</pubDate></item><item><title>CandyBar2</title><link>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</link><description>Like what you are doing. 
Would you consider using loaf pan, lightly oiled, then lined w plastic wrap (also oiled) and then begin the stacking process.

Using slightly oiled sided pan helps keep all edges even and with no, hopefully, unfilled spaces.
Plus when finished it could be unmolded and/or placed back into pan with little fuss muss.

Also - are the almonds toasted first?

Might try toasted coconut = will be trying out your candybar2</description><guid>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</guid><pubDate>Mon, 03 Sep 2012 21:50:09 GMT</pubDate></item><item><title>Multithreaded Bash</title><link>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</link><description>Nevermind.  With the Great Usr Merge, this turned into a prophetic typo.</description><guid>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</guid><pubDate>Thu, 09 Aug 2012 15:42:48 GMT</pubDate></item><item><title>Achieving Post-Scarcity</title><link>http://kmkeen.com/post-scarcity/2012-07-15-08-04-02-196.html</link><description>The beginning of the last sentence in this paragraph seems to miss a word between "don't" and "that".</description><guid>http://kmkeen.com/post-scarcity/2012-07-15-08-04-02-196.html</guid><pubDate>Thu, 19 Jul 2012 15:00:08 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>https://github.com/ReturnInfinity/BareMetal-OS</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Tue, 03 Jul 2012 20:18:48 GMT</pubDate></item><item><title>Linux Wifi</title><link>http://kmkeen.com/linux-wifi/2012-06-18-10-00-10-044.html</link><description>Forgot to mention, the laws for Tx power vary quite a bit between countries.  In the UK you are limited to a flux density, so there is no real limit to gain as long as the tx power is attenuated far enough.</description><guid>http://kmkeen.com/linux-wifi/2012-06-18-10-00-10-044.html</guid><pubDate>Mon, 18 Jun 2012 10:11:44 GMT</pubDate></item><item><title>Multithreaded Bash</title><link>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</link><description>It only leaks if you don't clear it out.</description><guid>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</guid><pubDate>Thu, 14 Jun 2012 11:56:30 GMT</pubDate></item><item><title>Multithreaded Bash</title><link>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</link><description>Whoops, `#!/bin/bash`</description><guid>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</guid><pubDate>Thu, 07 Jun 2012 07:18:36 GMT</pubDate></item><item><title>FP</title><link>http://kmkeen.com/fp/2012-05-19-10-40-20-712.html</link><description>This is not lazy eval.</description><guid>http://kmkeen.com/fp/2012-05-19-10-40-20-712.html</guid><pubDate>Sun, 03 Jun 2012 15:36:34 GMT</pubDate></item><item><title>SocketServer</title><link>http://kmkeen.com/socketserver/2009-04-03-13-45-57-003.html</link><description>An how do you deploy that under Apache using flup?</description><guid>http://kmkeen.com/socketserver/2009-04-03-13-45-57-003.html</guid><pubDate>Wed, 04 Apr 2012 11:49:05 GMT</pubDate></item><item><title>Tree Walking</title><link>http://kmkeen.com/python-trees/2010-09-18-08-55-50-039.html</link><description>Technically this uses an adjacency list, not a true tree or graph.</description><guid>http://kmkeen.com/python-trees/2010-09-18-08-55-50-039.html</guid><pubDate>Thu, 08 Mar 2012 18:47:55 GMT</pubDate></item><item><title>Funcparserlib</title><link>http://kmkeen.com/funcparserlib/2010-11-12-05-40-55-767.html</link><description>Cut `forward_decls` and `with_forward`.  Recursive parsers are beyond this intro.</description><guid>http://kmkeen.com/funcparserlib/2010-11-12-05-40-55-767.html</guid><pubDate>Thu, 02 Feb 2012 14:52:31 GMT</pubDate></item><item><title>Funcparserlib</title><link>http://kmkeen.com/funcparserlib/2010-11-12-05-40-55-767.html</link><description>An important detail, it short circuits to the first match and does not check further.</description><guid>http://kmkeen.com/funcparserlib/2010-11-12-05-40-55-767.html</guid><pubDate>Thu, 02 Feb 2012 14:51:14 GMT</pubDate></item><item><title>Generators for Engineers</title><link>http://kmkeen.com/generators/2009-02-05-21-33-00.html</link><description>You probably want +, not -. And in that case, it should be 4.5, not -4.5.</description><guid>http://kmkeen.com/generators/2009-02-05-21-33-00.html</guid><pubDate>Sat, 17 Dec 2011 12:08:18 GMT</pubDate></item><item><title>Generators for Engineers</title><link>http://kmkeen.com/generators/2009-02-05-21-33-00.html</link><description>s/slice(range(20), 4, 16, 2)/range(20)[slice(4, 16, 2)]/g ;)</description><guid>http://kmkeen.com/generators/2009-02-05-21-33-00.html</guid><pubDate>Sat, 17 Dec 2011 04:05:36 GMT</pubDate></item><item><title>Generators for Engineers</title><link>http://kmkeen.com/generators/2009-02-05-21-33-00.html</link><description>You gotta a typo in the last line, 1st element should be -0.5 btw nice article!</description><guid>http://kmkeen.com/generators/2009-02-05-21-33-00.html</guid><pubDate>Sat, 17 Dec 2011 03:56:08 GMT</pubDate></item><item><title>Generators for Engineers</title><link>http://kmkeen.com/generators/2009-02-05-21-33-00.html</link><description>Maybe I'm missing something obvious here, but why is range producing a parabola?</description><guid>http://kmkeen.com/generators/2009-02-05-21-33-00.html</guid><pubDate>Fri, 16 Dec 2011 21:26:33 GMT</pubDate></item><item><title>df2ttf</title><link>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</link><description>Sorry, I'm a noob. :(

I have several 'flavors' of Python installed for GIMP, Blender, and 'just-in-case'. Subversion is also installed with its own version of Python, which this appears to be defaulting to. Anyway, just in this case, I can drop to a command prompt, type "df2ttf.py" and it attempts to run... then barfs out the following:

C:\Users\asmith\Documents\Dwarf Fortress Projects\Software\df2tty&gt;df2ttf.py
'import site' failed; use -v for traceback
Traceback (most recent call last):
  File "C:\Users\asmith\Documents\Dwarf Fortress Projects\Software\df2tty\df2ttf
.py", line 6, in &lt;module&gt;
    import tempfile, os, subprocess, shutil, optparse
  File "C:\csvn\Python25\\lib\tempfile.py", line 32, in &lt;module&gt;
    import os as _os
  File "C:\csvn\Python25\\lib\os.py", line 398, in &lt;module&gt;
    import UserDict
  File "C:\csvn\Python25\\lib\UserDict.py", line 84, in &lt;module&gt;
    _abcoll.MutableMapping.register(IterableUserDict)
  File "C:\csvn\Python25\\lib\abc.py", line 109, in register
    if issubclass(subclass, cls):
  File "C:\csvn\Python25\\lib\abc.py", line 151, in __subclasscheck__
    if subclass in cls._abc_cache:
  File "C:\csvn\Python25\\lib\_weakrefset.py", line 69, in __contains__
    return ref(item) in self.data
TypeError: cannot create weak reference to 'classobj' object

Do I need to force a particular Python version? I have 2.6, 2.7, 3.2 in both 32 and 64 bit flavors.</description><guid>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</guid><pubDate>Fri, 18 Nov 2011 16:12:54 GMT</pubDate></item><item><title>Tree Walking</title><link>http://kmkeen.com/python-trees/2010-09-18-08-55-50-039.html</link><description>your code works but you are confusing the two algorithm. to_crawl.extend gives you breadth first search and extendleft is depth first search.

for background on this and other topics on tree search and general AI you can follow this and other related videos
http://www.youtube.com/watch?v=slLRsFFiiRc&amp;feature=youtube_gdata_player

regards</description><guid>http://kmkeen.com/python-trees/2010-09-18-08-55-50-039.html</guid><pubDate>Thu, 17 Nov 2011 08:21:40 GMT</pubDate></item><item><title>AWK Music</title><link>http://kmkeen.com/awk-music/2011-03-07-20-10-07-394.html</link><description>I found interesting equations to create digital sound and your algorithm to generate pentatonic scale notes and make them sound beautiful should be used to improve those new kind of equations. I will try to mix them:
http://js.postbit.com/digital-computer-music-with-bitwise-operators.html</description><guid>http://kmkeen.com/awk-music/2011-03-07-20-10-07-394.html</guid><pubDate>Thu, 10 Nov 2011 17:40:42 GMT</pubDate></item><item><title>Code for Puzzlers</title><link>http://kmkeen.com/code-for-puzzlers/2011-01-14-06-27-09-026.html</link><description>It was Queen Victoria.</description><guid>http://kmkeen.com/code-for-puzzlers/2011-01-14-06-27-09-026.html</guid><pubDate>Sun, 06 Nov 2011 17:17:46 GMT</pubDate></item><item><title>AWK Music</title><link>http://kmkeen.com/awk-music/2011-03-07-20-10-07-394.html</link><description>If you're using PulseAudio, you can replace the "&gt; /dev/dsp"
with "| pacat"

It works a little better if you have a pulseaudio server running.

In deb-based distros, pacat is part of the pulseaudio-utils package.</description><guid>http://kmkeen.com/awk-music/2011-03-07-20-10-07-394.html</guid><pubDate>Tue, 25 Oct 2011 12:10:41 GMT</pubDate></item><item><title>Self Hell</title><link>http://kmkeen.com/self-hell/2009-01-07-09-21-00.html</link><description>Don't ever suggest that to an experienced python programmer.  If they see code that changes `self` they may have a violent response.</description><guid>http://kmkeen.com/self-hell/2009-01-07-09-21-00.html</guid><pubDate>Mon, 17 Oct 2011 04:26:17 GMT</pubDate></item><item><title>Paper Tape</title><link>http://kmkeen.com/paper-tape/2008-11-14-00-00-00.html</link><description>http://www.electronixandmore.com/project/relaycomputertwo/ looks nicer.</description><guid>http://kmkeen.com/paper-tape/2008-11-14-00-00-00.html</guid><pubDate>Sun, 16 Oct 2011 11:36:26 GMT</pubDate></item><item><title>Self Hell</title><link>http://kmkeen.com/self-hell/2009-01-07-09-21-00.html</link><description>If it's private code then `my' instead of `self' is 50% shorter and my.size seems to run off the tongue easier than self.size as you say it.</description><guid>http://kmkeen.com/self-hell/2009-01-07-09-21-00.html</guid><pubDate>Sat, 15 Oct 2011 04:47:59 GMT</pubDate></item><item><title>Multithreaded Bash</title><link>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</link><description>The 86KiB leak only occurs if cruft isn't cleared out, or still occurs even if it is?</description><guid>http://kmkeen.com/multithreaded-bash/2010-11-28-18-24-45-181.html</guid><pubDate>Sat, 15 Oct 2011 03:58:15 GMT</pubDate></item><item><title>df2ttf</title><link>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</link><description>Hello,

I used this code as a basis for a tool to convert pcf bitmap fonts into ttf fonts.

I added an improved vectorizer to that the fonts are much more efficient, and split up the code so that you just pass in a dict of bitmaps keyed by the character unicode values.

The code is on my github:

https://github.com/ali1234/bitmap2ttf

Thanks for making this possible :)</description><guid>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</guid><pubDate>Wed, 14 Sep 2011 14:55:40 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Not a language, but neat: http://www.retroprogramming.com/2011/03/itsy-os-simple-preemptive-switcher.html</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Thu, 31 Mar 2011 05:12:35 GMT</pubDate></item><item><title>Gallery</title><link>http://kmkeen.com/gallery/2010-05-10-03-56-50-908.html</link><description>If you aren't kidding about your caption:
"Never did find out what the place was."

It is the "Basillique Marie Reine - du Monde "   
roughly: Basilica of Mary Queen of the World 

Was there with my Family this Summer (Didn't go in this one, but did go to Notre Dame Cathedral - amazing)

Googgle streetview:
http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=st+elizabeth+montreal+canada&amp;aq=&amp;sll=43.325178,-103.535156&amp;sspn=93.680607,142.207031&amp;ie=UTF8&amp;hq=st+elizabeth&amp;hnear=Montreal,+Communaut%C3%A9-Urbaine-de-Montr%C3%A9al,+Quebec,+Canada&amp;ll=45.498916,-73.56882&amp;spn=0.001395,0.00217&amp;z=19&amp;layer=c&amp;cbll=45.498977,-73.568943&amp;panoid=YyBDEWKyfU8n0xXDys9oCA&amp;cbp=12,46.22,,0,-8.4

(PS say hi to twitter/audreyhuntley for me -a long lost old friend of mine)</description><guid>http://kmkeen.com/gallery/2010-05-10-03-56-50-908.html</guid><pubDate>Wed, 23 Mar 2011 11:32:20 GMT</pubDate></item><item><title>df2ttf</title><link>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</link><description>Fixed.  Thanks!</description><guid>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</guid><pubDate>Tue, 15 Mar 2011 08:12:05 GMT</pubDate></item><item><title>df2ttf</title><link>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</link><description>Hey, I found a bug in your table: you have 9762 for the female sign, it should be 9792.</description><guid>http://kmkeen.com/df2ttf/2010-06-23-10-10-22-668.html</guid><pubDate>Mon, 14 Mar 2011 02:21:01 GMT</pubDate></item><item><title>Code for Puzzlers</title><link>http://kmkeen.com/code-for-puzzlers/2011-01-14-06-27-09-026.html</link><description>Good intro to using permutations in itertools.

Have come across your awk music on reddit. Cool stuff.

Please do come up with more articles/tutorials.

A mention of India in one of your articles(LCD Hacks). Have been there?

Am an Arch Linux user too.</description><guid>http://kmkeen.com/code-for-puzzlers/2011-01-14-06-27-09-026.html</guid><pubDate>Wed, 16 Feb 2011 03:39:48 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>LUnix, for the C64
http://hld.c64.org/poldi/lunix/lunix.html</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sat, 12 Feb 2011 20:23:09 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>I swear I am going to merge all these notes into the page soon.  Until then, one more:

http://code.google.com/p/picoc/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Fri, 03 Sep 2010 08:33:52 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>And just to be complete, the two "purest" distros:

http://www.informatimago.com/linux/emacs-on-user-mode-linux.html

http://perllinux.sourceforge.net/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Mon, 16 Aug 2010 03:09:26 GMT</pubDate></item><item><title>Mainloops</title><link>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</link><description>In real life you would probably use glib.io_add_watch (or at the very least, glib.timeout_add) and gtk.run(). Calls to time.sleep in event loops is usually a sign of brokenness.</description><guid>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</guid><pubDate>Wed, 11 Aug 2010 11:11:35 GMT</pubDate></item><item><title>Mainloops</title><link>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</link><description>You can drive Tkinter one redraw at a time, actually.  Twisted's Tk support does this, in fact: just call update on your top-level Tkinter.Tk instance once in a while.</description><guid>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</guid><pubDate>Wed, 11 Aug 2010 11:08:15 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Jim is an 85KB TCL interpriter.

http://jim.berlios.de/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Wed, 11 Aug 2010 09:38:15 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>F is very similar to Joy, but even lighter.  http://www.nsl.com/k/f/f.htm

Needs K as a backend?</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Wed, 11 Aug 2010 09:30:51 GMT</pubDate></item><item><title>Mainloops</title><link>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</link><description>If you don't want to roll your own, Twisted has custom reactors for several GUI libraries that handle this problem for you.</description><guid>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</guid><pubDate>Tue, 10 Aug 2010 12:01:22 GMT</pubDate></item><item><title>Mainloops</title><link>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</link><description>Networking loops, true.  GUI mainloops, true.  But usually I add a GUI to a computationally expensive process to provide a real time window into what the computation is thinking.

Adding a multithreaded GUI to relatively simple apps, like an [orbital simulator](http://www.ittc.ku.edu/icfp-contest/), would run half has fast going from single core to single core with hyperthreading, and would not run at all on multicore systems.

IIO bound threads + CPU bound threads are not a good idea in Python.

You've reminded me of something.  IMerging mainloops also cleans up the code.  Since you can't cleanly kill threads, you need extra flags and exception handling.  It is much easier to exit a single threaded app.  Will add this.</description><guid>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</guid><pubDate>Tue, 10 Aug 2010 03:19:32 GMT</pubDate></item><item><title>Mainloops</title><link>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</link><description>I'm not sure this is accurate. Mainloops are a form of blocking IO. For such situations (where the loops are mostly waiting for input), using threads is fine even on a multicore system.</description><guid>http://kmkeen.com/mainloops/2010-08-08-22-12-55-140.html</guid><pubDate>Mon, 09 Aug 2010 23:43:34 GMT</pubDate></item><item><title>Subclasses</title><link>http://kmkeen.com/subclasses/2010-06-15-12-38-18-841.html</link><description>subclasses from **the** public mock up</description><guid>http://kmkeen.com/subclasses/2010-06-15-12-38-18-841.html</guid><pubDate>Fri, 18 Jun 2010 18:20:43 GMT</pubDate></item><item><title>Subclasses</title><link>http://kmkeen.com/subclasses/2010-06-15-12-38-18-841.html</link><description>This appears to be the same functionality that Java interfaces provide.

The one thing I'd change is replace

    "pass"

with

    raise Exception("Must implement.")

so you'd get something like:

    def send(self, message):
        "Send a single message."
        raise Exception("Must implement.")

That way if you forget to implement it in a child class, you'll know immediately because your code will freak out.</description><guid>http://kmkeen.com/subclasses/2010-06-15-12-38-18-841.html</guid><pubDate>Fri, 18 Jun 2010 13:51:06 GMT</pubDate></item><item><title>Flash Recovery</title><link>http://kmkeen.com/flash-recovery/2010-03-21-11-45-37-043.html</link><description>Another way to recover files from lost+found:  http://karuppuswamy.com/wordpress/2010/06/09/how-to-recover-files-from-lostfound-after-fsck-in-linux-how-i-did-it-in-ubuntu/</description><guid>http://kmkeen.com/flash-recovery/2010-03-21-11-45-37-043.html</guid><pubDate>Thu, 10 Jun 2010 16:30:38 GMT</pubDate></item><item><title>LCD hacks</title><link>http://kmkeen.com/quewl/2010-05-09-20-41-00-491.html</link><description>Time marches on.

http://www.reocities.com/smozoma/projects/keyboard/index.htm#The_QWERF_Layout</description><guid>http://kmkeen.com/quewl/2010-05-09-20-41-00-491.html</guid><pubDate>Wed, 02 Jun 2010 03:31:48 GMT</pubDate></item><item><title>Gallery</title><link>http://kmkeen.com/gallery/2010-05-10-03-56-50-908.html</link><description>"best battery **life**"</description><guid>http://kmkeen.com/gallery/2010-05-10-03-56-50-908.html</guid><pubDate>Tue, 25 May 2010 17:03:13 GMT</pubDate></item><item><title>Generators for Engineers</title><link>http://kmkeen.com/generators/2009-02-05-21-33-00.html</link><description>s/computer/compute in "Here's how to computer [...]".  Thanks for the tips, especially itertools.tee.</description><guid>http://kmkeen.com/generators/2009-02-05-21-33-00.html</guid><pubDate>Tue, 27 Apr 2010 08:19:19 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Another Lisp floppy OS: http://losak.sourceforge.net/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sun, 25 Apr 2010 06:14:16 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>I think this is about as awesome as BashForth:  http://www-2.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/lisp/impl/awk/0.html</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Wed, 17 Mar 2010 10:56:19 GMT</pubDate></item><item><title>Thixotropical</title><link>http://kmkeen.com/thixotropical/2010-02-27-07-32-42-515.html</link><description>Nice usage of funcparserlib!

Your composition sounds interesting :) Is it right that you use a finite non-deterministic automaton for generating it? To be more precise, a Markov chain?</description><guid>http://kmkeen.com/thixotropical/2010-02-27-07-32-42-515.html</guid><pubDate>Fri, 12 Mar 2010 02:40:00 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Quest for the smallest Java VM, http://www.harbaum.org/till/nanovm/ is the leading contender.</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sat, 27 Feb 2010 18:14:01 GMT</pubDate></item><item><title>Thixotropical</title><link>http://kmkeen.com/thixotropical/2010-02-27-07-32-42-515.html</link><description>For the curious, "ts.txt" contains a very crude and out of key rendition of Philip Glass's "100,000 People".  Listening to the mess after the fact is much less enjoyable than live coding new parts in.</description><guid>http://kmkeen.com/thixotropical/2010-02-27-07-32-42-515.html</guid><pubDate>Sat, 27 Feb 2010 07:43:03 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Bare Metal OS: http://www.returninfinity.com/baremetal.html

But I don't have any 64 bit chips to try it out on.</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sat, 30 Jan 2010 05:38:51 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Superior to tinypy?  http://code.google.com/p/python-on-a-chip/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Tue, 22 Dec 2009 11:58:13 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Looks like picolisp has a new website, picolisp.org</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Fri, 27 Nov 2009 10:44:45 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Here is a clever idea.  Hack tomsrtbt and replace the normal login init with a interpreted language.  http://www.complang.tuwien.ac.at/forth/gforth/almost-native/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sun, 27 Sep 2009 12:10:55 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Linux backported to 8086: http://elks.sourceforge.net/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sun, 27 Sep 2009 09:46:27 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>And another: http://pcc.ludd.ltu.se/</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sat, 26 Sep 2009 17:55:38 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>Investigate http://nwcc.sourceforge.net/index.html</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Sat, 26 Sep 2009 13:23:41 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>It has been surprising hard finding a single floppy linux which provides more than BusyBox shell scripting.  Surprisingly, Tomsrtbt has Lua!</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Tue, 22 Sep 2009 20:36:39 GMT</pubDate></item><item><title>Tiny Code</title><link>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</link><description>[sx forth](http://www.avrfreaks.net/index.php?module=Freaks%20Tools&amp;func=viewItem&amp;item_id=716) is for AVRs and only needs 8kb flash</description><guid>http://kmkeen.com/tiny-code/2009-09-17-18-46-26-090.html</guid><pubDate>Tue, 22 Sep 2009 12:29:35 GMT</pubDate></item><item><title>CandyBar2</title><link>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</link><description>w00t! I wish I had been there, it looks tasty!</description><guid>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</guid><pubDate>Fri, 22 May 2009 20:12:45 GMT</pubDate></item><item><title>ProjBot</title><link>http://kmkeen.com/projbot/2009-03-01-00-00-00.html</link><description>Fixed.</description><guid>http://kmkeen.com/projbot/2009-03-01-00-00-00.html</guid><pubDate>Sun, 19 Apr 2009 15:37:36 GMT</pubDate></item><item><title>ProjBot</title><link>http://kmkeen.com/projbot/2009-03-01-00-00-00.html</link><description>Image mode is half broken right now, as Google has slightly changed things.  Sometimes they return JS code that is expanded into HTML, other times they return straight HTML.</description><guid>http://kmkeen.com/projbot/2009-03-01-00-00-00.html</guid><pubDate>Sun, 19 Apr 2009 14:10:55 GMT</pubDate></item><item><title>SocketServer</title><link>http://kmkeen.com/socketserver/2009-04-03-13-45-57-003.html</link><description>&gt; it is send back.

Sent back.</description><guid>http://kmkeen.com/socketserver/2009-04-03-13-45-57-003.html</guid><pubDate>Fri, 17 Apr 2009 15:56:33 GMT</pubDate></item><item><title>CandyBar2</title><link>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</link><description>So after letting some of the candy bar sit out for a few days, the marshmallow became much more firm.  Will have to try purposefully dehydrating the fluff before laying it.</description><guid>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</guid><pubDate>Thu, 19 Feb 2009 18:39:37 GMT</pubDate></item><item><title>CandyBar2</title><link>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</link><description>I really disliked the nutella layer. It was too similar to the other chocolate layers, so it somehow felt... wrong. Like the chocolate had melted and become cakey and disgusting.</description><guid>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</guid><pubDate>Wed, 18 Feb 2009 09:37:59 GMT</pubDate></item><item><title>CandyBar2</title><link>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</link><description>I noticed as I was eating the candy bar that the bottom chocolate layer was the most delicious and texturally interesting. And now we know why - MORE SUGAR.</description><guid>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</guid><pubDate>Wed, 18 Feb 2009 09:37:01 GMT</pubDate></item><item><title>CandyBar2</title><link>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</link><description>Also, tempering chocolate prevents "chocolate bloom" the white stuff that shows up when chocolate bars get left in a hot car and then cooled again. The "bloom" is actually free cocoa butter that diffuses to the surface. I think chocolate also becomes rancid faster when it is untempered because of this "blooming" process. That's why I always eat chocolate right away when it melts in the car.</description><guid>http://kmkeen.com/candybar2/2009-02-14-11-20-00.html</guid><pubDate>Wed, 18 Feb 2009 09:33:13 GMT</pubDate></item></channel></rss>