DVD Legacy

Illustration

Last week I finished my work in Virginia. Next week I have to start anew in Washington. Since that leaves one week and couple of thousand miles in between, road-trip seemed like perfect choice for wife, kids and me. How hard can it be?

One of items that I brought on trip to keep kids occupied were DVDs with Croatian cartoons and, since car did have a DVD player, third day of a trip seemed like a perfect time to introduce that possibility to kids. We hyped them a little just to bring anticipation levels to brand new high.

Daddy placed DVD into slot. Player took it and churned a little. And then threw DiscRegionError. No play for you. My kids were full of joy when I informed them that our ORIGINAL DVDs were not playable.

What is solution? Buying brand new DVDs in order to bring another boost to dying american movie industry was not really a choice. It seems that US market is quite limited when it comes to Croatian cartoons.

Another obvious one would be removing region protection. Of course this is quite illegal in US since DMCA and it’s protection circumvention clause. It is only logical that while KKK has right to freedom of speach, I would be forbidden to play my own original DVDs. Nice to see priority management in action.

And even if I was in mood for breaking law, I had no DVD media with me. We were on major interstate roads and entering a town in order to search for writtable DVD media seemed like a time wasting move. Single laptop with DVD writter would anyhow run out of battery long before I could copy them all.

I just gave up. Kids had more fun with their toys and we all learned valuable lesson. If I have only brought pirated DVDs I would not have this issue.

VHD Attach 3.30

VHD Attach screen

VHD Attach is updated once more.

One personal annoyance is finally fixed. It was always difficult for me to find auto-mounted disks. I auto-mount them right after installation and then, month later, I cannot find where they are exactly. Now all those disks will be added to list of recently used files.

With that sorted out I proceeded with adding taskbar progress for creation of fixed drive. Funny thing that someone who wrote how easy adding it to your application can be took sweet time to do it himself. Regardless of shame, now operation progress can be checked with just quick taskbar glance.

For detail-obsessed there is parsing of dynamic disk header. Not much, but it will make someone happy.

Of course there was some generic bug bashing but let’s not get into it.

Check pages for download or use built-in upgrade.

[2012-05-31: Yes, there is bug-fix out already. :)]

DebuggerDisplay Can Do More

Illustration

Quite often I see code that overrides ToString() just for the sake of a tooltip when debugging. Don’t misunderstand me, I like a good tooltip but, if that is single reason for override, there is other way to do it.

.NET has [DebuggerDisplay](http://msdn.microsoft.com/en-us/library/x810d419.aspx) attribute. Simple class could implement it like this:

[DebuggerDisplay("Text={Text} Value={Value}")]
internal class XXX {
    public string Text { get; private set; }
    public float Value { get; private set; }
}

And that will result in debugging tooltip Text="MyExample" Value=3.34. Not too shabby. But what if we want our display without quotes and with different rounding rules?

There comes in expression parsing part of that attribute. Anything withing curly braces ({}) will be evaluated. So let’s change our example to:

[DebuggerDisplay(@"{Text + "" at "" + Value.ToString(""0.0"")}")]
internal class XXX {
    public string Text { get; private set; }
    public float Value { get; private set; }
}

This expression will result in tooltip that shows MyExample at 3.3. And I see that as an improvement.

Nice thing never comes without consequences. In this case advanced formatting is dependent on language used. If you stick to single language you will not see anything wrong. However, if you mix and match (e.g. C# and VB) you might end up in situation where DebuggerDisplay expression is evaluated by language currently being debugged regardless of language which it was written in.

I usually ignore that risk for sake of convenience.

P.S. And anyhow worst thing that could happen is not seeing your tooltip in very rare situations. Your actual program will not be affected in any manner.

OSH Park

Illustration

PCB designers rejoice, there is new player in town and it’s name is OSH Park. It is yet another batch PCB service that will try to get it’s place under the sun.

Oh, no, wait. This is not a new player. Good old Laen’s PCB Order got a face-lift.

To reiterate a bit. You still get really nice purple boards. You still can have 2-layers with 6/6 mil traces. ENIG finish seems to be a unwritten standard (I don’t recall last board that I got without it). Panels go out every second day. All in all, it is as good as it can get. And all that will cost $5 per square inch for three boards. On PCB side there is hardly any place for improvement (slots, please). Single new thing here is website.

Interface is very simple and that has it’s benefits. If you have single big button named Select a file, there is very small chance of things going wrong. Once zip file gets uploaded, content is analysed and you get nice pictures for all gerbers along with how system recognized them. After approving project, only step that remains is to make an order.

It is definitely not a revolution and there are quite a few PCB manufacturers with such system in place. But it is not worse either.

Web site is very new and there are bugs. There are obviously missing features (e.g. deleting a project). Not even all content is moved from old pages. It will take quite some time to bring everything to a level of service I came to expect from old e-mail based ordering system.

However, my recommendation still stands: If you are hobbyist in search of excellent PCB manufacturer with good price, search no more.

P.S. And purple boards do grow on you. :)