Archive for the ‘Technology’ Category

PDFSharp Bug Workaround

October 23, 2012 Leave a comment

So I’m using PDFSharp to insert page numbers into some PDF files at work. The problem was that somehow the page width was being truncated on save,s o any landscape pages would get cut off.

The solution is to make a new PDFDocument and add the pages from the existing PDFDocument to it, and then overwrite the original document (since for whatever reason, the save method on the new instance of the document doesn’t affect the page widths).

PDFSharp makes PDF operations super easy, but man is it a buggy library.


Thoughts on Windows 8

August 9, 2012 8 comments

I’ve been using Windows 8 for a while, and since everyone else is focusing on the UI changes, I figured I’d list some of the improvements that have been made outside of the Start Screen that I enjoy. There are many others as well, even though most of the press has focused on the new UI.

  • hardware-accelerated graphics everywhere, even for things like decoding JPEG files. This makes Windows much faster all-around. Even text rendering is now done with DirectX, leaving the CPU free to do more important things.
  • built-in “file history” feature that replaces need for backup by storing copies of files in your libraries on a secondary location.
  • much better multi-monitor support, with ability to have taskbar on both screens
  • improvements in NTFS including ability to fix errors on the fly without rebooting to run chkdsk.
  • roaming settings/files with Microsoft ID (any Windows 8 device I log into will have my settings and customizations)
  • better support for high DPI (metro apps get this support automatically, which makes my 120dpi screen happy)
  • pausable file copying with a much better estimate of time to completion.
  • improved task manager showing per-app cpu, memory, disk, and network usage – comes in handy when I want to know which app is making my hard disk churn
  • storage spaces – lets you define a virtual disk out of several existing drives and add new drives to it without any formatting or partitioning. Also includes RAID-like features (RAID 0, RAID 1, RAID 5) without the hassle of rebuilding arrays or making sure disk sizes match.
  • reset/refresh button – takes Windows back to its factory-default state without/with personal files and settings with the click of a mouse. I haven’t had to reinstall Windows in a while, but this would be convenient rather than having to dig out the disc and product key again.
  • fast boots (apparently sub 5 seconds with an SSD and a UEFI motherboard, but still a lot faster than windows 7 boots)
  • pervasive search and share – any app can tell windows it supports searching and/or sharing and is included in the search and share charms. This took some getting used to, but is definitely a better approach than having every app implement its own solution. The app doing the sharing has no knowledge of the share destination.
  • built-in anti-virus program, no need to install Security Essentials since it’s already there.<
  • native support for ISO files – no need to burn them to a disc first, or get a third-party ISO reading app.
  • improved Open File dialogs that support grabbing files from Skydrive, Facebook, Photobucket and more, right alongside local folders.

And of course, there is the huge developer improvement of WinRT, which massively updates the Win32 API and makes programming native apps feel like programming .NET or Java apps with none of the performance penalties that happen when running on the Java Virtual Machine/Common Language Runtime. They’ve also added lots of features for tablets, like cellular data support with airplane mode and metering, much improved power saving, support for all of the gyroscopes and GPS gadgets that are in tablets, and multiple touch points (in fact, tablets must have at least five to get the Windows 8 sticker).

It’s definitely a risk, and if it flops, MS will lose a ton of money. I’ve been using it for months and have no complaints. It did take me a while to figure some things out. There are things I disagree with, like putting printing inside of the Devices charm (that one l would have never found on my own). I think lots of power users will gripe about it but eventually switch over. And in 2-3 years, no one will remember how much they hated it. The same thing happened with XP as many things were moved around from where they were in Win98. I wasn’t old enough, but I’m sure there were similar complaints when Windows first came out and the old DOS users had to start using a mouse and adjusting to the new desktop paradigm.

And remember, Win+C, Win+I, Win+F.

Comcast’s Digital Switchover

April 13, 2012 1 comment

I wrote this as a response to a discussion on LinkedIn, but thought I’d post it here too, in case anyone was interested.


Because of the switchover to all digital for over-the-air broadcasts back in June of 2009, all TVs made since 2008 had to have digital (ATSC) tuners built-in.

Most of these digital tuners also support tuning “clear” (unencrypted) QAM signals, which is what most digital cable providers use. Comcast has to send local channels unencrypted, so you will never need a cable box to view those channels as long as your TV has an ATSC/QAM tuner. If your TV doesn’t have this tuner, you will need to get a box from Comcast to continue receiving channels.

Some channels send a virtual channel number with their signals. WGAL does this so that their channel shows as 8.1 on your TV, even though it’s broadcast on channel 58.1. Other channels don’t do this, so without the Comcast box to translate the numbers, they will show up on odd channels. I believe that WGN, for example, is currently on channel 17.5. Since Comcast moves around their channels fairly often, it’s a good idea to do regular rescans if you’re plugging directly into the TV. The Comcast box will continue using the channel numbers that you’re used to (5 for WGAL, 20 for WGN, etc.).

For the encrypted channels (right now this is everything above 24, but Comcast has told me that it will soon be everything but the locals), you’ll need to either rent a cable box from Comcast, or rent a CableCard from Comcast and plug it into a CableCard-supported TV.

Comcast is moving to all-digital because digital channels take up much less bandwidth than analog channels do. This will let them carry more HD channels, more channels with 5.1 surround sound, and even provide faster internet service. It also makes it much easier for them to control access to the channels (and I believe this is the real reason for the switch). For analog cable, a tech would have to go out to the box in your neighborhood and physically install/remove a “trap” to block the signals. With everything digital, it’s the cable box itself (or CableCard) that gives/removes access to certain channels, so they can do it all from their office with the click of a mouse.

Neat document from ALM Rangers

September 9, 2011 Leave a comment

Interesting (but long) read on requirements management written by MS and some sample document templates.

A lot of it is capturing way more information than Lancaster Labs is, but it’s still nice to see another company’s process. I thought the section on traceability was good and liked their definitions for the various requirement types. They also provide detail on how Team Foundation Server lets them store all of this information electronically, so you don’t need to wade through stacks of paper to find the info you’re looking for.

Nice comparison of requirements, use cases, and user stories

July 29, 2011 Leave a comment

I found this on Scrum Alliance. It makes a sometimes difficult topic very clear.

Neat use of HTML5

July 28, 2011 Leave a comment

Windows 8

Mary-Jo Foley reports that Windows 8 ARM won’t run legacy applications, and Windows 8 x86/x64 will run legacy apps through a “Windows 7 Mode”.


James also told shareholder meeting participants, as The Register reported, that there will be two classes of Windows 8 PCs: Ones running x86/x64 chips that will be able to run legacy applications, and ones running ARM processors that will not. The x86/x64 version will include a Windows 7 mode, she said, that will enable this legacy-app support

This could mean great things for “Windows 8 approved” applications, as MS could pull out a lot of the legacy support in Windows. There are things in the win32 API that have been there since Windows NT 3.1 way back in 1993. Pulling those out could make startup, shutdown, application loading, and general UI responsiveness much faster. Of course, this requires developers to get on board with making their apps “Windows 8 ready”, but I don’t think that will be a problem for most of them. And if they’re made available in the rumored Windows App Store, then users will have an easy time finding them. I wonder if MS will require the rumored “AppX” framework to be used, or if any old win32 app can be upgraded.