Tuesday, 2022-05-31

Thursday, 2022-05-19

Libera.chat, one year later

One year ago, the failed businessman and accused felon Andrew Lee burned the Freenode network to the ground in a fit of childish pique. Luckily, responsible people were hip to his inept shenanigans and managed to launch a new network - Libera.chat - under his very nose.

In the intervening year, Freenode is a shadow of its former self. Even the alt-right lowlifes who gleefully became mods to settle old scores have slunk away to their slimy holes, and what’s left is an empty tomb, briefly visited by confused chatters who haven’t gotten the memo.

About 2 months after the events, I wrote the following little essay which never got polished enough for publication. I figured I could just dump it here now.

Slava Libera!

IRC culture wars (2020-07-20)

IRC as a mainstream cultural phenomenon peaked in 2002. At around that time, Freenode was started to address the issues with IRC as it was: spam, warez, channel and nick hijacking, and a general juvenile attitude.

Freenode saw a need for FOSS projects to have stability. To be able to claim and keep the channels they wanted, to be able to address spam and trolls, and to have a stable environment to point users to.

At the time, Freenode was the fussy nerd, not participating in the chaos the cool kids reveled in. But it filled the need for FOSS projects, and found its own niche within IRC.

As time passed, people left IRC, but many FOSS projects stayed on Freenode. This meant that as time passed, Freenode become more and more dominant within IRC. And the IRC culture that Freenode fostered became the norm, instead of the exception.

As IRC shrank, those that held the old IRC ideals dear were forced to use Freenode more and more. There they came into conflict with the Freenode norms. Conflicts about channel ownership and the wider issues of “free speech” erupted and were dealt with. Coupled with the entryism strategy of the alt-right and the general undercurrent of right-libertarianism of FOSS, this created a minority of dissidents on Freenode, at least as well versed in IRC warfare as the staff.

The takeover/coup of Freenode should be seen in this context. The dominant ideology of new Freenode is free speech, anti-LGBT, and adherence to fringe Unix shibboleths such as anti-systemd, anti-Codes of Conduct, and anti anti-RMS. And they would have gotten away with it too, had not the old staff adroitly moved to Libera.chat, and convinced almost every FOSS project to move too. Those that didn’t move were soon alienated by the new staff, who were more interested in settling old scores than the boring work of IRC stewardship.

Andrew Lee and his hardcore supporters are now betting that there’s still a market for old-style IRC, while at the same time loudly proclaiming their continued allegiance to FOSS. But their victory is hollow. They have won the battle but probably lost the war.

Monday, 2022-05-16

PSA: unmaintained project channels on Freenode automatically redirect to #freenode

During the management changes at Freenode in Jul 2021, all access lists and channel ownerships were reset. Existing channels that were not reclaimed by projects now automatically redirect to the main channel, which is #freenode.

If you have a specific question about a project, please make sure you’re actually in a maintained channel, and not in the main channel.

If the channel is not maintained, try checking the project’s homepage for their IRC presence. It’s usually under the “Community” section.

Saturday, 2022-04-30

Gemini in April

Link to portal.

Thursday, 2022-03-31

Gemini in March

I’m really enjoying using my gemlog to vent.

Link to portal.

Wednesday, 2022-03-02

Gemini in February

Some more action as I struggle with some server update issues. Other internal Gemini guffing is overshadowed by world events.

Link to portal.

Tuesday, 2022-02-15

Gemini: TLS and its discontents

(originally posted to ๐Ÿš€ my gemlog) gemini://gerikson.com/gemlog/gemini-sux/TLS-and-its-discontents.gmi

The TLS requirement of Gemini never really grabbed me. Solderpunk laid out the reason in this gopher post:

  • ๐Ÿฟ Why gopher needs crypto gopher://zaibatsu.circumlunar.space/0/~solderpunk/phlog/why-gopher-needs-crypto.txt

Encryption schemes like TLS aim to provide three things: authentication, integrety, and (transmission) confidentiality. Gemini fails to provide two of them.

The problems with TLS on Gemini can be summarized as follows:

External dependencies on a 3rd party library

This makes server development fragile, and complicates it to little gain.

Harder for older hardware to use gemini

On the one hand - super simple protocol that’s easy to parse!

On the other - you need to be able to handle the latest crypto.

TOFU stinks - authentication and integrity

To avoid the complexities of PKI (via Certificate Authorities), Gemini is ok with TOFU (Trust On First Use), which basically means the client will more or less blindly accept whatever cert comes down the pipe. This can crucially be a man-in-the-middle cert. This means that potentially nothing on a gemsite can be trusted to not be manipulated by the MiTM, including any metadata about the certificate.

Not that this really matters, because most clients don’t show any metadata anyway.

To fully trust a server cert under TOFU, the user must

  • be able to view the metadata
  • be able to compare that to a known source - which is impossible to provide on the gemsite itself. The “best” solution is a HTTPS site known to be under the control of the gemsite operator.

In addition, many gemsite operators (re-)use certs meant for HTTPS, often provided via Let’s Encrypt (see below). These certs have a short validity, so if you visit many gemsites, be prepared to see the popup about the cert being changed many times. Is it due to cert rollover or a hostile MiTM? Who knows?

The same goes for stuff like PGP keys, and potentially politically sensitive speech, which was a big selling point in Solderpunk’s original proposal to add encryption to Gopher.

An entry into the pro-column: encrypted transit (confidentiality)

So what’s left? ISPs etc. cannot directly read Gemini traffic. But they can see that Alice’s IP has visited Bob’s IP, using a port other than 443. If gemini ever becomes big, the use of gemini on port 1965 itself is a decent fingerprint. Expect ads appearing in your browsing advertising gemini-adjacent products, like ortholinear keyboards and off-grid cabin living.

Great DANE to the rescue?

DANE does seem to be a nice end-run around the need for CA certs. But they are much harder to set up compared to generating a self-signed cert.

An aside: “Let’s Encrypt!” - but why?!

Let’s Encrypt is an impressive project. They’ve managed to streamline the issuence of TLS certs for websites, they’re running a “real” CA, and they’re doing it at no cost to the user. Behind LE is EFF and other boosters of the 90s Net vision of pervasive encryption. If everyone encrypts traffic, it doesn’t stand out as much, and we are all safer (for some libertarian values of safer). And of course, mainstream browsers are slowly ratcheting up the pressure by showing scary warning triangles for plain http:// sites.

I resisted getting a CA cert for my website for a long time because I only serve read-only content. The main selling point for such sites from LE was

  • authentication - the website is identified through the cert
  • integrity - the contents of the website cannot be altered in transit.

Confidentiality sounds cool but if you’re not serving sensitive data it’s not that big a deal.

Gemini is largely read-only and specifically designed to be that way. The fact that TOFU negates authentication and integrity makes it even more ironic that it was saddled with TLS.

A missed opportunity?

In retrospect, it would have been nice for Gemini to be usable without TLS, and TLS to either use CA certs or DANE (ideally DANE, to kickstart that a bit). But right now, we’re stuck with it.

I don’t see it as a reason not to use Gemini, but I will continue to point out the inherent uselessness of it going forward.


Bjรถrn (ew0k) has already written about this, I suggest reading the following which are coming from someone who knows their stuff:

Tuesday, 2022-02-01

Gemini in January

As expected, big slowdown. I still find gemini a good place to rant though.

Link to portal.

Friday, 2021-12-03

Gemini in November

Not quite as much as last month but still keeping up a decent pace.

Link to portal.

Sunday, 2021-10-31

Sunday, 2021-10-10

Proposal for healthy webforums

This archived Kuro5hin post by user ‘anaesthetica’ poses a number of provocative questions, and although dated (posted 2009) still has relevance for today’s fora.

It’s a long read, I’ve reproduced the conclusion below.


There are serious problems with existing web forums’ institutional capacity to sustain constructive interaction over the long term. The foregoing has been an attempt to rethink what constitutes community and society on the web, and what the requirements for sustaining them are in an environment of rapid scaling.

The conclusions reached about the weaknesses of current forums are:

  • Eternal September presents web forums with an inability to avoid the dilemma that scaling creates for socialization.
  • Community and society, as forms of interaction, are not just different in scale but also different in kind.
  • Community doesn’t scale, and society is difficult to enforce.
  • User registration and barriers to participation do not prevent community-destroying behavior.
  • Scale quickly outpaces moderators’ ability to enforce socialization of new users.
  • Current forms of user moderation and trust ratings are vulnerable to gaming and attack.

Recommendations for a hypothetical forum structure are summarized as follows:

  • Forced anonymity fosters society by countering vanity, making users modular, and placing the focus on the content/comments.
  • Moderation can be improved by making it passive, scarce, and focused on comment quality rather than agreement with the substance of the comment.
  • Conversation, not isolated comments or voting scores, must be the central criterion of user interaction.
  • Communal groupings can emerge organically from society based on demonstrated constructive conversation.
  • Forums should discriminate between original content, link-n-blurb content, and personal content.
  • Story promotion and front page position should be determined by quality of conversation not voting.

It should be stressed that none of these are radical innovations. Most are already implemented piecemeal in some form or another in the various web forums, bulletin boards, chat rooms, and newsgroups throughout the internet. But there is no forum providing a coherent combination of these elements. I believe that these factors will provide the institutional foundation for a web forum that can achieve a greater scale-free status than any that we currently possess.

Tuesday, 2021-09-28

Gemini: the misaligned incentives

This is a followup to this post.

Since last time I took a dump long hard critical look at Gemini, I’ve decided to set up a server: gemini://gerikson.com. This article is reproduced there.

This has forced me to actually write gemtext, and boy do I not like it.

How does gemtext suck? Let me count the ways:

Long-ass lines

The Gemini protocol works line by line, so if you, like me, have been writing prose for time out of mind and have relied on your editor to justify paragraphs so the line isn’t just one long one… a client will probably mangle these, depending on the width it is using to display paragraphs. You get unbelievably ugly ragged borders.

But, the documentation says,

This means that, e.g. “dot point” lists or poems with deliberately short lines will be displayed correctly without the author having to do any extra work or the client having to be any smarter in order to recognise and handle that kind of content corectly. (sic!)

So, in order for simpler handling of “dot point” lists or poems, every author of gemtext will have to either live with long lines, or, more likely, introduce a software component before publishing to convert normally justified text paragraphs to long lines.

There’s another effect that I’ve noticed - boneheaded treatment of “text units” such as ISO dates and URIs. Most clients will happily treat a hyphen as an invitation to make a line break, regardless if this mangles dates or stuff like long command line options.

No inline links

I’ve already ranted about this, but now I’ve read some more Gemini content, and I still believe this is the greatest loss of Gemini. Hypertext is its own thing. Being able to be creative, or strict, or whimsical, or coherent with how you place your links or how you add the link text is a great expansion of human expression through text.

Gemini throws this away. It shows in most prose written in gemtext. The links are awkwardly placed, and the “placeholder” markers (such as numbers or brackets) to connect the text to the link below has not gelled to a standard.

No text markup (italics or bold)

Centuries of typographical refinement and tradition, thrown away for no good reason.

Note that this extents to newer conventions like code fragments, these are only supported as blocks, not inline.

What I don’t actively despise

The limit to 3 header levels and lack of numbered lists are personally ok for me.

Gemini culture prioritizes developers to a fault - but only up to a point

Just today I found a link about something called “favicon.txt” - essentially a single emoji that the console client I use (amfora) could use as a site identifier in its tabs.

In any normal project, this would have been seen as a cool feature, but in Gemini it is seen as a harbinger of the adtech apocalypse. The protocol is fixed in stone - for the stated reason that it should be easy for a normally talented developer to code a client over a weekend.

There’s nothing inherently wrong with this ambition, but it must be realized that it turns the usual developer/user dynamic on its head. Normally, the user’s requirements are interpreted by the developer, who makes concessions based on the user’s explicit and implicit actions. For example, the ubiquitous hashtag was something that emerged organically among Twitter’s users, and which the service incorporated as a new feature.

This makes economic sense as an expression of comparative advantage. Generally, users are prepared to “pay”[1] to not have to code something themselves. The developer can be seen a domain expert, prepared to spend time and resources to craft a product that appeals to the most users.

But Gemini states, as part of its explicit goals, that the protocol should be easy to develop for. This shifts the burden from the few (developers) to the many (users). To accommodate the ease of developers, users’ expression must be hobbled.

But it also means that developer’s natural curiosity has to be limited, lest they stray from the one true path of being able to easily develop a new client, should they wish to.

In short, Gemini is aligned towards a new developer, not invested in the ecosystem, to come in and develop software - but once they try to transition to a seasoned developer, or a user, the ecosystem denies them room to grow, to identify the pain points that have been overlooked by the original designers, or to take the project in a new direction.

As I’ve stated before, I’m sympathetic to the goals of Gemini, but the means are entirely inadequate to reach those goals. It’s an exercise in technical asceticism, dressed up in idealism.

Update Wednesday, 2021-09-29

This piece was submitted to lobste.rs and Hacker News and I think generated some interesting discussions. I urge the reader to peruse these to see where I am utterly incorrect above.

[1] this payment need not be monetary, as in the case of deep breath Free/Libre and Open Source Software.

Tuesday, 2021-06-15

A Farrago of Freenode Fuckery

Well it’s been a crazy few weeks.

  • 2017 - in a shady deal, Andrew Lee acquires some assets related to Freenode.
  • 2021-mid May - rumblings about weird goings-on at Freenode appear online. Draft resignation letters are leaked.
  • 2021-05-19 - Andrew Lee asserts control. Former Freenode staffers formally resign, Libera.chat is opened
  • 2021-05-22: seizure of channels mentioning Libera.chat begins
  • 2021-05-26 - in an attempt to take over channels that had moved to Libera and set to invite-only, someone fat-fingers a script and takes over all channels mentioning Libera in its topic. Reportedly, over 700 channels are affected. Here’s my side of the story. See also
  • 2021-05-26 - support channels on Freenode erupt in anger over the channel seizures. Someone “accidentally” blocks a CIDR /16 block
  • 2021-06-01 - Fosshost enters partnership with Freenode
  • 2021-06-09 - a server restart leaves service accounts (NickServ, ChanServ) wide open to be taken by regular users - thereby potentially exposing user passwords. The user who takes NickServ is swiftly promoted to staff.
  • 2021-06-10 - an attempt to k-line cloaked users who had chatted in ##moving-to-libera backfired when the entire IRCcloud was k-lined
  • 2021-06-11 - Fosshost ends Freenode partnership
  • 2021-06-11 - Wikipedia GC k-lined
  • 2021-06-11 - #python channel terminated, group contact Ned Batchelder k-lined, 800 users kicked out
  • 2021-06-12 - #linux, #fsf and #gnu channels are forcibly taken over by Freenode staff, and access lists rewritten. Topics changed. My logs (provided to Freenode boosters Techrights because they did not believe what had happened)
  • 2021-06-13 - IRCcloud is banned again, on purpose this time. Staff let’s us know this was the plan all along, as a paid service IRCcloud is “leaching” off Freenode
  • 2021-06-15 - Freenode moves to a new IRCd and drops all existing nick and channel registrations. The shell of the old Freenode is no more
  • 2021-06-16 - after a chaotic day with two incompatible networks, Lee pulls the plug on Freenode “classic”. A deathly silence spreads across the field, only broken by raucous crows feasting upon the bodies of the slain.

Today, I checked my existing connection to Freenode. I still had access to the old NickServ.

07:39 -- MSG(nickserv): info gustaf
07:39 -- NickServ (NickServ@services.): Information on gustaf (account gustaf):
07:39 -- NickServ (NickServ@services.): Registered : Jul 28 22:07:55 2004 (16y 46w 3d ago)
07:39 -- NickServ (NickServ@services.): Last seen  : now
07:39 -- NickServ (NickServ@services.): Logins from: gustaf
07:39 -- NickServ (NickServ@services.): Nicks      : gustaf gustaf_ gerikson
07:39 -- NickServ (NickServ@services.): *** End of Info ***

07:47 -- โ”‚ NickServ (NickServ@services.): The account gustaf has been dropped.


What was all this about? In three weeks, an IRC network that’s lasted for twenty years was flown into a mountain. Was that the plan all along?

Or is it wrong to ascribe to malice or forethought that which can be more adequately explained by stupidity or drug-fueled mania?

Anyway, watching Freenode implode is a bit like being on a ship that’s foundering. Almost everyone makes it over to another safely, and we’re standing at the railing, seeing the old ship slip beneath the waves. Some rats and trolls follow it down. It’s a sad memory, but in the end, it was only a name.

Friday, 2021-06-11

Why Gemini is not my favorite internet protocol

TL;DR: the Gemini protocol removes too much functionality for it to interesting to me.

What is Gemini?

Gemini is a simple web publishing protocol. It can be seen as a descendant, successor of Gopher. Gemini primarily emphasizes developer simplicity, and secondarily user privacy.

This comes with significant trade-offs for the author, however. Compared to standard vanilla HTML4, there are no inline links, no provision for media other than text on a page, and the styling of the content is left to the client.

My background is in web publishing - I’ve been fascinated by publishing since I was a kid and I’ve been involved in printing zines and in student newspapers etc through the years. The idea that I can publish what I want, when I want, at whatever lengths I want, for effectively free, is still mind-blowing to me, almost 30 years since I copied some HTML code and made it mine.

Here’s where Gemini falls down for me.

First, there’s no official client. The fact that it’s so easy to implement a client means there’s a Cambrian explosion going on, and the filtering die-back has not yet occurred. This might change in the medium future.

Second, the styling limitations are crippling. I can probably survive without having images etc. on the same page, but the lack of inline links (each link has to be on its own line) leads to stilted, quasi-academic jargony text like this:

Check out my cool blog[1]! It’s full of cats!

[1] https://gerikson.com/blog

I’m not going to abandon three decades of hypertext authoring habits to make a developer’s life slightly easier.

Third, Gemini puts the cart before the horse when it comes to privacy. The solution to widespread tracking and user surveillance isn’t a bespoke hairshirt protocol that no-one is going to use. The solution is widespread legislation that makes using people’s personal data for targeted advertising illegal or very expensive. (This is not limited to Gemini. A great many influential Internet people are convinced politics is utterly broken, so “technical solutions” are all that’s left).

Gemini, to me, is part of the nostalgia for a past that never really was — the halcyon days of the Internet, before the Eternal September. But time is the great filter. What has survived from that era is not the spam, the pointless Usenet arguments, the shitposting, but finely polished nuggets. If you weren’t there, it might have seemed a paradise, but I was, and it wasn’t. It was today’s internet, but text-only and with proportionally even more white dudes.


This entry was submitted to Lobste.rs and spawned an interesting discussion. Among others, this piece was posted (comments), and this post was also mentioned.

I suggest those interested in Gemini and what it means to people to read the linked items and discussions.

I’d also like to clarify that I wrote this rant basically to have a single place to point Gemini proselytizers to. I need to emphasize that if you personally use Gemini, or find Gemini useful or fun, more power to you! I am not suggesting you stop or that your efforts are in vain.

Sadly, there are some Gemini enthusiasts who are the equivalent of people handing out flyers for some obscure club, and who get shirty when you try to politely explain that you’re not interested in attending. Those people are annoying, and they give Gemini a bad name.

Saturday, 2021-06-05

Death of a channel

This is a short write-up of how a channel on Freenode was hijacked by staff, and how it was effectively deleted.


The channel #photography was founded on Freenode in 2001, as a channel to discuss photography. Its single-hash status was challenged by Freenode staffer lilo, and it was changed to #photogeeks to comply with the requirement for single-hash channels to be associated with a project.

In 2006, the channel #photo was registered to discuss photography per se, and not gear. Quite soon the channel became social in nature, and it was hidden and a password set.

Over the years, about a dozen people used this channel as a social space to discuss everything under the sun.


When the takeover of Freenode by Andrew Lee occurred, the channel was registered on Libera.chat, and on 2021-05-21, the topic was updated to say

09:07  -!- gustaf changed the topic of #photo to: this channel is now up and running on Libera.chat (same pwd), but this place is still the primary! | Discord bolthole - https://discord.gg/XXXX

On 2021-05-26, the channel was hijacked:

05:02  -!- freenodecom <~com@freenode/staff> has joined #photo
05:02  -!- mode/#photo (+o freenodecom) by freenodecom
05:02  -!- freenodecom changed the topic of #photo to: This channel has moved to ##photo. The topic is in violation of freenode policy: https://freenode.net/policies
05:02 <@freenodecom> This channel has been reopened with respect to the communities and new users. The topic is in violation of freenode policy: https://freenode.net/policies
05:02  -!- mode/#photo (+o freenodecom) by OperServ
05:02 <@freenodecom> The new channel is ##photo
05:02  -!- mode/#photo (-s+t) by ChanServ
05:02  -!- mode/#photo (+spimf ##photo) by freenodecom
05:02  -!- freenodecom <~com@freenode/staff> has left #photo ()
05:02  -!- mode/#photo (+f ##photo) by freenodecom
07:37 < gustaf> <abbr title="what the fsck">wtf</abbr>
07:37  -!- #photo Cannot send to nick/channel

(all times are in CEST).

A few hours later, Andrew Lee (rasengan) sent a network-wide wallop informing users that an attempt to enforce newly instituted rules against advertising other IRC networks had been overly broad and targeted more channels than intended.

It’s clear that our channel was included in this.

Users were encouraged to submit a request to Freenode staff to get their channels back.


The “regulars” of the channel were contacted via PM and informed that the Freenode channel was now closed. Most moved over to Libera. A few mentioned that they were permanently leaving Freenode.

As a good faith effort, prompted by Freenode promoters, I attempted to regain control of the channel at Freenode, but was informed that having a single-hash channel was not according to policy. The request was denied.


I’ve written this post to present my side of the story. Over the last weeks, I’ve been told on Freenode that the widespread channel hijacking of 26 May 2021 (some reports say that 700+ channels were affected) was either not as widespread as reported, or “justified” to stem the flow of users to Libera.

I’m also a member of the channel #lobsters, which suffered the same fate. However, in that case, the project had officially moved, and the Freenode channel was locked. Based on Lee’s rationale, I actually find the hijack justified, as there were presumably people who would prefer to remain on Freenode and discuss the site there. However, note that there very little warning before this happened. There was no attempt to contact the project to present Freenode’s case as a better IRC host than Libera. Freenode instead unilaterally decided they knew better than the project’s themselves.

When Libera was announced, I did not feel that the urgency presented by the staff there was entirely justified. Never would I imagine that Andrew Lee would, within a week, exceed those warnings by a wide margin.

He and the current Freenode staff have proven that they cannot be trusted to be stewards of communities, by hijacking channels and disrupting them. They have proven to be incompetent, by affecting more channels than intended. They have proven to be discourteous, by requiring channel owners affected by their incompetence to apply, hat in hand and papers in order, for their channels to be reinstated. And finally, they’ve proven to be bad business people, by alienating their future customers and torching their future income stream.


I’m nostalgic for my almost 17 year old Freenode account. But the more time passes, the more bitter I become. I’m going to hang around in some channels to see how things work out. I’m open to a more humble approach from Freenode staff and boosters. But if I feel I can’t be a part of a network that treats its users as peons to be exploited, I’m out.

Thursday, 2009-06-25

Facebook advertising fail

Facebook should be a marketer’s dream. Or rather, someone who wants to sell ads on Facebook must have the easiest job in the world.

Here’s what Facebook knows about me: I’m a late-30s married dude living in Stockholm. I’m a graduate of one of Sweden’s engineering universities. I work for an American company. I enjoy photography and am a bit of a gadget nerd.

So why am I getting cheesy ads for dating services and stuff for golfers?


Someone’s just being lazy.

Edit looking at the pic I see that the ads aren’t even written in correct Swedish. “Gรถr nรฅgot med det”? “Golfare som vill ha more”? I have graduated high school, you morons.

Thursday, 2009-02-26

Twitter via IRC done right

Twitter is IRC 2.0 as much as Web 2.0, but just as Notepad is both more popular and less featured than emacs, most Twitter clients (including the webpage) lag far behind the awesome, polished tool that is irssi for chatting.

Sure, there are stop-gaps. Before Twitter decided that their chat interface was either too difficult to keep running, or they realised it was an end-run around SMS and potential ad revenue, you could use BitlBee to chat from your IRC client. Then there’s twirssi which frankly just feels weird.

I made do with the most excellent ttytter for a while, but I missed nice things like tab completion and scrollback, along with real command-line editing.

Enter tircd, the Twitter IRC daemon. It’s not for everyone, but if you’re comfortable with irssi and screen there should be no issues in getting it going. The instructions are clear and to the point. Once running, connect to the Twitter “server” by running:

/connect 6667 <password> <username>

and join the channel #twitter.

Your latest status will be reflected in the topic. Your follower’s entries are shown just like in IRC, and friends are “voiced” (their nick has a preceding plus-sign), a very nice touch.

I’ve only been running tircd since today, but so far it’s the best Twitter client for the console that I’ve used. Highly recommended.

Friday, 2008-06-27

Swedish iPhone prices

So Telia finally released pricing details for the iPhone 3G and to no-one’s surprise they basically suck.

There’s no flat-rate data plan. If you pay the highest plan (859 SEK/month) you get 1GB free data. Thereafter the daily data cost is capped to 9 SEK.

If you choose the 16GB model and pay the highest plan for 24 months, you’ll pay 21,400 SEK in total (24,000 SEK if you max out your internet 3 days a week).

Cheapest deal in total is the 8GB with cheapest plan in 18 months, 7,880 SEK. The cheapest 16GB is 8,680 SEK.

In contrast, you can buy a fully unlocked 16GB model from Italy for €569 (around 5,150 SEK) and get a plan that’s better for you.

Here’s an Excel file with my calculations.

Thanks to Emil for finding the Italian price!

Update 2008-07-01: Techdirt reports that Rogers in Canada has even worse iPhone deals (I admit I’m too lazy to any CAD to SEK comparisons.) The interesting thing is that people are petitioning Rogers online to be a bit more reasonable, thereby creating a lot of bad publicity for the company.

Update 2008-07-15: Christopher notes that you’re not limited to the ridiculous iMini/iMidi/iMaxi schemes, you can buy the iPhone using any other Telia plan. Prices are here. However, good luck actually finding a phone….

Sunday, 2008-01-06

Bottom-posting in Gmail

I firmly believe that posting a reply to an email at the end of a message rather than at the beginning. This is especially important in mailing lists.

I’ve recently re-joined The Gunroom, a mailing list with a pretty high traffic volume. I want to be a good lissun and have been diligently paging down to the end of messages, snipping as I went.

I recently found a Greasemonkey script that automates the scrolling down, setting the editing caret at the end of the message instead of at the top.

The script can be found here for the new Gmail interface. It’s based on this script for the old interface.

Here’s how to enable this feature.

  1. You need to use Firefox. If you don’t, this script is not for you. (Greasemonkey may work in other browsers too.)
  2. Install Greasemonkey. This is a Firefox plugin that enables you to use customized Javascript scripts on different websites.
  3. Visit one of the script pages mentioned above. Click the button labelled “Install this script” and install from the pop-up.
  4. You’re done!

Another script that might be interesting for traditionalists is Gmail Fixed Font.

Sunday, 2007-12-16

Getting a registered nick back in Freenode

Someone else managed to snag my (registered) nick on Freenode while I was away. Here’s a way to get it back:

/msg NickServ ghost <yournick> <yourpassword>
/nick <yournick>

Sunday, 2007-03-11

Living with the Nokia E61

I’ve had my E61 for a month now, and even though the usage patterns haven’t been really typical it’s time to try to get some thoughts down on how I feel using it.

Looks and build quality

I still like the looks and size of the device. It’s rather flat and broad, but it has to be to handle the qwerty keyboard. The screen is gorgeous — I love the wider-than-tall aspect ratio.

The keypad is rather cramped but useable.

The body has a fair amount of metal in it, which is nice. Despite the fact that the battery cover is manganese alloy, it’s developed a slight creak that manifests when I type. Also, the right softkey is niggly like a loose tooth.

My keypad backlight doesn’t work, this may be due to a hardware issue with the light sensor that I need to investigate.

Overall, not bad for the price point.

I miss a camera, and I’m kind of bummed that I didn’t wait for the upcoming E61i.

Battery life is pretty good. I’ve got a charger at home and one at work, and I keep the phone plugged in religiously, so maybe I haven’t really stressed it.

Speaking of the battery charger, the charging port is the ridiculous “ant’s penis” 2.5mm new-style one that Nokia is foisting upon us with the newer smartphones. I’m always afraid it’ll break in the phone.


For my geeky self, putty is the killer app. It allows me to ssh into my server and check email, get onto IRC and keep up my blog. The combination of screen and apps like emacs and irssi makes my dreams of 1999, when I was working on a skunk-works mobile for Ericsson, finally come true. A handheld wireless terminal for accessing a text-based console.

Maybe not for everyone.

Email is a selling point for this device. I held off getting it until work upgraded to Microsoft Exchange 2003, which makes mobile email with this device possible.

I’m not too impressed with it though. The included app (Mail for Exchange) only looks in your Exchange/Outlook inbox, there’s no way to access subfolders. If you’re a heavy filtering guy like me, this can be frustrating. However, if mobile email is important to you, you can work around this by keeping all the important stuff in your inbox.

The lack of subfolder access is annoying because you can’t archive read email, forcing you to do this at the desktop or drown in an ever-growing inbox flood. I’d love to know if this limitation is general for Exchange mobile email or if it’s only present on Nokias.

Another issue is the fact that some emails simply don’t appear in the correct order. I’ve gotten mail on the device that are replies to emails that I didn’t get until later. Maybe this is because I use scheduled syncing instead of true push email.

A big annoyance is that you can’t accept meeting invitations.

All in all this means that the E61 is OK for checking if there’s something important in you inbox, but you still have to manage your email manually at your desktop.

I haven’t tried the media apps or the “productivity” apps, due to lack of a large enough memory card for the former and a lack of need for the latter.


3G performance is good. I’ve been using wifi where I can get it (basically at home). Wifi coverage is worse than you might expect in Stockholm, I really think 3G has killed it as a viable business, and most private access points have drunk the security kool-aid and enabled WEP or WPA encryption. But most of the time I can’t find any hotspots. I can almost always get a 3G signal though, which is enough for most surfing.

Bluetooth works fine for syncing with the Nokia PC Suite, although I’ve found it to be a bit flakey sometimes, forcing me to search for the phone to reconnect. There’s an IR port too, and you can use a USB cable.


I really like this phone, the only thing I’m missing is a camera. I like the keyboard and find that the added size of the phone is an acceptable tradeoff for it.

Monday, 2007-02-26

How to connect a Nokia E61 to a private Fon access point

Being recently blessed with a free Fon router, I spent some time researching how to connect to it with the Nokia E61’s wifi.

The problem was that I simply couldn’t connect, event though I had the correct password set. Googling turned up a tip, which seems to work.

First, you can’t create an access point directly from the WLAN discovery tool (Menu -> Connectivity -> Conn. mgr. -> Availab. WLAN) if the access point is encrypted. You have to go into Menu -> Tools -> Settings -> Connection -> Access points and define a new one there.

Now, according to this post, the Fonera uses one transmitter and quickly switches between the 2 SSIDs it broadcasts. By turning off the automatic power save in the E61, you can “lock” it to the SSID you want (which is the private one, in my case).

Turn off the power save like this:

Menu -> Tools -> Settings -> Connection -> Wireless LAN

Press Options and choose Advanced settings. You’ll get a warning, which I duly read and noted. Continue, and choose to disable the Power saving feature.

Note that this will probably drain your battery if you use it for push email. Just keeping a screen session up in putty drained by battery in one evening.

Wednesday, 2007-01-10

Thoughts on the iPhone

Apple iPhone front view

Updated 2007-01-11: revised cost estimates.

Apple’s iPhone has been announced, to the surprise of many and the delight of many more. It certainly looks like Apple have pulled another winner off, like they did with the iPod. I’m not a mobile pundit, although I’ve been known to play one on TV, but here are my thoughts.

No 3G

This is a biggie at first sight, but I don’t think it’ll be a deal-breaker for the intended audience. Wifi will take care of the high-bandwidth needs. GSM has lower power requirements and smaller physical footprint.

Personally, I wouldn’t buy a phone without 3G.


It’s expensive. The famous reality-distorsion field has everyone saying it’ll cost $499 for the 4GB model, $599 for the 8GB. But these prices include a two-year commitment to Cingular. I’m in Europe and don’t really know how much such a commitment would cost, but I’ve heard that $50 a month is not unknown. If we’re generous and say that $25 goes towards subsidising the phone, that works out to an unlocked price of $1,200 for the 8GB model. I’ve seen speculation that the subsidy from Cingular will be in the region of $200. This would give an unlocked cost of about $800.

That’s insanely expensive. The Sony Ericsson W950i is comparable to the 4GB model. It’s music-centric, has 4GB flash storage and a touchscreen. It costs 4,950 SEK ($700) unlocked in Sweden. I’m predicting that the Nokia N95 will cost between 7,000 and 8,000 SEK, and that phone also can give the iPhone a run for its money spec-wise.

Update 2007-01-14: Amazon.de is taking preorders for an unlocked iPhone. Cost for the 8GB version: €999. Hat tip: Gruber.


Time will tell if the touchscreen interface will work in practice. Here are my question marks.

Fingerprints will be an aesthetic issue, although they can obscure content if you’re unlucky. More important will be one-handed operation. Can you use the phone with your thumb? Another one is touch-typing, obviously hard to do. Not to mention that this is not a phone for blind people.

Part of the appeal of the iPod is that you can switch songs and adjust the volume etc. by feel alone. This doesn’t seem possible with the iPhone.

The one thing people seem to be most enthused about is the visual voice-mail application. This is a nice idea, and kudos to Apple for developing it. The rest of the handset makers should be ashamed of not pushing something like this themselves.

Tentative conclusion

Pros: cool design leaves other handset makers looking dated and derivative (I’m looking at you, Palm), interface rethink is welcome in a fragmented industry.

Cons: Price! No way I can afford this phone. Network specs and camera are dated already.

Questions: interface responsiveness, power drain.

MobHappy have a good list of more comments. Head over there to see what the big boys think.

Friday, 2007-01-05

Telia access points

These are the access points on my Nokia 6630, noted here for future reference.

“Telia SurfPort” and “Telia MMS” are new settings that I got via SMS the other day. Apparently Telia thinks I got a new phone when I changed my subscription terms.

“Tools -> Settings -> Connection -> Access points”

Telia Go!

  • Connection name: Telia Go!
  • Data bearer: Packet data
  • Access point name: online.telia.se
  • User name: None
  • Prompt password: No
  • Password: None
  • Authentication: Normal
  • Homepage: http://go.telia.se

Advanced settings:

  • Network type: IPv4
  • Phone IP address: Automatic
  • Name servers: Automatic
  • Proxy serv. address:
  • Proxy port number: 8080

Telia MMS

  • Connection name: Telia MMS
  • Data bearer: Packet data
  • Access point name: mms.telia.se
  • User name: mms
  • Prompt password: No
  • Password: ? (four stars, assuming “None”)
  • Authentication: Normal
  • Homepage: http://mmss/

Advanced settings:

  • Network type: IPv4
  • Phone IP address: Automatic
  • Name servers: Automatic
  • Proxy serv. address:
  • Proxy port number: 80

Telia SurfPort

  • Connection name: Telia SurfPort
  • Data bearer: Packet data
  • Access point name: online.telia.se
  • User name: None
  • Prompt password: No
  • Password: None
  • Authentication: Normal
  • Homepage: http://mobil.teliasurfport.se

Advanced settings:

  • Network type: IPv4
  • Phone IP address: Automatic
  • Name servers: Automatic
  • Proxy serv. address:
  • Proxy port number: 8080

Monday, 2006-10-02

N93: form and function

I was planning on writing an in-depth review of the N93, but as time went by I realised that first, I’m really not that good at writing reviews, and second, the more I planned to write the less incentive I had.

So I’ll just jot down the things that hit me when I was using this phone, both pros and cons. For links to more reviews, check out Jim’s Nokia N93 wiki page.

Nokia N93 in camera mode


The N93 has not improved on the N90’s most noticeable feature, the humongous size. This size is dictated by the barrel of the Zeiss Ikon Zeiss Vario-Tessar zoom lens positioned atop the hinge of the flip.

Unlike the N90, the barrel is fixed in position. Instead, the display can now be flipped up in widescreen display mode. Other modes are standard upright flip and camera view mode, which emulates a handheld digital movie camera.

The phone is decked out in matt black and chrome and the styling is more Samsung than Nokia. This is accentuated by the mass of little plastic flaps covering the Pop-port and the memory card slot. This latter has an additional function of providing a knurled rest for the index finger in camera view mode. Overall, the impression is more of ugliness than exclusivity.

The outer display is much smaller than in the N90, and doesn’t provide a handy way to preview incoming calls and messages. On the other hand, the phone has gained a vibrator mode, much appreciated.

The inner display is the new standard S60 QVGA with lots’o colours. Rotating between upright flip, widescreen flip and camera mode worked OK most of the time, though I had a freeze-up at one point.

The main navigation pad is rather shallow and I missed the centre button more than a few times. On the side of the phone there’s another d-pad (much smaller) which is used in camera mode to access menus and options.

Battery life is good, I barely lost 2 bars during a weekend taking photos and surfing via wifi.


The N93 is running S60 3rd edition, which I don’t know enough about to comment except to say that some apps won’t even install on the phone, if they’re compiled for earlier versions. This affected Wireless IRC, which ran in compatibility more on the N90 but didn’t even install on the N93.

There are no less than 2 web browsers on the phone. The new “Web” is much more full-featured than the old “Services”, but the icons are nearly exactly the same. On the today screen (the default display) Web is part of the row of icons running along the top. If you press the application button (the “swirly button”), you’ll find Services smack dab in the middle of the icon grid. In this view, Web is buried in the the Office folder. The two browsers work differently and don’t share bookmarks, yet the only difference is a slightly different icon. Confusing? You bet.

Navigating backwards in Bloglines mobile didn’t work that well using Web’s new thumbnail mode, but it was pretty easy just clicking on the “Back to subscriptions” link to return to the list of feeds. Navigation using the d-pad is much smaller than jumping from link to link like you do in Services, but it was sometimes hard to navigate between small posts as you tend to overshoot.

Stuff like marking posts as saved worked fine in Web.

I didn’t really spend much time outside Bloglines so I can’t really say how the phone rendered other pages (including this one).

Nokia N93 with video cable


The Pop-port is situated on the side of the phone (there’s a lanyard anchor at the bottom). This makes is pretty hard to use headphones due to the bulk of the device. I guess you can use widescreen mode to watch movies, in which case the placement doesn’t matter as much.

The phone has wifi, which rocks! I couldn’t create an access point for the office network, which uses client certificates and stuff, but it worked like a charm at home. Surfing is super-fast and you don’t have to worry about data charges.

The phone asked which access point to use when starting an internet application, and in that list you could choose to search for wireless networks. I didn’t have time to wardrive, but it sure makes it more attractive to use web and email if you don’t have to pay through the nose for 3G. Wifi is definitely a must for my next phone.

The package includes an A/V-cable so you can view videos on a TV. I planned on testing this but never got around to it.

Picture quality

This is, in my opinion, the most disappointing feature of the phone. The still picture quality is simply not as good as you’d expect from the lens. We have a Contax SL300R T* which also has the Vario-Tessar lens. I took two pictures of the same subject with the Contax and the N93 (click through to see the full-size images):



Considering that the Contax is getting rather long in the tooth, I would expect the images to be comparable. The difference may be more aggressive JPEG compression on the N93.

Shutter lag is very noticeable. The little LED flash is ineffectual.

Considering that the lens determines the camera’s size and overall ugliness, it’s difficult to justify owning this phone as long as the pics are as disappointing as the above.


The Nokia N93 is a big clumsy phone with a lot of features but which doesn’t live up to its promise as a premium imaging device. Redeeming features are the new operating system, web browser, and connectivity options, but these are also available in smaller phones from Nokia.

Friday, 2006-09-29

Nokia N93: first impressions

Nokia N93 in view mode

I got the chance to borrow a Nokia N93 from work over the weekend. I’m trying to be more focused in testing this than I was when I had the Nokia N90.

Having said that, I can say the following:

  • having built-in WiFi rocks
  • having two browsers that are almost, but not quite, wholly different sucks.

More to follow.

Friday, 2005-08-19

Gmail backups

You can back up your Wordpress blog to gmail: here’s a post that explains how.

I’ve been doing this since October last year, here are some gotchas related to that.

This is my setup.

  • Blosxom blog
  • shell account on the blog server
  • gmail address
  • bash shell scripting nous

I run the following script from cron:


DATE=`date +"%Y-%m-%d"`
# set filename extension to something other than ".tar.gz"
# save crontab 
crontab -l > $HOME/save/crontab
# create backup file
tar czf $DIR/$FILE --exclude public_html/files/big  \
blosxom-data blosxom-plugins public_html bin save
# mail the file
echo ""| mutt -a $DIR/$FILE -s "backup $DATE" <my email>+backup@gmail.com

# prune old files
find $DIR -type f -name "blog-????-??-??.*" -atime +30 -exec rm {} \;

This zips up my blog and plugins, the bin directory, all CSS and .htaccess files, the crontab and my blogroll, and all smaller pics in a tar file. This is then sent to gmail. mutt makes it easy to send attachments from the command line.

The process leaves a bunch of files in the backup directory. All files older than 30 days are pruned.

As of today, the backup file is 1.3M 6.6M. According to the comments to the post referenced above, the gmail limit is 10M. You can add a check if your file gets bigger.

Make sure you can check the mail to the account you’re sending from, if the mail to gmail bounces you want to know about it.

Update 2007-09-11: I renamed the file extension as Gmail has started blocking files with the tar.gz extension. I also added a call to find to prune old files.

Monday, 2005-01-31

The Transfer application

Several new users of the Charlie aka the Nokia 6630 have mentioned the coolness of the Transfer application. This is a little program (Menu -> Tools on my phone) that is sent via Bluetooth to the phone you want to upgrade from. When it’s installed there, it sends all your information (contacts, calendar details etc) to the new phone. Painless.

The docs say that the 7610 and 6600 are supported, but I had no problems syncing with the N-gage classic.

Of course, you can use a sync with a PIM for this, but Transfer handles pictures too.

I mentioned it in the post linked above, but it’s such a nice feature I felt it should get a bit more attention.

Friday, 2004-11-26

Migrating from Movable Type to Blosxom

This is how I moved my blog from MT to Blosxom. The process is very specific for my case — you mileage will definitely vary.


I had the following pre-requisites:

  • A good knowledge of Perl
  • A shell account at the target machine
  • A test machine running a free version of Un*x (OpenBSD).

I installed Blosxom on my test system and played around with CSS and flavours until I was happy with the look of the site.

Exporting from MT

Searching Google led me to this post. It concerned moving from MT to Drupal, but mentioned an important thing: the default MT export format is hard to parse. The method used instead was to export to XML, and parse that.

I downloaded the XML export template and the Perl file used to parse it, and modified them for my needs. They are available below:

The changes to the XML template are fairly minor. I added a new Index Template in MT and called it “Export XML”. The output file was set to “export.xml”.

The convert.pl script was modified in the following ways:

  • I changed the output from printing SQL insert statements to writing to files. The timestamps were modified to reflect the original posting date in MT.

  • I constructed new Blosxom filenames from the entry titles.

  • I mapped my MT categories to new ones via a hash.

After I had debugged these changes, I ran the script on an export downloaded from MT.

Importing to Blosxom

After I had this running, it was a simple matter of taring the files and moving them to the target server. After changing the relevant paths, I was up and running.

A friendly sysadmin installed a redirect at my old blog which pointed to the new one. The original MT archive posts were left alone to cater to old bookmarks, but I’m working on redirecting those too.

Update, 2004-11-02: The links to the files above were b0rked, but David McBride put me right about that. Thanks, David!

Update, 2004-11-26: Here is another article about moving from MT to Blosxom

Friday, 2004-08-27

Spam with attitude

The usual spam arrives, sneaking past bogofilter with a headline advertising the usual stuff (I don’t even know what C1alis is). On a whim I open it. (To set the stage, I should mention I use gnus, a mail and newsreader for emacs that is, of course, text based).

The spam consists, in its visible entirity, of the following:

Your mailer do not support HTML messages. Switch to a better mailer.

Uhm, I’m pretty happy with my present “mailer”, thanks.

Monday, 2004-03-15

the phone as a business tool

The taco earned it’s stripes today as a business phone. When I answered a job call at home (for the first, and I hope the last, time), I needed to login to the firewall. No probs, I used the handsfree set. Until Viking decided he wanted to play with that.

Hmm. The taco is impossible to hold between the cheek and the shoulder like a normal phone. But it does have a loudspeaker. Presto, I could check logs, talk, and hang out in IRC at the same time.

The only thing left to use is the games in a boring meeting.