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.