Monday, February 13, 2012

Gadgeteer PWM

Pulse width modulation is a digital "trick" to fool analogue devices into thinking that a certain level of voltage is present on an otherwise digital IO pin.

Essentially, the system has a frequency, we'll say 100 hertz for argument's sake, and if the output pin remains high for the entire 100th of a second, that can be considered as the maximum output of the pin.
If however it remains high for only 50% of the time and is low the rest of the time than we can consider that the output is at 50% power.

Changing the pulse width within the 100th of a second time slice enables us to create varying levels of power and even synthesize waveforms if we so desire.

PWM on the gadgeteer is ridiculously simple. There are a number of ports that are PWM enabled. For example, the FEZ Spider has PWM on socket number 8 amongst others.

To set-up PWM on any PWM enabled pin we simply need to declare the PWM controller like so:
private PWMOutput pwm = null;

Then in "ProgramStarted" get the PWMOutput controller:

pwm = this.extender.SetupPWMOutput(Gadgeteer.Socket.Pin.Nine);

Then, to set the power of the pulses:

           
pwm.Set(x,p);

where X is the overall base frequency of the PWM signal and p is the value 0-100 of the percentage of power to set.


The video below shows Pulse Width Modulation in action on my oscilloscope.



I wired some LEDS up to the Gadgeteer and they changed brightness like so:








Tuesday, February 07, 2012

UsbHost.USBDriveConnected

Had a little problem with the Gadgeteer yesterday. I was using the UsbHost to read files from a pendrive and after copying files to the drive, verifying that the files were present and plugging it into the Gadgeteer I discovered that the event which is supposed to fire (USBDriveConnected) never did!

After a lot of head scratching I discovered that the pendrive was formatted in NTFS. The UsbHost software only recognises FAT format drives so be sure to get that bit right when you transfer files to your gadgeteer.

Monday, February 06, 2012

Gadgeteer

Simple, brilliant, works... When you can find any information at-all. I can't find a single example of how to use the usbHost.USBDriveConnected event which doesn't seem to fire anyway.

Hey Microsoft. The documentation could do with looking at!!

Software Passion 2012 in Göteborg Sweden

Come along to the Software Passion Summit in Göteborg Sweden on 19th and 20th of March 2012. I'll be speaking on Tuesday the 20th.

You can get a 10% discount by booking through this link and using the promo code "BOB" when you book.

See you there!

Thursday, February 02, 2012

I am the proud owner of a Macbook Air

Its sooo thin!!! I'm just installing Windows 7 and Visual Studio in a VirtualBox VM ready for Techdays Paris next week.

I'm rather hoping that putting the apple devtools, mono, monotouch and monodroid as well as VS and WP7 SDKs wont overload it.


- Posted using BlogPress from my iPhone

Thursday, January 19, 2012

Kodak, a case of the Xerox's

When Bill Gates was a young programmer he worked for Steve Jobs and Apple. This was when Apple had begun work on the Macintosh and the first commercially available GUI.
Apple didn't however invent the Windows, Icons, Mouse and Pointer WIMP system. Xerox did at their PARC facility in Palo Alto where a young Steve Jobs was mooching around seeing what the big boys were doing.

The truth was that the bosses at Xerox didn't think much of WIMPS and thought it was a stupid gimmick. Certainly no good for real computers so they basically let Jobs walk out with the ideas for free. Later, after Microsoft had developed Windows 1.0 Jobs let fly at Gates, accusing him of robbing ideas from Apple whereupon the shrewd Gates replied along the lines of: "We both went into our neighbor's house to rob him. You got the television and I got the stereo"

Kodak were one of the first companies to develop digital imaging. The bosses of the company however were confident in the fact that film emulsions would always be higher resolutions and richer color than digital sensors could produce. Oh how wrong they were and how much that lack of foresight cost them.

There must be a moral to this story somewhere. Perhaps it is that no boss should ever let go of his options when it comes to an interesting but seemingly unpromising technology.

ASP.NET button mouseover image change in javascript

The story so far: I wanted to do something very simple. I have a web-site that needs multi language capabilities so, I store all my site text in a database and pull it out using the country code of the client browser. This means for example that I could have a button with "About" in English and "A Propos" in French. I also wanted a mouseover effect for my buttons to provide a little bit of visual feedback so I created button background slices with appropriate blank backgrounds with the intention of updating the button text in the manner mentioned above.


Well. An ASP.Net image button does the mouseover just fine but not the text. It can't have text. With a little bit of cajoling one can make the ASP.net Button control have a background so that one can indeed update the text. The problem was that there seems to be no way in the world to make the mouseover behaviour work with the Button control. Not using Framework 4.0 anyways.


Microsoft recently modified the way attribute encoding is done in Framework 4.0. This means that if you if you put something like:

onmouseover="alert('boo!')

The 4.0 framework however encodes this as:

onmouseover="alert(&#39boo!&#39)"

I have no clue why but if you start the web project as framework 4.0 and use javascript inline, the server falls over at the encoded apostrophes. If however you switch to framework 3.5 and then back to 4.0 again, something magic happens and the javascript sees the &#39 as an apostrophe.

In order to make my ASP.Net Button control with image background mouseover behaviour work correctly, here's what I did:

#1 Switch the project to framework 3.5 then back to Framework 4.0 
#2 Declare your button:
<asp:Button ID="AboutButton"

Style="background-image:url('images/aboutoff1.jpg'); text-align:left; background-color:Transparent; cursor:hand; background-repeat:no-repeat; background-position:left; font-family:Verdana, Sans-Serif; font-size:28pt; font-weight:bolder;"

Runat="server"

Height="53px"

BorderStyle="None"

Text="About"

Width="352px"

#3 declare your mouseover behaviour in javascript
onmouseover="document.getElementById('ctl00_AboutButton').style.backgroundImage='url(images/aboutover.jpg)';"
onmouseout="document.getElementById('ctl00_AboutButton').style.backgroundImage='url(images/aboutoff.jpg)';"/>

Summary
Traditionally, asp.net controls have been a bit closed but relatively easy to coerce. A bit of wc3 compliant Javascript helps out enormously when the ASP control of choice needs a tweak. Ok, one could roll up one's sleeves and write an ASP.net custom control and render the HTML yourself with no problem but it so much easier to mix and match ASP and javascript.

Sunday, January 15, 2012

Star Trek X-Prize

Well, it had to happen. Strangely I was just expounding the possibilities of such a device to my wife, Chrissy, just a few days ago. Qualcom and the X-Prize organisation have put up a ten-million dollar prize for the team who succeeds in creating a "Medical Tricorder" similar to the type used by Doctor Leonard McCoy in the original Star Trek series.

The device should weigh no more than 2.2 kilos so bulkier than that of the good doctor, should be able to scan and analyse a patients vital signs and to diagnose fifteen conditions over a short period of use.

My own view is that this sort of device is well within reach without a vast amount of research. Given that modern smartphones sport multi-processor CPU's, huge memory, internet connectivity and are already packed with peripherals I see no problem in adding to the range of peripherals available and getting the prize.

I would begin with a normal smartphone architecture, add an infra-red camera, an ultrasound that could do scanning using the accelerometers for position referencing. I would interface in an add-on wrist sphygmomanometer (blood pressure doohickey)  via a bluetooth connection, similarly a blood-oxygen clip to go on an earlobe. A super sensitive microphone and a nice DSP for listening to lungs and heartbeat with decent frequency analysis software for listening to heart valve noises, gas analysis and a set of really good macro lenses for looking into eyes that  could even double as a microscope.

Imagine all that in a SIRI style relationship with a back-end system capable of doing differential diagnosis based on the experiences of a nice fat medical database and you're done!

Hey, somebody give me a job running the team and I'll snag the prize for you!

(Seriously!)

Saturday, January 14, 2012

Virtual Box VM portability

I am researching possibilities for my new portable development setup that I will be installing on my new laptop. Experience has shown me that weight and battery life are more important than processor power for laptops I use in demos and presentations so I have ordered a Macbook Air 13" system.

I will be leaving OSX intact on the machine and probably dual-booting Windows 7 too but as an experiment I looked into the issues of using virtual machines copied between the two OS's by copying my Windows 8 Developer Preview VM from the PC to my recently upgraded Mac Mini to see if Virtual Box could indeed run a straight copy on both systems.

I can happily report that it does, however there is a small problem of keyboard interaction inasmuch as the VirtualBox VM running on the Mac doesen't seem to be getting the same scan codes from the keyboard via the Mac as it does via the PC. The VM on the Mac will not respond to the Start key for example and so it can be problematic switching applications in Metro on the Mac based VM.

I'll continue to do more on this as time goes on but if you have any experience in theese matters please feel free to comment here or to send me a friend request on the facebook link seen on this page where we can discuss your experiences in more detail.

Thursday, January 12, 2012

The shame of Apollo

There are ten billion earth-like planets in our galaxy and we haven't even got a moon-base! The US have dropped the ball by doing ultra-safe ultra-expensive space exploration and have lost thirty years of initiative that we could have had to safeguard and enrich our species.

Great Mango video tutorials here:

http://channel9.msdn.com/Series/Mango-Jump-Start/Mango-Jump-Start-01-Building-Windows-Phone-Apps-with-Visual-Studio-2010

Friday, January 06, 2012

Code Year

This is a great idea. Shame its just JavaScript though. This is something I've thought necessary for a long time. Perhaps something more generic would be a useful thing to do as well.

I've been following the progress of the RaspberryPi foundation as you probably know. The UK government was roundly chastised by Sergey Brin for failing to ensure that high school students had programming skills. I've been desperately trying to convince my son to program rather than play games all weekend and I am utterly convinced by the argument of "Program or be programmed"

I might follow it just to see.

Wednesday, January 04, 2012

Its all just ones and zeros

Visual studio 2010 running on Octogig editing an Android app using MonoDroid.

A second instance of Visual Studio editing an Arduino project

A virtual machine running Windows 8 and a new Metro sample in development

MonoDevelop running on the Mac doing the iPhone version of the aforementioned Android App

I never got diversity like this working in a bank!

Tuesday, January 03, 2012

Welcome to 2012! Granular Programming.

First of all, I wish a happy and prosperous new year to all readers. Here's hoping that 2012 will be far less "interesting" than 2011 was. I guess we can only hope?

So, today's topic is "granular programming" which is a term that does exist at the moment but which I believe is the term that is underused in the context of modern software architectures.  For some time now, I have been using a technique which I like to call granular programming in which metadata and declarative programming techniques allow the construction of a working architecture from objects that may not seem to be related to one another at first.

A prime example of this is something that you may be aware of may not use in your day to day work simply because it's built into the .net framework, and has been since day one and that functions very well on its own, most of the time with no intervention whatsoever from you.  I'm speaking of the type converter system that in .net enables conversion of some binary value such as integers or floats to a string of characters suitable for editing in a TextBox and back again from a string of characters to a binary value.  Types in .net are often associated with the type converter specifically designed for them at a very low level.  Often, in the framework code itself, the association of a type converter with some low level type has been made in advance by Microsoft.

When a type converter is needed by the system it will be loaded, used and then discarded automatically in response to a specific need.  In code, we can specify which typeconverter is required using the attribute designed for that purpose.  In WPF, we can specify a static, or dynamic, resource in XAML creates an instance of our "helper class" which is then used by the rest of the code.  A great example of this in WPF would be a value converter.

This type of "on-demand" instantiation of helper classes is something that I use in my own code more and more.  One interesting aspect of this principle if that its possible to create applications that can be reconfigured and extended without recompiling the application itself.

I will come back to this subject in the near future up in the meantime, if you have any ideas or comments about this subject please feel free to voice them here.

Tuesday, December 27, 2011

Idiotic Eureka Moment!

I listen to Frank Skinner's podcasts on Absolute Radio in which he often speaks of the "Idiotic Eureka Moment" which is when you realise something, usually years later, that should have been obvious from the start.

I recently bought a WHITE iphone 4S. DUH!! What took me so long to realise??

Monday, December 26, 2011

Raspberry PI for Christmas?

 I've mentioned this before on my blog but you still may not be aware of it.  Created in response to a need for university applicants with higher information technology skills than were being seen at induction times, this credit card sized computer is designed to allow young people to both understand and program a simple Computer System at school or at home.  This tiny machine has input output, a high resolution HDMI graphics chip, memory and USB connections and, wait for it, and an intended retail price of only $25!

Never, since the days of the ZX 81, has mass market computing been so accessible and so cheap.  Designed in the town of Cambridge where the famous ZX 80, ZX81 and ZX Spectrum computers came from, this machine has been designed by someone who, like me, began their career programming for these classic devices. 

The Raspberry Pi computer currently runs the linux operating system and use as an ARM processor of the same type as those found in mobile phones.  With either 128 or 256 MB of RAM this might be considered small as a Computer System but, contrary to what you may think, linux runs very well on such a small machine and is even capable of full high resolution DVD playback with sound.

For me, the important factor is not what software can be run on the machine but that the system is specifically targeted to educating people who need programming skills. For this reason, I think that Microsoft should seriously think about providing a Windows operating system capable of running on this device because my experience has been that programmers who enter the workplace having learned their craft on every cheap (read free) development system that the colleges and universities invariably use these days have to re-learn a significant portion of their skills before becoing useful to their employers. Most industries use Microsoft operating systems and development tools so it would serve Microsoft well to ensure that the much needed new generations of developers have a solid understanding of those technologies too.

http://www.raspberrypi.org

Thursday, December 22, 2011

AI class. Done and dusted

Overall the AI class has been a great experience for me. I have learned so many concepts that I had never even imagined and my take on problem solving has been forever altered. The logic of ones and zeros that I've always worked with in my professional career has been transformed into a logic which suggests that the logical course is clearly the one with the maximum probable likelihood of success. This in itself is a more Spock-like analysis and, for me, the closer we can get to Star Trek the better things will be for everyone.

Clearly academia in a vacuum is a sad and lonely thing. It doesn't matter how clever a principle is or how wonderful a solution is, if the smartie pants that came up with the idea cannot communicate that effectively to the people that have to do the work then the process is a waste of time. Books of knowledge that gather dust because they are too esoteric to read may as well be burned.

Sebastian Thrun has a gift for teaching that enthuses and inspires his audience and has made the AI class experiment a phenomenal success. Many thousands of people today have seen a new way of doing things that will open up this relatively closed science to even more hobbyists than before. Remember that it was the hobbyists that sparked the computer revolution of the 1970's and 1980's.

Searching for AI related information on the web, the name of Peter Norvig comes up time after time and now, thanks to this course, thousands who would otherwise be ignorant of his taste in wacky shirts will be able to understand and use that knowledge in their own experiments.

I sincerely hope that this sort of course becomes mainstream and that not only should courses on high-tech and esoteric subjects like AI become available but that every university in the world should provide such fantastic teaching to everyone in every subject.

Until now, academia has been a closed and elitist environment with standards for entry that were drastically limited by the physical resources of the organisation. Now a course with 150000 applicants is possible and even if only 10% finish, that means 1500 heads full of new ideas for the betterment of mankind.

My congratulations and thanks go to Sebastian Thrun, Peter Norvig and the rest of the Stanford team for this wonderful opportunity.

Wednesday, December 21, 2011

AI-class extra credit programming

Well, what a letdown those answers were.

I solved the rot-n one by sucking up an English word dictionary and seeing if the four longest words were in there. Ok, not particularly AI I suppose.

I could have got the strip question by doing it manually but I wanted to at least try to solve it using programming. In the end the effort seemed too great so I let it pass me by and waited to see what the gurus came up with.

Prof Norvig utterly sidestepped the programming with statements like "you can probably get a good result with letter trigrams or some such" Dude. Put your money where your mouth is an SOLVE THE DAMMNED PROBLEM instead of doing more professorial hand waving.

Not impressed.

Tuesday, December 20, 2011

Kicking myself AI Class final

Lousy score of 55%, not because I got a lot wrong but because I didn't check all the right answers available. This is to say for example that in the propositional logic question all my answers were correct, I just didn't check all the available right ones. Same with the resource one.

The fact that my electricity was out and I had to rewrite the house to run on three phase generator power didn't help my concentration.

Still, I really enjoyed the class. I feel that I learned a lot and that I now have a new perspective on problem solving that I never had before. I'll be doing the machine learning class in February so I guess I'll have a better perspective for that too.

Friday, December 16, 2011

Generator power.

Because I live on an old farm, all the electricity supply for the house is three phase. A while back I bought an SDMO 20 KVA generator "for emergencies" and its been sat in my garage unused for a year.
When I bought it I had plans to wire it in but things happened and in the end it never got done. Last night 100 mph winds destroyed the infrastructure here and so I've been running aroung trying to get the generator connected and running all day.
At last, 9:00 pm and the thing is rumbling away like a good un in the garage and I have 50 meters of three phase cable tied to the house's main box.
I've wasted an entire day of my AI class final exam.
If I believed in a god or karma I might think someone was trying to tell me to stay away from AI.

Ai-Class aarrgghh

Hurricane winds all night. No power and no DSL.

Damn damn DAMN!!!!!


- Posted using BlogPress from my iPhone

Thursday, December 15, 2011

AI class final exam

Well, I guess I'm not the world's best student and its been a long time since I sat down and tried to behave like one.  I have just completed the AI class lectures, except the optional natural language processing question which I am about to tinker with, and my average for correct answers in the lectures is 57%.  I seem to have fared better in the homework with an average over my best six assignments of just over 76%.  Not fantastic I know but I feel I could have done better, especially because for many of the assignments my computer was not working correctly so I did math by hand instead of using a machine.

I must admit to be looking forward with some apprehension to the final exam which begins tomorrow. I'm also interested to know at the end of the day how many of the original 130,000 enrollees managed to get this far on the course and, of course, where I sit in the rankings of those who actually pass the finish post.

If you found my blog as your expecting to come here and find all of the answers to the AI-class final exam then you're out of luck.  Before you leave though remember to have a sense of humour.

Monday, December 12, 2011

Windows Metro linear navigation model

Being a software developer I'm used to hierarchical structures. Understanding where a file is in a hierarchical structure of directories or moving or copying whole directory trees from one place to another is something I do every day.  However, I have come to realise that a large percentage of people do not have this hierarchical concept in their heads at all when they use their computers. My wife, for example, has absolutely no clue that her pictures are stored somewhere within the C:\users\chrissy\... directory because she accesses them from a shortcut in the start menu.

Remembering a hierarchy requires a certain mindset and an intimate familiarity with the terrain of the storage system in which the hierarchy is contained. I am quite happy with the internal structure of my disk drive and, because I use certain rules and regulations of my own, I am able to find a file within that structure very easily and quickly.  I'm also sure however, that someone unfamiliar with my machine would find it very difficult indeed to find a specific file.  Similarly, I find it difficult to find files on machines that have been set up by another people.

There seems to be then, a very nice analogy which can be drawn between users of Computer Systems and users of street maps in unfamiliar towns. Someone who has lived in the town all of their lives and knows all the back streets and alleyways can probably get from A to B quickly and efficiently whereas someone from out of town might struggle to navigate anywhere off of the high street.

Underground railway metro maps including those iconic maps of London, Paris, New York, and Barcelona to name but a few are shining examples of concise simplicity which are designed to make entire cities less daunting and more accessible to the millions who are unfamiliar with their hierarchical structures. Windows 8 Metro has exactly the same design goal as those maps.

In the same way that the metro line is linear and as well defined stops along the way, an application designed for windows metro must have the same well defined structure.  One should always begin in a familiar place, being able to move along the line easily, and be able to move back to stations that you have already passed simply by going back in the other direction.  There are, of course, a few examples where this principle should not be upheld religiously, in particular the example of credit card payments should never allow the user to navigate back through the pages where information is entered once a transaction has been registered. This is a rule which many web sites ignore to their detriment, possibly because the web style back button is inadequate for changing the rules of going back in such a sensible but non intuitive manner.

Metro is a "Design language" more than it is a set of APIs or software libraries.  There is a great deal about Metro that is not expressed at all in the software but which is implied in the design guidelines.  Metro can be considered as a start menu on steroids but with a fair dose of Valium thrown in to calm things down a bit. Think  calm, think concise, think Metro.

Saturday, December 10, 2011

Winzip loses my vote...

Many years ago, and probably because I was involved with shareware at that time, I registered as a user of WinZip and make donations to support the software. Later, or WinZip became a little more commercial and because I liked to see their success or a continued as a user and bought upgrades to the software.  Unfortunately, since being bought out by the Corel Corp.  WinZip's "fantastic upgrade offers" have become far too frequent and insistent.

It has been some while since I last upgraded the software because I don't use it anymore preferring now to use 7Zip or the compression software built into windows. I'm very glad that the original creators of WinZip managed to sell the company and so, from the point of view of my original desire to donate to them, I feel that they've done well.  However, today I went through the process of unsubscribing from all future WinZip promotions because I feel as though I've lost all allegiance with the product.

Friday, December 09, 2011

Convert IOS apps to WP7

Microsoft is very much aware of Apple's Jupiter like gravity in the smartphone market. Trying to compete with such a platform is an extremely difficult proposition and so it stands to reason that everything that makes it easier to produce their applications on Windows Phone 7 will go a long way to narrowing the gap.

Microsoft has recently announced at all which will enable existing IOS developers to transfer their apple iPhone and iPad applications to the Windows Phone 7 platform. You can find details of this by following this link.

I would really like to see an extension of this that would allow you to transfer your iPad application to Metro.

Thursday, December 08, 2011

AI class Homework 8

For the first time in this class, I have resorted to writing software to assist me in the completion of a homework task. Interestingly, this was something I would have done normally, but unfortunately a machine failure early in the class made me do things in a much more hands-on manner.

This is not to say that I have completely given up writing software. Indeed, much of what I have learned has been incorporated into a project upon which I am working which is specifically designed to make the construction of databound formulae far easier.

Unfortunately, my system is not nearly finished enough to enable me to use it on a day to day basis but I'm hoping there in the fullness of time the code which comes from my experience during this class will become available to a wider public.

As you know, I am passionately keen on the principles of databinding and so I am trying to build a system that uses these principles at a fundamental level to provide a very competent product which will be available shortly.

With only a couple of weeks left I am very much aware that the homework assignments available begin to count more and more towards the final score. Hopefully, I can dedicate as much time as possible to ensuring that I complete these last few homework tasks to the best of my abilities.

Its funny, I don't think I have been inspired about any single subject so much for many years. It's a testament to the skill of the Stanford team who have made his first foray into mass education on a scale never before seen on earth possible.

Calm down dear.

A short time ago, Mary Jo Foley kicked off another tempest in a teacup by disclosing that Silverlight was dead and soon to be replaced by HTML 5. This  shock-horror revelation followed an interview with Microsoft's Bob Muglia an apparently revealed a massive shift in Microsoft strategy that would render Silverlight and WPF useless.

Recently, questions have been raised regarding Windows 8 and in particular the Metro system which, in beta versions, required portions of the application code to be written in HTML 5. This was, it seems, nothing more than a temporary situation and in later versions of the SDK metro code can indeed be expressed in c#, visual basic and other .net languages.

I think it's important to understand that Metro is not Windows 8. Metro is intended to be a portable subset of the Windows platform which is capable of running on other hardware than PCs. On a desktop system, Metro is seen as an explorer like application that handles notifications from applications running on the system and which displays these notifications in the form of tiles. Underneath, a Metro application uses a dll that contains a subset of the Windows architecture and which is necessarily restricted. It is also true to say, that when required, it is still possible to create applications that rely upon the full gamut of the windows architecture.

Windows 8 and Metro is very much a classic case of "horses for courses" and choice of the application architecture will very much depend upon the experience you desire for your users. Despite the fact that Windows 8 seems to default to a Metro style interface I believe that this is nothing more than a showcase for the new application style which, in the production version, should certainly be an option.

Historically, it has been difficult to create kiosk style applications in Windows and this has been a problem for providers who wanted a far more controlled environment than is provided by the standard windows operating system.  Now, with the advent of Metro, simple, engaging, dedicated applications are easy to create and, rest assured, that these applications will be portable to other devices and platforms.  If however you still require the rich and complex environment of Windows then you can be equally assured that Windows 8 provides you with no barriers.

How will Windows 8 fare in a business environment?

Having worked for very many years in corporate environments I know that the adoption of a new operating system is fraught with problems.  Corporate paranoia and risk aversion dictates that the rule of "if it ain't broke don't fix it" applies, sometimes for many generations of operating system. Sadly, Windows 8 will be no different and despite Microsoft's desire to get the operating system in front of corporate customers it is very unlikely that many of them will consider it for some years to come.  This is a shame, because windows 8, despite the perceptions of these corporate paranoiacs, is very much the same operating system underneath as previous versions.  The most radical change being the introduction of the metro system which is little more than a supplementary windows explorer designed to provide a far more kiosk like environment to users. 

Interestingly, in many ways this could be an advantage to corporate customers because reducing the possibilities for users to step outside of the bounds of the application is something that many IT departments would very much enjoy. 

Applications written for the metro environment would be easily transportable to tablet PC Systems which are becoming more popular in corporate environment nowadays and would provide a more consistent experience from desktop to portable platforms.

Unfortunately, Microsoft's reputation for creating version one problems whenever they introduce a new operating system is legendary.  Personally, I don't believe that this reputation is justified because I am an early adopter but one has to remember that the users in a corporate environment may very well be five years behind the times.  This means that there is a disconnect between what Microsoft desires to support and what the customer requires them to support.

I strongly believe that the if Microsoft concentrated more on absolute reliability and provided certified versions of its operating systems to corporate customers that profitability would rise because it is the corporate customers after all who have all the money to spend.  The predicted reduction in PC sales for home use will surely eat away at Microsoft's profitability as more and more home users turn to Computer Systems that do not require desktop machines.  As the Chinese say, we are living in interesting times.

Facebook!

Hi everyone, please feel free to click on my Facebook badge at the bottom of this page. I answer all friend requests positively and I am dedicating time every day for discussions in that forum.
Hope to see you there!

Tuesday, December 06, 2011

Anne Maynes might have better luck than me...

Anne Maynes of the Gartner Group said in the SOA conference earlier this month that software architecture must change to embrace the plethora of platforms and form factors that are emerging.

This is a subject very close to my own interests and after working for many years in a major European bank where I sang the same song for about six years and only found deaf ears I feel at once pleased that the idea is becoming mainstream enough for Gartner to be shouting about it and depressed that I was not able to convince people that such a thing was needed.

Interestingly, I am making great effort at the moment to create some mobile phone applications which present their own special challenges. I am not the worlds expert on the different API sets afforded by Windows Phone 7, iPhone and Android but I feel very confident creating applications in C#. A technique that I have been developing over the last couple of years relies on a modified form of MVVM in which the application interacts with a strongly defined and bidirectional presentation layer. This application component is then capable of being bound in an abstract way to the various data-binding or equivalent mechanisms present in the diverse UI systems provided by the different platforms.

I have proven to myself at least that creating an application that has no UI whatsoever is a viable model and that the UI systems can be added on afterwards such that the application can be made compatible with any platform. I have tested this system and it works fine for WinForms, WPF, iPhone, Android and Windows Phone 7 as well as ASP.Net and Mac. Interestingly I develop in Visual Studio 2010 to validate the application and then transfer the code to Mono for the platforms which do not natively support C#.

Metro would work on a toaster

Metro applications are necessarily fuss free. The motto of the Metro app is "Fierce reduction of unnecessary elements."

Whatever the platform upon which the application runs, the idea is to deliver all the necessary information and no more. A little of this philosophy was seen in recent versions of Windows Media Centre in which a the strongly linear navigation model coupled with sparse graphics and screens which are dedicated to one simple purpose are found. This has two important effects. Firstly there is a lower compute cost for the UI. Secondly, the display size doesn't matter. This is good for televisions because on the Media Centre you are probably looking at the screen from across the room and good for set-top boxes that run embedded Windows but have little available extra processor power for generating blurred drop-shadows or halo effects.

Windows 7 has been demonstrated to be running natively on ARM chips and what better low-power platform for consumer devices than the ubiquitous ARM core? Refrigerators, dvd players and yes, even toasters will soon be equipped with a graphical user interface that doesn't rely on a crummy bespoke LCD display panel and a processor as competent at that in your cellphone.

So, the paradigm of large-screen-far-away can also be used on small-screen-close-to with equally useful effect. A clean interface delivering just as much as you need with no more frills and nothing unnecessary is the ideal one for these applications and Metro fits that bill down to a tee.

Befriend me on Facebook for closer contact.

My professional facebook profile is open to anyone interested in my articles, code or for such assistance as I give to people who mail me with requests. I figure that answering on Facebook might help more than just the person to whom I might reply directly.

My site and this blog have a facebook badge. Please feel free to use it.

How long will Samsung support Windows Phone 7?

Phone maker Samsung has been rumoured to be planning a move away from the Windows Phone 7 platform in 2012.

I have an Omnia 7 phone which I recently upgraded to Mango and its a really nice machine. The OLED screen is so much crisper than the iPhone 4's LCD screen and the brightness is amazing being easily readable in sunlight.

As a mill for the Windows Phone 7 platform the Samsung is great with nice processing power and nice sensors. It seems odd that Samsung's war with Apple wouldn't make them more keen to give Apple competition from Microsoft. As I say, this is a rumor for the moment but only time will tell. Personally I would like to see what Nokia have to offer for the WP7 platform in the near future. Sadly no one as offered me a Nokia phone to try out yet (BIG HINT!!)

Saturday, December 03, 2011

AI-Class Praise

Sebastian Thrun is an absolutely brilliant teacher. So much enjoying his classes.

Wednesday, November 30, 2011

AI Class DOS attack Homework 6

It seems that some student has decided that rather than concentrate on the homework they would simply run a DOS attack on the site to give them time to complete the task.

Now that's what I call dedication.

Friday, November 25, 2011

Siri and AI

Being involved with the AI class and being a career programmer I am very well aware that the machinery behind Siri is nothing but a computer system. However, when one interacts with the computer system using a voice interface that understands so well as Siri does, one is almost obliged to be polite. I found myself automatically saying please or thank-you in the same way as I would if a human being were performing a service on my behalf. Interestingly Siri responds with things like "I'm just doing my job" or "I exist to serve you."

I meet a lot of people in my work and I have to interact with folks from many cultures. Some have different rules for what is polite, what is considered as necessary and what is completely wasteful of the effort of speaking. English children of my generation were taught that "manners maketh man" and were most often brought up with the idea that one should go through the motions of being polite even if you loathed the person with whom you were dealing so the habit of being polite for me has extended to a machine intelligence that seems to be more than it really is.

I spent a while watching a presentation given by Dr Sebastian Thrun who teaches part of the AI class. In the presentation he showed off the Google driverless car and was explaining some of the aspects of the AI system. The car stopped several times for people who had crossed late at a pedestrian crossing and on a couple of occasions, the person gave a little thank-you wave to the car. Obviously the car didn't care but this begs the question of whether it should or not.

Reinforcement learning in AI could very well take notice of the user’s approval as a cue for better understanding the intent of the user or the people with which it interacts. It seems obvious to me that this would work out well but when faced with someone who was mentally ill, aberrant or just plain obtuse a machine system that takes cues from its users could potentially become very weird indeed.

Isaac Asimov invented three clear and precise laws of robotics which many people make the mistake of considering for real robotic systems. They are at first glance precise and unambiguous with seemingly no nuances but we should also remember that Asimov's genius was creating such a set of strong rules with the express intention of finding ways in which the robots in his stories could misinterpret them. I believe that as machine intelligence becomes more competent and more capable of interacting with the human race, the auditing systems that will be needed to ensure that the system doesn't become twisted will be more difficult to create than the intelligent agents themselves.

Omnia 7 Vs iPhone 4S

I dusted off the Omnia 7 yesterday and did a full update to Mango including firmware and OS. When I went to bed last night the Omnia had just come off charge and was 100% full. Apart from showing my wife how lovely the OLED display was, I didn't use the Omnia at-all. It wasn't downloading mail or browsing the net.

During the same period I used my iPhone 4S from a full charge which it got at about 11:30 last night. It got my mail several times during the night, I used Siri to text my son and read his replies, I looked up flights to Malmo for a conference and generally messed about with it.

This morning the Omnia is at 76% charge and the iPhone at 92%.  Samsung have some work to do. The battery for the Omnia is too small. The omnia is physically larger than the iPhone and should have more space for a larger battery but it seems to fail the test in a straight comparison.

Thursday, November 24, 2011

Windows Phone 7 debugging on the device...

A few moments ago I posted on this blog that I had updated to Mango and that I needed to get the phone registered for development.

Well, That process took all of twenty seconds. I created an Hello World app from a panorama template and uploaded it to the phone where it is working just fine and all in the space of a few minutes.

Contrast that with my initial experience of putting an application on the Apple iPhone some while ago and the difference is clear.

I find myself in a strange situation. I really like Apple products. I also really like Microsoft products and I don't suppose I have a net bias for one or the other (ha ha pardon the pun) but that experience tells me that when one works with Microsoft developer tools, the process of getting the job done is secondary to the process of deciding what you want to do. This is almost the opposite with Apple development where the walled garden approach extends to the heavily fortified and guarded potting shed that stands in the corner of the garden.

I might just be tempted to ressurrect Trakkus now that I have all three platforms to develop upon.

Windows Phone 7.5

Well, what a rigmarole. I tried to apply a firmware update and bricked my Samsung Omnia 7 phone. Luckily the machine has a crash recovery mode and I managed to find a procedure and all the files for unbricking the poor thing. I will admit though that for a moment I was feeling a bit upset at having trashed my phone. Anyway, all's well that ends well and now I have WP7.5 build on the machine.

The next step is to recognise the phone as my development device and start cranking some Mango code for this puppy.

Tuesday, November 22, 2011

Siri

So funny. Siri understands "Make it so" as confirmation of a task.


- Posted using BlogPress from my iPhone

AI class midterm

Just got my scores for the AI class midterm exam. Well. I'm not pleased with myself because I feel that I put in a lot of effort for a 59% score on the exam. I attempted all of the questions but I missed out on some stuff that I feel I should have been able to get right.

I didn't realise when I started out that I would become so invested in the class but the work put in by the professors and particularly the attitude of Sebastian Thrun whose cheery and encouraging videos show that he is teaching a subject for which he has enormous passion. That makes for a great teacher.

I suppose that I have suffered from the bad luck of having my PC go totally haywire in the last week and being forced to spend a couple of days rebuilding and reinstalling all my stuff again. Still, I blame no one but myself for my mediochre score.

Bob Powell must do better.....

Friday, November 18, 2011

My bad...

The home button on my wife's iPhone 4 died recently leaving her much loved companion a useless cripple. I thought I would be clever and replace the button as I had successfully disassembled and reassembled my iPhone 3G to replace a battery and an earphone socket and replaced a broken back glass on her one.

I ordered the button from some dude on eBay and set to work with my big magnifying glass light and my tinest screwdrivers. After carefully following the instructions and laying all the components out in order of disassembly I finally put the home button in, rebuilt the phone and...

The blasted screen looks like all the ink has run. I'm guessing I screwed up the connections to the oled panel somehow but it has faded colours, lines and bits missing BUMMER!!

I had to go buy an iPhone 4S but I'm cagey, I restored Chrissy's backup to my own iPhone 4 which is only a couple of weeks old and I'm keeping the 4S for "important development work" ;-)

BUSTED! Speed of light gets a ticket!

http://www.bbc.co.uk/news/science-environment-15791236

Ok, so maybe still not dramatic? Maybe wrong? Maybe someone's huge cock-up like they didn't take account of the rotation of the earth or some dumb thing but this story is set to run and run.

Don't you just love science?

Thursday, November 17, 2011

Octogig up and running

So my new PC is up and running and currently installing Windows 8 Developer preview in a virtual machine. The VM has a couple of processors and 2 gigs of RAM dedicated to it as the real motherboard board has hardware virtualization and I can't see any difference between running Win8 in a VM as opposed to directly on a machine.

I had a moment of panic when my old hard-disk wouldn't unlock with the Bitlocker encryption key but I discovered that they don't like working over USB very much so I slapped it on a spare SATA cable and now the old disk from Quadratic is a spare drive on Octogig.

I'm really peeved because all this faffing about made me miss out a question on the AI class homework 5. The I was unable to complete the questions. Ah well, Stuff happens...

Big ugly stupid box

but four cores, 8 gigs and hardware virtualization. Ahh well, I suppose one takes the rough with the smooth, as the bishop said, watching the actress smear the pineapple liberally with butter.

Wednesday, November 16, 2011

Tuesday, November 15, 2011

Metro, a home away from chrome


Looking back, the geekiest thing ever was the introduction of the bevelled edge on a window. Just the merest hint of three-D and every morsel of geek DNA screams out for drop shadows to reinforce the ever present hint of morning sunshine that the window bevel shading suggests. Reading that stuff however is a pain and the use of bevels, drop shadows, halos and so on did nothing more than show off that one had a graphics card capable of colour gradation.

When reading, there is nothing more pleasing to the eye than the impression of a beautifully cut font. The simpler the font is to read, the better. The famous Swiss Font, Helvetica and its rip-offs, Verdana, Segoe et-al are icons of the dying years of the first electronic century. A time when designers ruled and were tasked with creating easy to read signage in busy metropolitan transport systems. Signage that was textually unambiguous and that was easy to understand by the droves of foreign tourists that passed through the great transport halls.

The Bauhaus design movement and the Swiss font sought to bring uniformity and simplicity to advertising so that the message became clearer and the nuance of that message relied not upon the typeface to imply class or style but to simply and firmly deliver the advertising slogan. The printed word became the vehicle upon which rode the fortunes of capitalism. Capitalism’s one true message delivered by capitalism’s one true typeface.

A hypertext document, web-page to the likes of you and me, has the possibility of being clean and simple to read but it requires elements of visual cues which tell the reader that the text is indeed a hyperlink. In the past, because we could, UI designers have reinforced the utility of onscreen controls by making them look like photorealistic representations of real things. Washing machines and other appliances sometimes had buttons moulded from clear plastic with the text pressed into the back of the button and painted or illuminated. We emulated that with gel-buttons.  We like to see buttons that sink down when we press them because that’s the way they work on our Hi-Fi systems or microwave ovens.

Can we express complex user interfaces in a clear and unambiguous manner without resorting to visual gimmickry? Can we return to the UI of GEM and the Apple Lisa while still retaining the ability to deal with situations far more complex than those systems ever dreamed of? In some way, I hope so. Maybe Metro can help with that.

Finally had enough...

of my sick computer. Although its a quadcore, trying to run VMs on it is a pain because it only has 4 gigs of RAM and that's all the board will take. I can't shoehorn more in there so my machine is unexpandable.

I'm going to buy a new motherboard that I can put at least 8 gigs of RAM in and another four core processor to run it then see if I can make sense of running all these VM's Also, I can repurpose my old machine to run Windows 8 full time and maybe make inroads into the Metro stuff.

I'm hoping tht by tomorrow I'll have the new beast up and running.

Monday, November 14, 2011

Opting

Google will serve you advertisments according to your demographic information that it may infer from sites you visit. According to my demographic, I am male. Ok, that's acceptable. My demographic also suggested that I am between 24 and 35, cool, I'm 51 but I am young at heart. I like tech, cars and apparently, Ukrainian and Phillipino girls for fun and friendship. Hmmm... I like them so much that the grinning vacuous wenches seem to appear on every AdWords served page I visit.

Strangely, as I've mentioned in this blog before, I actually believe in the ad-driven process because I really like the idea that I can get my searches for free and that someties I may be presented with an advert that I will follow and even make use of. I've certainly bought software online after clicking through an advert and my purchase of a Honda Jazz (Fit if you're in the USA) car was also influenced by ads after I had spent time looking for details on japanese cars.

I went through the process of redacting my demographic as inferred by Google yet still the wenches appear. In desperation I opted out entirely for a day or so but now, after a pang of guilt and no desire to have to pay Google for searching for my antique Sinclair Spectrum 48K or RM-380Z to complete my collection of retro-computing hardware, I am opted back in so now my new demographic info will accumulate again.

Well Google. I've been married for almost thirty years to a seriously sexy blonde who knocks the spots off you're wenches. Also, as a father of children who are now approaching their late twenties, I can't imagine a worse situation than being in a poor sad old man mid-life crisis situation with a twenty four year old kid who would be as frustrating to talk to as my own children sometimes still are.

If I start to get more and more dating site ads I'll opt out for ever and block your miserable cookies till the day I die. That's a promise.

Apple Vs Microsoft

I recently installed the Roslyn bits on my machine, a process that has totally screwed my PC. My Visual Studio install progressively ceased to function, reinstalling it was no help. Programs run slowly and IE crashes all the time. I discovered that there are no system restore points on my machine! A circumstance I found more than bizarre because I added restore points explicitly before adding several new programs. I have also used the iobit uninstaller which creates restore points automatically before uninstalling anything. Where did they go? Well it seems that Windows 7 has a bug that deletes all restore points when rebooting. Joy. My machine is utterly knackered without the possibility of restoring it to sanity even though I made every effort to protect it.

Here's my experience with my Mac and my iPhone. I wanted to update my mac hard drive so I got an external hard drive, plugged it in and enabled Time Machine on the drive.
Next day, I took the hard drive out of the Mac Mini, Plugged in a new one and booted up. My whole OS, all my files, all my work was restored to the drive in a matter of a couple of hours and I continued as before with a new 500GB hard drive as my root drive.
Later, I deleted a bunch of files by mistake because I don't really know how to drive the Mac apart from as a user. Time machine put them all back instantly, Phew! Today, IOS 5 update over the air effectively "bricked" my phone which had to be restored to factory settings. Less than 10 minutes after the phone came back to life, the cloud backup had been restored and my phone was working perfectly again with all its files and settings intact and I haven't even plugged it in for months.

I have always been and will continue to be a Microsoft user because I make my living with their systems. I am a great exponent of their products, reccommeding them to others all the time but I'm sorry to say, that when the chips are down and the disaster strikes, Microsoft has a great deal to learn from Apple.

Sunday, November 13, 2011

Even more Virtual PC

Don't try to install the virtual machine additions. They bluescreen the VM.

Saturday, November 12, 2011

More Virtual PC 2007...

Sadly VPC 2007 won't let me install a 64 bit Windows 7 inside it but it seems happy with the x86 version.

Virtual PC 2007 running on Windows 7

In desperation to repair my seriously sick PC and un the situation where I cannot reformat and reinstall my work PC due to the requirement for some paid-for software that I have lost the install CD's for, I decided to use a virtual PC to run Visual Studio which is so busted it won't work at-all these days.

All the problems started when I installed the Roslyn CTP. Flash quit working immediately and now, Visual Studio has progressively failed such that it's unuseable. Windows Forms designers won't load screens or controls, no intellisense etc, etc.

I was inspired to simply set up a virtual machine using Microsoft Virtual PC 2007 downloaded from MSDN but after installing it, it refused to run due to compatibility issues with Windows 7. After much head scratching and a bit of thread following I discovered that Virtual PC 2007 will run just fine on Windows 7 as long as you uninstall the Virtual PC update in the programs and features control panel.

It seems that VPC 2007 and this update don't play well together. After removing it I was able to set up a new Virtual PC VHD and OS without further ado.

Wednesday, November 09, 2011

Metro, the phone - desktop dichotomy

Metro is all about clean and simple design with an engaging experience for the user. I wholeheartedly agree with that principle and applaud the fact that Microsoft has at last brought graphic design to the public face of the operating system. The look and feel of PocketPC / Windows CE et-al was always firmly based on desktop and that was surely a mistake. Small form factors, low resolution screens and intermittent usage demands a clear and concise way of presenting data.

Web design principles are too informal, too loose, for an operating system so although web sites are eminently usable and can be design works of art, the need to provide a consistent experience for users across a broad range of applications does not allow the unrestricted use of web design principles in a phone application.

Windows Phone 7 / 7.5 / Metro answers that requirement in a way that provides both the design simplicity and the ordered operating system expectations of the developer. This means that to design a good Metro application, one must follow the design guidelines.

Interestingly enough, the design guidelines for Metro have been made partly because of hardware design limitations for systems with limited memory and processor power. A Panorama application should have no more than five screen widths of content for example. Joy of joys, reduction of content implies fewer active controls on the page - a great design principle anyway - and also serves to reduce processor load for controls that do more than just display visuals.

How then does Metro translate to the desktop? Well, although the session yesterday was clearly phone oriented, the idea of reduction of complexity, user centric usability and ease of navigation is something missing from desktop applications. As a developer of desktop line-of-business applications I see that there must be a clear decision made whether one chooses to go the more conventional application design route or the Metro route.

On more capable systems such as those having flat panel displays and desktop type processing power, Metro us an ideal choice if, and only if, your application is aimed at consumers. By "consumer" I mean a consumer of services provided by the system, rather than a creator or power user. Metro is a beautiful glossy presentation window for all the complicated stuff you don't need your users to worry their pretty little heads about. Metro should absolutely not be the choice of UI for your next line of business application unless of course you are using untrained chimps to actually run your business.



Tuesday, November 08, 2011

Morning sessions at Paris WP7

Metro apps use a particular design style. Very clean and minimalist. Having one foot firmly in the print industry, I can relate to the Swiss style of simple graphics and clean typography.

I was just about to suggest to the presenter that the film Helvetica was a good reference for this design style when he asked the audience how many of us had seen it. About four hands went up in a crowd of about a hundred and fifty so a low percentage. Personally, I love that film even if it is a little obscure. If you haven't seen it and you're interested in modern graphic design it's a must-see.

Metro is clearly a response to graphics on a low resolution system. Keeping graphics clean and simple makes for good readability on a small form factor regardless of the fact that the phones are quite capable of running computationally demanding three dimensional games.

The days of gel buttons, drop shadows, bevels and halos are over, at least for the moment and frankly, I breath a quiet sigh of relief at that news.

For the phone, Metro is an obvious solution. Metro on the desktop is great, if you never use your PC for anything other than running the apps behind the super large icons or tiles. Metro is definitely not a system for those who make their living with the computer and who need access to deep functionality.

The starkly clean lines and supersaturated colours don't play well with complex tasks.

I was frankly disappointed at the same old same old of the application structures of all the demos. Once again, we are shown the wrong way to create a solid application. Too much intelligence in graphics with lots going on in the code behind. When will MS realise that demos should reflect the real world requirements of software and actually teach best practices from the outset.

Corrina B's design session was informative and showed of the ease with which an application can be crafted by a practice designer using Blend. Again though, I found her session, while fascinating, to be too full of minutiae and not as clear as the clean design that she was trying to promote.

More from me on this subject tomorrow as the 250 mile drive home was a pip.

Windows Phone 7 day

I'll be blogging and tweeting live today from the Windows Phone dev event at the Microsoft offices in Paris.
Follow me on twitter @bobpowell1



- Posted using BlogPress from my iPhone

Location:Allée du Bord de l'Eau,Paris,France

Saturday, November 05, 2011

Grrr.. template cockup!

'nuff said!

Maker madness.

How to create a low cost maker lab.

Hardware:
  PC: The one you might be using to read this blog?
  Mac: as above:
  Arduino open source hardware: @ $20 ebay and various vendors (the hardware of choice)
  PIC microcontroller starter kit: @ $40 from Microchip (PIC controllers end up more bang for the buck than ATMEL)
  Parallax 32 bit multicore microcontroller @$25 from Parallax (Serious power but a wierd programming concept. not at all mainstream and needs understanding.)
  Hand-held digital oscilliscope: @$50 from ebay (optional but a really excellent tool to have)
  Soldering iron: $20
  Various small tools, screwdrivers, wirecutters, etc.

Software:
  Microsoft Visual Studio express: Free...
  Arduino development system: Free... (Mac or PC)
  PIC development system: Free with PICKit mentioned above
  Parallax dev kit: Downloads for free from Parallax Inc.

Optional:
  If you can wangle a full version of Visual Studio get the VisualMicro Arduino development addin. This is brilliant BTW.

You can literally get going with programmable electronic coolness for the price of a half-way decent lunch in a restaurant near you someplace.

Fusion of WPF, Arduino and other cool stuff from Jeff Albrecht

Jeff has some cool projects going in the Arduino space, notably SAMI, his Semi Annoying Mechanised Intruder that is a wheeled robot based on Arduino hardware that has various sensors. Watch a video of SAMI here...

Jeff recently adopted the code I created to draw Lissajous figures using WPF on a bitmap buffer to show the ping returns from the ultrasound sensors on his robot.

For me, these sorts of projects are the most facinating. Sitting in a technology space such as Windows or Mac or iPhone or Arduino is one thing but when we can so easily merge and fuse these technologies, especially in the context of the maker and hobbyist culture, we begin to see the possibilities of what a hands on approach to tech can provide.

I really think that the computer revolution is coming full circle because the availability of development equipment that would have cost thousands just a few years ago can be had for literally a few tens of dollars or sometimes for free today.

Interest in hands on programming, repurposing and reprogramming is rising amongst tech savvy young folks again. I can see exiting times ahead for innovation and understanding in the years to come.

Thursday, November 03, 2011

AI-Class.

I do believe that the planning portion of this weeks AI class is even more annoying than the logic portion.
I started my career as a teacher and I know that if I presented a class as poorly as Prof Norvig's last couple of efforts I would have lost students in droves. They would have all bogged off to the pub!

Friends of mine...

Great work!

http://www.nemrod-software.com/new/

Wednesday, November 02, 2011

Congratulations China.

On the successful docking of your space hardware. This is a great achievement and deserves praise.

Shame on the United States and Europe however for imagining that more earthly financial matters preempt the space race. There are no more frontiers on Earth. The only direction for the human race is up and out into the solar system.

Vast resources, more than have ever been dreamed of by all the oil tycoons of this world, oceans of fuel, entire planet masses of metals, precious elements by the billions of tonnes are just sitting there ready for exploitation if only the powers of the world would make the effort to go there and get them.

Complacency and the belief that "we are the greatest" is the worst possible attitude to take in the face of what is coming. The United States and Europe must fight to maintain its power, not over the earth but over the solar system and the universe.

If we leave the planet we must work to ensure that a balanced perspective leaves it with us...

AI class.. not so much fun today

The explanation of propositional logic and particularly the uninformative waffle about first and higher order logic has been the most obtuse of the course so far.
If you want to educate people, don't write a lot of crummy and abstract examples and waffle about them in some little known dialect of Klingon!

Tuesday, November 01, 2011

AI class. Light dawns..

When I was a little kid I hated math because I couldn't see a use for it. My grandfather, who was an expert toolmaker, began teaching me trigonometry when I was seven or eight and in those days we used a slide rule to do the calculations. The great thing about slide rules is that they give one a sense of accuracy given a magnitude.
Later, when I became interested in computers, I wrote programs that used little math until I became friendly with a chap who showed me that even seemingly simple problems can benefit from some clever mathematical shortcuts.
Later still, I became interested in 3D graphics and wrote a rather cool, even if I do say so myself, 3D modeling program to generate the scene lists for Polyray and POV ray-tracers. I admit that i worked too hard on that problem and although I succeeded, the path was painful and full of nasty kludges.
Now I am taking the Stanford AI class and Doc Sebastian is introducing me to a lot of math I have never needed or even thought I might need one day. I will admit I'm finding it hard and I wish that I had spent more time discovering the math when my brain was young and fresh.
All that being said however, I'm finding this course a really interesting and enjoyable challenge. I have been frustrated from time to time but as I go through it I find myself understanding it more and more and really enjoying the course content.
My poor old neurons are getting a good workout but its definitely fun fun fun!!!

Sunday, October 30, 2011

Rhetoric

Syrian president Predicts an earthquake. Hmmmmmm

Maybe Mr al-Assad should remember Iraq's leader being hanged after the "Mother of all battles" or Muammar Gadaffi being "sodimised with a knife or a pole" before being shot in the head by a disgruntled citizen.
Despotic north african leaders seem to have a miserable record when it comes to their survivability after spouting warlike rhetoric.

The old saying that discretion is the better part of valour may be even more applicable in these interesting days.

Al-Assad... SHUT YOUR GOB AND GIVE UP!!!


- Posted using BlogPress from my iPad

Sir Jimmy Saville

Respect.


- Posted using BlogPress from my iPhone

How odd that reviewing my blog I find this post. He fooled so many...

Saturday, October 29, 2011

Gesture user interfaces

Many people "speak" with their hands using gesture to reinforce the context of what they are actually saying. Recent innovations such as the Kinect system from Microsoft could enable these gestures to be parsed and to provide user input. Generally, such gestures are subtle inputs which are directed at the peripheral vision of the observer, the listener in the conversation.

Recent moves toward more overt gestural input, such as drawing shapes in thin air or waving one's arms about in "Minority Report" style ate interesting in principle but will undoubtedly present problems for users with regard to repetitive strain injuries sustained from attempting to make precise control movements in a 3d input space.

I recently fitted a light in an awkward place and the strain of trying to do up small screws while reaching in front of me into a restricted space was considerable. This would effectively be the kind of input that a CAD operator might have to repeat while creating a precision drawing for some physical object in a 3d design space.

I think that gesture input will be most useful when used to reinforce the nuance of verbal commands, somewhat similar a to our own innate gesture recognition systems we use as humans every day.


- Posted using BlogPress from my iPad

Friday, October 28, 2011

Hallo Norge.

Du representerer den nest hyppigste besøkende til bloggen min. Enda mer enn Amerika. Fortell meg hvorfor, la meg komme kommentarer.

Hello New-Zealand!

My blog stats are surprising because you guys seem to be the most avid readers of my external monologue. I'd love to know if its because my ideas appeal to your cultural senses or if you have a particularly high interest in the sort of technical posts I make or if you read my posts with that irresistable sense of horror, like someone who privately watches awfully embarrasing soaps or ABBA concerts behind closed doors.

I will admit that I am very much interested in the idea of coming to the antipodes to live and to work. I'm finding the northern hemisphere a bit strange at the moment. I have relatives in Australia and they all rave on about how wonderful life is down there. I know also that Australia is not New Zealand, don't think I'd confuse the two. Anyway, my Australian audience is way down my list of readers.

Please feel free to leave me a comment or two. Except that is if there's just one sad Kiwi stalking me by reading my blog hundreds of times a day...

Thursday, October 27, 2011

Science is sexy again!

I can fully see why science program's with stuffy old professor types or middle aged spinsters were not high on the viewing lists. Hienz Wulf, Robert Winston; you can take 'em or leave 'em.

The latter day gurus however are a different proposition. My wife and teenage daughter will sit for hours apparently engrossed in a science program presented by Brian Cox and both my sons and I greatly appreciate a good education by the likes of Alice Roberts or Kate Humble.

I'm amazed that the concept took so long to take off..

- Posted using BlogPress from my iPad

Shutting down a Metro app

Metro apps take up the whole screen. The ones in the examples have no menu and no way to shut them down. If they play stupid distracting music, they continue to play stupid distracting music even when they are in background mode. This makes the UI incredibly frustrating to use.

Why not respond to the Escape key?

If you need to close down a Metro app, for the moment you need to use the Alt-F4 key combination which, I must admit, I haven't used in about ten years!

I can see this being a long and painful road.

Case in point...

Look at this example of an application using the Metro UI:

There is no discernible indication that the "Pick feeds" text is actually active and invokes an action. The link actually brings up a set of podcast feeds but floating the mouse over what seems to be a title has the effect of an almost indistinguishable darkening of the colour. I suppose in reality that the choice of float-over colour was one made by the application designer but when moving to a totally new user interface model, there should be a rather more noticeable change.

I'm all for subtlety but there is a limit below which subtle becomes obtuse.

Metro has me gnashing my teeth

The developer preview of Windows 8 includes the Metro interface that mimics the touchscreen interface of the Windows Phone 7. I'm actually very pleased with Metro on my Samsung Omnia 7 phone and I actually prefer it as an interface to that of the iPhone however, the desktop equivalent seems to be absolutely horrible to use in a desktop environment.
The way that apps take over the screen is touted as a wonderful feature that enables one to give the app full concentration but when said app has no obvious escape route, the multitasking habits of the seasoned desktop user demand a little less insistence from the application and a wee bit more compliance. I have a touchscreen PC in my kitchen upon which I am tempted to install 8 and gather feedback from the all encompassing demographic of my very diverse family who will test it to death in every mode of utilization.


- Posted using BlogPress from my iPhone

My new desktop...


Windows 8 / Metro developer Preview

A bit of a radical change just to get Flash working but hey-ho...

Windows 8 Developer Preview

I haven't even booted it up yet and I am already annoyed. Why?

"Getting devices ready 56%" Getting devices ready????? Where the hell did you go to school?

They say first impressions count. I am in a continuing downward spiral of despair.

Flash sucks even more!

So now this miserable crap works some of the time. If I hit a page full of flash ads, the page loads, pauses for a few moments and continues showing the flash ads just fine. If I hit youtube or some other flash video page, the vid begins to load and then the little busy icon freezes and the page dies.

I've uninstalled all of Roslyn, all but a few of my apps, reinstalled Visual Studio and the service pack, uninstalled flash N times and reinstalled it, run registry cleaners and so-on and it still dies on me.

I've been (almost?) a week now with a partially functioning PC. I might just have to wipe it.. :-(

What I really want...

is a jailbroken iPad running Windows 8 and Metro. Mwwwhahahahaaaaaaa...

Nostalgia...

ain't what it used to be.

Tuesday, October 25, 2011

Kick 'em when they're down.

In response to Gary Stix's article in Scientific American http://blogs.scientificamerican.com/observations/2011/10/24/steve-jobs-a-genius-yes-a-role-model-for-the-rest-of-us-no-way/

I say that it's a particularly brave thing to kick a chap in the nuts when he's so dead that he can't come back and smack you in the chops! Hey Gary.. What did you do to change the world today?

Steve Jobs is very newsworthy I'm sure but the use of his name for no other reason to get your miserable article published in a respected journal isn't really kosher. If you really want to have a go at Steve, borrow your cousin's boat and row across to see him!

Flash sucks!

I'm somewhat unhappy at the moment because last week I downloaded the Roslyn CTP to my PC which installed just fine. Trouble was I was using Visual Studio to develop some objects in my prototype SigmaBinder library to do probability calculations and Bayesian network calculations for the AI class. VS continued to work but my flash player now crashes all browsers that I tried it on. I struggled for a while watching the lessons on the Mac and trying the math on the PC but it was so frustrating that I decided to uninstall VS and everything that had been installed with Roslyn to no avail. No matter what I tried Flash still continues to crash and I can't reinstall it. I don't really want to reinstall Windows now as I have a couple of programs that I need and for which I have damaged the install disk. Anyway, the upshot of the story is that I missed the deadline on the AI class homework.

Saturday, October 22, 2011

AI class AARRGGHH

Just doing the Bayes network part and the test for having cancer given that you get one positive and one negative result. It seems that actually doing a correct calculation is not good enough. Had I done a sloppy calculation and got his miserable result I would have got the question right.
I think if I was paying for this course I would be unhappy at the quality of it and indignant if their question marking during the quizzes had some bearing on my future as an applicant in the workplace.

Friday, October 21, 2011

Bushisms abound in the nucular age

I am watching a program in which Marcus De Sautoy, a bona-fide mathematician, is explaining the recent findings of the OPERA experiment. This program is produced by the BBC, THE bastion of correct English that has the task of protecting the English language against erosion by colonial pollution and teenage text-speak. As I listen I shudder in absolute horror as this supposedly learned man repeatedly speaks of "nucular" physics and the "nuculus" of atoms. He has less credibility than a brain dead Vally girl! I despise him!


- Posted using BlogPress from my iPhone

Thursday, October 20, 2011

Roslyn arrives

Albeit in CTP form, Roslyn, the new Microsoft "Compiler As A Service" (CAAS) system is the first step towards the realisation of ideas from the tantalising talk that Anders Hjelsberg gave at PDC in 2008. This video is of Anders' talk on the future of C#. The video is one hour and ten minutes long and just the very last ten minutes (time code 58 minutes) talks of using the compiler as a service to dynamically generate executable assemblies at runtime using the compiler as a dynamic tool.

As you know, the process of developing code can be a laborious one with iterations which require constant feedback. You also probably know that code generation isn't new and has been with us for some time but until now, the possibility of an automated, iterative and self adjusting system of code generation has been almost impossible.

For a long time, dynamic code generation and even the principle of self modifying code has been a very touchy subject amongst programmers. To some it is complete anathema while to others it has been an excruciatingly difficult yet necessary task with tools that were not well suited to the job.

Roslyn aims to bring the techniques of automated code generation into the mainstream by providing a set of services that enable that develop and feedback cycle to become part of the running application process.

The first public iteration of Roslyn is available now from the CTP servers. It runs on Visual Studio 2010 and the length of time taken to bring this to the CTP stage, almost three years after the talk Anders gave in 2008 is a testament to the difficulty of getting this right.

Wednesday, October 19, 2011

Self rewiring electronics.

Oh, you mean like neurons?

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

If data be the food of...

Well, everything really, then eat-on.

Historically, creating or capturing data has been a costly task because sensing, or reading or collating the information usually required expensive setup or large scale organisation or both. A network of weather stations for example is a logistical problem only available to huge rich organizations like governments. Trawling through written records of statistics was a lifetime task for not much usable data. Today however, things are really different. The sheer volume of data being generated and the ways to refer two or more seemingly disparate data sets to one another is becoming cheap and possible.
Phone privacy is a big issue today and people seem to have a fear of how data might be used against them. Recent revelations that the iPhone was collecting cell-tower positions was seen, rightly or wrongly, as an intrusion on a person's right to not expose their wherabouts.
I strongly believe however that the more data is available in all forms then the better life will become and the more the individual will be protected.
Telephones are being given more and more sensors. A temperature, pressure and humidity sensor on a large proportion of telephones would generate so much real-time data for weather prediction that the expensive networks of weather sensors we maintain today would simply not be needed and the sheer volume of data would open up huge possibilities for correlation of seemingly unrelated events with that information. Perhaps every mobile phone should be equipped with every type of sensor its possible to squeeze into the package. We could seed the environment with millions of cheap sensor packs by including them on the pages of magazines and even embed them in fast food packages.
More data would mean more anonymity, not less. Modern man needs to accept that his whereabouts are pretty much known all the time if he wants to participate in society. Those that don't wish to participate are often wierd anyway so society can probably do without them. Floods and floods of data would serve to make an individual's contribution far less interesting. Like the importance of one fish in a shoal of sardines.
As we generate more data, our lives will be affected by it to a greater and greater extent. It would be foolish to try to stop it because the benefits already far outweigh the inconvieniences.

Tuesday, October 18, 2011

Time travel

Might be relatively simple but would you want to go back a second in time and find yourself 240 miles above the earth or a minute and find yourself past the orbit of the moon or a million years and be floating alone in the depths of interstellar space? Time travel is probable. Calculating where you want to be when you get there is highly improbable.

AI class homework 1

I have no clue how but I got 82% correct even though I felt I had done badly. Ok, I suppose there must be a lot of 100%-ers out there but I don't feel bad about that.