Archive for April, 2009

Art is a strange thing

April 30th, 2009

Art is a strange thing.  I grew up the son of an art teaching mother, but am by no means anything approaching an expert on the subject.  I think there was a point in High School when I got talented enough to draw someone’s face so it was recognizable, if not particularly good.  As far as appreciating art I do what I think everyone should do; I like what I like and I try to take opportunities to be exposed to new art.

Several years ago my wife and I traveled to Chicago for the first time.  The highlight of the trip was to be our first visit to Wrigley Field to see the Cubs play.  We also decided to visit the museum at the Art Institute of Chicago.  Looking back, that would have been the true highlight of the trip if not for getting to see the greatest living pitcher Greg Maddux pitch, and steal a base.

The AIC has one of the best collections of art in the world.  And it was there that I finally figured out why my mother loved the works of Claude Monet.  I was shocked how much better his work looked in person.  It is a difficult sensation to describe, that sensation when a work of art touches you like that.  I suppose I might describe it like an echo of falling in love.  In that instant Monet changed from “that guy that draws flowers that my mother likes” to “that f#@king masterpiece painting genius”.

Claude Monet

Dusk in Venice by Claude Monet

Hay Bales

One of many Hay Bale paintings by Claude Monet

I suppose my experience is not that unique.  Claude Monet is one of the more well-known names in art, and is probably the best know impressionist.  I am sure his work has touched others this way over the years.  Since our first trip to Chicago, we have returned several times, once with my parents along.  It was a real joy seeing my mother in a room full of Monet’s paintings.  We have also seen his work in San Antonio, New York and Edinburgh.  While I always find his work impressive, nothing has touched me like that first time in Chicago.

I was also impressed with the works of several other artists I encountered in Chicago, and during a later trip to New York (The Met).  In particular, the works of Japanese artists Ando Hiroshige and Katsushika Hokusai stood out.  Again, these are two of the best known Japanese artists, so I am not expressing anything particularly unique or earth shattering.  But these artists represent a completely different style of art than that of the impressionists.  I found a new respect and passion for Japanese art.  The following Hokusai image adorns my MacBook case (in the form of a permanent sticker the size of the case).

Hokusai

The Great Wave by Hokusai

These are wood-block prints.  This particular painting is from a famous series of prints he made called 36 Views of Mt. Fuji.  I find it amazing that he was able to create this type of detail with wood-block.  We have one of Hiroshige’s prints at home, and have purchased other Japanese artwork.

About a year ago I stumbled across artist Shepard Fairey.  Mr. Fairy has gained some fame for his iconic Obama posters, but I came to appreciate his genius when I stumbled across the image below on a web site.

Chinese Soldiers

Chinese Soldiers by Shepard Fairey

Of course you have probably seen the poster below.  Mr. Fairey is the guy posing.

Shepard Fairey Obama Poster

I really love Fairey’s style.  His propaganda look with genuine artistic originality is appealing.  A couple of months ago I bought a book showing a recent installation of Fairey’s, E Pluribus Venom.  I would recommend it to anyone looking to get a good look at Fairey’s work, with a couple of interesting interviews with the artist.  He is quite the trouble maker.

Art is a strange thing.  You never know what is going to excite you.

The Annotated Turing

April 30th, 2009

I just finished reading The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing Machine. Charles Petzold does an excellent job explaining one of the most important papers and proofs in all of mathematics and logic. I thouroughly enjoyed Petzold’s explainations intermixed with history about Turing.  He carefully crafts a story about Alan Turing in the annotations, taking important events in Turing’s short life and molding them into segues to various concepts in the paper itself.  Jumping back and forth from history to math in this way proved to be a very interesting way to read a mathematical proof (and I mean that in a good way).  

The math and logic can be a bit rigorous.  We are talking about the paper that established one of the core principles of formal math: that it is impossible to create a general algorithm to determine any truth.  Until 1936, most mathematicians thought that this was indeed possible.  A famous mathematician, David Hilbert, had issued a challenge known as the Entscheidungsproblem.  Turing, and Alonzo Church, independently answered the call by proving Hilbert’s assertion wrong.  While Church used a more formal mathematical approach, Alan Turing basically invented modern computer science to provide the concepts needed to prove that no such universal algorithm could exist.  On the path to this conclusion, he also proved that there must exist real numbers that cannot be computed.  Think about that one for a bit!  It is difficult to overstate the importance and impact Turing and his paper have had on our world in general, and in the subjects of mathematics and computer science in particular.

I highly recommend this book.  While the logic gets difficult in spots, one can skim over these sections and get to the point.  Petzold did right by Turing in this annotated version of his paper.  Its an informative and enjoyable read.

Pandora Radio

April 27th, 2009

My iPod was running out of battery power this afternoon.  Sadly, its 12 hour battery life has shrunk to something closer to 6 hours.  I was about ready to run out of music for the day.  What to do?

Google came to the rescue, as usual.  After a search for “free radio”, I found Pandora Radio.  Pandora is free (registration required), the sound quality is decent, and it runs on an interesting principle.  The user creates a “station” based on a band or song that they like.  The web site creates a virtual station that plays music based on this choice.  I chose “Metallica” because, really, who wouldn’t?  They rock.  I have been getting a steady diet of Metallica tunes from their various albums, and music from other artists in the metal/hard rock genre.  For example, I am currently listening to some Ozzy.

Check out Pandora.  It isn’t too shabby for free.

Electric Smart ForTwo

April 25th, 2009

Despite it’s size, the Smart ForTwo is one of the safest cars on the road.  With the help of Tesla Motors, they announced an electric version last year and look to be on schedule.  Here is a photos set and a video of the new Electric Smart ForTwo.

The regular Smart FourTwo starts under $12k.  If they sell the electric for under $15k I think they will have a long waiting list.  Electricity is much cheaper than gasoline.  A 100 mile range is plenty for commuting.  Of course this might not get around very well in snow and ice.  Its light enough and low enough that it would probably get stuck.  But for sunny metropolitan areas, this should be ideal.

Charting

April 24th, 2009

I have been doing a lot of  graphics work lately, mostly in Silverlight.  My latest task was to create a simple pie chart.  There are several open source Silveright charting solutions online, including the charting built in to the Silverlight Control Toolkit.  I decided to write my own pie chart for a couple of reasons.  I wanted something that was light-weight to download, and I wanted to learn a little about drawing charts in Silverlight.  I also needed to write a server-side pie chart to handle the case of a user that does not have Silverlight installed.  As it turns out, Microsoft also has a charting solution for this.  However, I resorted to writing my own GDI+ pie chart for this.  Their new ASP.Net charting solution turned out to be difficult to integrate with our product.

In my research into charts I found a graph site that has nothing to do with programming, GraphJam. As I have mentioned before, I have been relearning some of my high-school math.  Algebra, Geometry and Trigonometry have all come into play (in their simplest forms) in drawing various shapes to the screen in Silverlight.  I found the chart at the bottom of the page funny.  My wife and I love the History Channel when they are actually showing shows about, um, history, so the first chart also got a good chuckle from me.  Here are the two charts:

History Channel Programming Line-Up
see more Funny Graphs

Amount of use I get from Trigonometry
see more Funny Graphs

Music Theory

April 20th, 2009

I’ve rekindled my interest in music following my reading of Godel, Escher, Bach: An Eternal Golden Braid, which dealt with math, art and music.  I found a great site that teaches music theory from the ground up, Ricci Adam’s MusicTheory.net.  The tutorials are fairly basic but instructive.

Building a K-Mart to Microsoft’s Wal-Mart, Oracle buys Sun

April 20th, 2009

I find it humorous that the database company with a database that is outperformed by Microsoft SQL Server is buying the software company with a software environment (Java) that is outperformed by Microsoft .Net.  These guys are going to be the K-Mart to Microsoft’s Wal-Mart.  And yes, I have worked with Oracle DB and SQL Server, Java and .Net.

Oracle Buys Sun.

Who knows what evil lurks in the hearts of spammers?

April 17th, 2009

I allow comments on my site, but the commenter must be a registered user, and I approve all comments.  Anyone can self-register.  I use these setting in the blog software on my site, WordPress, to keep spammers from posting messages to my site.

A few weeks ago I started seeing new users registering, but not leaving comments.  There isn’t much of a reason to register as a user other than to comment.  Still, I see really weird usernames all associated with free email providers.  I have started waiting a few days to see if the user comments, and if not, I delete them.   But I am not seeing any spam comments.

I am not quite sure what the game is here.  Perhaps the spam software is probing for vulnerabilities, or checking to see if any user can author articles?  It is just a slight annoyance as it really doesn’t take much to delete some users, and I can always turn off comments since they really aren’t used very much.

Not sure, but this behavior has given some insight into the evil hearts of spammers.

Silverlight Command Line Arguments.

April 17th, 2009

I have been developing a fairly rich Silverlight application for the last couple of months that is meant to ultimately replace some of our existing UI.  This project has evolved from prototype to framework authoring to actual wire-frame implementations.  I have had a chance now to step back and create some small charting components for one of our existing pages.  A change of pace can be refreshing, and this one allows me to stay in Silverlight land yet spend about a week writing some production code.

There are a number of charting components available, many of them free.  I am going to take this opportunity to write my own from scratch since I really only need some simple pie charts.  I want to keep it small and simple, and yet learn from the experience.

I have run into a new situation with these small components that I had not encountered with the large application.  I need to pass “command line arguments”.  Or rather, I need to embedd some data in the HTML page for the Silverlight to pick-up and render.  This data will be the charting data.  As it turns out this is dead simple.  In the Silverlight object tag I simply include the initParams parameter with my data, comma-delimited:

  <object type="application/x-silverlight" width="100%" height="100%">
    <param name="source" value="ClientBin/MyChartingApp.xap"/>
    <!-- Command Line Arguments -->
    <param name="initParams" value="datum1=1,datum2=2,etc" />
  </object>

Then I read that data in during the application’s Load event:

  private void Application_Startup(object sender, StartupEventArgs e)
  {
    foreach (var key in e.InitParams.Keys)
    {
      var datum = e.InitParams[key];
      //do something with the datum
    }
  }

Pretty simple!  Now I just need to write some ASP.Net code to render out the desired HMTL, and I am all set.  Oh, that and write the Silverlight component.

Alan Turing and GEB

April 16th, 2009

Alan Turing is a legend in computer science. Let me set aside that fact that he is seen as the father of modern computer science, and list off a few of his accomplishments:

  • Principal participant in decoding German messages during WWII.  Turing, using his incredible intellect, was a genuine war hero, helping to defeat the Nazis and save allied lives with his work.
  • Author of the Turing Machine Thesis which outlines rules for determining artificial intelligence.  This paper spawned an entire field of research, and many of the deeper concepts in it have shaped the thoughts of computer scientists for generations.
  • “Co-author” of the Church-Turing Thesis, which outlines one of the core principals of computer science.  The concept behind this thesis might be the most important in all of computer science.

In a recent post I shared some thoughts about having completed reading GEB.  In GEB, Turing is a central figure along with other famous (and not so famous) intellects such as M.C. Escher, J.S. Bach, Kurt Gödel, Alonzo Church, Euclid and others.   Outside his famous AI paper Turing and others developed important theories about computation and computer science.  The design of computer languages was forever changed with the concept of Turing-completeness.  From a programming perspective, this means that no language will ever be more powerful than what we now have.  Our currently languages do a few important things that cannot be improved upon: they have variable substitution, they have recursion, and they have unbounded loops.  Turing and Church showed this, and others along with Turing have provided various logical/mathematical proofs on the subject.

After reading GEB I promised myself I would start reading about and exploring the ideas of the people quoted throughout the book.  I have started with Turing.  Charles Petzold has written a great book titled The Annotated Turing: A Guided Tour Through Alan Turing’s Historic Paper on Computability and the Turing Machine.  I actually purchased it before my recent trip to Great Britain but decided not to pack it.  I mean, there are only so many books you can pack in a single back pack and still leave room for things like clothes and toiletries!

I just started last night but I am already getting into the book.  I am looking forward to digging back into it tonight.

Before I end this post it should be mentioned that Alan Turing, a man who had a significant impact decoding German codes in WWII and was one of the most influential people in the 20th century, was gay.  Through unfortunate circumstances this fact was made public in 1952.  At the time it was considered a crime and Turing was persecuted by the British.  Turing’s friends and family describe him as a gentle soul and towering intellect.  He was found dead on June 8th, 1954 from an apparent suicide.  He was only 42.  Think what else he might have acomplished had not such a bigotted response fall upon him.