Parallel Computing Videos
Posted on November 15th, 2008
In my PDC Day 3 post I mentioned how impressed I was with the Parallel Computing session. Ryan, Richard, and I are still talking about some of the stuff we saw and learned in that session. Daniel was kind enough to mention in the comments that the video from his PDC talk is now online. If you weren’t able to attend PDC or you didn’t make it to the session this is a must see video!
I also noticed on Daniel’s blog that he posted links to a video of an interview he did about parallelism at Tech Ed EMEA . This interview is a nice compliment to the PDC session as it reiterates some of the important points of parallel computing such as what parallelism is (as opposed to just multi-threading) and why it’s so critical to understand how to leverage the power of multiple cores today given the prospect that 32+ core machines will be standard in the not too distant future.
It’s inevitable that parallelism will become a critical aspect of software development in the future and it’s nice to see Microsoft doing some great work in this area bringing such a vital (and complex) technology to the mainstream.
Tags: parallel programming, parallelism, PDC 2008, Programming, video
Filed under .NET, Programming | No Comments »
DeScramble - Video Demo
Posted on November 13th, 2008
In my previous DeScramble post I did an overview of the program’s UI. Now it’s time to see a video of the program in action!
However, I want to make a few things clear before you watch the video below.
- I have never used this program in any Scramble Live game with the exception of Cheater’s Ball. All the regulars in Cheater’s Ball know I have this program and have seen it in action.
- I have never used this program in any Scramble match. Just look at my record and that becomes obvious. Plus, all the people I play matches with know I have the program so it wouldn’t really fool anyone. Besides, actually playing the game with people is more fun.
- I wrote the program because it was an interesting challenge to me – My goal was not to make people think I am a better Scramble player than I am.
- After writing this program and watching it run against some of the better players in the game I have a whole new respect for how good those people really are. The speed at which they are able to find words on the board and enter them in is amazing!
So with that said, here is a short demo of DeScramble in action:
Tags: automation, cheat, DeScramble, Facebook, Programming, Scramble, video
Filed under DeScramble, Programming | 1 Comment »
Anders C# 4.0 Followup
Posted on November 11th, 2008
Since C# 4.0 was introduced by Anders at PDC 2008 there has been a lot of buzz about the features that have been added to the language and why. Many people have questions about why something like dynamic static types needed to be added and what was the thinking behind such decisions. I have wondered along with everyone else about many of these questions. Thankfully channel9 has managed to get an interview with Anders and asked him to clarify some of the reasoning behind the decisions they hade with the language. Video is below:
C# 4.0 - Questions and reasons behind the answers
Tags: Anders, C#, C# 4.0, channel9, PDC, PDC 2008, Programming
Filed under .NET, Programming | 1 Comment »
DeScramble - UI Overview
Posted on November 3rd, 2008
About a month ago I wrote an introduction to DeScramble an application I wrote this summer to cheat at the Facebook game Scramble. In this installment I will introduce the UI and the basic functionality of the application. Below is a screenshot of the main UI and a description of what each element does:
- Game window finder - drag this target to the browser window that is running the Scramble game. This allows the program to grab the window handle that is later used to interpret the game board. In a future version I may attempt to try and find the window handle automagically but this works fine for now.
- Send Answers toggle - checking this option tells the program to send the answers to the game.
- Answer Speed slider - use this slider to change how fast the program sends the answers to the game. From my testing anything lower than about 40ms tends to choke the game UI.
- Auto Stop/Start toggle (bot mode) - checking this option tells the program to automatically start and stop the solver during live games.
- Burst Mode toggle - checking this option tells the program to send the first 3 answers to the game immediately and then send answers based on the indicated answer speed. This option is to ensure that when the scores are first posted that you have some points. This eliminates the “cheaters lag” effect that is noticed when people have to type the board into a solver.
- Solve/Stop Solve button - this button starts and stops the solver.
Tags: automation, cheat, DeScramble, Facebook, Programming, Scramble, UI
Filed under .NET, DeScramble, Programming | 2 Comments »
SecondLight demo video
Posted on October 30th, 2008
As promised in my previous post here is a video of SecondLight that was demoed yesterday during the MS Research keynote.
Tags: PDC, PDC 2008, second light, SecondLight, video
Filed under Misc | No Comments »
PDC 2008 - Day 3
Posted on October 29th, 2008
Here are some random notes from PDC day 3:
During the keynote I was pretty impressed with the Second Light demo. In the demo they held a surface (a piece of paper in this case) over the main surface computer and it “illuminated” additional information about the data being displayed on the bottom surface. So think of a map being displayed on the main surface and then holding a piece of paper over that surface and having street names appear, but only on the second surface. Hard to explain, but cool to see. Maybe I can dig up a video and provide a link later.
The parallel programming for managed code session was amazing! It was cool to see what they have added to the framework to support multiple core/cpu machines and how easy they have made it for developers to support these architectures. They have added a new feature called task which is a lightweight unit of work that can be queued up on a specific thread as to not overload the machine with memory allocation that can result form spinning up too many threads. The best part about the new support that they have added is that syntactically it is almost the same as how you currently create a thread.
I spent some time chatting with the Azure folks in the Big Room getting some info on how to get hooked up to the cloud and some of the plans that MS has for bringing this service to businesses. It was very informative and interesting to hear how they are going to take some of the more complex things that most companies have to tackle in terms of redundancy and reliability and to provide those in a cost effective way to customers. I also ran into an old friend Clemens who I haven’t seen since I was in Germany in 04. It was nice to catch up with him and hear him talk a little but about his passion for supporting the service bus in the cloud. Here is a picture of us together in the Azure lounge.
We also spent a little time in the MS Research booth talking to the Pex guys. They showed us a demo of pex and how it can be used to create unit tests for your code and how it can be used to get a more accurate view of your code’s quality. I was very impressed with what I saw and I am going to start using it right away. I am also going to attend the session tomorrow morning that will be doing.
Another busy day, my mind it full and my body is exhausted!
Tags: Azure, ms research, parallel programming, PDC, PDC 2008, pex, second light
Filed under .NET, Programming | 3 Comments »
PDC 2008 - Day 2
Posted on October 29th, 2008
Yesterday was great and Day 2 was chalk full of windows 7 and Oslo goodness. The keynote started off right with a demo of Windows 7 and some of the new features that will be included. Some of the key things that will be introduced in 7:
- Better performance - reduced disk IO, reduced memory consumption, and faster response times from the start menu
- Mountable and bootable VHDs - this is probably the biggest feature in 7 IMO
- Improved program management from the taskbar - you can see more details within program groups and even preview the larger screen
- Customizable taskbar and system tray - you can change what the shutdown button does and which items show up in the system tray and how they notify you
- Tweakable UAC notifications - they added a slider that allows you to change how often and under which circumstances you will see the UAC approval prompt.
After the windows 7 keynote Don Box and Chris Anderson did a little demo of putting a service in the cloud. These guys are always interesting and they did not fail to entertain. Probably the funniest part of the demo was when people in the audience started hitting their published service during the keynote since it was running live in the cloud. The next part of the demo after that happened was showing how to secure a service in the cloud. LOL
Next it was off to learn about Oslo. The session was packed and it was a very interesting overview as to what Oslo is and what it is NOT. The main point is that a model-driven approach is not something new and that we have been doing this all along with technologies from COM to .NET 3.0. Oslo is a toolset to assist in this process we have been doing this whole time. Oslo is made up of 3 main parts:
- M - This is a textual language used to describe the models. This is used by devs to create and manipulate models.
- Quadrant - This is a tool for interacting with models and DSLs. It is a way to overlay visuals over the top of your models.
- Repository - This is simply the database that holds all of the model data.
After getting a taste for Oslo we headed over to the M deep dive. This was a very short demo that showed how you can use IntelliPad (an M dev tool) to build and populate models. They also talked about the grammar processor that allows yo to make your own custom syntax for M to allow a more natural language way of manipulating models.
The day ended with the party at universal studios. It was a Halloween theme with smoke everywhere and zombie-like actors walking around the park trying to scare people. It was pretty over the top but luckily the bottom part of the park wasn’t full of these characters. Best ride at the park has to have been the Mummy roller coaster.
Tags: M, Oslo, PDC, PDC 2008, Quadrant, windows 7
Filed under .NET, Programming | No Comments »
PDC 2008 - Day 1
Posted on October 28th, 2008
PDC 08 Day 1 did not disappoint. Here are some of the highlights from my day:
Keynote
They keynote was a pretty good introduction to Microsoft’s ideas about cloud computing and how they are going to bring it to the world. I was more interested in the “cloud” after leaving the keynote than I was when I walked in so I guess that’s a good thing. I can definitely see the benefit to putting and running a lot of stuff out in the cloud. I was pretty disappointed that there was no funny/quirky video (ala Bill’s last day) during the keynote.
CRM
My fist session was the MS CRM which was fairly interesting. The CRM 4 stuff was pretty basic where they highlighted CRM’s offline ability and the seamless way the UI can be integrated right into outlook. The really good stuff was when they showed the CRM 5 stuff. They have done some great stuff in the designer allowing admins to really do a lot more with customizing the forms in CRM and making them more useful. Things like related lookup fields which support the ability to cascade in the UI was a very cool feature. Other new features are filtering lists, native charts with drill-down, inline sub-grids, support for headers and footers in the forms. One other nice change was no more pop-up windows when you select records. Instead they change the main window to show the record and then the navigation around the frame changes and the left nav “slides” off screen hidden from view but still accessible when you mouse into the left side of the page.
C# Futures
By far the coolest session of the day was Ander’s C# futures talk (here is the video from this talk). Anders showed some of the really cool features coming in C# 4 as well as a few small peaks into 5! The changes in C# 4.0 centered around 4 topics:
- Dynamic typed objects (this is the main feature of 4.0) - Basically this introduces a new static type in C# called dynamic… yes the irony of this new type’s name wasn’t missed! LOL By using dynamic types you can allow the runtime to figure out the type of the object instead of the compiler. This allows you to write C# much in the same way you write JavaScript. In fact it’s so similar to the way you write JavaScript at one point Anders took some JS and pasted it into C# and changed “var” to “dynamic” and “function” to void and it compile and ran! Very Slick.
- Optional and named parameters - this is a great feature that will greatly reduce the number of signatures you need to write for some of your API’s. Basically it allows C# to act a bit like VB in the sense that you can have your method parameters be optional and assign them default values to be used if they are not passed in. Additionally the callers of methods can specify which parameter they are passing in by naming it in the call. This is done with a semicolon used in the method call - i.e. object.Method(message: “this is the message”);
- Improved COM interop - Microsoft leveraged the features from the new dynamic type and optional parameters to greatly simplify the calling of COM object from C# code. This essentially lets you call COM objects just like you would if you weren’t doing interop instead of having to pass in a bunch of placeholder objects for missing values.
- Co and Contra variance - Basically this features allows safe operations to be performed object that are more derived than their interface or delegate. So for instance you could pass a List<string> into a method that was taking IEnumberable<object> as an argument.
Beyond the 4.0 features Anders chatted a little bit about what they are tinkering with for C# 5.0. One of the biggest things they are doing is rewriting the C# compiler in managed code. Once the compiler is written in managed code the plan is to open up the compiler so that people can tinker around with it. Anders then proceeded to show a jaw dropping demo where he showed an application that could compile an app as you typed it into the command line and then show you the effects of the new compiled line of code immediately as you typed it. It was very impressive and the jam packed room was filled with open mouths and clapping hands.
After the sessions we headed over to the expo and stocked up on some conference swag. One of the most interesting things in the expo was Verne Troyer (aka mini-me) signing autographs at the devExpress booth.
All in all a great day @ PDC 2008!
Tags: C#, CRM, development, dynamic language, mini me, PDC, PDC 2008
Filed under .NET, Programming | 1 Comment »
Setting up T-Mobile @Home (Free at last!)
Posted on October 11th, 2008
I have always been envious of my friends who have been land-line free. They save money and no longer have to contribute to the overpriced monopoly that is Ameritech SBC AT&T. As much as I longed to be land-line free I have never been able to take the plunge for a few reasons:
- I have multiple cell phones so I would have to pick one to get all the calls for the whole family which isn’t ideal
- You can’t have multiple people talk on a call at the same time
- You have to carry your cell phone around the house rather than have handsets in each room
All that changed this summer when my cell phone carrier T-Mobile launched their T-Mobile @Home package providing customers unlimited nationwide calling and all the goodies for just $10 a month. Basically its a VOIP router that uses a SIM card to allow you to make calls over the internet using your regular land-line handsets. The day this little beauty came out I ran out to a T-Mobile store and picked one up. When you purchase the router you can have T-Mobile transfer your old land-line phone number over so you don’t have to go through the hassle of changing numbers.
I wasn’t exactly sure how I would set it up in my house since all my routers are in my basement and not near where my house phones are. Fortunately when I got it home everything was a snap to setup and I was making internet calls in no time.
Here are some pictures and the steps I took to get everything setup and running in my house:
1. The router is a typical broadband router with 802.11g wireless. However, this one also has 2 slots for SIM cards and 2 phone ports on the back allowing you to plug a phone into the device to make calls over the Internet.
2. The instructions with the router suggest plugging the router into the Internet and then plugging a phone into the router. This works great except I don’t want just one phone hooked up to the router but rather I wanted all my phone jacks in the house to go over this connection (just like it worked before). So instead of plugging a phone into the router I just plugged in a phone cord and connected it to an outlet I have in my basement.
3. I thought that this would be all I needed to do to get all my outlets in the house connected to the router but whenever I picked up the phone I just got this weird busy-like signal. Even though my AT&T connection was dead it was still causing some conflict on the line with the VOIP router. So this was easily remedied by “cutting the cord” to AT&T (this was fun and therapeutic). I went out to my phone box outside the house and just unhooked the wires that were connected to my phone lines inside.
4. Here is a shot of the finished setup — a wiry mess that manages to keep me connected in all ways necessary (@Home router is on the bottom).
This setup has worked great and I have been saving money every month and have a bunch of great phone services that I never was willing to be ripped off paying for before (caller ID being the big one!).
Tags: freedom, land-line, t-mobile, voip
Filed under Misc | 3 Comments »
PDC 2008 - What’s it all about?
Posted on September 23rd, 2008
I just saw this video over on Channel9 about this year’s PDC and what the big “theme” is going to be this year. In the past we’ve had such themes as the .NET PDC and the Longhorn PDC. This year they are dubbing it the “Software + Services PDC”. Doesn’t really roll of the tongue but they are promising some major paradigm shifts and some “industry changing” announcements. Should be a pretty interesting time in LA this fall.
My favorite part of the video was the part about “the goods” they will be giving out this year:
“Plus……we’re announcing the very special gift that all PDC attendees will receive: a 160GB external USB2 hard drive with all of the bits!”
I’ve embedded the video below:
Tags: conference, PDC, software + services, the goods
Filed under .NET, Programming | No Comments »







