I don’t know why it has taken me so long to get to this realization.  Perhaps I’ve been more aware of my surroundings as I’ve gotten older.  I’ve always heard “write your congressman” with regard to political issues and people opposing them.

Turns out, writing them is not worth it.  Why?  Because the offices of our elected officials (in Arizona at least) are lame.  Allow me to provide an example.

In my latest post I ranted about how Arizona elected officials voted on the ‘bailout’ plan (that just happened to include new and extensions for bizarre tax credits that have nothing to do with the current economic crisis).  I wanted to contact all the elected officials who represent my state.  Turns out, none of them really know anything about technology.  Every “contact me” form was a web form from 1995.  Enter few bits of information and a plain text area to put in about a few sentences of text.  I sent them links to my letter just to see what happens…after all I took time to write it in a document :-).

I couldn’t contact any representative outside my district and I’m assuming that is some incredibly lame policy identified somewhere.  Needless to say, they don’t want to hear from a taxpayer/voter because I don’t currently reside in an area they represent.  I was able to fill out the 1995 form for my senators and expect nothing to come of it.  I also filled out the form for my district representative, Jeff Flake, who voted against the bailout plan with these ‘sweeteners’ added into the amendment.  His form was from 1995 as well…actually he didn’t even have one but punted me to the US House of Representative contact form, where, by the way you must know your ZIP+4 information.  Who the heck has their +4 memorized?  Sigh.

Anyhow, here was the reply I just received:

Thank you for contacting me.  All legislative inquiries to my office are responded to via the United States Postal Service.  (Nevertheless, please feel free to continue to use e-mail to send me your thoughts and ideas.)  You will receive a response to your question or concern as soon as possible.

WTF?  Seriously dude, I just sent you an email and you are going to respond in old school format?  And waste postage?  Am I the only one who thinks this is wrong.  Wake up Flake!  Challenge the status quo!

Maybe I’m naive here, but I thought they worked for us.  Their contact information for their email should be as readily available as my local mayor and town council.  What’s with the obfuscation?  I’m your constituent!

Man this is horrible and embarrassing.  I would say “write your congressman” to complain about such a practice but somehow I feel we’d be in some weird Bermuda communication triangle.

Here’s a letter I just wrote to the Arizona Senators and Representatives that voted on the H.R. 1424, economic ‘bailout’ plan.  Here’s their contact information as well if you need it:

One a note, even though I’m not a member of other districts I wanted to send it to them.  Apparently you aren’t allowed to.  I’m hoping Jeff Flake will pass it along to them.  Their web sites state:

“Regrettably, I am unable to reply to email from constituents outside of the 2nd District of Arizona.”

Cool, just be sure not to run for election in the 6th District, jerk.  Anyway, here is the letter:

Open letter to AZ Senators/Representatives - Upload a Document to Scribd

I’m disgusted by the additions to the bill.  I think maybe something should have been done, but appalled at the back door actions of politicians.

Lately I’ve been putting more design thoughts onto paper.  I used to try to prototype in HTML a lot, but it just got too easy to draw it out.  I liked the feel of being ‘less tech’ when it came to mockups, etc.  I was turned on to this program recently called Balsamiq Mockups.  It is a software program that basically allows you to quickly mock up web/software designs using wire-frame elements. 

Sample Balsamiq Mockup I know there are other methods (please post your favorites in the comments), but there is something about this product that makes me like it a lot.  My only complaint is the use of Comic Sans :-).  The author has done a good job of providing a suite of draggable elements that would make up most any web site/application.  I’ve been using it in design thoughts around my blog site here for Subtext, as well as other mockups I’ve been playing around with. 

What is cool is that the author provides several ways of getting individual licenses for Balsamiq.  One of them is if you are a contributor on an open source project or doing work for a non-profit.  The web site specifically states:

“If you are a do-gooder of any sort (non-profit, charity, open-source contributor, you get the idea), email me with a short blurb and I'll send you a license, FREE of charge.”

Very cool to see that kind of ‘giving back’ to the community.  I wrote to Peldi and requested a license for working on the various open source projects I’m involved with and received a license very quickly (the licensed version allows you to save/export). 

I find it to be a helpful tool in the toolbox for doing very, very quick mockups for thoughts.  It exports to a PNG file so you can share with others as well.  Share your stories of wire-framing and mockups!

When working with data and Silverlight there has often been the questions of wondering why when a service call fails that Silverlight returns the HTTP 404 status code.  In fact I’ve written about troubleshooting those types of issues in the past and tools you can use to help investigate some problems.

Still people mostly ask "if there is an exception, why is Silverlight telling me ‘not found’ instead of sending me the exception?'”  Eugene Osovetsky from the connected systems team aims to answer those questions in a recent post with a little more detail than has been provided in the past as well as offering some suggestions.  From his post, this is one of the main reasons which I’ve echoed in discussions, webcasts, forums in the past as well:

“Unfortunately, web browsers have a limitation with regards to status codes: When a browser plugin (such as Silverlight) makes an HTTP request, and the response status code is not 200, the browser hides the actual status code and the message body from the plugin. All Silverlight knows is that "something went wrong", but it has no way of discovering any details.”

Take a look at Eugene’s post for some other helpful suggestions.

You may be reading the title and wondering what is MediaStreamSourceMediaStreamSource is a piece of the Silverlight runtime that removes a the influence of a media file's container, giving developers direct access to APIs for manipulating encoded elementary audio and video streams.

Huh?

Basically it can enable you as the developer to implement file parsers/etc. in managed code instead of Silverlight, enabling support beyond the native built-in formats for media.  There hasn’t been much information about these types of topics, and I’d agree that for the mainstream, they may be a bit more advanced media scenarios for when the default containers and formats aren’t enough for your use.  Outside of the MSDN documentation there hasn’t really been any good samples of this use either.

Until now.

One of the program managers on the Silverlight media team, Larry Olson, has just provided a detailed public sample of the MediaStreamSource in action on the MSDN Code Gallery site.  He calls the effort ManagedMediaHelpers.  The project contains:

    • Silverlight class library (MediaParsers) which has helper classes for working with MP3 files, including being able to find the right point in an MP3 to begin playback.
    • Silverlight test project for NUnit
    • Silverlight class library (Mp3MediaStreamSource) which has logic for using MP3 file streams
    • Silverlight Application Demo which shows the interaction between a MediaElement and a MediaStreamSource

Why would you want this?  Larry outlines in the project:

“For one thing, having access to elementary streams means that developers can now implement scenarios that other solutions haven't necessarily provided thus far. One example of this is adaptive streaming or multi-bitrate support as was seen during the 2008 Olympics.

For another reason, having access to elementary streams allows developers to implement scenarios that the Silverlight runtime hasn't had a chance to implement yet or that the runtime might not be able to implement in the same timeframe that a developer wants it. Examples of this could be, RTSP:T protocol support, SHOUTcast protocol support, seamless audio looping, ID3 v1 and ID3 v2 metadata support, and many other scenarios.”

This is a great sample and source for those working with media within Silverlight.  Right now it is audio only, MP3 support, but gives you an idea of the MediaStreamSource API and functionality you could implement.