Passion * Technology * Ruthless Competence

Monday, May 05, 2008

Rare Insight Into the IPy Team

An email conversation between two members of the IPy team that you, dear reader, might find amusing.

From: Srivatsn Narayanan
Sent: Friday, May 02, 2008 4:00 PM
Subject: You dont need pinky fingers? :)

http://twitter.com/DevHawk/statuses/802239164


From: Dino Viehland
Sent: Friday, May 02, 2008 11:30 PM

Wow, am I really that loud? :)

This is a response to the idea that no design is complete until you can’t remove anything else without sacrificing the overall goals of the end result.  Is the pinky really necessary?  We can “cut that feature”, right? :)


From: Srivatsn Narayanan
Sent: Friday, May 02, 2008 11:49 PM

If you cut off the pinkie, then the ring finger becomes the pinkie and so iteratively you will have to lose all of them :). If I remember right in Europe, you hold up the pinkie to order beer. So it’s quite important :)


From: Dino Viehland
Sent: Friday, May 02, 2008 11:59 PM

Well I find it hard to argue with ordering beer, but I doubt the pinkie’s original use was to order beer.  Therefore I’d describe this as an abuse of an existing API that might be better served by a new API specifically designed for this purpose.  But I question even if a new API is necessary. 

Drinking beer by definition involves a container in which the beer is consumed from.  Therefore the container it’s self (or the lack thereof) might be able to serve the dual role for both consuming the beer and indicating the need for a refill.  For example when drinking sake I’ve been told it is customary to tip the bottle on its side to indicate the desire for a refill.  Are we really to expect that the Human API exposes every need in a direct fashion?  For example should I have another appendage for “I need more bread sticks” and yet another for “Can I get a refill or on the water?”.  I’d propose the “2 creams no sugar” appendage because that’s the way I take my coffee.

On the other hand the iterative problem does seem to be more relevant – but it presupposes a purpose for the pinky in the first place!  But alas, I admit I’ve just returned from drinking beer, so this may not be the best argument :).


From: Srivatsn Narayanan
Sent: Saturday, May 03, 2008 12:21 AM

The pinkie is like a reserved field/custom field in a API. Every user community can come up with its own use for it but they have to devise the protocol themselves. Apparently different civilizations have. Wikipedia as usual has a list of those. So do you get your “2 creams no sugar” appendage – sure if u can agree on the semantics with the waiter. Seems like a PM call to me :)

PS: What beer did u have? I should try that – seems effective :)


From: Dino Viehland
Sent: Saturday, May 03, 2008 12:26 AM

I hadn’t quite considered it like this but I’d propose an alternate encoding – binary.  With 4 fingers one can communicate up to 16 different which seems to cover most of the listed issues.  Yes 5 gives you up to 32 messages but 16 should be enough for everyone :).

And they were various Hale’s Ales fresh from the brewery.


From: Srivatsn Narayanan
Sent: Saturday, May 03, 2008 12:31 AM

I wouldn’t want to hold up 0010 really (although it won’t be the middle finger anymore) :)


From: Dino Viehland
Sent: Saturday, May 03, 2008 12:40 AM

Ahh, but let’s just call that one reserved – that leaves the end-user with 15 other messages!  Personally I’d suggest we reserve the entire bit – that way we could use other codes like 1010 for future expansion of various standard messages.  Urination seems popular on the pinky list so maybe we’d want to standardize that in the future – we of course need to look at uses of the other fingers before we come to this conclusion.  Users are now left with 8 user-defined messages but that seems plenty.  Also they can then use 1000 or 0001 (depending their endianness, a.k.a. left-handed or right-handed) for the now deprecated pinky-messages.


From: Srivatsn Narayanan
Sent: Saturday, May 03, 2008 12:55 AM

1000, 1100, 1110 and 1111 are actually used for counting numbers 1,2,3,4 :) They are too obvious to be non-standardized. So they are out as well.

That cuts the user messages to 5 (third bit is reserved anyway). Some of the ones left are hard to make as well – try 0101 :)

Posted By Harry Pierson at 11:48 PM Pacific Daylight Time

Wednesday, March 05, 2008

Morning Coffee 154

  • Did you see yesterday's Dilbert cartoon? Classic.
  • MIX isn't the only Microsoft conference this week. It's also time for the annual MS Research TechFest conference. It actually started yesterday, with a keynote from Rick Rashid and Craig Mundy (available on demand). I'll be heading up there later today and will blog everything I saw that is public, like I did last year. In the meantime, you can check out some cool MS Research projects on the TechFest video page.
  • Speaking of MS Research, they've published the Singularity source code (for academic and non-commercial purposes) on CodePlex. Singularity is research OS "focused on the construction of dependable systems". I've wanted to play with this, but I've never had the time. Frankly, that hasn't changed, but now that it's available to the community, I'm hoping I can live vicariously thru other people hacking around with it.
  • Some announcements coming out of MIX won't be a surprise to anyone:
  • Here some primarily "new" news from MIX:.
    • I'm not sure which team owns it, but I'd say the biggest previously-unannounced news was SQL Server Data Services (aka SSDS), a "highly scalable, on-demand data storage and query processing utility services." In other words, SQL in the sky. There's a free beta sometime this month you can sign up for. Very cool, though no word on what it's going to cost. If you're interested in this, I'd keep an I on the Data Platform Insider blog.
    • John Lam announces the Dynamic Silverlight extension that lets you run DLR languages on Silverlight. Given that they talked about this last year, I'm not sure it's really "news", but John provides lots of gory details so it made the cute. But are they really using "DSL" as the acronym for this? Guys, that acronym's already taken.
    • Mary Jo Foley has a scoop on Silverlight for Nokia Symbian mobile phones.
    • There's a new beta of Expression Studio 2 as well as a separate Expression Blend 2.5 preview for Silverlight 2. Soma has the details. This isn't really a surprise, but I hadn't seen any news on new versions of all the Expression Studio products.
Posted By Harry Pierson at 11:27 AM Pacific Standard Time

Friday, February 16, 2007

Morning Doughnuts 1

Introduction

While Harry is out of the office on a well deserved vacation with his family I will be acting as a guest blogger for his website.

My name is Dale Churchward and I have been working at in Microsoft IT as an application architect since June 2006. Prior to coming to MS I worked in operations in both the telecommunications and healthcare industries. As Harry pointed out I tend to be very operations focused. While I love working on new technologies I am keenly interested in how a design will work in production, and try to ensure we have considered support considerations as part of our designs. Each member of our team comes in with a different background. This helps us as we are each strong in different areas. I also write to my own blog which can be found here. In my own blog I tend to write on a wide array of subjects, depending on my mood at the time. While Harry is away though, I will be posting on technology areas I am interested in, and staying true to his morning coffee vision, albeit with a slightly different take.

The Doughnuts

  • The Build Master by Vincent Maraia is an excellent book if you are interested in the build process and how to make it as efficient as possible.
  • We had a great meeting with the Patterns & Practices team the other day. Since I am still new to Microsoft it is still a bit overwhelming to meet the authors of documents you have read and used over the years.
  • I recently have been spending some cycles working with System Center Operations Manager 2007. I believe that it provides some excellent tools to monitor and repair a system plus it's designed to be service focused.
  • Francis Stokes has produced 6 episodes showing what would happen if heaven was being run like a company named God Inc. There are currently 6 episodes. No matter what your belief or lack thereof in a supreme being the videos are hilarious.
  • I have been spending a lot of time thinking about how heartbeat transactions between multiple services should operate. In the drawing below you can see 3 web services and a monitoring one. In the original design the monitoring service was sending heartbeats out to each of the web services to see if they were available. This seem inefficient to me as we really don't care if the monitoring service can reach the web service. What we need to know is if any dependent web services are able to connect. In the drawing we have a web service residing in the extranet (Web Service 1) that sends data to a web service in the corporate network (Web Service 2). We really don't care if the monitoring service can talk with web service 2, but we definitely want to know that web service 1 can get there. Once web service 1 realizes that is can't connect to 2 we then notify the monitoring system so that the owner of web service 2 can take action. Web service 1 still continues sending heartbeats though so that it is aware of when the second web service becomes available again.

Posted By Dale Churchward at 8:16 AM Pacific Standard Time

Thursday, November 09, 2006

Common Ground with My Conservative Teammates

I came in this morning to discover my boss and next cube neighbor Rick had decided to spruce up his cube with camo netting. He's ex-Army, so it's not like it's out of character for him. Of course, the camo netting has the exact opposite of it's indented effect, making Rick's cube very easy to find in the farm.

Unlike my last team, most of my teammates are conservatives. But apparently we can find common ground in our opinions of Defense Secretary Rumsfeld. Rick called him an abysmal failure. I couldn't agree more. Dale joked that Rumsfeld was joining our team and moving into Rick's newly camo festooned cube. Rick countered that Rumsfeld was actually joining the Enterprise Architecture group. Heh.

Update: Dale points out he made the joke about Rumsfeld joining EA, not Rick. My bad Dale.

Posted By Harry Pierson at 11:01 AM Pacific Standard Time

Thursday, July 06, 2006

Paraphasing Simplicity

Albert Einstein is often credited with saying "Everything should be made as simple as possible, but no simpler". However, in researching the quote on Wikiquote, I discovered the full quote is actually:

The supreme goal of all theory is to make the irreducible basic elements as simple and as few as possible without having to surrender the adequate representation of a single datum of experience.

I think it's funny that the canonical quote on simplicity is actually a simplified version of a significantly more verbose quote.

Posted By Harry Pierson at 10:39 AM Pacific Daylight Time
DevHawk
World Tour 2008
DevDays 2008

Change Congress
Recent Bookmarks
Tags .NET Framework (2) ADO.NET (5) Agile (7) AJAX (3) Architecture (282) Guidance (6) Interop (2) Modelling (61) Patterns (7) Process (4) SOA (93) Web Services (5) ASP.NET (18) Battlestar Galactica (3) BI (2) BizTalk (4) Blogging (113) dasBlog (11) Podcasting (4) BPM (1) C# (5) C++ (3) Capitals (5) CardSpace (3) CLR (2) College Football (10) Comedy Central (1) Community (81) Concurrency (6) Consumer Electronics (1) Database (12) Dependency Injection (2) Development (115) C Plus Plus (1) Embedded (5) Lanugages (36) Media (2) P2P (11) Rotor (1) SharePoint (6) SOP (3) DIY (1) DLR (8) Domain Specific Languages (13) Durable Messaging (5) Dynamic Languages (9) Dynamic Silverlight (1) Education (3) Enterprise 2.0 (1) Entertainment (14) ETech (15) F# (38) Functional Programming (11) Game Development (2) Guidance Automation (3) Hardware (8) HawkEye (3) Hockey (29) Home Electronics (1) Home Network (4) Humor (5) IASA (1) Idempotence (3) infrastructure (5) Instrumentation (4) Integration (2) IronPython (14) IronRuby (3) Java (2) Job (3) LINQ (19) Lost (1) Master Data Management (1) Media 2.0 (6) Microsoft (27) MIX06 (2) Mobile Phone (1) Morning Coffee (165) Object Oriented (4) Office (5) Open Source (4) Open Space (2) Operations (3) Other (135) Art (1) Books (1) Family (30) Games (17) General Geekery (25) Home Theater (1) Movies (22) Music (20) Politics (3) Society (1) Sports (37) Working at MSFT (15) Parsing Expression Grammar (15) patterns & practices (2) Politics (39) PowerPoint (2) PowerShell (28) Presentation (4) Projects (1) HawkWiki (1) Python (3) Quote of the Day (4) Refactoring (1) Research (2) REST (18) Reuse (5) Robotics (1) Rome (5) Ruby (23) Sci-Fi (2) Scripting (4) Security (3) Service Broker (14) SharePoint (2) Silverlight (15) Social Software (1) Software + Services (2) Software Factories (11) Software Industry (1) Spark (1) SQL Server (2) Stephen Colbert (1) TechEd (7) TechEd06 (1) TechRec League (1) Television (6) Travel (5) Unified Client (1) Unit Testing (3) UX (1) Virtual PC (2) Visual Studio (19) Volta (2) Washington Capitals (33) WCF (31) Web 2.0 (64) Web Services (5) WF (20) Windows Live (21) Xbox (1) Xbox 360 (51) XML (7) XNA (13)
Disclaimer: The information in this weblog is provided "AS IS" with no warranties, and confers no rights. This weblog does not represent the thoughts, intentions, plans or strategies of my employer. It is solely my opinion. Inappropriate comments will be deleted at the authors discretion.