Erik I

My public writing. You can reach me at @eitland@mstdn.io

Filed under #observations and #softwaredevelopment

Drew DeVault writes :

Been working through some spaghetti code tonight. Has been helpful to remember not to despair over how tangled the code is. Just treat it like you'd untangle a bundle of wires, slowly and deliberately solve small problems until the big problem is better. My code is in much better shape two hours later 😃

I once found a small fishing longline, approx 180m I'd guess. I guess it was probably last used by my late grandfather or some of my uncles before they moved out. It obviously hadn't been used in a few years and it was really tangled. Think of a really tangled wire, then add about 100 wires (snoods) to that, each with a hook on the end.

Untangling such a thing can be really frustrating. Or it can be relaxing. It all depends on the state of mind you are in when you do it which – in many cases – depends on the reasons you have for doing it.

I find the same holds true for code. I can enjoy untangling code when I have time for it and when there is a good reason for it.

Filed under #100DaysToOffload

The tag #100DaysToOffload started showing up a few days ago and I didn't care. My life is really stressful enough as it is without putting more arbitrary limitations, deadlines or anything into it. I got a family, a job, a house, a car and I try to be active in the church so I figured really don't want more stress on top of that. For the record: I chose that life and I don't want anyting to get in the way of it.

Then I read the rules. The rules are similar enough to the The Cult of Done Manifesto that I figured it might actually take away some stress.

So here I am. This is the first part in this series. I don't expect this to bring me a lot of readers or anything, just to get more stuff written down for the benefit of my future self, future historians and people searching for random words or constellations of on the Internet. Maybe it will also trigger someone else to start writing longform instead of just tweeting, tooting, snapping or whatever.

So here are the rulesguidelines as they were written at the time when I decided this could be a good idea:


Guidelines

I don’t like to term ‘rules’ so let’s go with ‘guidelines’ instead. As I don’t think this whole thing shouldn’t be too rigid. Here’s the guidelines as I see them:

  • This needs to be done on a personal blog, not a corporate blog. If you don’t have a personal blog, you can sign up for a free one at Write.as.
  • There is no specific start or end date. Your 100 days can start or end whenever you want them to.
  • Write a new post every day for 100 days. Ideally, these would be consecutive days, but if they’re not, don’t worry about it. Just. Write.
  • There are no limits to what you can post about – write about whatever interests you.
  • There are no limits to how short or long a post needs to be. Search engine optimization, what’s that? Forget about all that jargon. Just. Write.
  • Once you have published an article, don’t forget to post a link on your social media with the hashtag #100DaysToOffload.
  • If you're writing on Write.as, be sure to include #100DaysToOffload in your post. Their system support hashtags, so it will allow others to find your posts.
  • Get your friends involved!

  • copied from https://100daystooffload.com/ on 2020-04-29.


Of these I know I will take liberties with regards to getting my friends involved.

So, here we go I guess .

Time used: approximately 45 minutes.

Filed under #noteToSelf #life and productivity

Yesterday was a unusually productive day.

I was up at about 4 o'clock. I managed to edit Perfect UX is impossible into a more readable and possibly also more interesting state I think.

I also managed to capture two interesting ux issues, one which – in my opinion – is really suboptimal but works and can -again IMO- be fixed easily, and another that used to kind of work even if it wasn't perfect but now seems to have been broken completely by someone who were probably trying to fix it.

My wife work in health care in these interesting times so I drove her to work since I knew I would need the car. Looked after the kids until shops opened, particularly the auto parts store, then went grocery shopping. Found a nice trick to keep a toddler from touching everything in the store: just make sure they have to carry something with both hands.

Ideally kids should stay at home I guess but it is not exactly like it would be better to get their grandmother to babysit them as long as the coronavirus is making the rounds in its current form and it is also not like we have completely stopped eating. Luckily the oldest kids were happy to stay at home, playing in the garden.

I also remembered to pick up new brake disks and brake pads for my car. They set me back about 2300NOK I think but compared to getting them replaced by a mechanic it is s still half the price. Also I thought it would be an interesting experience. As I am writing this I had to look up and I think I found the same discs and similarly good brake pads for 700NOK less online but I kind of needed the parts this weekend so I cannot have regrets. I will probably order the parts for the front brakes online though.

Later on the day I went to biltema, picked up a brake piston tool kit, a set of huge (for someone who works in IT) Torx bits, brake calliper grease and also some really cheap white tarpaulin to cover the part of the driveway were I planned to work.

Before leaving home I had been smart enough to put the risgrøt in the slow cooker so it was close to perfect when I got home. For those who are unacquainted with cooking risgrøt it is particularly prone to burn when cooked in a traditional manner. A watched pot never boils and a pot with milk and rice is no exception, quite the contrary. I still cheated though: lately for some reason ready made risgrøt has been so cheap -and tasty- that there is no reason to buy 4 liters of milk, watch it and stir it carefully for 30 minutes only to get it stuck in the bottom after looking away for a second ;–)

I got started on the right hand side brake at about 1630 and finished it around 3 or so hours later with help from YouTube, my brother (via voice and also image sharing on Telegram) and my brother-in-law who popped in to help.

We had a short break and finished the left hand side about an hour later. Knowing what everything is supposed to feel like made most of that difference I think. In the YouTube videos the callipers slide nicely off once the bolts have been removed. I had to pry them off. On the right hand side I also had to call my brother since I couldn't know this. There might very well a deeper lesson here as, but the one on the surface is really valuable as well I think.

I took a short test drive which was more or less completely uneventful, fixed one last thing and tidied up the driveway, watched a bit of tv with my wife before going to bed around twelve.

I was up at 4 o'clock today as well. Writing down all this has set me back about 2.5 hours although but I don't mind as I've enjoyed it and also enjoyed listening to a great podcast, a really great audio book recording of Letter to the Hebrews. As I'm writing this I'm listening to the end of the final . While I have probably read it all before and listened to parts of it I've never read or listened to the complete letter in one sitting as far as I can remember.

I have a really hard time sitting quietly listening for long stretches but it pairs nicely with less mentally demanding activities such as driving or doing chores and while blogging isn't the ideal activity it kind of works too.

Filed under #ux and #brokenUx

Say you live in a country where English is not the local language and you found an interesting article on a local website. Maybe you want to share it with an English-speaking friend of you, and you have reason to believe there should exist an English post or article somewhere on the web containing the same results.

So you open your search engine and type the words into it. As luck would have it these words can also be valid in your local language so the search engine in its wisdom provides you with local results as shown below:

Searching for something to find an English version of it.

No problem you think: There is a setting where I can choose what language you want your results in.

So you go to the menu where you can change it and you try to change it and you find two choices, all languages or your local language:

Try to change the search language.

OK, fine, I probably just have to set the region first, that almost makes sense (no, it doesn't, buy hey):

Try to change the region.

There are two options and the one that is already selected is the closest I can get.

This used to work, but sometime, somewhere, someone has got paid to create ux sketches to break this and didn't step up to ask what they were thinking, a developer has developed it without saying “are you crazy?” and QA has let it slip.

Or maybe, more likely I am afraid, the story is that they all did it enthusiastically to “simplify the interface”.

Well done: you have now “simplified” a part of the interface that nobody except people like me even think about, only you haven't simplified it or even made it slightly harder to use, you have broken it.

All in an effort to simplify things I guess.

Good UX is hard. Making things simpler is hard. Part of what makes it hard is that you are supposed to keep the useful properties while simpifying it.

Next up: I have created a much simpler and cheaper car. It looks really slick, it is made of cardboard, has no weels, and there is a hole where the driver seat used to be so you can walk around with your car.

Filed under #ux and #chekhovsGun

Sketch of a well known app used for online meetings, showing 4 boxes with 4 portraits of recent participants as well as a small portrait in the bottom right showing a small portrait with the text "+7" overlaid.

Shown above is a sketch of what I saw in a popular app for online meetings.

In the picture there are 4 participants visible, and in the bottom left there is a small portrait with the text “+7” overlaid, indicating there are 7 more participants in the meeting.

Now, quickly tell me, how can I get a list of all the participants?

The obvious answer to me was to try clicking the indicator that told me there are more people in the meeting. In fact it is so obvious that it must be that button (which turns out not to be a button, just an indicator) that I must have tried multiple times already.

That is simple, obvious and wrong.

The correct answer is to tap the screen once, then find the overlay menu, then click the ellipsis symbol in the overlay menu to see the overflow menu, and then you can see the participant list.

Chekhov's gun is a dramatic principle that states that

that states that every element in a story must be necessary, and irrelevant elements should be removed. Elements should not appear to make “false promises” by never coming into play.

This holds true for ui elements as well: If a button doesn't do anything but is only for decoration it probably shouldn't be a button. In this case however it would probably be better to fix the button so it works, I have missed it a number of times already.

I've previously written that Perfect UX is impossible, and I stand by those words, but that doesn't mean we cannot do a whole lot better than we do today.

BTW: Excalidraw is awesome as far as I can see, it is also free/open source software so you can self host it if you want.

Edit 2020-05-06: Add reference to Chekhov's gun

Filed under #ChromeIsTheNewIE and #web

So I posted a comment over at HN mentioning this quote. And this time I took the time to write down a short explanation since the quote tends to be misunderstood to mean that Chrome is like Internet Explorer (from now on referred to as IE) was in 2009: most people were using it even though it was technically inferior.

Since I have a few minutes more to spend and I want to write more, here is a more detailed explanation:

What we saw in 2009 was only the latest stage of something that had been going on for a while and I will distill it down to 4 stages:

  1. Dominance: Backed by profits from Microsofts cash cows back then – Windows and Office – and also what seems to me like some very ugly tactics from other teams at Microsoft, IE became the dominant browser of the early 2000s.

  2. Monoculture: Pragmatic web developers and project managers realized that they could reach 75% or more of the market without even caring about testing in any other browser except IE. This was possible since smartphones as we know them today didn't exist and Linux and Macs both didn't seem to cross the 2% market share on desktops until late 2009, see Usage share of desktop operating systems on Wikipedia for some more details.

  3. Lost interest: Pragmatic business people at Microsoft realized that they had the marked locked down and stopped development of IE. While Firefox and Opera offered better browsers, it didn't matter for Microsoft initially since everyone were still forced to have an instance of IE available because a number of sites including many banks and official websites didn't work reliably in anything except IE.

  4. Disruption: While Opera, Safari and Firefox were gaining users, the last of them possibly to a large degree driven by the rise in popularity of Macs and Ubuntu although some of us were using it on Windows as well, the table wasn't really flipped until the iPhone launched and both devs and management realized this would become huge.

If you enjoyed this post you might also enjoy my post Are you making a real web application? Or just a Chrome application? were I interview a strawman of the lazy dev who didn't care to test in other browsers except IEChrome ;–)

Filed under #health #sleep and #observations

I'm working from home and I'm noticing the effects more sleep and less stress does to my mind. Normally I fall asleep immediately. Yesterday I went to bed around midnight and didn't feel tired at all. So I had to dig out my favourite falling asleep trick, probably learned from HN: I count backwards from 1000.

I was asleep before nine-hundred-and-eighty.

I guess I should have learned the lesson now, just because I don't feel tired doesn't mean I shouldn't sleep. I won't do anything useful anyway, not even read a book but I can easily wastenan hour playing Polytopia or something.

The second observation is that just because I sleep more doesn't mean that it is easier to get up in the morning: I normally get up right before 0400 in the morning.

One would think that going to bed less tired would make it easier to get up in the morning. At least for me that isn't true at all. Oversleeping is actually a lot easier now and I'll probably have to repeat my getting-out-of-bed drill.

Filed under: #health #diets #physics

Invariably, if someone discusses dieting and weight reductions in public foras for long enough some of the regulars will show up:

  • people honestly enthusiastic about this or that wonder vegetable or fruit
  • people honestly trying to tell you that something quite ordinary is seriously bad for you
  • people trying to sell something (and they might be disguised as one of the aboves)
  • someone who knows enough physics to be dangerousannoying saying: it is really simple – calories in and calories out, that's what matters.

And the last one of them is right of course, because if it wasn't and anyone could prove it it would shatter our understanding of thermodynamics and probably physics in general.

But here's the catch: for many people, if they naively try to continue just as before just with 5% smaller meals, chances are not much will happen.

Realizing this might even puzzle a number of people who believe in calories in – calories out if they haven't thought about it closely yet. I'll try to briefly explain it below.

It just so happens that we are more efficient at making use of the food when there's less of it. I.e. when somebody overeats, a good deal of those extra calories leave the body undigested.

Which means for someone who is overeating they'll often have to reduce their calorie intake quite a bit more than they would expect as they are probably underestimating their current calorie consumption and/or overestimating their current activty levels.

This can be painful and feel seriously demotivating.

Once however one get below ones magic line, change will happen.

The draft for this post was written a couple of months ago but I wasn't happy with it (for good reason), and then things happened. I'll try to get around to saying something about that as well.

Filed under #howto and #telegram

I use Telegram messenger a lot both to communicate with my family, my friends and my future self.

I am not totally happy with it: between the

  • recurring accusations from certain leading cryptographers
  • and the fact that they insist on staying free and will do a blockchain thing instead

I do sense there is room for a lot of things to go sideways.

That said:

  • for now it works better that most other things
  • the program that leading cryptographers have been recommending has had its own share of problems
  • and I only do things that require post card security level

That said, here are some advanced tips:

  • You could always(?) chat with yourself, but now it is an official feature called “Saved messages”
  • You pin up to 5 (for now at least) chats, groups or channels at top of the screen.
    • Ideas: Saved messages, loved ones, frequently used groups
  • You can create multiple groups containing the same persons (useful in a family setting to separate everyday chatter and photo sharing from planning etc)
  • Related to the last one: A group doesn't have to contain more than two persons. For example I can have a group with just me and my wife were we post car maintenance, mileage, receipts from everyday purchases (in case something breaks) etc etc.
  • You can post silently:
    • on the mobile client, long press the send button to see your options
    • on the desktop client, right click the send button to see your options
  • You can also schedule a message:
    • this can be useful if you know you are afraid of forgetting to send a message
    • or you can schedule a message in Saved messages as a reminder to yourself.

BTW: If anyone wants a nice business idea, here's one:

  • Create something like old WhatsApp with all the features from todays Telegram and the encryption from Signal/Whatsapp
  • Make it impossible to sell out
  • Charge $2 a year (WhatsApp made healthy profits at $1 a year when they started)
  • Charge extra for API access
  • Tell me.

Enter your email to subscribe to updates.