- 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.
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.
Quick look at the new ratesMy 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
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):
ReportingThe reporting is actually pretty cool:
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.
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.
I propose to improve things a bit by mapping whatever you'd currently include in a bullet list as a stacked timeline:
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):
And the output looks something like:
Grab SkillTimeline on GitHub.
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.]
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.
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.
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.
It's quite clearly filmed in Gatineau's Canadian Museum of Civilization!
The Graystones dancing (filmed in the great hall of the museum):
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.
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?
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?
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?
Fast forward 9 years:
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:
Maybe it's better now:
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>)