I managed (seemingly) to kill two of them.
In both cases, I had tried to upload code which just didn't get there so I hit the reset button on the Spider to get it to load.
The first time this happened I had just changed a hardware extension that I was working on and, although I had actually hit the reset, I associated the problem with the hardware.
The symptoms were that the screen came up with the usual boot-up blah blah and then seemed to "melt" in a computerised form of tunnel vision to what ended up as a "Gray screen of death"
Te upload attempt, and indeed, all subsequent ones failed. I put my hand up fairly quickly and told my client I had killed an expensive chunk of hardware and he smiled and gave me another.
Later I did something pretty similar, couldn't upload, hit the reset.... Gray screen of death.. AARRGGHH
Bob was not a happy chap.
Gadgeteer number three was working still and I took the other ones with me to see a friend who works at MS Paris. One of his guests said "Oh yeah, that happens all the time, just erase it, stick on a bootloader and update the firmware"
Well, we did this and ended up with three happy healthy FEZ Spider units again.
The reason that this seems to happen is that under certain circumstances, that seem to be more often than one would like, the programming voltage for the EEPROM is hit and a few bytes or even bits of firmware memory can be written over. This results more often than not in a total system lockup.
The moral of the story is that if your Gadgeteer seems to be fried, don't make a keyfob out of it or chuck it in the bin until after erasing and uploading a new bootloader / firmware package has failed.
Happy hacking!!
Insightful, profound, generous, witty, genius; all words that might be used somewhere in this blog.
Friday, February 24, 2012
Thursday, February 16, 2012
Safari STINKS!
Trying to use Safari on my Macbook Air is nigh on impossible. It keeps on "crashing" inasmuch as it gets half way through loading a page and just stops what its doing.
I can't be bothered to troubleshoot it so now my main browser is Chrome.
I can't be bothered to troubleshoot it so now my main browser is Chrome.
Monday, February 13, 2012
Follow me...
My blog and my web site get a lot of hits every day. I can see them on the statistics. The problem is that I'm never sure whether the page has been read or just hit by some bot. Now I know that a certain number of people do read the blog and whether you do so on a regular basis or just visit it via my web site or find it by accident is a question I'd like to answer.
I have thought of a number between 0 and 200. Follow my blog and the n'th follower who coincides with that number will recieve a $20 iTunes gift certificate from me. I'll announce the winner as soon as the magic number is reached.
I have thought of a number between 0 and 200. Follow my blog and the n'th follower who coincides with that number will recieve a $20 iTunes gift certificate from me. I'll announce the winner as soon as the magic number is reached.
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:
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.
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!!
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!
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
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.
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('boo!')"
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 ' 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.
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('boo!')"
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 ' 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!)
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.
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.
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.
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!
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.
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??
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
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.
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.
Subscribe to:
Posts (Atom)