Morning Coffee 166

Yes, I realize it’s been a while. I tried in vain to catch up with my blog reading after my Hawaii vacation and finally just gave up and hit “mark all as read”.

Dynamic Languages

  • There’s a new version of the DLR hosting spec available (doc, pdf). The DLR implementation is still in motion, so there are some inconsistencies between the spec and the code, but the spec should give you the high level overview you need if you want to host DLR languages inside your app.
  • Oleg Tkachenko recently joined the dynamic languages team. He’s the creator of the Interactive IronRuby Web Shell, an IronRuby version of Try Ruby. Of course, it’s not as cool as using SL2to execute the code directly in the browser. Michael Foord has his Python in the Browser and my teammates John and Jimmy demoed a Silverlight version of Try Ruby @ TechEd.
  • Jim Deville, also of the dynamic languages team, recently started blogging.
  • I have a new boss, Dave Remy. He doesn’t have a blog – yet – but you can follow him on Twitter as daveremy. When Twitter is actually working that is.
  • There’s a new homepage/wiki for IronRuby though I’m not sure why there’s a picture of Matz wearing a Python shirt on the home page.
  • My teammate Jimmy Schementi provides some “continued hope” for a better (heck, I’ll take current) ASP.NET and ASP.NET MVC story for DLR languages.
  • Via Michael Foord, sounds like IronClad is making good progress. V0.4 can run the bz2 module “in its entirity” (maybe run a spellcheck on your site, guys?) and now apparently, it’s now able to load numpy.core. Very exciting!

Other Stuff

  • Pat Helland, who has blogged even less than me for the past few months, has a post up about controller and doers in the IT department. After 18 months in MSIT, put me in the doer camp, please.
  • The F# team has pushed out a spec for v1.9.4 of the language. Don Syme says it’s not official, but it’s a huge improvement over the old informal spec
  • Speaking of F#, my friend Matthew Podwysocki recently published FsTest, a testing DSL for F#. I wrote about F# unit testing as part of my PEG parsing series, and I really like the direction Matthew has taken this project. You can pull it down from CodePlex.
  • When I did my PEG talk @ Lang.NET, Gilad Bracha mentioned I should check out oMeta. It looks really cool, though with the job change I haven’t had the time to play with it. Now I discover that Jeff Moser is working on a version for CLR called oMeta# that I’ve got to spend some time with. And in the comments to that post, I discovered pyMeta from Allen Short, though it apparently doesn’t work on IronPython (must investigate why).
  • James Kovacs introduces psake, a PowerShell based build automation tool which uses a rake-inspired internal DSL syntax similar to one I blogged last year. I’d love to see this take off, but given MSBuild’s tool integration, I wonder if that’s feasible.
  • I upgraded my home wireless network almost exactly a year ago. I’ve been happy with the range and coverage, but not so happy with the Buffalo Tech firmware. The built-in DHCP server is pretty flaky. So I upgraded to the open-source Tomato firmware. Upgrade was smooth, though I did need to reset my cable modem. But even that was smooth – Comcast has an automated service for that now,

Morning Coffee 162

  • 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 BDFL Guido 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.

Morning Coffee 133

  • I’ve been off for two weeks, so getting back into “the swing” of things will probably take a day or two – both at work and on my blog. Hope everyone had a happy holiday season.
  • I ended the year with 245 blog posts, which wasn’t quite as many as either of my first two years blogging, but was much more than I had been writing for the last two years.
  • It was a Zune Xmas in the Pierson house. I got a pink Zune for my wife, and my mother and father got Zunes for each other. I got to load them all up with content for Xmas morning. Maybe I’m just used to WMP, but I’m not a huge fan of the Zune software. Yes, it’s very pretty but it’s missing some fairly basic features like automatic down-sampling lossless music. On the other hand, the on-device experience rocks and my wife is using her Zune regularly. I’ve got a trip to England coming up in April, and I’m thinking about getting one of the new 80GB ones for the trip.
  • They lost any chance of playing for the national championship, but USC sure looked like a champion yesterday. Seems appropriate for this crazy college football season that if Ohio State doesn’t win big, pretty much all the other BCS bowl winners with a legitimate argument to be #1.
  • The Caps beat the eastern-conference leading Senators yesterday for the third time this season and the second time in four days. They have 13 points in the last ten games and 10-5-4 since Boudreau took over as coach. If they keep that pace up, they would likely make the playoffs – that would be quite a feat given their horrific start.
  • Speaking of hockey, I watched most of the Winter Classic yesterday, including the game-winning shootout goal by the Anointed One. It was really strange but cool to watch a hockey game between snowflakes. I agree with Scott Burnside’s take that these outdoor games are good for the league, but shouldn’t be a regular part of the season.
  • I finished Portal yesterday – that’s a fantastic game. I also got Mass Effect, so now I need to decide which to take on first: that or Half-Life 2.
  • A few months ago, I was thinking about using HomePlug for home networking but decided to upgrade my wireless network instead. But recently I’ve started streaming movies from my loft computer to my Xbox, and the wireless network isn’t always up to the task. I could run CAT5, but there’s already an unused coax cable running up to the loft and I wondered if I could just use that? I discovered the Multimedia over Coax Alliance, but none of their certified products appear to be available. Those products have to share the home coax network with the cable company, but I can dedicate my coax cable. Anyone know a way to use coax to bridge CAT5 networks? Even something DIY?

Upgrading My Home Wireless Network

A few weeks ago, I put out the call for advice on improving my home network. I got a bunch of responses, both for and against PowerLine. I ended up upgrading my wireless network because 1) I was having laptop connectivity issues and 2) wireless equipment is so fraking cheap. I might still go PowerLine later, though I’m thinking it’s “good enough” until I really bite the bullet and run Cat5 under my house.

Yesterday, I picked up a couple of Buffalo Wireless routers: a WHR-HP-G54 and a WHR-G125. The first one has a high-powered antenna, so I hoped that would solve my range problem. Both support Wireless Distribution System (aka WDS), so the plan was to use the WHR-G125 as a repeater and/or bridge. Also, both support 3rd party firmware, a la DD-WRT and OpenWrt. In fact, I chose these models specifically because they’re listed on DD-WRT’s Supported Devices page as best range and cheapest, respectively. Best Buy had them both on sale, so together they cost around $90 and I didn’t even have to wait for them to be shipped.

I also moved my cable modem from the loft to the living room. That way, the Xbox 360 – with all the large demo and video downloads – gets the best bandwidth, typically around 8Mbit (though SpeedTest.net has clocked my connection as high as 18Mbit).

Moving the cable modem meant putting my loft desktop machine on the wireless network. At first, I used the G125 as a bridge. Getting it setup as a bridge using WDS was fairly straightforward, except that these routers only support WEP in that configuration and WEP is essentially broken.

At this point, I figured I had to either live with WEP (*BUZZ* wrong answer) or upgrade both routers with DD-WRT firmware. According to their wiki, DD-WRT firmware supports WPA for WDS. Then I remembered a third option, detailed by Scott Hanselman a few weeks back. I had been using an Xbox MN-740 wireless bridge to get my Xbox 360 on the wireless network. However, since my Xbox is hardwired now, I didn’t need it anymore. Scott’s posted about flashing the MN-740 with the firmware from the D-Link 108AG gaming adapter (they’re the same hardware under the hood) that supports WPA. It took several tries before it worked, but eventually I was able to flash the device.

So now I am using the WHR-HP-G54 as my main router and access point in the living room and the flashed MN-740 to put my loft desktop machine on the wireless WPA-secured network. That desktop has all my media and is running Vista Ultimate, so I was able to get both media sharing and the Media Center Extender working. According to the network diagnostics on Vista, the connection is fast enough to stream SD video, but not HD. So I figure I’ll still need to run some Cat5. But for now, I’m not trying to stream HD video from the machine in the loft so I figure I can wait on the Cat5.

Plus, I have the G125 to experiment with. For $35, it was cheap enough that I can upgrade it with the latest DD-WRT firmware without worrying about losing my “investment” if I brick the thing. If I get it upgraded and working, I’ll do the HP-G54 too, and be able to use the G125 as a repeater and/or bridge. Maybe that will make the network fast enough to stream HD video, but I doubt it.

Thanks to those who offered me their advice. Any of you want to come over and help run a little Cat5 under my house, beer & BBQ is on me!

Home Networking Question

I’m a software guy, so here’s a couple of home networking questions I’m hoping one of you readers can answer. My internet connection (cable) comes in upstairs in the loft (aka where all my computer stuff lives). My TV and Xbox are in the living room on the opposite side of the house, downstairs. Between the distance and general house interference, the network perf in my living room stinks, with both my laptop and Xbox.

I’d basically resigned myself to running Cat 5 cable from my living room to the loft, which is a pain because it would have to run thru the crawlspace and up the side of the house to the loft and punch in thru the outside wall. Frankly, I haven’t been able to make the time commitment to do that yet.

I was checking out the Linksys site and right there on the homepage is a promotion for their Powerline products. Now that would be MUCH easier than running Cat 5. But how good is it, really? They claim “Data rates up to 200Mbps”, which is plenty fast if they really reach that throughput. Anyone out there had any experience with this Powerline stuff? For around $200 and getting to skip running cable under the house, it’s probably worth it for me to take a shot. Worse that happens is that I have to take it back.

Regardless if I use powerline or run Cat 5, that solves the Xbox problem but I still want a stronger wireless signal on that side of the house. So for my second question, what’s the word on multiple access points? Should I set up multiple wireless APs or should I set up a repeater somewhere in between to boost the signal. I’m actually looking at getting a new wireless router/AP anyway, so maybe I could just get one of the ones with some type of range boost. I currently have a now-discontinued MN-700 (what do you want, I’m a company man) so it’s a good time to get a new AP anyway.

Another option to the wireless strength question is the AuraGrid, which tunnels your wireless antenna signal over the coax cable in your home to give you multiple antennas all over the house. So I could easily add a wireless antenna wherever there’s a cable jack. Anyone have any experience with that product?

Anyone who wants to give me free advice, feel free to leave a comment or drop me a line. Thanks in advance.