<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>tail -f /running/uwe</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/" />
    <link rel="self" type="application/atom+xml" href="http://www.codemanic.com/uwe/atom.xml" />
    <id>tag:www.codemanic.com,2008-08-16:/uwe//1</id>
    <updated>2008-09-05T08:12:49Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 4.2-en</generator>

<entry>
    <title>human race</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2008/09/human-race.html" />
    <id>tag:www.codemanic.com,2008:/uwe//1.80</id>

    <published>2008-09-05T08:07:21Z</published>
    <updated>2008-09-05T08:12:49Z</updated>

    <summary>Finished Human Race and ranked 13,363. Had a pretty good run....</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="running" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="running" label="running" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[Finished <a href="http://nikeplus.nike.com/nikeplus/humanrace">Human Race</a> and ranked 13,363.<p> 

Had a pretty good  <a href="http://nikeplus.nike.com/nikeplus/?l=runners,runs,617307368,runID,674837562">run</a>.]]>
        
    </content>
</entry>

<entry>
    <title>trail</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2008/08/running.html" />
    <id>tag:www.codemanic.com,2008:/uwe//1.79</id>

    <published>2008-08-19T04:00:26Z</published>
    <updated>2008-09-05T08:04:01Z</updated>

    <summary>I&apos;ve been running with a couple of buddies from work for a while now and recently I bought the Nike+ gadget to track my runs. It&apos;s simple but does the job. One thing it doesn&apos;t have is GPS, so I...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="misc" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="running" label="running" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[I've been running with a couple of buddies from work for a while now and recently I bought the Nike+ gadget to track my runs. It's simple but does the job. One thing it doesn't have is GPS, so I borrowed a GPS device to map our trail.<p>

 We're pretty lucky, we have a great nature park, starting right behind our office.<p>

Here's a map of the trail<p>

<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.com/maps?q=http:%2F%2Ftrail.motionbased.com%2Ftrail%2Fkml%2Fepisode.kml%3FepisodePkValues%3D6553940&amp;ie=UTF8&amp;ll=37.436986,-122.092576&amp;spn=0.030649,0.013844&amp;output=embed&amp;s=AARTsJoNqTD7D0PcOEuftE2PcQn1H_bd7w"></iframe><br /><small><a href="http://maps.google.com/maps?q=http:%2F%2Ftrail.motionbased.com%2Ftrail%2Fkml%2Fepisode.kml%3FepisodePkValues%3D6553940&amp;ie=UTF8&amp;ll=37.436986,-122.092576&amp;spn=0.030649,0.013844&amp;source=embed" style="color:#0000FF;text-align:left">View Larger Map</a></small>
<p>
A while ago I took some pictures on the trail (I mentioned it before on this blog). It's like a local Serengeti.<p>

<table style="width:194px;"><tr><td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.com/uhoffmann/PhotoshootAtShorelineMountainView"><img src="http://lh5.ggpht.com/uhoffmann/RsfKAlhYRuE/AAAAAAAAAwM/xeJEgAuA2zQ/s160-c/PhotoshootAtShorelineMountainView.jpg" width="160" height="160" style="margin:1px 0 0 4px;"></a></td></tr><tr><td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.com/uhoffmann/PhotoshootAtShorelineMountainView" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">Photoshoot at Shoreline, Mountain View</a></td></tr></table><p>

For more professional photos of the birds at Shoreline go <a href="http://jlvaillant.smugmug.com/gallery/2401020_MaBUU/1/141836105_gXhvo#125812168_nfKF2">here</a>.
 ]]>
        
    </content>
</entry>

<entry>
    <title>celebrities in scala</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2008/05/celebrities-in-scala.html" />
    <id>tag:www.codemanic.com,2008:/uwe//1.77</id>

    <published>2008-05-27T21:41:08Z</published>
    <updated>2008-08-16T07:51:47Z</updated>

    <summary>Ola niños. Hope you recover from the shock of seeing a new entry on this blog. Haven&apos;t been here in a while. Looks like this is all still up and running. I&apos;m surprised I still remember my mt password. So...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="haskell" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="math/cs" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="code" label="code" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pdf" label="pdf" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="scala" label="scala" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>Ola  niños. Hope you recover from the shock of seeing a new entry on this blog. Haven't been here in a while. Looks like this is all still up and running. I'm surprised I still remember my mt password.</p>

<p>So why this entry ? Well, I've done another thing I haven't done in a while: I wrote yet another note in LaTeX solving some <a href="http://www.codemanic.com/papers/celebs/celebs.pdf">simple problem</a> in a pompous way. I used <a href="http://www.scala-lang.org/">Scala</a> to implement the solution. Scala is coming along nicely, it feels natural to me and it has some powerful abstractions and features. There's definitely a <a href="http://scala-blogs.org/">buzz</a> about it. A <a href="http://www.artima.com/shop/forsale">book</a> on it is now available, the Eclipse plugin behaves well and there are <a href="http://liftweb.net/index.php/Main_Page">open source projects</a> that use it.</p>]]>
        
    </content>
</entry>

<entry>
    <title>hawk on lamp post</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2007/10/hawk-on-lamp-post.html" />
    <id>tag:www.codemanic.com,2007:/uwe//1.76</id>

    <published>2007-10-02T05:24:53Z</published>
    <updated>2008-08-16T07:51:47Z</updated>

    <summary>This handsome fellow landed on the lamp post next to our house and waited patiently until I got my camera....</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="photos" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="photos" label="photos" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>This handsome fellow landed on the lamp post next to our house and waited patiently until I got my camera.</p>

<p><a href="http://picasaweb.google.com/uhoffmann/Misc/photo#5116605770932347090"><img src="http://lh6.google.com/uhoffmann/RwHV1vgi4NI/AAAAAAAAA-w/TH8WhzPSK1E/s144/DSC_0013%20-%20Version%202.jpg" /></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>shoreline birds</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2007/08/shoreline-birds.html" />
    <id>tag:www.codemanic.com,2007:/uwe//1.75</id>

    <published>2007-08-24T18:56:18Z</published>
    <updated>2008-08-16T07:51:47Z</updated>

    <summary>I took my new camera (Nikon D40x) for a spin to shoot some bird photos at Shoreline Park in Mountain View. Photoshoot at Shoreline, Mountain View...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="photos" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="photos" label="photos" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>I took my new camera (Nikon D40x) for a spin to shoot some bird photos at Shoreline Park in Mountain View.</p>

<table style="width:194px;"><tr><td align="center" style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.com/uhoffmann/PhotoshootAtShorelineMountainView"><img src="http://lh5.google.com/uhoffmann/RsfKAlhYRuE/AAAAAAAAAwM/xeJEgAuA2zQ/s160-c/PhotoshootAtShorelineMountainView.jpg" width="160" height="160" style="margin:1px 0 0 4px;"></a></td></tr><tr><td style="text-align:center;font-family:arial,sans-serif;font-size:11px"><a href="http://picasaweb.google.com/uhoffmann/PhotoshootAtShorelineMountainView" style="color:#4D4D4D;font-weight:bold;text-decoration:none;">Photoshoot at Shoreline, Mountain View</a></td></tr></table>]]>
        
    </content>
</entry>

<entry>
    <title>points on a circle</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2007/03/points-on-a-circle.html" />
    <id>tag:www.codemanic.com,2007:/uwe//1.74</id>

    <published>2007-03-26T06:20:34Z</published>
    <updated>2008-08-16T07:51:47Z</updated>

    <summary>Before I get completely rusty with LaTeX, here&apos;s another one in the series of absurdly trivial papers: this one derives a program that establishes if there are 4 points from a set of points on a circle that form a...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="math/cs" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="code" label="code" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="pdf" label="pdf" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>Before I get completely rusty with LaTeX, here's <a href="/papers/pointsoncircle/PointsOnCircle.pdf">another one</a> in the series of <a href="http://www.codemanic.com/papers/">absurdly trivial papers</a>: this one derives a program that establishes if there are 4 points from a set of points on a circle that form a rectangle.</p>]]>
        
    </content>
</entry>

<entry>
    <title>bridge hands in ruby</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2007/03/bridge-hands-in-ruby.html" />
    <id>tag:www.codemanic.com,2007:/uwe//1.73</id>

    <published>2007-03-03T01:05:16Z</published>
    <updated>2008-09-05T22:07:10Z</updated>

    <summary>A little while ago I started looking at Ruby and Ruby on Rails. So far I like what I see. I&apos;m doing a little address book app to try rails and for the ruby side I&apos;m solving pretty much random...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="ruby" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="code" label="code" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[A little while ago I started looking at Ruby and Ruby on Rails. So far I like what I see. I'm doing a little address book app to try rails and for the ruby side I'm solving pretty much random finger exercises like this one: <a href="http://acm.uva.es/p/v5/555.html">bridge hands</a>.

<pre><span class="comment">#!/usr/local/bin/ruby -w</span>

<span class="ident">require</span> <span class="punct">"</span><span class="string">enumerator</span><span class="punct">"</span>

<span class="constant">Card</span> <span class="punct">=</span> <span class="constant">Struct</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="symbol">:suit</span><span class="punct">,</span> <span class="symbol">:face</span><span class="punct">)</span>

<span class="constant">IS_PLAYER</span> <span class="punct">=</span> <span class="punct">/</span><span class="regex">^[SWNE]$</span><span class="punct">/</span>
<span class="constant">IS_CARDS</span> <span class="punct">=</span> <span class="punct">/</span><span class="regex">^([CDSH][2-9TJQKA])+$</span><span class="punct">/</span>

<span class="constant">PLAYERS</span> <span class="punct">=</span> <span class="punct">%w{</span><span class="string">S W N E</span><span class="punct">}</span>
<span class="constant">SUITS</span> <span class="punct">=</span> <span class="punct">%w{</span><span class="string">C D S H</span><span class="punct">}</span>
<span class="constant">FACES</span> <span class="punct">=</span> <span class="punct">%w{</span><span class="string">2 3 4 5 6 7 8 9 T J Q K A</span><span class="punct">}</span>

<span class="ident">deck</span> <span class="punct">=</span> <span class="constant">nil</span>
<span class="ident">dealer</span> <span class="punct">=</span> <span class="number">0</span>

<span class="constant">ARGF</span><span class="punct">.</span><span class="ident">each_line</span><span class="punct">()</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">line</span><span class="punct">|</span>
  <span class="ident">line</span><span class="punct">.</span><span class="ident">chomp!</span>
  <span class="keyword">next</span> <span class="keyword">if</span> <span class="ident">line</span><span class="punct">.</span><span class="ident">empty?</span>
  <span class="keyword">case</span> <span class="ident">line</span>
  <span class="keyword">when</span> <span class="constant">IS_PLAYER</span>
    <span class="ident">deck</span> <span class="punct">=</span> <span class="constant">Array</span><span class="punct">.</span><span class="ident">new</span>
    <span class="ident">dealer</span> <span class="punct">=</span> <span class="constant">PLAYERS</span><span class="punct">.</span><span class="ident">index</span><span class="punct">(</span><span class="ident">line</span><span class="punct">)</span>
  <span class="keyword">when</span> <span class="constant">IS_CARDS</span>   
    <span class="ident">deck</span><span class="punct">.</span><span class="ident">concat</span><span class="punct">(</span> 
       <span class="ident">line</span><span class="punct">.</span><span class="ident">enum_for</span><span class="punct">(</span><span class="symbol">:each_byte</span><span class="punct">).</span><span class="ident">enum_slice</span><span class="punct">(</span><span class="number">2</span><span class="punct">).</span><span class="ident">map</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">sf</span><span class="punct">|</span>
           <span class="constant">Card</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="ident">sf</span><span class="punct">[</span><span class="number">0</span><span class="punct">],</span> <span class="ident">sf</span><span class="punct">[</span><span class="number">1</span><span class="punct">])</span>
       <span class="keyword">end</span><span class="punct">)</span>
    <span class="keyword">if</span> <span class="ident">deck</span><span class="punct">.</span><span class="ident">size</span> <span class="punct">==</span> <span class="number">52</span> <span class="keyword">then</span>
      <span class="comment"># process deck</span>
      <span class="ident">hands</span> <span class="punct">=</span> <span class="constant">PLAYERS</span><span class="punct">.</span><span class="ident">inject</span><span class="punct">(</span><span class="constant">Hash</span><span class="punct">.</span><span class="ident">new</span><span class="punct">)</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">map</span><span class="punct">,</span> <span class="ident">player</span><span class="punct">|</span> 
        <span class="ident">map</span><span class="punct">[</span><span class="ident">player</span><span class="punct">]=</span> <span class="constant">Array</span><span class="punct">.</span><span class="ident">new</span>
        <span class="ident">map</span>
      <span class="keyword">end</span>
      <span class="ident">deck</span><span class="punct">.</span><span class="ident">enum_slice</span><span class="punct">(</span><span class="number">4</span><span class="punct">).</span><span class="ident">each</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">round</span><span class="punct">|</span>
        <span class="punct">(</span><span class="number">0</span><span class="punct">...</span><span class="number">4</span><span class="punct">).</span><span class="ident">each</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">num</span><span class="punct">|</span> 
          <span class="ident">hands</span><span class="punct">[</span><span class="constant">PLAYERS</span><span class="punct">[(</span><span class="ident">dealer</span> <span class="punct">+</span> <span class="ident">num</span> <span class="punct">+</span> <span class="number">1</span><span class="punct">)</span> <span class="punct">%</span> <span class="number">4</span><span class="punct">]]</span> <span class="punct"><<</span> <span class="ident">round</span><span class="punct">[</span><span class="ident">num</span><span class="punct">]</span>
        <span class="keyword">end</span>  
      <span class="keyword">end</span> 
      <span class="constant">PLAYERS</span><span class="punct">.</span><span class="ident">each</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">player</span><span class="punct">|</span> 
        <span class="ident">hands</span><span class="punct">[</span><span class="ident">player</span><span class="punct">]</span> <span class="punct">=</span> <span class="ident">hands</span><span class="punct">[</span><span class="ident">player</span><span class="punct">].</span><span class="ident">sort_by</span> <span class="keyword">do</span> <span class="punct">|</span><span class="ident">card</span><span class="punct">|</span>
          <span class="constant">SUITS</span><span class="punct">.</span><span class="ident">index</span><span class="punct">(</span><span class="ident">card</span><span class="punct">.</span><span class="ident">suit</span><span class="punct">.</span><span class="ident">chr</span><span class="punct">)</span> <span class="punct">*</span> <span class="constant">FACES</span><span class="punct">.</span><span class="ident">size</span> <span class="punct">+</span> 
             <span class="constant">FACES</span><span class="punct">.</span><span class="ident">index</span><span class="punct">(</span><span class="ident">card</span><span class="punct">.</span><span class="ident">face</span><span class="punct">.</span><span class="ident">chr</span><span class="punct">)</span>
        <span class="keyword">end</span>  
        <span class="ident">puts</span> <span class="ident">hands</span><span class="punct">[</span><span class="ident">player</span><span class="punct">].</span><span class="ident">inject</span><span class="punct">(</span><span class="ident">player</span> <span class="punct">+</span> <span class="punct">"</span><span class="string">:</span><span class="punct">")</span> <span class="punct">{</span> <span class="punct">|</span><span class="ident">string</span><span class="punct">,</span> <span class="ident">card</span><span class="punct">|</span>
           <span class="ident">string</span> <span class="punct">+</span> <span class="punct">"</span><span class="string"> </span><span class="punct">"</span> <span class="punct">+</span> <span class="ident">card</span><span class="punct">.</span><span class="ident">suit</span><span class="punct">.</span><span class="ident">chr</span> <span class="punct">+</span> <span class="ident">card</span><span class="punct">.</span><span class="ident">face</span><span class="punct">.</span><span class="ident">chr</span>
        <span class="punct">}</span>    
      <span class="keyword">end</span>          
    <span class="keyword">end</span>
  <span class="keyword">when</span> <span class="punct">"</span><span class="string"><span class="escape">\#</span></span><span class="punct">"</span>
    <span class="constant">Kernel</span><span class="punct">.</span><span class="ident">exit</span><span class="punct">(</span><span class="number">0</span><span class="punct">)</span>
  <span class="keyword">else</span>
    <span class="constant">Kernel</span><span class="punct">.</span><span class="ident">exit</span><span class="punct">(</span><span class="number">1</span><span class="punct">)</span>
  <span class="keyword">end</span>    
<span class="keyword">end</span>  


</pre>


I'm still new in this ruby world so if you see some ruby idiom I'm missing or some awkward antipattern that I use feel free to correct me in comments.]]>
        
    </content>
</entry>

<entry>
    <title>visiting sf for xmas</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/12/visiting-sf-for-xmas.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.72</id>

    <published>2006-12-25T22:00:06Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary>My wife&apos;s nephew, Guo Ao Sky, is staying with us for his winter break, so we thought to show him San Francisco. We did the usual touristy stops but this time we wanted to do them with a twist. I...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="family" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="photos" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="photos" label="photos" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>My wife's nephew, Guo Ao Sky, is staying with us for his winter break, so we thought to show him San Francisco. We did the usual touristy stops but this time we wanted to do them with a twist. I wanted to visit every location from the wwdc 06 conference ad campaign, where they show <a href="http://developer.apple.com/wwdc/testimonials/">famous mac developers at famous SF locations</a>. Instead of holding a mac I wanted to hold Nadia at each location.</p>

<p>Of course we got lazy, got out of bed too late, only had half a day in SF, had Nadia to take care of, so we didn't succeed to get to all locations. We started with the "Painted Ladies" in Alamo Square. Nadia was still taking a nap in the car there so no Nadia at the first location. </p>

<div style="text-align:center;width:194px;font-family:arial,sans-serif;font-size:83%"><div style="height:194px;background:url(http://picasaweb.google.com/f/img/transparent_album_background.gif) no-repeat left"><a href="http://picasaweb.google.com/uhoffmann/SfXmas"><img src="http://lh6.google.com/image/uhoffmann/RZAbgdqhyaE/AAAAAAAAALQ/qOIe2PmDarc/s160-c/SfXmas.jpg" width="160" height="160" style="border:none;padding:0px;margin-top:16px;"></a></div><a href="http://picasaweb.google.com/uhoffmann/SfXmas"><div style="color:#4D4D4D;font-weight:bold;text-decoration:none;">sf xmas</div></a><div style="color:#808080"></div></div>]]>
        
    </content>
</entry>

<entry>
    <title>catching up</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/12/catching-up.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.71</id>

    <published>2006-12-04T06:13:45Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary>Let&apos;s see: We went to Europe in October for three weeks. We let my parents enjoy Nadia, while we first went to my x number of years (where x is the smallest abundant number that is not a multiple of...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="family" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="photos" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="travel" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="elsewhere" label="elsewhere" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>Let's see:</p>

<p>We went to Europe in October for three weeks. We let my parents enjoy Nadia, while we first went to my x number of years (<a href="http://en.wikipedia.org/wiki/20_(number)">where x is the smallest abundant number that is not a multiple of 3</a>) high school reunion. Was kind of weird to see vaguely familiar faces. Made me feel like an amnesia patient slowly regaining his memory. We then drove around Germany and Switzerland (some pictures of Zuerich <a href="http://www.codemanic.com/photos/#id=zuerich">here</a>). We were supposed to go to Italy too but I was too lazy driving so we stayed at my parents place in <a href="http://en.wikipedia.org/wiki/Karlsruhe">Karlsruhe</a> most of the time, swimming and doing bicycle tours. </p>

<p>I have to mention one little anecdote here from our trip (my wife insists): we went to the movies one night in Karlsruhe. We picked a newish movie theater in a fancy modern building that hosts the <a href="http://www.zkm.de/">center for arts</a> too. The movies were mostly mainstream american and at that time of night the selection wasn't that great. So we chose <a href="http://www.imdb.com/title/tt0406816/">The Guardian</a>. First surprise: tickets had seat assignments. We go to our seats and it's fancy, comfortable love chairs. They serve beer. Cool. Then the commercials start. It goes for a while. Pretty blend commercials that you see on TV too. Interesting they have cigarette commercials too. Didn't think I would see the Marlboro man again. So commercials still playing. We're hitting 30 min since we sat down. We both show signs of impatience. Then finally movie starts. First scene: a man and a woman have an argument in the kitchen. He insults her verbally and she hits him over the head with a frying pan. Hm. The Guardian ? Well, turns out we're in <a href="http://www.imdb.com/title/tt0433386/">the wrong movie</a>. The guy at the register misunderstood me. We had to walk out because both of us cannot stomach horror movies. So our night out in Karlsruhe was 45 min of commercials followed by a guy smacked by his wife with a frying pan.</p>

<p>What else ?</p>

<p>For some reason I haven't mentioned my 5 min of geek fame yet. I was the original author of a <a href="http://blog.dojotoolkit.org/2006/08/30/js-linker-in-dojo">tool</a> that became open source a while back. Cool stuff. I probably peaked back then. These days I do <a href="http://www.codemanic.com/papers/puzzlesnacks/PuzzleSnacks.pdf">little puzzle snacks</a>.</p>

<p>Oh, and one more thing: sometimes babies have it hard too <a href="/blog-archives/images/nadia_stroller.jpg" rel="lightbox" title=""><img src="/blog-archives/images/nadia_stroller_tn.jpg"/></a>.</p>]]>
        
    </content>
</entry>

<entry>
    <title>one year</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/10/one-year.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.70</id>

    <published>2006-10-15T21:16:34Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary></summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="family" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="photos" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p><a href="/blog-archives/images/nadiaOneYear/Images/Nadia_81.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/Nadia_81.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040136.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040136.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040183.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040183.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040288.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040288.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040488.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040488.jpg" /></a> </p>

<p><a href="/blog-archives/images/nadiaOneYear/Images/S_W_test3.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/S_W_test3.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/uwe_nadia_ji3.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/uwe_nadia_ji3.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/nadia1_8.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/nadia1_8.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040030.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040030.jpg" /></a> </p>

<p><a href="/blog-archives/images/nadiaOneYear/Images/P1040151.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040151.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040221.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040221.jpg" /></a> <a href="/blog-archives/images/nadiaOneYear/Images/P1040312.jpg" rel="lightbox[nadiaOne]" title=""><img alt="one.jpg" src="/blog-archives/images/nadiaOneYear/Thumbs/P1040312.jpg" /></a></p>]]>
        
    </content>
</entry>

<entry>
    <title>links, links, links</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/10/links-links-links.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.69</id>

    <published>2006-10-04T17:24:50Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary> Cool free math books: K.D. Stroyan: &quot;Foundations of Infinitesimal Calculus&quot;. Check out his home page too while you&apos;re there with lots of Mathematica notebooks to accompany the book. E. H. Connell: &quot;Elements of Abstract and Linear Algebra&quot; Carl Wagner:...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="links" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="elsewhere" label="elsewhere" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>
Cool free math books:
</p><ul>
<li><a href="http://www.math.uiowa.edu/~stroyan/InfsmlCalculus/FoundInfsmlCalc.pdf">K.D. Stroyan: "Foundations of Infinitesimal Calculus"</a>. Check out his <a href="http://www.math.uiowa.edu/~stroyan/">home page</a> too while you're there with lots of Mathematica notebooks to accompany the book.</li>
<li><a href="http://www.math.miami.edu/~ec/book/">E. H. Connell: "Elements of Abstract and Linear Algebra"</a></li>
<li><a href="http://www.math.utk.edu/%7Ewagner/papers/book.pdf">Carl Wagner: "CHOICE, CHANCE, AND INFERENCE: An Introduction to Combinatorics, Probability and Statistics"</a></li>
<li><a href="http://modular.math.washington.edu/ent/">William Stein: "Elementary Number Theory"</a></li>
<li><a href="http://www.cse.ucsd.edu/users/dasgupta/mcgrawhill/">S. Dasgupta, C.H. Papadimitriou, and U.V. Vazirani: "Algorithms"</a></li>
</ul><p>
Fascinating New Yorker <a href="http://www.newyorker.com/fact/content/articles/060828fa_fact2">article</a> about the people involved in the solution to the Poincare conjecture. And in case you want to know more about the Poincare conjecture, you can follow James Tauber on his <a href="http://jtauber.com/poincare_project">Poincare Project</a>.
</p><p>
A coworker gave me this <a href="http://yudkowsky.net/">link to Eliezer S. Yudkowsky's home page</a> with some great pieces to read. My favorite is his <a href="http://yudkowsky.net/bayes/bayes.html">Intuitive Explanation of Bayesian Reasoning</a>.
</p>]]>
        
    </content>
</entry>

<entry>
    <title>icu regex in cocoa</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/09/icu-regex-in-cocoa.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.68</id>

    <published>2006-09-26T21:05:24Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary> I do java server code for a living. It&apos;s my bread and butter. At home when I do my silly little math notes I play with haskell. That&apos;s my chocolate dessert. But sometimes I get a craving for something...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="tools" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="cocoa" label="cocoa" scheme="http://www.sixapart.com/ns/types#tag" />
    <category term="code" label="code" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>
I do java server code for a living. It's my bread and butter. At home when I do my silly little math notes I play with haskell. That's my chocolate dessert. But sometimes I get a craving for something completely different. So in the last couple of weeks I've been hacking a cocoa app: my spicy Thai dish. I don't do it often but it's very tasty when I try it.
</p><p>
I needed a regex lib in this little cocoa app. There are regex packages available for cocoa (see <a href="http://www.cocoadev.com/index.pl?RegularExpressions">CocoaDev</a>). It seems though that Apple is using <a href="http://icu.sourceforge.net/userguide/regexp.html">icu</a> internally (you can guess that from the <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/Predicates/Articles/pUsing.html#//apple_ref/doc/uid/TP40001794-DontLinkElementID_16">Predicates Programming Guide</a> for example). I wanted to use that too. libicucore.dylib is on the system, compiled and ready to use. Unfortunately Apple doesn't provide the headers because the icu API is not final yet and Apple understandably doesn't want to commit to it yet.
</p><p>
So I <a href="http://www.opensource.apple.com/darwinsource/10.4.7.ppc/">downloaded</a> the icu package that Apple uses and wrote my own obj-c wrappers for now until Apple officially exposes theirs. You can get the wrappers and a small how-to readme file from <a href="http://www.codemanic.com/downloads/icuregex.zip">here</a>. Use at your own risk.
</p>]]>
        
    </content>
</entry>

<entry>
    <title>chongqing</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/05/chongqing.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.67</id>

    <published>2006-05-03T05:12:26Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary>Back from our trip to Chongqing, China. Our first trip with Nadia, who is now almost 7 months old. I was paranoid and feared the worst but it was great. Nadia enjoyed it, there were lots of new things to...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="photos" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="travel" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="travel" label="travel" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>Back from our trip to Chongqing, China. Our first trip with Nadia, who is now almost 7 months old. I was paranoid and feared the worst but it was great. Nadia enjoyed it, there were lots of new things to see, lots of people smiling and waving at her. She met my wife's relatives and friends and we got to play the role of proud parents of a cute baby. </p>

<p><a href="http://en.wikipedia.org/wiki/Chongqing">Chongqing</a> is amazing. I'm ashamed to confess that I didn't know much about it before the trip. I got to learn and experience it, the sheer size of it (pop. 31 million), the density, everything. It's located at the point where the Yangtze and the Jialing rivers meet and it's a very hilly city with steep streets, endless stairs, funiculars and elevators that get you on streets thirty stories above ground level. There isn't much left of old Chongqing, it's a sea of skyscrapers these days (there's a saying that whenever you turn your back the city has changed). It's an economic powerhouse, expanding and changing like crazy, fueled by the electricity from the <a href="http://en.wikipedia.org/wiki/Three_Gorges_Dam">Three Gorges Dam</a> (a pretty good <a href="http://dsc.discovery.com/tvlistings/episode.jsp?episode=0&cpi=24653&gid=0&channel=DSC">documentary</a> is coming up on Discovery Channel about Chongqing and the dam). People, people everywhere. <a href="http://www.codemanic.com/photos/#id=chongqing">Here</a> are some pictures from our trip. </p>

<p>The last two days of the trip we relaxed in Shanghai, getting spoiled in the highest 5 star hotel in the world, the <a href="http://en.wikipedia.org/wiki/Jinmao">Jinmao</a> tower. We stayed on the 77th floor.</p>]]>
        
    </content>
</entry>

<entry>
    <title>fingertrees and packrat parsers</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/02/fingertrees-and-packrat-parsers.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.66</id>

    <published>2006-02-06T07:04:41Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary>Got these from the scala mailing list: interesting functional programming algorithms (scala enthusiasts are porting them over from haskell) Finger Trees: A Simple General-purpose Data Structure Bryan Ford. Packrat Parsing: a Practical Linear-Time Algorithm with Backtracking. Master&apos;s Thesis, MIT, 2002....</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="haskell" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="links" scheme="http://www.sixapart.com/ns/types#category" />
    
        <category term="math/cs" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>Got these from the scala mailing list: interesting functional programming algorithms (scala enthusiasts are porting them over from haskell)</p>

<p><a href="http://www.soi.city.ac.uk/~ross/papers/FingerTree.html">Finger Trees: A Simple General-purpose Data Structure</a></p>

<p><a href="http://pdos.csail.mit.edu/~baford/packrat/thesis/">Bryan Ford. Packrat Parsing: a Practical Linear-Time Algorithm with Backtracking. Master's Thesis, MIT, 2002.</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>number one</title>
    <link rel="alternate" type="text/html" href="http://www.codemanic.com/uwe/2006/02/number-one.html" />
    <id>tag:www.codemanic.com,2006:/uwe//1.65</id>

    <published>2006-02-01T23:30:54Z</published>
    <updated>2008-08-16T07:51:46Z</updated>

    <summary>According to Google I&apos;m the most relevant &apos;Uwe Hoffmann&apos; on the web. Hurry, go check it out before they rebuild the index and correct the mistake. If you go to scholar.google.com and search for &apos;codemanic&apos; you&apos;ll see that Google thinks...</summary>
    <author>
        <name>Uwe Hoffmann</name>
        
    </author>
    
        <category term="misc" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://www.codemanic.com/uwe/">
        <![CDATA[<p>According to Google I'm the most relevant 'Uwe Hoffmann' on the web. Hurry, go check it out before they rebuild the index and correct the mistake. If you go to <a href="http://scholar.google.com">scholar.google.com</a> and search for 'codemanic' you'll see that Google thinks I'm a scholar too.</p>]]>
        
    </content>
</entry>

</feed>
