My new project: Tact, a simple chat app.

Blog

How I displeased Maria Zakharova

Saadaval ka eesti keeles.I had a fun weekend in Vilnius with my fellas.This week, NATO Summit is happening in Vilnius...

Using Swift snapshot testing with Xcode Cloud

swift-snapshot-testing by Point-Free is an excellent modern approach to Swift snapshot (screenshot) testing. It doesn...

Canopy: write better, testable CloudKit apps

I released Canopy: a library that helps you isolate CloudKit dependency and write testable code using CloudKit.Canopy...

How to set up monitoring for your Mastodon instance with Prometheus and Grafana

I’m not much of a “server person”. But there’s no escaping servers and cloud if you are serious about working in tech...

The end, and the beginning, as Tact enters App Store

Tact is now available in the iOS and macOS App Stores. Read our official announcement. Get it here.With this release,...

My Twitter editorial statement for the Russian aggression war in Ukraine

Hi, new followers.I’m Jaanus. Welcome to my personal social media accounts. These days, I’m mainly active on Twitter....

My visit to Chernobyl

I visited Kyiv with some friends a few years ago. The most remarkable part of the trip for me was our day tour to Che...

Modernizing a 5-year-old UIKit app

I just finished modernizing a 5-year-old UIKit app, bringing it into the SwiftUI world and making other adjustments. ...

A fairy tale about Apple code signing

It is the year 2035.We all use Xcode 25 (VR) on our Apple Glasses and iPad to develop new Magic Reality experiences a...

I took a closer look at LPLinkMetadata and LPLinkView. These are part of Apple’s official SDK on all Apple platforms....

My thoughts on Tact public beta

My hobby project Tact is now available as public beta.tl;dr Get Tact for iOS, iPadOS or macOS Read our public beta ...

I did an investigation of Universal Links. They’re supposedly this great technology that allows HTTPS links to be ope...

Reflections after WWDC21

Apple’s annual developer conference WWDC happened this week. The conference keynote session is aimed at the public. T...

Obra Dinn

I recently finished playing Return of the Obra Dinn.I don’t post about games very often any more. First of all, I don...

My hobby project Tact, and how you can come along to the journey

Dear Internet,I would like to introduce you to a hobby project that me and Priidu Zilmer have been working on for a w...

Registering for remote notifications appears broken in Big Sur

Updated Nov 8: I did further testing and realized that registering for remote notifications works in production envir...

How Design Makes The World

Today, I‘d like to recommend a design book to you—even (especially!) if you don’t identify as a “designer.”The book i...

How we developed Salv identity, part 3: salv.com domain, three lines, and what’s next

This post is part of a series on how we developed Salv identity. Also read the other posts in the series: Part 1: Hi...

How we developed Salv identity, part 2: Producing the design

This post is part of a series on how we developed Salv identity. Also read the other posts in the series: Part 1: Hi...

How we developed Salv identity, part 1: history, mission, and name

This post is part of a series on how we developed Salv identity. Also read the other posts in the series: Part 1: Hi...

How I survive isolation with kids at home

Re-published from Salv blogA bit of backstory to this post. We are now five weeks into isolation. I work at Salv and ...

How to configure development server certificates for iOS 13 and Mac clients

I recently hit some bumps on the road when trying to set up a development API server for iOS 13 clients. I kept hitti...

The research mix

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

The album

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

Evolution, Revolution, and Progress

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

Design Leads meeting

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

Axes

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

Imagine, Say, and Do

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

Notes from a few years of leading product design at Pipedrive

This post is part of my notes on three years of design leadership at Pipedrive. Also read the other posts in the seri...

Bad Blood

I recently finished reading “Bad Blood: Secrets and Lies in a Silicon Valley Startup” by John Carreyrou.Reading alway...

Conquer Your Fear: my talk at UX Tartu 2019

A few months ago, I gave a talk at UX Tartu 2019 with the title “Conquer Your Fear.” I’m quite satisfied with how it ...

First thoughts on SwiftUI

I spent a few hours last night playing with Apple’s new approach to user interface development, SwiftUI.I haven’t yet...

Voicebot v2

One of my most popular recent posts has been about creating a simple voicebot to work with api.ai. After I wrote that...

How to confidently compare the integrity of files in two large folders

How do you confidently compare two folders in the year 2018? I expected there to be an easier answer to this question...

jaanus.com, 2018 edition

I just published the new version of this site with design and content updates. Here are the “before” and “after” scre...

How to easily migrate your bookmarks from Instapaper to Pinboard

Let’s talk about Instapaper and their GDPR notice that has now been up for two months.Yeah. It’s silly.I do find valu...

Guns, Germs, and Steel

I read Guns, Germs, and Steel as a “reverse follow up” to Sapiens, which cited Guns, Germs and Steel (which I’ll refe...

The delight of London transport payments

There’s a lot of bad design around us. Modern consumer technology more often than not makes me go, “ughhhh…”So when I...

iOS 11 Changes Localized Date Handling

There’s a pretty big change in how localized dates work in iOS 11, which especially affects smaller languages that th...

Sapiens

I just finished reading “Sapiens: A Brief History of Humankind.” (Amazon. Wikipedia.)It’s a big claim to be able to s...

How to build a simple web-based voice bot with api.ai

March 2020 update: I used to host an online functional demo version of this project, but this is no longer available....

Your first design job: join me as Pipedrive Product Design Intern

If you are a young designer in Estonia, consider applying to Pipedrive as a Product Design Intern.It’s tough to get s...

The BioShock series

I recently finished BioShock Infinite, the last of the three main BioShock games. Previously, I had also played BioSh...

Using Hone to play with advanced Apple typography

Hone continues to be a pet project for myself, Sergio and Priidu. There hasn’t been much public fuss around it lately...

NSUserDefaults, default values, and app extensions

I just fixed a dumb bug in one of my apps, Prillikivi. It’s a content blocker app, so it has two components: the main...

Customizing Electron’s window title look on Mac

Electron is a nice shell for building native apps with web technologies. It doesn’t support all possible window style...

NSProgress enhancements in iOS 9 and El Capitan

Earlier this year, I wrote about NSProgress. This year’s releases of El Capitan and iOS 9 bring important updates to ...

Apple Watch activity tracking

I’m writing about Apple Watch activity tracking separately because it’s one of the central selling points of watch, a...

Apple Watch software

Let’s talk about Apple Watch software. (Except activity tracking, which I’ll discuss in a separate post.)NavigationHe...

Apple Watch

A few weeks ago, I bought an Apple Watch.I had two main motivators for it. As a user and designer, I wanted to learn ...

The Force Touch trackpad, and how to work with its web events

One of the new pieces of technology in recent Apple laptops is the Force Touch trackpad. It first shipped in the new ...

Why DevMate is great, and how to correctly version your app there

Have you heard about DevMate? If you develop apps on Mac, you should check it out.They’ve been around for a while, bu...

“It’s Complicated”

I recently finished reading “It’s Complicated: the social lives of networked teens” by danah boyd. (Amazon.)I’ve enjo...

Build your first iOS app with Hone tutorial

We posted a significant update to the Hone site with learning materials.There’s three categories of the material. ...

Implementing Bonjour across iOS and Android

I wanted to have a demo of a crossplatform service that implements the same protocol on both iOS and Android. Apps on...

Hone demo

For the past six months, I’ve been working on these three screens. Well… it’s not entirely true. I’ve worked on seve...

Have you ever needed to present something like this in your Cocoa UI?Maybe in a popover?The most native way to do thi...

Welcome to 2015

Yep. Welcome.“But Jaanus,” I hear you say. “It is March. The year changed a while ago. What on earth are you talking ...

An example on how to use NSProgress

I spent some time with NSProgress. It’s a pretty recent API to help Apple platform objects report progress to each ot...

What games I recommend on iPad

Someone asked me the other day: “Hey Jaanus, you play a bunch of games on iPad. What games do you recommend if I want...

Ending 2014 on a high note with Hone

I haven’t posted much about work in the past few years. I’ve posted specific things about iOS, web and Mac engineerin...

I finished GTA3 on iPad

I recently finished playing GTA3 on iPad.By “finished”, I mean I got through the final mission when the credits rolle...

How to install Windows with Boot Camp on new Retina iMac

I got a new Retina iMac recently. It is every bit as fantastic machine as the hype says. Since I use it for both work...

Cultural studies based on Salsa Tequila

Every summer must have its summer hit. Two years ago, it was “Gangnam style”. Last year, it was some Avicii stuff and...

“Folly of Fools”, deceit, and self-deception

I recently finished reading “The Folly of Fools: The Logic of Deceit and Self-Deception in Human Life” by American ev...

How I fixed HTML list items jumping around

Does this kind of thing drive you nuts?I was working on a list of items in HTML. It is a bunch of list items, and the...

A tragic story that happened to someone I know

I heard a tragic story recently. One of those things that you see in movies, or news. Sadly, this is real and recent....

How to correctly configure building private OS X frameworks

I’ve been recently dealing with building a private / embeddable framework on OS X. By “private framework”, I mean a f...

xScope 4 breaks how Loupe and Guides work together

Update, November 2014: the problem that I describe has been fixed in Xscope 4.1. So I can finally remove v3 and start...

Why NSNotificationCenter sometimes deadlocks when trying to deliver notifications

I’m working on something that involves some multi-threading with Grand Central Dispatch and multiple queues. Always a...

My new thing, and how you can help me make it

I’m working on a new thing.It will be a tool for designers and developers to work better, together.I’ve worked in the...

Far Cry 3: an excellent sandbox shooter. 10/10

I recently finished the single-player campaign of Far Cry 3. According to Steam, it took me 53 hours.Wait, what?Yes. ...

How to add a custom separator supplementary view to UICollectionView

I ran into something recently that I thought might be interesting to post, since I did not see a similar example onli...

Crysis 3

I finished Crysis 3 the other night. I’ve written about the first and second game in the trilogy before, so let’s wra...

Chaining execution

Brent Simmons has a post about his quest to find a solution for blocking on object init while maintaining a synchrono...

Call of Duty: Black Ops

Finished the single player campaign a while ago. According to Steam, took me 8 hours. So it’s on the short side of sh...

Max Payne 3 and Tropa de Elite

I recently finished Max Payne 3. (According to Steam, it took 17 hours.)I really liked the first two games in the ser...

The broken hand: the aftermath

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

A gotcha about Objective-C categories in the same file as the main implementation

I ran into some weird errors today that made me scratch my head for half an hour until I reasoned through it with my ...

The broken hand: the physical therapy

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

The broken hand: The follow-up doctor’s visits

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

The broken hand: the immobile arm

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

The broken hand: the Emergency Room

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

The broken hand: The Way Home

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

The broken hand: The Accident

Part of The Broken Hand series The accident The way home The Emergency Room The immobile arm The follow-up docto...

The broken hand

On November 11 last year, I had a bike accident. I fell on my right shoulder, and I broke it.I didn’t plan for it, an...

Hi again

Hi again. I migrated my blog from Tumblr to Octopress.This is now about the 5th iteration of the blog. I think it wen...

Migration script from Tumblr to Octopress

I converted this site over from Tumblr to Octopress. Since I had hundreds of writings that I wanted to preserve, manu...

“OK, Glass”

I played a bit with Google Glass. Here’s the TL;DR version. This is a new category of everyday Heads-Up Display devi...

Why I bought and returned a LaCie 2TB Little Big Disk Thunderbolt drive

I’m in the process of migrating my personal computing from an iMac to Macbook Pro. Since MBP doesn’t have the luxury ...

Benchmarking 2012 Retina Macbook Pro vs 2010 iMac

The last home computer I bought was a maxed out iMac in late 2010. I recently got a Retina Macbook Pro and thought it...

How to import your iCloud contacts to Google / Android universe

I previously said that there is no web UI to manage your Android contacts, and there’s no sane way to import your iCl...

Samsung Galaxy S3 gives iPhone 4 a run for its money

I bought myself a Samsung Galaxy S3 Android phone.No, I haven’t ditched iOS. I just happen to have phones in differen...

The phone call you weren’t expecting

A few months ago, my mobile rang. Unknown number. I picked up.“Hello?”“Hi. This is so-and-so. Do you remember me? You...

BT_ESCM and “Flaming June.” Pure classic trance genius

I am somewhat ashamed of myself. And yet glad that I no longer have to be.I am somewhat of a trancehead and really di...

My ski bus mixes

I was on a Bay Area Ski Bus today (which is an amazing way to get to the mountain from around here). The ride is abou...

Liars and Outliers, and “they”

“Liars and Outliers” is a book by well-known security author Bruce Schneier. It talks about the role and mechanisms o...

Alan Wake. An excellent game with a poorly handled ending. 9/10

Alan Wake is one of those games that I was really looking forward to, for several years. Finland’s Remedy Entertainme...

Kindle

This is my Kindle. The Touch model, to be exact.A while back, I declared that since I already have an iPad and iPhone...

Fahrenheits and freedom

In early 2011, the broadly respected President of Estonia, Toomas Hendrik Ilves, put out a call for Estonians living ...

Thinking, Fast and Slow

I read the book by economist Daniel Kahneman, “Thinking: Fast and Slow”, that summarizes his life’s research in the f...

The curious case of big fake touch targets usability

Let’s talk about touch targets, and how the common knowledge of “bigger is better” manifests itself in ways that may ...

Debugging HTTP on an Android phone or tablet with Charles proxy for fun and profit

Although I am an UI designer and UI engineer by trade, I enjoy practicing other crafts that go into making apps. At t...

Crysis 2

Crysis 2 is the next part of the Crysis series (claimed to be a trilogy). In some ways, it’s similar to the original....

Duke Nukem Forever

For the past 15 years, Duke Nukem Forever (DNF) was the receiving end of IT project jokes. If you had a project that ...

Crysis

Crysis is a culmination of FPS gaming. Although a few years old, it still is one of the best in the genre. In some wa...

The sad state of e-book formats based on my attempted conversion of Magic Ink

At some point in the last summer, I decided that I want to learn more about the e-book technical format. Mostly that ...

My amazing, quiet 2011

I thought back to 2011. The most amazing fact about the year is that for the first time in ten years, all of these we...

What is an interaction designer?

Part of my design class was about going over the design fundamentals, roles and process. The design community has oft...

My design class

I did a two-day design class as part of the newly established DDVE program. The best I can tell, DDVE is trying to br...

Steve Jobs and his crazy dark genius

I read “Steve Jobs” by Walter Isaacson.Much that’s to be said about the book has already been said elsewhere, e.g by ...

Mint for iPad navigation foundations

My big project at Mint, the iPad version, launched a few weeks ago.I had the privilege of working with a great team o...

Stephen Few’s “Now You See It”

Following up on Tufte’s books, I finished reading Stephen Few’s Now You See It: Simple Visualization Techniques for Q...

A music composition exercise

I used to write music, but I haven’t done it in years. I’ve missed it a bunch and I figured I’ll pick it up again.I d...

The Microsoft opportunity, or why Metro has made Microsoft an interesting company again

For the past few days, I’ve been watching Microsoft videos from their past week’s developer conference. I wasn’t expe...

Windows Metro and Microsoft’s cleanup effort: good stuff, but more needed

I’ve been watching Windows Metro on the computer, phone and tablet form factors ever since I first heard about it. I’...

Far Cry 2. Some annoying features but great FPS in all. 8/10

Last night, I finished the single-player campaign of Far Cry 2.Steam shows me that I spent 50 hours on the game. That...

Tufte’s “Beautiful Evidence” and principles of analytical design

With “Beautiful Evidence” done, I’ve now read all four of Tufte’s main books on information design.I have to say that...

How Windows and OS X handle conflicting files when copying

Over at Building Windows 8 blog, there is a post about improvements Windows is making in copying. Mac OS X Lion has a...

The case of excessively padded blog posts

There’s this thing on the Internet recently that I find annoying. When a company has some news to announce, they can’...

Tufte’s “The Visual Display of Quantitative Information”

This book doesn’t really talk about software. Well, it does now and then, in a disparaging manner, saying how Powerpo...

How great design embraces the boundary of acceptance

I didn’t invent this, but I bet that most people in the world, or even many designers, have not really thought of pro...

How does Android’s nine-patch tool work from a designer’s perspective?

If you’re building or designing stuff for Android, you’ll at some point consider something called a “nine-patch image...

Crème’s data storage adventures

The first version of Crème used Core Data. Part of the reason was that I simply wanted to learn the framework, and I’...

Crème is “circles for Twitter,” or why Twitter is still interesting in light of Google+

As I was wrapping up Crème 2, Google Plus came out. It’s a really interesting product. They might be on to something....

Crème 2 is done

Recently, it’s been hard for me. Not just one annoying afternoon, but for weeks and months, like, really, mindnumbing...

Nature Mobile iPad apps: Birds and Horses

I had an opportunity to take a look at some Nature Mobile apps, specifically Birds and Horses on iPad. I always like ...

Half-Life and Half-Life 2

I just finished the original Half-Life, after about 20 hours of gameplay according to Steam. It was spread over weeks...

Skype 5 for Mac: spatial arrangement and inconsistent single-window design

LKM has posted a very interesting piece on Skype 5 for Mac design. This triggered me to jot down a few notes of my ow...

The annoying Thunderbird

Thunderbird has mostly been behaving well for me, but recently it has really been pissing me off. Like, I use it and ...

The serendipity product

They say that ideas come dime a dozen. Here’s one that I’ve been bouncing around in my head. You should make it and b...

My drawing class

For the past ten weeks, I’ve been going to an Expressive Drawing class in Stanford Continuing Education, led by Micha...

Mirror’s Edge on iPad: 8/10

Just finished Mirror’s Edge on iPad.I didn’t know the franchise before I got the game a few months ago, around the sa...

“Surrogates” 4/10

Finally watched Surrogates. Had been meaning to for a while, but never got around to it.I’m giving it a low rating be...

PlainOAuth now handles the easier URL callback flow in addition to PIN flow

This post is interesting to you if you’ve been following my PlainOAuth project that shows how to log in to Twitter se...

Grand Theft Auto: Chinatown Wars on iPad

I just finished the game. And by “finished”, I don’t mean that I completed every corner of this truly deep game; I ju...

Outlook’s annoying AutoArchive popup

Here’s a great example of what I hate about computers. Outlook’s AutoArchive popup that pops up once in a while in Wi...

The Rubber Ducks demo: CSS3/Webkit animations + touch events in MobileSafari

I’ve previously posted about CSS3 transitions. I now decided to make a more complete demo, while learning about a mor...

What if web pages could have transparent background?

I stare a lot at browsers every day. You can do many effects with CSS. As you expand, though, you will hit the browse...

Splinter Cell: Conviction on iPad

Finished Splinter Cell: Conviction on iPad.Image from guruht.com.I was sceptical about how the platform would be for ...

Moodgeist 2006-2010

I had a project once, called Moodgeist.I was working on it actively in 2006 and 2007. Since 2007, it was sort of in a...

GET LAMP, a documentary about adventures in text

This weekend, I watched GET LAMP, a documentary by the computer historian Jason Scott about adventures in text. Well,...

mt2tumblr: import blog posts from Movable Type to Tumblr

I wrote a script to import blog posts from Movable Type to Tumblr. Download from Github.Should be pretty straightforw...

My adventures in French Internet-land

I was in France for two weeks. As part of that trip, I needed a good Internet connection to work remotely. It turns o...

A new home for Elwood MP3’s

I was once somewhat active in demoscene. I wasn’t very good at what I did, but I enjoyed the events and spending time...

How to get Max Payne working in OS X under VirtualBox

How cool is this?Max Payne, the very first original version, is one of the best single-person shooter games I’ve play...

New version of PlainOAuth, the example Twitter OAuth app for iPhone

In January, I released the no-bullshit Twitter-OAuth protocol writeup and the associated example app.The project has ...

How to get a USB smart card reader to work in VirtualBox guest

I am in the process of converting my virtualization over from Parallels to VirtualBox. I don’t play games or use any ...

CSS3 transitions and their language design problems

I played a bit with CSS3 transitions today, just to understand the basics. And after getting into the more complex te...

Crème vision, social agents, and a sidenote about Skype

I haven’t posted anything here for a while. One reason for that is that I treat my life as a journey. There are twist...

Mail Goggles

Great feature of GMail. This happens when you fail the challenge. (I wasn’t drunk, but just getting slow this late, b...

First thoughts about iPad: heavy, keyboard woes, web image rendering

I wasn’t really going to buy an iPad until the wifi+3G+gps version becomes available later in April. But then, someon...

Say hello to Crème, the new iPhone Twitter app

A few weeks back, I was searching for closed beta testers. The app was fairly well developed by then, but the beta wa...

Come join the closed beta for my iPhone Twitter client

[ Update: wow, I got great response. So, if you haven’t responded already, then… you may still contact me, but I may ...

An example iPhone Twitter app with OAuth authentication

UPDATE: a newer version of this post/app is now available.As a companion to my post on how OAuth works with Twitter, ...

Understanding the guts of Twitter’s OAuth for client apps

In November 2009 at Web 2.0 Expo in New York, someone from Twitter said that they will be phasing out Basic Authentic...

My bad iPhone 3GS purchasing experience

Today, I thought I’ll buy an iPhone 3GS. I somehow broke the headphone connector on my old one, and it was annoyingly...

Twitter read/unread state, campaigns, and priority contacts

Twitter is interesting because it is a new protocol. In connection with that, I’ve recently thought about three thing...

Why you shouldn’t trust Google Wave: it’s broken

I couldn’t fit this in the post about Skype Chat vs Google Wave, so here’s my biggest gripe with Wave.It has many UI ...

On Google Wave, and how we made Skype Chat

Google Wave looked interesting when it was first presented. I was looking forward to getting on to it. And I was intr...

What Would Google Do?

The book by Jeff Jarvis. I was a bit underwhelmed, I don’t know what I expected, but there was no big revelation. The...

Why I like Flash Catalyst more than Expression Blend for interactive wireframe prototyping

I sometimes build “interactive wireframes.” These are screens that you can click through, to explore main parts of na...

2012

Went to see the movie. Did not really like it, so I’d give it like 3/10 or so. It’s ok if a movie has some cliché, bu...

New Apple Store in NYC Upper West Side

I went to the new Apple store opening. Made it there around 10:15am, saw a few hundred people in line.Not a big fan o...

“The update was not applied”

Umm… so?

Apple TV, games, and iPhone

Here’s a piece on Apple TV. Interesting bit: … there’s no way you’re going to have games where the input is a little...

Fixing the iPhone’s Springboard with groups

There have been some interesting posts recently about the iPhone “Springboard”. I don’t know if that’s the official n...

Bank of America misses an opportunity to market online banking at its branches

Sometimes I wire money from my Bank of America account to another country. It used to be that you had to fill a paper...

My vs Your

Windows 7 inconsistency. Control Panel home for a user. Is it “my” or “your”? Make up your mind.

Assassin’s Creed on iPhone

A super nice game, if you’re into that kind of genre. Very Prince of Persia-ish, except more sword fights and less we...

Cloudy with a Chance of Meatballs

Was dragged to see this by some friends at work. Movie itself was silly, but gorgeous 3d, really good experience. The...

The Imagineering Way

The Imagineering Way. A loose collection of essays, sketches and even poems by Disney Imagineers, the people creating...

Crazy Omnigraffle update options

When updating Omnigraffle, I get this monstrocity. What’s wrong with having just a normal single “install and relaunc...

Apple and Linux share the same design philosophy

I know. It sounds crazy. But hear me out.One of my favorite Master’s professors, Bonnie John, said: If there’s one t...

Twitter’s account lockout vs API

Interesting case by Larko. He got locked out after he changed his Twitter password, but failed to input the new passw...

A Theory of Shopping by Daniel Miller

A Theory of Shopping by Daniel Miller.This book came up in my Interaction Design classes and was recommended by John ...

The International (6/10)

The trailers again made this movie look better than it really was. Some reviews said it was like Bourne, but more bor...

“A pedestrian was killed crossing here”

Does this notice work? Maybe, at least enough to get me take a photo of it and post it here.

iPhone news apps: AP out, Reuters/USA Today/NY Times in

I previously posted about the state of iPhone news apps and how I am looking for a decent app on my daily commute. Ba...

My epic fail checking out Palm Pre at Sprint store

I thought I’ll take time after work today and go to the Sprint store at 34th St in NYC to play a bit with the new Pal...

Déjà Vu 7/10

Liked the idea, but somehow wasn’t completely captivated by it. The timelines are very confusing and I didn’t realize...

“Well, this is embarrassing”

I like this title. Software that has the courtesy to not blame me for its own personal problems.

Art & Fear: Observations On The Perils (and Rewards) of Artmaking

I got this book because it was the original source of the potmaking story that I like a lot. I wanted to see what oth...

Ali G indahouse 5/10

Hadn’t seen it before, but decided to complete my Baron Cohen moviewatching. I haven’t seen the TV episodes. Granted,...

The case for/against password masking

I have great respect for both Jakob Nielsen and Bruce Schneier and I usually agree with both of them. But in this cas...

Valkyrie 7/10

Unlike many other films about the area, this is actually mostly historically accurate. Reminds me of Untergang and Na...

Browsers vs search engines, and how it makes complete sense

This is a really great video.I wasn’t surprised by this by a least bit, because all my academic training was about on...

The Inmates Are Running the Asylum

By Alan Cooper. Makes a convincing business case for interaction design. Plenty of successful and failed case studies.

AT&T vs jQuery

Totally looks like.

The Curious Case of Benjamin Button 8/10

Epic. Moving. Simple.

Retro Estonian commercials available on DVD

Do you remember the Borat movie? And the fact that it had a bunch of bizarre clips in the end credits, that were actu...

Software vs hardware keyboards of iPhone and Palm Pre

A good piece on iPhone vs Palm Pre, discussing, among other things, hardware and software keyboards, and what are the...

Program error

My Adobe UI gripe of the day. Gee, that’s useful to know, thanks, Photoshop.

Adobe Support is fubar

Sent a support inquiry to Adobe a while ago. Today, got this email… Thank you for letting us handle your request, th...

Slumdog Millionaire 7/10

Watchable, but there was no big “aha” moment for me. When following the links about the movie, the most interesting n...

Bad UX from Microsoft: Windows Media Player for Mac download experience

It’s sad that Microsoft keeps giving me bad experiences, despite having Bill Buxton and other wonderful people on the...

Pixelmator self-promo

I love shameless funny self-promotion.

Hastily made Cleveland tourism video

A friend in Cleveland sent this to me. The info says… The Cleveland Tourism Board gave me 14 million dollars about 8...

W.

http://www.imdb.com/title/tt1175491/It’s not too hard on Bush. Rather, a fairly honest look at the man’s life and man...

How SkypeToGo can be faster than Skype for iPhone

It’s great to have internal competition between your products. And Skype has it between SkypeToGo and the iPhone vers...

Nice printer instructions at Fedex

Fedex Kinko’s had pretty good user experience. I needed to go there, connect my laptop, and print some stuff on their...

Skype for iPhone first quick thoughts

Today was a happy day for the Internet.Skype for iPhone was released today.When I first heard the rumors last week, I...

Do you want to close all tabs or the current tab?

Q: This dialog appears when you click “Close” in an IE8 window that has more than one tab open. When you click either...

Australia 8/10

I hear some people didn’t like it. I did. Not so much as to give it a perfect 10, but it was definitely worth my time...

Search spam in iPhone App Store

When one app lists unrelated apps in its description, I can only conclude that it’s spam.

iPhone OS 3.0 and its accessories piece

Just watched the iPhone OS 3.0 announcement event. Lots of good stuff. I’m looking forward to it becoming available.T...

How to connect a FireWire camera to computer when camera has only FW400 and computer has only FW800

I’m currently working with a video camera that has FireWire output and FireWire 400 cable. But let’s say your compute...

Article about ID cards in common law countries, and my thoughts on it

Bruce Schneier links to an interesting paper discussing ID cards in common law countries, and why they are often perc...

Body of Lies 7/10

Nice spy/terrorist/war movie. I just thought the other day about how there haven’t been too many movies about Iraq Wa...

Almost lost a Stackoverflow post

Almost lost a posting on stackoverflow.com because of this problem. It should tell me which tag is the problem.

Spotify

Tried out Spotify.Now, the back story here is that I’m not very big on Internet apps for music. Basically there’s not...

Of making pots

There’s a quote from one of the readings in my design classes that’s been haunting me for a long time, and in a good ...

Firewall (2006) — 2/10

This movie left no impression with me whatsoever. I am giving it 2/10 instead of 1/10 because their IP addresses look...

Twitter’s two security blunders, and how it’s bad for business

Twitter has had two security blunders recently. In January, their admin password was bruteforced with a dictionary at...

Broken disk image layouts

Many OS X DMG installers have some “landing page” where you open the disk image and they have some nice background im...

Redirecting my Misc Random site to Friendfeed, and work update

It’s been quiet here. Hello? Anybody home? Yes I am. Just been very busy with other stuff. And being busy lead me to ...

Giant sea otters attack Hong Kong

Sea otters.

Some items will not be pasted

An extremely unhelpful error. Appeared in an application when I tried to paste a group of items. Which items are thos...

Eagle Eye 5/10

Like the reviews on Wikipedia say, started out OK but plot turned completely unplausible by the end. Had nice suspens...

“What happened”, the Bush administration, and what’s next

The US has a new president. Many people say “about time”. It definitely is the end of one era and beginning of a next...

X-Files and Indiana Jones

Watched two movies over the weekend.The X-Files: I Want to Believe. I was a huge X-Files fan when I was in high schoo...

Migrating content from pMachine to another blog system, take 2

A while ago I wrote this post that explains how to migrate content from pMachine to Wordpress. All I had to do at the...

jQuery, hammers and nails, and screen scraping

I am currently playing around with jQuery and I am in a mode where jQuery is my hammer and every imaginable web probl...

Metroid Prime 3 Corruption: a decent action-adventure (8/10)

Another week, another game down. Just finished Metroid Prime 3: Corruption.I played it in the easiest, Normal mode, b...

iPhone software 2.2, emergency calls, and passcode security

iPhone software 2.2 was released today. I don’t yet know what other interesting features it has, but it has a bunch o...

Super Mario Galaxy: absolutely brilliant

I finished playing Super Mario Galaxy. It has been named 2007 “game of the year” by many publications. And with a goo...

Skype 4 beta: functionality, efficiency, and affect

I’ll quickly wrap up the series about Skype 4 beta. Previous posts have been about the (non-)disabled message edit bo...

Skype 4 beta: chat bookmarking and notification changes for better attention management

One of the strongest features of Skype are its text chats. In Skype 4, there are some changes to how chat notificatio...

Skype 4 beta: a confusing “email address added to profile” notice

In Skype 4, when I first opened the profile editor, I saw a message: “Note: we have added your email address to your ...

Skype 4 beta: editing phone numbers of contacts

One of the nice new features in Skype 4 is being able to edit contact phone numbers. In previous versions, you were a...

Skype 4 beta: the (non-)disabled message entry box mystery

Here is the conversation window in Skype 4. I think I was in compact mode when I took this shot, but the discussion b...

Skype 4 beta post series

I had steered clear of Skype 4 until now. I wanted them to get through a first few betas first before I would give it...

Flex BrowserManager back button navigation vs -use-network=false

I haven’t posted yet about how I did the implementation of my final Master’s HCI project in Adobe Flex. In short, I h...

Bank of America’s transaction description editing feature

I am now using Bank of America and their Internet banking. It has many aspects and bugs that I don’t like, but there ...

Initial take on new MacBook Pro hardware

I was really anxious to actually go and play with the new MacBook Pro, so I went and messed around with it at the App...

The Palin-Biden debate

I watched the Palin-Biden vice presidential debate this Thursday. The big question, of course, was if Palin would bre...

Skype Chat Stats

I made a little Skype Chat Stats script. You can run it on a Skype chat (most useful in group chats, although it work...

The experience of Wii as a FPS console, and Medal of Honor: Vanguard

I’ve now had Wii for a while. I was initially torn between Wii and Xbox 360, but I really wanted to check out the Wii...

I liked Obama more than McCain in their debate tonight

I don’t watch American news that much, so I’m not really following all the details of the campaign. But the current e...

Phone spam and identity theft

I’ve had a US mobile number for more than a year. And I am happy to say that during that year, I only got maybe two o...

Slight differences between my old and new MacBook Pro-s

Oops, this post published a bit early, so if you saw an old, empty one, you should have refreshed ;)I’m upgrading my ...

The contrast of IKEA buying and home delivery experiences

This will be my last IKEA post for a while ;) but I wanted to post about the contrast I experienced between the buyin...

Google Chrome: a great new browser with much improvement potential in security UI

I had the luxury/annoyance (depends on how you look at it ;) ) of having to sit at home all day, being forced to wait...

IKEA, Apple, and ephemeral stuff

I’m currently in the process of setting up my new life in New York City. (I’m going to work here now for a while… mor...

My iPhone froze in a strange way

Last week, I had a strange incident with my iPhone that made me suspicious of how stable it really is. I don’t mind a...

Woman robots of IVR systems have low voice quality

I’ve been calling various banks, mobile companies, insurance agencies and other businesses that I’m a customer of. He...

Quick thoughts on iPhone 2.0 software and iPhone 3G

I downloaded iPhone 2.0 software the day it came out, and I’ve been using it for a week now. And yesterday I finally ...

New Flickr Downloadr version that fixes the “missing originalsecret” bug

Flickr Downloadr is one of my little fun side projects. It was originally a throwaway code kind of thing, but I’m gla...

The curse of blue LED-s

Dear consumer electronics manufacturers:can you please stop putting stupid annoying blue LED-s into every god damn pr...

Getting AT&T 3G data card to work under Mac OS X and with Parallels

I figured I need a 3G/mobile data connection for my MacBok Pro, so I got the card that AT&T offers. As an aside, ...

Four new Spring semester projects online — money management, electronics, and designing for families with kids

I’ve published four new projects that I didn’t yet manage to post before: SeeMoney, an interaction design exercise i...

Firefox 3 download day on June 17, and their claim about “most downloaded software”

Firefox 3 will be released on June 17, this coming Tuesday. They say they are trying to set a Guinness World Record w...

The Soviet Story — a documentary about Soviet crimes and Soviets’ cooperation with the Nazis

I just watched The Soviet Story. Wikipedia page of the film. Here’s the trailer.It’s a documentary about some of the ...

Fun Preview bug when trying to resize an image

Here’s a dialog I got when trying to resize an image. I think it was a 1-bit black-and-white PNG.Now look again. Does...

Advanced logarithm calculator on Mac OS X

Mac OS X has a pretty nice calculator bundled that is sufficient for daily purposes. Well, actually there are many. T...

The one piece of Apple hardware that needs an update

In anticipation of June 9 WWDC Keynote, everybody is talking about what new Apple stuff will be released there. Proba...

Skype Freetalk wireless headset does not work properly for me

I wanted to buy a wireless headset. And not just a Bluetooth one-ear tiny thing, but a proper headset with two earpad...

An account of the Estonian Internet War by Gadi Evron, where the Internet is going to go, and Estonian cyberdefense strategy

In a recent Risks Digest, there was an account of the “Estonian Internet war” by a security expert Gadi Evron. Here i...

Schneier on Security: Bletchley Park May Close Due to Lack of Funds

Bletchley Park is in financial trouble. This is sad. I visited it a few years ago. It is a really great museum and si...

Getting your money back from Lufthansa and Austrian for their screwups

Over the past year, I have had two cases where the airlines screwed up a bit and I had to incur a loss because of the...

A new site about communist crimes

A new site. It’s about time someone made this. Should be pretty credible, as it’s a follow-up to Estonian Internation...

Watching Eurovision together with a long Skype session

Today I had a five-hour Skype conversation with my girlfriend. I don’t want to say “phone call” because to me, it was...

What is this weird “phone and 7 keys” icon on my iPhone?

I’m having a problem for the past few days with my iPhone. There’s a weird icon on my status bar and I cannot make he...

Mao: the Unknown Story

On a recent flight, I finished reading “Mao: The Unknown Story” by Jung Chang and Jon Halliday. (The image below is t...

Off to CHI2008

Tomorrow (Friday), I’m off to CHI 2008. I looked at the program and I’m a bit overwhelmed at this point, as there wil...

My delay experience with a Continental flight from EWR to PIT

I had to fly from Newark to Pittsburgh last night, on the way back from my spring break vacation in Europe. And again...

I finally threw out OpenOffice and installed MS Office

So… I knew this day would come.I’ve had OpenOffice for a while. I mainly use iWork for Office-type stuff, but there’s...

Flashing

I’ve had a pretty interesting past few days. One of my classes is Basic Interaction Design where we learn how to idea...

MacBook Air is really as nice as the ads say, and user education with videos

I had a little time to walk home today. And my walk from school to home can easily include a visit to the local Apple...

The sad usability state of file permission setting functions in Windows and OS X

File permission setting in Windows and OS X could use a lot of improvements. As it stands, it’s very often unusable a...

MacBook Air advertising with typography

Apple released a bunch of new products today, like MacBook Air and some other stuff. MacBook Air is supposed to be a...

Fixing my Apple Remote’s battery contacts

My Apple Remote was running low on battery (indicated by an onscreen icon), so I got a new battery for it. Yet when t...

Goodbye 2007, hi 2008

This is my last post for 2007. I haven’t been posting much recently because I’m enjoying every minute of my two-week ...

A long overdue reflections post

A friend asked me several months ago… you should do a big old long blog post about your change of lifewhat was as ex...

Estonia becomes part of Schengen area, and Europe becomes smaller

Tonight, Estonia and other countries become part of the Schengen area. Internal border controls are abolished on land...

Big weather fluctuations in Pittsburgh

One of the strange aspects of practical life in Pittsburgh is that weather here can fluctuate much more and much fast...

How bad survey design can discourage people from answering your questions

One of the things I’m learning a bit about is survey design and statistics. There isn’t going to be anything new, her...

iPhone screen orientation and touchscreen bugs

Today in our software architecture class we talked about simple sensors like IR, accelerometer and such. This led me ...

LaCie rugged drive volume icon for Mac OS X

Got this email. This is a bit of an odd request. I saw your icon struggles with your LaCie drive. I recently purch...

A trip to a TV factory

Today, as part of my Human Factors course, we had a field trip to a local Sony TV manufacturing plant here in Pennsyl...

Silly taxes and surcharges on many of my bills

One thing that I’m having a hard time with in the U.S. is that the price of something is not what you’ll end up payin...

Why Eclipse is not as good as NetBeans for building desktop Java UI-s

Eclipse is a decent Java development environment… until it comes to you actually having to build desktop GUI apps. As...

How my basic communication design class has messed up my perception in a good way

I’m taking a basic communication design class. The stuff that all graphic designers and any other designers took in k...

A weekend in Toronto

I’m just back from Toronto where I was from Friday to Sunday. And I had a truly wonderful time there.I was very fortu...

Nokia buys NAVTEQ

On October 1, some news were released. One was about changes in Skype management and some followup to the eBay acquis...

Why don’t I see European companies at US university career centers?

I went to Carnegie Mellon Career Center to talk with my career consultant about … well all sorts of stuff. Career cen...

Network Advertising cookies

Studying privacy at school has taken me to the wonderful world of online marketing and advertising that is one of the...

A story in The Sidney Morning Herald on e-voting

There is a story on e-voting in The Sidney Morning Herald. I have a few little quotes there in the beginning and end....

Smiley gets 25 years old

Thursday, September 19 2007, is 25th birthday of the smiley :-) and it was “invented” right here at Carnegie Mellon. ...

Thoughts from this week’s Apple iPod keynote event

Just watched this week’s keynote about iPods. There were a few interesting things there beyond the iPhone price drop....

I saw talks by Freddy Anzures and Panagiotis Papadimitratos

One of the great things about going to an interdisciplinary university is that you get to go to talks that are not st...

dir2rss — convert directory listings to RSS

I told some people a while ago that I’d do something that converts directory listings to RSS. Actualy work was someth...

“Small Pieces Loosely Joined — a unified theory of the web” by David Weinberger

When I met Weinberger last year in Paris, he was in the process of finishing up his latest book, “Everything is misce...

Brutal schedules and technical problems in the form of Mac hard disk berserkness

It’s only Tuesday, but this week is truly shaping up as brutal on me. I’m doing pretty good up to now, but not sure h...

Initial iPhone impressions

I’ve been on iPhone for a week now. While I don’t have the time right now to do any sort of scientific in-depth compr...

Getting my iPhone up and running with good service

It’s so popular to bash big companies. Apple, Cingular, all those evil monopolists who make people’s lives miserable ...

The media car

Let me tell you what cars will be like in five or ten years. :)Of course, I have no idea. Neither do you, or any of t...

Star City — our quick short film production

“Star City” was a film production that we entered in Assembly 07 short film competition. It did qualify to the finals...

Assembly 2007

After a two-year break, myself and some friends went to Assembly 2007 (official page).Assembly is part of the demosce...

Marienborn

(Saadaval ka eesti keeles.)There’s an interesting Cold War memorial on German A2 east-west Autobahn: the Memorial of ...

Luxembourg to Tallinn in July

Another drive on the same route as last days. Just some short remarks here and the usual log.July 23, Luxembourg, 7:0...

My visits to Treblinka, Majdanek, Sobibór and Bełżec concentration camp memorials in July 2007

Following up on my last year’s visits, I visited the remaining memorial sites in eastern Poland in July 2007. I’ll fi...

A busy week coding Flickr Downloadr, messing with jflickr bugs and and being offline

I’m wrapping up a week that was kinda busy for me, even though I didn’t put too much time in my blog or anything else...

Die Hard 4 and Russia’s rejection to cooperate in cyberattack investigations

Just saw Die Hard 4. Classic “action comedy” with Bruce Willis. I understand it’s distributed under the names “Live F...

Tallinn to Luxembourg with visits to eastern Poland

On July 2 to 4, I again drove from Tallinn to Luxembourg – but also did some travelling in eastern Poland, following...

Decluttering

My first month of vacation is coming to an end.I’ve had a really great time. And I spent a lot of that time getting r...

Civilization board game shots

Had yet another game of this. Now we’re starting to already understand the rules and the pace is picking up. Last tim...

David Vise’s “The Google Story”

I read “The Google Story” by David Vise.I’ve been pretty unfamiliar with how Google came about, so I figured why not ...

usablesecurity.org field study of online bank authentication security, and Site Authentication Images

Someone pointed me to this interesting study done about online bank authentication and how people react to security m...

Safari 3 on Windows — a glass of ice water to people in Windows browser hell

Today, yet another Apple’s Worldwide Developer Conference kicked off with a Steve Jobs keynote. These are big insight...

Annoying Skype chat and contact spam getting worse

I’ve always said that Skype has privacy features to block unwanted spam and contacts. No one tells me to allow chat f...

Prey, the companion of Duke Nukem Forever

Just finished playing the singleplayer campaign of Prey.And the screenshot isn’t made by me, but it’s real as I remem...

Once upon a time, in the land of application icons…

Once upon a time, in the land of application icons, there was a time when the Skype program icon on Windows was color...

My favourite Skype projects

Skype for LinuxMy first task at Skype in 2004 was to get Skype for Linux out of the door. I hadn’t really used Linux ...

How I and some other bloggers had an encounter with the Estonian Security Police regarding freedom of information

Perhaps it’s a long and confusing title, but it sums up the content. So if you won’t bother to read any further, here...

First table game of “Civilization”

I just finished my first game of the “Civilization” tabletop game version that I bought a while ago. We played it wit...

Optimizing Reason performance on a Mac for a CPU-hungry song

I like Propellerheads Reason. It’s a great piece of software for messing around with digital music.But sometimes you ...

A new chapter

Today, I am beginning a new chapter on this blog. And in my life.I’m leaving Skype – at least for this time. Today is...

Demoscene show

I did a little show to my colleagues about the demoscene.There was an interesting “video postcard” in the Eurovision ...

Skype lowlevel API design for sending chat messages — on the road to too complex?

There’s one inconsistency in Skype’s lowlevel API design. On a basic level, the Skype API is text-based (like many ot...

Duncan’s talk about usability

My good colleague Duncan Lamb, who’s head of Skype’s Windows product design, gave a talk about usability this week at...

Converting from one Mac to another: Migration Assistant, data cleanup

I spent the better part of this Sunday switching from one MacBook Pro to another. The old one was Intel Core Duo, the...

David Weinberger’s “Everything is Miscellaneous” book talk at Google

Just watched this talk.I like Weinberger – not only because he writes great stuff and is one of the authors of “Cluet...

Visiting the memorials and the place where the Tallinn April riots started, and Lennart Meri square

(Saadaval ka eesti keeles.)It seemed more and more strange to me that I keep going on about the crimes against humani...

How Dreamhost cron jobs ran as duplicates and their new management feature fixed it

I’ve been hosting my private web operations on Dreamhost. I’m generally really happy with what they are providing me,...

Russian continued cyberattacks on Estonia and their implications for the Internet governance

Russian Federation continues to wage cyberattacks agains Estonian government websites. The attacks come at least part...

Luxembourg to Tallinn weekend drive

Yet another weekend and yet another 2276 km behind me, I’m in Tallinn in one piece :) no major happenings, but as all...

How to pair a Bluetooth mobile phone with Ford’s onboard Bluetooth handsfree

Waldek asks in the comments of one of my most popular posts: So I’m from Poland, new owner CMax (second hands) with ...

Estonian war crimes, minority rights, Russian moral ambiguities, and the way forward

Occasionally I get comments to my previous post that are not hate speech or propaganda but instead try to further a m...

Hate speech, identity construction, and further reading on Tallinn riots aftermath

I don’t really want to post too much about political topics or the “Tallinn April thing” any more. I believe I said m...

What I think of the riots in Estonia

(see postitus on saadaval ka eesti keeles)Through the past year, I’ve been away from Estonia for quite a while. I’ve ...

Toasted clocks on OS X Dashboard

The clocks on my OS X Dashboard are toast. Some are missing background and some clock hands are replaced with ? (a pl...

Generic reposter code now available — repost your Twitter timelines with pictures

Vacation is the best time to write code, isn’t it :)I got my act together and somewhat cleaned up the generic reposte...

Fixing the volume icon on a mobile hard drive

Following devil’s comment, I tried to fix the volume icon on my LaCie. One collateral of reformatting is that you of ...

Twitter, Jaiku, and my touchable lamp

It’s so fun to watch all the frenzy around Twitter, Jaiku and other similar more esoteric services that are so hot th...

Using a mobile hard drive across Mac and Windows

I figured I needed some more disk space and it should be mobile, to match my other mobile adventures. So I got myself...

Apple widgets crash with weird network setup

I witnessed a spectacular crash of all my stock tracker and weather Dashboard widgets in OS X this morning. When I op...

A friendly form to enter credit card details

Typically when using a credit card to pay on the Internet, you enter the card number and such in a blank text form. H...

Mac OS X USB stereo headset weirdness [update: and fix]

Another OS X hardware/software weirdness. My USB stereo headset suddenly went mono. This means that it only plays cra...

User-friendly Germany

A few weeks ago, Jim Courtney posted about user-friendly technologies in Germany. I don’t have too much to add, these...

Dan Brown’s “Digital Fortress”

One of the recent books I’ve completed reading is Dan Brown’s “Digital Fortress”. I’ve found it useful to document th...

Interfacing with Skype from Python via PyObjC

Someone asked me, “How do you talk with Skype API on Mac OS X from Python via PyObjC”? Sounded like my kind of thing ...

iWoz, the story of an engineer

I’ve been reading Apple books recently, such as Jim Carlton’s “Apple” or iCon. Both of them, as well as much of the o...

DarkSide Tetris 1.0 out now

DarkSide Tetris is a game that my friend Dan and others have been working on for quite a few years now. Congratulatio...

Struggling between Firefox and Safari

For a few weeks now, I’ve been struggling between Firefox and Safari, as “which one should I use as my main browser o...

Google Earth closeups and property rights

The post about Google Maps super-closeups hit me with something that someone else has illustrated with the buttcrack ...

Four Skypes in one box… and many blogs and comments

I didn’t really expect this little trick to gain the sort of traction that it has seen by now. I just thought it was ...

A video interview with Thad Hall on Estonian e-voting

Thanks, Peeter Marvet, for this video interview with Thad Hall, a US expert on e-voting who was an observer in our la...

The “Singing revolution” film

I saw The Singing Revolution documentary last night. It is a film about Estonia from 1939 to 1991 by an American film...

Estonia has no paper laws any more

I continue to be amused by the antagonists of e-voting who claim that we are doomed without paper trails. So here’s s...

Brain and intent scanning

They are now seriously experimenting with this. Bruce found the link and says… There’s not a lot of detail, but my g...

No exclamation marks

A lot of my work and hobbies revolve around writing. Be it copywriting or blog posts or guides or instructions or for...

RFC 741

I’m researching some historic material that has Skype relevance. I found RFC 741 from 22 Nov 1977 (almost 30 years ag...

FedEx: “We’ll be back”

This post by Alec reminds me of a recent encounter I had with FedEx. I was supposed to get some package shipped to so...

Bill Gates: “Microsoft is choosing Apple because over time, other platforms won’t be interesting”

Can you imagine Bill saying that? I have video footage to prove it below.Of course, he didn’t say this today or yeste...

E-voting in Estonia’s 2007 parliament elections

We are going to have parliament elections in Estonia on March 4, 2007. And this is my voting station.We’re going to b...

Thoughts on “Thoughts on music”

Two things of major relevance to each other happened like 10 minutes from each other today just a while ago.First, my...

Generic reposter — automatically post any feed items to any blog

I took a break from my Objective-C adventures and solved a problem today that has been bugging me for quite a while n...

Charting the unknown OS X development territory

I’ve posted relatively little over the past few days and generally engaged in relatively few visible “extracurricular...

iPhone initial thoughts

Just watched the Macworld keynote from last week, where the main talk was about iPhone. Much of what’s to be said has...

Logbook Jan 6-7 Tallinn-Luxembourg

Drove my car all the way in a single sitting. Just wanted to see how it goes. And here I was, 2300 kilometers, 5 tank...

Chipped bank card security

Here’s something I don’t understand about bank card security. I have the latest-and-greatest chipped VISA card. It ha...

iCon: the second coming of Steve Jobs

Just finished reading “iCon Steve Jobs: The Greatest Second Act in the History of Business”.This was my second “Apple...

Switch: blog reading and writing tools

I’m a RSS junkie and keep an eye on tons of feeds, both for work purposes and for staying in touch with people I just...

Switch: web nerddom

One of my trades is being a web nerd. I build and mess with websites. Either from scratch or based on some engine. Be...

Switch: audio, video, multimedia

Mac is the über-multimedia machine, yes? All the cool people use it to produce audio and video. You know, the adverti...

Switch: calendaring, contact management and mobile connectivity

I’d like to bust a myth that I myself had developed a while ago. I’m not really sure how it came about, but somehow I...

Switch: ergonomics and hardware

One thing that’s really difficult to argue with is that Apple computers, including my silver MacBook Pro, are simply ...

Visa Röster International Karate

This is a cool remake of an important piece of computer history. A capella performances of one of the classic game so...

The art of intrusion

Just finished reading “The art of intrusion” by Kevin Mitnick. It follows his previous work, “The art of deception”, ...

Switch: keyboard tricks

I needed to learn some things about the keyboard when switching to OS X, and there are some other little things that ...

Switch: virtualization vs going native

If you’re a “recovering Windows user” going on OS X like myself, there are effectively two choices that you can go wi...

Linksys wifi router installation thumbs-up

I had to install a Linksys wifi router recently. I like clear labels on things. It’s always confusing whether you nee...

Switch: initial installation, data transfer and junk filtering

I got a pretty standard 15” MacBook Pro, the only upgrade being the faster hard drive. So it came without any OS inst...

Switch

I recently got a new MacBook Pro. It was a long-awaited upgrade over my aging T41 that served me fine for a bit over ...

The value choice and online traces

I’m a big fan of transparency and open, archived, accountable communication and conversations on the Internet. I’m al...

George W. Bush arrives in Tallinn, as seen on traffic cameras

George W. Bush arrived in Tallinn today, for a one-day visit before moving on to Riga where the NATO summit will be h...

Malta

I was in Malta on vacation for a week pretty much exactly one month ago. It put a nice finishing touch on my really g...

Retro Estonian commercials in Borat movie

I haven’t seen the Borat movie yet. I’ve seen the clips and have mixed feelings, but don’t think I’d add anything uni...

Get on the Cluetrain

Just finished reading the book version of the Cluetrain Manifesto. Even though the full book is available on the site...

Toasting the iMac and Firefox, and the usable browser window

I’ve toasted a bunch of things lately. Luckily, non-fatally.First it was the iMac. I thought I’d try Bootcamp and ins...

Why I still use e-mail over Skype Chat

A while ago, we published this piece saying Skype chat is greater than e-mail. (corrected, thanks Jim) Chatting is o...

Delete, move, keep…

Ouch. Apple products and iTunes are generally well-usable, but someone did a sloppy job with this dialog. I watched a...

Jim Carlton’s “Apple”

Just finished Jim Carlton’s “Apple”. Thanks to Priidu, one of the most dedicated Macheads (in a good way), for sugges...

The story of a forum switch

Part of my job at Skype is running the Skype Forums. I recently completed an interesting project, switching it to a n...

Madonna “Confessions” tour and Düsseldorf

Went to Düsseldorf to see the Madonna “Confessions” gig. I’m not a big fan of hers. No hater either. I just figured t...

Check out the lion

New features rolled out for Google Talk. Nice.Among other things, they have an example of the new embedded images fea...

Luxembourg the media country

Did you know that the name of RTL, one of the world’s leading media companies, means nothing more than Radio Tele Lux...

Territorianism — a weird dream about structures and maps

I have these weird dreams once in a while. Now I had another one about a week ago. As it happens with all the dreams,...

Brussels

Had a day off in Brussels.Weather was hysteric. It rained, and then the sun was shining again, and this cycled for ab...

Someone finally gets what strong security is about

The world is not lost yet. Here is someone who gets what strong token-based security is about. I’ve been reading this...

Berlin

I was in Berlin for a weekend. Did the usual touristy stuff. Among other things, had Fabian as our walking tour guide...

Logbook, July 16-18

Here’s my logbook for this time. Mostly for my own future reference, but maybe someone else finds it useful too. The ...

Driving in Poland

My relatives warned me against driving in Poland alone and through obscure sites. From the early 90s when the borders...

The story of maps, getting lost and the fuxored bridge

Sometimes, when a sign tells you to turn left, you need to go right to make it there. At least this is how it worked ...

Never again. Nie wieder.

I visited the sites of Treblinka and Auschwitz I and II. The historical facts and pictures speak for themselves. Just...

Data on my vehicle’s navigation database DVD

Just out of curiosity, I popped the DVD powering my car’s navigation database into a DVD-ROM and here’s the directory...

Battling the elements

Ah… this post by Seth couldn’t be more topical. A large part of Europe, including Estonia, is undergoing a massive he...

London, July 7, 2005. I was there.

A few days late, but still.London, July 7, 2005.I was there.I was in a hotel on Russell Square. The stay itself was p...

Software is like airplanes

Interesting metaphor: shipping software is like flying commercial airlines from A to B. Haven’t thought of this previ...

The Gates spec review and covering your subordinates’ asses

Joel writes how Bill reviewed his spec and asked questions and how he survived. This is a great example of a manager ...

Lufthansa business class

I just landed from a long-haul Lufthansa flight with their upgraded business class seats. When I went business last t...

Estonia — certified nation

Brainbench says that Estonia is the most certified nation of all. Followed by Latvia and Belarus. I got a Brainbench ...

“Yes, and”

As part of the eBay Live! staff orientation, we had a presentation-slash-comedy by some folks from Comedy Sportz (not...

Mojito

There is something I find really strange about Las Vegas. It’s supposed to be the entertainment capital of the world,...

France in five paragraphs

I was sitting in a long flight with a French colleague. I am always interested in how natives talk about their countr...

The Skype Identity plugin concept

Now here is something I’ve been thinking about that would be an useful add-on to Skype, and that I know that some ent...

Prince of Persia: the Two Thrones

Just started Prince of Persia: the Two Thrones on PC. Although I’m only through the first few scenes, it looks like i...

If I were to do a new company…

… I would do a personal finance one. A “web2.0”, “getting real” type of no-nonsense service where I could do exactly ...

F.E.A.R. should have been called B.O.R.I.N.G.

Completed F.E.A.R.. Another of those “well yeah” type of shooters. Levels were a lot similar to Doom 3, but the gamep...

The wifi trouble

Wifi is supposed to be easy, yes? All the standards play nicely with each other and bla bla bla… oh well. In reality,...

The three “Chicagos”

I’ve seen “Chicago” three times now. And while the first two were fine, I really didn’t like the last one in London.F...

A mouse

Last night around 9:30pm I was waiting for a train in the London Underground Piccadilly station. As usual – train tra...

The Value of Privacy, and interpreting meaning

A good, short, powerful essay by Bruce. “He did it again.” This passage to me is especially meaningful: How many of ...

Mini Cooper navigation system

Last week I was in a Mini Cooper equipped with it’s built-in navigation system. (See elsewhere here for discussions o...

Pirkinning

I heard about Star Wreck: In the Pirkinning quite early after its release, but never took the trouble to watch it. Bu...

Taking too much luggage in airplanes and hurting other people with it

A flight I had to take today was delayed for about an hour because while all the people were already onboard, someone...

Hertz Neverlost

I’ve been driving with Hertz Neverlost for about half a week. It’s great to have some comparison against my own curre...

Down under, and summer of love

I somehow seem to develop an affection for songs which have a bit of, for lack of better term, “cultural background”....

Internet and Skype onboard a Boeing 747

I’m writing this from somewhere above Iceland or Greenland. I’m onboard a Boeing 747 en route from Frankfurt to San F...

Illegal immigrants in USA

I don’t really get this USA illegal immigrants thing. Some people have sneaked their way into a country, and are now ...

The Ford Focus on-board navigation system

I see so many bad interfaces and interaction models during my daily life and work that it is a real delight to come a...

Trackmania and TM Nations

Somehow I had not come across this series before. Trackmania is a fun arcade driving challenge on crazy tracks. There...

Web Forgery warning in Firefox

I get a lot of scam emails and sometimes click on the links in them just for the fun of it. To see if the offending s...

The movie plot threat

Bruce announced a movie-plot threat contest. Your goal: cause terror. Make the American people notice. Inflict lasti...

The French youth labour law

The French are just about to pass a new labour law that makes it easier to hire and fire people under 26.I don’t know...

The new user experience: Windows

I created a test user account in Windows XP to test out something. Here’s how the desktop looks at first login (click...

The content crap – or why I pirate MP3-s

DRM is relabelled CRAP. Watch the ZDNet video, it’s short, sweet and to the point.DRM is one of the reasons I don’t r...

UK medical system vs babies

From Telegraph through RISKS digest. A baby boy died after an untrained doctor pressed the wrong button on his bypas...

Migrating a blog from pMachine to Wordpress 2

I just helped someone to migrate from pMachine to Wordpress 2. Now there’s this page available that walks and talks y...

Powerpointism

I’m allergic to the PPT file format.OK, occasionally it can be a good thing. There is nothing better than a well-deli...

The PSP UMD holder distribution

I registered my PSP on their site a while ago. Now they sent me this package that contained an UMD holder. Here’s how...

Getting Real

I liked “Getting Real”. It sounds heavy (171 pages!) but it’s laid out so you actually spend only like 15 seconds per...

Lennart Meri 1929-2006

Lennart Meri was the president of the Republic of Estonia in 1992-2001 who died today. We can safely call him the gre...

My latest baby

We launched this a week ago or so. I’m very happy about the site – I think it’s one of the better ones I’ve done in q...

Commandos Strike Force

Here’s a WW2 shooter with a twist. Commandos Strike Force, re-make of the classic Commando “tactical” series into FPS...

The “New Europe” bloc?

Interesting discussion I had with Martin-Éric based on this article.Martin-Eric: http://funkyware.livejournal.com/144...

“We’re back as soon as we figure this out”

One of the loveliest “under construction” messages I’ve seen. Echoes nicely with my furniture theme :)

Linux/crossplatform media center

I went to a friend’s place after a party and he showed me something pretty cool he said he had coded up in 3 nights. ...

World’s largest Windows error message

World’s largest Windows error message | NetworkWorld.com Community. These are fun when they come on billboards, inter...

Doom 3: Resurrection of Evil – same stuff as prequel, some innovation

I’m developing a habit out of “finish the game almost up to last boss fight, then abandon it for a month, and then co...

Prince of Persia: Warrior Within

I just finished Prince Of Persia Warrior Within.Well.. actually I almost finished it like 3 months ago. But there was...

Building your own furniture

I just spent the better part of my past two days constructing two new desks. These days, if you buy cheap furniture, ...

An oven that is hard to use

I have this thing about not getting along with home appliances that have ridiculous complex interfaces. It used to be...

The New Europe bushcountries and services directive

The EU recently voted in favour of having a services directive – but it’s a crippled one. The BBC website has a nice ...

“sorry, but”

I don’t like “sorry, but” constructs one single bit. They sound very patronizing and are a sign of failure of copywri...

PSPized

I am PSPized now. Just got a PSP™(PlayStation Portable).I wanted to get a portable console already for ages and was c...

Chat Channels — get your Skype chats as RSS feeds or web pages

I had this idea the other day, just out of the blue. What if you could read your Skype chats as RSS feeds?Short answe...

What does J mean?

What is a J? A letter in the alphabet, yes, no, yes? Well sometimes it’s a bit more than that, or rather, something d...

Luxembourg to London, DLR, Chinese new year

Went from Luxembourg to London City airport in VLM Fokker 50. Weather was what I guess they call CAVOK – very few pat...

I liked „Blink”. It illustrates the fact that although the whole drive of Western civilization has been towards ratio...

Dutch people don’t close the curtains

What is it with Dutch people? On several occasions now, I’ve heard they never close the curtains at the house. First ...

Driving in Europe is fun but costs a lot

Last Sunday, I completed what is the longest drive of my current life. I drove all the way from Tallinn to Luxembourg...

Looking forward for Alan Wake

I’m looking forward for Alan Wake. I liked the Max Payne series, although especially the second one was a bit too sho...

Interview with Mozilla’s UI lead

Interview with Mozilla’s User Experience Lead Mike Beltzner. Good read. Here’s what I want Firefox and Thunderbird to...

Spell

<a title=”Heather’s “Marketing at Microsoft” Blog : Mis-spelling a sign of genius? Maybe. Mis-spelling on your res...

ID fraud

Bruce quoting an article from The Register about the UK ID scheme.Uhh… don’t even get me started on the ID-s. I used ...

Call of Duty 2

I just finished Call of Duty 2 on the Hardened level.Sure, I’m a WW2 buff. And sure, COD2 and it’s predecessor, COD w...

How HMV and Activision made me destroy a game I bought

Well, not the game itself, but certainly the packaging.A month ago or so, I bought COD2 from the HMV store in Trocade...

Why blink.com sucked and del.icio.us doesn’t

Ari Paparo Dot Com: Getting it Right. Insightful: how to make mistakes and build something that people won’t find use...

Joel’s shipping hack

Joel’s writeup on how they made an ad-hoc logistics system. I LOVE THIS. I love hacks. “Hack” is not just something i...

Excel 2003 can’t export proper CSV

Sounds weird doesn’t it? Excel 2003 is supposed to be able to do everything. And mostly it can. But on the CSV export...

Thunderbird can rewrap e-mail

I already said Thunderbird rocks. And little by little TB keeps reminding it to me every day.E-mail wrapping is somet...

Detaining a suicide attacker

From ABC news: Belgium authorities raided homes Wednesday and detained 14 suspects with links to a terrorist network...

Learning how to write

Rondam writes on writing. There are two main ways to learn to write: 1. Read 2. WriteAnother way of saying it, don’t...

Doom 3 – good stuff

I just finished Doom 3.I had my doubts about it. I wasn’t too impressed by the demo – it promised just loads and load...

Anti-robot label in Internet bank

I just realized this morning how my Internet bank uses an extra anti-robot technique in their net bank to prevent aut...

The Django project rocks

A few weeks ago, i was at the London Web Frameworks where Django, Catalyst and Ruby-on-Rails developers talked about ...

Filter by flag in Thunderbird?

I love Thunderbird. It’s killer features for me are quickfilter by text, quickfilter by status (the “View” dropdown),...

Contrast of the Opera

Grandness of the Opera…… and some poor bastard sleeping on its stairs with a sleeping bag. (There was also another on...

Worst quiz answers ever

Didn’t see these published anywhere else. Got from a random e-mail list I’m in. Some of them truly entertaining.From ...

Sunday in Paris

Having arrived last night and worked till half into the night, got up early enough for breakfast, and then headed off...

Free Skype Zones fun

Wifi prices at my hotel are ridiculous: 10min 3€, 30min 5€, 1h 10€, 24h 25€. In London it’s also something like 5 pou...

Elevator indicators

From a hotel in Stockholm.The picture is not horribly clear (I really SO need to get a camera) but there are three ve...

DHS surveying my hotel?

From the elevator in my hotel in Paris. The text reads: Warning: This area under temporary surveillance by the Homela...

Hello

Hello world.I figured it’s about time to have an English blog, because some people have asked me for it. And even wit...