PDC 2009 (Day 2): Keynote Liveblog #2

committed to database on November 18, 2009 at 11:56 am Eastern Standard Time 0 comments digg this

PDC 2009 (Day 1): Windows Ribbon Technical Deep Dive

committed to database on November 18, 2009 at 12:07 am Eastern Standard Time 0 comments digg this

After our keynote live blog (numero uno), myself, Tom Warren, Long Zheng and Andrew Lyle ran a few doors down to the Windows Ribbon Technical Deep Dive. It started out okay but quickly deteriorated after about 15 minutes. Why? Well it didn’t help that the speaker started implementing mass amounts of code via custom macros. The real downer, however, was the actual code itself. Why isn’t there a tighter wrapper for easier implementation? With third-parties wanting to emulate current Ribbon-based software out there, I don’t see an immediate need for the level of granularity they demo’ed. Kudos for trying though.

If you find yourself in the mood to write Ribbon-enabled applications, make absolutely sure you grab the Ribbon preview tool. You can easy cook and debug Ribbon UI XML with this tool. Some photos covering the recommended implementation steps follow.

 

PDC 2009 (Day 1): Keynote Liveblog #1

committed to database on November 17, 2009 at 11:28 am Eastern Standard Time 0 comments digg this

Webcam chat at Ustream

PDC 2009 (Day 0): Windows 7 Developer Boot Camp

committed to database on November 16, 2009 at 2:23 pm Eastern Standard Time 0 comments digg this

After a quick (and ungodly expensive) breakfast in the morning, Tom Warren, Long Zheng, Paul Thurrott, Stephen Chapman, et al, made a run (almost literally) to the already-started Windows 7 Developer Boot Camp with Mark Russinovich and gang. Paul and I ran to the front and managed to somehow snag seats right next to Mark Russinovich! Sweet.

Speaker Speaker w/ slidedeckSlide

Decphering Task Manager slide 4109559199_51c368aa2b_m[1]

Yep, we’re live-blogging Microsoft PDC 2009 again

committed to database on November 12, 2009 at 8:57 pm Eastern Standard Time 2 comments digg this

Like last year, I’ll be teaming up with several other hacks bloggers to cover the two keynotes during the Microsoft Professional Developers Conference next week. The live blog, powered by Cover It Live, will be embedded in a future post here. Stay tuned.

Microsoft PDC 09 Keynote Liveblog

Day 1: Tuesday, November 17 8:30am - 10:30am (PDT)
(See other time zones)

Day 2: Wednesday, November 18 8:30am - 10:30am (PDT)
(See other time zones)

Microsoft lifts GPL code, uses in Microsoft Store tool

committed to database on November 6, 2009 at 10:53 pm Eastern Standard Time 247 comments digg this

Update 11/7: The example I provided yesterday (ReadBytes) was replaced with a new one. Note that it is only an example. I’m not here to prove my case in a huge exhaustive post for you. That’s left as an exercise for the reader.

Update 11/7 (2): The code in question is not a part of the IMAPIv2 Code Samples. If you visit Codeplex and actually download the source code, you’ll see this code is separate.

Update 11/7 (3): ImageMaster UDF parsing is a valid derivative work licensed under GPL. The original parsing code is from LGPL 7zip. Here’s a comparison. And another.

Update 11/9: Microsoft has pulled the tool pending further investigation.

Update 11/13: Microsoft has acknowledged the code use, see Port 25 for more details.

Microsoft Store logo taped over GNU logo While poking through the UDF-related internals of the Windows 7 USB/DVD Download Tool, I had a weird feeling there was just wayyyyyyyyy too much code in there for such a simple tool. A simple search of some method names and properties, gleaned from Reflector’s output, revealed the source code was obviously lifted from the CodePlex-hosted (yikes) GPLv2-licensed ImageMaster project. (The author of the code was not contacted by Microsoft.)

I see two problems here. (I’m not a FSF professional, so there may be more.)

First, Microsoft did not offer or provide source code for their modifications to ImageMaster nor their tool. According to GPLv2:

3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:

a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,

c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)

Second, Microsoft glued in some of their own licensing terms, further restricting your rights to the software (TermsOfUse.rtf). According to their terms:

1. Scope of License. The software is licensed, not sold. This agreement only gives you some rights to use the software. Microsoft reserves all other rights. Unless applicable law gives you more rights despite this limitation, you may use the software only as expressly permitted in this agreement. In doing so, you must comply with any technical limitations in the software that only allow you to use it in certain ways. You may not
· work around any technical limitations in the software;

· reverse engineer, decompile or disassemble the software, except and only to the extent that applicable law expressly permits, despite this limitation;

· make more copies of the software than specified in this agreement or allowed by applicable law, despite this limitation;

· publish the software for others to copy;

· rent, lease or lend the software;

· transfer the software or this agreement to any third party; or

· use the software for commercial software hosting services.

I understand Microsoft is a big company and that this could have been externally contracted work, but someone dropped the ball during code review/licensing. Cue the fail horns, Drew.

Example of reflected Microsoft tool code and ImageMaster source code on CodePlex

Example of reflected Microsoft tool code and ImageMaster source code on CodePlex

Jackass alert: Software Candy takes your tips, and spams

committed to database on November 5, 2009 at 11:01 pm Eastern Standard Time 10 comments digg this

logoSoftware Candy, a Vermont-based company, makes its business scouring the web for various invaluable tweaks, throwing an executable wrapper around it, and selling it at enticing prices.

If they want to waste their time creating wrappers – fine – but I draw the line at the ripping off my logon UI tip then returning to comment-spam their crap software.

What a bunch of losers.

Comment author: Frank (IP: 71.169.142.181 , pool-71-169-142-181.burl.east.myfairpoint.net)
E-mail: frank77@myfairpoint.net

Use the Windows 7 USB/DVD Download Tool with custom ISOs

committed to database on November 1, 2009 at 1:42 pm Eastern Standard Time 29 comments digg this

While Paul Thurrott was playing with the official Windows 7 USB/DVD Download Tool, creating a bootable USB stick for his netbook upgrade, he ran into an interesting snag with certain discs. The tool, when directed to use an ISO dumped via ImgBurn, would error out. Everything was to UDF spec, so what was going on here?The selected file is not a valid ISO file. Please select a valid ISO file and try again. I’m not a UDF expert, hell not even a novice, but I skimmed through ECMA-167 and the reflected tool code. It appears there are two (possibly more) “navigation buoys” within UDF-formatted ISOs that point to important chunks of the image called Anchor Volume Descriptor Pointers (AVDPs). The first AVDP is somewhere near the top of the image. The last AVDP is located in what appears to be the last logical block of the image. (My guess is this is to support bi-directional reading.)

So assuming each logical block of the image is 2048 bytes large, one could also assume the last logical block is –2048 from the end of the file, right? Well, that’s what the tool assumes. It checks for the last AVDP at the start of the last logical block, doesn’t find it, and bombs out.

I haven’t read through the entire spec., but I doubt there’s anything in here regarding the container of the UDF formatted data.

While one could argue Microsoft Store-downloaded ISOs are comprised in a compatible manner and therefore this scenario is unsupported it wouldn’t have been hard to add some AVDP seeking code.Windows 7 ISO AVDP Copy Tool (Command Prompt)

As a quick hack to resolve this issue, I wrote a tool that merely finds the AVDP in your ISO file and copies it to offset (EOF-2048). This will allow you to use your own ISOs with the Microsoft tool. Microsoft.NET 2.x or higher required.

Microsoft Windows 7 Launch Event Collage

committed to database on October 24, 2009 at 7:35 pm Eastern Standard Time 6 comments digg this

Rather than regurgitate the coverage on a thousand other enthusiast blogs, I took some of my unedited photos from the Windows 7 launch event in New York City and glued them together using Shape Collage. If you create your own, make sure you tag them with Windows 7 Launch Collage so we can all find them!

Microsoft Windows 7 Launch Collage // rafael rivera

HP and Stardock team up to ship netbooks with custom walls, themes

committed to database on October 20, 2009 at 7:45 pm Eastern Standard Time 9 comments digg this

HP + Stardock = <3 Back in March, I wrote about how Microsoft was restricting wallpaper usage on their Starter SKU of Windows 7 – a version of Windows to be preloaded by OEMs onto netbooks. Nicholas R., mistakenly initially emailing Paul, noticed HP was somehow bypassing this restriction according to a bulleted claim on their Mini 110 netbook product page:

The unique ability to change the wallpaper in Windows 7 Starter: a specialized theme includes a custom screen saver and 15 wallpapers designed by Boontje.

How is this possible?

Upon clicking the Customize and Buy link on HP’s website, and clicking through the various customizable components, you’ll discover the included software bundle consisting of some simple applications and a copy of Stardock MyColors, designed for Windows 7. For those unaware, MyColors is simply a stripped down WindowBlinds application targeting the download-and-apply-my-theme users that don’t need the power (or cost) of WindowBlinds. The internals, however, are the same. As this software replaces the Microsoft Windows theming subsystem with its own, it completely bypasses any and all license restrictions imposed by Microsoft. (On the surface, this doesn’t feel very... legal. But I’m sure Microsoft green lighted this.)

(Slight addition [10/20]): MyColors also features some DesktopX and IconPackager code. Thanks for the note, Julien.

So there you go. An updated copy of MyColors for download should be available on or shortly after October 22, the same day Windows 7 officially launches.