flak rss random

rthreads lookback

With the conclusion of the rthreads hackathon a short while ago, the OpenBSD Journal ran a series of interviews with some of the participants. I figured I’d add a little more to the story, although there’s not really anything new to say. My involvement with rthreads has been pretty minimal recently, but I’ll start from the beginning. Like I said, nothing new, but sometimes it’s nice to have the whole narrative in one piece.

more...

Posted 06 Jun 2012 21:47 by tedu Updated: 26 Dec 2014 04:47
Tagged: openbsd programming software

timezones

Timezone support in software is tricky. A lot of the time when you’re sharing information, there are several timezones involved. But it would horribly clutter the UI to display all of them, so one is picked. For instance, with email should we display the time formatted according to the local timezone or sender’s timezone? Do we care when we received it or when they sent it? For Mailtanium, I chose to display all local times in list view, so emails sort in some semblance of visual order, but to display in the native sender timezone in detail view, to remind me it’s really 3:00am in Europe. I don’t think this is an original idea, I copied it from any number of other clients.

A more perplexing case is the iPhone calendar. The calendar is unfortunately timezone aware when I don’t want it to be. My typical (practically only) use case is to enter my flight info in the calendar. I would like to enter the local time my flight leaves, as that’s the time I get from the airline website. But then my phone assumes that’s when the event occurs in my current timezone, such that when I’m two hours away, it has now “corrected” the time to be two hours different. There is a menagerie of options controlling whether my phone’s time should auto update (Yes, please! I need to know when lunch is.) and how the calender should adjust. The best I’ve found so far is to keep the calendar always pegged to a single timezone, but this means alerts go off at the wrong time because the phone still knows where it is. I would really like a simple option to say that all events take place in the “right here” timezone. I can understand that timezone correction is a nice feature for travelers who need reminders about the weekly sales call on Monday, but that’s not me. All of my events are occurring locally, I want to enter exclusively local times.

Posted 24 May 2012 03:34 by tedu Updated: 01 Sep 2012 22:29
Tagged: software thoughts

okcupid questions

I’ve been trying out OKCupid recently, and while entire essays, if not books, could be written about the experience, the questions it asks, and the way it asks them, is an issue for me. It’s not that the questions are weird or repetitive, or seem bizarrely unlikely to result in reliable rankings, all of which is true, but that the manner in which the questions is phrased is technically poor.

First thing to review is how OKCupid asks questions. There’s a bunch of questions, you pick one answer for you, then pick as many answers as you like that are acceptable for a potential match to give. My first issue is simply with the phrasing. Many questions ask if I would “consider” doing something. There seems to be a wide range of interpretations of what consider means.

The next issue is that many questions are too indirect, like “Would you date a smoker?” I don’t smoke, but I may say yes. But another non-smoker may only put no as the acceptable answer, rejecting me even though I don’t smoke. The direct version, “Do you smoke?”, seems like a major improvement. Lots of questions are like this. They seem designed to determine not just how intolerant I am, but how intolerant my match must be. The fact that people who are 100% compatible but differ only in their tolerance for incompatibilities could be rejected seems like a flaw to me, but maybe that’s the magic to a good matching algorithm.

Another drawback of some questions is the frequent necessity to invert the question when picking acceptable answers. A question about height that can be answered “I like to be taller” or “I like to be shorter” is a good example. The acceptable answer should be the opposite of the picked answer. In fact, there shouldn’t be a need to identify acceptable answers for such questions. People don’t seem to do a good job with the logic here. Arguably, I shouldn’t be concerned because I’m not much interested in people who fail at logic, but it clearly reduces the efficiency of the matching system as a whole.

Posted 02 May 2012 20:08 by tedu Updated: 02 May 2012 20:08
Tagged: review

windows update suckery

I notice that the latest round of Windows Updates includes a Thinkpad Display 1400x1050 update. And there’s a link for details. But following the link tells me that Winqual has moved! Follow the new link and I’m redirected to a sign in form for the Windows Developer Center Dashboard. Seriously? I have to sign up as a developer to find out what a recently installed driver update does? That sounds like something an open source operating system would make me do!

Posted 29 Apr 2012 04:37 by tedu Updated: 23 Jan 2014 21:00
Tagged: bugs rants software windows

google logout lockout

Have I mentioned I hate how Google Accounts work? Today I noticed I was still logged in while looking at some movie showtimes. Clicked logout. The page goes blank, the browser follows a couple redirects, and I wind up back at the same page... Still logged in! Other people complain they’ve been locked out of their Google accounts, I’m locked in.

Posted 19 Apr 2012 16:40 by tedu Updated: 19 Apr 2012 16:40
Tagged: bugs rants

maitanium sync design

A critical feature for me was offline access. Not “I hope my IMAP client cached that email” offline access, but real “I can read any email, ever” offline access. The problem is that every client I’m familiar with that could do that basically worked locally. The price paid for offline access was single computer access. In theory, multiple desktops could fetch mail and process it, but the tags and filters would get out of sync. I don’t know anyone who has pulled this off. I needed to build a system where despite running independent clients against independent mail stores, the state of the universe would be kept roughly in sync.

more...

Posted 12 Apr 2012 03:45 by tedu Updated: 12 Apr 2012 03:45
Tagged: mailtanium

sinatra mime types

Sinatra (the ruby web app framework) has a handy method to indicate that the response is an attachment and should be saved: attachment filename. It even sets the content type correctly. Unless it can’t guess from the filename. Then it throws an unrecoverable error.

Discovered this little fact trying to download a .tgz file. The documentation says if I find a mime type Sinatra doesn’t understand, I’m supposed to run mime_type :tgz, 'application/octet-stream'. OK, great. So where’s the list of already known types? Never mind that, I’m really supposed to make up a list of every mime type I might want to download at some point and register them all up front? Insanity. In theory, I think rack is supposed to already be using a default of application/octet-stream, but it appears I’m just unlucky.

Posted 08 Apr 2012 02:40 by tedu Updated: 11 Apr 2013 21:34
Tagged: mailtanium rants software web

software reliability and utility

Following up on the previous post about software reliability, let’s consider the concept of utility functions. There’s a few definitions for utility function, but I’ll say it’s something along the lines of a function that maps the raw measure of something to its value to the user. A common example given for money is the natural log function, which explains why a dollar to a millionaire is worth less than a dollar to a poor person, even though the raw measure ($1) remains the same: log(11) - log(10) > log(1e6 + 1) - log(1e6). Law of diminishing returns.

more...

Posted 06 Apr 2012 23:45 by tedu Updated: 09 Mar 2013 18:19
Tagged: software thoughts

software reliability and kernels

OpenBSD 5.1 preorders are now up on the site. And minix 3.2 was also released recently. Here are some reflections on why microkernels don’t matter. I’m not saying microkernels are worse, or slow, or anything like that; they just aren’t that much better. There’s a somewhat long two part argument coming up. One part is that microkernel reliability is overstated, the second part is that the value of reliability is itself overrated.

more...

Posted 06 Apr 2012 23:43 by tedu Updated: 09 Mar 2013 18:34
Tagged: software thoughts

goodbye gmail

This post is rather delayed, since I quit using gmail almost a year ago, and the decision was made more than a year ago, but since I’m hopefully going to start writing about my post gmail adventures, I’ll start at the beginning.

Gmail was, for a time, pretty awesome. It was certainly an upgrade from pine in many respects. The ability to open attachments without bizarre scp contortions was a plus. I don’t really need to recount the virtues of gmail, but I was impressed with it for quite some time. First (and only, really) web app to replace a desktop app for me. But Eden was not to last.

Over time, I had a growing spam problem. No matter how many Chinese emails I flagged as spam over the course of five years, gmail was convinced that this was the day I woke up knowing Mandarin. Also, based on observed behavior, gmail whitelisted all emails with the word “lottery” in the subject. This was kind of a slow burn pain.

Also, the filtering options were kind of limited. Basically, too many annoying mailing list people and not enough tools to deal with them. I could block senders, one by one, somewhat tediously, but no good way to kill a thread. This was kind of a spiky pain, really bad some days, less intense other days.

Finally, there were some service disruptions or shortages or whatnot. Every time I clicked an email and did not get to see the email just stoked the fire a little more.

Things hit the bottom after I had already made the decision to quit. When it was just personal email in gmail, I was limping along, but once we started using gmail for work and I had to start using two browsers to keep things straight, the pot really boiled over. See also my other post on that.

In the end, I decided the only solution was to write my own mail client, because there are not enough of them. As far as I was concerned, gmail was the best available, and it’s just not that good. My replacement, since named mailtanium, was built to be fast and flexible. I’ll introduce it in another post.

Posted 29 Mar 2012 05:11 by tedu Updated: 09 Mar 2013 18:36
Tagged: mailtanium rants software