Hopefully everyone will stop running around like headless chickens soon.
In the meantime, this site’s privacy notice is here.
Being the thoughts and writings of one Gustaf Erikson; father, amateur photographer, technologist.
More stuff can be found at gerikson.tumblr.com and Flickr.
I tweet at @gerikson.
Follow my bookmarks at Pinboard.
Hopefully everyone will stop running around like headless chickens soon.
In the meantime, this site’s privacy notice is here.
I’ve removed the Disqus integration as I almost never get any comments anyway. If you have a comment, ping me on Twitter.
I’ve now put all my Pinboard links into a separate blog: gerikson.com/linkblog.
Here’s the feed URL.
The site looks like crap right now but having it in a separate blosxom install will make it easier to tweak the CSS so it looks good for this specific format.
I finally got my ass in gear and moved from Delicious to Pinboard, and in the process got a bit carried away and coded a bunch of scripts to import my links into this blog.
So now I have basically all my links mirrored here, minus the ones that are dead (about 20%!). They will be updated every week going forward. Enjoy!
If you’re seeing this post, I’ve moved the blog to my “own” domain gerikson.com.
Update: comments should be migrated! Kudos to Disqus for providing the tools to do this!
Last month I didn’t post anything to this blog, which is the first time in its history I’ve missed a month. Looks like the little grid I coded can deal with null values: see here. It’s always good to have a test value for zero or null.
Well there’s a reason I haven’t been posting much, crazy work and not really anything else to talk about. I’ve started sharing stuff in Google Reader more though, and there’s always Twitter.
Here’s a random late winter/early spring pic to symbolize the season:
I wrote a little plugin to expand f-numbers to nice hooked italics, like so: ƒ/1.4. The plugin also handles ranges, like ƒ/2.8-4. You can find it here.
Comments welcome!
I’ve started using lighttpd to serve this blog. The plan is to move the entire site to a new domain but I need to get some things in place before that.
Let me know if something is amiss!
Thanks to an administrative snafu, this blog was offline for a bit. Thanks Rafe for taking time off from his coverage of Mobile World Congress in Barcelona to fix this!
OK so some weeks have passed and my Tumblr is getting more posts. Mostly of the “post a link/quote/observation” type. The bookmarklet is pretty amazing. If you just select something on a page and use it, it automatically assumes it’s a quote-type post. Pain free posting. Beats the hell out of my earlier method, which was sending an email to my blog, which in its turn was quicker than firing up emacs, deciding on a title etc.
I’m not really sure how I should continue using this in the future. On the one hand, having one centralised location for all my “activity” online is pretty neat. On the other, it gets spammy fast, and I’d like to keep this blog high-signal, low-noise, building on my personal brand.
So expect more quick throwaway entries on Tumblr. Feel free to add the feed to your aggregator.
Oh, and I’ve removed the stuff mentioned earlier. Only original content.
I’ve started using Disqus, these are the steps I went through to integrate it into my Blosxom installation.
Blosxom plugins:
Register at Disqus. When at the blog integration, stage, choose “other”.
You’ll get 3 pieces of generated code:
In your story.$flavour
template, add the commenting section:
<?$pagetype::pagetype eq="story">
<div id="disqus_thread"></div><script type="text/javascript"
src="http://disqus.com/forums/<username>/embed.js"></script>
<noscript>
<a href="http://<username>.disqus.com/?url=ref">
View the forum thread.</a>
</noscript>
</?>
In conjunction to your story meta information (permalink etc) add the following:
<?$pagetype::pagetype ne="story">
<span class="comment-link">
<a href="$url$path/$fn.html#disqus_thread">Comments (View)</a>
</span>
</?>
The value of the href tag should essentially be the same as your permalink value.
Near the end of your foot.$flavour
template:
<?$pagetype::pagetype ne="story">
<!-- disqus comment count code -->
<script type="text/javascript">
[ ... rest of code in item 3 above ... ]
<!-- end disqus code -->
</?>
Unclear? Leave a comment!
Update 2007-12-13: there’s an entry on the Disqus site discussing how to style Disqus elements with CSS.
I noticed that some blogs have started adding little buttons and links to their posts enabling the reader to submit the story to del.icio.us or Digg with one easy click.
(As an aside, now that I’m, actually reading Digg, I doubt that this is a good idea. Oh well.)
I decided I wanted to have a shot at Internet stardom, and that customized submit links for each and every post was the way to achieve it. To this end, I coded the submit plugin.
This plugin constructs submission URLs based on the current story’s
title and permalink, and exposes them in variables such as
$submit::delicious
that can be used to generate links and buttons.
It’s literally a 10-minute hack, feel free to download it and improve it.
I’ve long been concerned that people finding my weblog via Google or other search engines get directed to my archive or category pages (like gerikson.com/blog/scrivener) instead of the individual entries. A whole year’s postings may contain enough terms to lead people to it, even though the individual posts don’t.
This is annoying for users and wastes bandwidth. I didn’t know how to fix it until I found this article by Fazad Majil. It described my problem exactly and recommended putting the following meta tags in the <head>
of the relevant pages:
<meta name="robots"
content="noindex,follow" />
This will allow the pages to be followed but not indexed or cached.
The problem was how to distinguish chronological archive and category
pages from the main page or story pages. The solution was Barijaona
Ramaholimihaso’s
pagetype
plugin. This gives you a variable you can check against with
interpolate_fancy
.
My head.html
template now contains the following code:
<?$pagetype::pagetype like="(category|chrono)">
<meta name="robots" content="noarchive,noindex,follow,nocache" />
</?>
I haven’t noticed a significant slowdown in traffic to the affected pages, but that will take some time.
Next up is getting “Previous” and “Next” links up to each story. Barijaona has a plugin for that too, prevnextstory
, but I haven’t had time to implement it yet.
Update 2006-08-24: I basically tried to reimplement this from scratch, even sending a message to the Blosxom mailing list asking for tips.
I’m a bit scared, am I senile already?
Anyway, I removed the “noarchive, nocache” directives. Dunno why I put them in from the beginning.
I’ve started to amass a few blosxom plugins that I’d like to share, so I’ve created a new category plugins to keep them in one place. Most are pretty basic, and I haven’t had time to ensure that they’re as general or easy to configure as I’d like. Comments and patches are welcome.
Here’s what’s up now:
Coming soon: the submit
plugin.
This plugin allows you to define acronyms and abbreviations. When they
appear in a post, the acronym will be wrapped in <acronym>
tags and
you’ll get a handy tooltip explaining what it means.
(Here is the original post about this.)
This plugin allows you to add a description to your categories. I use it on category pages to explain what the category is about, and also in tooltips in the category links for each story.
(Here is the original post about this.)
The plugin
rendertime
allows you to see how long it takes to render all or parts of a
blosxom blog. When I tried it, the default version didn’t work on my
site. So I updated it to use the standard Perl module Time::HiRes
. You can
get the updated version
here.
(Here is the original post about this.)
I had some problems with corrupted entries in the indexfile for
entriescache
recently. Yesterday it happened again, which pissed
me off no end. So I’ve been researching ways to prevent this.
My first thoughts were to use a real version control system, like CVS or Subversion. I could then use the revision tags to keep track of creation and update times. But this wasn’t an option for me, as neither CVS nor SVN exist on my host, and I don’t feel like compiling them statically.
So I had a look at the entriescache
plugin itself. There’s an option
to write a meta-creation_date
when the post is indexed. This is
then “authoritative” in case the timestamp in the index file is
changed.
The problem was that I had edited my some of my posts a lot of times
since starting to use entriescache
. So I wrote a script that updated
(or rather, backdated) the timestamps according to the data in the
index file (which had been restored from backups). After this, I
changed the option that controls whether the plugin will write a meta
tag, and reindexed.
Voila! I now have a meta tag in each and every post that can be used to keep track of the posts creation time if all else fails. And since it’s added by the plugin, I don’t have to add it manually in the editor.
I made a slight change to the plugin too: the default timestamp format is in the middle-endian US way (MM/DD/YYYY). I modified it to write and read ISO 8601 dates instead.
I’ve long wanted to automatically add a <acronym
title="explanation">TLA</acronym>
to all the TLA ’s and FLA ’s in my
posts. And I don’t want to do it by hand, not when I use Markdown for
everything else.
I asked around on the Blosxom list and got pointers to two existing plugins, Autolink by Fletcher T. Penney, and Automatic LuckyGoogle by Todd Larason. I found Fletcher’s code easier to grok, being more or less what I started hacking myself before I got bogged down in the plugin internals of blosxom… So I copy-pasted some stuff and now I can type XSLT and get a cool dotted underline and a tooltip.
One small step for me, an even tinier step for the semantic web.
Update 2006-03-02: you can get the plugin here.
It’s with some amusement that I saw a question on the blosxom list go from my own hapless contribution to a full fledged plugin in less than 24 hours. (The gory details are here.)
My idea was
category_desc
,
the code was Stu McKenzie’s. I guess I’ll take up the baton and write
some documentation.
The basic premise was that I wanted to provide a more detailed
description of a category when viewing its “front page”
(http://www.foo.com/blog/bar/ for the category “bar”, for example.)
The link between categories and descriptions is in the %descriptions
hash. This hash is accesses by the head
sub and the variable
$category_desc::description
is accessible in the head.foo
flavour.
Caveats: you have to know how to write Perl for this plugin to work for you.
You can see it in action at http://gerikson.com/blog/alt.
You can also do this with the config
plugin and with
postheadprefoot
. In both those cases, a file has to be created in
each category directory. This method keeps everyhing in a central
place.
Update 2005-08-28: the information is now available in the story flavour too: Stu explains it here.
Update 2006-03-02: you can get the plugin here.
Some people want us all to use the ubiquitous XML icon. Other people think it’s ugly. And some of us wouldn’t care one way or another — myself included — if we didn’t know that Dave Winer is responsible for it.
Anyway, I’m replacing that icon with a blogbutton: . But before I banish it into the bit
bucket, I’ll share with you how it’s made. It’s not an image, but a
bit of CSS:
<a title="RSS 1.0" href="https://gerikson.com/blog/weblog/index.rdf"
style="border:1px solid; border-color:#FC9 #630 #330 #F96;
padding:0 3px;font:bold 10px verdana,sans-serif;
color:#FFF;background:#F60;text-decoration:none;margin:0;">XML</a>
that looks like this when rendered: XML.
Cool huh? I got it off the net somewhere along the way. Thought I’d share. If someone owns up to claim authorship, drop my a line.
I might add that my objections to the icon is not primarily aesthetic (after all, the replacement is orange too, but that’s OK, because orange is the new black) but functional. The XML icon implies something else than a link to a syndication feed. I must admit I was puzzled the first time I encountered it. Then I found out what it was for. But it is puzzling. The new icon at least advertises what it is in a better way.
Update: Ned has another CSS logo.