2012-09-12

"C'est trés magnifique içi" - Apparently iOS 6 can't spell


Everything else about this phone and its marketing betrays an incredible attention to detail.

2012-06-17

Incorrect Assumptions Made by Makers of TV Wall-Mounting Hardware


  • A wall has studs spaced 16 inches apart.
  • There isn't a water pipe running vertically right in the middle of the wall.
  • The drywall is 0.5" - 0.75" thick.
  • Ok, 1 inch thick.
  • 2.25 inches, are you kidding me?
  • Speakers to be mounted will never weigh more than 40 lbs each.

2012-06-01

clutter

There must be a hundred clickable elements in this page.

The only one I ever use, and the one I always hunt for, is "Sign in". It bothers me.


2012-05-27

iCloud calendar invitations + GMail + Google Calendar

This is incredibly slick!

When you get a meeting invitation from an iCloud user on your GMail account, you end up with this. What's awesome is how the pieces fit together: the gray top part is contributed by GMail, pulling in calendar data. The bottom part, in blue, is the actual contents of the email, sent from iCloud. So you end up with the invitation framed in the context of the rest of your day.


2011-07-14

Hydro Ottawa's new Time-of-Use rates

I received today the notice from Hydro Ottawa explaining their new Time-of-Use billing scheme.

Quick look at the new rates

My conclusion is that it seems to raise costs for the average use case, but it's possible to lower costs slightly compared to their current level by shifting usage to off-peak periods (though I think it's unrealistic to expect to be able to save money). The price for on-peak usage (6 hours per day on weekdays) rises a lot.

The old "anytime" rate, on my latest bill (April-June), was 6.8 cents/KWh.

The new rates are:
Off-peak: 5.9 c/KWh
Mid-peak: 8.9 c/KWh
On-peak: 10.7 c/KWh
Hydro Ottawa TOU Billing Analysis

Assuming a constant load (unrealistic), and weighting these rates by the number of hours a week they apply, you get a new composite weighted rate of 7.29 c/KWh, about 7% higher than the current "anytime" rates.

If you want to keep paying the same amount as today, you'd have to have a usage profile solving for (X: off-peak, Y: mid-peak, Z: on-peak):

5.9X + 8.9Y + 10.7Z = 6.8
(any point on that plane will yield the same cost as today's rate, but the practical application is unintuitive)

So with a weighted rate only 7% higher than today, I think it's not going to be terribly more expensive, as long as you make at least a token effort to move usage outside the On-Peak timespan.

Reporting

The reporting is actually pretty cool:
Screen shot 2011-07-14 at 7.34.12 PM

It presents hourly, daily, and monthly stats, and allows downloading the data as a spreadsheet. This is actually an improvement I've been wishing for for a long time, in contrast to the previous data, which only gave you monthly usage. Now I wish I could get the same data for my gas consumption.

2011-07-04

Non-saveable PDF forms

I think I just figured out why people create PDF forms that don't let you save the contents typed in, as annoying and unhelpful as that is.

PDF cannot save

I'll bet they're trying to protect us from ourselves, reasoning that we will fill out the form with sensitive information such as SSN, date of birth, etc., and we can't be trusted to store the saved file securely.

So they don't let us save it. It feels a little nanny-state, but I guess it's at least well-intentioned.

Edit: I think there could be a niche market opportunity here for a little piece of software that allows writing anywhere on a PDF and ignores the do-not-save flag.

2011-05-01

Spruce Up Tech Resumes With Skill Timelines

A while back I had a bit of a chat with Jason about making tech resumes more interesting by presenting information differently: The problem I aim to solve is that listing experience with a couple technology stacks as a laundry list of keywords doesn't automatically communicate how recent or deep that experience is (I don't really want to walk into an interview and get grilled about VB.NET, which I haven't used in 6 years.)

I propose to improve things a bit by mapping whatever you'd currently include in a bullet list as a stacked timeline:
sample-screenshot

I bashed out a bit of code to generate these graphs (grab SkillTimeline on GitHub). An interesting requirement I had was that I wanted the output to be a vector graphic, as my resume is ultimately compiled to PDF by LaTeX. So I wrote something that would read in a plaintext file of skills and dates, auto-size everything properly, and generate an SVG document with the stacked timeline.

The input looks like this (I wrote an EBNF grammar when planning out the project, but it's really just a string, a colon, then comma-separated date ranges):
# Sample SkillTimeline input file.
# Provide one skill per line, and comma-separated date ranges.

SilverLight: 2010-2011.06
JavaScript: 2010-2011.06
C#: 2003.10-2006.06, 2009.01-2011.05
ASP.NET: 2004.01-2006.06
C: 2003.09-2005.12, 2009.01-2010.12
Java: 2003.09-2011.06

And the output looks something like:

Screen shot 2011-05-01 at 8.14.21 PM


Grab SkillTimeline on GitHub.

2011-03-17

Nouveau modèle de permissions pour les aggrégateurs financiers

Un récent article de CyberPresse (que j'ai découvert via @MvtDesjardins, merci!) nous rappelle ce que l'on savait déjà: les aggrégateurs de transactions financières, bien qu'extrêmement utiles pour simplifier la gestion d'un budget (je suis un grand fan de Mint, et autrefois de feu Wesabe), présentent certains risques théoriques.

On y lit aussi un fait fort intéressant - et que j'ignorais jusqu'ici - soit que les institutions financières considèrent que l'acte de fournir à un aggrégateur comme Mint.com son NIP d'accès bancaire constitue un bris de confidentialité du NIP (les dégageant de leurs garanties vis-à-vis les opérations non autorisées). [Note: Je ne sais pas comment une banque arriverait à prouver qu'un membre possède en effet un compte sur sur un quelconque aggrégateur de transactions et a volontairement divulgué son code d'accès - la défense "ah, non, ce n'est pas mon compte, quelqu'un d'autre a dû voler mon NIP et l'enregistrer là-bas", semble plausible. C'est une discussion pour un autre jour.]

De l'article:
Ursula Menke n'en déconseille pas l'usage. "Nous suggérons des précautions, indique-t-elle. C'est une question de bien peser les risques et les bénéfices de ce genre de service."

C'est une recommendation totalement vide, car il n'y a en fait aucune précaution possible; soit on fait l'usage d'un tel service (en divulguant notre NIP à une tierce partie), ou on s'en passe complètement.

La faute pour cette situation (que, je prédis, n'est que temporaire, car c'est réglable, bien qu'un peu difficile) repose sur les banques, qui voient leurs services en ligne évoluer à un rythme glacial comparé au reste de l'industrie des services sur le Web. Nous avons besoin de nouveaux standards de transfert de données et de délégation de l'identification des usagers. Je m'explique: Le vrai problème dans tout ça, c'est qu'il n'y a actuellement aucune granularité dans le contrôle d'accès qu'un usager peut offrir aux tierces parties; c'est tout ou rien.

Il m'est actuellement impossible de fournir un accès lecture-seulement de mes transactions financières. Je dois fournir à un aggrégateur de transactions l'accès total à tous mes comptes, et les systèmes de ma banque ou caisse populaire n'ont aucun moyen de différencier un service automatisé d'un réel usager et d'appliquer des permissions différentes le cas échéant.

C'est un problème très commun dans notre industrie (en fait, GMail, Facebook, Twitter et autres ont tous eu ce problème à leurs débuts et ont dû le surmonter), et pour lequel il existe des solutions relativement simples (qui servent, au minimum, d'inspiration). N'importe-quelle archive d'informations personnelles de grande valeur pourrait me permettre de créer des jetons d'authentification afin de donner accès à un sous-ensemble de mes données à d'autres services. Du coup, on élimine totalement la divulgation des crédentiels d'authentification aux tierces parties, on permet aux consommateurs d'offrir différentes permissions à différents services, et on peut rétracter l'accès d'un service à nos données sans impact sur les autres, en invalidant le jeton associé à ce service.

Ça prendra sûrement des années, mais la balle est dans le camp des banques et des caisses populaires, qui sont les seuls à pouvoir régler ce problème.

2011-03-02

Fantastic UX Design: the Google Chrome Developer Console

Yet another example of where the simple Chrome UI betrays the huge amount of thought that must have gone into its design and development: this is a log console done right.

If you scroll to any point in the Chrome 10 developer console while new logs are being appended to it, the scrollbar position  stays where you are and the logs are locked in place for your inspection:
CropperCapture[391]

However, if you scroll down to the very bottom of the window and release the scroll bar, then you get "tail -f" functionality - the window scrolls down automatically with new logs:
CropperCapture[392]

To pick just one example to contrast, Wireshark used a toolbar button to control this behaviour (below), while Google Chrome "just works" and does the right thing without any clutter.
wireshark_scr

2011-02-16

Coffee Shop Subscriptions

It just occurred to me that I’ve never heard of a coffee shop subscription.
Coffee loyalty cards

Many coffee shops already have loyalty cards, where each 10th coffee is free. This is going further (way further) in the same direction: offer a monthly all-the-lattes-you-can-drink subscription! Consider that repeat daily business is the name of the game for these places, and it’s a wonder that we’ve never seen it tried - can anyone figure out how to price the subscription to maximize revenue?

A few thoughts:

  • You’d have to tie it to an individual and make it non-transferable. I think you could profitably supply me with all the lattes I can drink for a fixed price, but there’s no way it’s profitable if I buy a single subscription for my entire office.
  • The right price from the consumer’s point of view would be a bit less than the cost of 18 lattes (5 per week x 4 weeks/month x 0.9 to account for loyalty cards).
  • The right price from the coffee shop’s point of view is higher than that - they’re taking a risk that I won’t start drinking three a day. I imagine they can do this because the marginal cost of making more lattes is small compared to their huge fixed costs. 
  • In exchange for this risk they’re getting guaranteed revenue, in advance, and the guarantee I won’t ever step foot in a competitor’s shop. You can have two loyalty reward cards and go to whichever shop is closest, but there’s no way you’d ever buy two subscriptions to competing shops.
  • To mitigate the risk of abuse you could ignore the one-a-day market and target only the two-a-day heavy purchasers (since there’s an upper limit to how much coffee it’s practical to consume). Price it below what it would cost to buy two a day for a month. You’ll probably convert a bunch of your one-a-day drinkers to the subscription for a little more.
  • You could market this as a conspicuous luxury item: make it a nice thick golden card that status-seeking scum-sucking yuppies will proudly flash at the register.


2010-05-25

Dark Days

This is the first time I've ever seen an animated graphical ad right on one of Google's main properties.
And there's no link below the ad to report it as offensive.
And it's in Flash! Argh.

Animated graphical ad on google finance

2010-04-08

Window Management for Compulsive Neat-Freaks

On the Mac, I'm a bit of a SizeUp junkie - it becomes so much an intuitive part of your computing experience that its command keystrokes eventually get baked into your fingers' muscle memory. I bought a license, and after a few months of use, I couldn't even tell you what the key bindings are, my fingers just... know them.

Praise for Winsplit Revolution

As soon as I reach the office though (to sit down at a Windows XP workstation), I feel like my multi-monitor setup is messy and slow in comparison. This week's discovery of Winsplit Revolution changed all that, it's exactly what I wanted it to be - "SizeUp for Windows". Now my obsessive-neatness tendencies are catered to and I can setup beautiful grids of terminals, browsers, and editors.

I'm not really one of those compulsive tweakers and customizers who must absolutely change and configure every aspect of their graphical shell; I prefer when software just gets out of the way, lets me work and read, and doesn't obstruct my feeling of being in control of the machine. Windows itself, without keyboard shortcuts, makes you feel like you're interacting with a computer, not the apps themselves - the power of this kind of tool is that it gives you the illusion of apps reading your mind and moving to the right screen/edge/corner with a few twitches - the OS isn't standing in the way.

winsplit_grid

2010-03-12

Caprica: familiar places

I sat down to watch Caprica this week (Season 1, Episode 6) and I was so surprised to recognize the location where the Graystone cocktail party was held!

It's quite clearly filmed in Gatineau's Canadian Museum of Civilization!

The Graystones dancing (filmed in the great hall of the museum):
Caprica Screenshot (Gatineau)

For comparison, here's a shot of that hall; note the columns and totems in front of the window:

Photo Credit: flickr user Яick Harris

This shot, a few seconds later, prominently features one of the museum's Inuit sculptures. If I recall correctly, it's somewhere up on the second floor.
Caprica Screenshot (Gatineau!)

I wonder when this was shot - it looks like summer outside, which means if the view isn't retouched too much, it was shot before this winter?

2010-03-09

BMO annual report: making your neighbours think you're getting porn since 2010

BMO Annual Shareholders Report

My small apartment building has a single, shared, mailbox. What's running through the mind of my neighbours as they bring in BMO's annual report and leave it on my doorstep?

2010-02-23

15 Minutes With Windows 7


i wanted to like it



Photo by: Flickr / techedlive

Windows is weird, you know?

It's all at once the huge commercial success everyone is using and develops for, and a retarded kid with down's syndrome everyone hates but you kinda-sorta-want to see him do something great.

I've been using Windows XP at work for years, and I've totally skipped Vista. Hadn't even tried it (until 2 weeks ago). Sure, I don't like XP, but I've grown accustomed to its rough edges and I can live with the bad parts (at least once cygwin is installed).

I'm setting up a new build server right now, and the machine just got racked up and paved with a fresh install of Windows 7. I was curious to see what 9 years of development time since XP have brought; I don't really care much about the look, I'm mostly interested in the GUI getting out of the way and letting me be productive. In this case, that means installing the latest JDK, Apache Ant, Subversion, CruiseControl, Cygwin, adding an ANT_HOME environment variable, adding Ant and the JDK tools to the $PATH, etc.

I don't mean for this to be a contrived, unrealistic, test to point fingers... this is really what I need to do today: pull up a few terminals, install some dev tools, setup auto-builds, and get productive. I spend a LOT of time at the command line, so this is the perfect test case for me: how good is the Windows 7 terminal after years with this old one: no tabbed shells, no resizing of the window, awkward copy and paste?
cmd_noresize

Fast forward 9 years:
cmd_noresize_7
Drat.
Still can't resize that window. But it looks prettier, right?

Next let's add an ANT_HOME environment variable for this user and add the JDK tools to the PATH. This is really annoying in Windows XP because your PATH is probably a mile long and you can't resize the window:
path

Maybe it's better now:
path_7
Well, it's more blue. And it... even took more clicks to get here.

So that was a fun first 15 minutes with the latest and greatest.

To be fair, I hear there's some really great system administration tools in there, so I'll stick with it and see... I wonder if there's a way, now, to see which processes have which files open, in a default OS install? You know, like lsof?

Pre-emptive snarky comment:
- Oh, I suppose editing your ~/.bashrc is faster?
- Actually, yes, I'm pretty sure it is. (⌘+space, termi <ENTER>, vi .bashrc <ENTER>)