Monday, March 31, 2008

8% slower

Breaking news, as I approach my 40th birthday. I'm slow, and getting slower:



"a 40-year-old user will take 8% longer than a 30-year-old user to accomplish the same task. And a 50-year-old user will require an additional 8% more time."



This, it turns out, is perfectly natural:



"The human aging process starts around age 25 and causes erosion of cognitive resources, loss of visual acuity, degraded reaction times, and reduced dexterity. People need more time for the same mental operations; they have less memory capacity and take longer to process the same perceptual input."



http://www.useit.com/alertbox/middle-aged-users.html

Thursday, November 15, 2007

Javascript is Taking Over the World!

John Resig just created a map of the campaign so far:

image

Monday, November 12, 2007

Wireshark

I just spent a few minutes playing with wireshark, and definitely want to spend more time noodling with it next time I need to understand what's happening on the wire:

http://www.wireshark.org/

Thursday, November 01, 2007

Money isn't everything

A recent economist article reviews some research McKinsey did on education, where, unsurprisingly, how schools are managed has a great deal to do with how they perform (How to be top, October 20, 2007):

  • "the best performing countries do much better than the worst and ... the same countries head such league tables again and again: Canada, Finland, Japan, Singapore, South Korea."
  • Schools "need to do three things: get the best teachers; get the best out of teachers; and step in when pupils start to lag behind."

My favorite part of the article was a discussion of being selective when hiring teachers (which matters a lot, as opposed to class size, which doesn't after primary school). Being selective isn't about paying people more. It's about being selective.

This is one of the critical issues in management: blinded by a simplistic view of the efficiency of markets (and so thinking that when it comes to hiring you get what you pay for), organizations fail to devote sufficient attention to being selective, which is crazy stupid. The best people are attentive with regards to money, but compensation is one factor among many. Many, for example, will reject a 50% raise in compensation that would require them to work with ineffective bores.

Singapore and Finland are extremely selective, so that in both countries "teaching is a high-status profession". Effective and high-status does not correlate with highly paid!

Anecdotally, I can confirm this with regards to the team I work on. We can't pay people extravagantly, but we can be very selective, and we are. The results are a team that is effective and has earned the respect of the various teams we collaborate with.

Thursday, October 25, 2007

Windows Live Writer

Is it ridiculously web 1.0 of me to wonder if a desktop blogging client would be worth using?

 

image

Check it out. I took a screen shot of the post I'm writing, and pasted it into the post! I love recursion.

Thursday, October 18, 2007

Mini Blogging is the new black

The cool thing about mini-blogging is that I was actually doing it on facebook before I read an article comparing different mini-blogging sites.

But mostly it just makes me feel old. Where did all of these sites come from? When? Why so many of them?

The web has clearly morphed from a place where I sort of had a sense of how technology worked and had a small sense about how it worked into yet another unfathomably large intractable human mess of activity.

The web isn't a black swan any more. It's freaking flock of swans, all flying in different directions. My head can't take it any more.

Friday, October 05, 2007

not such a nice view

I had my first close encounter with Vista this weekend on a laptop that my father-in-law purchased recently. He hates it with a passion, and it's pretty easy to see why. So far as either of us could tell, it's a lot like XP, except a zillion times slower. It's like back to the 1980s, where you have to go get a cup of coffee after you start an application and before it actually comes up.

He's an avid musician, and starting to look at using different music software and hardware. And he keeps tripping over the fact that he's got Vista instead of an older version of windows.

Since I work in technology, I of course don't know anybody else who'se using Vista. I guess we all know to stay away from new Microsoft operating systems for a couple of years.

Joel Spolsky, a tech writer who doesn't hate microsoft, agrees: "I've been using Vista on my home laptop since it shipped, and can say with some conviction that nobody should be using it as their primary operating system -- it simply has no redeeming merits to overcome the compatibility headaches it causes. Whenever anyone asks, my advice is to stay with Windows XP (and to purchase new systems with XP preinstalled)."

I avoided XP for a while, and now am completely happy with it. And I expect Vista to be a fine operating system when I start using it around 2009 or 2010, when all the software and peripherals I need will have worked out the rough edges.

Tuesday, September 18, 2007

closures

I'm still a little annoyed that we haven't figured out how to download knowledge the way Neo learned kungfu while reclining in a dentist chair in the Matrix.

In the meantime, the next best thing for understanding javascript closures may be this post:

http://jibbering.com/faq/faq_notes/closures.html

I'm not ready to claim that I totally understand closures, or scope, or exactly what js objects are. But I will assert that I've read most of this page slowly and carefully, and suspect that I will be less likely to get create closures by accident or stub my toes on scope.

Baby steps!

Monday, September 10, 2007

thinking inside the box

Something called an active directory migration (AD is a tool for managing windows login accounts) has made it impossible for me to boot my computer unless I am connected to the corporate network. So much for telecomuting.

But XP is pretty stable, so I just need to not reboot while away from the office. The kicker was that somehow my laptop has decided recently that it can't recognize my home wireless network unless I reboot when I get home. So after I came back from the office Friday, I wasn't able to get back online until I went in again this morning. Ridiculous!

Until I realized that I still have a stack of ethernet cables that would be perfectly happy to connect me to my wireless router, and then to the Internet. So here I am, 1990's style, with a 25' cable running across the living room. And it took me less than a week to remember that I had this obsolete technology available as a failover.

I don't even want to think about what I would do in a blackout. mindlessly sit at the door, flipping the light switch on and off, over and over again?

Tuesday, April 24, 2007

ny to paris

Technology really does make the world better. See for yourself.

Thursday, April 12, 2007

addons

Setting up my new laptop with:

The new delicious toolbar from mozilla wants to take over my bookmarks. Hopefully I won't regret handing over the keys to some yahoo subsidiary:

https://addons.mozilla.org/en-US/firefox/addon/3615

Web Developer, of course, although I wonder how long until it is completely subsumed by firebug:

https://addons.mozilla.org/en-US/firefox/addon/60

Firebug. Gosh I like firebug. When I grow up, I want to be smart like Joe Hewitt.

https://addons.mozilla.org/en-US/firefox/addon/1843

I have to use greasemonkey if I want to see what Nathan's been up to:

https://addons.mozilla.org/en-US/firefox/addon/748

If you have to use FTP, doing it from firefox is nice:

https://addons.mozilla.org/en-US/firefox/addon/684

IEtab. Still trying to figure out whether or not this one is must-have. Still on the list for now:

https://addons.mozilla.org/en-US/firefox/addon/1419

Thursday, February 08, 2007

Saturday, January 06, 2007

Envy

I was in a meeting yesterday with a couple of the guys on the intranet team, and asked them about the process they have for user experience (UE) changes: collecting requirements, creating designs, getting signoff, etc...

Their answer is that basically they've done a sufficiently good job on this that asside from a couple of sign-offs from the brass they're pretty much free to do things that seem to make sense. For the latest round, it took two people 7 months to come up with requirements for a new set of designs, and that this felt like a long time.

wow.

We just updated the UE of our external site. I'd estimate it took at least an order of magnitude more human months to figure out and document what it was that we were going to do do. Not implementing a single line of code, mind you. Just deciding what it was that we were going to do: what would the new home page look like? what should our other page templates look like?

A lot of this makes sense. The brand of the company is involved. There is a lot of mission critical business on the website, with potential customers, existing customers, investors, etc... The intranet by its nature is internal, so the marketing, support, and product teams don't really want to be part of the conversation every step of the way.

How much effort should we be putting into tracking the effort we put our UE requirements and design? Are there any industry benchmarks for this kind of thing that would be relevant?

Sunday, November 19, 2006

finding includes in html

For the second time in the a few months I've wanted to be able to fish through the includes in an shtml file in perl.

This while statement will itterate once for each time it matches a pattern for a virtual include, letting me check to see if the include is there, slurp it up, whatever:


while ($file_contents =~ m{<!--#?include\s+virtual="([^"]*)"\s*-->}gis){
# do something with $1 (a path)
}

bidi fun

&#8238; and &#8237; entities can be use to give browsers instructions on what order to display characters:


<div>&#8238;Left-to-right</div>
<div>&#8237;Right-to-left</div>


‮Left-to-right

‭Right-to-left


"dir" attribute can be used to provide block or page level direction on direction of the page:


<div dir="ltr">Left-to-right</div>
<div dir="rtl">Right-to-left</div>


Left-to-right

Right-to-left


A good overview:

w3c tutorial: http://www.w3.org/International/tutorials/bidi-xhtml/

Friday, November 10, 2006

when you need more ports

So I'm guessing there's more than one way to tell apache to listen beyond port 80. Here's what I figured out:


Listen 81
Listen 82
Listen 83
Listen 84
Listen 85


<VirtualHost _default_:81>
DocumentRoot /srv/www/port_81
</VirtualHost>
<VirtualHost _default_:82>
DocumentRoot /srv/www/port_82
</VirtualHost>
<VirtualHost _default_:83>
DocumentRoot /srv/www/port_83
</VirtualHost>
<VirtualHost _default_:84>
DocumentRoot /srv/www/port_84
</VirtualHost>
<VirtualHost _default_:85>
DocumentRoot /srv/www/port_85
</VirtualHost>

Thursday, November 02, 2006

line breaks

I've been meaning to try to put together a full set of notes on line break wierdness for years. This isn't it. But it might be a start.

Script works on PC but not UNIX



It took me way longer than it should of for me to figure out what's wrong with this interpreter path today:

#! /perl/bin/perl

I'd look at the line in vi. It looked fine. Then I'd go to the command line and type:

%/perl/bin/perl

which would give me the interpreter (wierd path to match where perl is on my windows box, ln'd over to /usr/bin/perl)

And eventually it dawned on me that since I'd never run this script on a unix box, it probably had PC line breaks. In the old days, I would have seen this:

#! /perl/bin/perl^M

But I guess vi or vim or whatever is on the box is smarter than it used to be. Not me though. How many times have I stubbed my toes on this?

At least I'm smart enough to use Textpad. Save As, select Unix as the file type, and I'm up and running again. In utopia, there will only be one kind of line break. That's all I'm saying.

Wednesday, November 01, 2006

perl array cheat sheet

How long is my array?



my @hw_array = ("hello","world","wassup?");

print "<br>size: ", scalar @hw_array; # 3
print "<br>size: " . @hw_array; # 3, scalar is implicit
print "<br>index of last: ", $#hw_array; # 2

At least it's not raining rotten blubber

Nathan reminded us in a meeting today that no matter how grim things may seem, at least it's not raining rotten blubber.

A great way to take a meeting off on a tangent

Monday, October 30, 2006

It's the request, stupid!

Just tripped over a nifty article 'Optimizing Page Load Time' that suggests that thinking about HTTP makes a great deal of sense when thinking about performance.

As an example, here's one of the cookies on the site that I work on:

SMIDENTITY=0gzinsuUJJp+/tRSC5ZaV0WudjvPIRSZc06S2wfBFp39qMk3IbwLjlr1yo
C1MhhFxqBPclz6XDo4tClYYnoQR7ZUh5s5z8doG63QTqetXr/pFIRyEKY7wWHtZhcKj4S
Ck43mU7JuRvPhiSuVaEZC2Cfk4N01qZE47y+nfAFD/ZAwXRBraUfKzUYHl9d+uADHFcz8
pGEHPCch1+6g0LtuRuGxO+IdELXiduWUJfs6kozvBvPGqUltBYTHv2XiLwj6AN9xDdY1K
UHQ5/DX5g0OQuud8NuBGLvF7BQyfNtHqGduOGGXgkLs3+GsD2D5ro83w/WuHt/B6DMbK8
M6FEE8t7q419KMPWxngxFA5d6rP7qxAxUXQDf4blC3POGWTGMMkV/YJvd4mqayiSEPZpH
PceeZs1WZ0GAibVtm2q4f/aYyFbv4iHvYabePsU7GP4FFpUAKoavF2GqJOTa2bUc17rtO
bQcxUrdMAV3YaHA+FodiEpVWXymdj94r95deNKjYgrC64AkGyQTTcUJpsZ3cG+9x1/j2g
mK+0Dx2XI507Azr6aFcz31X2aQ+TdtMvoCnvw664BGgs4lVT7HT9ATMKkJNTNaruM8hqF
zu0Jz0lASUlguCp9NfJQDt6ar/BUMDS/516dHZgQyXh9HTBDKzi5q8LP975mPU;

Now multiply that times the 44 http requests it takes to load one our most popular pages! That's 30K worth of cookies! sweet!