Archive for the ‘Uncategorized’ Category

Being productive the Mac way.

Monday, June 1st, 2009

Consider two notebooks. A MacBook and a PC.

If you are working on a presentation and for some reason must get up and do something else you’ll be doing the following: save the document, close the notebook, do what you want to do, open the notebook and hope it haven’t crashed.

If you however are working on a Mac you’ll be just closing and opening it.

CSS Naked Day ‘09

Tuesday, April 7th, 2009

What’s going on, where are all images and colors?

Once again the time has come to take my clothes off. As in last year I’ll be participating once again in the CSS Naked Day initiative.

What is CSS?

CSS stands for Cascading Style Sheets. According to Wikipedia CSS is “used to describe the presentation (that is, the look and formatting) of a document written in a markup language“. Simply put CSS is the shackle in the web technologies stack that makes web sites and applications look as what they look like.

And what’s the initiative about?

The purpose of the initiative is to move web developers to use the right tool for the right job, ergo to use CSS for styling and (X)HTML (the markup language in the web) for describing data. So, yes, it’s a web developer’s initiative aimed at web developers. Drop me a line or a tweet if you want more detailed information about this matter.

Solving Google Reader’s i18n Issue

Monday, August 18th, 2008

For some weird reason after my vacation my Reader wasn’t any more in English but in German. I’ve tried switching my settings to English and this helped. Only it didn’t switched the interface language of the application, only of the settings view. It felt really weird using Reader in German :).

Here is how I’ve solved the issue:

  1. remove http://www.google.com from Google Gears trusted sites: Tools -> Google Gears Settings
  2. emtpy the cache: Tools -> Clear Private Data
  3. reload the Reader

And it worked :). Reader’s interface is once again in English.

Bad Usability vs. Goog Usability

Wednesday, July 23rd, 2008

Bad Usability

Representing the destructive option as big shinny button, representing the desired option, in most cases at least, as a smallish link.

bad usability

Good Usability

Asking for a confirmation on critical and irreversible operations.

good usability

Re: Dustin’s Brain Teaser

Thursday, July 10th, 2008

I’m a bit late, but rather later then never :). I just didn’t had even 10 Minutes spare time in the last few days.

Here is my response to Dustin’s brain teaser. I’m offering a solution without regular expressions. Though after reading the problem I first thought “Nice, I’ll use regular expressions.”. But then I realized that now I’m facing two problems :). I’m really not that good at regexps.
But I promise I’ll keep the teaser in mind and one day I’ll solve it with regular expressions.

var teaserNoRegExp = function() {
  var input = ['a', 'b', 'c', 'c', 'd','e', 'e','e', 'e',
'e', 'f', 'e', 'f', 'e','f', 'a', 'a', 'a', 'f', 'f', 'f'];
  var output = '';

  // assume Array.prototype.forEach

  var spanOpened = false;
  input.forEach(function(el, index, input){
    if (input[index-1] == el && input[index-2] == el && !spanOpened) {
      output = output + '';
      spanOpened = true;
    }
    output = output + ' ' + el;
    if (input[index+1] != el && spanOpened) {
      output = output + '';
      spanOpened = false;
    }
  });
  document.getElementById('result').value = output;
};

P.S. It actually took me a minute or two to write it down.

Exposed

Monday, April 7th, 2008

I’ll be participating in this year’s naked day on 9th of April.

Yeah, I’m a nudist, baby. I’ll be running the whole day with my clothes off and I’ll be exposing myself all over the place. I’m so excited I’ll do the long 48-hours-day striptease.

Cheers.

Slickspeed Shots, Part 2

Saturday, July 7th, 2007

In addition to the first part of screenshots of the Slick Speed test suite I’ve been able to get my hands on a Konquerer 3.5.6 running on Kubuntu Feisty.

on Linux (kubuntu feisty)

Konquerer 3.5.6

Default install. 383KB, 1000×1190.
slickspeedwk3lin

Prototype and mootools throw an error on every single selector. dojo on Konquerer is comparable to dojo on Firefox on Linux and is the fastest one along with ext. However the winner this time is jQuery: it throws only one error, like cssQuery, but is twice as fast.

Final Notes

Note that the jQuery team released the new 1.1.3 version just a few days back and selector speed is improved by the amazing 800% (!!!). This is one hell of improvement. I haven’t made new tests on my own, be aware. I will be just giving a calculation of the improved time, next to the measured one.

So I’ve decided to make a simple error and time count, but excluding the double Firefox 2.x install. In parenthesis is given the result without Konquerer:

  • Prototype: 48 » 6326 (10 » 6312)
  • jQuery: 46 » 34813(45 » 32689)
  • jQuery 1.1.3, improved by 800%: 46 » 4351.625 (45 » 4086.125)
  • mootools: 53 » 5156 (15 » 5150)
  • ext 60 » 6925(55 » 6405)
  • cssQuery 11 » 64219 (10 » 60550)
  • dojo 39 » 4747(36 » 4195)

While making that count I’ve made one discovery: every library struggles with the same selectors on the different A-graded browsers. Another one interesting fact is that cssQuery offers the same browser support on all participants, even on IE5.5

There are no winners in this case study, because each library has its own uniqueness and greatness. Besides, all of them are comparably fast and offer a comparable amount of supported selectors. Now let’s go back to the real thing - coding on top of them and not comparing them!

Slickspeed Shots

Wednesday, June 13th, 2007

on Windows

Firefox 1.5

A fresh install. No extensions. 396KB, 1000×1224.
slickspeedff15win

Firefox 2.x

A fresh install. No extensions. 400KB, 1000×1240.
slickspeedff2xfreshwin

A bunch of extensions: ~25. 399KB, 1000×1235
slickspeedff2xdefaultwin

IE 5.0

MultipleIE install. 156KB, 1000×679.
slickspeedie50win

IE 5.5

MultipleIE install. 530KB, 1000×1452.
slickspeedie55win

IE 6.0

MultipleIE install. 404KB, 1000×1221.
slickspeedie6xwin

IE 7.0

Default install. 384KB, 1000×1221.
slickspeedie7xwin

Opera 9.1

Default install. 392KB, 1000×1261.
slickspeedop91win

Opera 9.2

Default install. 399KB, 1000×1242.
slickspeedop92win

Safari 3 beta

Default install. 484KB, 1000×1132.
slickspeedsf3bwin

Observations on Windows

All libraries behave equally fast/slow on the different Firefox installations. Except jQuery and mootools on my default FF install. This could be caused by GMail Notifier, which is checking my mail every minute.

IE7 improves speed by factor 2. Frustrating is that IE5.5, IE6 and even IE7 return different results on the * selector compared to other browsers and compared between the libraries.

Opera 9.2 is slower than 9.1.

Safari is in beta and is a freshman among Windows browser, so results are “just for fun”.

Prototype, mootools and dojo are the winners. I am somehow disappointed by jQuery.

on Linux (ubuntu feisty)

Firefox 2.x

A fresh install. No extensions. 375KB, 1000×1190.
slickspeedff2xfreshlin

A bunch of extensions: ~25. 375KB, 1000×1190.
slickspeedff2xdefaultlin

Opera 9.2

Default install. 325KB, 1000×1192.
slickspeedop92lin

Observations on Linux

Opera is the faster one on my Linux box, but it took an awful long time to load the official test page.

Both Firefox 2.x profiles, clean one and one with a bunch of extension, behave quite equally - there are no speed improvements by factor 3 like mootools on Windows.

I couldn’t find any trident or WebKit browsers for ubuntu, but if you know of any feel free to drop me a line and I will run test once again.

We have the same winners - prototype, mootools and dojo.

Final Notes

Observations

Overall: libraries are running faster under Windows.

Locally I’ve tested also MochiKit - it threw a lot of errors.

Download the Shots (CC BY-SA)

Download SlickSpeed on Windows & Linux (~4.8MB).

Update: Note, that the Konquerer screenshot is not included in the archive. Download it separately.