Arnt Gulbrandsen
About meAbout this blog
2018-01-23

The tiny Jelly Pro smartphone

I don't buy a lot of hardware any more, and nothing out of the ordinary... but I have a credit-card-sized smartphone called Jelly (a Jelly Pro actually, with 2GB RAM).

A smartphone should be small and light, have a large screen and battery, be fast enough, and not have too many bugs. Obviously there's a conflict between overall size and screen/battery size. The Jelly is a very different compromise than most smartphones — most phones fit barely in a pocket, or only in some pockets, and provide large screens on which apps work well. The Jelly starts by fitting easily in any pocket, and makes the apps work as well as possible on a very small screen.

It succeeds on size: I can stick the Jelly in tight jeans pockets and sit down without noticing that it's there.

It fails (somewhat) on two minor points: Spotty battery lifetime and screen/body ratio. The battery doesn't reliably last a full day, and there's room to spare around the screen. The screen is 30×54mm, and they could have fit at least 36×65mm, maybe 38×69mm into the same body (the glass front is 38mm wide, the phone 44mm wide at its widest point).

I got the battery lifetime up to tolerable by setting the phone to disconnect from wifi while asleep (settings → wi-fi → ⚙ → keep wi-fi on during sleep), and automatically killing all but three apps (settings → background task clear) when not in active use.

There are bugs. The phone seems to lose contact with the mobile data network a little too often for my taste.

The apps I need do work... more or less. Typing key by key is frustrating, but glide typing is not much worse than on a typical smartphone. Hitting small buttons is generally quite difficult. Touches don't register at all if the finger is too close to another touchable thing. But I can send and receive email, SMS and Signal messages, Google Maps navigation works, the remote-control app I use every day works decently, and so on. I suppose these shortcomings would be reduced with a 38×69mm screen.

So the phone works, by and large. The big thing that's missing is fun. Fun is what I got when I used a phablet the other night, a large thin device with a bright colourful screen. That screen gave me such a good feeling, something the Jelly doesn't. I imagine that Facebook and Instagram are boring on the Jelly.

Is that good or bad? And am I going to keep using the Jelly, or am I going to switch back to a bigger phone? If I do switch back I'm going to tell myself it's because the screen is unnecessarily small.

2018-01-16

A flooded bridge

This bridge isn't pointless. It's flooded. It could have been built higher, but why? During a flood it's a bridge to nowhere. It could have been built lower, but then boats wouldn't be able to pass under it. All very sensible.

And artful. Someone thought about how the bridge could look during a flood, and took the opportunity to make some art. During a flood there's something to catch the eye, and make the eye and mind pay attention in the way that is the core of art. I love that.

2017-12-13

The one-minute guide to implementing unicode email addresses

The unicode email address extensions are pleasantly simple to implement. Here is an overview of the RFCs and some notes I made while doing my first implementations; this posting is a very brief description of the protocol and format extensions involved. Despite its brevity it's nearly complete, because these extensions are so simple.

Mail message format: Using UTF8 everywhere is now permitted. Instead of using RFC2047 encoding, quoted-printable and more, messages can use UTF8 everywhere.

To: Jøran Øygårdvær <jøran@blåbærsyltetøy­.gulbrandsen.priv.no> Subject: Høy på pæra Content-Type: text/plain; charset=utf8 Gørrlei av eksempler.

No encoding is necessary anywhere. The message above lacks From and Date, apart from that it's correct.

Sending mail using SMTP: The server advertises the SMTPUTF8 extension, the MAIL FROM command includes the argument SMTPUTF8, and the email addresses can then use UTF8.

$ telnet mx.example.com 25 Trying 2001:6d8::4269… Connected to mx.example.com (more…)

2017-08-17

Tokyo Martini

There are several drinks by this name around the web. The others are poor imitations, please disregard.

You'll need a green tea bitter: Vodka in which some green tea leaves have been steeped for a while. I prefer darjeeling leaves for a day, perhaps even briefer.

Make as a very dry martini with a few drops of the green tea bitter, and a thin slice of ginger. Enjoy.

I'm not sure which martini variant I like better, the Webster F. Street layaway plan or this? Try both.

2017-07-02

Optimal in the sense of "eyeball-grabbing"

My dictionaries don't list that as a sense of optimal, but this year they should.

The twitter account darkstockphotos depicts today's media style too well: loud, everything tuned to maximum. Here's the first photo I saw from darkstockphotos. Notice how it uses all three primary colours, almost the entire photo is a primary colour except the gun, which is both silver and black, also strong colours. The strongest possible colours, a sad face, and a gun: Can it be any louder?

We have a lot of metrics today. Publishers can measure audience response, and tune for maximum attention grabbing, and they do, oh how they do. I think the visual fashion in that photo is a result of that tuning.

When the web2.0 sites use audience response to choose what to keep on their home pages and what to drop, they're effectively publishing that which grabs attention, and more of that, and still more. The beneficiaries of this selection is those who make loud photos, loud music, anything loud. Colour! Breasts! (more…)

2017-05-16

I give up

The newspaper yesterday drove me over the edge. I admit it: The word hacker hasn't been usable for someone like me for a long time, I just didn't want to admit it.


A long, long time ago I had a keycard that didn't do what I needed. The keycard system was a compromise between what the organisation needed and what the keycard vendor could deliver, and it was mostly okay. Not 100%.

With my usual luck, one of the exceptions turned out to apply to myself. I couldn't get all the access that I needed while also being locked out of everything else. But I'm a hacker, so I poked around a little and made myself my own card, with enough access. Problem solved.

I didn't hide the card (you could see that it was homemade) (more…)

2017-03-01

Using procmail as an autoresponder

Procmail is old and almost forgotten, but still works well. This short script is the autoresponder for jøran@blåbærsyltetøy­.gulbrandsen.priv.no:

:0 c
/tmp/jøranmail

:0
* !^FROM_DAEMON
* !^X-Loop:
* !^Auto-Submitted:
| (formail -r -t -I"From: Jøran Øygårdvær " -A"Auto-Submitted: auto-replied" -A"Mime-Version: 1.0" -A"Content-Type: text/plain; charset=utf8" -A"Content-Transfer-Encoding: 8bit" ; echo "Liker du blåbærsyltetøy? Jeg synes blåbærsyltetøy er veldig godt." ; echo ; echo "-- " ; echo "Jøran") | /usr/sbin/sendmail -t

The first clause stores all incoming mail in /tmp/jøranmail just in case it's needed for debugging. The second clause filters out three kinds of mail that should not receive an autoreply. For messages that pass all three hurdles, it runs formail with many arguments to create an EAI-compliant autoreply header, echo to write a brief reply, and sends the result back.

It may not be terribly readable, but it's brief and reliable. That glass is two thirds full, not one third empty.

2017-01-25

Audience and goal

Written texts have two major invisible properties: audience and goal. I can't remember who taught me about that, but I taught it to my friend Abhijit Menon-Sen when we started working together, and the texts he and I have written together over the years always have a hidden comment describing the audience(s) and goal(s) for that text. That's why those texts are crisp and to the point.

Here's an example. Not by us together, this one is his alone.

Abhijit and his girlfriend Hassath have recently built a house, it's aaaaalmost done now, and a few weeks ago Abhijit wrote a blog posting about an electric power gadget they bought for the house. The audience for that posting consists of two groups of people: Friends who want to know how the house is coming along, and people who are searching for reviews of the gadget before possibly buying one themselves. The goal for the first group is to describe the power problems and how Abhijit and Hassath are coping, and for the second group, to tell them whether and how well that particular gadget helps with that kind of power problem.

Now please read about their amazingly unreliable power supply and consider how each sentence, each paragraph and each picture helps with either or both of those goals, in the eyes of those audiences. Does a sentence say something that both audiences already know, or does it tell either or both audiences something Abhijit wants to tell them? Does a sentence help with one goal but disturb the other? What does the photo achieve? Would mentioning the audiences or goals in the text help to achieve either of the goals, or would it distract or detract?

That posting may be stylistically vapid, but it achieves Abhijit's goals and that makes it good writing. The rest is a mere question of how good.

Now please start formulating an explicit audience and goal before you write your own email, documentation, almost anything. Help save the world from pointless blather and documentation that forgets the critical points.