<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>zedstar dot org</title>
	<atom:link href="http://zedstar.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://zedstar.org/blog</link>
	<description></description>
	<lastBuildDate>Mon, 19 Mar 2012 07:28:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>An XML Compression Scheme</title>
		<link>http://zedstar.org/blog/2012/03/16/an-xml-compression-scheme/</link>
		<comments>http://zedstar.org/blog/2012/03/16/an-xml-compression-scheme/#comments</comments>
		<pubDate>Fri, 16 Mar 2012 15:05:15 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[packedobjects]]></category>
		<category><![CDATA[packedobjects scheme guile xml schema compression]]></category>
		<category><![CDATA[protocol buffers gzip]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=251</guid>
		<description><![CDATA[There are different ways of compressing XML but I like the idea of doing it with a schema. Using a schema you always have the advantage of validation but you can also produce very efficient encoding of the XML data. I have been working on an XML layer for packedobjects to allow compression of XML [...]]]></description>
			<content:encoded><![CDATA[<p>There are different ways of compressing XML but I like the idea of doing it with a schema. Using a schema you always have the advantage of validation but you can also produce very efficient encoding of the XML data. I have been working on an XML layer for <a href="http://zedstar.org/packedobjects/">packedobjects</a> to allow compression of XML data. Currently it takes <a href="http://gitorious.org/packedobjects/packedobjects/blobs/xml/examples/c-xml/data.xml">XML data</a> with a <a href="http://gitorious.org/packedobjects/packedobjects/blobs/xml/examples/c-xml/schema.scm">schema written in packedobjects</a> and produces binary data. This is very similar to <a href="http://www.itu.int/ITU-T/asn1/xml/xer.htm">XER</a> but everything happens at runtime. This means I could support a subset of XML Schema and dynamically map to the packedobjects schema. Doing this the end user will only see an XML world.  Everything is handled by embedding <a href="http://www.gnu.org/software/guile/">Scheme</a> to take care of the mapping between XML and s-expressions. <a href="http://gitorious.org/packedobjects/packedobjects/blobs/xml/examples/c-xml/main.c">From C</a> you will not see this but you still have the advantage of working directly within a REPL to design your schema if you want. The Scheme layer could also be extended to handle other data formats.</p>
<p>Running the <a href="http://gitorious.org/packedobjects/packedobjects/blobs/xml/examples/c-xml/main.c">example</a> will show that the packedobjects compression is about 3 times smaller than gzip based compression. In similar tests I have seen similar gains over encoding with <a href="http://code.google.com/p/protobuf/">Protocol Buffers</a>.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2012/03/16/an-xml-compression-scheme/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TCR update</title>
		<link>http://zedstar.org/blog/2012/01/04/tcr-update/</link>
		<comments>http://zedstar.org/blog/2012/01/04/tcr-update/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 14:23:38 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[The Clashing Rocks]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=246</guid>
		<description><![CDATA[Building The Clashing Rocks prototype was fun. It really identified some brick wall challenges surrounding the quantity of data we had to process in real-time. Even encoding to bit-level was not going to cut it. As a result a new direction for the project will be to focus solely on recording the seismic events. This [...]]]></description>
			<content:encoded><![CDATA[<p>Building The Clashing Rocks prototype was fun. It really identified some brick wall challenges surrounding the quantity of data we had to process in real-time. Even encoding to bit-level was not going to cut it. As a result a new direction for the project will be to focus solely on recording the seismic events. This will provide more opportunity to implement techniques to work with the bandwidth constraints in place and will eliminate the hard real-time processing constraints. There will still be the challenge of synchronising, logging and presenting the data but we will focus more on providing high-level APIs and/or a DSL to help realise this. The project will still be OpenWrt based and run on different architectures.</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2012/01/04/tcr-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Clashing Rocks</title>
		<link>http://zedstar.org/blog/2011/08/19/the-clashing-rocks/</link>
		<comments>http://zedstar.org/blog/2011/08/19/the-clashing-rocks/#comments</comments>
		<pubDate>Fri, 19 Aug 2011 17:12:18 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[nanonote]]></category>
		<category><![CDATA[packedobjects]]></category>
		<category><![CDATA[The Clashing Rocks]]></category>
		<category><![CDATA[guile]]></category>
		<category><![CDATA[scheme]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=232</guid>
		<description><![CDATA[This project is about using embedded Linux devices to detect, record and react to seismic events. The idea is to use accelerometers to detect shaking and then communicate this event to all other devices connected to the same broadcast group. We are developing the technology using OpenWrt which allows us to use a range of [...]]]></description>
			<content:encoded><![CDATA[<p>This project is about using embedded Linux devices to detect, record and react to seismic events. The idea is to use accelerometers to detect shaking and then communicate this event to all other devices connected to the same broadcast group. We are developing the technology using <a title="OpenWrt" href="https://openwrt.org/">OpenWrt</a> which allows us to use a range of hardware including routers and pocket computing devices. We really like the idea of exploring emerging low-powered, low-bandwidth mesh networks in developing countries. In this <a title="Video" href="http://www.vimeo.com/27924004">video</a> you can see some early work using a network of <a title="Ben NanoNote" href="http://en.qi-hardware.com/wiki/Ben_NanoNote">Ben NanoNote</a> computers fitted with <a title="WPAN" href="http://en.qi-hardware.com/wiki/Ben_WPAN">WPAN</a> hardware. Three devices are connected to a <a title="Spread" href="http://spread.org">Spread</a> daemon running on a co-ordinating device. Because our current hardware lacks accelerometers we run a program on one device to send fake accelerometer data onto the network. Each device should then pick up this data across our wireless network. We are currently able to get some basic support for IP networking using a <a title="dirtpan" href="http://projects.qi-hardware.com/index.php/p/ben-wpan/source/tree/master/tools/dirtpan">hack</a> by Werner Almesberger who also developed the WPAN hardware.  In the <a title="Video" href="http://www.vimeo.com/27924004">video</a> you can see the devices display a bar graph indicating it received data. Only one bar is registered as only one device is transmitting. This bar graph could act as a finger print for deciding the scale of seismic activity in a larger network. We intend to add some more intelligence to this part by building a some kind of knowledge system. Currently the project is at a very early stage with some basic infrastructure developed in C. The aim is to extend this infrastructure by embedding <a title="GNU Guile" href="http://www.gnu.org/s/guile/">GNU Guile</a>. This will allow us to dynamically control how we communicate, store and process the structured data shared amongst devices. Part of this system will involve trying to minimise the quantity of structured data exchanged on the network by serialising to bit-level using <a title="Packedobjects" href="http://zedstar.org/packedobjects/">Packedobjects</a>.</p>
<p>Further details of the project can be found at <a title="TCR" href="http://theclashingrocks.org">The Clashing Rocks wiki.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2011/08/19/the-clashing-rocks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Searchable USB flash drives</title>
		<link>http://zedstar.org/blog/2011/01/06/searchable-usb-flash-drives/</link>
		<comments>http://zedstar.org/blog/2011/01/06/searchable-usb-flash-drives/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 21:35:44 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[nanonote]]></category>
		<category><![CDATA[copyleft]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=224</guid>
		<description><![CDATA[Recently I was revisiting a powerful open source search engine technology on a Ben NanoNote to see how well it performed. Bearing in mind the NanoNote is only equipped with 32MB of RAM and a 336MHz MIPS processor it performed admirably. As a proof of concept I took the PDF lecture slides from three MIT [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I was <a href="http://zedstar.org/blog/2008/06/25/iphone-local-search-video/">revisiting</a> a powerful open source search engine technology on a Ben NanoNote to see how well it performed. Bearing in mind the NanoNote is only equipped with 32MB of RAM and a 336MHz MIPS processor it performed admirably. As a proof of concept I took the PDF lecture slides from three MIT OpenCoureWare undergraduate modules and indexed them on the device. This part of the process is time consuming but only needs to take place once. As you can see from the following <a href="http://zedstar.org/video/nanocourseware.ogv">video</a> (OGG format), searching the PDFs is rapid and there should be no problem scaling to thousands of documents.</p>
<p>One nice feature of connecting the NanoNote to your PC is that you are able to access the search engine through your PC&#8217;s web browser. This becomes close to something I have thought about for a while &#8211; a copyleft designed USB flash drive with embedded web server and search engine. This would allow you to take your documents with you and view them using a familiar g**gle style search on any PC you get access to (in theory) without relying on the host OS to do the work.</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2011/01/06/searchable-usb-flash-drives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://zedstar.org/video/nanocourseware.ogv" length="9541148" type="video/ogg" />
		</item>
		<item>
		<title>btlogger updated to support OAuth</title>
		<link>http://zedstar.org/blog/2010/09/17/btlogger-updated-to-support-oauth/</link>
		<comments>http://zedstar.org/blog/2010/09/17/btlogger-updated-to-support-oauth/#comments</comments>
		<pubDate>Fri, 17 Sep 2010 10:57:37 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[twitter]]></category>
		<category><![CDATA[btlogger]]></category>
		<category><![CDATA[oauth]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=211</guid>
		<description><![CDATA[Twitter pulling the plug on basic authentication meant I had to make changes to btlogger to support OAuth. Fortunately, librest made the code changes trivial. However, I ran into some problems. The clock was out of sync on the PC where btlogger runs. This caused the authenticate process to fail at the token request stage [...]]]></description>
			<content:encoded><![CDATA[<p>Twitter pulling the plug on basic authentication meant I had to make changes to <a href="http://gitorious.org/btlogger/">btlogger</a> to support <a href="http://dev.twitter.com/pages/oauth_faq">OAuth</a>. Fortunately, <a href="http://moblin.org/projects/librest">librest</a> made the code changes trivial. However, I ran into some problems. The clock was out of sync on the PC where btlogger runs. This caused the authenticate process to fail at the token request stage and was not easy to debug. The other issue which has been heavily <a href="http://arstechnica.com/security/guides/2010/09/twitter-a-case-study-on-how-to-do-oauth-wrong.ars">documented</a> is how to support authentication keys in FOSS. Currently <a href="http://gitorious.org/btlogger/btlogger/blobs/master/configure.ac">configure.ac</a> requires an edit to supply the key information. In theory I could supply the keys to somebody who wants to <a href="http://gitorious.org/btlogger/btlogger/blobs/master/INSTALL">build</a> the software from source until I figure out another way to handle this. I think they call this &#8220;best effort security&#8221;.</p>
<p>btlogger is now running from its own twitter account at: <a href="http://twitter.com/bluetoothlogger">http://twitter.com/bluetoothlogger</a></p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2010/09/17/btlogger-updated-to-support-oauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SlowFi protocols on copyleft hardware</title>
		<link>http://zedstar.org/blog/2010/08/18/slowfi-protocols-on-copyleft-hardware/</link>
		<comments>http://zedstar.org/blog/2010/08/18/slowfi-protocols-on-copyleft-hardware/#comments</comments>
		<pubDate>Wed, 18 Aug 2010 19:40:00 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Handhelds]]></category>
		<category><![CDATA[packedobjects]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=208</guid>
		<description><![CDATA[Recently I have been working on Packedobjects which included redesigning the API and replacing a lot of C code in Scheme. I will try and formalize the whole encoding process which I have called Integer Encoding Rules. I also began work on a manual which includes some examples. My aim is to support the tool [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I have been working on <a href="http://zedstar.org/packedobjects/#Introduction">Packedobjects</a> which included redesigning the <a href="http://zedstar.org/packedobjects/#Quick-start">API</a> and replacing a lot of C code in Scheme. I will try and formalize the whole encoding process which I have called <a href="http://zedstar.org/packedobjects/#Integer-Encoding-Rules">Integer Encoding Rules</a>. I also began work on a <a href="http://zedstar.org/packedobjects/packedobjects.pdf">manual</a> which includes <a href="http://zedstar.org/packedobjects/#Example-protocols">some examples</a>. My aim is to support the tool on <a href="http://zedstar.org/packedobjects/#Embedded-Linux">OpenWrt</a> which also involves maintaining the <a href="http://projects.qi-hardware.com/index.php/p/openwrt-packages/source/tree/master/guile/Makefile">GNU Guile build</a>.</p>
<p>I built and tested the software on my Ben Nanonote. The ipk is available:<a href="http://zedstar.org/ipk/packedobjects_0.4_xburst.ipk"> http://zedstar.org/ipk/packedobjects_0.4_xburst.ipk</a></p>
<p>After improving the documentation I intend to use the tool in a networking course at work. I think it is important for students to gain some experience of designing and structuring binary network protocols.  We will be getting a bunch of Nanonotes to compliment the Openmoko Freerunners we have. This will provide some nice hands on experience packing some data and communicating it across different kinds of hardware.</p>
<p>Long term, I am interested in designing some funky SlowFi protocols on copyleft hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2010/08/18/slowfi-protocols-on-copyleft-hardware/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GNU Guile on a Ben NanoNote with command line history (readline support)</title>
		<link>http://zedstar.org/blog/2010/05/02/gnu-guile-on-a-ben-nanonote-with-command-line-history-readline-support/</link>
		<comments>http://zedstar.org/blog/2010/05/02/gnu-guile-on-a-ben-nanonote-with-command-line-history-readline-support/#comments</comments>
		<pubDate>Sun, 02 May 2010 21:20:40 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Handhelds]]></category>
		<category><![CDATA[guile]]></category>
		<category><![CDATA[nanonote]]></category>
		<category><![CDATA[openwrt]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=191</guid>
		<description><![CDATA[I have been hacking at the OpenWrt Makefile and now have command line history working within the REPL. opkg install http://zedstar.org/guile/libgmp_4.3.1-2_xburst.ipk opkg install http://zedstar.org/guile/libltdl_1.5.26-1_xburst.ipk opkg install http://zedstar.org/guile/guile_1.8.7_xburst.ipk Once installed setup a .guile file: root@BenNanoNote:~# cat /root/.guile (use-modules (ice-9 readline)) (activate-readline) When you run guile now you should be able to use the up and down [...]]]></description>
			<content:encoded><![CDATA[<p>I have been hacking at the OpenWrt <a href="http://zedstar.org/guile/Makefile">Makefile</a> and now have command line history working within the REPL.<br />
<code><br />
opkg install <a href="http://zedstar.org/guile/libgmp_4.3.1-2_xburst.ipk">http://zedstar.org/guile/libgmp_4.3.1-2_xburst.ipk</a><br />
opkg install <a href="http://zedstar.org/guile/libltdl_1.5.26-1_xburst.ipk">http://zedstar.org/guile/libltdl_1.5.26-1_xburst.ipk</a><br />
opkg install <a href="http://zedstar.org/guile/guile_1.8.7_xburst.ipk">http://zedstar.org/guile/guile_1.8.7_xburst.ipk</a></code></p>
<p>Once installed setup a .guile file:<br />
<code><br />
root@BenNanoNote:~# cat /root/.guile<br />
(use-modules (ice-9 readline))<br />
(activate-readline)</code></p>
<p>When you run guile now you should be able to use the up and down cursor keys to go through your command history etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2010/05/02/gnu-guile-on-a-ben-nanonote-with-command-line-history-readline-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A minimal OpenWrt image for the Openmoko Freerunner containing GNU Guile</title>
		<link>http://zedstar.org/blog/2010/05/02/a-minimal-openwrt-image-for-the-openmoko-freerunner-containing-gnu-guile/</link>
		<comments>http://zedstar.org/blog/2010/05/02/a-minimal-openwrt-image-for-the-openmoko-freerunner-containing-gnu-guile/#comments</comments>
		<pubDate>Sun, 02 May 2010 17:10:29 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Handhelds]]></category>
		<category><![CDATA[freerunner]]></category>
		<category><![CDATA[guile]]></category>
		<category><![CDATA[openwrt]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=189</guid>
		<description><![CDATA[To experiment some more with OpenWrt I dusted out a Freerunner and built a minimal image containing GNU Guile. The image is built with glibc and an IP 192.168.254.101 to match my Nanonote settings. ** UPDATE: GNU Guile now has readline support and root image now contains GLib ** Flash the following: http://zedstar.org/freerunner/openwrt-s3c24xx-2.6-uImage http://zedstar.org/freerunner/openwrt-s3c24xx-root.jffs2-128k Boot [...]]]></description>
			<content:encoded><![CDATA[<p>To experiment some more with OpenWrt I dusted out a Freerunner and built a minimal image containing GNU Guile. The image is built with glibc and an IP 192.168.254.101 to match my Nanonote settings.</p>
<p>** UPDATE: GNU Guile now has readline support and root image now contains GLib **</p>
<p>Flash the following:</p>
<p><a href="http://zedstar.org/freerunner/openwrt-s3c24xx-2.6-uImage">http://zedstar.org/freerunner/openwrt-s3c24xx-2.6-uImage</a></p>
<p><a href="http://zedstar.org/freerunner/openwrt-s3c24xx-root.jffs2-128k">http://zedstar.org/freerunner/openwrt-s3c24xx-root.jffs2-128k</a></p>
<p>Boot the device then:<br />
john@thinkpad:~$ telnet 192.168.254.101<br />
Trying 192.168.254.101&#8230;<br />
Connected to 192.168.254.101.<br />
Escape character is &#8216;^]&#8217;.</p>
<p>=== IMPORTANT ============================<br />
Use &#8216;passwd&#8217; to set your login password<br />
this will disable telnet and enable SSH<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</p>
<p>BusyBox v1.16.1 (2010-05-02 14:45:14 BST) built-in shell (ash)<br />
Enter &#8216;help&#8217; for a list of built-in commands.</p>
<p>_______                     ________        __<br />
|       |.&#8212;&#8211;.&#8212;&#8211;.&#8212;&#8211;.|  |  |  |.&#8212;-.|  |_<br />
|   &#8211;   ||  _  |  -__|     ||  |  |  ||   _||   _|<br />
|_______||   __|_____|__|__||________||__|  |____|<br />
|__| W I R E L E S S   F R E E D O M<br />
KAMIKAZE (bleeding edge, r21293) &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
* 10 oz Vodka       Shake well with ice and strain<br />
* 10 oz Triple sec  mixture into 10 shot glasses.<br />
* 10 oz lime juice  Salute!<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
root@OpenWrt:/# uname -a<br />
Linux OpenWrt 2.6.30.10 #1 PREEMPT Sun May 2 14:59:31 BST 2010 armv4tl GNU/Linux<br />
root@OpenWrt:/# guile<br />
guile&gt; (string-tokenize &#8220;hello world&#8221;)<br />
(&#8220;hello&#8221; &#8220;world&#8221;)<br />
guile&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2010/05/02/a-minimal-openwrt-image-for-the-openmoko-freerunner-containing-gnu-guile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A dynamic data encoder for embedded systems</title>
		<link>http://zedstar.org/blog/2010/04/03/a-dynamic-data-encoder-for-embedded-systems/</link>
		<comments>http://zedstar.org/blog/2010/04/03/a-dynamic-data-encoder-for-embedded-systems/#comments</comments>
		<pubDate>Sat, 03 Apr 2010 15:41:26 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[packedobjects]]></category>
		<category><![CDATA[guile]]></category>
		<category><![CDATA[scheme]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=186</guid>
		<description><![CDATA[I personally view Scheme as a good extension language. Something that can be embedded into C code to ease the pain of doing everything in C. I am interested in exploiting this concept on embedded systems where there is a lot of fooling about to make a binary. I still intend to produce binaries and [...]]]></description>
			<content:encoded><![CDATA[<p>I personally view <a href="http://en.wikipedia.org/wiki/Scheme_%28programming_language%29">Scheme</a> as a good extension language. Something that can be embedded into C code to ease the pain of doing everything in C. I am interested in exploiting this concept on embedded systems where there is a lot of fooling about to make a binary. I still intend to produce binaries and reuse the large amount of existing C code out there. However, I want to script the network communication and in particular the structure of the network packets. I have periodically been working on a tool that attempts to support this. This summer I intend to get rid of the old C code in this project and rewrite it entirely in Scheme apart from the low-level encoder/decoder which will remain in C. In this <span style="text-decoration: line-through;"><a href="http://zedstar.org/papers/packedobjects-white-paper.pdf">white paper</a></span> I attempt to describe the work.</p>
<p>**update**</p>
<p>This white paper has now be superseded by the paper &#8220;<a href="http://zedstar.org/papers/everythingcounts.pdf">Everything counts in small amounts</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2010/04/03/a-dynamic-data-encoder-for-embedded-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guile on a Ben NanoNote</title>
		<link>http://zedstar.org/blog/2010/02/25/guile-on-a-ben-nanonote/</link>
		<comments>http://zedstar.org/blog/2010/02/25/guile-on-a-ben-nanonote/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 22:58:36 +0000</pubDate>
		<dc:creator>john</dc:creator>
				<category><![CDATA[Handhelds]]></category>
		<category><![CDATA[guile]]></category>
		<category><![CDATA[nanonote]]></category>

		<guid isPermaLink="false">http://zedstar.org/blog/?p=183</guid>
		<description><![CDATA[Received a Ben NanoNote today. It is a really natty little device with a lot of potential. My standard test on how hackable a device is involves getting Guile running. Anyway, it was pretty easy to accomplish this despite not using openWrt before. root@BenNanoNote:~# root@BenNanoNote:~# guile guile&#62; (map (lambda (x) (+ x 1)) '(1 2 [...]]]></description>
			<content:encoded><![CDATA[<p>Received a <a href="http://sharism.cc/products/ben-nanonote/">Ben NanoNote</a> today. It is a really natty little device with a lot of potential.</p>
<p>My standard test on how hackable a device is involves getting Guile running. Anyway, it was pretty easy to accomplish this despite not using <a href="http://www.openwrt.org/">openWrt</a> before.</p>
<p><code><br />
root@BenNanoNote:~#<br />
root@BenNanoNote:~# guile<br />
guile&gt; (map (lambda (x) (+ x 1)) '(1 2 3 4 5))<br />
(2 3 4 5 6)<br />
guile&gt;<br />
</code></p>
<p>To install get the 3 xburst packages from <a href="http://zedstar.org/guile/">here</a>.</p>
<p>Happy Scheming!</p>
]]></content:encoded>
			<wfw:commentRss>http://zedstar.org/blog/2010/02/25/guile-on-a-ben-nanonote/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

