12
Jun/10
0

Getting Back To My Roots

This spring has been a great opportunity to get out into my yard and do some much needed maintenance.   In the past I would have hired someone to come out and take care of these things for me, but this year I have been consciously seeking out home maintenance activities that I can find enjoyment in.

It has been almost two months now, and I’ve been making regular visits to my yard, working away bit by bit, stopping when my yard waste container is full.   As I’ve been weeding, dead-heading, raking, and trimming, I have realized something quite amazing.  Each time I take on work in the yard, I feel a strange sense of calm come over me, and I unintentionally end up losing hours in it.  Put simply, I love it.

This is somewhat uncharacteristic of me, so I have been meditating on why it is that I find myself so feeling so fulfilled while working in the yard.  Certainly it could just be that I’m getting older and more mature, but I find such explanations to be unsatisfying.  The truth that I have come to realize is that it gives me an opportunity to view life from a completely different perspective, one of plants and bugs.

8
Jun/10
0

Implicit Types (var) in C#

After some thought I’ve come up with two simple rules to go by when using implicitly typed variables to make sure that you don’t end up seeing their nasty, code obfuscating side.  But I’m getting ahead of myself, first the important question that someone is bound to not be asking right about now:

What are Implicit Types?

// Explicit
List<string> userNames = new List<string>();

// Implicit
var userNames = new List<string>();

Implicit types in C# are basically placeholder types that the compiler figures out for you. They may hold any type to begin with, but once they are assigned a value of a certain type, that type is noted by the compiler and will error if you try to assign a different type later.

// Okay! quote is being assigned a string value
var quote = "Things that try to look like things often do look more like things than things.";

// Compile Error! Cannot convert source type 'float' to target type 'string'
quote = 4.0f;

12
May/10
0

Canvas Element Positioning Performance

C# and Silverlight provide a rich set of layout controls that can be used in constructing elegant user interfaces, including a do-it-yourself Canvas class that allows you to manually position elements on it’s surface.

Positioning Elements in Code

With a Canvas you’re almost always going to want to have some code that positions the child elements.  To move things about, the property you are concerned with is not, as you might expect, a Position or Left/Top property on the child element, but rather it is a property of the Canvas that can be set on a child element.

There are two ways I have seen used to set the Canvas.Left or Canvas.Top property on a child element, and in some cases you’ll want to distinguish between the two.

The first way is to call SetValue on the Child element with the DependencyProperty you want to set, Canvas.LeftProperty or Canvas.TopProperty.   The second way is to call Canvas.SetLeft or Canvas.SetTop and pass in the UIElement to set it on.

9
Mar/10
0

Silverlight 3, LINQ, and Bing! Oh, my!

In my last post I talked about Silver Shorts and showed off my example Bing Image search application.

For this post I want to go over the code that I created for doing a Bing image query, to demonstrate just how powerful and concise Silverlight 3 C# code can be. To truly appreciate this, I suggest checking out the code, which totals about 225 lines for both the Image Search utility AND the Test Application.

To get started, let’s enumerate the requirements I came up with for the project:

  1. Image Search
    • Bing Image query based on textual search terms
    • Transform XML results into custom classes

We’ll refer back to these requirements as we build the code to make sure we stay on track.

6
Mar/10
0

Project Silver Shorts

Last week I decided to install the Visual Studio 2010 RC for the purposes of messing around with C#, Silverlight 3, and all the new WPF goodness that came with it.  I only intended to dabble for a day or so, but ended up having my entire week consumed in what seemed like a moment.

If you have Silverlight installed, you can view the end result of my first experiment after the page break.  It is a simple Bing image searcher that displays thumbnails of the results on a canvas.

What is Project Silver Shorts?

More than anything Silver Shorts is an idea, a codename for a collection of demos in C#, most of which have yet to be written, targeting Silverlight 3, that are intended to be Short.  As I stumble and bumble my way around .NET, finding new and interesting things to do with it, I will make my experiments available with full source code on GitHub (skip to the bottom if all you care about is code.)

For the developers in the audience, let’s take a look at a simple LINQ query I have fabricated to summarize the goals of Silver Shorts while simultaneously showing off how neat LINQ is.

var blogPosts =
   from exp in user.Experiences()
   where exp.IsAwesome
   select new BlogPost()
   {
      Title = exp.Concept,
      Content = exp.Details,
      CodeUrl = exp.GitUrl;
   };

To be painfully and obnoxiously clear, this code example is not part of the actual demo program, it is only here to look pretty and be a conversation piece.

14
Feb/10
2

Valentinius J Daysworthy, Kidnapper of realistic expectations, Devourer of self-esteems par excellence, at your service.

I think Love is a wonderful thing that should be celebrated, and to that end I’d like to wish all the lovers out there a great day with their significant others.

Confusing Love and Happiness

I take issue today with the institution of Valentines Day, which masquerades as a supporter of love, happiness, and all things good about personal relationships, concealing an insidious second purpose just beneath the surface.  VDay, with the help of our Advertising and Media, manages to juxtapose happiness and love for the purposes of making the argument that a persons happiness and fulfillment have a dependent relationship to love or, errm, relationships.

29
Nov/09
0

Holy Mars Orbiter, Batman!

In August  of 2005 NASA launched the Mars Reconnaissance Orbiter,  In March of 2006 it arrived at Mars and began to study the terrain and atmosphere in great detail.  Over the last 4 years the MRO has gathered more data on Mars than the sum of all other missions to Mars combined[2].

Today let’s take a look at some of the amazing pictures it has returned.  All of the amazing detail of the images you see on this page are provided by HiRISE which is one of 6 instruments carried on-board the Mars Reconnaissance Orbiter…

Barchan Dunes in Chasma Boreale

Barchan Dunes in Chasma Boreale

High Resolution Imaging Science Experiment (link)

HiRISE is operated by the University of Arizona Tucson and has the most powerful telescopic camera ever flown to another planet at its disposal.  As of October 8th, 2009 the HiRISE project has released into the public domain almost 1.2million images, totaling just under 38Terabytes of data[3].

Sand Dunes

Sand Dunes

6
Nov/09
0

Yo-Yo Ma : Appassionato

Yo-Yo Ma Appassionato

It’s not often that I feel compelled to write and about music, but every once in a while something stands out as being so worthy of praise that it would almost be a crime not to.   After months of listening and consideration, I believe that Yo-Yo Ma’s Appassionato is just one such thing.

In a collection of recordings spanning almost 3 decades, Ma has put together a fantastic story about his passion for music.  Each track guides you effortlessly into a new chapter, all magnificently decorated with the nuance and detail that you might expect from a well written book.  From the lighthearted introduction of “Going to School” by John Williams, to the provocative and enduring conclusion of “Gabriel’s Oboe” by Ennio Morricone; Ma’s careful selection of recordings tells the story of his love for music that my words cannot do justice.

You may preview all the tracks on Amazon’s page.  Share and enjoy.

Filed under: Music
2
Nov/09
0

Kandel on Memory Storage

kandel_eric

In response to a blog post I wrote recently, a friend kindly pointed out that I seemed to have overlooked the work of Dr. Eric Kandel and others with respect to molecular changes that occur in neurons during learning.  In 2000 Eric Kandel was awarded the Nobel Prize along with Arvid Carlsson and Paul Greengard for their work detailing such molecular changes.  As it turns out because of their work, we actually have a pretty fantastic understanding about how things are committed to short and long-term memory, as well as the general way in which synaptic connections relate to the storage of things in memory.

Nobel Lecture 2000

My friend also provided a link to the lecture that Kandel gave while he was in Stockholm accepting the Nobel Prize.   I must admit that very little of the talk made complete sense to me, partly because the camera man chose not to show the screen while Kandel was using his laser pointer to go through the diagrams, and partly because I’m not a molecular biologist.   A few very cool insights did come out of watching the lecture, that are interesting enough to share…