Thursday, May 12, 2011

Windows Phone 7 keyboard

My experience with Windows Phone 7 continues with some thoughts on the quality of The on-screen keyboard.

Maybe my thumbs have taken on some motor programming thanks to the iPhone keyboard but I find the Microsoft OSK layout to be very hard to use. Fatfingering the wrong character is too easy and the cash register feedback that pops up like whack-a-rat is too lrge and unsubtle enough to make me want to position my finger lower on the key which seems to exascerbate the situation.

Wednesday, May 11, 2011

Arduino and android, a match made in heaven?

As an electronics designer from aincient times and having been playing with arduino systems for some time I find myself hugely inspired by the news of Google's open hardware accessory initiative based on arduino designs .
I am currently working on two arduino projects. A power control system for an autonomous house and a cruise control for my Land Rover. Sadly project 2 is on hold as the Landis needs a new clutch. The ease of programming and simplicity of the ATMega microcontroller design makes this an almost perfect match for a smart accessory choice.
I was looking for a way to return to my hardware roots and this seems to be an ideal opportunity .

Thursday, March 31, 2011

Ceres and Vesta better than Mars for a first try.

While the technical achievement of a mission to Mars would be phenomenal, the danger involved in such a mission would be huge in comparison to those that didn't require descent into a deep and unforgiving gravity well.

Mars is also known to be arid and has a poisonous atmosphere so there would be a need to take every ounce of air and water required for the whole trip even if recycling was good..
Furthermore, the explorers of old didn't launch themselves on a journey into the unknown with a high probability of no return without first trying things out in more familiar and friendly local waters.
It's relatively easy to get a spacecraft down onto a planet. You can fall mos of the way. You just have to be travelling slowly enough that the last few feet are not a problem. Getting up off the planet later is however an enormous challenge.

A mission to Ceres in the asteroid belt would pose far fewer problems however. Ceres has water in the form of ice and so air, fuel and drinking water would be far less of an issue. Even rocket fuel can be manufactured by electrolysis using sunlight so a mission to Ceres would require far less material to be taken with the mission and the duration of stay could be longer and simpler.

We may not discover quite so much on such a mission but it would be far more useful from the point of view of learning how to do an interplanetary voyage.

Finally, getting off Ceres at the end of the mission would be a walk in the park in comparison to trying to loft a spacecraft from the surface of Mars back to orbit safely.
I strongly recommend manned asteroid missions before manned missions to Mars or anywhere with a significantly steep climb out.

Tuesday, March 15, 2011

Seeking Julie

On Saturday March 5th 2011 My family and I went to Mont St Michel in France. It was a beautiful day and a lot of other people had dcided to take the trip also. I had remarked to my wife that there were a lot of japanese tourists around that day, stylish girls and thin young men, all having fun.

We picnicked in a walled garden near the top of the mount and my children played hide and seek in the bushes and rocks of the garden.

They were befreinded by a little Japanese girl of two or three years who came and picknicked with us, much to the amusement of her parents. The couple were a young man of European and Japanese extraction who spoke good French and a young woman in her twenties. He told me that the little girl's name was Julie, a coincidence because my own daughter's name is Julia.

They were obviously on holiday so one supposes that they returned home sometime during the last week or so. Now, I am haunted by the vision of that beautiful child and her young strong parents and I wonder what may have become of them given the awful circumstances of the recent days. I just hope that they extended their holiday or live in the south west away from tsunamis and radiation.

I would dearly love to know that they were well.

Sunday, March 06, 2011

Design tutorials

I have absolutely no artistic talent but I fervently wish that I did have.

I see the web sites and applications that are created by those designers that instinctively know how to assemble colours, images and layout into something that is intrinsically pleasing to the eye and I become purple with jealousy.

Well, like me, you may have the artistic talent of a gnat and all the creative abilities of a turtle but you'll have no excuse whatsoever for saying that you don't understand how to create a UI experience with Blend because now you can use this great site to learn step by step how to utterly fail to be talented and stylish in your UI design.


Thursday, February 03, 2011

Do not track considered harmful

Despite ones desire to remain anonymous these days it is important to keep sight of the fact that participation in any civilised society must come at the price of some loss of anonymity. In years gone by, a postal address was new and scary to some yet America's mail system was more influential than any other single factor in the stabilization of the frontier into a country. 
Having a telephone number requires a loss of anonymity that we accept even though some of us don't publish our number in a directory. We might still be reached by officials and the agents of the phone company as well as by robot random diallers. 
The Internet makes the hackles of the privacy advocate rise even more quickly, especially when the subject of tracking cookies and targeted advertising is broached.
I believe we are walking a fine line today between a vibrant, open an competittive internet and one that is far darker, closed and oppressive. Strangely, the thing that may stand in the way of vibrancy and unbounded freedom is privacy. 
Today, the internet is interesting because it makes a whole heap of money for loosely regulated businesses. Businesses that enable new technologies and new freedom of access to almost unlimited and ubiquitous information and all you have to do in return is put up with a few adverts. I don't suggest that unbridled advert targetting is a good thing but i certainly do think that if privacy stopped the advertisers fron spending then companies like Google would cease to enable free and instant access to everything possible. Without a little loss of privacy, maybe, the only people willing to share information would be our governments and we all know how much we can trust those guys to give us free and instant access to all the information we want. 
Opt in to freedom. Allow the advertsers to track your netwok usage a bit. Sure, become net savvy, limit what they know if you think its important but don't demand strict regulation or tight control from your government. Privacy is important but freedom is more-so. 

Sunday, January 16, 2011

Odd thought about PI

I was just looking at an article that suggests replacing PI with Tau which is not shocking in any way. The relationship to the circle is just a multiple of what we're used to. However, in thinking about this I thought that the reason PI and indeed Tau is such an odd number is because they are based on a single dimension rather than a geometric relation between two two-dimensional values. A radius is always the same radius whether it is thought of in two dimensions making a circle or three dimensions making a sphere. It occurs to me that the complex nature of PI is so because it has to do with the relationships of a particular value expressed in different dimensions.

Wednesday, January 12, 2011

Extra unwanted empty namespace when adding XElement

I've been scratching my head over a problem today. While writing a program to modify an XML document I discovered that adding an XElement and then writing the document out to file results in an extra and unwanted xmlns="" being output. For example:

Original XML=

<root>
 <doodaa>value</doodaa>
</root>

When we add an element to the root we get:

<root>
 <doodaa>value</doodaa>
 <wimwam xmlns="">value</wimwam>
</root>

This often upsets things which is a pain and happens when the XML document has a namespace specified somewhere.

To overcome this problem we need to ensure that the namespace of the added element is the same as that of its parent so we can interrogate the parent element and set the namespace accordingly.

In my example I just looked at the document root element but you may have a more complex scheme to cope with. The actual code I used was as follows:

XDocument doc = XDocument.Load("somestuff.xml");
string docNS=((XElement)doc.FirstNode).Name.NamespaceName;
XElement ne = new XElement(XName.Get("wimwam", docNS), false);

Now, writing out the document I get the desired effect of:

<root>
 <doodaa>value</doodaa>
 <wimwam>value</wimwam>
</root>

Sunday, January 09, 2011

Guns don't kill people

The American archetype of today is a tall blonde man shouldering his way through a doorway with an automatic pistol clenched in his doubled fist. This image seen on popular television programs, films and movie publicity posters all over the world shows an American who is impotent without his 9mm weapon in his hand.
The more this image diffuses into the consciousness of the world, the more violence we see, not only from the youth of America whose "right to bear arms" affords them easy access to the tools of death but from the other young people of the world who are too so inured to death and violence through Hollywood anaesthesia that it becomes an option to solutions that no unpolluted person might consider.
Teenage school rampages and the gunning down of persons who lead lives that place them in the public gaze is so commonplace that we are almost immune to the shock of it now. I remember the assassinations of John and Robert Kennedy. I was too young to understand but shocked all the same when my mother told me about what had happened and the world was shocked too because the rarity of the events made them exceptional.
The more we see of men peering from behind guns, the more it becomes an accepted part of
our field of view. 

Will we ever rise from the barbaric throwing of stones and stabbing with sharp sticks to solve problems and become truly civilized enough to forever leave our brutal ape heritage behind? I often admit that we are nothing more than sophisticated monkeys. Perhaps it's time to become people instead.

Friday, January 07, 2011

Visual Studio 2008 dies without error when editing XAML

I only post this because working on a client's machine recently I had a new install of Visual Studio 2008 that just disappeared whenever I tried to edit XAML files or even XSD files. This was due to a known problem with the Visual Studio editor system and some time back a hotfix was issued for the problem (KB968760).
It happens that this hotfix has been superceded several times now and in order to fix the problem Mark Wilson-Thomas from Microsoft kindly provided be with the link to the hotfix that worked. I now have my VS 2008 up and running again. If you need the fix it can be obtained from here

Thursday, January 06, 2011

WOO HOO!!!!

Been talking about this and looking forward to it for more than a decade!


http://www.bbc.co.uk/news/technology-12124887

Saturday, December 18, 2010

A window on the Drake equation

Frank Drake's famous equation for the number of detectable civilizations is based on one seriously flawed idea. That a civilization wants to be detected.

This is not a given and there may be all sorts of reasons for this. A planet populated by a prey species may have a serious problem with advertizing their presence, for example.
Thre may also be another factor, that of the digital revolution. We have discovered that analogue signal transmission is horribly wasteful of overcrowded electromagnetic radiation bandwidth. As a result, we have moved relatively swiftly towards low power, digital transmissions. Our massive radio and television transmission arials are becoming rarer as we switch to digital signals. The off planet transmission of high power signals are slowly being phased out, not because we want to hide but because analogue signals are too expensive to transmit and totally unneccessary.
In this case, the case of Earth, the high power transmission phase will last for about a hundred years. We began pumping the airwaves full of high power signals in the 1930's and it will have stopped well before 2030. Other civilizations may have made the digital leap earlier on and so will not need a high power analogue transmission phase.
This means that civilizations which have surpassed the analogue transmission phase that bleeds vast amounts of signal into space, will have to take a positive decision to transmit something visible over great distance.
Ten thousand detectable civilizations may be reduced to a half dozen who are stupid enough to advertise their positions through the use of low frequency, high power analogue signals.

Thursday, December 09, 2010

Utterly brilliant use of phone data (and a little scary)

Not often that I do nothing but post a link but here goes...

http://senseable.mit.edu/network/network&society2.html

Thursday, November 18, 2010

Metadataattribute???

The person who came up with this idea obviously hadn't had his or her coffee that morning.

The death of the post-script

One has to laugh these days at people who still insist on using the post script form in electronic communication.
When you read over letters of old, usually penned in ink with a pen dipped in an inkwell, it is easy to understand the value of being able to add a thought to the end of a laboriously constructed letter without redoing the whole thing again. Today however, the P.S form should be dead and gone because it's nothing more than an admission that the author was too lazy to use the arrow keys and put the completed tought into the context of the unfinished ones above.
Often in a movie, you will see the "deleted scenes" but no one would be idiot enough to run all the credits, sign off with the producers logo and then come back with "oh bye the way, here are two scenes that we thought would clarify scene 27 and 31a"

Tuesday, November 16, 2010

Breaking out of an iframe.

On CiteYa I wanted to provide a link from the rating wiget to the main site so that people could go see what it was all about.

I tried the usual javascript parent.document.location.href setting but that caused an error because the contents of the iframe doesn't have the rights to access the stuff int he parent page.

In the end I found that top.location.href worked a treat.

Monday, November 15, 2010

CiteYa

I am an avid science junkie and I read loads of scientific posts, papers and books that use citations as a way to validate the paper. If a work cites another then it is an acknowledgement of the original work by the author of the new work.

We live in a world where trust cannot be taken for granted. Trust must be earned and the best way to earn it is to have other people say how good your work is. When we use a hyperlink however, that trust is implied. I will go to your site and see what you have to say.

This is the moment when the popup box tells you that your computer is infected with a Trojan virus and, oh, we can scan your computer for you. It's free.....

Wouldn't it be nice to have a measure of trust for a hyperlink? One measure of course would simply be to know how many people link to that page. If loads of people have created a link, then we can assume that the content is good and follow the link.

Google of course do this. They use billions of watts of power to crawl the web, searching for links and noting where each and every one goes. This is proprietary information though and using it comes at a price. We either pay for advertising or we pay by giving away information about ourselves when we use Google.

I awoke at 2:30 in the morning, a couple of weeks ago, and thought that it would be great to have a system that gave you a measure of trust in a page before you click the link. My solution is CiteYa.com

CiteYa enables you to create a link that tells you how many others link to that same page. It can also tell you how users rate the site before you go there. It works with some simple ASP.Net and javascript and is in need of users.

The site is simple, free, easy to use and does nothing but enable you to build trust for your pages. Try it out...

http://www.citeya.com/

Cross domain scripting is a pain

I'm working on a project that has both inspired me to learn new stuff and frustrated me immensely.

The system is akin to a page rating database which enables users to give an opinion on the quality of a page. The wiget is delivered as an iframe and uses a little bit of javascript to perform the mouseover and click detection. The wiget is then supposed to send the data back to the server where the database can be updated. All this runs a treat on the local server when debugging but as soon as the code gets a sniff of the live server, the iframe has no access to the parent page so the rating of the iframe source gets updated, not the page that contains it.

Another problem which I had was to deliver a popup containing the rating information, this was messed up again by the fact that my script was unable to access the web service from which the data was to be delivered. Access denied to the XmlHttp object.

I have solved part of the problem by delivering the popup information as an image, The way to deliver user ratings back from the inside of an iframe however still escapes me.

Any suggestions?

Tuesday, November 09, 2010

If a job's worth doing...

Years ago, there used to be a saying; "If a job's worth doing it's worth doing well"
A tradesman was judged and employed according to his skill and quality of work. Today however, in the disposable "made in China" world in which we live, quantity at low cost has become the norm and quality that you enjoy because you pay well for a job well done, is a thing of the past.
As I go through my working day I hear the phrase "quick win" more and more. Unfortunately, the idea of a quick win is more about "how can we make it look like we didn't screw up" than it is about improving the code.
Computer programming is not a craft, like blacksmithing is a craft. Programming is an art, like painting or like musical composition. A program must be carefully designed to be pleasing to the user and to use the resources, the C.P.U, memory and network bandwidth in a sympathetic manner.
If you attack the artist's canvas with a paint roller and a hammer you are unlikely to end up with a work of art. If you start the project with an eye to composition and attention to detail and aesthetics you are more likely to have a work of art that has no need of a "quick win"

Monday, November 08, 2010

Fixed the supportsearch page

Conversion to ASPX wasn't a good idea for some pages. My support search page which some of my users kindly use for their google searches was busted.

Its now fixted.

Sunday, November 07, 2010

Mac crashes more.

Well, after all these years of listening to Mac users tell me I was an idiot for even thinking of buying or learning to prograam a PC I can say with my hand on my heart that the Mac crashes more than the PC.

I bought a Mac Mini about 18 months ago and, I admit, I like it. It is however not easier to use than the PC, In fact I find it downright pig headed but that may be just because I am so used to Windows. I can say however that the software is uneccesarily expensive, the range of stuff available for it is poor and it certainly crashes more than all of my Windows PC's put together.

Worst of all the thing keeps locking up in Apple software, not even third party apps. It is sat here now next to my PC with its lovely little rainbow cursor running and a totally unresponsive iTunes running.

I don't even know if there is a process killer or if I have to reboot...

Friday, November 05, 2010

Conversations with a doctor

Imagine this situation: A woman goes to her doctor and tells him that her leg hurts. She explains that she's a professional athlete and running and jumping became difficult just after she fell down some stairs.
The doctor gives her a thorough examination and is horrified to find that her leg is badly broken, has been for a few days and is likely to cause her really serious problems if it doesn't get fixed straight away.
The doctor explains that the bone needs to be set, the leg immobilised and a plaster put on the leg for anywhere between six to eight weeks.
In response, the woman gets up, hops around the room, grimacing a bit with pain, but saying all the time that she is fine and that there is no way she could possibly have a plaster as she was so busy with her job and a plaster would really get in the way on the hurdles track. She refuses treatment and in a week, dies of septicaemia brought about by a bone infection.

Of course, this is something that would be very unlikely to happen. A woman in this situation would be physically unable to walk with a broken femur and she would be grateful to the doctor for any help that he might be able to provide. Unfortunately, the relationship between the software architect and the client is often very similar to that of the lady and the doctor in the story you’ve just read.

As an architect, I have seen more than one example of this scenario. After being called in to consult on a job and after having advised the client of serious problems with the state of health of the software, the client decides that hopping around is easier than fixing the problem. One company in Surrey (in the UK) for which I explained that the problems in their architecture would end up costing them more in maintenance than they could afford in development, went bust because they were unable to continue due to maintenance costs and the haemorrhage of unhappy developers who quickly went to look for other jobs when the boss of the company put more and more pressure on them to deliver what was effectively impossible.

Sometimes the patient is simply not qualified to make a good diagnosis of their own illness. A company that has pressure to deliver product may believe that the status quo is more desirable than the risk of change. If you fall down stairs and you can’t walk anymore, go see a doctor and take his advice. If your software isn’t working, is costing you more to maintain than it does to upgrade, go see a good software architect and take his advice.


Thursday, November 04, 2010

Silverlight and Mr. Muglia

I have spoken to several friends who work for MS and they all said that it was all news to them too,
I have been reassured by one friend, who is in a good position to know, that all is cool and there is nothing to worry about.
I guess the moral of the story is that some people should never give an interview without someone first approving the script.



Tuesday, November 02, 2010

Muglia back-pedals on Silverlight. Too late?

There are sometimes when I loathe ZDNet's approach as they seem to be very anti Microsoft but there are others when I think that they are the only people who can really find out what's going on.

In an inteview with Mary Jo Foley, Bob Muglia reduced Silverlight to the development system for Windows Phone 7, angering developers, myself amongst them, who have listened to the hype over the Silverlight, browser, desktop, cross-platform for several years now and have comitted to following the line laid out by Microsoft by investing in that technology.

Many years ago, after speaking to top level program managers within Microsoft, I believed that the only reason virtual machine technologies existed, particularly those that enabled delivery of Windows CE applications to hand-held machines that ran a variety of processors, was specifically for enabling standardised Windows programming across all devices. I waited in vain for this to come to fruition because I truly believe that to have a virtual machine system capable of running the same p-code on all devices would be a fantastic solidifier for an industry that has too many diverse standards.

Recently, with Silverlight I had begun to believe again in the possibility of a unified developer platform that could adapt seamlessley to many, or any, form factors and devices. Now, with this latest development I can see another period of wandering in the wilderness looking for some sign of sanity from what seems to be an insane guide.

Microsoft pulled a similar stunt on the Windows CE developer community back then, virtually dropping Windows CE, reducing it to a minor player and now they're back to the same old tricks.

People at high level, Like Muglia and Ballmer don't say this stuff off the tops of their heads and retract it because it was an unfortunate mistake. You can bet that this has been on the table for a long time inside Redmond and that talking about it in this way has become so second nature that Bob Muglia never even thought it would be a problem when he spoke about it.

I know of front line silverlight applications that companies have, and still are investing millions of Euros in which will be in some doubt after this statement. It's one thing for a company to change strategy on an immature product and, despite Silverlight's relative youth in the marketplace, it is after all a version 4 product with a large amount of promises and "trust us, this is the future, believe in it" messages having come from Microsoft.

This is a problem that destroys trust and causes immense turmoil that Microsoft doesn't seem to care about. As an architect I feel a responsibility to guide my clients down a road that is beneficial to them. I need to be able to trust Microsoft to deliver on promises. In the case of Silverlight I had been reticent to push clients towards it until version 3. Recently however I have been looking at the possibilities of using it for some seriously important applications but now, I predict another struggle trying to persuade conservative IT departments in two or three companies to even allow a sniff of Silverlight code into their applications.

Way to go Bob!

Sunday, October 31, 2010

Silverlight Slideshow control

The full source code for the Silverlight slideshow control and the explanation of how to pass parameters from an ASP.Net site to a silverlight control enbedded on the page is explained in this article You can download from the bottom of the page.
Enjoy!

Friday, October 29, 2010

Silverlight slide show control.

I wanted to provide something akin to a powerpoint presentation on a page today so I thought of a simple Silverlight control that takes an XML file and provides images and captions. I'll post the code on my site.
Take a look...

Page of shame

I had a great thought... For spammers who insist on contacting me via my contacts pages and offering me one time only 50% money off extra special deals on paid directed traffic etc. etc. I will put their e-mail address on a page that robots can harvest. Muhaahaahaahaa...

Thursday, October 28, 2010

The best quote ever?

Of Keith Richards: He's got a face like a prune's wallet.

Wednesday, October 27, 2010

Creating properties for list objects? Don't use a setter.

Browsing code today I noticed a potential problem that can cause horrible consequenses if not fixed.

An object exposes a list like so:

public List<Wimwam>Wimwams{get;set;}

which may seem to be quite normal until you look again a the the implications of the property. Here, it is the content of the property being set, namely the collection object itself! This means that it is perfectly possible for a class to fill this list carefully and then have some outside actor change the list under it's nose. This clearly breaks the rules of encapsulation and is a potentially serious bug.

That collection property should in fact be read-only. That is to say that the list itself is not read only but the property to obtain that list should only provide a getter.

The correct way to create the class and the list would be as follows:

public class Doodaa
{
    private List<Wimwam> _wimwams = new List<Wimwam>();

    public List<Wimwam> Wimwams{get{return _wimwams;}}
}

In this way, the class encapsulates the list in such a way that the reference to the list object cannot be changed. The contents of the list therefore remain under the ownership of the class.

Tuesday, October 26, 2010

Arduino Visual Micro addin for Visual Studio

Visual Micro has done some great work helping to integrate Arduino development into the Visual Studio IDE with a really cool addin. I must say that I absolutely love this kind of tool that brings an esoteric and quirky programming system to a mainstream audience.

There is one little problem with the addin inasmuch as it was built for a thirty two bit OS. I have Windows 7 64 bit installed so my directory layout is a bit different. I modified the addin such that it loads the DLL from the standard install directory on my 64 bit system.

The updated addin code can be downloaded from my site. I will of course send it to Visual Micro too who can keep up that fantastic work!!!

More on the awfulness of Safari

I posted earlier (yesterday? it all seems so far away) about what a useless result Safari gave when used to view an ASP.Net web site. Just as an experiment I went over to my site stats and looked at the browser and operating system stats for the various sites I manage. I was more than a little surprised, although I can't imagine why I suppose, to see that whereas Apple operating systems constitute a small percentage of users who view the sites, of those fewer than fifty percent of those people actually use the Safari browser!

That is truly an inditement of that miserable excuse for a browser. What makes me laugh too is the way Apple have tried to push it along with iTunes to PC systems all over the place. I guess that quality really does matter eh?

On Mac systems it seems that Firefox, Chrome and Opera do quite well. I haven't tried Chrome on ASP.Net yet. Hmmmm... Despite the motto of "Don't be evil" I still hear a faint Muhaahaahaa in the background whenever I think of Google so I haven't had the courage to install Chrome yet.

Architecture Matters blog

This blog has been an adjunct to my web site I suppose. The reason it exists is because I was too lazy to write a blog engine of my own, a task that I started but never finished due to pressures of the day job, and the fact that this all integrates so nicely with my mobile lifestyle.

As you know, Even though I do an amount of technical stuff here and it is after-all an MVP blog, I sometimes get sidetracked by personal interests and so, the content here is mixed.

My day job is taking on a new significance these days. I am still working, at least part time, in the banking and finance sector doing work for a big bank in France but I have seen a resurgence in other requests from clients around the world through my company, Daraize Technologies, where I am C.T.O.

As a result of this and the desire to create a technology only blog I have asked our webmaster to add a link to a new blog I will be working on, The Architecture Matters Blog.

The idea is to create a regular series of articles dedicated to the diverse subjects of software architecture as a big picture subject.

You may be interested to look at it yourself.

A little late...

Looking back at Ray Ozzie's tenure as Chief Architect at Microsoft one wonders just what it was all about. Bill Gates, although being the definition of the word nerd and the worlds uber geek was outspoken, opinionated, interesting and a great ambassador for his company. Something that I cannot say about Mr Ozzie. His blog has just been updated with it's second post in five years. Admittedly, he says some interesting things but really, how in the heck can someone in such a position be so quiet?

Live person verification

I just added a quick article on doing capcha style live person verification.

Google really needs a meta hint tag...

I find Google ad placement increasingly annoying as the advertisement delivery seems not to be at-all in keeping with the site content on my pages or on the blogs.
More often than not I have technical articles and posts which would benefit from ad placement pertaining to the subject. For example someone reading a technical blog might actually be more interested in buying software components online than ordering a pretty Fillipina girlfriend. (well, you're supposed to be at work after-all)
Google would therefore benefit a great deal by enabling subject hinting on the sites that would allow a webmaster to target a proportion of the ads for a certein genre and which they could then "pad out" with the other inconsequential and ridiculous bla bla that they seem to be serving these days.

Spam really can be controlled!

I have been an active participant online for twenty years now and interestingly I receive little or no spam mail despite having a reasonably high profile inasmuch as bots that harvest e-mail addresses have plenty of access to my posts and blogs.
I think that a major contributing factor to my low spam count is that I use my own domain name and refuse to use Hotmail, Google or Yahoo etc for mail.
I run my mail server on Godaddy's secureserver which itself has a spam filter that catches 90% of Nigerian 411 spans and Viagra adverts and the remaining immunity I can only attribute to my use of an obfuscated mail address for forum posts in which I use @_spamtrap_bobpowell.net which a live person could easily fix and which robots seem too stupid for still.
Finally, the contact page on my site has a simple "capcha" system that I created to do live person verification. The result is that I probably get 3 spam e-mails per day.
I would kindly ask that you wags out there like my pal Ricky etc do not go subscribing me to every list available. :-)




Windows Phone 7

Will kick Apples butt if Steve Jobs doesn't recover from his severe recto-cranial inversion and allow Flash and Silverlight onto iPhone and iPad.

Surprisingly, Safari on the iPhone handles the site I mentioned in an earlier post much better, although it still had a problem with font sizes and pagination, but without active content the effect is lost.

I'd love to see Microsoft hire the quick pwn boys to create a jailbreak install for Phone 7 that ran on the Apple hardware.


Monday, October 25, 2010

Opera does it right too!

Just tested the same site in the Opera browser. It works a treat, Even ran the Silverlight without a hitch.
What use is Safari??

BlogEngine

Going nuts today trying to integrate BlogEngine.Net into a site.
A nice drop-in blog component would be great.
Life is never easy it seems.

ASP.Net and Safari. Not good bedfellows.

I've been working on an ASP.Net website this weekend. It's just a simple site with a few pages but it uses ASP.Net menu components to provide the page navigation. I tested it on a PC with both IE and Firefox. The site looks as good as I expected it to.
Just as an afterthought I tried the site from my Mac using Safari. The result was not at all optimal.
Menus and breadcrumb trails lost their colour mouseover elements and the font sizes were not at all respected.
Apple... could do better it seems.

Friday, October 22, 2010

So, gravity is stronger than a vacuum.

The results from LCROSS are in and... The moon is not a useless lump of uninteresting regolith after all.
The moon is smothered in resources from Ammonia to Xenon all frozen or chemically bound in compounds found on the surface. There is water too, in quantities that make living on the moon and wanting for little a very tantalizing prospect.
Elon Musk has the right idea by investing in space. Governments are too concerned with elections to take risks or make mistakes. Private enterprise is the only way for space to be exploited properly. If anyone has a job for an old programmer on the moon, let me know ASAP.

Thursday, October 21, 2010

Tiny what?

Ha ha. My tinyurl is longer than my real one.


Wednesday, October 20, 2010

Is Sarkozy the new Thatcher?

I don't often talk politics but the situation in France is really getting to me so here goes.
In the 1980's and early 1990's I lived in England under the reign of Margaret Thatcher and her right wing government. Over the space of my youth until adulthood, the right wing managed to turn a proud country into a nation of downtrodden sychophants who accept that the poor should be made poorer and the rich made richer and that public opinion should be squashed by force.
Thatchers utter destruction of unions followed by the putting in place of safeguards to enable many forms of public assembly to be tightly controlled -even brutally put down- and the consequent construction of a CCTV surveillance system that communist China would be proud of has served to keep the populace in line, even through the supposedly socialist government that followed it.
In 1993 I voted with my feet after the British people voted conservative again and elected John Major to deal out more punishment and to ride roughshod over ordinary folk, of whom I was one. One reason I came to France was because I loved the way ordinary people were still able to express displeasure at the government and how, if elected officials didn't make some compromise, a good demonstration, followed by a bit of civil disobedience and maybe a lorry load of cow crap in the local council office lobby soon put things right.
Today however, Sarkozy is behaving in a more and more right wing manner. The virtual pogrom against Romany people was something one might expect to hear of from middle european countries, not France. Now, quashing unarmed public demonstrations and blockades of fuel with what are effectively SWAT teams makes the appearance of a "conservative" government look more and more like a fascist state.
The social security and pension system in France takes vast chunks of money from wage earners. With employers contributions, the cost of a wage is almost twice the takehome pay and that doesn't include any eventual income taxes that might be paid. French people live for and plan for their "Retraite" and to raise the pension limit will cause problems.
I will be honest and say that I hope the French people can hold out against Sarkozy's brand of Thatcherism and remain a free and proud people who are able to give their elected officials the finger from time to time. Vive La France!

Tuesday, October 19, 2010

Sunday, October 17, 2010

Hiker killed by mountain goat

While the ignominy of such a death may be shocking to the poor victim and his family, for whom I have the utmost sympathy, one wonders why a magnificent wild beast should be killed because it poses a risk to hikers who have the temerity to infringe upon it's domain.
Hiking is, after all, a way to get closer to nature and, despite the childrens picture book view of real life that we seem to adhere to these days, nature is wild, rugged and often savage.
If someone strays into the domain of a Lion or Tiger and is eaten for his stupidity people are not surprised but, when the agressor is a lowly goat people are horrified. Herbivores are quite capable of defending themselves and their territory. They are used to dealng with savage tooth and claw predators to survive. They should not be underestimated.

Thursday, October 14, 2010

Downtime

So, My site has been inoperative for the longest time in ten years, due to Visual Studio 2010's apparent inability to publish to an FTP site without crashing.
I am currently uploading via FTP using a direct client but effectively, since Tuesday night, BobPowell.Net has been dead in the water.
Note to MS. Could do better!

Tuesday, October 12, 2010

Website broke

Oops. Thanks to all of you who mailed me so quickly to tell me the site is broken. I am working on it and will upload again ASAP.

I think this problem stems from my upload being interrupted.


A tool to convert .HTM files to ASPX

Well, it may be a little late but if you read my latest article in my ASP.Net section of my site you'll see why a certain reluctance to make this change came about.
It has always been a laborious task to make such a change, especially if you want to apply some sort of master page strategy to the HTML pages on the site.
Being a lazy person at heart, rather than do the job with repetitive and boring hands-on editing I have created a little utility program that can convert all the .htm pages on a site to ASPX while applying a master page if required.
I ran this on my own site and it seems to be OK, at least for my purposes. I still need to tidy some pages but the bulk of the work was done automatically. Just right for a lazy old duffer like me.

Windows Phone 7 SDK

I reported last week that the Windows Phone 7 SDK includes Visual Studio 2010 express. This is true, the downloader will get those components from the server when you run the web-based download. It is also true however that if one already has Visual Studio 2010 installed, as I have with the Ultimate edition, the installer does not setup the VS2010 part.

This is reassuring but, for people who still have limited bandwidth this may be a problem. Last week I was downloading via my tethered iPhone so I cancelled quickly.

I just installed the SDK on my desktop machine over the DSL line so it was less painful.

Thursday, October 07, 2010

Hungarian Sludge.

I used to have a calculator that used reverse Hungarian notation. I loaned it to a pretty girl once and she never spoke to me again. The idea of Hungarian sludge has impinges upon my consciousness and may be as hard to remove as the real thing.


Splash.. the saga continues

Well, I wonder if the scientists who published the idea that Saturn's rings were created by a moon or large asteroid falling into saturn were inspired by my blog post?
Hey, remember you saw it here first. The'yre handing out Nobel prizes at the moment, perhaps I can pick up the astro-physics prize ;-))

Windows phone 7 developer tools...AARRGGHH

Just checking out Scottgu's blog and noticed the link for Windows phone 7 dev tools.
They immediately try to download Visual Studio 2010 express.
This is obviously a no no if one already has 2010 ultimate installed.

New life for an old laptop

Some years ago I bought myself a lightweight laptop that I thought would be good when commuting or travelling on business. As it turned out, the Phillips machine was actually pretty useless with a short battery life and a bit slow.
Recently, I took up the commuting lifestyle again but I took the plunge and wiped the laptop, installing a 64 bit Windows 7 Ultimate OS on it. It's a diferent machine! it's fast, shuts down quickl, boots up quickly, resumes from hibernation reliably and is generally usable after years of me complaining about it.
(The battery life is still useless but I may buy a new battery because this one is obviously tired)

Congratulations to Microsoft for getting Windows 7 right!

Tuesday, October 05, 2010

Software technology patents are BOGUS

Patents are a great thing when they cover some innovative mechanical process that is not obvious in nature. They can also be a great thing for certain algorithmic processes if that algorithm took a lot of thought and work to come up with. Patents that cover the positions of pixels on a screen however are totally bogus. Todays news about Apple being liable to pay 600 million dollars for the infringement of patents that describe Cover Flow etc are ridiculous!
In the same way that patents which might cover a certain sequence of my D.N.A, patents which ultimately concern the colour of certain pixels on a screen are totally frivolous. Compettition to greate great UI is a great goal for designers of good software but to patent the positioning of a button or the method of a user interface is too much.

Facebook "Like" button as an ASP.Net control

Fiddling with my site today I decided to create a master page with a Facebook "Like" button on it. This turned out to be harder than I thought because the Facebook developer site spits out a dedicated iFrame for the page URL you enter.
I thought to myself that a simple ASP.Net user control could be the solution so I went ahead and wrote one.
Check it out! http://www.bobpowell.net/likebutton.aspx

Monday, September 27, 2010

Quantum Physics. A hiding to nothing.

Imagine a computer program that wanted to analyse itself to the most fundamental level. By knowing its own source code, then relating that to the instructions created by the compiler, a level of insight might be gained.
A more complex program might be able to deduce the structure of registers and maybe even something about the internal workings of the processor and make a fairly good guess at deeper aspects of the system.
Unfortunately, a quantum analysis of a "bit" within a word cannot reveal the structure of a transistor or the type of substrate upon which the transistor is constructed.
Quarks, Leptons and Bosons all make up the base classes of our universe. However, even though we may be able to analyse them. How can we be aware of the "transistors" upon which they are expressed?

Saturday, September 04, 2010

Splash

Odd, how inspiration can come from the most mundane sources. I was looking at the screen savers on a Windows XP box the other day and realised that the screen saver with the OpenGL "tambourine" onto which something drops, causing a splash could be the model for the formation of Saturn's rings.
One could imagine that a liquid body such as a gas giant planet could ring like a bell with shock waves that travelled all around the planet and back to the point of origin such that a splash of planet material might be ejected back into space.
A little angular momentum due to spin and the planet moving on it's course around the sun would spread the ejected material along it's orbit enough to create a ring.
I appeal to Sony for 32 Playstation 3 boxes so I can number crunch the math and write a paper.


Thursday, July 29, 2010

Visual Studio tests and punctuation in project paths

A modern file system is a friendly thing. We can use all manner of characters, such as punctuation, in the file and folder names. This makes the path easier to read an provides a nicer experience for those of us that appreciate good grammar on our desktops.

I, for example, often name folders for myself or for clients so a folder named "Bob's stuff" or "Dave's projects" would not be uncommon.

If however you associate unit test suites with these projects an exception will be thrown by the test execution system complaining about illegal characters in the path.

To avoid this, and because I did not want to be forced to rename directories that had other relationships in then, I discovered that the use of the good old DOS subst command could provide a drive letter for the offending folder and allow tests to run.

It should be noted that this problem no longer exists in Visual Studio 2010 but for anyone still running on 2008 this little trick can be a life saver.



Monday, July 26, 2010

Manhattan bar charts

The term "Manhattan" used in reference to 3D bar charts has been around for a number of years. Since 1996 in fact when I coined the title for the 3D charts I wrote for Stingray Software's Objective Chart product. Sadly, Stingray was swallowed up by Rogue Wave and the chart product died shortly after. I know that Rogue Wave still sell it but it's C++ code that is a decade old and thoroughly out of date these days.
Anyway, I'd just like to thank the likes of Nevron and DevExpress for using the title. It brings me good memories.


Sunday, July 25, 2010

The Jazz saga continues...

My Honda Jazz (Honda Fit un the U.S.A) has always been frugal with its fuel consumption and I always wondered just how far one could drive when the little "Empty" light on the fuel guage lit up. Well, this weekend I tested it by driving my usual hypermiling style but when the fuel light came on, I just kept on driving.

In the end the Jazz maintained 4.5 litres per 100 kilometers and drove 188 klicks, that's 116 miles in old money, before it spluttered to a halt. Honda-RESPECT!

Sunday, June 27, 2010

Still pleased with Brinkster

I have had a web site hosting agreement with Brinkster for many years now. They have continued to improve their systems over the years and I have just finished a couple of days of changes to make my bobpowell.net site a bit more modern and easy to update.
I must say that using the new Brinkster file manager is a joy and it works quickly and reliably while updating the files that need changing.
Even though I use GoDaddy for my various other sites, I will keep Brinkster for my "mission critical" site because they are just brilliant!

Thursday, June 24, 2010

Is Amazon's associates program utterly useless?

I have had an associate program ID for several years and despite having many thousands of hits per day on my site I never -ever- make a cent from the associates program.

Google pays for clicks and I regularly get cheques from them, which I must admit I don't cash. (They probably really owe me several thousand bucks... ) but as far as I am concerned, Amazon is no good at all.

I guess anyone who visits my site has already got all the books they need.

Sunday, June 13, 2010

More Honda Jazz miles per gallon results

I took my daughter to her horse riding exam today. A round trip of 367.6 kilometres. The reported litres per 100 kilometres was 4.2. This must have been a good 4.2 because it was still at that level after the drive back through the 'burbs to home so I reckon more like 4.1-4.2.
So, for a total of 228.416 miles, the fuel consumption was 15.43 litres or 3.396 imperial gallons.

This makes my fuel consumption 67.2 miles per gallon!

Saturday, June 12, 2010

GetTemplateChild vs FindName

While creating a WPF control I searched for GetTemplateChild only to find that the help file says "Do not use. Use FindName instead".

Well, being a good developer used to following advice, I did just that and my control stopped working immediately.

I think in reality the help file should say use FindName unless you're trying to find a PART in your own custom control then you should definitely use GetTemplateChild.

Thursday, June 03, 2010

Comments on this blog

I was unaware but the comment system on this blog seems to have been usurped by one which asks you to register by adding the email addresses of ten friends. Sorry about that. I will change it the first opportunity I get.


Thursday, May 06, 2010

Where's my flying car?

Is a modern day complaint. Where are the sci-fi devices that the futurologists of the last century promised us?
Well, the telephone in my pocket holds more information than two million Sinclair Spectrum computers. It holds the text equivalent of fifty thousand 500 page novels.
To be honest. The idea that I could carry the entire library of Alexandria in my shirt pocket is way more impressive than something as brute-force as a flying car.

Monday, May 03, 2010

Grandad

Grand-child #3, Jasper Powell born May 1st 2010
The dynasty grows!

Technical hitch might be good?

So, what happens when a digger cuts your telephone cable and chops off your DSL?

Obviously, you tether your iPhone to the 3G network and share it from your trusty Mac to all the PC's in the house!

Given that I am more than 6 klicks from the DSLAM and my DSL sucks (see previous posts) I wonder if it isn't worth leaving things that way?

Monday, April 26, 2010

Hawking has finally lost the plot!

Stephen Hawking might be a brilliant mathematician, he might understand the cosmos enough to be able to visualise what goes on inside a black hole but the evidence of todays announcement shows that he shouldn't be allowed to give an opinion without some idiot filters in place.
His declaration of the existence of alien life and it's possible or probable hostility is so incredibly irresponsible that it beggars belief that someone hasn't pulled the plug on his voice box!.
Firstly, the world is full of people who will be gullible enough to listen to this rubbish. The press has splurged it in the papers and on the web and to anyone who might take Hawking as an authority on such matters could imagine that we are in imminent danger of invasion from an awful alien menace bent on stealing our metals and impregnating our women.
Secondly, there are so many reasons why what he suggests is complete hogwash that anyone with a modicum of sense would see that this is nothing more than the ramblings of a chap who doesn't get out enough!
Just ask yourself this. If dangerous alien races are so common and interstellar travel is so easy why are we not overrun by aliens? The fact is that its really really hard to travel from star to star and no one would do it without vast incentives.
This leads us to what might incentivise aliens to come all the way here to rob us. What could they want? Water?, air? metal?, oils and hydrocarbons?, diamonds?, gold?
All of these things are available in truly vast quantities right out there in space. What's more, they are cheaper to obtain if they dont have to mine the stuff and drag it up out of a gravity well too!
When you cut to the chase and think of the only things that aliens might want from us they boil down to two things. Creativity and manpower.
They won't need our knowledge of physics because they would already know more than us just by the fact that they could get here. The only other creativity would be our literature and art which might hold a great price on the interstellar market.
If they only want us for our manpower then that too would be a good thing because the human race needs to break the bounds of the earth just to get a sniff at the aforementioned vast resources that are out there for the taking but as idiot governments run by idiot risk averse lawyers are shutting down space programs right and left these days then its likely that the best we can hope for is to hitch a ride with the Vogons. If they stole the whole human race to use as slaves we would eventually escape in small numbers and breed enough to fill the galaxy on the back of their technology. BRING IT ON!!

Monday, March 15, 2010

User controls suck.

I have rcently had occasion to go back to developing windows forms wigets and have reaffirmed my opinion that the UserControl model is a huge mistake for anything other than a one-off solution to a simple problem.
There are many problems with the model. First, the principle of polymorphism in a UserControl is utterly destroyed by the use of events within the user control. As soon as a UC has an initializecomponent that has event subscriptions then it is impossible to derive from the UC in any meaningful way because certain behaviours are set in stone and may not later be modified.
Another problem is the lazy way aggregation of function is treated by developers who utterly miss the boat with simple principles. An example being a job I'm working on now to replace a UC that is designed to emulate the function of a combobox with a datagrid in the dropdown.
This type of aggregation is uneccesary when we go back to the base functionality of the combobox and use the system of messages and overrides to create a real combobox that hosts something other than a lame listbox in the dropdown.
Even when dealing with Windows Forms the immediate reflex seems to be look at as high a level solution as possible and to ignore the underlying elegance of the system.

Sunday, March 14, 2010

The mobile programmer

I am currently sitting in the back of my Land Rover waiting for my daughter who is riding in a show jumping competition.

I have an old UPS which I have silenced by ripping out the beeper, a car battery and my iPhone connected to my laptop.

I am currently getting better internet than I get at home. (See my previous post on how France Telecom is the worst provider in the world)

I should do this more often.

Tuesday, March 02, 2010

Hypermiling

Earlier in this blog I mentioned my Homda Jazz car and the fuel consumption figures attainable from the petrol fuelled motor.
In my recent trips made over the 300 kilometers between my work in Paris and Brittany where I manage a small property development company I have been using some easy to learn techniques to improve milage.
First, I try to accelerate gently and to get into top gear as soon as road speed permits the engine to work smoothly. On the Jazz this can be as slow as 40 KmH on the flat.
Secondly, I try to drive without using brakes. This means guessing distances and momentum to allow me to roll to a stop or to slow in traffic naturally.
Thirdly I coast where possible. Downhill is free! Coasting in neutral to save the clutch too.
Fourthly, I switch off the engine where possible. When coasting I switch off and restart just by selecting fifth gear. At lights I hit the key to start.
Lastly I check tyre pressures and keep them set right. I think that overinflating would damage tyres enough to offset the savings of careful driving.
As a consequence on a run this weekend I obtained 4.5 litres per 100 kilometers. I fit the drive in the time predicted by the GPS. Not slowly and hitting the limit on motorway stretches. That means 62.77 milled per gallon from a petrol engined non hybrid family car.

Saturday, February 20, 2010

Is it a pattern?

I have noticed a trend in application design, one which I suppose became obvious some years ago when I really became interested in the use of reflection and the advantages of metadata in the form of attributes used at design time.

I was busy with a project for a financial sector client and had to come up with applications that were able to edit really complex data types but do it in a way that was easy for a developer to reuse in an application. At the time I was doing a lot of .Net design time work so my awareness of attributes such as TypeConverterAttribute and EditorAttribute came in handy. I also developed my own attributes to be used in presentation layer stuff and found that the idea of creating a tiny helper class that was instantiated when required, used and let go again was a recurruing theme. For example, when properties are read for databinding, the TypeConverter for the data type will be invoked and I found that I applied the same model to many other things in my applications.

Now I see the same trend in WPF for example when its so simple to write a tiny bit of code which is instantiated in the static resources and used to provide useful calculation, binding or conversion routines. As an application designer and, as I see this as a pattern, I wonder if there is really room for a formal "Granular instance" pattern and if it becomes worthy of mention.

Friday, February 12, 2010

Styles and storyboards in code


Today I have been playing wit some WPF to emulate the idea of the Mac dock in a scrollview that shows pictures.
I thought I would use a mixture of XAML and code to create storyboards that expand an image when the mouse is over it and reduces it again once it leaves.
For this I created a single style, programmatcally filling the EntryAction and ExitActiion for the trigger.
This all worked fine until I tried to cope with a resize. First I noticed that my effects ran slower as I resized. Obviously I had added and compounded the storyboards such that there were many being triggered at once. Upon trying to remove them I found that animations get "Sealed" and can no longer be changed. As this is interesting I think i'll do a wee article on it.
I had a discussion with a friend the other day who said that WPF still seems to be difficult for use in desktop line of business apps. My current investigation is in some way related to that idea because I think that with judicious use of code and XAML much more is possible.



Wednesday, February 10, 2010

Climate madness

I swear I just saw a glacier shoot past my window and take the roof off the house next door!

Thursday, January 28, 2010

But unfortunately...

IPad has no camera! It should have two. One for videoconference and one for images and movies.

It has no slot for a flash memory! that's just dumb.

Ah well. Wait for V2 I guess.


iPad


Well, no big surprise really. I would never have bought a Kindle but the quasi-A4 format of the iPad makes it interesting as a book reader. I find that I use the iPhone a lot for reading books on the Stanza application. It's main drawback in this mode is the uselessness for reading technical books that may have illustrations or code. iPad will be good for that.

I would hope that the screen is more robust than it looks. My iPhone has pixels missing and the chances of flexing an iPhone screen are far less than one of nine inches diagonal.

I guess that, aside from my attraction to all things geek, my main interest will be to develop applications for it. My wife said this morning that it opens up a lot of possibilities for new uses. I think that devices like this would benefit from having other sensors too. Ok, a compass and GPS are cool but imagine it with an infra red camera, ultrasound emitter and detector and a ruggedized version. You're talking tricorder here.

Pity that the thing uses an apple processor. An intel one would have made more sense. It'd be a great platform for Windows 7 multitouch. Ahh well. Maybe the fom factor will become sexy enough for Acer to do a copycat device with a PC architecture. For now I'll have to content myself with MonoTouch on iPad.

I like the idea that th 3G capable model will not be locked. I guess that it breaks the bounds of the mobile phone model enough that they don't have to cowtow to the phone operators or make exclusive contract deals.

I'm sitting on a train right now and I can see many other passengers who have iPhones. I wonder how they will look in a year?


Tuesday, January 19, 2010

In support of Internet Explorer

I have lived and worked in that strange country, the Internet, since, well, since before it was the Internet really. I began my days online during the era of Compuserve in the 1980's so I think I can say I have run the full gamut of experience in the feild.

Today, I have what I see as a particularly balanced view because I have use for, and use almost every day, a number of browsers. On my machines, which include Windows, Mac and Linux boxes I have IE, Firefox, Opera and Safari browsers as well as the browser built in to a couple of little Linux based netbooks I have around the place. They all have strong points and weak points in style and usability but generally, they all do pretty much the same thing. None of them however, have the sheer weight of user numbers that Internet Explorer has.

In recent days I have seen warnings issued by German and now French governments saying that Internet Explorer is dangerous and not reccommended for use and that they urge people to use Firefox or some other browser instead. Seriously. What the heck is a government doing even thinking about this kind of thing? They tout free market compettition to the world and then when product A does well, they slap a monopolies or anti-trust suit on it.

I know why Internet Explorer has a bad reputation in France. It's because the French in general, and I live in France so I know wherof I speak, are obsessed with paperwork and process and are very, very conservative in almost all subjects. Internet Explorer has a bad reputation in France because the large businesses and the government agencies have I.T departments that all like to preserve their working status-quo and who like to justify their existence by producing more barriers to change in the name of security and safety. False barriers I might add.

In the past I worked for one of Europe's largest banks. Their I.T department mandates the use of IE 6 because they say that they haven't had chance to test IE 7 let alone IE 8 yet so these latter two, being unknown quantities, are deemed to be unsafe. They also refuse Microsoft automatic updates.

In computer terms, this is the equivalent of refusing to drive a modern car with antilock brakes and airbags because these are operated by magical means and might voodoo away one's soul so we'll keep on driving our Ford Fairlane thanks very much.

Internet Explorer is the target of more attacks because they have more market share and a bad guy wants to affect as many people as possible. This is why there are no viruses for Apple computers. They are quite simply not a viable payload target. If Firefox had more share than IE, we would see more security warnings for Firefox and the French and Germans would start whining again about them, telling us to use something else.

I use Internet Explorer 8, I use Microsoft Security Essentials and I have zero complaints.

Wednesday, January 13, 2010

France Telecom are the worst ISP in the world


This is what I get on a 30 euro per month contract with "speeds up to 18 megabits"
I'm not sure but this used to be called extortion or fraud or something like that.

Monday, January 11, 2010

The patent process is fundamentally flawed

A patent is a way of telling the world that you had a great idea first. They work just fine in most cases but the big problem with ideas is that the patent grant must be made by an examiner who is expert in the field of the problem domain. And, as patents are often new ideas, there may be no experts other than the person who defines the patent itself.

Patents have to be non-obvious. We cannot patent the process of breathing for example, although I'm sure a healthcare company in the US is probably working on that right now. This leads me to the i4i patent which describes a method for storing word processing documents in an XML (or, if you read the patent, SGML) format.

Today, Microsoft have been forced to stop selling Word that saves in docx format because it supposedly violates the patent of i4i's document storage method but in reality, the patent should have never been granted in the first place because it does nothing more than describe a possible algorithm for storing data in an open and freely usable format. XML by definition is useful for storing absolutely any data so patents based on specific uses of the XML format are obvious and so should never have been granted in the first place.

This ruling, like so many rulings or grants on algorithmic processes, have obviously been made by persons with no domain knowledge and are completely arbitrary.

I believe that patents should be restricted to physical and tangible objects or manufacturing processes and that patents on algorithms and data codes, especially genetic ones, should be banned, relying instead on copyright law for the former and ownership of the original material for the latter.

Tuesday, December 15, 2009

Windows 7 USB blues

I have a Windows 7 x64 OS installed on my Acer x1700 quad core machine and I keep losing the external USB drives for no apparent reason. They just stop working without any error or warning.
I have seen that this has also been a problem for other people so it may be something real as opposed to just my bad luck.
I have just turned off the legacy USB support in the bios and will do some more tests to see if this made a difference. I may post here or tweet (@bobpowell1) the results...

Friday, December 11, 2009

iPhone auto brightness


This is a great feature and althouh many people say it seems to do nothing I think that it works so well that it is unobtrusively cool.

The feature takes a reading of ambient light when the phone wakes from sleep but it also periodically adjusts brightness when you go say from a dark room to a well lit one.

You can see the effect like this.

Sleep the phone and do to a dimly lit place. Wake the phone and see the screen brightness. If you then turn on a bright light or move to a mote brightly lit room then you will see the brightness increase to suit the current conditions.

The phone doesn't seem to be so keen to reduce brightness when awake but it always adjusts on waking.


Tuesday, December 08, 2009

Sus reprobo totus erudio

I have had a few requests concerning the latin motto I display so proudly on my blog.

To be honest I don't know if its the best possible translation but essentially it means...

"Pigs reject all education" or more properly in good old Isle of Wight-ese...

"You can't educate PORK"

Carduino, more from the brainstorm...

I have another idea which will be easier to implement in the short term and enable me to put together some of the systems I need to accomplish the larger task.

I want to make a CO2 economiser which will turn the car engine off and back on again when sitting in traffic.

Because the Land Rover clutch is so heavy and Paris is so full of BLOODY TRAFFIC LIGHTS!!!! I habitually shift into neutral when waiting in traffic. I also often switch the motor off entirely, especially if there is a little down grade towards the lights because I can often roll most of the way instead of sitting with the engine running.

So, I need to detect the car's speed to see if the thing is moving, I need to detect the revs to see if its at idle, I need to cut the fuel to stop the car and I need to see if I have put my foot back on the clutch so it can restart again.

For this I need a sensor for the engine revs which can come from the tacho. I need a relay on the electric solenoid diesel fuel cutoff to stop the motor and a relay for the starter motor.

I bought a couple of reed relays this week and I will start looking into the logistics.

Meanwhile, I have an app key from the nice folks over at Pachube so I can start putting a web-service on my Arduino and creating an interface.

I really want to see if the Pachube system can serve up WSDL so that I can easily write a nice application using Visual Studio 2010 directly for the web-service reference and resulting API import.

While Microsoft applications are lovely on a client or web think how much more loveley it would be to create such a tightly integrated system with a web service running a car engine!

Its so cool I'm positively shivering!

Friday, December 04, 2009

Arduino Sketch for Visual Studio 2010

Here is a link to the Arduino sketch template project for Visual Studio 2010.

Thanks to this original post on the Arduino Playground for the idea.

Project Carduino

Many years ago I was a professional electronics designer creating embedded systems for music, add ons for home computers and other good stuff. I recently bought an Arduino board to play with and intend to add computerised goodies to my car. A Land Rover Discovery 300 TDI.

A recent modification to the car was to remove the cooling fan which is belt driven and add a second hand electric fan which relieves about 8% of the engine load making the car more efficient. An important aspect of engine efficiency is good temperature control especially when towing a load, which I often do, I want to make a temperature monitor with an arduino I also regularly drive the 200+ miles from Paris to my real home in Brittany so I would love a cruise control for it which, I believe can be done with the Arduino as the brains.

I need a throttle position sensor to detect actual power settings and so the cruise control can detect if I want control back. I also want a brake sensor, tied to the brake light switch to immediately turn off the control if I brake. I need an engine speed detector connected to the tachometer or crank sensor in case I put the clutch in while the cruise control is on.

Next I need a stepper motor drive to work the throttle with a fail-safe mechanism that will release throttle control if the computer dies and which will not effect normal throttle operation. Then finally I want the whole kit and caboodle to provide a web service so I can connect it to a touch screen computer running Windows 7 and generating WPF graphics for user feedback and control

Effectively, in my spirit of "it's just a computer, integrate it!" I expect this to be a really interesting project.

Wednesday, November 25, 2009

Yay for global warming...

It's Beaujolais Nouveaux season in France and this year's bumper grape crop, due largely to warmer weather and a little more rain in the summer months has produced some truly outstanding Primeur wines. If you see a sign for these wines at your local store. Don't be shy. Buy a bottle. You'll not be disappointed.

Wikipedia plateaus...

With a distinct slowdown in the creation of new articles, perhaps now is the time to evict some of the Wikipedia content nazis and start opening up the field.





Tuesday, November 24, 2009

So, my Mac is not perfect after-all

Today, my Apple Mac Mini crashed, locked up, totally unresponsive and needed the dreaded four-second power button to reset it and regain control.

This is not the first time.

The Mac is not infallible, is is not fashioned by gods, it isn't the thinking man's answer to the evil empire of Microsoft.

Once again. It's a computer that runs software which occasionally bombs. Cool!

Tuesday, November 17, 2009

Listbox's annoying habit

Am I the only person annoyed by the behaviour of the WPF ListBox?

Create a page with a ListBox, define a nice DataTemplate Stick some data in the DataContext and... nothing happens.

So much for the DataContext being the center of the universe eh?

You have to specifically declare if you want what ought really to be the default behaviour.

Thursday, October 29, 2009

The war of B.S.

I'll give anyone and everyone a fair hearing. I try to be even handed in most matters so, today, while driving home I decided to depart from my usual diet of science and news podcasts and listen to some Apple technology stuff instead. You see I have recently become motivated again to get my iPhone app and website finished so, after intalling visual Studo 2010 and setting too on the silverlight web site, I thought I would get up to speed on the apple side of things, as I seem to have a foot in both camps.
I listened to the unofficial apple weblog. Blimey what a mistake that was! Three idiots who couldn't even decide on what technology they should use to run their voice chat session. Apparently they were so useless that they couldn't even make Skype work for them and there were literally minutes of awkward silence and blabbering about how they sounded like chipmunks to one another. They also ranted on about the evils of Microsoft in their best scary evil empire tones.
Well, I'm sorry guys but even though I like my little Mac I have no possible intention of joining the one sided techno bigot society that so many Mac users seem to inhabit. Damn it people. Get a life! it's a computer. The most stupid chunk of logic going. They even use the same CPU now so the arguments over the merits of one instruction set over another are moot.

Windows 7 Starter edition on Acer Aspire One basic



I had been intrigued for a while about the possibilities of running Windows 7 on a netbook so I decided to install it onto an Acer Aspire One which I bought for one of my children a while back and which is gathering dust now after my son got an iPhone for his mail and facebook chat.




I got Windows 7 Starter from MSDN and put it onto an 8 gigabyte USB key using the instructions found on Kevin's weblog (http://kmwoley.com/blog/?p=345) These instructions are clear and concise and worked first time.




I plugged the newly loaded USB key into the Acer and reset the machine, pressing F12 at boot so that I could select the correct boot device.




Surprisingly, the install didn't complain about the fact that the disk drive or SDD on the acer is only 8 gigabytes. Nor did it have any objection to the size of the RAM which is the pathetis standard 512 megabytes. My son used the machine with the standard Linux install for a few months and had Firefox installed for browsing. With Linux there seemed to be no problems but, I will be honest I wondered if Windows 7 would choke on the machine.




The install continued flawlessly for about an hour whereupon the machine rebooted and the Windows 7 desktop appeared. I must admit to being flabbergasted. My pal at work, Michel Perfetti, a fellow MVP has recently bought a 64 meg SDD and 2 GB memory before he even considered installing 7 on his EEEPC so I think I might just wave this little gem in his face on Monday.
You can see here, the performance score which is a resounding 1.0 but only because the Aero desktop performance is not good. 3D performance is 3 and the hard disk rate is 5.3

I am totally impressed with the ability of Windows 7 to install and function so well on such a tiny footprint. Well done Microsoft!

Wednesday, October 28, 2009

Visual Studio 2010 Beta 2 "Go Live"

In the past, Microsoft have been almost too careful about licensing for beta versions of tools and frameworks, stating clearly that beta test versions should not be used for production code. The Visual Studio 2010 beta 2 however has a "Go Live" license which enables us to legally use the beta version of the system to develop line-of-business applications and even to get support for the beta version tools and frameworks.

As someone who is very concerned with code quality and application reliability in my daily job I see this move as a testament to Microsoft's testing and quality regime. In the past, the traditional view of Microsoft software has been to wait for the service pack or version 2.0 before adopting for front-line applications. However, with the emphasis that Microsoft and indeed other software providers place on testing and quality these days, we can be more confident that the first release of a product will be useable and indeed reliable.

I have used Visual Studio 2010 in both pre-beta and beta versions for a while now and I can say that the new features in Visual Studio show a marked emphasis on enabling the developer to understand their code and increase quality by systematic testing and reliability checking. I also know from sources within Microsoft that the Team System improvements, some features of which have been included as standard in Visual Studio 2010, are based on Microsoft's use of their own product; eating thier own dogfood. This gives me even more confidence in the tools. Rest assured that you too can be confident in the new reliability and usability of Visual Studio.

Sunday, October 18, 2009

Dangerous trends

I guess I have been priveliged to have lived in the countries which claim to be the bastions of freedom and equality. I was born in England, lived in America and have adopted France as my home. I am also a technology freak who has WiFi networks at my house and children who enjoy music.

Recently in the news, there have been numerous stories, notably the new laws in France and now the Mandleson copycat crimes in the UK, in which big government has interceeded on behalf of the all-powerful music and film industry to both demonise and punish illegal downloaders by providing sweeping powers to "disconnect" repeat offenders who are caught downloading copyright material from the internet by revoking their right to an online account.

In the case of the laws in France and now it seems in the UK too, the burden of proof of guilt seems to have been removed and the only requirements to having ones internet rights revoked are to have been named in a complaint by a copyright holder. In some cases, the laws which have been proposed are so one-sided that even an unfounded accusation of guilt by a third party can be enough to cause this disconnnection.

While some may say that this is all very ethereal and not something which will affect a great majority of people and that the no-smoke-without-fire rule can happily apply to those no-good teenage hackers anyway, I see this as a very dangerous trend which serves to eat away even more at the right of someone to face their accuser and to require reasonable proof of a crime having been committed before arbitrary punishment is meted out. When this attitude is allowed even for what may seem to be the smallest crime, due process for all other matters is eroded and the foot of despotism placed firmly in the door of civilisation.

We have recently seen cases for exactly similar "crimes" which have wildly differing outcomes depending on the faces in the dock. In the case of Pirate Bay, the defense of being nothing more than a provider of links to materiel hosted elsewhere failed because the defendents were young, hip and openly defiant. In other cases, ISP's who have been accused of facillitating copyright theft have successfully defended their cases by claiming to be nothing more than "conduits of content" This clearly shows that the law for big business is different to the law for the common man.

More and more today, we are seeing the prase "human right" associated with The Internet. The european courts are currently considering whether online access is indeed a human right. One could argue that as access to legal materials in written form is a right of all accused who may wish to instruct their lawyers or to better defend themselves is considered as a human right in western civilisation, then access to the internet should fall into the same category.

I have a reasonably secure wireless network. I use a good secure twenty plus character passphrase scheme on my networks with WPA-enterprise 2 encryption, a firewall and MAC address permissions on my DHCP server so that passing hackers cannot piggy back on and steal my network bandwidth. I wonder however if this is enough to protect me.

Returning finally to my original point, which is that I have a wireless network and teenage children I face two immediate problems. The first is that my kids have already downloaded copyright materials even though I told them not to. They are however children who, had they committed some terrible crime, would be treated as minors, unable to be made responsible for their actions. The second is that even though I have done the best I can, restricting access at my router to filter out sites which host torrents or links to torrents, but with the plethora of file sharing methods available, I cannot be certain that an enterprising teenager or drive-by hacker cannot get the latest film or music bootleg online.

Where would this leave me in the case of being accused of having downloaded copyright materiel? I live my life on the internet. I work as a provider of software and need the information on the internet to do my daily work. If I lost my right to have a DSL account, I would lose my livelyhood as surely as if you were to cut off my hands and put out my eyes. Would this matter to a pencil pusher lawyer in a music or film company? I rather think not. They would be quite happy to infringe my human right to an income I'm sure.

http://news.bbc.co.uk/2/hi/technology/8305379.stm

Wednesday, October 14, 2009

Viagra

Huh? I have EIGHT children!
Can you possibly be serious?

Wednesday, October 07, 2009

News just in..

Using the new free Microsoft Security Essentials a trojan downloader that was not seen by AVG (which I pay for!) was caught and removed.

Swings and roundabouts?

Easy schmeasy

As I grow older I become more and more suspicious of things that proclaim themselves to be "easy" One may say that this is just because I am older and therefore more mentally enfeebled than I may have been. However, the evidence has shown that things which try to be easy to use can become a downright pain in the butt when the algorithms used to make decisions are just plain stupid.

I have recently upgraded my PC in the manner to which so many of us are accustomed to a more recent, four core processor with a good amount of memory. Of course I used Windows 7 as the operating system and very good i is too, with nice graphics and sixty four bit goodness running all the little cores as it should. My old machine, which I have had for a few years now, has a couple of hard discs and a ton of data that I don't want to loose. So, what did I do? I thought "I'll use Windows Easy Transfer to get my data onto my new machine!"

This is where the whole "easy" premise fell flat. I bought a Belkin Easy Transfer cable for the princely sum of thirty eight euros and inserted the disk for the install. The installer told me that because my machine was running vista there was no need to install software and that the dongle on the Belkin cable held the plug 'n' play application. Ok, I plugged in the cable and the software immediately assumed that my old computer was my new computer and that I wanted to transfer too it. Wrong!

I started easy transfer on the new machine and it told me that i had to install the latest and greatest software on the old one. A process I had earlier been told was uneccesary - ho hum.

So, after copying the software, installing it on the old machine and starting the proccess I had to wait for about half an hour while the system decided what I should transfer. Ok, I want my account but not my wifes, the old admin or the guest account. Moreover, I want some documents but not settings for my ATI graphics card because the new machine has an NVidia card. All this means selecting from the several hundred tickable boxes and an hour or so of triage I get what I want reduced to a couple of hundreg gigabytes and... The blasted easy transfer client on my old machine crashes with a data execution exception. AAARRRGGGGHHH!!!!

So much for "easy"

Friday, August 21, 2009

Africa gets fibre optics

Dear friend,
My name is Bob Powell, Until recently I was manager of a large goat farm in the southed part of England. Unfortunately the kind man who owned the farm and the eleven thousand goats of which I was so proud to look after on a daily basis has died of an overdose of cheeseburger and left me and my poor goats in a very poorly and destitute state.
I am writing to you in great confidence because I know you are a good person and you love goats as much as I do. My situation is delicate as you realise that goats are prized in England and the UK border is controlled very strictly to prevent our livestocks being whiffled out of the country by any old Toms Dicks and Harrys.
I am preparing to send all eleven thousand one hundred fifty nine good goats to a cruel goat farm in the hills of Iceland so you see all papers are done for export but my lovely goats will alls be roasted in some awful volcano powered Icelandic factory who has no more cods to render.
At great risk to myself I am prepared to sends these goats to you instead. Please dear friend. If you are a good lover of goats and can think of a use for these poor unfortunate beasts just send me your address and they are yours. To verify the exact address for uk customs please include your bank address, account number, sort code and any PIN codes that you may have in your possetion.
Yours truly, in faith and peace,
Mr Bob.

Wednesday, June 03, 2009

Publish and be spammed

For many years now I have believed in the principle of "Publish and be damned" which I learned from my days in software engineering working with Stingray Software. I had never experienced having to write code that someone else would code review or criticise in any way. When I actually had a team of people to tell me what was wrong with the code I had slaved over in my darkened home-office, I grew both professionally and personally.

Code review nowadays can be automated. Systems such as FX Cop and Style Cop will mercilessly tear your code apart and dispassionately explain how much of an idiot you are several times a day, if your software factory is running correctly that is.

How much of this automated code review is really useful though? Microsoft cite the need for uniformity in the code. Because they have such a huge code generating body of workers, the way code is laid out needs to be standardised, homogenised and sanitised for reasons of continuity within teams. but honestly, the rules can seem to be arbitrary on the one hand and just plain stupid on the other.

Mobile work forces can mean many diverse styles, where each coder is conscientiously doing what they think is best and still generating a confusing mish-mash of coding styles for the poor sod who comes after. This is why MS have produced these Machiavellian code checkers.

Working, as I do, in a company that has a large body of legacy code in many different technologies, coupled with a developer workforce who are just ordinary programmers with few aspirations to being the next Don Box, I see a huge amount of code that can only be characterised as absolutely bloody horrible! Given such standard of quality and quality of coder, how can I, as an architect, hope to bring this code into line with even the minimum of compliance to what would be considered as acceptable for the crew in Building 42, Microsoft Way, Redmond?

My conclusion is that sadly, the people that "manage" said body of code have a vested interest in defending the stuff because many of them wrote it. Secondly, the will to change must be coupled with the acceptance that something needs fixing and so, if externally, your architecture doesn't seem to be teetering on the brink of the omni-flush toilet, then the budget is rarely available to re-write the stuff. Budgets are always available however to maintain the awful rubbish for as long as it functions even partially.

So. What's the conclusion you may ask yourself? Well, software is politics because its about egos. People believe that their solutions, however nasty are the right way and elegant and good. Politics is a human condition and someone has to point a finger somewhere.

On the other hand, computers are next to gods in our society. They are always right and they know everything worth knowing, or at least have access to it, so, I have come to the conclusion that if you want code that is readable or maintains the minimum standards, then you should get FX Cop and Style Cop tied securely into your TFS build process and spam everyone who checks in code with all 23,000 warnings a day.

This way, you can sit smugly by in the knowlege that the rules these programs apply are despotic, uneccesary and often idiotic but, when the manager who wrote said crap moans about the time it takes to add a simple function to the code you can put your hand on your heart and say; "Sorry, it's not me, it's the software factory rules. We can't check in till the warnings are fixed."

Monday, June 01, 2009

That mashup called life.

A recurring theme on this blog is how technologies can change ones life in a positive way. I think that during my life I have avoided computer games but may actually spend more time interacting via the computer than even hardened gamers.

This weekend I have been to see a band, The Enid, in the UK who have essentially been revitalized via the Internet I have used an "External Brain" in the form of Evernote to remember and organise my thoughts and sights into a searchable database. I have used my iPhone and its Internet connection for instant answers. Once again I have used a mixture of Microsoft, Apple and open source technologies to enable me to be connected 24 hours a day without having to carry a laptop or a big bag of electronic gizmos

When I drove from place to place I used a GPS for navigation and, more importantly, to avoid traffic and to find alternative routes. Finally, I think I had the most fun experience I have had in, well, decades I suppose when I danced the night away in a silent disco at the Wychwood Festival near Cheltenham in the UK. For those of you that have never seen one, a silent disco is one in which the revellers are all equipped with headsets that can receive one of several channels of music that can be as loud as one desires but does not annoy the neighours. When you remove the headset you are returned to a room containing perhaps a thousand people and a low hum of conversation punctuated by the occasional snatches of songs sung by the crowd. In any case, the deafening thump of base and ear splitting noise that has made the disco or club a health hazard is replaced by pure participatory fun and, who would have guessed, conversation.

As I live this technologically enabled existence I can truly say that computers, the Internet and the things which some people revile as a waste of time and which pollutes the human experience can be, and often is demonstrably a boon and a blessing.