ClipboardFusion: Supercharge Your Clipboard!

Extracting Files from an MSI Package

July 21, 2008

Have you ever downloaded something that you don't want to install, but the files are buried inside an MSI file? Here is a quick and easy way to extract all the files from an MSI file. Just open a command prompt (Start > Run > cmd) and run this command:

msiexec /a "C:\Files.msi" /qb TARGETDIR="C:\FilesExtracted"

Substitute your own MSI filename and extraction path, and voila, you're good to go. If you want to see what the installer is doing while it is extracting just take out the "/qb" argument.

IIS 7 and maxAllowedContentLength

July 21, 2008

If you are using IIS 7 and you try to upload a file that is too big you will receive this error:

The request filtering module is configured to deny a request that exceeds the request content length.

The real kick in the teeth here is that I have explicitly set the "maxRequestLength" in my web.config file to be over 100 MB. So, why does it reject a 10 MB upload? Because IIS 7 has it's own setting as well. In order to raise the limit of IIS 7's redundant setting you have to run this from the command line:

%windir%\system32\inetsrv\appcmd set config -section:requestFiltering -requestLimits.maxAllowedContentLength:1000000

Another gotcha is that the setting in the web.config uses KB as the unit, while this setting uses bytes. Keep that in mind when specifying a value.

WordPress URL Rewrite v1.0 Update

July 21, 2008

I just wanted to let everyone know that I have repackaged the release WordPress URL Rewrite v1.0. If you have already downloaded v1.0 and it is working for you, you don't need to download this repackaged version. The only difference with the new package is the inclusion of the C++ 2008 Redistributable. This is required for WordPress URL Rewrite to work properly. Make sure you download the correct package for your operating system (either 32 or 64 bit) and install "vc_redist.exe" before you try to use the ISAPI filter (WordPressURLRewrite.dll). Thanks!

WordPress URL Rewrite v1.0 Released

July 20, 2008

I am pleased to announce the release of WordPress URL Rewrite v1.0. It has been over 1 year since the initial release so I thought it was time to re-visit this plug-in and clean it up a bit. I have made some performance improvements in the URL processing, along with a change that will allow much longer URLs to be processed correctly. I took the time to update the documentation that accompanies it as well, so hopefully it is more complete now and easier to understand. I would urge everyone that is using the older version (v0.1) to update to this new version. There are 32 and 64 bit builds available and both are digitally signed to prevent tampering. As always, if you find any bugs or need any help I would encourage you to visit the Support Forum.

For those of you who aren't familiar with WordPress URL Rewrite, let me give you a quick tour. It is an ISAPI filter for IIS 5 and 6 that takes the default ugly WordPress URLs and turns them into meaningful, easy to remember URLs. It has been tested with all the WordPress v2.x versions and is super-easy to setup. If you are using WordPress on IIS I would encourage you to check out WordPress URL Rewrite today.

Book Review: Don't Make Me Think

July 19, 2008

In the last few weeks I have had the urge to broaden my skill set. I have started reworking my WordPress URL Rewriter (C++) to improve performance, along with memory usage, and it will be ready for release in the next couple days. Also, I recently purchased a Logitech G15 keyboard (which I'll be reviewing at a later date) that has an embedded programmable LCD screen. I have written a plugin that I'll be releasing shortly as well, also written in C++. I feels good to get outside C# once and a while, into the crazy world of unmanaged code. It's like the wild west of coding. You have complete freedom, but you'd better know how to use that freedom, or you'll end up creating a leaky, buggy, creaky old piece of unmaintainable code. Working in C++ again has been great, but I have felt the urge to expand in other, non-coding areas as well. This is where the book review fits in. Since I take the bus to work, I figured there must be a more productive way to spend my 30 minute bus ride than listening to music. With that thought in mind, I jumped onto the Amazon website and grabbed up 3 recommended books.

The first book I decided to read is called Don't Make Me Think: A Common Sense Approach to Web Usability by Steve Krug, and it was a great read. This is the second edition of the book, and was updated and released in 2006 to provide more up-to-date advice than the first edition. The great thing about this book is how technologically independent it is. It doesn't matter if you write web applications in ASP.NET, Ruby on Rails or straight up HTML - this book will apply to you. The only mention of a specific web related technology is the few bits on CSS, but it's pretty light. The book's chapters flow together in a logical order, and all of them contain little gems of advice. I have been doing web development for many years now, so some of the information seemed obvious, but the chapters were full of little bits of wisdom that seemed to fill in the gaps. The one chapter that provided the most useful information for me was the chapter on usability testing. I have never had the opportunity to work for a company who provides a budget for usability testing. One of the little gems from this chapter is this:

After you've worked on a site for even a few weeks, you can't see it freshly anymore. You know too much. The only way to find out if it really works it to test it.

This is so true, and not just for software development. I have always held the belief that you need a second set of eyes to review your work on a regular basis just to let you know if you're still on track. You get so close to the interface design and you're so used to using it that you can't see the glaring errors anymore.

The next great chapter was the one titled "The Home Page is Beyond Your Control". This paragraph pretty much sums it up:

Everybody wants a piece of it. Since it's the one page that almost every visitor sees - and the only page some visitors will see - things that are prominently promoted on the Home page tend to get significantly greater traffic. As a result, the Home page is the waterfront property of the Web: It's the most desirable real estate, and there's a very limited supply. Everybody who has a stake in the site wants to get a promo or link to their section on the Home page, and the turf battles for Home page visibility can be fierce.

Does this sound familiar? Where I work it's a constant struggle to try and reduce the volume of content on our home page, and one that I rarely win. It's nice to know that at least Steve Krug is in my corner.

The "Usability as Common Courtesy" chapter provides a summarized list of "dos" and "don'ts" for web design. I'm not going to re-post the list here, but I will post the biggest "don't" on his list. This is one that frequently bothers me when shopping online.

Don't hide information that I want. [...] Some sites hide pricing information in hopes of getting users so far into the process that they'll feel vested in it by the time they experience the "sticker shock".

I can't count the number of times I have priced out some items on a website, added them to my virtual cart, then proceeded to the checkout. At this point, the most important thing to me is how much they are going to charge me for shipping. Some websites providing a shipping cost estimator at this point, the poorly designed ones don't. Some sites I have been on want to have you create an account, collect all of your personal information including all the payment information, then they show you the shipping cost on the final payment confirmation screen. It's usually at this point that I realize why they waited so long, it's because they're trying to rip me off. All sites should just be up-front about their shipping costs. Most of the time if a site won't tell me how much shipping is going to cost up-front I won't give them any information to find out.

The 11th and final chapter in the book is titled "Accessibility, Cascading Style Sheets, and You". Accessibility is something that I don't have as much experience with as I should (or would like to). One of the first tests he does for accessibility in this chapter is to increase the font size of the current web page. If the page breaks, it fails the test. Very simple first test. He goes on to talk about other testing methods and other ways to provide better accessibility. I have never had the privilege of watching someone use a screen reader to browse the web, but he provides this bit of information to help you imagine how they do it:

Screen-reader users scan with their ears. [...] They listen to the first few words of a link or line of text. If it does not seem relevant they move quickly to the next link, next line, next heading, next paragraph. Where a sighted user might find a keyword by scanning over the entire page, a blind user may not hear that keyword if it is not at the beginning of a link or line of text.

It is so important to have relevant information contained in your links. Instead of something like:
[Click here] to buy shoes.

You could try something like:
[Buy Shoes]

It's more simple, to the point, and someone with a screen reader will immediately know that it's a link to buy shoes. Everyone wins.

Overall this book was brief (just 185 pages) but very concise. The pages were full of right and wrong design examples, along with example scripts to use when performing usability testing. The book was easy to read and the information was easy to digest. I think it is aimed at more of a novice, or someone unfamiliar with proper web design principles, but the information it shares can benefit everyone. I would gladly recommend this book to someone starting out in web design, or someone interested in setting up their first usability test.

ShockDraw v1.0 Released

July 13, 2008

ShockDraw is a proof of concept program that I wrote to learn how to read the accelerometer in notebooks. Just start up ShockDraw and tilt your notebook to draw on the screen. Tilt it left and the line on the screen will move left, tilt it back and the line will move up on the screen. It isn't meant to be a full game or anything other than a tech demo. I have provided both an executable and the source code if you are interested in seeing how it works.

If you are interested in the nerdy details, here is pretty much all you need to know. This is the Win32 method and the struct layout that you need to read the Accelerometer data in your notebook. Either this is poorly documented or I'm terrible at Googling, but all the example structs I found were incorrect. Most of the documentation I found didn't have enough properties in the struct, which caused the ShockproofGetAccelerometerData method to overflow the struct and start writing over program memory. A buffer overflow in all it's glory. Some other examples didn't have the correct data types, which also caused some crazy problems. So, for future reference, here is what the struct looks like in C#:

public static extern void ShockproofGetAccelerometerData(ref AccData accData);

[StructLayout(LayoutKind.Sequential)] public struct AccData { internal int status; internal short x; internal short y; internal ushort xx; internal ushort yy; internal sbyte c; internal ushort x0; internal ushort y0; }

Presto, now you're rolling. Enjoy!

Update: I have changed the video from being hosted on my site to being hosted on YouTube for anyone that wants to share it.

Feeding My Wife's Addiction

July 13, 2008

My wife is a huge Tetris nut. I'm not saying she enjoys Tetris, I'm saying that she has a hardcore addiction to the game. She started playing it when it was first introduced on the Nintendo GameBoy and her love for the game was re-ignited when we bought our Nintendo DS last year. She plays it every night before bed, always online, and doesn't accept defeat. So, when I heard that someone was making Tetris ice cube trays, I knew they would be the perfect gift. They are made by a company called Mystake in Russia. I contacted them last month to order a pair of trays but was told they aren't available yet. I pleaded my case and Dima agreed to ship me 2 trays. Well, they finally arrived a couple of weeks ago and I've had a chance to try them out. My first attempt at using the trays proved to be a huge disaster. I tried to make Tetris shaped Jello pieces, but the Jello just stuck to the silicone Tetris trays and I couldn't get it out. Does anyone know how to prevent Jello from sticking to silicone? I sure don't. So, on my next attempt I stuck with making ice cubes and they turned out perfectly. My wife was pleasantly surprised to find Tetris shaped ice cubes in her drink one night - the present was a huge success.

Tetris Ice Cube Trays by 'Mystake'

On a side note, if you think you've got the necessary Tetris skills to put my wife in her place, please let me know. I've been trying to beat her for years and have never been able to. So, I figured that if I can't beat her I'll just find someone who can. Any takers?

FileSeek v1.5.1 Released

July 10, 2008

FileSeek v1.5.1 has just been released into the wild. This release is a quick maintenance release aimed at fixing a few minor issues. Here is a quick rundown on the changes:

  • Now shows an error if the path to search doesn't exist
  • Status bar now says "x matches found" instead of "x lines found" (more accurate wording)
  • Now properly finds files with no extension
  • Fixed an issue with Windows Vista that prevented the registry entries from being created properly for context menu support

If you have auto-update notification enabled in FileSeek you will be prompted to download the new version, or you can just head over to the FileSeek page to download it.

I Can't Dance, But My Wife Can

July 9, 2008

I can't believe I forgot to write about this, as it was a pretty big event in my wife's life. Last month my wife tried out for the TV show So You Think You Can Dance, the Canadian version. We woke up super early and left our house around 4:30am, arriving in Toronto at about 6:30am. It was a very early start to a very long day. The audition process got underway around 9am and wasn't done until after 9pm. I wasn't allowed inside the actual audition building so my day was full of sitting on the sidewalk waiting with all of the other supporters, and walking around downtown Toronto. My wife had been training and practicing for months and months leading up to the audition and was out pretty much every night dancing at the dance studio and dance clubs. Unfortunately she didn't make the cut, but she had a blast trying out. She says she doesn't want to go through the stress of the auditions again next year, but I'm sure by the time the auditions roll around again she'll get the dance itch. Anyway, here are some pictures of what I saw during the auditions, which is pretty much just waiting in gigantic lines and hanging out all day. Unfortunately no cameras were allowed inside so there aren't any actual auditions shots. Enjoy!

So You Think You Can Dance Toronto Audition 2008  So You Think You Can Dance Toronto Audition 2008
So You Think You Can Dance Toronto Audition 2008  So You Think You Can Dance Toronto Audition 2008
So You Think You Can Dance Toronto Audition 2008  So You Think You Can Dance Toronto Audition 2008
So You Think You Can Dance Toronto Audition 2008  Downtown Toronto, Ontario, Canada
CN Tower, Toronto, Ontario, Canada

Pirating Microsoft Software?

July 2, 2008

Not too long ago I purchased a rather expensive MSDN subscription so that I could expand my testing efforts to operating systems other the basic versions of XP and Vista. At first I was very pleased with being able to get all the versions of Vista, XP, 2003 and 2008 for testing. However, I recently tried to put more of a focus on testing with older versions of Windows as well, like Windows 2000. When I tried to download a Windows 2000 ISO I was surprised that I can't get anything older than Windows XP using my MSDN subscription. It really makes the large amount of money spent on the MSDN license seem a bit less justified. This is where the story takes a bit of a turn for the weird. This is the message displayed as a placeholder where the Windows 2000 ISOs should be:

This product is no longer available from Microsoft in any form, but may be available through third-party resellers or Web sites.

It's available from websites? Which websites? Thanks for helping me out Microsoft. At this point I decided to talk to one of their online support agents and I was shocked by his advice. Here is a snippet of that conversation, with the agent's name removed:

Jon: I see the operating system listed in my subscription, but it says it is no longer available for download. How can I test my software to ensure it works on older platforms?
MS: Your MSDN subscription is: VS Pro w/ MSDN Professional.
Jon: Correct, which covers operating systems as well.
MS: Since the products have been listed in your subscription, you will have the authority to use those products. You may find that you could not download the media of Windows Server 2000 from MSDN download center for a very specific reason. But you may try to borrow the CD from a friend, or from other channels.
Jon: If I do that, where will I get a license key from? I don't seem to be able to get those from the MSDN site either.
MS: That's right, we have removed the media of Windows Server 2000, as well as the product key. Let me locate you the toll free telephone number to contact our fulfillment center. You may get a product key from them. By the way, may I know your location, please?
Jon: Canada
MS: You may contact MSDN Customer Service Center at (800) 759-5474 (toll free). They are open from 5:30 a.m. to 5:30 p.m., Pacific Time, Monday - Friday, except holidays.
Jon: Would it be ok for me to download Windows 2000 from a torrent site and use it?
MS: Yes, we will not suggest you to do that. But you may download the media from a public website. We apologize for the inconvenience this issue has caused you at this time.
Jon: Ok, I'll give that a try. Thanks.

So, apparently in order to fully use my MSDN subscription I have to either borrow the software from a friend, or use bittorrent to download a cracked version. Great, thanks for helping me write software for your ecosystem Microsoft. You really know how to treat your developers.


. 1 . 2 . 3 . 4 . 5 . 6 . 7 . 8 . 9 . 10 . 11 . 12 . 13 . 14 . 15 . 16 . 17 . 18 . 19 . 20 . 21 . 22 . 23 . 24 . 25 . 26 . 27 . 28 . 29 . 30 . 31 . 32 . 33 . 34 .
Download Now
Visit ClipboardFusion on FacebookFollow ClipboardFusion on TwitterVisit ClipboardFusion on Google+Follow ClipboardFusion on RSS
  •  Copyright ©2015 Binary Fortress Software  •  Home  •  Support  •  Referral Program  •  News  •  Binary Fortress & DisplayFusion Swag  •