Blog

Later Ctrl + ↑

Safari and passwords

Safari’s new password manager is welcome, but it’s too stupid in its current form. When it asks if you want to save password (which it does only sometimes, for some reason), it blocks loading of the next page. Not only is it bad because of the lost time, but also because when you are unsure whether you remember your password correctly, it’s a point of great frustration. Should I say “Yes” and risk saving a wrong password, then maybe go through the hassle of manually removing it from the password list? Or should I say “No” and not save a possibly right password?

It should continue loading the page in the background. Opera has cracked it many many years ago.

The beauty of silence

Breaking news:

A law was passed that in order to drive a car [...] in Britain, there had to be a person walking in front of the car, waving a red flag and blowing a horn.

OK, this is not news, this is history. But, wasn’t it ridiculous? Waving a red flag and blowing a horn! Like an idiot!

Now, to the news. Electric cars are beautifully quiet, but can be dangerous: people don’t know the car is approaching and get killed. And so car manufacturers are making the cars produce artificial noise. Like idiots. The article even says that “recent legislative efforts in the US are making it mandatory that companies add artificial engine sounds to electric vehicles”. Here’s an Audi video about production of such sounds:

They are trying to make it “cool”, but it is so wrong. Noise does not make a car any more useful. Noise is there because of the imperfect aging technology, not because we wanted it to be there. Noise is pollution, we must get rid of it.

People will get used to the beauty of silence. And love it.

Got Git

I’ve always loved programming and hated source control. Source control is about baby-sitting your code instead of actually producing it. It’s like time management instead of actual work. Complicated and boring process that requires discipline, attention to and knowledge of things unrelated to the real project you are making. That has always stopped me from even considering source control. Believe it or not, but for seven years I’ve been developing my blogging system, E2, without source control (still, it’s the best blogging system in the world).

I am also not a big fan of the command line. I know how to spell “sudo apachectl restart”, and that’s pretty much sums it up. So all that svn / git / hg command line incomprehensible crap only added to my frustration. Friends said there were GUI clients, showed me Tower. Oh my god, so much stuff to look at, so many buttons to understand, so many rites to learn. For some reason, I can’t just commit stuff, I need to stage it first. No, I said, please, guys, let me just do my projects. And those “remote repositories”? Hate that. Everything is already here, on my machine. Why bother even thinking about putting it somewhere else? See, I didn’t like anything about source control.

Everyone was trying to convert me. They said hey, but how do you work in a team without source control? And I said, I either work alone, or I separate pieces of code into independent files. They said hey, but how do you revert changes if you’ve accidentally broken something, without source control? And I said, I use Time Machine. They said hey, how do you branch your code without source control? And I said, what the hell is that?

But there’s always been something I did want, and I knew source control could do it for me. First, I wanted to see what has changed in a project from a previous revision (to write a full changelog, primarily). Second, ability to comment the changes would be nice. Third, I wanted to be sure no code gets deleted just because Time Machine runs out of disk space. Finally, I wanted to seamlessly merge changes I’ve made on my notebook with the ones I’ve made on my main machine, if I’ve accidentally forgotten to sync them before doing something.

I was lucky enough to get the author of Gitbox, Oleg Andreev (who I happen to know personally), to spend some time on Skype with me and explain how to start using git with Gitbox. It turned out to be way easier than I had thought. You just drag a folder to Gitbox to put it under its control. Whenever something changes, it shows you the changed files (on the right):

To commit changes, you put checkboxes next to the files you want and write a comment in the field above the list. To see changes inside a file, you double-click its name. The project and its commit history looks like mail. Oleg explained to me how to “link” the project folders on the notebook and on the main machine: I had to set up the two copies as remote repositories for one another. This was the only non-obvious thing. Still, done in the UI with drag and drop.

So if you are like me and want to continue hating source control but still use some of its benefits, try Gitbox. Or if you are not like me and you’ve been a source control fan all your life, try Gitbox. You’ll love it.

Imperial Windsor network-at-arms

Dan Benjamin on the latest Talk Show made me laugh:

They were like “Oh my gosh, you can’t call it iTV, no way you could call it iTV, that’s nuts. Because this is this huge thing over here that everybody loves and knows about, you know ‘I’ stands for Imperial, it’s the Royal Imperial Windsor Network-at-Arms or something, is the full name of the ITV.”

Setting up drivers to update your LG phone

If you’ve missed the manual on updating software on LG Thrill (TM) (sic!) phone, enjoy. Looks like a nightmare. Notice how the most important knowledge (that all data will be erased and reset) is almost invisible.

Not a word on what the update brings to the phone and why you should install it. They don’t even call it by name. I’ve spend about 5 minutes in Google trying to find out what exactly this update does and gave up.

Also, I like step number 8 (which is labeled “Step 3”):

The LG Mobile Support Tool will easily help you update the software for your device.

Easily.

Paper

Paper is sweet. I have no idea if I will ever use it for anything, but it looks great:

Go check it out on the App Store.

Linking to where I already am

Every web designer knows that no hyperlink should ever reference a page where I already am. Ah, not true! For some reason, many web designers think it’s fine to use such hyperlinks. It’s the stupidest thing ever.

For example, there’s a great post by Jeff Atwood on pagination. I was trying to copy the title of the post, but failed twice. Should be easy: select text and press ⌘C. So I double-click “Pagination” and move the mouse to select the rest of the text (that’s how text selection works: after double clicking you select by words instead of by characters). Oops, the page is now reloading. What happened? Turns out, the title is a link to the post which I’m reading already! Not just is it absolutely useless, the link is not even underlined, it’s not even blue. So there’s no logical reason for it to be a link and no logical reason for me to even expect it to be a link. Why on Earth would anyone design stuf this way? Still, great post on pagination there.

Maybe Jeff is just a bad designer? No, that is clearly not the reason. Welcome to apple.com, another example of this mistake by some of the best designers. See that  in the menu on top? It’s a link to the front page. But wait a minute, I am on the front page! Click ”iPod”, and things gets worse: now the “iPod” button looks pressed and does not change when you hover it, but it’s still a link to where you are. Notice, by the way, that the first button was not pressed when you were on frontpage. Apple is famous for its attention to detail, but this design is lousy and makes no sense. Sure, it’s better to be right than to be consistent. But there’s nothing good about being both wrong and inconsistent, I suppose.

Rule: Never link to the very page you are at.

Wireless DJ retina update

It took Apple more than a week to review the update, but it’s finally ready for sale: Wireless DJ 1.4 with Retina Display support. Here’s the real size knob, for example:

If you have the new iPad, get the update.

Earlier Ctrl + ↓