Windows Mobile 6 and the Compact Framework
I've written an application to improve the U.I of my new phone (a HTC Dual Touch) called SlideActions.
It lets users decide on how the phone should behave in locking, hanging up and other options when its slide is opened or closed. And although it's written for my phone the code isn't particularly specific - it may work on others.
But it'll need someone a little clued in to configure it for other phones - I've put notes on what's needed on it's homepage.
The Lagoonarium
If you know what the lagoonarium is and you want a copy of the video contact me, because I've lost your address.
I stood at Thermopylae with Leonidas
No, really, I really did. And here's the picture to prove it. That's me up on the monument at Thermopylae a few years ago on a trip from England to Istanbul (and most of the way back). I saw 300 last week and, eh, it was okay. The best bits were stylish stagings of the comics panels - but comics transcribed as movies don't have good scripts or dialogue (Sin City also demonstrates this).
The most interesting thing I noticed, given the debates and anger the movie aroused, is the addition of some dialogue: when Leonidas meets Xerxes emissary early in the story he warns the emissary he'll be held responsible for his words as if they were his own - a clear warning that this messenger may be blamed for the message he is about to deliver. This is not in the comic. So the producers demonstrate they know there's something unseemly about Leonidas in this story and attempted to defuse it by inserting language to moderate his character. If they now reply to accusations of producing propaganda with claims to only have been reproducing another work of art in a different medium, without responsibility for the story, they will be lying.
Comet McNaught, the Great Comet of 2007
Finally the weather cleared up enough for me to get out and have a look at McNaught. About four days after it's peak appearance it's still mighty impressive. Supposedly the second brightest comet ever measured for brightness it covered about 20 degrees of sky. Much more impressive than Halleys or Hyakutake
Took my camera out and made my first astronomical pictures. At first I left it's battery in the charger. And after getting it I took the wrong lens. Oh well, they didn't turn out too badly.
Thunderbird 2
While driving to work today I saw a ~four meter long fibreglass model of Thunderbird 2 parked on the roadside. Très cool!
Bluetooth Headphones
I recently bought these Jabra BT-620S headphones.
And I think they work quite well - the sound isn't all that good but I didn't expect it to be (I've got a good stereo for when I want to hear music at it's best). Bluetooth just isn't a good medium for high fidelity music and it would be foolish to expect excellent sound.
I didn't buy with any intention of using the microphone so I offer no opinion on that, but the review I linked to is correct that they can get uncomfortable (not enough for me to mind, but a more sensitive person could get easily irritated).
I approve of their user interface, very well thought out, just pressing the ear pieces does what you need in most contexts.
I also bought Jabras Bluetooth dongle to go with them, but also wanted to make A2DP (the Advanced Bluetooth Audio Profile) work on my Windows XP machine with my existing Bluetooth kit (so I could have these headphones paired with both my laptop and my PC). My cheap Bluetooth dongle I discovered (by looking at it's driver details) was manufactured by CSR, and it happens that Blue Soleil manufacturers Windows drivers that provide A2DP functionality to CSR Bluetooth chips.
I have downloaded and tested the latest Blue Soleil software and it did indeed work with my cheap Bluetooth dongle. Only I can't buy it - because you do that via the applications Help menu and it won't enable 'Buy' for me.
And it seems they offer no option to buy via their wesite (I guess they want to tie your purchase to the applications detection and identification of a particular Bluetooth device). So apparently they don't want me as a customer.
Squeezing table columns together
Sometimes you need a lot of columns in a table, and sometimes the plain language headings are too wide - they push the tables edge off any reasonable sized screen.
It'd be great if you could just rotate the headings a little so the colunms could be thinner. But you can't rotate HTML text (not even using the new Canvas element of modern browsers).
So I created a little code to generate text on the fly as an image, rotated and in the colours one might want.
New web fonts
Microsoft has released several new fonts with Vista that make very nice additions to the commonly used choices for web pages. As I understand it these fonts are available for one and all to install using Windows or not.
If you're using Windows the easiest way to obtain them is installing Microsofts Powerpoint viewer.
Animations
On my photo pages I've been playing with Javascript animations to create light-box type effects.
I've noticed that different libraries perform quite differently (YUI animations for instance seem smoother than Moofx). But I also found out that having many animations occurring at once (which happens if you drag your mouse across several photos on my site) can be quite a drag on performance. So out of curiosity I wrote a simple animation function to see if I could make many simultaneous animations work more efficiently. Check out 'Puna' compared to 'MooFx' and 'YUI' to see if I did.
Update: I don't think I made much of an improvement in performance, and I'm going off the whole method of growing/shrinking as a poor UI at all. It also seems to have a bit of trouble dealing with the unreliable mouseover, mouseout events of fast moving cursors. Moofx's extra mousein and mouseout events don't seem to help much.
YAHOO Javascript UI
As a learning task for finding out about Yahoos UI library I've used it to animate my sites login. If you click on the logo (at the top left) you ought (providing you have javascript enabled) see a cute animated creation of a login dialog. It works on all the pages of this site with the common banner.
Presuming I haven't broken it yet, and there's been enough time for the library to download (it isn't huge, but if you're getting slow service right now you might have to wait a bit). The library is loaded by my site AFTER everything else.
Update: I've replaced YUI with Moofx (using Mootools) to expand my experience. Moofx doesn't have some of the cute animations YUI has (specifically my Login no longer 'bounces' quite the same way) but I think the intergration with Prototype is a good reason to use it even though in this case I've used the Mootools version.
Single sign On using OpenID
I thought, for the fun of it, and because I'd Stumbled over it, that I'd implement OpenID as identity verification for logging in to this site. How hard could it be, I thought.
I know how these authentication schemes work, and being an open source project I expected there'd be some scripts I could grab and mutilate to my ends. But nope, I could find nothing except the original demo by danga.com (the folks responsible for LiveJournal) that suited my purpose (as light-weight as possible) and a crucial part of that is a Perl file whose source I could not view. For some reason the downloadable source file was missing. But I fortuitously found their CVS repository and snagged a copy.
Then I had to make sure I had all the supporting packages. And discovered that Crypt-DH (an essential part of SSH communications) wasn't readily available. But that's just a typical little installation glitch quickly sorted with a few choice searches.
More annoying were substantial changes required to the Perl source because it was originally written to make use of some sort of framework danga.com uses and I do not. But hey, what's a little tweaking and debugging among friends?
So now I have a sample of using OpenID to verify identity.
Firefox Extension for Spinning Logo
I like the idea of XUL. A mark up language for web applications (as distinct from HTML which was intended for marking up documents) is a great idea. Unfortunately it's unlikely to be widely adopted by browser publishers, although it's probably worth insisting users install Firefox just for it's XUL abilities when you can (Microsoft's XAML is pretty much the same thing but within the dot.NET framework, so not such a compact or cross platform option).
Anyway, because Firefox is itself a XUL application it can be modified with changes to it's markup. This is how extensions work. And to help out a developer who prepared some pretty animations for Firefox (see this page for a new 'throbber', a.k.a 'busy', animation in Firefox) I packaged this extension to answer the authors request for such a thing (they've since tweaked it and updated it for Firefox 2.0 it seems).
Latest rant:Of human nature
Aren't some of the connections between some scientific studies a bit obvious?I was just reading an article about some scientists theory that inbstruction given with religious authority can make people more aggresive.
These people used some admitted religious and not so religious people in an experiment where they were tested (using some games) to find how agressive each person was. Then they were read passages of what they were told were biblical, or for some simply historic, text. And some people were read passages that explicitly ended with divine commandments of violence (such as "go forth and smite the whatits commanded the lord").
Then the participants were tested again. and the result was that people who were read texts commanding divine violence, no matter how religious or aggressive the perosn, or the presumed source of the text, became more agressive.
This doesn't surprise me, but not because I think it says anything about peoples religion. I think I already know what rleigion is and this fits with my theories about people.
Let's talk about Milgram, he of the famous experiments into authority. Milgram's the guy who got people in lab coats to tell participants in experiments to keep turning up the current on shocks being given to people to see how far they would go. And plenty of people keep going up to apparently lethal levels as long as an authority figure tells them to.
Milgram was trying to find out how previously assummed peaceful and civilized citizens of Germany could not only abide but actively participate in the crimes of the fascists. He wanted to understand how someone could undoubtably see evil we're sure they'd been taught to reject but still cooperate with it.
Turns out people can be unreasonably cooperative with authority. And I think it's obvious why.
Humans are gregarious creatures. We are hard wired to desire company and acceptance. Subordination to leadership looks and feels to our hind brains like valued membership in a tribe.
Priests try to define the tribe granting themselves a valueable ledge on its totem pole and they use millenia of well practiced threats and rewards to encourage people to settle into a given, lower, place on that pole.
They recognize that the suggestion of command by authority speaks directly to our ape brain nad peoplev simply find it easy and rewarding to obey.
It's annoying but's it's just how we are. People aren't that complicated.
Random thoughts
Cell phones should receive faxs. Some of the modern screens on phones would be good enough to read them but I'm thinking storing for printing (or transfer to PC) would suffice. Pictures taken could then be sent as faxs.
And when are we going to get Voice-to-text on cell phones? It would be so useful - for updating blogs, sending complex txts or any of a myriad reasons one could want to side-step laborious text input.
Cell phones should record phone calls (I'm guessing some already do). I think of this because of a newspaper article about an emergency call that was mis-handled.
You're not likely to think before hand that any given conversation is going to be important and you might want a record of it, but you may very well think afterwards that it'd be nice to have an accurate record of one.
So I think it'd be a good design choice to record each phone conversation, just record over any previous ones. Have options to save the last one to the side, wipe it if not saved after an hour or two, or demand a decision on saving or wiping at the end of the call or some such.
Random rant:Totalitarian anti-terrorism laws
My attitude to totalitarian laws advertised as protection against terrorism: More people will die on the roads in the next month than have been killed by terrorists in the last five years. If I won't accept totalitarian government to protect me from cars why should anyone expect me to accept it as 'protection' (as in 'racket') from a far less urgent threat?
Random rant:Murderers.
One person killing someone else not threatening or assaulting them (or others under their protection) is a murderer - wether or not they happen to be obeying their own rules (any damn jackal can write their own rules).
Oh sure, we're all adults and know that the exigencies of war sometimes have unpleasant consequences. It's a fact of the violence that bystanders are going to be caught up in the carnage. But that really doesn't wash if there was never a good cause for the 'war' in the first place, does it?
It especially doesn't wash if the reason innocents are being obliterated is because invaders and thugs use overwhelming and extensively destructive force because it keeps themselves safe. A pilot who drops a bomb from the safety of his aircraft in uncontested airspace thousands of feet in the air and by happenstance kills innocents off to the side of an intended target that posed no threat whatsoever to his family, nation or even his damned dog is a no good murdering thug.
"Under their protection" I said. So yeah, it looks like people have wriggle room to justify their actions. But they're not fooling me.