<?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>Web on roderick.dk</title>
    <link>https://roderick.dk/tags/web/</link>
    <description>Recent content in Web on roderick.dk</description>
    <image>
      <title>roderick.dk</title>
      <url>https://roderick.dk/images/cv-og.png</url>
      <link>https://roderick.dk/images/cv-og.png</link>
    </image>
    <generator>Hugo -- 0.148.2</generator>
    <language>en-gb</language>
    <lastBuildDate>Sun, 19 Jan 2020 11:28:00 +0000</lastBuildDate>
    <atom:link href="https://roderick.dk/tags/web/index.xml" rel="self" type="application/rss+xml" />
    <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>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;</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;</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;</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;</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;</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;</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;</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>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;</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;</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;</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;</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>
  </channel>
</rss>
