<?xml version="1.0" encoding="iso-8859-1" ?>
<rss version="2.0" 
   xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" 
   xmlns:html="http://www.w3.org/1999/html" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/">
<channel>
   <title>follower writes words</title>
   <link>http://words.rancidbacon.com</link>
   <description>follower writes words</description>
   <language>en</language>
   <copyright>Copyright 2006-2008</copyright>
   <ttl>60</ttl>
   <pubDate>Wed, 28 Mar 2007 18:10 GMT</pubDate>
   <managingEditor>follower@rancidbacon.com</managingEditor>
   <generator>PyBlosxom http://pyblosxom.sourceforge.net/ 1.3 devel</generator>
<item>
   <title>Flash, ming, Python and ctypes...</title>
   <guid isPermaLink="false">ming-python-and-ctypes-2007-03-29-06-10</guid>
   <link>http://words.rancidbacon.com/ming-python-and-ctypes-2007-03-29-06-10.html</link>
   <description><![CDATA[
<p>
You didn't think I was going to leave you without a dope beat to step to... I mean,  having to use <a href="http://www.libming.net/"><tt>ming</tt></a> from <i>C</i>, did you? Of course not, I wouldn't be so cruel...
</p>
<p>
So, <tt>ming</tt> has a <a href="http://sourceforge.net/project/showfiles.php?group_id=18365&package_id=13925&release_id=393815">Python binding available</a> as a separate download or <a href="http://ming.cvs.sourceforge.net/ming/ming/py_ext/">from CVS</a> but it's based on <a href="http://www.swig.org/">SWIG</a> and not exactly actively maintained (for example no <tt>SWFVideoStream</tt> support). In fact, I did try to bring the SWIG binding up to date but it wasn't even clear what parameters were used to produce it in the first case...
</p>
<p>
Since any potential speed benefit from having a compiled C extension is probably not a major factor for <tt>ming</tt> and because I've had experience with <a href="http://python.net/crew/theller/ctypes/"><tt>ctypes</tt></a> before I decided I'd try using <tt>ctypes</tt> to create a Python binding for <tt>ming</tt>.
</p>
<p>
The cool thing about <tt>ctypes</tt> is that in the simplest cases once you've compiled the target library in the usual way you're ready to go. In addition, it's relatively straightforward to convert a chunk of C to the equivalent Python&mdash;it won't be pretty or Pythonic but will probably be functional.
</p>
<h4>A basic example</h4>
<p>
By way of a simple example based on <a href="http://ming.cvs.sourceforge.net/ming/ming/test/Movie/new/test01.c?revision=1.3&view=markup"><tt>test/Movie/new/test01.c</tt></a>: (Note: Change library name as appropriate.)
<blockquote><pre>
#!/usr/bin/python
#
# Requires `libming.0.4.0.dylib` in the current directory
# or in the search path.
#
from ctypes import *

libming = cdll.load("libming.0.4.0.dylib")

if __name__ == "__main__":
    
    if libming.Ming_init() != 0:
        raise Exception("Ming_init failed.");
    
    movie = libming.newSWFMovie();
    
    bytesout = libming.SWFMovie_save(movie, "test01.swf");

    print "Bytes written:", bytesout            
</pre></blockquote>
The result will be a valid, but boring <tt>.swf</tt> file.
</p>
<h4>More complicated stuff</h4>
<p>
Once we get much deeper into <tt>ming</tt> usage we start needing to do things like casting values and it gets somewhat unpleasant. Fortunately, there's a way of making that easier too&mdash;my intention is to return to that topic in a later post.
</p>
]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Wed, 28 Mar 2007 18:10 GMT</pubDate>
</item>
<item>
   <title>Compile ming Flash generation library on OS X (ming 0.4.0 beta 4)</title>
   <guid isPermaLink="false">compile-ming-0.4.0-beta-4-on-os-x-2007-03-29-05-35</guid>
   <link>http://words.rancidbacon.com/compile-ming-0.4.0-beta-4-on-os-x-2007-03-29-05-35.html</link>
   <description><![CDATA[
<p>
<a href="http://www.libming.net/"><tt>libming</tt></a> is "a library for generating Macromedia Flash files (.swf), written in C". As of the current beta (0.4.0.beta4) it does not compile out of the box for me (OS X 10.4 PPC) so I thought I'd write up what worked for me.
</p>
<p>
For future reference, when trying to compile out of the box the following error occurs when trying to generate <tt>libming.0.4.0.dylib</tt>:
<blockquote><pre>
ld: Undefined symbols:
_yylex
/usr/bin/libtool: internal link edit command failed
</pre></blockquote>
The problem seems to occur when linking against <tt>libfl</tt>, I'm not entirely clear why it happens but if you remove the library from the link process the problem "goes away"&mdash;seemingly with no ill effects&mdash;the small patch below implements this work around.
</p>
<h4>How to compile</h4>
<p>
It seems I had the necessary dependencies (such as libpng) already installed but if you don't you might want to follow the existing <a href="http://www.libming.net/moin.cgi/Mac_OS_X_Installation">ming OS X installation instructions</a> for that.
</p>
<p>
Okay, here's what you need to do:
<blockquote><pre>
wget http://dl.sourceforge.net/sourceforge/ming/ming-0.4.0.beta4.tar.bz2
tar xjvf ming-0.4.0.beta4.tar.bz2
cd ming-0.4.0.beta4
</pre></blockquote>
Now we need to apply our <a href="/static/osx_ming_0.4.0.b4.patch">patch <tt>osx_ming_0.4.0.b4.patch</tt></a> to workaround the error:
<blockquote><pre>
wget http://words.rancidbacon.com/static/osx_ming_0.4.0.b4.patch
patch < osx_ming_0.4.0.b4.patch
</pre></blockquote>
Then continue:
<blockquote><pre>
./configure
</pre></blockquote>
We then need to work around a permissions isssue:
<blockquote><pre>
chmod u+x config/install-sh
</pre></blockquote>
Finally, we get on with:
<blockquote><pre>
make
</pre></blockquote>
And that should be it...
</p>
<p>
You can install the library now or run a quick test:
<blockquote><pre>
cd test/Movie/new/
make test01
./test01
../../../util/listswf test01.swf | diff -u test01.ref -
</pre></blockquote>
The last command should result in no output&mdash;if there are any differences things didn't go as planned...
</p>
<p>
Hopefully things did go as planned however and you can now start playing with ming on OS X...
</p>
<h4>The future</h4>
<p>
I've been working with the ming people on <tt>#gnash</tt> and hopefully the fixes will be included before the next release. It appears this can be applied to the version in CVS to fix the flex library issue in the proper place:
<blockquote><pre>
--- configure.in~       2007-02-22 07:32:11.000000000 +1300
+++ configure.in        2007-03-29 04:33:23.000000000 +1200
@@ -198,7 +198,6 @@
 dnl --------------------------------------------
 
 AC_PROG_YACC
-AM_PROG_LEX
 AC_PROG_LIBTOOL
 if test x"$LIBTOOL" = x; then
        AC_MSG_ERROR([could not detect libtool, bailing out])
</pre></blockquote>
</p>



]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Wed, 28 Mar 2007 17:35 GMT</pubDate>
</item>
<item>
   <title>SpyderMonkey // twiddle your Javascript from Python</title>
   <guid isPermaLink="false">spydermonkey-python-and-javascript-2007-03-26-04-55</guid>
   <link>http://words.rancidbacon.com/spydermonkey-python-and-javascript-2007-03-26-04-55.html</link>
   <description><![CDATA[
<p>
I should prefix this post with the proviso <i>there is no code online yet</i>&mdash;yes, I know that sucks but given a choice between (finally) posting about this now or waiting until I have the code online I figured the former was better.
</p>
<p>
Here is the abstract about the project I submitted to linux.conf.au last year:
<blockquote>
<b>SpyderMonkey : twiddle your Javascript (or someone else's!) 
from Python</b>
<br /><br />

SpyderMonkey (http://code.rancidbacon.com/spydermonkey/) aims to let
you twiddle with your Javascript (or someone else's!) from Python.
<br /><br />

While at least one unmaintained Python wrapper for JavaScript exists
(http://wwwsearch.sourceforge.net/python-spidermonkey/) SpyderMonkey
differs in its implementation by using ctypes
(http://docs.python.org/dev/lib/module-ctypes.html) to wrap the
underlying Mozilla spidermonkey JavaScript implementation
(http://www.mozilla.org/js/spidermonkey/). SpyderMonkey is also the
only implementation I am aware of that also wraps the parser and not
just the interpreter--this is key to its use in static JavaScript code
analysis.
<br /><br />

The primary motivation for wrapping the JavaScript parser was to
enable further development of JavaScript reverse-engineering and code
analysis tools.
<br /><br />

During my previous efforts of reverse engineering of JavaScript "Rich
Internet Applications" like GMail, Google Maps and similar products I
developed a number of scripts based on regular expression parsing
"pretty-printed" versions of the obfuscated/compressed source
code. While simplistic, these scripts were able to generate Class and
Function references listing arguments and the locations where they
were used (http://libgmail.sourceforge.net/googlemaps/maps.js.html).
<br /><br />

Eventually regex based parsing runs into a wall and this drives the
use of an actual parser. JavaScript has a quite complex grammar and in
my research I was unable to find a functioning pure-Python JavaScript
parser.
<br /><br />

This presentation will look at the development of the GPL SpyderMonkey
wrapper and some of the issues involved in its construction. In
addition we will look at some actual and potential applications that
an easier Python-friendly interface allows us to construct in order to
assist efforts in areas of debugging, reverse engineering,
inter-operability, maintenance and source recovery.
<br /><br />

With most RIA JS applications using compression or obfuscation and
environments like Google's Web Toolkit AJAX framework for Java
(http://code.google.com/webtoolkit/) (or Python's PyJamas
http://pyjamas.pyworks.org/) producing JavaScript without direct human
involvement there is a growing need for tools to analyse this
generated-code. Attend this session and learn what approaches can work
for you now and how SpyderMonkey may help you create new tools for the
future. (In preparation for the perhaps inevitable "Ummmm, I thought
*you* had the original source code..." realisation.)
</blockquote>
</p>
<p>
So, yeah, anyway, the proposal didn't get accepted and so the code's still sitting on my harddrive... The <a href="http://code.rancidbacon.com/spydermonkey/">SpyderMonkey</a> page does have a cool logo on it though&mdash;that's got to count for something, surely? :-)
</p>
<p>
As mentioned in the abstract I was attempting to wrap the <a href="http://wiki.mozilla.org/JavaScript:SpiderMonkey:Parser_API">SpiderMonkey Parser API</a> except it didn't/doesn't really have an official one so I had to make it up as I went along. I wrapped enough of the <tt>spidermonkey</tt> library with <a href="http://python.net/crew/theller/ctypes/"><tt>ctypes</tt></a> that I was able to detect items such as functions and variable declarations. This was implemented by way of processing the tree produced by calling <tt>js_ParseTokenStream</tt>.
</p>
<p>
I would like to Tidy-Up-The-Code-Enough-To-Release (TM)&mdash;don't you hate it when people write that&mdash;but a release ain't going to happen tonight. Sorry!
</p>
<p>Oh, but I will leave you with a link to the post with instructions on how to <a href="http://groups.google.com/group/mozilla.dev.tech.js-engine/msg/1aac0dc472207b00">compile the spidermonkey JavaScript library for Mac OS X</a>.</p>
]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Sun, 25 Mar 2007 16:55 GMT</pubDate>
</item>
<item>
   <title>Browser tab grab bag #4</title>
   <guid isPermaLink="false">browser-tab-grab-bag-four-2007-03-26-04-40</guid>
   <link>http://words.rancidbacon.com/browser-tab-grab-bag-four-2007-03-26-04-40.html</link>
   <description><![CDATA[
<p>
A few more random tab closings...
<p>
<h4>Planet NZTech feed links</h4>
<p>
While I think of it, I also just added the <a href="http://planet.nztech.org/rss20.xml">Planet NZTech RSS 2.0</a> and <a href="http://planet.nztech.org/atom.xml">Planet NZTech Atom</a> feeds to the page header so it should be more discoverable.
</p>
<h4>Christchurch needs "co-working facilities"</h4>
<p>
One of the biggest negatives about being self-employed and working from home is the social isolation that often goes along with it&mdash;a complaint I have had re-enforced by my contact with other home-based self-employed people. A possible solution is to have a shared office with other self-employed people. The downside to this is there is a big jump from working from home to working somewhere where you need to pay a weekly office rental with a medium- to long-term commitment. An alternative approach is to make use of "co-working facilities".
</p>
<p>
A co-working facility provides office space (or desk space) on a more casual basis than a traditional office rental arrangement. The "tenants" may be a mixture of "foundation" and "casual" where the former receive a better daily rate in exchange for an agreed term commitment. 
</p>
<p>
Here are a few related links describing various implementations of this idea:
<ul>
<li><a href="http://www.boingboing.net/2007/02/27/coworking_facilities.html">Boing Boing post</a></li>
<li><a href="http://www.businessweek.com/smallbiz/content/feb2007/sb20070226_761145.htm">BusinessWeek article</a></li>
<li><a href="http://wiki.coworking.info/">Coworking Wiki</a></li>
<li><a href="http://hatfactory.net/">Hatfactory in San Francisco</a></li>
<li><a href="http://www.pobronson.com/index_the_grotto.htm">Writer's Grotto in San Francisco</a></li>
</ul>
</p>
<p>
I would really like to see a coworking facility develop in Christchurch. In fact, I would like to see <i>multiple</i> facilities develop in Christchurch. Ideally I think a city like this should support multiple suburb-based coworking facilities: I don't want to trade a no-commute lifestyle for a long commute to an office!
</p>
<p>
At present I wouldn't be in a position to bankroll such a project but I do wonder if existing organisations or individuals would be in a position to support a development like this through financial support or provision of currently under-utilised space. Perhaps one or more of these:
<ul>
<li>Christchurch City Council</li>
<li>Canterbury Innovation Incubator</li>
<li>University of Canterbury</li>
<li>Canterbury Development Corporation</li>
<li>Christchurch City Libraries</li>
<li>Successful local businesses</li>
</ul>
</p>
<p>
Speaking for myself simply having a space with internet access and power would be great. Any offers? :-)
</p>
<h4>Tracking code with Google Code Search</h4>
<p>
When <a href="http://www.google.com/codesearch">Google Code Search</a> was released I decided to track down a little watermark I put in something I did a while back.
</p>
<p>
In the early days of Google Maps when I had developed an approach for displaying a map in a non-Google page I put up some example JavaScript. Because JavaScript tends to be a very "cut and paste" language I thought I'd put in a unique identifier to see where the code snippet ended up. So, in a couple of places I attached the suffix <tt>_frb</tt> to variable names. When I searched for <a href="http://www.google.com/codesearch?q=container_frb"><tt>container_frb</tt></a> it delivered two results&mdash;one which seems to acknowledge the source and one which doesn't.
</p>
<p>
<i>I think the next item will get its own post...</i>
</p>
]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Sun, 25 Mar 2007 16:40 GMT</pubDate>
</item>
<item>
   <title>Browser tab grab bag #3</title>
   <guid isPermaLink="false">browser-tab-grab-bag-three-2007-03-24-21-45</guid>
   <link>http://words.rancidbacon.com/browser-tab-grab-bag-three-2007-03-24-21-45.html</link>
   <description><![CDATA[
<p>
In an attempt to clear out the tab bar in Firefox and other browers, here's a bit of a link dump:
</p>
<h4>48 Hours Filmmaking Competition</h4>
<p>
I was part of the team that produced the fairytale short "<a href="http://www.youtube.com/watch?v=twXFj6oeqvc">The Last Wingnut</a>" for the <a href="http://48hours.co.nz/">2006 New Zealand 48 Hours Film competition</a>:
<blockquote>
<object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/twXFj6oeqvc"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/twXFj6oeqvc" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
</blockquote>
Most of my contribution was behind the scenes as general dogsbody with some script ideas also. I did get a walk-on one-liner though and produced the wonderful credits at the end&mdash;I wonder if that's enough to get an entry in <a href="http://imdb.com/">IMDB</a>? :-) The competition was a fun weekend and I mostly enjoyed the experience&mdash;I'm contemplating finding a team to be part of this year.
</p>
<p>
The director's cut linked above&mdash;slightly modified from the submitted version&mdash;is from the middle of last year which gives you some idea of how long some of these tabs have been open... It appears the movie made it onto the DVD(s) and an online <a href="http://www.faithstudios.co.nz/movies/WingnutDcut.wmv">high resolution version</a> is also available.
</p>
<p>
For those of you reading this on <a href="http://planet.nztech.org/">Planet NZTech</a> see if you can spot the (at the time) topical NZ net tech reference. (As it happens, ours wasn't the only film to make the reference..)
</p>
<p>
Oh, and if you're interested in seeing what I thought was the best film of the competition (even though it didn't win) check out the masterpiece that is <a href="http://www.outwits.co.nz/video/puppeton/index.php">Puppeton</a>&mdash;it's classic&mdash;may feature some offensive content.
</p>
<h4>Did I really say that?</h4>
<p>
An IM conversation with <a href="http://radar.oreilly.com/nat/">Nat Torkington</a> before Christmas ended up adding a couple of items to <a href="http://www.makezine.com/blog/archive/2006/11/the_open_source_1.html">O'Reilly's Open Source Gift Guide</a>: <a href="http://www.linuxdevices.com/news/NS2986976174.html">OpenMoko phones</a> and <a href="http://gumstix.com/store/catalog/product_info.php?products_id=146">Gumstix</a>. Apparently being "the first to break Google Maps API before they had a public API" can still be used as justification for adding my suggestions to a list. :-)
</p>
<p>
Unfortunately I received neither suggestion for an actual Christmas present but funnily enough I did end up getting to "make a Nokia 770 bluetooth-controlled model car" at <a href="http://baacamp.org">Kiwi Foo Camp</a>. (A topic which I fully intend to return to but at this rate it'll probably be mid-year before I do so...) As it happens, the <a href="http://www.arduino.cc/">Arduino</a> system I used in the Bluetooth car hack actually featured on the gift list as well&mdash;before I knew about such things.
</p>
<h4>Planet NZTech banner</h4>
<p>
Before the recent redesign I had been looking at making a <i>pretty</i> header for the <a href="http://planet.nztech.org/">Planet NZTech</a> page but before long was reminded why I left the design biz... Purely for my own future reference here's links to the two images I was thinking of basing it on: <a href="http://flickr.com/photos/happykamping/157300034/">waterfall</a> and <a href="http://flickr.com/photos/raeallen/129991255/">PCB</a>. (Of course, if a <i>real</i> designer felt like providing one thus saving me the trouble that'd be good too...)
</p>
<p>
Have also just added another dozen or so blogs to the feed&mdash;up to around 140 people now.
</p>
<h4>Sure plays a mean pinball...</h4>
<p>
By the way, if you're ever looking for a gift at the last minute and can't find me something here's a possibility: :-)
<blockquote>
<a href="http://www.ipdb.org/showpic.pl?id=588&picno=5249"><img border=0 src="/media/creature_jeff_ball_edit.jpg"></a>
</blockquote>
Yep, I probably wouldn't turn down a <a href="http://www.ipdb.org/machine.cgi?id=588">Creature from the Black Lagoon</a> pinball machine&mdash;it's always been my favourite. "The snackbar is now open..." Apparently there were 7,841 units made and it would appear <a href="http://www.thepaisleys.com/PaisleyPinball/creature.htm">at least two are in New Zealand</a>.
</p>
<p>
<i>I'll leave the last few items for another post...</i>
</p>



]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Sat, 24 Mar 2007 09:45 GMT</pubDate>
</item>
<item>
   <title>Link dump</title>
   <guid isPermaLink="false">links-2007-03-18-22-55</guid>
   <link>http://words.rancidbacon.com/links-2007-03-18-22-55.html</link>
   <description><![CDATA[
<p>
<ul>
<li><a href="http://cobweb.ecn.purdue.edu/~kak/dist/BitVector-1.3.html">BitVector</a> &mdash; Python class to handle bits (<a href="http://hachoir.org/wiki/Links">via</a>)</li>
<li><a href="http://construct.wikispaces.com/">Construct</a> &mdash; "(Python binary) Parsing made Fun" (<a href="http://hachoir.org/wiki/Links">via</a>)</li>
</ul>
</p>
<h4>Broked Apples</h4>
<p>
Time to dig out the AppleCare again&mdash;the lower RAM-slot issue's back again. (And the power cord... And the accelerometer&mdash;well, that's new...)
</p>
<p>
<i>Oh, and browsers that don't preserve open windows/tabs thru power failures and crashes suck. Happy, happy.</i>
</p>

]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Sun, 18 Mar 2007 10:55 GMT</pubDate>
</item>
<item>
   <title>Attending MIT</title>
   <guid isPermaLink="false">attending-mit-20070308-02-55</guid>
   <link>http://words.rancidbacon.com/attending-mit-20070308-02-55.html</link>
   <description><![CDATA[
<p>
Today was my first day of attending classes at <a href="http://mit.edu/">MIT</a>... Ok, so not <i>really</i>. It is however probably as close as I'll ever get to attending unfortunately&mdash;although I did manage to visit the campus a couple of times during my trip to Cambridge last year.
</p>
<p>
On to the <i>actual</i> story...
</p>
<p>
While I've been aware of <a href="http://ocw.mit.edu/">MIT's Open CourseWare initiative</a> for some time I have not looked too deeply into what they have on offer. I can't remember how I ended up there today but while on the site I thought I'd have a look at what courses are available under the banner of <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/">Electrical Engineering and Computer Science</a>. There are many papers available on the web site but there does seem to be a wide range in terms of the quality and depth of the materials online. In terms of the papers I was interested in, only <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-002Circuits-and-ElectronicsFall2000/CourseHome/">6.002 Circuits and Electronics, Fall 2000</a> seems to feature lecture videos and comprehensive notes.
</p>
<p>
For much of my life I have had an interest in electronics but I've also felt I've never had a strong grounding in the basics. None of the material (books, web sites) I've looked at lately have particularly grabbed me so I wondered if watching some lecture videos might help&mdash;I know, what kind of geek am I? Oh, wait, one of the geeky kind I guess. :-)
</p>
<p>
I've just finished watching the first of twenty-five lectures&mdash;this one entitled <a href="http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-002Circuits-and-ElectronicsFall2000/VideoLectures/">"Introduction and Lumped Circuit Abstraction"</a> presented by <A href="http://www.csail.mit.edu/biographies/PI/bioprint.php?PeopleID=161">Professor Anant Agarwal</a> (direct <a href="http://mfile.akamai.com/7870/rm/mitstorage.download.akamai.com/7870/6/6.002/f03/videolectures/mit-6.002-lec-mit-10250-04sep2003-0000-220k.rm">video</a> and <a href="http://ocw.mit.edu/NR/rdonlyres/Electrical-Engineering-and-Computer-Science/6-002Circuits-and-ElectronicsFall2000/19780966-B793-45C3-86BD-425511A83182/0/6002L1.pdf">notes</a> links). The lecture video was enjoyable, reasonable quality and the content was laugh-out-loud funny in places&mdash;yes, really:
<ul>
<li>"I could do this all day, it's so much fun." (While waving a hair-dryer over a thermistor.) ~32m40s</li>
<li>"If I really believe in my own BS anything's a lumped element&mdash;so here's a pickle." (This demo is kinda cute.) ~36m52s </li>
<blockquote style="text-align: center;">
<img border=0 src="/media/MIT_pickle.png"><br />
<i style="font-size: smaller;">A real live MIT pickle</i>
</blockquote>
</ul>
</p>
<p>
The text for the course <a href="http://www.whitcoulls.co.nz/featuredbook1.asp?StoreURL=whitcoulls&bookid=1558607358">"Foundations of Analog and Digital Electronic Circuits" seems to be available in New Zealand for $135.00</a>.
</p>
<p>
I'd probably prefer a non-RealVideo video source but overall this first experience has been pretty good&mdash;time will tell if I make the time to view the rest of the lectures. When you think about the content MIT has put online even in its current basic form it's really quite impressive&mdash;makes me wonder what I'd have done with it in my high school years.
</p>
<p>
This internet thing may yet amount to something...
</p>







]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Wed, 07 Mar 2007 15:55 GMT</pubDate>
</item>
<item>
   <title>travisbsd.org rules</title>
   <guid isPermaLink="false">travisbsd-rules-2007-03-07-06-10</guid>
   <link>http://words.rancidbacon.com/travisbsd-rules-2007-03-07-06-10.html</link>
   <description><![CDATA[
<p>
My various sites are all hosted by <a href="http://travisbsd.org/">TravisBSD</a> run by the impressive Travis. Not only are they hosted by him but he does so <i>gratis</i> as a "service to the community"&mdash;which I certainly appreciate.
</p>
<p>
As an example of his service Travis has just spent about an hour and a half on IRC sorting out some issues that have cropped up along the way recently. And this in a week when he's got three college mid-terms on the one day! So, if you ever have Travis approaching you about employment or investment in the future I strongly advise you pay him some attention.
</p>
<p>
Thanks to Travis' work the following changes have occurred:
</p>
<h4>No more Planet "Asshat"</h4>
<p>
Readers of <a href="http://planet.nztech.org/">Planet NZTech</a> may have noticed the appearance of what some have called the <a href="http://craig.dubculture.co.nz/blog/2006/06/18/asshat-space/">"Asshat space"</a> or similar entities. The more cultured may prefer the term "extraneous accented A-with-circumflex character". Whatever one calls it, the result is a rather ugly Planet page with "&Acirc;" characters sprinkled throughout certain bloggers' posts.
</p>
<p>
A clue to the cause and the solution can be found in <a href="http://lists.planetplanet.org/archives/devel/2005-September/000545.html">this Planet developer list post</a> and I'll leave you to read the gory details there if you're interested.
</p>
<p>
In summary though, before the fix we would see:
<blockquote><pre>
 $ wget -S planet.nztech.org
  ...
 5 Content-Type: text/html; charset=ISO-8859-1
  ...
</pre></blockquote>
but put this fix in the Apache VHOST configuration:
<blockquote><pre>
AddDefaultCharset UTF-8
</pre></blockquote>
and we see:
<blockquote><pre>
 $ wget -S planet.nztech.org
  ...
 5 Content-Type: text/html; charset=UTF-8
  ...
</pre></blockquote>
There are probably other variations that would achieve the same result but that's the fix we've used.
</p>
<p>
So between this fix and <a href="http://words.rancidbacon.com/planet_nztech_update_20070216.html">other recent changes</a> Planet NZTech should be looking much more tidy.
</p>
<h4>Now appearing on Advogato.org!</h4>
<p>
So, <a href="http://words.rancidbacon.com/advogato-rip-2006-09-09-05-05.html">reports of Advogato's death were much exaggerated</a> and it's had new life breathed into it&mdash;including the ability to syndicate existing RSS/Atom feeds from other sources. Unfortunately it did not seem to be able to successfully retrieve the feed for this blog.
</p>
<p>
Thanks to <a href="http://advogato.org/person/StevenRainwater/">Steve Rainwater</a> I discovered Advogato's feed reader was getting a 406 response&mdash;possibly because of an empty or non-existing <code>User-Agent</code> header causing <code>mod_security</code> to complain. After Travis spent time "fixing" the issue I discovered from the access logs that a few days ago the feed-reader started having success anyway so it seems the issue has been fixed twice. The end result is this post should now turn up in the <a href="http://advogato.org/recentlog.html?thresh=3">Advogato recentlog</a>. Yay! Thanks Steve and Travis. :-)
</p>
<h4>Various rancidbacon.com (sub)domains return</h4>
<p>
Various DNS and Apache config fixes have now also caused the following to return:
<ul>
<li><a href="http://rancidbacon.com/">rancidbacon.com</a></li>
<li><a href="http://www.rancidbacon.com/">www.rancidbacon.com</a></li>
<li><a href="http://stuff.rancidbacon.com/">stuff.rancidbacon.com</a></li>
</ul>
It should be noted just because they have returned doesn't mean they have any quality content on them. :-)
</p>
<h4>Future work</h4>
<p>
There's still a few mostly behind-the-scenes items on the "nice to have" list but Mr Travis has to study sometime so the above fixes are enough for today. Thanks again Travis.
</p>











]]></description>
   <category domain="http://words.rancidbacon.com"></category>
   <pubDate>Tue, 06 Mar 2007 17:10 GMT</pubDate>
</item>
</channel>
</rss>
