<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Bluish Coder: misc</title>
 <link href="http://bluishcoder.co.nz/tag/misc/atom.xml" rel="self"/>
 <link href="http://bluishcoder.co.nz/"/>
 <updated>2020-07-10T16:25:05+12:00</updated>
 <id>http://bluishcoder.co.nz/</id>
 <author>
   <name>Bluishcoder</name>
   <email>admin@bluishcoder.co.nz</email>
 </author>

 
 <entry>
   <title>Parts of this site temporarily down</title>
   <link href="http://bluishcoder.co.nz/2013/04/03/parts-of-this-site-temporarily-down.html"/>
   <updated>2013-04-03T14:00:00+13:00</updated>
   <id>http://bluishcoder.co.nz/2013/04/03/parts-of-this-site-temporarily-down</id>
   <content type="html">&lt;p&gt;Unfortunately the server running this site had a hard drive issue which resulted in a number of corrupt files. You&#39;ll probably notice that some links to here result in a &#39;404&#39; error due to them being not found. I&#39;m slowly recovering the lost data and hope to have the files restored as soon as I can.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Dealing with my archived Blogger posts</title>
   <link href="http://bluishcoder.co.nz/2010/02/14/dealing-with-archived-blogger-posts.html"/>
   <updated>2010-02-14T16:54:00+13:00</updated>
   <id>http://bluishcoder.co.nz/2010/02/14/dealing-with-archived-blogger-posts</id>
   <content type="html">&lt;p&gt;I&#39;ve &lt;a href=&quot;http://bluishcoder.co.nz/2010/02/13/moving-away-from-blogger.html&quot;&gt;stopped using Blogger&lt;/a&gt; for the weblog and have moved to using &lt;a href=&quot;http://github.com/mojombo/jekyll&quot;&gt;Jekyll&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I&#39;ve set things up so I can edit the posts on my local push, push to my server using &lt;a href=&quot;http://git-scm.com/&quot;&gt;git&lt;/a&gt; and it publishes the new post.&lt;/p&gt;

&lt;p&gt;Blogger provides a way to export all existing posts and comments as an XML file. I used this to manually import a few posts to test out Jekyll but then decided this was way to much work to convert everything. Instead I opted to create posts that link to my original Blogger ones so at least the archives and tags list in Jekyll will allow listing the posts and titles.&lt;/p&gt;

&lt;p&gt;To import the existing archived blogger posts I wrote a program to read from the Blogger export file, extract the title, post tags/categories and existing URL and create Jekyll equivalents. It seems to have worked ok and I&#39;ll manually fix up any problems if I find them.&lt;/p&gt;

&lt;p&gt;I wrote the importer in the &lt;a href=&quot;http://code.google.com/p/pure-lang/&quot;&gt;Pure Programming Language&lt;/a&gt; to have a play with that language. I dabbled with it when it first came out but this was my first time using it in anger. It worked out pretty well. The core of the code to write out the posts looks like:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;write_tag_header fd [] = ();
write_tag_header fd (x:xs) = fprintf fd &quot;tags:\n&quot; ();

write_tags fd (x:xs) = fprintf fd &quot;  - %s\n&quot; x $$ 
                       write_tags_fd xs;
write_tags fd [] = ();

create_post post = fprintf fd &quot;---\n&quot; () $$
                   fprintf fd &quot;layout: post\n&quot; () $$
                   fprintf fd &quot;title: %s\n&quot; title $$
                   write_tag_header fd tags $$
                   write_tags fd tags $$
                   fprintf fd &quot;---\n&quot; () $$
                   fprintf fd &quot;Original Post [%s](%s)\n&quot; (title,href) $$
                   fclose fd
                   when
                       filename = post_filename post;
                       fd = fopen filename &quot;w&quot;;
                       title = article_title post;
                       href = article_url post;
                       tags = article_tags post;
                  end;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Basically I used the Pure XML library to get a list of posts (I use an XPATH expression to get the relevant parts of the post from the Blogger XML). For each post I then call create_post on it:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;map create_post all_posts
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I didn&#39;t go crazy and convert the actual HTML content into the &lt;a href=&quot;http://daringfireball.net/projects/markdown/&quot;&gt;markdown&lt;/a&gt; format I&#39;m using fo the Jekyll posts and convert everything completely - maybe a task for another day.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>SuperHappyDevHouse Aotearoa</title>
   <link href="http://bluishcoder.co.nz/2007/07/07/superhappydevhouse-aotearoa.html"/>
   <updated>2007-07-07T12:26:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2007/07/07/superhappydevhouse-aotearoa</id>
   <content type="html">&lt;p&gt;I&#39;m at the &lt;a href=&quot;http://superhappydevhouse.org.nz/&quot;&gt;SuperHappyDevHouse Aotearoa hackathon&lt;/a&gt; in Wellington at &lt;a href=&quot;http://thecross.co.nz/&quot;&gt;The Cross&lt;/a&gt;. Free food, free coffee, lots of people and lots of hacking going on. Hopefully by the end of today I&#39;ll have the video tag implementation a bit further along.&lt;/p&gt;

&lt;p&gt;There&#39;s a Flickr stream of photo&#39;s under the tag &lt;a href=&quot;http://www.flickr.com/search/?q=shdhnz&amp;amp;m=text&quot;&gt;shdhnz&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Unenterprisey languages going strong</title>
   <link href="http://bluishcoder.co.nz/2006/06/19/unenterprisey-languages-going-strong.html"/>
   <updated>2006-06-19T13:12:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/06/19/unenterprisey-languages-going-strong</id>
   <content type="html">&lt;p&gt;The &lt;a href=&quot;http://bluishcoder.co.nz/2006/06/unenterprisey-languages-meeting.html&quot;&gt;Unenterprisey Languages Meeting&lt;/a&gt; held in Wellington yesterday went very well. The turnout was good with about 16 people there and the talks by Jonathan, Robert and Geoff were great. It&#39;s good to see and hear about languages like &lt;a href=&quot;http://www.iolanguage.com/&quot;&gt;Io&lt;/a&gt;, &lt;a href=&quot;http://www.lisp.org/alu/home&quot;&gt;Common Lisp&lt;/a&gt; and &lt;a href=&quot;http://www.erlang.org/&quot;&gt;Erlang&lt;/a&gt; being used.&lt;/p&gt;

&lt;p&gt;Jonathan talked about Io&#39;s prototype based OO system and how inheritance works in it. He went through an overview of Io itself, how the inheritance works, and how he used ideas gained from Io in a project he worked on recently. His project used a domain specific language he developed that used the inheritance ideas of Io to help manage the project. It looked pretty cool.&lt;/p&gt;

&lt;p&gt;Geoff talked about Erlang, going through its history, syntax, reliability, and concurrency system. It was good to see him talk about the OTP system as I wasn&#39;t very familiar with that and his demo showed sending messages across processes with dynamic failover of nodes. When the primary node went down the secondary node took over. When it came back up again it again took over. Very neat!&lt;/p&gt;

&lt;p&gt;Robert Strandh talked about &lt;a href=&quot;http://common-lisp.net/project/gsharp/&quot;&gt;GSharp&lt;/a&gt;, his musical score editor written in Common Lisp. It uses CLIM for the GUI and looks very nice. The focus of the talk was how he embedded a domain specific language into GSharp to handle fonts better. Specifically the language was modelled after MetaFont, but embedded as a DSL in Common Lisp as a macro. This would then get compiled as PostScript bezier paths. The macro itself was a nice example of intentional variable capture (ie. It was intentionally a non-hygienic macro) which was something I&#39;d not seen in a &#39;real world&#39; usage before.&lt;/p&gt;

&lt;p&gt;Robert also showed another CLIM application he wrote to preview the fonts from the DSL. In 172 lines of Common Lisp code it had an impressive amount of functionality. CLIM looks to be a very powerful framework.&lt;/p&gt;

&lt;p&gt;My talk was about Javascript. But Javascript used slightly differently than normal. I gave a brief overview of Javascript and its prototype based OO system. I then talked about using Javascript on the server as well as the client, and about the possibilities of having the same code run on both the server and client for things like field validation. This way one copy of the code can validate input fields in client side Javascript and when posted to the server the same code can also check that the server side POST was valid.&lt;/p&gt;

&lt;p&gt;To demonstrate running the same code on the client and server I used &lt;a href=&quot;http://goessner.net/articles/wiky/&quot;&gt;Wiky&lt;/a&gt;, a nifty Javascript bidirectional markup converter. I showed the &lt;a href=&quot;http://goessner.net/articles/wiky/WikyBox.html&quot;&gt;Wikybox&lt;/a&gt; running on the client, and demonstrated loading the exact same Javascript in Rhino and doing the same conversions on the server. The idea being you can have the markup converted to HTML for a preview on the client, send the markup to the server when saving, and use the same code on the server to store the HTML.&lt;/p&gt;

&lt;p&gt;From there I demonstrated using &lt;a href=&quot;http://bluishcoder.co.nz/2006/05/server-side-javascript.html&quot;&gt;Server Side Javascript&lt;/a&gt; to dynamically modify a running web server, adding servlets on the fly in Javascript.&lt;/p&gt;

&lt;p&gt;I went on to talking about continuations and Javascript. For client side continuations I showed some &lt;a href=&quot;http://neilmix.com/narrativejs/doc/index.html&quot;&gt;Narrative Javascript&lt;/a&gt; examples and went through the &lt;a href=&quot;http://bluishcoder.co.nz/2006/06/lightweight-threads-with-narrative.html&quot;&gt;lightweight threading&lt;/a&gt; and &lt;a href=&quot;http://bluishcoder.co.nz/2006/06/more-concurrency-in-narrative.html&quot;&gt;process communication&lt;/a&gt; examples I posted about previously.&lt;/p&gt;

&lt;p&gt;Finally I finished with server side continuations in Javascript showing the &lt;a href=&quot;http://bluishcoder.co.nz/2006/06/migrating-javascript-threads.html&quot;&gt;thread migration example&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;After the talks we all went out for a great meal at a local restaurant and ate, drank, and talked for most of the night.&lt;/p&gt;

&lt;p&gt;Overall I&#39;d say the alternative language interest and usage in New Zealand is definitely looking good. Thanks to everyone who attended and those that organised it - very worthwhile!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Back in Wellington</title>
   <link href="http://bluishcoder.co.nz/2006/05/24/back-in-wellington.html"/>
   <updated>2006-05-24T17:20:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/05/24/back-in-wellington</id>
   <content type="html">&lt;p&gt;I arrived back in Wellington this morning. Melbourne&#39;s weather was just taking a turn for the worse so it looked like a good time to leave. That and I&#39;d managed to complete enough of the project I was working on not to be there full time. Wellington&#39;s weather is not looking much better though! Hopefully I can now churn through some of the projects I&#39;d parked while away.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Melbourne Bound</title>
   <link href="http://bluishcoder.co.nz/2006/05/12/melbourne-bound.html"/>
   <updated>2006-05-12T18:20:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/05/12/melbourne-bound</id>
   <content type="html">&lt;p&gt;The Ajax Experience conference has been very interesting so far. Lots of great talks and technologies. I&#39;ll post more on that later when I get some free moments.&lt;/p&gt;

&lt;p&gt;The plan after that was for me to fly back to NZ on Saturday night, arriving in Auckland on Monday morning, then from there back to Wellington.&lt;/p&gt;

&lt;p&gt;Unfortunately I now need to go to Melbourne for work reasons so I get to arrive in Auckland after a 12 hour flight, hop on a 3 hour flight to Melbourne almost straight away, arriving there Monday morning and jumping straight into work. After 15 hours of flying I&#39;m not sure how productive I&#39;m going to be! Hopefully I&#39;ll only be there for a week at most and I can finally get home and play around with some of the new technologies I&#39;ve been hearing about at the conference. And finish off some of my own projects.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>San Francisco Bound</title>
   <link href="http://bluishcoder.co.nz/2006/05/07/san-francisco-bound.html"/>
   <updated>2006-05-07T01:32:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/05/07/san-francisco-bound</id>
   <content type="html">&lt;p&gt;I&#39;m flying out to San Francisco tomorrow to stay a week. I arrive on the 7th of May and leave on the 13th and will be at the &lt;a href=&quot;http://theajaxexperience.com/show_view.jsp?showId=58&quot;&gt;Ajax Experience conference&lt;/a&gt; while I&#39;m there. It&#39;s my first time in the US and I&#39;m looking forward to it!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>ZoomIn - NZ Mapping Web Application</title>
   <link href="http://bluishcoder.co.nz/2006/04/19/zoomin-nz-mapping-web-application.html"/>
   <updated>2006-04-19T10:40:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/04/19/zoomin-nz-mapping-web-application</id>
   <content type="html">&lt;p&gt;I stumbled across &lt;a href=&quot;http://zoomin.co.nz/?page/home&quot;&gt;ZoomIn&lt;/a&gt; today which is a New Zealand map site with lots of interesting features.&lt;/p&gt;

&lt;p&gt;You can search with street addresses and get maps of pretty much all of New Zealand and explore via a Google Maps like interface. Included are optional aerial photographs of many of the regions. I like the way it uses Ajax to narrow down a search for an address as you type.&lt;/p&gt;

&lt;p&gt;ZoomIn also provides the ability for users to comment on places, upload photo&#39;s and annotate in other interesting ways. A nice idea!&lt;/p&gt;

&lt;p&gt;For developers they have a REST style API that allows searching for addresses programatically and &lt;a href=&quot;http://api.zoomin.co.nz/pages/geocoding-api&quot;&gt;retrieving the lattitude and longitude of the address found&lt;/a&gt;. Other API&#39;s seem to allow integrating map data into your own web apps.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>ICFP Programming Contest 2006</title>
   <link href="http://bluishcoder.co.nz/2006/04/07/icfp-programming-contest-2006.html"/>
   <updated>2006-04-07T14:25:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/04/07/icfp-programming-contest-2006</id>
   <content type="html">&lt;p&gt;Information on the &lt;a href=&quot;http://icfpcontest.org/index.shtml&quot;&gt;ICFP Programming contest for 2006&lt;/a&gt; are up. It&#39;s being held on July 21-24, 2006 and run by Carnegie Mellon University.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Patent on continuation based web servers</title>
   <link href="http://bluishcoder.co.nz/2006/03/21/patent-on-continuation-based-web.html"/>
   <updated>2006-03-21T14:31:00+12:00</updated>
   <id>http://bluishcoder.co.nz/2006/03/21/patent-on-continuation-based-web</id>
   <content type="html">&lt;p&gt;It looks like Paul Graham has a patent on continuation based web servers: &lt;a href=&quot;http://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&amp;amp;Sect2=HITOFF&amp;amp;u=2Fnetahtml/search-adv.htm&amp;amp;r=4&amp;amp;f=G&amp;amp;l=50&amp;amp;d=PTXT&amp;amp;p=1&amp;amp;p=1&amp;amp;S1=(yahoo.ASNM.+AND+graham.INZZ.&quot;&gt;Patent 6,205,469&lt;/a&gt;&amp;amp;OS=AN/yahoo+AND+IN/graham&amp;amp;RS=(AN/yahoo+AND+IN/graham)).&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;In particular, the invention relates to the use of continuations to simulate
subroutine calls in a program that interacts with the user through successive
Web pages.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Paul Graham &lt;a href=&quot;http://paulgraham.infogami.com/blog/morepatents&quot;&gt;mentions it on his weblog&lt;/a&gt;. Found via &lt;a href=&quot;http://lambda-the-ultimate.org/node/1365&quot;&gt;Lambda the Ultimate&lt;/a&gt;.&lt;/p&gt;
</content>
 </entry>
 
 
</feed>
