Sergio and the sigil

LG BD390 Blu-ray player and D-Link DIR 655 Router: not friends

Posted by Sergio on 2009-11-04

A month or so ago I bought a Blu-ray player. I waited a bit to buy one of those because, frankly speaking, the improved image quality and any bonus features in the discs weren't attractive enough for me to replace the DVD player.

I also wanted a networked player that could stream movies from my Netflix queue. To make matters worse, running a CAT-5 cable from my basement (where my wireless router lives) to the bedroom (the BR player's final destination) wasn't really something I was looking forward to.

That's when I did some shopping around and came across the LG BD390 Wi-Fi-enabled Blu-ray player. It supports wireless 802.11n and access to a few online services like YouTube, Netflix and VUDU. It can also find media in my home network.

Note: I know there's always someone that will come suggest taking a look at the PS3 or XBOX can do some or all of that. I'm not a gamer so I didn't want to have a gaming console in my bedroom and deal with issues related to the not being a simple player aspects of the device (like maybe having to buy extra adapters/connectors, remote control, and what-have-you). It's probably a no-brainer if you're into video games. Did I say I do not buy Sony?

Welcome LG BD390

So I went and bought the LG BD390 and installed it where it was supposed to be. I was a little worried about not having the 802.11n router setup yet (it was still on its way) but I decided to give it a shot even on my 5-year old 802.11g router. I thought maybe I wouldn't get HD streaming or choppy video, but at least I would get a feeling about the device's capabilities while I waited for the new router to arrive.

Works great on wireless-G

To my surprise, the LG BD390 worked great over wireless-G. Setup is incredibly easy (the only hard part was really entering the long WPA password using the on-screen keyboard.) It boots up fast. Within 5 minutes from its first power-on it had already found and updated its firmware, I had activated my Netflix streaming and The Office was streaming in HD on my TV.

Best gadget purchase in years. This device will definitely change the way I watch movies and TV series, and listen to music (BTW, since it's easy to upgrade the firmware and other LG products offer Pandora, here's to hoping the BD390 gets that too soon.)

But not so fast. Bad wireless-N surprise.

You'd think that by upgrading my network to wireless-N would only make the whole experience much better, right? Me too.

I upgraded my trusty wireless-G router with a shiny new D-Link DIR 655 wireless-N Gigabit model. It has some interesting features, USB port, decent firmware features (well, read on,) and seems rather popular anyway.

Once I configured it to the exact same network settings as the previous router, I checked the laptops were working fine with it and went straight to enjoy some more streaming on my Blur-ray player. I immediately noticed that the signal strength had dropped from 5 bars to 2, 1, and sometimes no bars at all. Even when a couple of bars were there, it wouldn't even browse my local network.

I even tried using a cheap-o router in repeater mode but it didn't play well with my D-Link router and even the laptops would lose connectivity at random when this thing was active — I ended up returning it.

A month later (and a few lost frustrating hours) later I came across this post on the Amazon reviews for the player. Basically, even though there was a new firmware available, the router insisted in telling me it had the latest one. And it just so happens that the firmware it had (v1.2) had some serious bugs. Short version, many times it would not work at all with the Blu-ray player.

I followed the suggested instructions and things are much better now. I still get a very weak signal but at least I'm able to consistently stream HD content. I hope the next version of the BD390 comes with an external antenna. I might try another router and see if they have a stronger signal — this seems to be a common complaint about this D-Link model.

So if you're in the market for a Blu-ray player I can recommend LG's BD390 but I'd suggest you search the web for any issues with your wireless-N router (unless you're planning to wire it up, in that case I recommended it 100%). If you're buying your router together with the BR player, buy it from a store that you can easily return it in case it doesn't work well with the BR player. On the other hand, if you're looking for a new router, I cannot recommend D-Link's DIR 655.

Taking PeepCode for a spin

Posted by Sergio on 2009-04-28

A rainy weekend and some brain hunger made me finally do something I had been meaning to do for a while. Once I posted about my interest in screencasts and their power to make information memorable. This last weekend I filled up my shopping cart over at PeepCode with a bunch of material that was on my to watch list.


This video was pretty interesting. It will definitely let you get off the ground quickly with git. I learned and still remember more from this screencast than from any other time spent on documentation and tutorials.

This is one of those screencasts where the author starts cranking out commands at the command line. If you can't stand the command line, you won't like this one. The advantage is that the command line is the same in all platforms.

My only negative comments, which is applicable to almost all the other videos I've watched, is that the author has the habit of clearing the screen way too early and often. At least it's recorded so you can rewind and absorb the information at your own pace.

GIT Internals (PDF)

While on my git learning mode, I went ahead and bought this PDF as well. Boy, this is money. If you're a sucker for internal details, this one is for you.

The PDF was written by Scott Chacon, who is very well known in git circles. The material is dense but is very well explained by Scott. Worth every penny.

The PDF ships with some videos from gitcasts and some handy shell shortcuts.

Rails from Scratch Part 1 and Part 2

I already have a reasonable level of experience with Rails. What made me buy these two episodes was to see a competent Rails programmer showing how he works. After watching both videos I was happy to see that I was not so far off. I know these screencasts are definitely simplified for the newbie and that a number of things changed in Rails since the first edition of this material, but the good advices on how to organize code and use the Rake tasks are still valid.

There's a whole lot more to Rails than it's possible to cram in 2h40 of screencasts but if you need to start somewhere, this is a good choice. I wish there was a little more ActiveRecord and plugins covered but, hey, it's still one of the greatest bargains out there.

Objective-C for Rubyists

I just started watching this one. My early impression (25 minutes in) is that its pace is a little too frantic. I don't buy the argument that knowing Ruby helps you learning Objective-C because of their SmallTalk heritage.

I've been trying to get into Objective-C from books and whitepapers but I had hopes a screencast like this would be more effective. I'm not too optimistic so far (I'll update this post if I'm convinced otherwise.)

Worth the investment

A good thing with the PeepCode episodes is that they are positioned at a price point (US $9.00) that doesn't let you feel too bad, even if you expected more of them. They have definitely been worth more than the sticker price.

I'm looking forward to a few more episodes later this year. RSpec and Haml are on my crosshair.

Easy project administration with Unfuddle

Posted by Sergio on 2009-03-08

I don't come out often to sing praises for any product, I'd say I even tend to complain more than anything. That said, sometimes I come across a product that strikes all the right chords.

Recently I started using Unfuddle and ...just Wow! What a delightful experience. I can't say I was exactly surprised because I had heard really good things about it from a few people. Still, it's great to try it and confirm that same impression.

Unfuddle is clearly a product that was built with a lot of love and by people that understand the problem that needs to be solved.

Migrating a project - the Repository

I started moving one of my projects to Unfuddle. I started creating a new project and, with help from their support team, I moved my SVN repository (with the complete log history) into the project's repository.

The repository browser offers all you'd expect from a 1st class product. You can easily navigate the repository tree and go back an forth in the revisions trail. You can see what was changed in each commit, see the file by file diffs, and post notifications whenever a commit happens (great way to trigger your CI process.)

Managing the project

Right now I'm in the process of moving the list of bugs and planned features into the ticketing system. In Unfuddle I can plan milestones and version numbers for my project and associated tickets to them, which will let me see how far the project is from each milestone right in the project's dashboard.

Unfuddle reminds me of Trac, with the important difference that I don't need to go through the pain of getting it up an running and that configuring your project (or as many projects as you want) is much simpler.

One important thing for me in any product like this is the ability to create and maintain documents. This is provided through the Notebooks feature, which allows us to create collections of pages with basic formatting. If you need something much richer, like a diagram, or include an existing Word document, you can attach files to a notebook. A real file repository is probably a feature that could make Unfuddle even better.

Other nice things

I love how Unfuddle allows us to use Markdown or Textile to format pretty much everything that is important, like ticket descriptions and notebook text.

Unfuddle also supports git. I haven't been using git yet, but it's good to know that I'll probably not need to go looking for another service if I choose to migrate to git.

Very important disclaimer

Although I could probably get by with just the free plan in Unfuddle, I received a complimentary subscription to their Compact plan. The only important differences for my use cases would be the number of notebook pages and the ability to attach files.

Generated by a tool, not for human consumption

Posted by Sergio on 2009-01-30

A few years ago I had an interesting discussion with some of my then coworkers about the XML comments in our code. XML comments were useful in some cases because we were writing some libraries to be shared with many of our applications. We kept the DLLs, the XML and the CHM all in the build folder for any other developer that needed to use that library.

I know some of you have strong opinions against or in favor of XML comments. What I know is that they don't bother me but I'd trade them for a clear and self-explanatory API in a heartbeat.

But what really bothered me was when one of the guys came to me and showed this amazing Visual Studio add-on that would automatically generate the XML comments for him. I won't name the tool here because it's not important. GhostDoc (ooopsy!!!) goes through all your code, finds where XML comments can be put, and tries to guess the text of the comment from the name of the members, parameters, etc. When it finishes, a method named GetOrders will have a description "Gets the orders", a property or parameter named UserName will become "Gets the name of the user", and so on. See image below as an example.

Now, let's think about this for a second. Suppose you are trying to use a class that has a method called GetOrders, do you really need a stupid tooltip comment or a topic in a CHM file to tell you that this method "gets orders" ? Maybe you thought it would list the "orders of the gets", right? Then you bring up Intellisense suggestions and there's a property named UserName in your object, I'm sure you'd be totally puzzled wondering what it stands for, correct?

Hmmm, UserName, what could it possibly be. Ha! Thank you Mr. Tooltip you just saved my bacon. It's the name of the user. Phew, thank God I didn't need to use Reflector to figure this one out.

Sarcasm aside, what real benefit does such a tool gives you? You're just avoiding compiler warnings at most. If you want real useful content in your XML comments, they need to hand-written by someone who's thinking about the developer that will read them. A tool will not add examples, notes, tips, suggest other references, etc. Basically, if a freaking tool was able to guess what that member does, you must be able to guess it too before the tooltip comes up. The tool was not written to help the other developer. The tool was written to beat another tool (the compiler and its annoying warnings.) Use wisdom when choosing your tools. Not all of them are made equal.

What drove me over the edge to get this post out was seeing a tooltip like "Gets the name of the nick".

Cruise and Agile discussed - videos forthcoming

Posted by Sergio on 2008-08-15
Update: The videos of the presentation and discussion have been posted.

This month's Chicago ALT.NET meeting was pretty awesome and it was all caught in video. As soon as I have some time to do some post-production on the raw material (read, just stitch pieces together) I'll make it available somehow.

As previously mentioned we started off with a presentation of ThoughtWorks Cruise, where Robert Norton explained the idea of CI server, Agents, Pipelines and went through many of Cruise features, system requirements, and futures. He also clarified his company's position regarding, which will most likely not receive a lot of attention in terms of funding, being left for the community to keep it going.

Cruise seemed promising to me but it's clearly a typical version 1 product that needs some work to get enthusiastic thumbs up from me. Hopefully they move quickly and release a few updates before the year is over to make the product top notch. I don't mean to say Cruise in unusable. It's definitely usable and does things in a very smart way. Given time I'm sure they will take care of the rough edges and have a chance to answer customer feedback. My particular concerns tend to be on the side of ability to integrate with other systems in the enterprise, like your bug/feature tracker.

After the presentation portion we all sat together for an open discussion. The fallback topic was CI practices but what the group really wanted to talk about was Agile teams and their dynamics, so that's what the discussion became. As usual, that's my favorite part of the meeting and it's a pity that only 50% of the attendance stuck around for it.

It's nice when you go to a meeting like this and can take home a lot of new knowledge.