<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>roderick.dk</title>
    <link>https://roderick.dk/</link>
    <description>Recent content on roderick.dk</description>
    <image>
      <title>roderick.dk</title>
      <url>https://roderick.dk/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://roderick.dk/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo -- 0.148.2</generator>
    <language>en-gb</language>
    <lastBuildDate>Sat, 07 Feb 2026 08:59:50 +0100</lastBuildDate>
    <atom:link href="https://roderick.dk/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Advising a Small Business Owner</title>
      <link>https://roderick.dk/posts/2026-02-07-advising-small-business/</link>
      <pubDate>Sat, 07 Feb 2026 08:59:50 +0100</pubDate>
      <guid>https://roderick.dk/posts/2026-02-07-advising-small-business/</guid>
      <description>&lt;p&gt;Friday afternoon I received a call from my nephew Johan, who is going into business for himself. Johan is a bricklayer and doesn&amp;rsquo;t have experience running his own business, or with setting up an online presence for a small business.&lt;/p&gt;
&lt;p&gt;So, he&amp;rsquo;s asking his uncles (myself and my brother) for advice on what to do with email, domains, computers, etc.&lt;/p&gt;
&lt;p&gt;This post contains a paraphrased version of the advice I gave him.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Photography</title>
      <link>https://roderick.dk/photography/</link>
      <pubDate>Mon, 10 Feb 2025 10:24:29 +0100</pubDate>
      <guid>https://roderick.dk/photography/</guid>
      <description></description>
    </item>
    <item>
      <title>2023 Birthday Party</title>
      <link>https://roderick.dk/posts/2023-03-20-birthday-party/</link>
      <pubDate>Mon, 20 Mar 2023 20:01:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2023-03-20-birthday-party/</guid>
      <description>&lt;p&gt;Save the date!&lt;/p&gt;
&lt;p&gt;Uyanga and I will be celebrating our combined 90 years on this planet by having a birthday party on 2023-06-24 in the afternoon. It will be in Berlin, Germany and will be fairly casual.&lt;/p&gt;
&lt;p&gt;There will be some food &amp;hellip; think mingling with a plate of delicious bits, not sitting down for a three course meal. There will be some drinks of what people like drinking on a Saturday afternoon in summer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Get Started With TypeScript the Easy Way</title>
      <link>https://roderick.dk/posts/2022-07-27-typescript-the-easy-way/</link>
      <pubDate>Mon, 07 Feb 2022 10:38:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2022-07-27-typescript-the-easy-way/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Unlike many tutorials today, this one will focus on minimizing the technical requirements to follow along. We will get up and running with TypeScript without opening a terminal, installing dependencies, or even initializing an NPM project. In the advanced portion we will need to do a bit of that, but for most users, all you will need is Visual Studio Code as your editor.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Link &lt;a href=&#34;https://austingil.com/typescript-the-easy-way/&#34;&gt;Get Started With TypeScript the Easy Way&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>You might not need TypeScript... (syntax)</title>
      <link>https://roderick.dk/posts/2022-02-07-you-might-not-need-typescript-syntax/</link>
      <pubDate>Mon, 07 Feb 2022 10:38:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2022-02-07-you-might-not-need-typescript-syntax/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Everyone loves types, Everyone loves autocompletion, Everyone loves getting warnings before they arise.&lt;/p&gt;
&lt;p&gt;But nobody likes wasting time compiling stuff. Hopefully this will help convince you or your company that you don&amp;rsquo;t actually need the TypeScript flavor syntax. So i have embedded the same editor used in VS-code to show you that &lt;em&gt;you can have type safety with vanilla JavaScript&lt;/em&gt; and have the best of both worlds and play around with it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to manage volume for Multi-output Audio devices on macOS</title>
      <link>https://roderick.dk/posts/2022-02-07-how-to-manage-volume-for-multi-output-audio-devices-on-macos/</link>
      <pubDate>Mon, 07 Feb 2022 10:05:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2022-02-07-how-to-manage-volume-for-multi-output-audio-devices-on-macos/</guid>
      <description>&lt;p&gt;Last year I learned how to use &lt;a href=&#34;https://roderick.dk/2021/05/24/two-headphones-with-a-mac/&#34;&gt;two headphones with a Mac&lt;/a&gt;, which is a great feature to use when travelling. Basically, we can watch movies in Apple TV on one computer.&lt;/p&gt;
&lt;p&gt;Since our travel last year, my partner has switched from their Sony over the ear headphones (with built-in amplifier) to Airpods Pro (no built-in amplifier).&lt;/p&gt;
&lt;p&gt;That gave us some challenges, as they could not really hear what was going on, and couldn&amp;rsquo;t turn the volume up due to those headphones not having volume controls or amplifier. My Sony headphones do not have those challenges, so I was fine with the Multi-output audio.&lt;/p&gt;</description>
    </item>
    <item>
      <title>#NoEstimates, talk by Allen Holub</title>
      <link>https://roderick.dk/posts/2022-01-25-noestimates-talk-by-allen-holub/</link>
      <pubDate>Tue, 25 Jan 2022 14:20:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2022-01-25-noestimates-talk-by-allen-holub/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This keynote presents my (and many other&amp;rsquo;s) thinking about #NoEstimates. It argues that estimation is a bad thing, particularly in the Agile world, and presents ways to plan that don&amp;rsquo;t involve estimation.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://www.youtube.com/watch?v=QVBlnCTu9Ms&#34;&gt;#NoEstimates&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Everyone sweeps the floor</title>
      <link>https://roderick.dk/posts/2021-12-21-everyone-sweeps-the-floor/</link>
      <pubDate>Tue, 21 Dec 2021 18:35:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2021-12-21-everyone-sweeps-the-floor/</guid>
      <description>&lt;p&gt;The rule &amp;ldquo;Everyone sweeps the floor&amp;rdquo; always resonated with me.&lt;/p&gt;
&lt;p&gt;This was very much the behaviour and expectations of the person that ran the unit that I worked in some years ago at Apple.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;A badge sticker showing &amp;ldquo;JB&amp;rsquo;s Rules for success&amp;rdquo;&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/I2lw9ci.jpeg&#34;&gt;&lt;/p&gt;
&lt;p&gt;At the time, I was unaware that the badge sticker existed. My boss did mention that they appreciated me always &amp;ldquo;sweeping the floor&amp;rdquo; &amp;hellip; both in the codebases I worked in, but also emptying the dishwasher.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The reduce ({...spread}) anti-pattern</title>
      <link>https://roderick.dk/posts/2021-12-21-the-reduce-spread-anti-pattern/</link>
      <pubDate>Tue, 21 Dec 2021 09:50:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2021-12-21-the-reduce-spread-anti-pattern/</guid>
      <description>&lt;p&gt;I thought this was a really interesting examination of the performance penalties of using &lt;code&gt;({...spread})&lt;/code&gt; in JavaScript.&lt;/p&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://www.richsnapp.com/article/2019/06-09-reduce-spread-anti-pattern&#34;&gt;The reduce ({&amp;hellip;spread}) anti-pattern&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Writing good git history</title>
      <link>https://roderick.dk/posts/2021-09-24-writing-good-git-history/</link>
      <pubDate>Fri, 24 Sep 2021 11:29:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2021-09-24-writing-good-git-history/</guid>
      <description>&lt;p&gt;I firmly believe that writing a good git history, or &lt;em&gt;narrative&lt;/em&gt; is important and worthwhile.&lt;/p&gt;
&lt;p&gt;Future Developer will thanks us when they&amp;rsquo;re using &lt;code&gt;git log -S&lt;/code&gt; to find a particular line or fragment, or when they&amp;rsquo;re using &lt;code&gt;git bisect&lt;/code&gt; to figure out when and how a particular defect was introduced.&lt;/p&gt;
&lt;p&gt;In the past I&amp;rsquo;ve given a talk about crafting a lovely git narrative. Thankfully, there&amp;rsquo;s no recording of that talk.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Don&#39;t git pull, use git pull --rebase instead</title>
      <link>https://roderick.dk/posts/2021-09-17-don-t-git-pull-use-git-pull-rebase-instead/</link>
      <pubDate>Fri, 17 Sep 2021 11:21:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2021-09-17-don-t-git-pull-use-git-pull-rebase-instead/</guid>
      <description>&lt;p&gt;I can&amp;rsquo;t remember where I saw this first, as I configured it awhile ago.&lt;/p&gt;
&lt;p&gt;Emmanouil Liakos shares a quick tip about how to use &lt;code&gt;git pull --rebase&lt;/code&gt; and to configure your &lt;code&gt;git&lt;/code&gt; to do this automagically.&lt;/p&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://blog.manos-liakos.dev/rebase-vs-pull/&#34;&gt;Don&amp;rsquo;t git pull, use git pull &amp;ndash;rebase instead&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>6 Reasons Why Asynchronous Communication Benefits Remote Teams Teams</title>
      <link>https://roderick.dk/posts/2021-09-06-6-reasons-why-asynchronous-communication-benefits-remote-teams/</link>
      <pubDate>Mon, 06 Sep 2021 10:06:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2021-09-06-6-reasons-why-asynchronous-communication-benefits-remote-teams/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;2020 has taken the concept of “new normal” and given it a whole new lease of life. It’s a word that’s been thrown around so often but it’s true – it’s permeated every aspect of our lives. Our once loud and proud office culture has been replaced with remote work; the ultimate “new normal” for businesses around the world. We’ve had to juggle family life and childcare with our usual working routines, shifting from video calls to email on a near-constant basis to stay “updated”.&lt;/p&gt;</description>
    </item>
    <item>
      <title>An Incomplete Guide to Inclusive Language for Startups and Tech</title>
      <link>https://roderick.dk/posts/2021-08-24-an-incomplete-guide-to-inclusive-language-for-startups-and-tech/</link>
      <pubDate>Tue, 24 Aug 2021 10:57:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2021-08-24-an-incomplete-guide-to-inclusive-language-for-startups-and-tech/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Language is one of the most powerful tools we have as humans. It binds us. Instructs us. When used well, it creates a common understanding.&lt;/p&gt;
&lt;p&gt;And it’s essential for creating an environment where everyone feels welcome and included.&lt;/p&gt;
&lt;p&gt;Historically, language has left many out. Individuals and groups have been marginalized and discriminated against because of their culture, race and ethnicity, gender, sexual orientation, age, disability, socioeconomic status, appearance and more.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why you shouldn’t use @here on Slack</title>
      <link>https://roderick.dk/posts/2021-08-12-why-you-shouldn-t-use-here-on-slack/</link>
      <pubDate>Thu, 12 Aug 2021 09:27:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2021-08-12-why-you-shouldn-t-use-here-on-slack/</guid>
      <description>&lt;blockquote&gt;
&lt;h4 id=&#34;the-rules-according-to-graham&#34;&gt;The Rules (according to Graham)&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Don’t use &lt;code&gt;@here&lt;/code&gt; unless it is truly relevant to everyone in a channel&lt;/li&gt;
&lt;li&gt;Don’t use &lt;code&gt;@channel&lt;/code&gt; unless there is a fire or a nuclear explosion that everyone needs to be aware of now&lt;/li&gt;
&lt;li&gt;Use targeted Slack group mentions for getting a hold of stakeholders in a channel (i.e. &lt;code&gt;@support_&lt;/code&gt; in the &lt;code&gt;#support&lt;/code&gt; channel)&lt;/li&gt;
&lt;li&gt;Use Slack as an asynchronous medium, not a synchronous one (assume people will not respond immediately, rather than the opposite)&lt;/li&gt;
&lt;/ul&gt;&lt;/blockquote&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://medium.com/vendasta/why-you-shouldnt-use-here-on-slack-e19e6c392502&#34;&gt;Why you shouldn’t use @here on Slack&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>JSDoc typings: all the benefits of TypeScript, with none of the drawbacks</title>
      <link>https://roderick.dk/posts/2021-07-20-jsdoc-typings-all-the-benefits-of-typescript-with-none-of-the-drawbacks/</link>
      <pubDate>Tue, 20 Jul 2021 14:30:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2021-07-20-jsdoc-typings-all-the-benefits-of-typescript-with-none-of-the-drawbacks/</guid>
      <description>&lt;p&gt;An in depth exploration of how far you can get with using JSDoc (and the TypeScript compiler) without resorting to writing TypeScript or having a build step in your project.&lt;/p&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://gils-blog.tayar.org/posts/jsdoc-typings-all-the-benefits-none-of-the-drawbacks/&#34;&gt;JSDoc typings: all the benefits of TypeScript, with none of the drawbacks&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Two headphones with a Mac</title>
      <link>https://roderick.dk/posts/2021-05-24-two-headphones-with-a-mac/</link>
      <pubDate>Mon, 24 May 2021 11:21:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2021-05-24-two-headphones-with-a-mac/</guid>
      <description>&lt;p&gt;My partner and I travelled back to Berlin from Las Palmas on a flight on Saturday. Since it was not a long haul flight, there would be no in-flight entertainment. We wanted to wanted to watch series and movies together using my computer, while both using noise cancelling headphones.&lt;/p&gt;
&lt;p&gt;This turned out to be surprisingly easy to do.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ll be sure to do this for our journey, which I hope to make by train. That would make watching a couple of lectures or interesting talks from conferences quite enjoyable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>trapped in the technologist factory</title>
      <link>https://roderick.dk/posts/2021-05-04-trapped-in-the-technologist-factory/</link>
      <pubDate>Tue, 04 May 2021 08:37:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2021-05-04-trapped-in-the-technologist-factory/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;This means startups don’t adopt new technologies despite their immaturity, they adopt them because of that immaturity. This drives a constant churn of novelty and obsolescence, which amplifies the importance of a technologist’s skillset, which drives startups to adopt new technologies.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://ideolalia.com/essays/trapped-in-the-technologist-factory.html&#34;&gt;trapped in the technologist factory&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Being glue</title>
      <link>https://roderick.dk/posts/2020-12-04-being-glue/</link>
      <pubDate>Fri, 04 Dec 2020 16:50:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2020-12-04-being-glue/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Stop interviewing, stop organising the off-sites, stop onboarding, stop fielding requests from users, stop anything that sounds like team building. Stop helping other people with their work. Archive mail. Quit slack channels. Do not curate the team roadmap.&lt;/p&gt;
&lt;p&gt;Crucially: don&amp;rsquo;t catch things that are about to drop. That&amp;rsquo;s incredibly hard for a lot of us, but remember that the rest of the team already does this.&lt;/p&gt;
&lt;p&gt;Stop being the unofficial lead. (If you&amp;rsquo;re in the same situation and you&amp;rsquo;re the official lead, consider stopping that too!)&lt;/p&gt;</description>
    </item>
    <item>
      <title>The (extremely) loud minority</title>
      <link>https://roderick.dk/posts/2020-11-12-the-extremely-loud-minority/</link>
      <pubDate>Thu, 12 Nov 2020 20:58:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2020-11-12-the-extremely-loud-minority/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;It’s understandable to think that JavaScript frameworks and their communities are eating the web because places like Twitter are &lt;em&gt;awash with very loud voices from said communities&lt;/em&gt;.
Always remember that although a &lt;strong&gt;subset of the JavaScript community can be very loud&lt;/strong&gt;, they represent a &lt;strong&gt;paltry portion of the web as a whole&lt;/strong&gt;. This means that when &lt;em&gt;they&lt;/em&gt; say something like &amp;ldquo;CSS sucks&amp;rdquo; — what they mean is &amp;ldquo;CSS sucks for a small subset of less than 1 percent of the web&amp;rdquo;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>mdn.io, I&#39;m feeling lucky</title>
      <link>https://roderick.dk/posts/2020-08-04-mdn-io-i-m-feeling-lucky/</link>
      <pubDate>Tue, 04 Aug 2020 16:37:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2020-08-04-mdn-io-i-m-feeling-lucky/</guid>
      <description>&lt;p&gt;I often need to look up details in the &lt;a href=&#34;https://developer.mozilla.org/en-US/&#34;&gt;Mozilla Developer Network documentation&lt;/a&gt; (MDN). It&amp;rsquo;s a great resource, that keeps getting better every year.&lt;/p&gt;
&lt;p&gt;A few years ago, I learned that lovely people have set up a very convenient &amp;ldquo;url shortener&amp;rdquo; / &amp;ldquo;search service&amp;rdquo; to do an &amp;ldquo;I&amp;rsquo;m feeling lucky&amp;rdquo; search on the MDN documentation.&lt;/p&gt;
&lt;p&gt;In your browser&amp;rsquo;s URL bar, type &lt;code&gt;mdn.io/‰s&lt;/code&gt;, where &lt;code&gt;%s&lt;/code&gt; is your search string. Hit &lt;kbd&gt;Enter&lt;/kbd&gt; and arrive at the best matching page on MDN.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using HTTPie with mkcert</title>
      <link>https://roderick.dk/posts/2020-07-28-using-httpie-with-mkcert/</link>
      <pubDate>Tue, 28 Jul 2020 12:03:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2020-07-28-using-httpie-with-mkcert/</guid>
      <description>&lt;p&gt;In order to get the development environment on &lt;code&gt;localhost&lt;/code&gt; closer to the production environment, I&amp;rsquo;m using HTTPS on &lt;code&gt;localhost&lt;/code&gt;. This helps me with discovering bugs much earlier, which saves a lot of time.&lt;/p&gt;
&lt;p&gt;I use the &lt;a href=&#34;https://blog.filippo.io/mkcert-valid-https-certificates-for-localhost/&#34;&gt;excellent tool &lt;code&gt;mkcert&lt;/code&gt;&lt;/a&gt; for managing the certificates locally. &lt;code&gt;mkcert&lt;/code&gt; is built exactly for this purpose and removes most of the friction.&lt;/p&gt;
&lt;p&gt;I regularly use &lt;a href=&#34;https://httpie.org&#34;&gt;&lt;code&gt;httpie&lt;/code&gt;&lt;/a&gt; to interact with HTTP servers.&lt;/p&gt;
&lt;p&gt;However, &lt;code&gt;httpie&lt;/code&gt; doesn&amp;rsquo;t know about about the certificate authority installed locally by &lt;code&gt;mkcert&lt;/code&gt;, so we&amp;rsquo;ll have to help it a bit.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Link: Teams Solve Problems Faster When They’re More Cognitively Diverse</title>
      <link>https://roderick.dk/posts/2020-01-25-link-teams-solve-problems-faster-when-they-re-more-cognitively-diverse/</link>
      <pubDate>Sat, 25 Jan 2020 12:23:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-25-link-teams-solve-problems-faster-when-they-re-more-cognitively-diverse/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;If cognitive diversity is what we need to succeed in dealing with new, uncertain, and complex situations, we need to encourage people to reveal and deploy their different modes of thinking. We need to make it safe to try things multiple ways. This means leaders will have to get much better at building their team’s sense of psychological safety.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://hbr.org/2017/03/teams-solve-problems-faster-when-theyre-more-cognitively-diverse&#34;&gt;Teams Solve Problems Faster When They’re More Cognitively Diverse&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tips for joyful video calls</title>
      <link>https://roderick.dk/posts/2020-01-19-tips-for-joyful-video-calls/</link>
      <pubDate>Sun, 19 Jan 2020 14:50:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-19-tips-for-joyful-video-calls/</guid>
      <description>&lt;p&gt;A lot of my work in the last decade has been with partially or entirely distributed teams. I expect that to be the case going forwards as more and more software engineering work switches to distributed / remote teams.&lt;/p&gt;
&lt;p&gt;To communicate with other members in the distributed team, I use video calls for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;pair programming&lt;/li&gt;
&lt;li&gt;the daily standup call&lt;/li&gt;
&lt;li&gt;1-1s&lt;/li&gt;
&lt;li&gt;the weekly leadership call&lt;/li&gt;
&lt;li&gt;company all hands / town hall&lt;/li&gt;
&lt;li&gt;catching up with friends&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is post is for sharing some things I&amp;rsquo;ve learned that give me a more joyful experience with video calls. Maybe some of the tips can improve your experience.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HWC Berlin, 2020-01-29</title>
      <link>https://roderick.dk/posts/2020-01-19-hwc-berlin-2020-01-29/</link>
      <pubDate>Sun, 19 Jan 2020 11:28:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-19-hwc-berlin-2020-01-29/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Homebrew Website Club retro graphics image&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/homebrew-website-club.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;On Wednesday 2020-01-29 at 18.30 there will be another &lt;a href=&#34;https://indieweb.org/Homebrew_Website_Club&#34;&gt;Homebrew Website Club&lt;/a&gt; in Berlin.&lt;/p&gt;
&lt;h3 id=&#34;venue&#34;&gt;Venue&lt;/h3&gt;
&lt;p&gt;The event will be hosted in the eyeo office.&lt;/p&gt;
&lt;a href=&#34;https://goo.gl/maps/DxVLE6f6xVh2gtSAA&#34;&gt;
Zimmerstraße 69&lt;br/&gt;
10117 Berlin&lt;br/&gt;
Germany&lt;br/&gt;
&lt;/a&gt;
&lt;blockquote&gt;
&lt;p&gt;Ring eye/o GmbH doorbell which is located in Zimmerstr. 69, between ishin and Viet bowl. The door on the street is always open, the next one isn&amp;rsquo;t, and the office is at the first floor on the left&lt;/p&gt;</description>
    </item>
    <item>
      <title>Available for hire!</title>
      <link>https://roderick.dk/posts/2020-01-16-available-for-hire/</link>
      <pubDate>Thu, 16 Jan 2020 10:59:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-16-available-for-hire/</guid>
      <description>&lt;p&gt;Full-stack software engineer with a bent towards web standards, quality and longevity of applications available for hire.&lt;/p&gt;
&lt;p&gt;I have worked professionally as a software engineer since the late 90s. I&amp;rsquo;ve seen a good breadth and depth of applications over the years, having worked on green field, established and legacy applications.&lt;/p&gt;
&lt;p&gt;I enjoy improving existing applications as much as working on green field applications.&lt;/p&gt;
&lt;h2 id=&#34;happiness-looks-like&#34;&gt;Happiness looks like&lt;/h2&gt;
&lt;h3 id=&#34;organisation&#34;&gt;Organisation&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.forbes.com/sites/rasmushougaard/2019/03/05/the-power-of-putting-people-first/&#34;&gt;People&lt;/a&gt; &lt;a href=&#34;https://www.inc.com/t-mobile/benefits-of-a-people-first-culture.html&#34;&gt;first&lt;/a&gt; &lt;a href=&#34;https://blog.walkingthetalk.com/archetype-in-focus-the-people-first-culture&#34;&gt;organisations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Diversity and inclusion&lt;/li&gt;
&lt;li&gt;Effective, open, bi-directional communication (&lt;a href=&#34;https://en.wikipedia.org/wiki/Nonviolent_Communication&#34;&gt;NVC&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;product--project&#34;&gt;Product / project&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://producttribe.com/ux-design/user-centered-design-guide&#34;&gt;Users&lt;/a&gt; &lt;a href=&#34;https://www.interaction-design.org/literature/article/5-stages-in-the-design-thinking-process&#34;&gt;first&lt;/a&gt; &lt;a href=&#34;https://medium.com/@jaf_designer/designing-digital-products-user-first-bbf6be44ac3a&#34;&gt;thinking&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.amazon.com/User-Story-Mapping-Discover-Product/dp/1491904909/&#34;&gt;User Story Mapping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://lithespeed.com/throw-agile-estimation-vs-noestimates/&#34;&gt;NoEstimates&lt;/a&gt;, &lt;a href=&#34;https://medium.com/serious-scrum/the-logic-of-noestimates-4238e0be3bb6&#34;&gt;forecasting&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Open minded pragmatism&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;technology&#34;&gt;Technology&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://leanweb.dev&#34;&gt;Lean Web&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Progressive_enhancement&#34;&gt;Progressive Enhancement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://en.wikipedia.org/wiki/Web_standards&#34;&gt;Web standards&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.ecma-international.org/ecma-262/&#34;&gt;ECMA-262&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://www.w3.org/WAI/&#34;&gt;Accessiblity (WAI)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://css-tricks.com/snippets/css/system-font-stack/&#34;&gt;System fonts&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;what-i-am-hoping-to-find-in-my-next-role&#34;&gt;What I am hoping to find in my next role&lt;/h2&gt;
&lt;p&gt;I am hoping to find a diverse team in a diverse organisation (or one that is trending that way). I regularly contribute to open source and hope to continue that work in my next role, perhaps in combination with mentoring of other engineeers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Link: Putting devs before users: how frameworks destroyed web performance</title>
      <link>https://roderick.dk/posts/2020-01-11-link-putting-devs-before-users-how-frameworks-destroyed-web-performance/</link>
      <pubDate>Sat, 11 Jan 2020 12:34:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-11-link-putting-devs-before-users-how-frameworks-destroyed-web-performance/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A well built, performant website can be created with any framework or type of technology in existence. It may be harder with some than others, but it can be done.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The issue is the developer and designer mindset in many companies.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With said mindset being that web development and design should be ‘fun’. I fully believe a lot of developers and software enginers put their job satisfaction above their users or customers.&lt;/p&gt;</description>
    </item>
    <item>
      <title>plete: 2KB autocomplete with zero dependencies</title>
      <link>https://roderick.dk/posts/2020-01-07-plete-2kb-autocomplete-with-zero-dependencies/</link>
      <pubDate>Tue, 07 Jan 2020 21:43:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-07-plete-2kb-autocomplete-with-zero-dependencies/</guid>
      <description>&lt;p&gt;For a project at work, we needed an autocomplete component, that meets the following criteria:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;zero dependencies&lt;/li&gt;
&lt;li&gt;decent WAI-ARIA / accessibility support&lt;/li&gt;
&lt;li&gt;reasonable license&lt;/li&gt;
&lt;li&gt;good test coverage&lt;/li&gt;
&lt;li&gt;remote filtering&lt;/li&gt;
&lt;li&gt;custom rendering of options&lt;/li&gt;
&lt;li&gt;separation of presentation from the value selected&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I am a firm believer in open web standards. Whenever feasible, I prefer to &lt;a href=&#34;https://leanweb.dev&#34;&gt;apply lean web principles and leverage the full feature set of the web platform&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While there is a &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist&#34;&gt;&lt;code&gt;&amp;lt;datalist&amp;gt;&lt;/code&gt; element&lt;/a&gt; in the HTML Living Standard spec, it is not up to par for the requirements listed above.&lt;/p&gt;</description>
    </item>
    <item>
      <title>HWC Berlin, 2020-01-15</title>
      <link>https://roderick.dk/posts/2020-01-07-hwc-berlin-2020-01-15/</link>
      <pubDate>Tue, 07 Jan 2020 19:05:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2020-01-07-hwc-berlin-2020-01-15/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Homebrew Website Club retro graphics image&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/homebrew-website-club.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;On Wednesday 2020-01-15 at 18.30 there will be another &lt;a href=&#34;https://indieweb.org/Homebrew_Website_Club&#34;&gt;Homebrew Website Club&lt;/a&gt; in Berlin.&lt;/p&gt;
&lt;h3 id=&#34;venue&#34;&gt;Venue&lt;/h3&gt;
&lt;p&gt;The event will be hosted in the eyeo office.&lt;/p&gt;
&lt;a href=&#34;https://goo.gl/maps/DxVLE6f6xVh2gtSAA&#34;&gt;
Zimmerstraße 69&lt;br/&gt;
10117 Berlin&lt;br/&gt;
Germany&lt;br/&gt;
&lt;/a&gt;
&lt;blockquote&gt;
&lt;p&gt;Ring eye/o GmbH doorbell which is located in Zimmerstr. 69, between ishin and Viet bowl. The door on the street is always open, the next one isn&amp;rsquo;t, and the office is at the first floor on the left&lt;/p&gt;</description>
    </item>
    <item>
      <title>Homebrew Website Club, 2019-10-30</title>
      <link>https://roderick.dk/posts/2019-10-29-homebrew-website-club-2019-10-30/</link>
      <pubDate>Tue, 29 Oct 2019 11:58:00 +0100</pubDate>
      <guid>https://roderick.dk/posts/2019-10-29-homebrew-website-club-2019-10-30/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Homebrew Website Club retro graphics image&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/homebrew-website-club.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;The next &lt;a href=&#34;https://indieweb.org/Homebrew_Website_Club&#34;&gt;Homebrew Website Club&lt;/a&gt; in Berlin will be on October 30th at 18.30.&lt;/p&gt;
&lt;h3 id=&#34;venue&#34;&gt;Venue&lt;/h3&gt;
&lt;p&gt;We will be hosted by my former client, employer &lt;a href=&#34;https://zalando.de&#34;&gt;Zalando SE&lt;/a&gt;, in one of their offices.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://www.google.com/maps/place/M%C3%BChlenstra%C3%9Fe+25,+10243+Berlin/@52.505676,13.4408892,17.5z/data=!4m5!3m4!1s0x47a84e4f6a2213e3:0xadde84f313f308f9!8m2!3d52.5054036!4d13.4398896&#34;&gt;Zalando SE&lt;br/&gt;
Mühlenstraße 25&lt;br/&gt;
10243 Berlin&lt;br/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There will be a few signs with Homebrew Website Club on them, to make it easy to find and the front desk know we&amp;rsquo;re coming.&lt;/p&gt;
&lt;h3 id=&#34;food--drink&#34;&gt;Food &amp;amp; drink&lt;/h3&gt;
&lt;p&gt;Zalando are treating us to pizza and drinks 👍&lt;/p&gt;</description>
    </item>
    <item>
      <title>Homebrew Website Club, 2019-10-02</title>
      <link>https://roderick.dk/posts/2019-09-27-hwc-2019-10-02/</link>
      <pubDate>Fri, 27 Sep 2019 12:29:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2019-09-27-hwc-2019-10-02/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Homebrew Website Club retro graphics image&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/homebrew-website-club.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;The next &lt;a href=&#34;https://indieweb.org/Homebrew_Website_Club&#34;&gt;Homebrew Website Club&lt;/a&gt; in Berlin will be on October 2nd at 18.30.&lt;/p&gt;
&lt;h3 id=&#34;venue&#34;&gt;Venue&lt;/h3&gt;
&lt;p&gt;&lt;a href=&#34;https://www.iamfy.co&#34;&gt;Fy!&lt;/a&gt;&lt;br/&gt;
Hinterhof Rechts - 5&amp;rsquo;&lt;br/&gt;
Glogauer Strasse 5&lt;br/&gt;
10999 Berlin&lt;/p&gt;
&lt;p&gt;There will be a few signs with Homebrew Website Club on them, to make it easy to find.&lt;/p&gt;
&lt;h3 id=&#34;structure&#34;&gt;Structure&lt;/h3&gt;
&lt;p&gt;We will try to follow the &lt;a href=&#34;https://indieweb.org/Homebrew_Website_Club#structure&#34;&gt;recommended structure&lt;/a&gt;. This means we will have a &amp;ldquo;Quiet Writing Hour&amp;rdquo;, which I am very excited about.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Lean Web book</title>
      <link>https://roderick.dk/posts/2019-09-17-the-lean-web-book/</link>
      <pubDate>Tue, 17 Sep 2019 11:11:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2019-09-17-the-lean-web-book/</guid>
      <description>&lt;p&gt;The &lt;a href=&#34;https://leanweb.dev/ebook/&#34;&gt;Lean Web book&lt;/a&gt; is very good and recommended for anyone buidling things for the web.&lt;/p&gt;
&lt;p&gt;&lt;a href=&#34;https://gomakethings.com&#34;&gt;Chris Ferdinandi&lt;/a&gt; has managed to capture many of the thoughts and ideas, that many of us of have been thinking about since the &amp;ldquo;JavaScript revolution&amp;rdquo; started.&lt;/p&gt;
&lt;p&gt;There&amp;rsquo;s &lt;a href=&#34;https://leanweb.dev/talk/&#34;&gt;a talk&lt;/a&gt; too, if you&amp;rsquo;re more into that.&lt;/p&gt;
&lt;p&gt;Via &lt;a href=&#34;https://adactio.com/links/15817&#34;&gt;adactio&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Why should I self-publish on the web?</title>
      <link>https://roderick.dk/posts/2019-09-13-why-should-i-self-publish/</link>
      <pubDate>Fri, 13 Sep 2019 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2019-09-13-why-should-i-self-publish/</guid>
      <description>&lt;p&gt;Here&amp;rsquo;s yet another example of what can happen, when you give control over your content to 3rd parties.&lt;/p&gt;
&lt;p&gt;They put up a pay wall (or the equivalent thereof, you pay with your identity):&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;Medium&amp;rsquo;s pay wall&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/medium-pay-wall.png&#34;&gt;&lt;/p&gt;
&lt;p&gt;Medium has decided that their commercial goals are more important than the author&amp;rsquo;s need to have their audience able to read their content.&lt;/p&gt;
&lt;p&gt;This is far from a unique case, nor one that is specific to Medium. But, it beautifully illustrates why we need to be in control of our own content on the web.&lt;/p&gt;</description>
    </item>
    <item>
      <title>A couple of things about the climate crisis</title>
      <link>https://roderick.dk/posts/2019-09-11-a-couple-of-things-about-the-climate-crisis/</link>
      <pubDate>Wed, 11 Sep 2019 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2019-09-11-a-couple-of-things-about-the-climate-crisis/</guid>
      <description>&lt;p&gt;It seems the world is finally waking up to the fact that we have a climate crisis.&lt;/p&gt;
&lt;p&gt;We owe a great thanks to &lt;a href=&#34;https://en.wikipedia.org/wiki/Greta_Thunberg&#34;&gt;Greta Thunberg&lt;/a&gt; and all the children and young adults that are striking to keep society and governments aware of the crisis.&lt;/p&gt;
&lt;h3 id=&#34;what-can-we-do&#34;&gt;What can we do?&lt;/h3&gt;
&lt;p&gt;I don&amp;rsquo;t think of myself as a great world citizen and am trying to do better. Here are a couple of things that I think are worth doing in pursuit of that goal.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Homebrew Website Club, Berlin</title>
      <link>https://roderick.dk/posts/2019-09-06-homebrew-website-club-berlin/</link>
      <pubDate>Fri, 06 Sep 2019 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2019-09-06-homebrew-website-club-berlin/</guid>
      <description>&lt;p&gt;&lt;img alt=&#34;Homebrew Website Club retro graphics image&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/homebrew-website-club.jpg&#34;&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Homebrew Website Club is a growing world-wide network of meetups for everyone who wants to take back their web experience from social media silos, and own their online identities &amp;amp; content, or just want support with blogging!&lt;/p&gt;
&lt;p&gt;Want to blog more but struggling with:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ideas&lt;/li&gt;
&lt;li&gt;momentum&lt;/li&gt;
&lt;li&gt;confidence&lt;/li&gt;
&lt;li&gt;writing skills&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Join a gathering of like-minded people and get friendly support with writing, creating, and anything to do with using and improving your own website!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Choose Boring Technology</title>
      <link>https://roderick.dk/posts/2019-09-01-choose-boring-technology/</link>
      <pubDate>Sun, 01 Sep 2019 23:14:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2019-09-01-choose-boring-technology/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;If you’re giving individual teams (or gods help you, individuals) free reign to make local decisions about infrastructure, you’re hurting yourself globally.
It’s freedom, sure. You’re handing developers a ball of chain and padlocks and telling them to feel free to bind themselves to the operational toil that will be with them until the sweet release of grim death.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;ndash; Dan McKinley in &lt;a href=&#34;http://boringtechnology.club/&#34;&gt;Choose Boring Technology&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;If your work is in creating and maintaining software, you should read this.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pick Your Culture First and Foremost</title>
      <link>https://roderick.dk/posts/2019-09-01-pick-your-culture-first-and-foremost/</link>
      <pubDate>Sun, 01 Sep 2019 22:20:00 +0200</pubDate>
      <guid>https://roderick.dk/posts/2019-09-01-pick-your-culture-first-and-foremost/</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Learning how to pick your battles is also about learning how to pick your company and pick your boss, because your job really shouldn’t be all or even mostly about battles. Going through this exercise of solving an unowned problem is fun once in a while, but it’s a real drag when you feel like you’re surrounded by such problems, you can’t ignore them, and you’re powerless to fix them. That is a good sign that it’s time to find a new job, preferably somewhere that is more in tune with your way of doing things. Life is so much more fun when you have people around you that you trust to solve problems, even the problems you have a lot of opinions about.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Red bell, green bike</title>
      <link>https://roderick.dk/posts/2019-08-31-red-bell-green-bike/</link>
      <pubDate>Sat, 31 Aug 2019 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2019-08-31-red-bell-green-bike/</guid>
      <description>&lt;p&gt;Some years ago, when I still lived in Malmö, I bought a &lt;a href=&#34;https://www.pilencykel.se/en/pilen-lyx-gents-duragreen-brooks-b66-brown/&#34;&gt;Pilen Lyx &lt;/a&gt; bicycle. Actually, I ended up buying two. The first one got stolen within the first year, probably by the gang of bicycle thieves that were caught with a van full of stolen, new bicycles within a year.&lt;/p&gt;
&lt;p&gt;Anyway, my &lt;em&gt;second&lt;/em&gt; &lt;a href=&#34;https://www.pilencykel.se/en/pilen-lyx-gents-duragreen-brooks-b66-brown/&#34;&gt;Pilen Lyx&lt;/a&gt; looked like this:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;My nearly new pilen bicycle&#34; loading=&#34;lazy&#34; src=&#34;https://roderick.dk/images/2019-08-31/1-800.jpg&#34;&gt;&lt;/p&gt;
&lt;p&gt;I love this bicycle. Of the bicycles I&amp;rsquo;ve owned, this is my favourite.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Avoid double exclamations in JavaScript</title>
      <link>https://roderick.dk/posts/2018-09-10-avoid-double-exlamations/</link>
      <pubDate>Mon, 10 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2018-09-10-avoid-double-exlamations/</guid>
      <description>&lt;p&gt;There is a common misuse of JavaScript&amp;rsquo;s type coercion that I see in code reviews. It&amp;rsquo;s the terse use of two exclamation marks to convert a &lt;a href=&#34;https://developer.mozilla.org/en-US/docs/Glossary/Truthy&#34;&gt;truthy&lt;/a&gt; value to a &lt;code&gt;Boolean&lt;/code&gt; value.&lt;/p&gt;
&lt;p&gt;Here&amp;rsquo;s an example:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;someValue&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;I like apple pie&amp;#34;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;userLikesPie&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;!!&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;someValue&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;// userLikesPie is now `true`
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I think this is a misuse for two reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;it obscures intent for people that are not fully aware of JavaScript coercion&lt;/li&gt;
&lt;li&gt;it is easy to introduce a mistake that can be difficult to detect&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;As for the first point, you could argue that it is the reader&amp;rsquo;s responsibility to educate themself in order to fully understand the code. However, there isn&amp;rsquo;t much value in winning that argument if the reader misunderstands the code and introduces new bugs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>cv as markdown</title>
      <link>https://roderick.dk/posts/2014-08-28-cv-as-markdown/</link>
      <pubDate>Thu, 28 Aug 2014 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2014-08-28-cv-as-markdown/</guid>
      <description>&lt;details&gt;
    &lt;summary&gt;This post is outdated!&lt;/summary&gt;
    &lt;p&gt;
        This post is referencing &lt;code&gt;Jekyll&lt;/code&gt;, &lt;code&gt;Rake&lt;/code&gt; and the like, which I no longer use for managing this site. Some links are broken.
    &lt;/p&gt;
    &lt;p&gt;
        I&#39;m leaving the post as-is, for posterity.
    &lt;/p&gt;
&lt;/details&gt;
&lt;hr&gt;
&lt;p&gt;For a while I&amp;rsquo;ve had a &lt;a href=&#34;http://getbootstrap.com&#34;&gt;Bootstrap&lt;/a&gt; based cv on this site. While it showed that I am capable of writing HTML, it was a pain to edit. As most people will attest to, keeping your cv up to date is one of their least favourite tasks. Adding HTML doesn&amp;rsquo;t make it any more enjoyable.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Full Frontal Conf 2012</title>
      <link>https://roderick.dk/posts/2012-11-13-full-frontal-conf-2012/</link>
      <pubDate>Tue, 13 Nov 2012 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2012-11-13-full-frontal-conf-2012/</guid>
      <description>&lt;p&gt;This was my third time attending the Full Frontal conference, so I thought that this year I should actually take time to write a little blog post about it.&lt;/p&gt;
&lt;p&gt;I took a week off from work to be fully able to enjoy visiting Brighton and seeing friends. Experience has shown me that in the week around Full Frontal, the city is full of geeks and there is much socialising to do. This year was no exception.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Simulate slow web connections</title>
      <link>https://roderick.dk/posts/2012-05-11-simulate-slow-web-connections/</link>
      <pubDate>Fri, 11 May 2012 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2012-05-11-simulate-slow-web-connections/</guid>
      <description>&lt;p&gt;While you&amp;rsquo;re working on your own computer and accessing webapps running on that computer, response times are going to be &lt;strong&gt;fast&lt;/strong&gt;. Most of the day, this is what we want. Working on your local machine, your webapp should be as fast as you can possibly make it.&lt;/p&gt;
&lt;p&gt;But, for some situations, we need to examine how our application behaves when network connections are suboptimal.&lt;/p&gt;
&lt;p&gt;On unix based systems there are a multitude of ways to slow down connection speeds of the entire system. Asking on Twitter, I learned that Apple recently released &lt;a href=&#34;http://mattgemmell.com/2011/07/25/network-link-conditioner-in-lion/&#34;&gt;Network Link Conditioner&lt;/a&gt; for OSX Lion.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Speaking at Community Day 2012</title>
      <link>https://roderick.dk/posts/2012-05-03-speaking-at-community-day/</link>
      <pubDate>Thu, 03 May 2012 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2012-05-03-speaking-at-community-day/</guid>
      <description>&lt;p&gt;A while a ago I was approached by &lt;a href=&#34;http://twitter.com/#!/dalager&#34;&gt;@dalager&lt;/a&gt;, who asked if I would be interested in giving my introductory talk about &amp;ldquo;&lt;a href=&#34;http://communityday2012.c1preprod01.composite.net/Program/Javascript-Closures&#34;&gt;Closures, this, call and apply&lt;/a&gt;&amp;rdquo; to a local audience at &lt;a href=&#34;http://communityday2012.c1preprod01.composite.net/Program&#34;&gt;Community Day&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I am pretty much always excited about the opportunity to exchange knowledge and ideas with my tribe. So, after figuring out that I would in fact be in the area at the time of the conference, I jumped at the opportunity. With the current schedule, I&amp;rsquo;ll be speaking in the afternoon&amp;hellip; immediately after lunch.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Blog makeover</title>
      <link>https://roderick.dk/posts/2011-12-27-blog-makeover/</link>
      <pubDate>Tue, 27 Dec 2011 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2011-12-27-blog-makeover/</guid>
      <description>&lt;p&gt;Finally, I&amp;rsquo;ve gotten round to migrating my blog from &lt;a href=&#34;http://webby.rubyforge.org/&#34;&gt;Webby&lt;/a&gt; to &lt;a href=&#34;https://github.com/mojombo/jekyll&#34;&gt;Jekyll&lt;/a&gt;. I guess it really is true that the shoemaker&amp;rsquo;s children go barefoot.&lt;/p&gt;
&lt;p&gt;There are a few reasons for my move away from Webby and into the open arms of Jekyll.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I got really tired of writing Textile, even for the small amounts I write on this website, it got tedious. With Jekyll I write Markdown, and it&amp;rsquo;s much more enjoyable.&lt;/li&gt;
&lt;li&gt;Jekyll has an active community. The community around Webby is very small, and there are very few updates to the software.&lt;/li&gt;
&lt;li&gt;People &lt;a href=&#34;https://github.com/mojombo/jekyll/wiki/Sites&#34;&gt;share their Jekyll sites on github&lt;/a&gt;, so we can even learn from each other.&lt;/li&gt;
&lt;li&gt;It seems I am always working on my website during xmas.&lt;/li&gt;
&lt;li&gt;My dislike for writing Textile actually stifled my urge to write mostly anything on the old blog.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While I still don&amp;rsquo;t have a new design (as in created by an actual designer), I am happier with the un-design of the current state than I ever was with the previous one.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Code Retreat Berlin</title>
      <link>https://roderick.dk/posts/2011-07-10-code-retreat-berlin/</link>
      <pubDate>Sun, 10 Jul 2011 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2011-07-10-code-retreat-berlin/</guid>
      <description>&lt;p&gt;On Saturday 2011-07-09 I attended &lt;a href=&#34;coderetreat-berlin.de/&#34;&gt;Code Retreat Berlin&lt;/a&gt;, these are my notes.&lt;/p&gt;
&lt;p&gt;For those that have not been to or heard of code retreats, let me just quickly sketch out the concept. A code retreat is a place where programmers can practice their craft and improve their collaborative skills. Just like musicians need to practice, so do programmers.&lt;/p&gt;
&lt;p&gt;The day is divided up into six sessions of 45 minutes with a little retrospective break in between, and of course a lunch break. During the sessions you pair up with another programmer, and do pair programming, working on &lt;a href=&#34;http://www.conwaylife.com/wiki/Conway&#39;s_Game_of_Life&#34;&gt;Conway&amp;rsquo;s Game of Life&lt;/a&gt;. Not surprisingly, the sessions were over much too quickly, just as the going was getting good.&lt;/p&gt;</description>
    </item>
    <item>
      <title>jQuery Data Link considered harmful</title>
      <link>https://roderick.dk/posts/2010-11-03-jquery-data-link-considered-harmful/</link>
      <pubDate>Wed, 03 Nov 2010 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2010-11-03-jquery-data-link-considered-harmful/</guid>
      <description>&lt;p&gt;&amp;ldquo;Considered harmful&amp;rdquo; has always been good link bait.&lt;/p&gt;
&lt;p&gt;I am not trying to start a flamewar, but merely express my concerns over the recent decisions of the jQuery team to actively endorse plugins that deserves no special treatment from any other plugins out there.&lt;/p&gt;
&lt;p&gt;If you have different opinions, please do respond in the comments or write a blog post expressing them.&lt;/p&gt;
&lt;h2 id=&#34;extending-globals-with-interesting-side-effects&#34;&gt;Extending globals with interesting side effects&lt;/h2&gt;
&lt;p&gt;When Prototype was first released, everyone was &lt;strong&gt;really&lt;/strong&gt; excited and could suddenly do a lot more with JavaScript across browsers, that would have been considered almost a black art before (to some it still is).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing PubSubJS, a library for doing publish/subscribe in JavaScript</title>
      <link>https://roderick.dk/posts/2010-10-12-introducing-pubsubjs-a-library-for-doing-publish-subscribe-in-javascript/</link>
      <pubDate>Tue, 12 Oct 2010 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2010-10-12-introducing-pubsubjs-a-library-for-doing-publish-subscribe-in-javascript/</guid>
      <description>&lt;p&gt;For quite a while, I have been working on a large web application for a client. For &lt;a href=&#34;http://en.wikipedia.org/wiki/Publish/subscribe&#34;&gt;publish/subscribe&lt;/a&gt; style messaging in the web frontend, we use jQuery custom events triggered on the body element. This is quite a neat trick to ensure loose coupling of modules, since you&amp;rsquo;re really just tracking what the user does, and not what module happened to generate the message.&lt;/p&gt;
&lt;p&gt;This approach has been introduced to my team by me, and I have been very eager to help my team mates understand how to use it.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introducing FailFast, a JavaScript library for failure</title>
      <link>https://roderick.dk/posts/2010-09-02-introducing-failfast-a-javascript-library-for-failure/</link>
      <pubDate>Thu, 02 Sep 2010 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2010-09-02-introducing-failfast-a-javascript-library-for-failure/</guid>
      <description>&lt;p&gt;Tomorrow I will be attending &lt;a href=&#34;http://2010.dconstruct.org/&#34;&gt;dConstruct 2010&lt;/a&gt;, which I am very excited about. I flew in a day early, so I could get some time to enjoy Brighton. One of the first stops has been &lt;a href=&#34;http://theskiff.org/&#34;&gt;The Skiff&lt;/a&gt;, &amp;ldquo;a nice little place to work in the middle of Brighton&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The Skiff is indeed a very nice place: very few interruptions and very friendly people. While sitting at my visitors desk, I&amp;rsquo;ve managed to finally finish a little JavaScript library, that has been a very long time in the making: &lt;a href=&#34;http://github.com/mroderick/FailFast&#34;&gt;FailFast&lt;/a&gt;. All it took was tidying up the documentation and writing the last few missing unit tests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IE8 Getting EcmaScript 262 rev. 5 Compliant Native JSON</title>
      <link>https://roderick.dk/posts/2010-02-26-ie8-getting-ecmascript-262-rev5-compliant-native-json/</link>
      <pubDate>Fri, 26 Feb 2010 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2010-02-26-ie8-getting-ecmascript-262-rev5-compliant-native-json/</guid>
      <description>&lt;p&gt;Earlier this week, Microsoft posted an article with details on udpates to the native JSON implementation in IE8.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Because of the new ECMAScript specification changes, some customers have reported issues. These issues are caused by deviations between the native JSON feature in Internet Explorer 8 and the final specification. An update is now available to address these customer issues and improve JSON interoperability of Internet Explorer 8. This update enables JSON interoperability of Internet Explorer 8 to keep in conformance with the new &amp;ldquo;ECMAScript, fifth edition&amp;rdquo; standard specification.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Juicer 1.0.0 Released</title>
      <link>https://roderick.dk/posts/2010-02-26-juicer-1-0-0-released/</link>
      <pubDate>Fri, 26 Feb 2010 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2010-02-26-juicer-1-0-0-released/</guid>
      <description>&lt;p&gt;Earlier today &lt;a href=&#34;http://cjohansen.no/en/&#34;&gt;Christian Johansen&lt;/a&gt; pushed the button and &lt;a href=&#34;http://groups.google.com/group/juicer-dev/browse_thread/thread/1ce8b35ab2ccccae&#34;&gt;published Juicer v1.0.0 as a gem&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For those unfamiliar with &lt;a href=&#34;http://github.com/cjohansen/juicer&#34;&gt;Juicer&lt;/a&gt;, it&amp;rsquo;s an open source Ruby based tool that allows you to merge and minify your JavaScript and CSS files. Internally, Juicer uses &lt;a href=&#34;http://www.jslint.com/&#34;&gt;JSLint&lt;/a&gt; to keep your JavaScript in good shape and supports both YUI Compressor and Google Closure Compiler to make your CSS and JavaScript files as small as possible.&lt;/p&gt;
&lt;p&gt;I have written about &lt;a href=&#34;https://roderick.dk/2009/11/04/speeding-up-your-webby-site-with-juicer/&#34;&gt;speeding up your Webby site with Juicer&lt;/a&gt; previously, and with the new version there are even more features to like. These are the new features that exites me the most&lt;/p&gt;</description>
    </item>
    <item>
      <title>Speeding Up Your Webby Site With Juicer</title>
      <link>https://roderick.dk/posts/2009-11-04-speeding-up-your-webby-site-with-juicer/</link>
      <pubDate>Wed, 04 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-11-04-speeding-up-your-webby-site-with-juicer/</guid>
      <description>&lt;p&gt;On this blog I use several stylesheets to keep things (somewhat) organised. This allows me to upgrade my &lt;code&gt;coderay.css&lt;/code&gt; file or my &lt;a href=&#34;http://devkick.com/lab/tripoli/&#34;&gt;Tripoli CSS&lt;/a&gt; stylesheets without having to reorganise everything.&lt;/p&gt;
&lt;p&gt;But, just because I like to organise my code into managable chunks, doesn&amp;rsquo;t mean that I have to degrade the performance of the site for the visitors.&lt;/p&gt;
&lt;p&gt;To help me improve performance by both reducing total transfer size and amount of requests for stylesheets, I&amp;rsquo;ve added &lt;a href=&#34;http://github.com/cjohansen/juicer&#34;&gt;Juicer&lt;/a&gt; to the mix.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Perfect Pitch</title>
      <link>https://roderick.dk/posts/2009-11-03-perfect-pitch/</link>
      <pubDate>Tue, 03 Nov 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-11-03-perfect-pitch/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;http://adactio.com/journal/1623/&#34;&gt;Perfect Pitch&lt;/a&gt; is an article by Jeremy Keith that discusses some recent issues and misuses of DMCA unfairly to destroy competitors search engine rankings.&lt;/p&gt;
&lt;p&gt;It all started out as an innocent comment about attaining &lt;a href=&#34;http://www.thesession.org/discussions/display/21250&#34;&gt;Perfect Pitch&lt;/a&gt; on The Session.&lt;/p&gt;
&lt;p&gt;This is really just another one of those examples of American legislation that got implemented without any real thought of the consequences or of how it could be misused, not entirely unlike the Intellectual Property and Patents legislation in the U.S. &lt;em&gt;GO Lobbyists!!!&lt;/em&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Combining JavaScript Files - Juicer vs Sprockets</title>
      <link>https://roderick.dk/posts/2009-10-04-combining-javascript-files-juicer-vs-sprockets/</link>
      <pubDate>Sun, 04 Oct 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-10-04-combining-javascript-files-juicer-vs-sprockets/</guid>
      <description>&lt;p&gt;Currently working on a project that has well defined use of &amp;ldquo;namespaces&amp;rdquo; and structured use folders for its JavaScript files. I wanted to investigate the options for combining and minifying JavaScript files.&lt;/p&gt;
&lt;p&gt;I need a tool that:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;can be run from command line (my team uses many different editors and IDEs)&lt;/li&gt;
&lt;li&gt;will work on both Windows and Unix based platforms&lt;/li&gt;
&lt;li&gt;does not require huge, obscure configuration files&lt;/li&gt;
&lt;li&gt;can merge sources recursively&lt;/li&gt;
&lt;li&gt;has an acceptable software license (MIT / Apache / BSD)&lt;/li&gt;
&lt;li&gt;is thorougly tested&lt;/li&gt;
&lt;li&gt;is extensible&lt;/li&gt;
&lt;li&gt;can work with any JavaScript framework&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I settled for trying out &lt;a href=&#34;http://github.com/cjohansen/juicer&#34;&gt;Juicer&lt;/a&gt; and &lt;a href=&#34;http://getsprockets.org&#34;&gt;Sprockets&lt;/a&gt;, since both tools met the requirements and were the only high-quality tools on my radar.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Installing Mercurial With Bash Completion from MacPorts</title>
      <link>https://roderick.dk/posts/2009-08-28-installing-mercurial-with-bash-completion/</link>
      <pubDate>Fri, 28 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-08-28-installing-mercurial-with-bash-completion/</guid>
      <description></description>
    </item>
    <item>
      <title>TextMate snippet for creating Low Pro Behaviors</title>
      <link>https://roderick.dk/posts/2009-08-16-textmate-snippet-for-creating-low-pro-behaviors/</link>
      <pubDate>Sun, 16 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-08-16-textmate-snippet-for-creating-low-pro-behaviors/</guid>
      <description>&lt;h2 id=&#34;behaviours&#34;&gt;Behaviours&lt;/h2&gt;
&lt;p&gt;To encapsulate complex javascript behaviour on websites, I have been using &lt;a href=&#34;http://www.danwebb.net/lowpro&#34;&gt;Dan Webb&amp;rsquo;s Low Pro&lt;/a&gt; library for several years. Low Pro allows you to create self-contained Behavior classes, which avoids polluting the global namespace with variables and makes for very easy re-use of code.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve previously given a little &lt;a href=&#34;http://roderick.dk/blog/2009/05/07/introduction-to-low-pro-for-prototype/&#34;&gt;introduction to Low Pro for Prototype&lt;/a&gt; at a local Meetup event, where I show an example of creating your own behaviours.&lt;/p&gt;
&lt;h2 id=&#34;textmate-snippet&#34;&gt;Textmate snippet&lt;/h2&gt;
&lt;p&gt;Today, I finally got around to creating a &lt;a href=&#34;http://gist.github.com/168604&#34;&gt;TextMate snippet for creating new Behaviors&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Disable Webpage Preview Images in Safari 4 Final</title>
      <link>https://roderick.dk/posts/2009-08-03-disable-webpage-preview-images-in-safari-4-final/</link>
      <pubDate>Mon, 03 Aug 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-08-03-disable-webpage-preview-images-in-safari-4-final/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve finally managed to switch off the final remnant of the Top Sites feature in Safari 4, the automatic generation of &amp;lsquo;Webpage Previews&amp;rsquo;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve previously written about how to &lt;a href=&#34;http://roderick.dk/blog/2009/07/02/reclaim-disk-space-from-safari-4/&#34;&gt;Reclaim Disk Space From Safari 4&lt;/a&gt;, where I detailed how to set up a job to cleanup the Webpage Previews cache folder.&lt;/p&gt;
&lt;p&gt;Luckily, that exercise has now become obsolete, thanks to reports on several sites, which I can&amp;rsquo;t remember.&lt;/p&gt;
&lt;p&gt;Below are listed the Terminal commands to verify disk use and apply the changes to Safari.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Virtual Hosts on OS X Leopard</title>
      <link>https://roderick.dk/posts/2009-07-08-setting-up-virtual-hosts-on-os-x-leopard/</link>
      <pubDate>Wed, 08 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-07-08-setting-up-virtual-hosts-on-os-x-leopard/</guid>
      <description>&lt;p&gt;Working with a new client and getting back to my roots of doing pure frontend development, I had to set up a virtual host for development on my MBP.&lt;/p&gt;
&lt;p&gt;When working with Rails, I usually just use &lt;code&gt;script/server&lt;/code&gt; and/or Passenger to serve my applications&amp;hellip; in this situation i just needed to serve some static files.&lt;/p&gt;
&lt;p&gt;I found &lt;a href=&#34;http://mark-kirby.co.uk/2008/setting-up-virtual-hosts-on-os-x-leopard/&#34;&gt;Mark Kirby&amp;rsquo;s excellent tutorial on Setting up virtual hosts on OS X Leopard&lt;/a&gt; and am posting it here, so I won&amp;rsquo;t forget in the future.&lt;/p&gt;</description>
    </item>
    <item>
      <title>LowPro Updated for Firefox 3.5</title>
      <link>https://roderick.dk/posts/2009-07-02-lowpro-updated-for-firefox-3.5-compatibility/</link>
      <pubDate>Thu, 02 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-07-02-lowpro-updated-for-firefox-3.5-compatibility/</guid>
      <description>&lt;p&gt;Firefox 3.5 was recently released, and offers significant updates. If you have not upgraded yet, you should &lt;a href=&#34;http://mozilla.org/firefox&#34;&gt;do so now&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In the &lt;a href=&#34;http://groups.google.com/group/low-pro&#34;&gt;LowPro community&lt;/a&gt;, we have been tracking compatibility with the upcoming Firefox. The existing LowPro was compatible with Firefox 3.5RC2, but incompatible with the final release of Firefox 3.5.&lt;/p&gt;
&lt;p&gt;So, if you are using LowPro, &lt;em&gt;you should upgrade with a new version of LowPro today&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;You can either go for &lt;a href=&#34;http://github.com/danwrong/low-pro&#34;&gt;Dan Webb&amp;rsquo;s original version&lt;/a&gt; or try out &lt;a href=&#34;http://github.com/mroderick/lowpro&#34;&gt;my minification-friendly fork&lt;/a&gt; (there is a minified version in dist).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Reclaim Disk Space From Safari 4</title>
      <link>https://roderick.dk/posts/2009-07-02-reclaim-disk-space-from-safari-4/</link>
      <pubDate>Thu, 02 Jul 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-07-02-reclaim-disk-space-from-safari-4/</guid>
      <description>&lt;p&gt;Having a MacBook Pro that seems to be continually low on disk space, I set out to tidy up a bit using the &lt;a href=&#34;http://www.omnigroup.com/applications/omnidisksweeper/&#34;&gt;excellent and free OmniDiskSweeper&lt;/a&gt;. It will help you identify where all your disk space is going. Use with caution though, and always have a recent backup.&lt;/p&gt;
&lt;p&gt;After tidying up all over the file system, I noticed that the Safari cache was enourmous &amp;hellip; 1.2GB in my case. Further investigation revealed that most of that space was taken up by Webpage Previews, used by the top sites feature in Safari 4. As I don&amp;rsquo;t care for that feature, I have disabled it with the following command&lt;/p&gt;</description>
    </item>
    <item>
      <title>Introduction to Low Pro for Prototype</title>
      <link>https://roderick.dk/posts/2009-05-07-introduction-to-low-pro-for-prototype/</link>
      <pubDate>Thu, 07 May 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-05-07-introduction-to-low-pro-for-prototype/</guid>
      <description>&lt;p&gt;Tonight I gave a lightweight introduction to &lt;a href=&#34;http://lowprojs.com&#34;&gt;Low Pro&lt;/a&gt; for Prototype at the &lt;a href=&#34;http://www.meetup.com/The-Oresund-JavaScript-Meetup/&#34;&gt;Öresund JavaScript meetup&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For those that missed it, or just want to study the example again, you can &lt;a href=&#34;https://roderick.dk/presentations/introduction-to-low-pro-for-prototype/Introduction-to-Low-Pro-for-Prototype.pdf&#34;&gt;see the slides as a PDF&lt;/a&gt;, &lt;a href=&#34;https://roderick.dk/presentations/introduction-to-low-pro-for-prototype/intro.html&#34;&gt;see the sample&lt;/a&gt; or &lt;a href=&#34;presentations/introduction-to-low-pro-for-prototype/Introduction-to-Low-Pro-for-Prototype.zip&#34;&gt;download a zip file with everything&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The meetup was very informal and there were also two other presentations: Mats Bryntse gave an overview of &amp;ldquo;What&amp;rsquo;s new in EcmaScript 3.1&amp;rdquo; and Rasmus Olausson showed us a &amp;ldquo;Hello world with Google Web Toolkit&amp;rdquo; as well as how to beat his Sudoku webapp :-)&lt;/p&gt;</description>
    </item>
    <item>
      <title>IE6 Background flicker once again</title>
      <link>https://roderick.dk/posts/2009-03-27-ie6-background-flicker-once-again/</link>
      <pubDate>Fri, 27 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-03-27-ie6-background-flicker-once-again/</guid>
      <description>&lt;p&gt;Every once in awhile you come across one of those Internet Explorer 6 issues that tries it&amp;rsquo;s hardest to be really annoying. Today was one of those days with IE.&lt;/p&gt;
&lt;p&gt;Having flown out to work directly with a client&amp;rsquo;s web team yesterday, I spent some time today cursing at IE6 and trying to deal with a weird flickering of the webpage, apparently caused by hovering over a menu.&lt;/p&gt;
&lt;p&gt;After about 40 minutes, I had the palm&amp;ndash;meets&amp;ndash;forehead &amp;ldquo;heureka&amp;rdquo; moment, and recognised that the bug I was seeing was in fact the infamous IE6 background flicker bug, which I&amp;rsquo;ve exterminated on other sites before.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sitemaps With Webby</title>
      <link>https://roderick.dk/posts/2009-03-23-sitemaps-with-webby/</link>
      <pubDate>Mon, 23 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-03-23-sitemaps-with-webby/</guid>
      <description>&lt;p&gt;As a followup to my two part article about &lt;a href=&#34;https://roderick.dk/2009/03/16/creating-sitemaps-with-comatose-cms/&#34;&gt;Creating Sitemaps with Comatose CMS&lt;/a&gt;, I wanted to share with you, how I am currently implementing Sitemaps on this blog.&lt;/p&gt;
&lt;p&gt;After taking a stab at implementing my own solution for about 10 minutes (with &lt;a href=&#34;http://webby.rubyforge.org/&#34;&gt;Webby&lt;/a&gt;, you get surprisingly far in 10 minutes), I used my google-fu and found an article about &lt;a href=&#34;http://www.opensourcery.co.za/2008/10/19/easy-googleyahoo-sitemaps-with-webby&#34;&gt;Easy Google/Yahoo! Sitemaps with webby&lt;/a&gt;. Implementation took about 5 minutes, and I have have a fully functional Sitemap.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Adding Page Caching to Sitemaps</title>
      <link>https://roderick.dk/posts/2009-03-17-adding-page-caching-to-sitemaps/</link>
      <pubDate>Tue, 17 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-03-17-adding-page-caching-to-sitemaps/</guid>
      <description>&lt;p&gt;The shortest distance between two points is not a straight line. The shortest distance is zero. Admittedly, we&amp;rsquo;re not about to fold space or do time travel, but you get the idea.&lt;/p&gt;
&lt;p&gt;Likewise, for any web framework, the fastest way to deliver content to clients is to not use the framework at all, but let the webserver serve static files to clients.&lt;/p&gt;
&lt;p&gt;In Rails this means using page caching and leave the heavy lifting to the webserver. Keeping your cache fresh and still maintaining stellar performance might seem like a daunting task, but Rails gives you quite a bit of help, so it is actually not that hard to do.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Creating Sitemaps with Comatose CMS</title>
      <link>https://roderick.dk/posts/2009-03-16-creating-sitemaps-with-comatose-cms/</link>
      <pubDate>Mon, 16 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-03-16-creating-sitemaps-with-comatose-cms/</guid>
      <description>&lt;p&gt;For some time now, I&amp;rsquo;ve been using &lt;a href=&#34;http://github.com/darthapo/comatose/tree/master&#34;&gt;Comatose CMS&lt;/a&gt; for client sites. It is quite possible the smallest Rails based CMS, having only the features you need for most sites and flexible enough to allow you to extend it if you need to.&lt;/p&gt;
&lt;p&gt;Whenever you&amp;rsquo;re doing content publishing, you should make it as easy as possible for search engines to find and catalog our content. In this post I will show you how you can create a simple &lt;a href=&#34;http://www.sitemaps.org&#34;&gt;Sitemap&lt;/a&gt; from a Comatose CMS.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Hello world, webby!</title>
      <link>https://roderick.dk/posts/2009-03-11-hello-world-webby/</link>
      <pubDate>Wed, 11 Mar 2009 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2009-03-11-hello-world-webby/</guid>
      <description>&lt;p&gt;You might wonder what is going on with this site right now, and it might look very incomplete at the moment you are viewing it.&lt;/p&gt;
&lt;p&gt;I am rebuilding the website using &lt;a href=&#34;http://webby.sourceforge.org&#34;&gt;Webby&lt;/a&gt;, a small web generation tool. It is purely a learning experience, but with a very tangible end goal: an easy-to-manage blog.&lt;/p&gt;
&lt;p&gt;Predictions are that the site will be updated at highly irregular intervals, as I am hacking away at just about everything at once.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to create un-indexable content for missing javascript warnings</title>
      <link>https://roderick.dk/posts/2008-11-20-un-indexable-javascript-warnings/</link>
      <pubDate>Thu, 20 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2008-11-20-un-indexable-javascript-warnings/</guid>
      <description>&lt;p&gt;At Gazebo we love to use unobtrusive enhancement to make our solutions available to the biggest possible audience, and greatly improve the experience for users with sophisticated user-agents.&lt;/p&gt;
&lt;p&gt;This usually means:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Create semantic, valid markup, which can be read by any browser, including phones&lt;/li&gt;
&lt;li&gt;Add styling via CSS, to make it look nice in modern, sophisticated browsers&lt;/li&gt;
&lt;li&gt;Sprinkle a little javascript, to make it all &lt;em&gt;behave&lt;/em&gt; nicely for supported user-agents&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To control decoration, when javascript IS available, I usually add &lt;code&gt;js-enabled&lt;/code&gt; or something similar to the classname of the &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; element. This allows me differentiate the styling of widgets for when javascript is available, and allows a controlled fallback decoration, for when it is not.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing Bus Error / Segfault in Rcov</title>
      <link>https://roderick.dk/posts/2008-11-16-fixing-bus-error-segfault-in-rcov/</link>
      <pubDate>Sun, 16 Nov 2008 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/posts/2008-11-16-fixing-bus-error-segfault-in-rcov/</guid>
      <description>&lt;p&gt;We have recently run into problems with &amp;ldquo;rcov&amp;rdquo;:http://eigenclass.org/hiki/rcov crashing with seemingly random errors, like&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/Library/Ruby/Gems/1.8/gems/activesupport-2.1.1/lib/active_support/core_ext/symbol.rb:11: &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;BUG&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; Bus Error ruby 1.8.6 &lt;span class=&#34;o&#34;&gt;(&lt;/span&gt;2008-03-03&lt;span class=&#34;o&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;universal-darwin9.0&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Having CruiseControl.rb suddenly claim that all builds are broken, get&amp;rsquo;s to be very annoying. Working on a large project without coverage reports is just not the same, once you get hooked on thoroughly testing the application you&amp;rsquo;re working on.&lt;/p&gt;
&lt;p&gt;After some hunting around on Google, it turns out that &lt;a href=&#34;http://eigenclass.org/hiki/rcov-0.8.1&#34;&gt;others&lt;/a&gt; have run into &lt;a href=&#34;http://rspec.lighthouseapp.com/projects/5645/tickets/309-fix-for-rcov-segfault&#34;&gt;similar problems&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>CV for Morgan Roderick</title>
      <link>https://roderick.dk/cv/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://roderick.dk/cv/</guid>
      <description>Engineering leader with 25&#43; years experience. Currently Senior Engineering Manager at Pleo, leading 15 engineers across Payments. Seeking Staff/Principal Engineer or Engineering Manager roles.</description>
    </item>
  </channel>
</rss>
