Twitter Weekly Updates for 2010-06-06

June 6th, 2010

Apple’s Safari Demos aren’t HTML5 Demos

June 4th, 2010

Looking at http://developer.apple.com/safaridemos/styles/html5.css:

201006040754

It says right on the page (in an image, for some reason) that these are Safari demos, not HTML5 demos.

HTML5 should not mean “Requires Safari”

June 4th, 2010

Hand of Greed is being promoted as an HTML5 game. But it only works on Safari.

I'm afraid this is where we're headed. It's difficult today to make a web app that works across the major browsers, and HTML5 adds a whole lot of complexity on top of that. IE still has huge market share, and the time lapse between major releases of IE ensures that the web will continue to evolve slowly (since even after all this time, it still has majority market share).

I started putting together some pages where I've been putting little snippets of code as I re-learn JavaScript and experiment with HTML5, and one of my first pages, a simple canvas "Hello World", works great in Safari and Chrome on the desktop, but on the iPad, briefly flashes "Hello World" upside down in the wrong location and then it disappears. Great.

And Hand of Greed? Check out this CSS:

[cc lang="css"]
.spinner1 {
-webkit-transform-origin: 0% 50%;
-webkit-animation-name: spin1;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
}
[/cc]

Doesn't look very "standard" does it? This might work in Chrome and Safari but I doubt Mozilla or IE are going to implement all the WebKit extensions.

If your web app requires a specific browser runtime to run then what's the point of all this? I'm sure Apple is happy because the specific browser runtime you need is the one they support, but it seems like what Apple is really asking people to do is switch from Flash not to HTML5, but to WebKit.

Twitter Weekly Updates for 2010-05-30

May 30th, 2010

My Idea for Stopping the Oil Leak

May 26th, 2010

I'm a software engineer so I'm clearly qualified to comment on an oil leak at the bottom of the ocean. So here's my idea.

The problem with trying to cap the well is that the stuff is coming out at such high pressure that you can't just plug it. And as the methane expands it cools and freezes the vacuum lines that you might use to suck the oil out.

So here's my plan.

201005261837

Build a giant sieve or colander and lower it, upside down, over the leak. The holes should be big enough that the oil and methane can escape without much resistance, so the pressure won't stop the device from being lowered over the leak.

Once it's on and secure, then you start injecting objects that are bigger than the holes in the device. Every object you inject reduces the flow a bit, until nothing can escape.

This sounds like a variation on the "junk shot" but with the addition of something that you know is going to be plugged up with the stuff being injected, where the current plan seems to depend on the objects plugging up the blowout preventer.

PeakSaver Trouble

May 26th, 2010

Here's what the website says:

By having a free peaksaver® programmable thermostat or switch installed, your central air conditioning (CAC) system can be automatically adjusted when demand for electricity is highest. This may happen occasionally in summer, but only on weekdays during the middle of the day. You likely won't notice a difference in the comfort of your home since the temperature will only change by 1 or 2°C at most and only for brief periods. Last summer peaksaver® was activated 4 times, and in the summer of 2008, only 5 times. You will be helping to reduce the strain on our electricity system, plus you’ll be helping the environment.

(Emphasis mine). That's from here, May 26th, 2010. They do clarify in the mouse print that they can activate it whenever they feel like it, but I still feel it's dishonest to have the first paragraph promise you they won't.

And guess what? It's 7:21pm, hot outside, and my thermostat has PeakSaver activated.

201005262019
See the SAVING indicator? That's your sign that the thermostat is being controlled remotely.
This isn't really affecting me for two reasons. First, it's on the other side of the house, where I don't generally go in the evenings, but also because it seems to be broken.

My thermostat is set to keep the office comfortable during work hours, and let it drift somewhat outside work hours. So during the day, it's set to 22.5, and in the evening, 28 (celsius, obviously). Here's what the schedule looks like:

201005262020

At 5pm, my thermostat should have allowed the temperature to start rising to 28, but PeakSaver kicked in before 5pm and locked the thermostat to 24.5 degrees.

I called the number on the sticker on the thermostat and talked to a fellow who didn't have many answers. He said the saving mode was activated today between 4pm and 8pm, and during that time, the thermostat is locked. The locked temperature overrides the schedule, so for 3 hours, PeakSaver is locking my temperature to 24.5 instead of letting it rise to 28. Dumb.

I'm going to call my utility in the morning and ask them for a rebate for this period, and maybe request that they remove the thermostat given that they did what they promised they wouldn't do on the website. I'll update this post with how that goes.

Update 1: Turns out it's worse than I thought. Let's say your temperature schedule is 26 during the day and 23 in the evening (after 5pm). If there's a power saving event from 4pm to 8pm like yesterday, then at 4pm, the thermostat will lock at the current temperature plus 2 degrees. That's 28, when you've got it set for 23. Ouch!

Update 2: I confirmed this with 2 different people now, one with Brant County Power, who directed me to call Ontario Power Generation, and another person with Ontario Power Generation, who directed me to call Brant County Power.

Twitter Weekly Updates for 2010-05-23

May 23rd, 2010
  • The Mac needs UNC support. Even if it's just /UNC/ServerName/ShareName/FileName. As long as it caches credentials somehow. #
  • \\Server\Share\ paths in config files and whatnot are very handy. /Volumes/Foo doesn't work if I forget to mount. #
  • Dio :( #
  • 3 cubic yard of dirt in fancy green bags, $450. same amount of dirt delivered in a pile in your laneway, $136 ($60 + $65 delivery). #
  • Oil Spill Live Video. Riveting. http://www.cnn.com/video/flashLive/live.html?stream=stream2&hpt=T2 #
  • @gruber's tone today seems somewhat defensive .. I guess Google must be doing something right. #
  • Software development is changing so quickly. #
  • Google's pacman logo today is very cool. JS, not Flash. But it's taking 100% CPU for me. #
  • Reading the JavaScript source for Google's PacMan game. It's cool that it works at all but it seems like hack upon hack. #
  • @cshnider Definitely coded that way, very carefully hand coded. But it's such a low level, awkward way to write software. in reply to cshnider #
  • The Garmin Nuvi 3790T GPS learns from the routes you drive. I've been waiting for a GPS with that feature. #

Does my Mac have Spyware?

May 19th, 2010

Check this out:

201005190628

That's the result of checking my plist files (basically preferences files - basically where Mac apps store things that would go into the registry on Windows) using a tool called OnyX, and finding a number of files that appear to be invalid. But it's not the format of these files that worries me, it's their names.

com.Diomgenic.Tupelo.plist
com.QuancesemsInvestments.Cynol.plist
com.Systerste.ZWork.plis
com.interejapan.floccule.plist
com.orangesource.whoso.plist


I found a number of threads with people asking about these files, here and here and here, but no answers.

I have two guesses as to what these files are. The first is that they're related to malware. I doubt this, for various reasons - not just because it's a Mac, but because I've been pretty careful about what I run, I haven't seen any malware type behaviour on this computer, and well, it's a Mac.

So my second guess is that these files are where some applications are storing licensing information. Things like whether a free trial has been started, or how many times you've run an application that's locked to so many tries before it stops working. This would be a clever way to store this information - generate a real-looking filename based on some fingerprint you can get from the computer (like the serial number or MAC address). Generating unique filenames helps keep people from figuring out what they do by Googling for the name - you get very few hits for any particular name - and gives the app a way to find the file where the filename isn't embedded in the application. And if you move the application to a different computer, you get a different key - different filename - so the app doesn't work even if you move the plist file over.

Anyway that's my guess.

Twitter Weekly Updates for 2010-05-16

May 16th, 2010
  • Well, that took some digging. "Failed to prepare partial IU" error installing an Eclipse plugin? Look in artifacts.xml for old entries. #
  • Also hunt down references in configuration/org.eclipse.osgi/bundles - there will be a numbered folder that references the relevant plugin #
  • "To celebrate the arrival of Steam on the Mac .. Portal is free for everyone!" Well that's a sure way to get everyone to install Steam. #
  • Steam on the Mac has 63 Mac games at launch. http://store.steampowered.com/browse/mac #
  • Rice cooker armed with steel cut oats for the morning. I'm loving this thing. #
  • Installing NuMaps update on my Garmin 760. NuMaps Lifetime has kept me from buying a new GPS for the last 2 years. It's non-transferable. #
  • http://html5readiness.com/ - my CPU usage spikes when I move the mouse around on this page. I thought HTML5 sites didn't use any CPU. #
  • @cshnider I was actually wondering how it'd be with cherries. I will try that. in reply to cshnider #
  • I'm looking forward to playing with Android. #

HTML Script Element

May 16th, 2010

I'm working on a little cookbook of useful HTML scripts, and all of them obviously include <script> tags. Typically this looks like this:

[cc lang="html"]

[/cc]

There was a time when you needed to hide the script from browsers that didn't understand the script tag, and would therefore ignore it and show the text inside as if it was undecorated. That looked like this:

[cc lang="html"]


[/cc]

Fortunately no browser in common use today requires this.

And, as I discovered, the type attribute also seems to be no longer required, even though it's almost always specified. The HTML 4.01 specification is clear on the point that it is required:

type = content-type [CI]
This attribute specifies the scripting language of the element's contents and overrides the default scripting language. The scripting language is specified as a content type (e.g., "text/javascript"). Authors must supply a value for this attribute. There is no default value for this attribute.

However, every browser supported by BrowserLab uses JavaScript as the default value, and the HTML5 specification actually clarifies this:

The type attribute gives the language of the script or format of the data. If the attribute is present, its value must be a valid MIME type. The charset parameter must not be specified. The default, which is used if the attribute is absent, is "text/javascript".

Which means, from now going forward, we can all use an undecorated script tag:

[cc lang="html"]

[/cc]

That's a pretty nice little change.