Random thoughts
Wednesday, June 24, 2009
Disagreeing with Jakob Nielsen on security—Password masking makes logins more secure
When it comes to usability, disagreeing with Jakob Nielsen is usually not an option. After all, he has been called king, czar, guru or Web usability for a reason, and his Alertbox offers invaluable advise most of the time.
Disagreeing with Jakob Nielsen on security is easier, especially when he advocates to remove password masking as a means to improve usability and claims that this doesn't lower security.
While not offering a high degree of protection, the password masking does a pretty good job for most situations. Certainly, a determined and skilled criminal would be able to observe which keys are pressed, or use other attack vectors to intercept my Web interactions. I am often surrounded by trustworthy people who still shouldn't know my passwords, don't care about my passwords and even politely turn their eyes away while I am logging in. Whether showing someone a Website or doing a demo to a larger audience, accessing protected areas of a site in a semi-public environment like a desk-sharing area at work or logging in from a mobile device, those little stars or dots protect my passwords well from becoming exposed.
Security and usability should not be conflicting objectives; in fact usability is an important aspect for any security system, or users will work around usability issues and use it in unintended ways, like copying and pasting passwords from a text file as Nielsen mentions. An extra checkbox to enable password masking just adds complexity to the user interface and may confuse users more than not being able to see their password.
Typing passwords on mobile devices (or foreign keyboards, for that matter) can be challenging. Some smartphones like the iPhone or the Nokia N95 show the letter as typed but then quickly replacing it with an asterisk, which is a reasonable compromise.
Instead of cluttering Web forms with additional checkboxes, web developers should demand that browsers and mobile devices provide an option to remove password masking when desired by the user. This would maintain the current level of security by not exposing the passwords to people looking over users' shoulders and address the usability issue for those who have difficulty typing their password and would benefit from visual feedback.
Until then, use this JavaScript bookmarklet to unmask password fields as needed:
(all on one line, or simply drag the Unmask passwords bookmarklet link to your bookmarks).
PS. More ways to reveal passwords in a controlled manner can be found in Martin Brinkmann's blog post Reveal your saved Passwords in Firefox.
Disagreeing with Jakob Nielsen on security is easier, especially when he advocates to remove password masking as a means to improve usability and claims that this doesn't lower security.
While not offering a high degree of protection, the password masking does a pretty good job for most situations. Certainly, a determined and skilled criminal would be able to observe which keys are pressed, or use other attack vectors to intercept my Web interactions. I am often surrounded by trustworthy people who still shouldn't know my passwords, don't care about my passwords and even politely turn their eyes away while I am logging in. Whether showing someone a Website or doing a demo to a larger audience, accessing protected areas of a site in a semi-public environment like a desk-sharing area at work or logging in from a mobile device, those little stars or dots protect my passwords well from becoming exposed.
Security and usability should not be conflicting objectives; in fact usability is an important aspect for any security system, or users will work around usability issues and use it in unintended ways, like copying and pasting passwords from a text file as Nielsen mentions. An extra checkbox to enable password masking just adds complexity to the user interface and may confuse users more than not being able to see their password.
Typing passwords on mobile devices (or foreign keyboards, for that matter) can be challenging. Some smartphones like the iPhone or the Nokia N95 show the letter as typed but then quickly replacing it with an asterisk, which is a reasonable compromise.
Instead of cluttering Web forms with additional checkboxes, web developers should demand that browsers and mobile devices provide an option to remove password masking when desired by the user. This would maintain the current level of security by not exposing the passwords to people looking over users' shoulders and address the usability issue for those who have difficulty typing their password and would benefit from visual feedback.
Until then, use this JavaScript bookmarklet to unmask password fields as needed:
for(var i=0;(var a=document.getElementsByTagName("input")[i]);i++){
if(a.getAttribute("type").indexOf("password")!=-1){
a.type="text"
}
}
window.focus();
(all on one line, or simply drag the Unmask passwords bookmarklet link to your bookmarks).
PS. More ways to reveal passwords in a controlled manner can be found in Martin Brinkmann's blog post Reveal your saved Passwords in Firefox.
Labels: technology, usability, webdevelopment
Friday, June 5, 2009
World Environmental Day 2009
Just in time for the World Environmental Day 2009, this morning a colleague shared an amazing animation showing air traffic over a 24 hour period:
Every yellow dot represents a flight with at least 250 passengers.
The animation was developed by the ZHAW Zürcher Hochschule für Angewandte Wissenschaften in cooperation with the Swiss science center Technorama (Larger version of the Air Traffic Worldwide video from ZHAW).
Watching this it becomes clear how even smallest improvements in fuel efficiency, reduction of emissions and optimization of flight patterns reduce the environmental impact (not that flying or most other forms of transportation will ever become eco-friendly). Smart traffic and transportation is also a theme in IBM's Smarter planet initiative.
So what did I do on World Environmental Day 2009? Nothing special, I used public transport as I do whenever possible, looked for local, organically grown food when doing my grocery shopping at the Naschmarkt (although a recent study suggests that shipping fruits and vegetables from warmer countries like Spain may be better environmentally than growing them in greenhouses locally, so much for trying to do the right thing), separated my waste—and calculated my ecological footprint at ecologicalfootprint.com and myfootprint.org, a great reminder how many of us use an above average share of natural resources.
Every yellow dot represents a flight with at least 250 passengers.
The animation was developed by the ZHAW Zürcher Hochschule für Angewandte Wissenschaften in cooperation with the Swiss science center Technorama (Larger version of the Air Traffic Worldwide video from ZHAW).
Watching this it becomes clear how even smallest improvements in fuel efficiency, reduction of emissions and optimization of flight patterns reduce the environmental impact (not that flying or most other forms of transportation will ever become eco-friendly). Smart traffic and transportation is also a theme in IBM's Smarter planet initiative.
So what did I do on World Environmental Day 2009? Nothing special, I used public transport as I do whenever possible, looked for local, organically grown food when doing my grocery shopping at the Naschmarkt (although a recent study suggests that shipping fruits and vegetables from warmer countries like Spain may be better environmentally than growing them in greenhouses locally, so much for trying to do the right thing), separated my waste—and calculated my ecological footprint at ecologicalfootprint.com and myfootprint.org, a great reminder how many of us use an above average share of natural resources.
Labels: travel
Saturday, May 30, 2009
IE6 DOM weirdness: It was the base and not the comma
I recently hacked a few lines of JavaScript for an online survey. The script looked fairly straightforward and worked well on Firefox in no time.
Fortunately I had just received a new ThinkPad (more about that later) and hadn't upgraded Internet Explorer yet. Testing with IE6, my code failed miserably. Debugging with the indispensable FireBug light tool revealed that a shared library function for accessing meta information didn't return any information. The very same library function was working nicely on the production Web site, though; at least we hadn't heard any complaints, which given the percentage of users accessing our Web site with IE6 was highly unlikely.
Staring at the screen in disbelieve, our resident jQuery guru eventually found the culprit. Unlike with the infamous Undefined is null or not an object problem, it was not an issue with an extra comma this time.
Rather, IE6 seems to get the structure of documents containing a
into this DOM tree:
So the selector which was correctly looking for
Related information:
Fortunately I had just received a new ThinkPad (more about that later) and hadn't upgraded Internet Explorer yet. Testing with IE6, my code failed miserably. Debugging with the indispensable FireBug light tool revealed that a shared library function for accessing meta information didn't return any information. The very same library function was working nicely on the production Web site, though; at least we hadn't heard any complaints, which given the percentage of users accessing our Web site with IE6 was highly unlikely.
Staring at the screen in disbelieve, our resident jQuery guru eventually found the culprit. Unlike with the infamous Undefined is null or not an object problem, it was not an issue with an extra comma this time.
Rather, IE6 seems to get the structure of documents containing a
base
tag wrong, making subsequent meta
and link
elements children of the base
element, turning this sourceinto this DOM tree:
So the selector which was correctly looking for
html > meta
would fail in the rare presence of a base
tag, such as on a test page created by yours truly. The quick fix was a slightly less efficient selector html meta
, and we were once again painfully reminded that IE6 tends to behave differently from current browsers and requires separate testing.Related information:
- Justin Rogers, BASE tag changes in IE 7 with Examples
Labels: javascript, webdevelopment, windows
Monday, April 6, 2009
301 Moved permanently
We are pleased to announce that we finally moved. Our new address: Buchbindergasse 6, A-1130 Wien.
The move went well and almost according to schedule.
We started packing on Tuesday, slowly filling a corner of my apartment with moving boxes. Christian had volunteered to help on Thursday, so we spent most of the day hauling some 30 boxes down three floors from the apartment, stuffing them into the van, driving to the house and unpacking stuff there so we could later reuse the boxes.
After three tours back and forth, wir hatten fertig.
Friday night was the time for the next round of packing boxes, and again we filled the storage space quickly. Amongst the packed stuff were some treasures that had long been lost, including two small booklets which were hidden under a pile of photographs, and a set of wedding pictures which mysteriously showed up behind a teapot!
Saturday was really the big moving day, with more boxes as well as furniture and other heavy stuff. Fortunately we had even more helping hands, and with a convoy of a rental transporter and two additional cars managed to move “everything” in just three more tours.
A big thank you to Christian, Michael and Rainer; you guys were absolutely terrific, and we would have never managed to move in two days without your great help.
We will spend the next few weeks organizing the new home and moving the remaining, less needed stuff that we left in the apartments. The house is currently filled with boxes waiting to be unpacked and things look slightly messy. Nevertheless we enjoyed the first night in our new home, and Elias tiptoeing over to our bedroom and giving us a gentle wakeup the next morning.
Lastly, we had our DSL line installed today; now if only I could find all the cables in one of the boxes…
The move went well and almost according to schedule.
We started packing on Tuesday, slowly filling a corner of my apartment with moving boxes. Christian had volunteered to help on Thursday, so we spent most of the day hauling some 30 boxes down three floors from the apartment, stuffing them into the van, driving to the house and unpacking stuff there so we could later reuse the boxes.
After three tours back and forth, wir hatten fertig.
Friday night was the time for the next round of packing boxes, and again we filled the storage space quickly. Amongst the packed stuff were some treasures that had long been lost, including two small booklets which were hidden under a pile of photographs, and a set of wedding pictures which mysteriously showed up behind a teapot!
Saturday was really the big moving day, with more boxes as well as furniture and other heavy stuff. Fortunately we had even more helping hands, and with a convoy of a rental transporter and two additional cars managed to move “everything” in just three more tours.
A big thank you to Christian, Michael and Rainer; you guys were absolutely terrific, and we would have never managed to move in two days without your great help.
We will spend the next few weeks organizing the new home and moving the remaining, less needed stuff that we left in the apartments. The house is currently filled with boxes waiting to be unpacked and things look slightly messy. Nevertheless we enjoyed the first night in our new home, and Elias tiptoeing over to our bedroom and giving us a gentle wakeup the next morning.
Lastly, we had our DSL line installed today; now if only I could find all the cables in one of the boxes…
Sunday, March 22, 2009
rsync does work with plink
For years rsync from the cygwin distribution and PuTTY's plink program would not work together and fail with
Unable to read from standard input: The handle is invalid.
rsync: read error: Connection reset by peer (104)
I first posted this problem to comp.security.ssh in 2005 but never received a solution, until now.
Frank Behrens published cygnative, a small wrapper program that resolves an incompatibility between cygwin and Win32 native programs. With cygnative, invoking rsync with plink as the remote shell works like a charm:
rsync -ave "cygnative plink -batch" source target
Thank you, Frank!
Unable to read from standard input: The handle is invalid.
rsync: read error: Connection reset by peer (104)
I first posted this problem to comp.security.ssh in 2005 but never received a solution, until now.
Frank Behrens published cygnative, a small wrapper program that resolves an incompatibility between cygwin and Win32 native programs. With cygnative, invoking rsync with plink as the remote shell works like a charm:
rsync -ave "cygnative plink -batch" source target
Thank you, Frank!
Labels: networking, windows
Thursday, March 19, 2009
We are moving
We have finally settled on the moving dates to our new home: April 2 and 4. We plan to move a good portion of the boxes by car on the first day, and get a transporter to move the larger furniture, the remaining boxes, and other stuff on the second day. That leaves one day in between to recover from hauling boxes and furniture down three floors from our apartments, and then up one or two floors in the house.
Help needed!
We greatly appreciate any help you can give us with the move, including packing and unpacking, disassembling and reassembling furniture, moving stuff around, and last but not least looking after the kids (that is, feeding Daniel during the day as needed and keeping an eye on Elias when he returns from kindergarten, or taking him to the nearby playground, weather permitting). Hints and tools for moving are also welcome.
Please kindly let us know if you can help us with the move. Food and drinks will be provided at the house.
(Last updated March 31, 2009)
Help needed!
We greatly appreciate any help you can give us with the move, including packing and unpacking, disassembling and reassembling furniture, moving stuff around, and last but not least looking after the kids (that is, feeding Daniel during the day as needed and keeping an eye on Elias when he returns from kindergarten, or taking him to the nearby playground, weather permitting). Hints and tools for moving are also welcome.
Please kindly let us know if you can help us with the move. Food and drinks will be provided at the house.
(Last updated March 31, 2009)
Monday, February 23, 2009
Amazon.com: User experience delivering value
While shopping on Amazon the other day, I noticed a subtle yet still noticeable hint that I had bought the very same article already in October 2007.
At first glance, the notice would appear to drive customers away from buying; however Amazon.com has a long-standing reputation for innovation in online commerce and good customer service (although I have been less satisfied with their handling of e-mail correspondence lately) so this didn't come as a complete surprise.
Good user experience design is all about delivering value to the customer, and to the business too:
Links:
At first glance, the notice would appear to drive customers away from buying; however Amazon.com has a long-standing reputation for innovation in online commerce and good customer service (although I have been less satisfied with their handling of e-mail correspondence lately) so this didn't come as a complete surprise.
Good user experience design is all about delivering value to the customer, and to the business too:
- The customer may have bought the product earlier and order another copy as a present, which was actually the case for me.
- Some products, such as blank CDs/DVDs, lend themselves to repetitive orders. Knowing that this is the same product ordered before is reassuring to the customer, which means more business with fewer clicks.
- In the unlikely case that a customer accidentally orders the same product twice, chances are that she would return the product for a refund, incurring shipping and handling cost for the business; therefore not shipping the product in the first place is not only the most customer friendly, but also the most cost effective solution.
Links:
Labels: business, ibm, kudos, technology
Apple juice and milk
After cleaning my office chair from milk, the results of Daniel's inverse peristalsis, I wasn't planning to clean the keyboard next. That was before I poured a glass of naturally cloudy apple juice over it. From a quick glance the keyboard looks alright; the keys popped out quite easily, albeit with a crackling sound, and the electronics stayed dray, or so I hope.
I will remind myself that food and typing don't go well together and enjoy the comfort of a clean keyboard for a while before falling back to my bad habits :-)
PS. Speaking of milk, on Saturday night we went to the cinema to see Gus Van Sant's beautiful and highly acclaimed movie Milk on the life of gay rights activist and politician Harvey Milk, portrayed by Sean Penn, who just received an academy award for his performance this weekend.
I will remind myself that food and typing don't go well together and enjoy the comfort of a clean keyboard for a while before falling back to my bad habits :-)
PS. Speaking of milk, on Saturday night we went to the cinema to see Gus Van Sant's beautiful and highly acclaimed movie Milk on the life of gay rights activist and politician Harvey Milk, portrayed by Sean Penn, who just received an academy award for his performance this weekend.
Saturday, January 31, 2009
Google: This site may harm your computer
Google generally does a pretty good job warning users about suspicious Web sites assumed to contain malware, but their algorithm seems to have gone overboard now. This morning every search result shows a warning that the site may harm my computer:
Labels: google, technology
Wednesday, January 14, 2009
Summer inside, winter outside
We had this winter's first snow today in Vienna (not counting the few snowflakes back in December). Fortunately temperatures are up again after a rather chilly week, and that was not just because Russian gas stopped reaching Europe.
Labels: personal
Thursday, January 1, 2009
Happy New Year 2009
Wish you Happy and Prosperous New Year 2009!
We returned to Vienna tonight from our family tour to Salzburg, Munich, Dornbirn and Salzburg again.
It was good to see our families again, including the first meeting of little Daniel with his great grandmothers. At the same time it feels like we spent most the last 10 days driving (or, getting stuck in traffic jams), so we are glad to be home.
Wednesday, December 31, 2008
0101001011101010111
Google search nicely reminded me that digital storage is still all about ones and zeros:
Labels: ibm, technology
Wednesday, December 24, 2008
Season's Greetings 2008
Festivus, Kwanza, Christmas, Hanukkah, Solstice, whatever you celebrate at this time of year: Happy holidays and all the best for the new year!
PS. Daniel wasn't unhappy at all with the hat, except of course when we shot the picture.
Labels: personal
Wednesday, December 10, 2008
I know, I know …
Matt Cutts' blog post today—I’ll try to write something soon, but it’s been busy for the last few days—painfully reminded me that I had a few half-finished blog entries waiting to be completed and published. It’s actually been busy for the last few months, so expect some ancient posts to finally appear over the holidays.
Labels: personal
Tuesday, October 7, 2008
Jamming at the InnovationJam™ 2008
Want to explore how organizations can transform themselves into truly global enterprises of the future? Ready to collaborate with technology and business thought-leaders?
Join the InnovationJam™ 2008.
Labels: business, innovation, technology
Monday, October 6, 2008
Our first car
Guys like to talk about cars. Ever so often when travelling and meeting colleagues abroad, I would get asked what car I drive, and then the conversation shifted to quality of life and how great living in city where public transport actually works would be. For more than twenty years, the network of buses, trams and the underground served us well and still does.
“So you don't drive?” would often be the next question. I do drive, and have accumulated thousands of kilometres on the road on business and holiday trips, with more than 70 car rentals over the years. I also signed up for car sharing a few years ago and enjoyed the convenience of having access to a wide range of vehicles within walking distance from my home.
In 1993 I rented my first car in Vienna for the relocation from the dorm to my apartment. Moving the few belongings back then took multiple trips, and we spent all day moving boxes.
Most of my initial driving experience, oddly enough, was on the left side of the road. While consolidating our European Web hosting infrastructure in North Harbour, I travelled to the UK frequently. The first time I was scared to death, but driving on the left side turned out to be less challenging than I had expected, with the notable exception of multilane roundabouts which I still find tricky. Only once on a business trip to Mulhaddart near Dublin I got onto the wrong side of the road after exiting a petrol station. Fortunately traffic was low and I realized the mistake and changed lanes when I saw a car approaching on “my” lane.
Driving in Australia in 1998 added another challenge: Driving on the left side of the road was easy, I had enough practice with that, but Australian cars also have the controls for wipers and indicators exchanged. I don't want to know how many times I switched the wipers on when making a turn, on a perfectly sunny day.
Did I mention guys care about cars? In August 1999, when the weather forecast for the UK left little hope for clear sight of the total solar eclipse, our friend and hobby astronomer Gurbir Singh decided to abandon the camping ground in the UK and instead take a flight to Austria. Now we had a reason to get serious about eclipse watching! We agreed to meet in Pinkafeld, I bought a tele lens for my camera and a tripod, made reservations at the high school dorm, and ordered a car from Hertz.
Fortunately their reservation system didn't check for availability. When I arrived at the counter a slightly grouchy clerk told me they had to pick up the car from another location first but they would have a car for me shortly. The side effect was that we got a free upgrade. Gurbir liked the car too and acknowledged that working at IBM seemed to pay off if we could afford the latest Volvo model. I think that he was mildly shocked when I mentioned we had rented and didn't actually own a car.
We had a great day in Pinkafeld, finding a good watching spot, (not) learning to juggle, waiting for the wonder of nature. The eclipse was fascinating; everything seemed so calm and peaceful, even the birds turned silent.
On our tour through the Baltic states, Lithuania, Latvia and Estonia, in 2002 something was wrong with our car's theft control, and the car would often refuse to start immediately and require a few tries. No big deal, only once when we were waiting in a long line to board a ferry and the car wouldn't start it was slightly embarrassing. Towards the end of our trip, our vehicle was clamped by the police on Neringa for stopping briefly next to the tourist office(!) Too bad I forgot to take a picture of my first and last clamping so far.
It was on our honeymoon trip to Mauritius in 2005 where we got the smallest car ever, which was fine for day trips without luggage and quite convenient on the narrow roads. We also learned the art of bargaining with car rental staff there. On the first rental, we paid the quoted price minus a “special discount”. The next day, we claimed our customer loyalty bonus and got another discount. On the third rental we appealed to the renter's slogan “We try harder” for an even better deal. The savings weren't substantial, but the bargaining was fun. Of course, for less than the cost of the car alone we could have hired a taxi driver to take us around all day long, but we preferred touring the island on our own.
Fast forward to 2008.
This morning I picked up our new car from the dealer. Our first car. From our renting experiences we pretty much knew what we wanted, a large van, removable extra seats, and reasonable fuel efficiency. We had rented a Seat Alhambra last summer for our trip to Vorarlberg and had been pleased with the vehicle. Our choice fell to the comparable Volkswagen Sharan in the BlueMotion version, which has improved fuel efficiency—6 l/100 km, or 39.2 mpg (US)—and reduced emissions.
What happened to the couple that happily lived for many years without owning a car? Getting suitable cars had become increasingly difficult, especially around public holidays. Car sizes vary, and ordering a full-size wagon doesn't guarantee you can easily accommodate all passengers and luggage; we once even had to uninvite a friend who was planning to hitch a ride with us. More than once the clerk at the rental company was trying to please me with an upgrade to a luxury car and was disappointed when I only cared about the size of the trunk. No matter how nice a Mercedes E class may be (and it has a fairly big trunk), when it comes to fitting two child seats, two strollers and a few suitcases, there's nothing like a van.
Also we will soon move to a residential area with more distant grocery stores, less frequent public transport connections, and no car sharing station nearby. While I plan to use public transport often still, the car will be convenient for occasional tours to the shopping mall, picking up construction material and furniture, and the like.
So next time someone asks me the question, I will have a different answer.
“So you don't drive?” would often be the next question. I do drive, and have accumulated thousands of kilometres on the road on business and holiday trips, with more than 70 car rentals over the years. I also signed up for car sharing a few years ago and enjoyed the convenience of having access to a wide range of vehicles within walking distance from my home.
In 1993 I rented my first car in Vienna for the relocation from the dorm to my apartment. Moving the few belongings back then took multiple trips, and we spent all day moving boxes.
Most of my initial driving experience, oddly enough, was on the left side of the road. While consolidating our European Web hosting infrastructure in North Harbour, I travelled to the UK frequently. The first time I was scared to death, but driving on the left side turned out to be less challenging than I had expected, with the notable exception of multilane roundabouts which I still find tricky. Only once on a business trip to Mulhaddart near Dublin I got onto the wrong side of the road after exiting a petrol station. Fortunately traffic was low and I realized the mistake and changed lanes when I saw a car approaching on “my” lane.
Driving in Australia in 1998 added another challenge: Driving on the left side of the road was easy, I had enough practice with that, but Australian cars also have the controls for wipers and indicators exchanged. I don't want to know how many times I switched the wipers on when making a turn, on a perfectly sunny day.
Did I mention guys care about cars? In August 1999, when the weather forecast for the UK left little hope for clear sight of the total solar eclipse, our friend and hobby astronomer Gurbir Singh decided to abandon the camping ground in the UK and instead take a flight to Austria. Now we had a reason to get serious about eclipse watching! We agreed to meet in Pinkafeld, I bought a tele lens for my camera and a tripod, made reservations at the high school dorm, and ordered a car from Hertz.
Fortunately their reservation system didn't check for availability. When I arrived at the counter a slightly grouchy clerk told me they had to pick up the car from another location first but they would have a car for me shortly. The side effect was that we got a free upgrade. Gurbir liked the car too and acknowledged that working at IBM seemed to pay off if we could afford the latest Volvo model. I think that he was mildly shocked when I mentioned we had rented and didn't actually own a car.
We had a great day in Pinkafeld, finding a good watching spot, (not) learning to juggle, waiting for the wonder of nature. The eclipse was fascinating; everything seemed so calm and peaceful, even the birds turned silent.
On our tour through the Baltic states, Lithuania, Latvia and Estonia, in 2002 something was wrong with our car's theft control, and the car would often refuse to start immediately and require a few tries. No big deal, only once when we were waiting in a long line to board a ferry and the car wouldn't start it was slightly embarrassing. Towards the end of our trip, our vehicle was clamped by the police on Neringa for stopping briefly next to the tourist office(!) Too bad I forgot to take a picture of my first and last clamping so far.
It was on our honeymoon trip to Mauritius in 2005 where we got the smallest car ever, which was fine for day trips without luggage and quite convenient on the narrow roads. We also learned the art of bargaining with car rental staff there. On the first rental, we paid the quoted price minus a “special discount”. The next day, we claimed our customer loyalty bonus and got another discount. On the third rental we appealed to the renter's slogan “We try harder” for an even better deal. The savings weren't substantial, but the bargaining was fun. Of course, for less than the cost of the car alone we could have hired a taxi driver to take us around all day long, but we preferred touring the island on our own.
Fast forward to 2008.
This morning I picked up our new car from the dealer. Our first car. From our renting experiences we pretty much knew what we wanted, a large van, removable extra seats, and reasonable fuel efficiency. We had rented a Seat Alhambra last summer for our trip to Vorarlberg and had been pleased with the vehicle. Our choice fell to the comparable Volkswagen Sharan in the BlueMotion version, which has improved fuel efficiency—6 l/100 km, or 39.2 mpg (US)—and reduced emissions.
What happened to the couple that happily lived for many years without owning a car? Getting suitable cars had become increasingly difficult, especially around public holidays. Car sizes vary, and ordering a full-size wagon doesn't guarantee you can easily accommodate all passengers and luggage; we once even had to uninvite a friend who was planning to hitch a ride with us. More than once the clerk at the rental company was trying to please me with an upgrade to a luxury car and was disappointed when I only cared about the size of the trunk. No matter how nice a Mercedes E class may be (and it has a fairly big trunk), when it comes to fitting two child seats, two strollers and a few suitcases, there's nothing like a van.
Also we will soon move to a residential area with more distant grocery stores, less frequent public transport connections, and no car sharing station nearby. While I plan to use public transport often still, the car will be convenient for occasional tours to the shopping mall, picking up construction material and furniture, and the like.
So next time someone asks me the question, I will have a different answer.
Wednesday, September 3, 2008
Google Chrome first impressions
Does the world need another Web browser? Probably not, most people are reasonably happy with Firefox (or SeaMonkey), Safari and Internet Explorer, and a wide range of less known specialized browsers.
But then of course it's hard to ignore a new browser when it's launched by Google. Matt Cutts quickly blogged about the Google Chrome announcement and conspiracy theories, and the search engine guessing feature in particular caught my interest.
www.ibm.com has supported OpenSearch for years and it's good to see a browser finally making good use of the OpenSearch description and providing access to custom search engines using keyboard navigation. With the OpenSearch definition for IBM Search enabled, typing ibm.com Green IT selects IBM Search as the preferred engine for that search:
The same can be achieved in Firefox with keywords, albeit not as easily.
Rendering of XML content including RSS news feeds leaves much to be desired. Hopefully Google will add full XML rendering support and integrate a feed reader soon.
Incognito browsing is another neat idea, it won't help much to preserve your privacy but could be useful for testing when you don't want all the test pages to clutter your browser history.
One prerequisite for me using Chrome is support by RoboForm which keeps track of all my accounts and passwords. RoboForm does not work with Safari but hopefully with Chrome being open source will support this browser. Web development tools that work with Chrome will be the other deal breaker.
In the meantime I will continue to experiment with Chrome and see what else Google's latest brainchild has to offer.
But then of course it's hard to ignore a new browser when it's launched by Google. Matt Cutts quickly blogged about the Google Chrome announcement and conspiracy theories, and the search engine guessing feature in particular caught my interest.
www.ibm.com has supported OpenSearch for years and it's good to see a browser finally making good use of the OpenSearch description and providing access to custom search engines using keyboard navigation. With the OpenSearch definition for IBM Search enabled, typing ibm.com Green IT selects IBM Search as the preferred engine for that search:
The same can be achieved in Firefox with keywords, albeit not as easily.
Rendering of XML content including RSS news feeds leaves much to be desired. Hopefully Google will add full XML rendering support and integrate a feed reader soon.
Incognito browsing is another neat idea, it won't help much to preserve your privacy but could be useful for testing when you don't want all the test pages to clutter your browser history.
One prerequisite for me using Chrome is support by RoboForm which keeps track of all my accounts and passwords. RoboForm does not work with Safari but hopefully with Chrome being open source will support this browser. Web development tools that work with Chrome will be the other deal breaker.
In the meantime I will continue to experiment with Chrome and see what else Google's latest brainchild has to offer.
Labels: technology, webdevelopment
Thursday, August 14, 2008
'undefined' is null or not an object
Tracking down a nasty bug in some JavaScript code I wrote has taken me a while. Granted, the actual script was slightly more complex and much longer, and I may be somewhat out of practice too.
This script worked perfectly fine in Firefox, in Seamonkey, even in Opera but failed miserably in Internet Explorer with the not so helpful error message 'undefined' is null or not an object:
Can you see the problem (and why this works in Mozilla)?
This script worked perfectly fine in Firefox, in Seamonkey, even in Opera but failed miserably in Internet Explorer with the not so helpful error message 'undefined' is null or not an object:
var items = [
{id: 'type', condition: !document.referrer},
{id: 'link', condition: !!document.referrer},
];
for (var i=0; i < items.length; i++) {
var item = items[i];
if(typeof(item.condition) == 'undefined' || item.condition) { // Bang!
// do something useful
}
Can you see the problem (and why this works in Mozilla)?
Labels: javascript, webdevelopment
Wednesday, July 30, 2008
House update
Almost two months ago I had mentioned that we were planning to buy a house and had made an offer. The negotiations and the paperwork took a while. We finally agreed on the deal and signed the contract earlier this month, and received the keys yesterday.
Elias was very excited as he moved around the house (he had slept through the two times we had seen the place before) and seems to like it. He quickly made friends with the two children next door, too.
The house was completely renovated not too long ago, so only minor adaptations are required. We plan to furnish the house within a month or two and move in by autumn.
Needless to say that we are very excited and happy about this and looking forward to our new home.
Elias was very excited as he moved around the house (he had slept through the two times we had seen the place before) and seems to like it. He quickly made friends with the two children next door, too.
The house was completely renovated not too long ago, so only minor adaptations are required. We plan to furnish the house within a month or two and move in by autumn.
Needless to say that we are very excited and happy about this and looking forward to our new home.
Thursday, July 10, 2008
Microsoft DNS patch KB951748 secures Internet access too well
The latest Microsoft DNS patch improves security too well. The update appears to be incompatible with Check Point's hugely popular ZoneAlarm firewall and possibly other firewall products, and results in complete loss of Internet access.
After a lengthy failed attempt to diagnose a family member's “my Internet no longer works” problem over the phone I saw the BugTraq alert “Microsoft DNS patch KB951748 incompatible with Zonealarm” late at night. Sure enough, uninstalling the update nicely resolved the problem.
The other possible workaround, turning off the firewall completely, would be more risky than living with the spoofing vulnerability until this incompatibilty gets fixed.
After a lengthy failed attempt to diagnose a family member's “my Internet no longer works” problem over the phone I saw the BugTraq alert “Microsoft DNS patch KB951748 incompatible with Zonealarm” late at night. Sure enough, uninstalling the update nicely resolved the problem.
The other possible workaround, turning off the firewall completely, would be more risky than living with the spoofing vulnerability until this incompatibilty gets fixed.
Labels: technology, windows