<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for tagishandy</title>
    <link>http://www.advogato.org/person/tagishandy/</link>
    <description>Advogato blog for tagishandy</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Fri, 24 May 2013 09:59:06 GMT</pubDate>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:14 GMT</pubDate>
      <title>BBC Micro TrueType font</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=19</link>
      <guid>http://www.hexten.net/2008/06/11/bbc-micro-truetype-font</guid>
      <description>&lt;p&gt;I&amp;#8217;ve just used the excellent &lt;a href="http://fontstruct.fontshop.com/" &gt;fontstruct&lt;/a&gt; to create a &lt;a href="http://fontstruct.fontshop.com/fontstructions/show/63444" &gt;clone of the BBC Micro 8 x 8 bitmapped font&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;(edit, deleted fontstruct embed which was breaking FireFox)&lt;/p&gt;
&lt;p&gt;So now all you old Beeb fans can uninstall Comic Sans&amp;#8230;&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:14 GMT</pubDate>
      <title>Don&#x2019;t follow me&#x2026;</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=18</link>
      <guid>http://www.hexten.net/2008/04/16/dont-follow-me</guid>
      <description>&lt;p&gt;&amp;#8230;I&amp;#8217;m just following a &lt;a href="https://www.socialtext.net/open/index.cgi?lukec_2008_04_16_commands" &gt;meme&lt;/a&gt;.&lt;/p&gt;
&lt;pre&gt;$ history | awk {'print $2'} | sort | uniq -c | sort -k1 -rn | head
  69 svn
  56 cd
  52 ls
  49 make
  26 perl
  19 vi
  15 tack
  15 cpan
  11 sudo
  11 prove
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;And actually, I&amp;#8217;d have to merge the histories from eight different Terminal.app windows to get a full picture&amp;#8230;&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:14 GMT</pubDate>
      <title>Charging for GPSBabel?</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=17</link>
      <guid>http://www.hexten.net/2008/01/28/charging-for-gpsbabel</guid>
      <description>&lt;p&gt;It seems that &lt;a href="http://wiki.gpsbabel.org/index.php/GPSBabel:Community_Portal" &gt;someone is&lt;/a&gt; and I don&amp;#8217;t think it&amp;#8217;s anyone involved with the project. That page certainly doesn&amp;#8217;t look like spam or a scam me.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:14 GMT</pubDate>
      <title>Cargo-Culted Optimisations</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=16</link>
      <guid>http://www.hexten.net/2008/01/04/cargo-culted-optimisations</guid>
      <description>&lt;p&gt;In &lt;a href="http://www.codinghorror.com/blog/archives/001029.html" &gt;Understanding User and Kernel Mode&lt;/a&gt; Jeff Atwood says that code that uses exceptions is slow because &amp;#8220;exceptions imply kernel mode transitions&amp;#8221;. From the ongoing debate in the comments it seems that this may be true for some languages running under .NET that use Window&amp;#8217;s Structured Exception Handling but it&amp;#8217;s misleading to state that it&amp;#8217;s true in the general case.&lt;/p&gt;
&lt;p&gt;There are all sorts of reason why exceptions &lt;i&gt;might&lt;/i&gt; be slow - they&amp;#8217;re just more code the CPU has to execute after all. I worry though about general claims that &lt;i&gt;any&lt;/i&gt; idiom is slow. Search a selection of programming blogs for &amp;#8220;X is slow&amp;#8221; and I guarantee that in the comments someone will say &amp;#8220;I never knew that. I&amp;#8217;m going to avoid X in future&amp;#8221;. I imagine that after a couple of years of cargo-culting these folks are working with a miniscule subset of their chosen language, circumscribed by all those &amp;#8220;slow&amp;#8221; things that they&amp;#8217;re religiously avoiding.&lt;/p&gt;
&lt;p&gt;Measure instead of guessing. Look for algorithmic complexity: if you can go from O(N^2) or worse to O(N log N), O(N) or O(1) you might gain far more than a few percent. But then again you might not - so &lt;b&gt;measure&lt;/b&gt;.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:14 GMT</pubDate>
      <title>Steve Furber CBE</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=15</link>
      <guid>http://www.hexten.net/2007/12/29/steve-furber-cbe</guid>
      <description>&lt;p&gt;ARM designer Steve Furber has been &lt;a href="http://news.bbc.co.uk/1/hi/technology/7162935.stm" &gt;given a CBE&lt;/a&gt;. I believe the appropriate response is &amp;#8220;w00t!&amp;#8221;.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:14 GMT</pubDate>
      <title>Stop worrying and learn to love Perl 6</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=14</link>
      <guid>http://www.hexten.net/2007/12/28/stop-worrying-and-learn-to-love-perl-6</guid>
      <description>&lt;p&gt;Perl needs Perl 6 and the wider Perl community needs to understand why.&lt;/p&gt;
&lt;p&gt;When I first got into computers I worried, briefly, that everything I learnt would inevitably be outmoded. I don&amp;#8217;t want to scare anyone unduly but there will come a time when Perl 5 is outdated. Slow, ugly, verbose, arbitrary: it will become all of those and worse.&lt;/p&gt;
&lt;p&gt;That is the fate of all languages. At least I hope that&amp;#8217;s the fate of all current languages. These days if I &lt;i&gt;really&lt;/i&gt; want to scare myself I need only imagine that the current state of the art is is a good as it ever gets. If that doesn&amp;#8217;t worry you try to imagine a parallel universe in which our understanding of computers hit a glass ceiling any time in the past fifty years. Imagine COBOL as pinnacle of language design, 64k as a generous helping of memory, punched cards baby! Happy days, certainly, but I&amp;#8217;m glad we were able to leave them behind.&lt;/p&gt;
&lt;p&gt;As more of the world depends on computers there&amp;#8217;s a growing force that slows change. The enemy of evolution in language design is the installed user base. In the case of a successful language like Perl millions of people may now be affected by an incompatible language change. The Perl 5 Porters must always balance the needs of the future with those of the past and that places an upper limit of the rate at which Perl 5 can mutate.&lt;/p&gt;
&lt;p&gt;What to do? How do you move forward if you&amp;#8217;re constantly looking over your shoulder? You take advantage of a fortunate property of software: that it is possible to simultaneously care for and conservatively develop the current active branch of a language &lt;i&gt;and&lt;/i&gt; forge into the future with a clean new version. Two siblings: the elder healthy, but constrained by responsibilities, the younger relatively free and able to learn from the elder&amp;#8217;s mistakes without repeating them. Perl 5 and Perl 6.&lt;/p&gt;
&lt;p&gt;&lt;i&gt;But Perl 6 is taking too long to mature. More than seven years in embarrassing, right?&lt;/i&gt; Not really. Perl wasn&amp;#8217;t really the Perl we know and love until Perl 5. For the first ten or so years Perl was a lesser language. Sure, the step from Perl 5 to Perl 6 will be bigger than the step from 4 to 5. The jump from 4 to 5 was in its time the biggest seismic shift the Perl world had seen. There&amp;#8217;s a trend there; the steps are getting bigger all the time. There was no significant dynamic language movement when Perl 1 entered the world. Perl 6 is gestating in a rather different environment.&lt;/p&gt;
&lt;p&gt;Perl 5 is not yet decrepit. Rumours of its death greatly exaggerated (or imagined). Perl 6 doesn&amp;#8217;t yet need to come of age so it makes sense for it to continue to mature in a relatively protected environment. As long as Perl 5 remains viable it&amp;#8217;s sensible to give Perl 6 the space it needs to grow because when its time comes it&amp;#8217;s going to face stiff competition from its elder and from Ruby, Python and others.&lt;/p&gt;
&lt;p&gt;Rather than impatient foot tapping Perl 6 needs the help and nurture of the Perl community. The Perl 6 development process is transparent and open. Anyone with something useful to contribute will be welcomed. If you self-identify as a Perl person then Perl 6 is in part &lt;i&gt;your&lt;/i&gt; responsibility. And if you can&amp;#8217;t usefully contribute then, please, quietly reflect on the debt of gratitude you owe to those who do. They&amp;#8217;re working to guarantee your future.&lt;/p&gt;
&lt;p&gt;Perl 6 is not a liability. There&amp;#8217;s no need to be defensive about it. Paul Cory would like to &lt;a href="http://perlbuzz.com/2007/12/why-perl-6-needs-to-be-deemphasized-and-renamed.html" &gt;rebrand Perl 6 into the shadows&lt;/a&gt;. That&amp;#8217;s the kind of Stalinist revisionism favoured by corporations that realise that their &amp;#8220;next big thing&amp;#8221; has become an embarrassing albatross. It&amp;#8217;s a response to Perl 6 that the circumstances do not require.&lt;/p&gt;
&lt;p&gt;Here are his reasons:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;1) It emphasises the &amp;#8220;inadequacies&amp;#8221; of Perl 5.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;All languages have inadequacies, imperfections, miss-features, cruft. Perl 5 is no different. Fortunately, instead of brushing them under the rug, the Perl 6 team is actively seeking to right those wrongs. A question: would you rather use a language that&amp;#8217;s maintained by people who are a) in denial about it&amp;#8217;s inadequacies or b) actively developing a new language based on recognised shortcomings? I hope that&amp;#8217;s a rhetorical question.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;2) It makes the development community look unorganized, at best. People comparing at the development pace of Python, Ruby and PHP to Perl 6 are likely to come to harsher conclusions about the community&amp;#8217;s focus, viability and competence, based on Perl 6&amp;#8217;s seven-year, and counting, gestation period.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Those hypothetical people are wrong and I don&amp;#8217;t want to be part of a community that panders to their views. The Perl 5 Porters are doing a great job of continuously improving Perl 5 within the constraints that popularity brings. The Perl 6 team are laying the foundations for the next generation of Perl. Perl 5 and Perl 6 have a mutually beneficial relationship: features, tools and ideas are traded freely between the two groups. It&amp;#8217;s healthy, responsible and creative.&lt;/p&gt;
&lt;p&gt;Python and Ruby have, to their credit, somewhat similar splits between far sighted strategic development and tactical improvements to the current language generation. PHP is a bizarre bazaar that does not provide a model other language communities should emulate.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;3) It creates uncertainty: what happens to Perl 5 when Perl 6 finally drops? How much new stuff will I have to learn? How will my existing code work, or not, if I upgrade? Why should I invest time in Perl 5 if Perl 6 is just around the corner, and will be far superior?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Learning to deal with an uncertain future comes with the territory of computing. Continual improvement necessarily means that things will change.&lt;/p&gt;
&lt;p&gt;Perl 6 is visible proof that we have vision. Perl 5 is visible proof that we can maintain an extremely high quality programming language. These facts combined should give observers confidence about the health of Perl. As a community we certainly need to work to allay fears and calibrate expectations. But let&amp;#8217;s not start by hiding one of our greatest assets, ok?&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;4) It creates frustration inside the community. Perl 6 has been &amp;#8220;coming soon&amp;#8221; for 7.5 years now. It&amp;#8217;s hard to remain excited about something that long with no payoff.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Welcome to the world of free software. Instead of waiting for Godot we can go and meet him half way; help him carry his load. Let&amp;#8217;s be explicit here: if Perl is part of your life or career and you&amp;#8217;re tired of waiting for Perl 6 &lt;b&gt;help make it happen.&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;You don&amp;#8217;t have to contribute code to help. Learn more about Perl 6 so you can explain it to others. If you find it hard to learn make it easier for others: write an article that explains some of the important points, give talks, learn so you can teach.&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;5) The story is confusing: Pugs? Haskell? Parrot? Two development tracks? I thought this was about Perl? Yes, I have an idea of what those things are, but most folks outside the community (and a fair few inside, I&amp;#8217;d wager) don&amp;#8217;t know, don&amp;#8217;t care, and shouldn&amp;#8217;t have to.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If the story is confusing we need to tell it more clearly. That doesn&amp;#8217;t justify changing the underlying technical narrative.&lt;/p&gt;
&lt;p&gt;In a commodified world criticism and spending discretion are the consumer&amp;#8217;s only levers. We crave influence over the things we consume. In the absence of direct influence over a product&amp;#8217;s design we use criticism as a proxy for control. We hope that they&amp;#8217;ll make the next version better as a result.&lt;/p&gt;
&lt;p&gt;Criticism is still valid in the free software world but it&amp;#8217;s importance is de-emphasised. You can criticise or you can help. In fact you can criticise &lt;i&gt;and&lt;/i&gt; help.&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s important that Perl 6 is not immune from scrutiny but if you&amp;#8217;re frustrated that it&amp;#8217;s taking a while then volunteer. The Perl 6 team is small at the moment; small enough that a few well placed contributions can make a real difference. Let&amp;#8217;s not default to bitching about it when we have the opportunity of contributing to its success.&lt;/p&gt;
&lt;p&gt;Why not make 2008 the year you do something for Perl 6?&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:13 GMT</pubDate>
      <title>Perl 5.10.0 is out</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=13</link>
      <guid>http://www.hexten.net/2007/12/18/perl-5100-is-out</guid>
      <description>&lt;p&gt;Congratulations to Rafael and all the Perl 5 Porters on releasing Perl 5.10.0 on Perl&amp;#8217;s 20th birthday. There&amp;#8217;s a torrent &lt;a href="http://torrents.thepiratebay.org/3938859/perl-5.10.0.tar.gz.3938859.TPB.torrent" &gt;here&lt;/a&gt; for early adopters.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:13 GMT</pubDate>
      <title>Leopard, Proxies, PubSubAgent crash</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=12</link>
      <guid>http://www.hexten.net/2007/12/17/leopard-proxies-pubsubagent-crash</guid>
      <description>&lt;p&gt;I&amp;#8217;ve just released &lt;a href="http://search.cpan.org/dist/HTTP-Proxy-GreaseMonkey/" &gt;HTTP::Proxy::GreaseMonkey&lt;/a&gt;. It&amp;#8217;s an HTTP proxy that allows (some) GreaseMonkey scripts to be used in any browser - not just FireFox. I wrote it so I could use my GreaseMonkey &lt;a href="http://use.perl.org/article.pl?sid=07/12/15/1931244" &gt;search.cpan.org enhancer&lt;/a&gt; with Safari.&lt;/p&gt;
&lt;p&gt;After installing the proxy and telling Safari (and everything else on the machine) to use it I started to experience &lt;code&gt;PubSubAgent&lt;/code&gt; crashes every twenty minutes or so. It turns out that &lt;code&gt;PubSubAgent&lt;/code&gt; is responsible for .mac synchronisation - and it doesn&amp;#8217;t like proxies. You can read more about the problem &lt;a href="http://discussions.apple.com/thread.jspa?messageID=6056954" &gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The solution suggested on that thread - to add .mac.com to the proxy bypass list - is heading in the right direction but isn&amp;#8217;t quite correct. Instead you must add &lt;code&gt;*.mac.com&lt;/code&gt; to the proxy bypass.&lt;/p&gt;
&lt;p style="text-align: center"&gt;&lt;img src="http://www.hexten.net/wp-content/uploads/2007/12//proxy.png" border="0" height="251" width="562" alt="Proxy Settings" /&gt;&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jul 2008 12:09:13 GMT</pubDate>
      <title>Awards for terror attack bravery</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=11</link>
      <guid>http://www.hexten.net/2007/12/10/awards-for-terror-attack-bravery</guid>
      <description>&lt;p&gt;It can&amp;#8217;t just be me who, on reading &lt;a href="http://news.bbc.co.uk/1/hi/scotland/glasgow_and_west/7136842.stm" &gt;this headline&lt;/a&gt;, wonders why awards are being given for terror and why those awards are attacking bravery.&lt;/p&gt;
</description>
    </item>
    <item>
      <pubDate>Wed, 10 Oct 2007 03:04:29 GMT</pubDate>
      <title>Simpsons Me</title>
      <link>http://www.advogato.org/person/tagishandy/diary.html?start=10</link>
      <guid>http://www.hexten.net/2007/06/27/simpsons-me</guid>
      <description>&lt;p&gt;I wonder if I could use it as my passport photo? It&amp;#8217;s not exactly a striking likeness.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.hexten.net/wp-content/uploads/2007/06/simpsons-me.png" border="0" height="600" width="249" alt="My Simpsons Avatar" align="center" /&gt;&lt;/p&gt;
&lt;p&gt;Get yours &lt;a href="http://www.simpsonsmovie.com/" &gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
    </item>
  </channel>
</rss>
