I CAN HAS LOLCODE.COM T-SHIRT

As the LOLCATS meme goes TechEd; here one of my submissions:

techedlolcat

Now, in the interest of learning new programming languages: I purchased a LOLCODE.com T-shirt. What was interesting was the non-geeks looking at me strangely. People already think I am “out there”, and the LOLCODE t-shirt just proves it.

Before you start dis’in my new language of choice, there is a Visual Studio 2005 with syntax highlighting and Intellisense and a .Net version on the way.

So, my question to the developer community: do we need a special BOF LOLCODE session at TechEd 2007?

Microsoft PopFly is Social Programming

Microsoft PopFly is going to seriously impede my ability to do real work at Microsoft.  Oh, that’s right, I get paid to demo this stuff! 

PopFly is social programming, without the programming. Publish your ‘flys and have them rated; have other’s outputs for your inputs. Web sites could create their own Blocks to publish in this different form.

It’s just fun to build stuff that mashes data together. Below is what I could produce within 5 minutes (2 minutes getting a Flickr API key) and typing less than 15 characters: it is a simple Flickr photoviewer, showing the last 100 public images uploaded to my Flickr.com account.

PopFly was announced officially overnight – but I had heard about the project in my first week at Microsoft. Hearing about it vs. trying PopFly out are two separate things.

Technorati Tags: ,

AUReMIX07 Silverlight Video

frankheadgeek

Watch the video here of Frank Arrigo and Monique Eagles here. Yes, you will need to install Silverlight.

This is my first experiment with Silverlight and the Microsoft Expression set of tools. Using the inbuilt players in Media Encoder saved many days/hours of hand coding; yet I am sure there is more in there that will tickle out over coming weeks.

NOTE: Silverlight 1.1 is alpha-release!

Workflow (all on Vista Ultimate):

  • Edited footage in Adobe Premiere Pro 2.0
  • Export Sequence from Premiere Pro using Adobe Media Encoder 960×720 WMV9/WMA9, very light compression.
  • Import into Microsoft Expression Media Encoder (May preview)
  • Export footage as VC-1 Web Server High Speed (using a normal web server). This setting is 640×480. Obviously, I could compress this more.
  • Edit the Default.html to correctly reference EmePlayer.js (note: this got me for an hour. Linux web servers are case-sensitive, and the Default.html points to emeplayer.js. 404! Bug reported)
  • FTP files to directory onto nickhodge.com (could have used Expression Web, but I was debugging the problem with upper/lower case file naming above)

Thoughts? Comments?  I only have Silverlight 1.1 alpha installed. I’ve tested in Windows IE/FireFox and MacOS X 10.4 Safari/Firefox. The Mac’s audio might be out-of-sync. Again, this is reported.

 

PC with 512Mb of RAM? Install Vista Home Basic

Ed Bott, from ZDNet in the US recently tested Windows Vista Home Basic on a 2002-vintage PC with 512Mb of RAM – and found the operating system responsive and usable.

Surprisingly, even the visuals on this system were a treat. With a three-year-old video card, this system was capable of running Vista’s Aero graphics. But because Aero doesn’t run on Home Basic, I was stuck with the Vista Standard display. It lacks the transparent window borders and whizzy live previews on taskbar buttons, but otherwise the look is indistinguishable from a system running Windows Vista Ultimate.

Technorati Tags:

John Lam and Jim Hugunin: DLR Presentation

Microsoft’s John Lam and Jim Hugunin go large with the DLR at MIX07. Here are my notes whilst listening and watching the presentation:

What to expect: a Mac, TextMate, Javascript, Python, Ruby, Safari and Silverlight.  TextMate equals text editing. Silverlight is not binary, its just XML and text. You can break it apart and look at the gooeyness inside. And some friendly Microsoft people bantering about Ruby vs Python.

And DLR is going Open Source, like IronPython.

What strikes me the most is that the language that people are comfortable with: Javascript, Python, Ruby, C# – you can code your client side in the same language as server side.

Also, having Ruby instantiate Javascript and call functions. Wow. With a C# object doing UI. Technorati via XML through Yahoo!Pipes to JSON to Silverlight on a Mac. Retrieving from the JSON object deserialised and queried via LINQ.

Let alone doing Basic, with REM and all.

In their only Powerpoint slide, Jim details the performance gains of IronPython on the CLR engine. I wonder if the perf gains are going to match to Ruby, too? Is the DLR/CLR going to be the saviour of the scaling bumps of Ruby?

Parts of the DLR (from Jim Hugunin at end of video):

  1. Dynamic type system, shared object system
  2. Shared hosting API; host one, get all of ’em. ruby bits are coming together now.
  3. Bunch of helpers for compiler writers, so dynamic language runs fast

Question: can use DLR inside console, ASP.NET?

Answer: yes, you can use DLR anywhere you are using .NET. More constrained in Silverlight, due to the sandbox.

Question: is it compiling an assembly, or executing script

Answer: Dynamic methods in .NET 2.0, for code generation lazily; and is a dynamic method. Only held whilst there is a live reference. ASP.NET scenarios with stress test not held onto. Not using method rental; System.Reflection.EmitDynamicMethod

Question: JScript.NET vs. new Dynamic Language Jscript?

Answer: Developer want language purity, not tight integration and following .NET. So follow the ECMA 3.0 spec. That’s Javascript. vs. Ruby “freelove” specification of Ruby is its implementation, not a specification document.

Microsoft has changed, big time. My head is spinning.

More DLR

John Lam, why Dynamic Languages from John Udell podcast:

expressing my intent in the code.

Interesting interview between Tim Heuer and John Lam on Ruby as a part of the announcements yesterday.

The Ruby support from Microsoft is more than just Silverlight; it also crosses into the server and the client, outside the browser.

21st Century SmallTalk: IronPython 2.0 in a browser, performance and dynamic fun.