- Another nice thing about the new job: I’m working in the vicinity of some good friends. I was over in building 42 yesterday and made it a point to stop by Pat Helland‘s office yesterday and spend an hour or so chatting about the new gig. Pat is down the hall from David Hill, whom I worked with on Architecture Strategy. Back in my building, we’re down the hall from the VSX folks including my friends Ken Levy and Gareth Jones. I’m sure there are more folks I know around, but hey it’s only my second week!
- I’m a big fan of Carbonite, which I use to back up all the digital media on my home computer. With two little kids, we have lots of digital photos as you might imagine . However, one thing that bugs me about Carbonite is that it doesn’t back up video files by default, you have to go in on a folder by folder basis and select “‘Back up Video files in this folder” from the context menu. Given how much trouble this “feature” has given me, I imagine less techie folks don’t even realize their video files aren’t getting backed up. However, I will say the latest version of the Carbonite Software at least makes it easy to find files that aren’t backed up. A quick sweep revealed around a dozen folders that had un-backed-up video files in them, which I promptly fixed.
- The big news yesterday was the new Google App Engine, which looks to give you access to virtualized infrastructure that sounds similar to what GOOG is rumored to use internally. I like Dave Winer’s comment that this enables “shrinkwrap net apps that scale that can be deployed by civillians.” Given Google’s history w/ Python – Python’s BDFLGuido van Rossum works there – it’s no surprise that Google App Engine (GAE?) runs on Python, though apparently they “look forward to supporting more languages in the future”. I’m guessing “more languages” == Ruby, maybe Erlang too.
- I wonder if/how Google App Engine will affect Ruby on Rails momentum? If there’s a significant lag before App Engine supports Ruby, will that drive developers to Python web stacks like Django? (Django is included in “the box” with App Engine)?@ PyCon, I was surprised at the intra-language animosity I observed. I wonder how many Python developers are secretly hoping Google never ships Ruby support. I highly doubt Google would do that – they want to tap the exploding RoR market like everyone else – but I’d bet it would really take the wind out of Rails’ sails if they did.
- Today’s Michael Foord Link: Embedding IronPython 2, Examples of the DLR Hosting API. You can read the DLR Hosting spec, but it’s pretty out of date so Michael’s article helps fill in some of the gaps.
- Looks like PowerShell has gotten the open source community treatment in a project called Pash. While I’m sure others are excited about PS on Linux or Mac, I’m excited to see PS running on Compact Framework. I wonder if it would work with XNA?
- Speaking of XNA, XNA Console is a new CodePlex project that provides an IPy console to manipulate your XNA based game on the fly. Python is no stranger to game development – Civ IV for example provided mod capabilities via python. Alas, the compact framework can’t run IPy today, so neither can XNA on Xbox. But wouldn’t it be cool to hack your game in IPy running on a 360 using the messenger kit? (via IPy URLs)
- Bart De Smet gets functional, writing type switch and pattern matching in C# 3.0. I guess it works, but it sure is ugly. Why not just use F# and be done with it?
- Soma announces that the VC++ Feature Pack has shipped. Somewhere, I assume, there is much (some?) rejoicing.
Sometimes when I blog about politics, I’ll get a comment like this:
As far as I’m concerned, posting about topics such as politics or religions on a blog that’s supposedly about technology is just looking for trouble.
As I’ve pointed out before, DevHawk is not “a blog that’s supposedly about technology”. It’s a personal blog – my very tiny corner of the web, if you will – so I feel totally justified writing about technology, politics, hockey and whatever else I want to. I figure that if you don’t like it, you’re free to unsubscribe and neither of either of us will lose any sleep over it.
The flip side is that DevHawk has traditionally been the only place where I exercise such lack-of-restraint. When my blog was featured on MSDN Architecture Center, I cross-posted relevant content to a separate blog so as to create an topic-focused and safe-for-work subset of my “real” blog. It was always a hassle – especially tracking comments to the same post in two places – and I quit doing it shortly after leaving the Architecture Strategy Team.
However, now that I’m using Twitter, it doesn’t feel like DevHawk is “my only place” anymore. My blog == my writing, my del.icio.us == links I find interesting and my Twitter == real time updates. I use FeedBurner to include my del.icio.us links in my blog feed and twitterfeed to include the blog feed in my twitter feed. Therefore, Twitter is the only place to get an feed of all three. Obviously, Twitter’s feed isn’t full content, but in an always connected world, clicking the link to read the blog entry in the browser isn’t that big a deal. Besides, you can always subscribe to both the blog and twitter feed if you want full content + real-time.
I haven’t fully integrated Twitter into my daily life yet, though I’m getting there – for example I twittered the results of my hockey game last night. But unlike other social software sites, I think I’m going to be using Twitter regularly. I’m on Facebook, but there’s too much “you’ve been bitten by a Vampire!” type spam to really use it for anything but pure entertainment. Twitter is more like blogging, where there’s an information exchange with only the people I
subscribe to follow. Also, maybe it’s me, but there doesn’t seem to be the same stigma if you stop following someone on Twitter compared to rejecting them as a friend on Facebook.
DevHawk has been “me”, but now it feels like DevHawk @ Twitter will become “me” which leaves my blog to become my endless book. It’s not a bad thing, but it does feel a little strange.
As you might expect, these morning coffee posts are going to get more dev focused as well as more IPy focused.
- One of the cool things we showed @ PyCon was Django running on the latest drop of IronPython. IPy lead developer Dino Viehand posted a blog entry (for the first time in 28 months!) showing the basic Python DB provider for SQL Server he put together. Hopefully, we won’t have to wait another two and a half years for Dino’s next post.
- Speaking of IronPython, some of my new teammates pointed me to Michael Foord’sPlanet IronPython aggregate news site. Michael is IPy developer for Resolver Systems (the cool spreadsheet app hybrid I wrote about @ Lang.NET) and he’s working on an IPy book.
- Still speaking of IPy, Jeff Hardy dropped his first release of NWSGI, an port of Python’s Web Service Gateway Interface spec to ASP.NET and IPy. I can’t wait to see NWSGI combined Django running on IPy like Dino demoed @ PyCon. Congrats Jeff!
- Scott Hanselman’s post on Twitter reminds me that I recently started twittering myself. I haven’t worked it into my daily routine, so it gets updated only occasionally, but after reading Scott’s post, I’m thinking it’s cooler than it appears on the surface.
- In surprising news, Microsoft is going to start collaborating with IBM’s Eclipse Foundation, to make it easier to it easier to write apps for Windows in Java. I would think this is a very cool thing, but apparently Ted Neward – who’s knowledge of JavaWorld far eclipses (ha ha) my own – thinks “the skin here is just too sensitive” and that this move might cause more controversy between MS and Java. However, he seems to imply the controversy would be between MS & Sun (Eclipse is obviously named as a jab @ Sun) rather than between MS & the Java community.
- If you don’t want to watch the video of yesterday’s MIX keynote but still want a sense of what happened, check out Tim Sneath’s keynote liveblog. (via Sam Gentile)
- Other announcements from Mix day one keynote that I missed (all via Tim Sneath)
- Windows Media Services for WS08 released last week. Additionally, the IIS 7 Media Pack adds web playlists (CTP) and bandwidth throttling (GoLive beta) to the baseline media streaming platform.
- The source code (and unit tests) for all the built-in Silverlight 2 controls is available for download. I’m not a lawyer, but it doesn’t look like a “reference-only” licence like the .NET Framework source code is released under. Very cool.
- The Seadragon technology for smooth navigation of mutli-gigabyte sized images over the network will be emnedded in Silverlight as a feature called DeepZoom. You can see a cool demo of DeepZoom on the Hard Rock Memorabilia site and Scott Hanselman posted a walkthru of using the DeepZoom Composer preview tool build your own DeepZoom experience.
- Apparently the .NET client roadmap isn’t all perf and working set improvements. WPF is getting shader support. I couldn’t find anything on this besides the announcement itself, but I’ll be interested how much overlap there is with the DirectX / XNA shader language.
- Quick side note – Installing Silverlight 2 in order to check out the DeepZoom Hard Rock demo was smooth, fast and easy. It’s hard to believe there’s a whole CLR in there.
- Now on to public stuff I saw @ TechFest:
- One of the problems with touch screens is that your fingers obscure what you’re trying to touch. Lucid Touch solves this by having you touch the back of the device, while rendering a virtual shadow of your hand – a technique they call “pseudo transparency”. You really need to watch the video to “get” this. It’s not currently feasible – the prototype uses a webcam on a foot long boom to track hand and finger position. However, they expect a future version will have some type of imaging sensors embedded in the body of the device.
- The Berkeley Emulation Engine version 3 (aka BEE3) (video) is a high powered hardware simulator. Apparently several orders of magnitudes faster than conventional simulation. Frankly, most of this demo was over my head and I’m not really a HW guy. But it sounds really fast.
- BLEWS or “what the blogosphere tells you about news”. Given my interest in political blogging, it’s not a surprise I was interested in this project. This tool categorizes news stories according to their reception in the political blogosphere. It provides a visualization showing not only how many links from a given ideological sphere there are, but how strong the emotions are running. Kinda like Memorandum on major steroids.
- Music Steering (video) is an “interactive music-playlist generation through music-content analysis, music recommendation, and music filtering”. Sort of like LastFM + Pandora on your Zune.
- In-Depth Image Editing (team site) showed some cool photo editing software that reminding me of Microsoft Max.
- MashupOS (paper) is a set of abstractions to improve the browser security model, allowing for isolation between blocks of code from different sources while still allowing safe forms of communication.
- MySong (paper, video) “automatically chooses chords to accompany a vocal melody, allowing a user with no musical training to rapidly create accompanied music”. Karaoke singers rejoice! Actually, it’s pretty cool. You can adjust sliders to adjust characteristics of the generated music like “Jazz factor” and “Happy factor”. Actually, I just want a happy factor slider in all my software.
- I saw some cool projects from the Socio-Digital Systems group and MS Research. My wife is a sociologist and always says there’s no way she could ever get a job in the big house. Maybe after she checks out this team, she’ll stop thinking that.
- The Worldwide Telescope booth was so crowded that I couldn’t get anywhere near it. From what I could see from standing in the back, it looked fantastic. It’s not live yet, but you can check out the video from the TED conference to get a sense of it.
- Unity’s first CTP was just over two weeks ago, but according to Grigori Melnik, it’s shipping just over two weeks from now. That seems pretty speedy to me. By the time I get a change to take a closer look at Unity, it’ll probably have shipped.
- I discovered Matthew Podwysocki blog via DNK. I don’t typically subscribe to blogs that I discover via DNK, but Matthew has written about IoC/Unity, F# and DLR lately so I’m thinking I should be a regular reader.
- Corporate VP David Treadwell has an extensive post on updates to the Windows Live Platform Services that are being unveiled at MIX next week. The updates include the new WL Messenger Library, a new SDK for WL ID Delegated Authentication, a new WL Photo API, a new CTP of WL Tools, standardized support for AtomPub, updates to WL Contacts API and Sivlerlight Streaming and a new “experimental” service called Application Based Storage that “allows application developers to store a small amount of state/configuration data in the WL data centers on behalf of a user”. I’m sure there’ll be more WL news at the MIX conference proper, but that’s quite a good chunk of features to start digging into. Personally, I’m particularly interested in WL Delegated Auth, esp. how it deals with phishing, something I don’t think OAuth handles very well.
- Windows Live isn’t the only group making announcements in advance of MIX. Adobe announced a research project that allows “cross-compiling existing code from C, C++, Java, Python, and Ruby to ActionScript.” This seems pretty obviously a response to Silverlight 2.0′s embedded CLR, announced last year @ MIX. Support for C++ is very interesting – Adobe evangelist Ted Patrick claims they were even able to cross-compile Quake 1 to Flash. Interesting, but this is an internal research project @ Adobe with no projected release date while Silverlight 2.0 goes into beta next week.