Thursday, July 31, 2014

Validation fail of the day: Banana Republic

After receiving a promo code, going through the process, and having to wait until the very end to apply the promotion (which was always a little frustrating), I was greeted with the following gem:

Last time I checked, the alphabet counted as alphanumeric..

Wednesday, March 05, 2014

How to: Drag and Drop Files to an Elevated Program [Field Notes]


I run Visual Studio as an Administrator, which is helpful, but also means that I can't drag & drop files / folders from Windows Explorer (since it's not elevated). That's a pain in the butt.

Thanks to a handy discussion on the HowToGeek site, I found the following tip.

[Caveat: this works on my machine, a work desktop using Windows 7.]
 To enable an elevated windows explorer:
  • Right-click on the task bar and select "Start Task Manager"

  •   In Task Manager, select File --> New Task (Run...)

  • You should see a note that this will be run using administrative privileges. 
  • Enter "explorer.exe" and hit enter.

You can now drag and drop files into other elevated windows with ease!


Wednesday, February 12, 2014

Quick Tip: File Hashes with PowerShell Community Extensions

I need to calculate the MD5 and SHA hashes for a file from Windows and I'd rather not download 3rd-party GUI software that clutters my setup.

I like the PowerShell Community Extensions for this.

  1. Download Chocolatey Nuget (it will make your life outside of this post easier, I promise).
  2. From the Powershell command prompt, type cinst pscx . This will install the PowerShellCommunity Extensions.
  3. Use the PSCX syntax to get the hashes. Some examples below:
Get-Hash C:\Path\To\ -Algorithm MD5
Get-Hash C:\Path\To\ -Algorithm SHA1

Tuesday, January 21, 2014

Web site fail of the day: Intel RST Community Forum

The Intel RST Community Forum is a tough club to get into!

First, I try to login and LastPass helpfully fills in my saved information which I've used previously.  However, it appears it no longer works:

No worry, I'll reset my password:

...just kidding. No e-mail ever arrives.

Maybe I forgot to create my account:

And the kicker: Maybe I'm getting my username wrong and I can have them e-mail it to me...

Not really sure what else I can legitimately do to try to get into this web site..

Bonus! I found out that the Intel & Intel Communities logins are different. OK, could have been my bad. I see the button the link the accounts:

I previously just created an intel account to get around this mess, so this seems like the perfect solution! I click "login with my Intel account" and...

...I give up. Intel is just trolling me at this point.

Monday, January 20, 2014

My Newest Backup System / Process [Lessons Learned]

With all my bellyaching about Backblaze lately, it only stands to reason that I should pick a better system.

So, following Scott Hanselman's advice, I'm upping my backup game. Below is how I plan to take care of my ~400 GB of data so far:

  • Taking care of the data normally: My data will be on two 2TB hard drives in a RAID1 configuration. It uses Intel RST, which is a great app that lets me use an SSD drive as a cache. If your components support it, I can't recommend it enough.
  • An extra local copy: I have two additional 1TB harddrives (from my last RAID set). I'll be setting up Robocopy on a scheduled task to mirror files in certain folders, and will also set it up to monitor folders when files change.
  • An additional off-site copy: Since I have two 1 TB hard drives, I will label them "A" and "B" and swap them when I go to see my family in Pennsylvania. If I didn't have family in another state, a bank safety deposit box would do just fine.
  • An external hard drive: Because seriously, why not? This way I know it can travel, too. No backup is too much, even just for convenience, especially if I can automate it.
  • GMail: My e-mail is also precious. I'll be again using a Hanselman-authored solution to back this up.
  • Cloud Backup: If Backblaze is able to take care of me, I may keep them because I have a lot invested. Otherwise, I'll be looking at other options. But the point is, this should be the last of my concerns after all the other ones are taken care of.
Looking forward to getting this set up ASAP.

"It's the (Backblaze) restores that fail."

[FYI, since it's only fair: if Backblaze makes this right or wants to respond, I will absolutely allow them space in this post to do so. I still have a lot of respect for them as a company. You can follow the discussion on HackerNews.]

Folks involved in systems administration may likely be familiar with the adage that "Backups always work; it's the restores that fail." [1]

For years, I've put a lot of trust into Backblaze as an online backup application. I have evangelized them to many people; my family members and girlfriend in particular will attest to the fact that I've often foisted the solution upon them, and I've even gone so far as to buy a subscription for a friend of mine who is a writer but didn't have a backup solution.

However, currently I'm stuck in a frustrating restoration process that is making me rethink the decision to use Backblaze. 

Background: a little over a week ago, I made some stupid decisions when the RAID controller died on my out-of-support motherboard and my disks got a little scrambled. I knew I'd need to rebuild my system, but essentially I got rid of the data because I knew I had it in another location and was comfortable because I trusted Backblaze.

My first trouble came when I requested a small restore on my laptop. It was 32 MB of data that I needed to get my system up and running again [2], downloaded to a laptop. I tried unsuccessfully for hours to get those files to download. The speed dropped to 0kb/sec after 3 seconds until the downloads timed out. I used both http downloads and Backblaze's downloader application, to no avail.

After a very helpful conversation with BackBlaze's CEO [3], who got the engineers to confirm that their servers appeared to all be doing fine, I was able to get the downloads to work, but only seemingly after force-quitting every chrome.exe application (whether this is the fault of Backblaze's software or chrome, I can't say. I should have rebooted my whole system earlier in the process, but it seemed like an issue with their servers given that I could stream HD video and was getting at least 14-15mbps down at the time).

So the next step: Now that the downloads were confirmed to work, I got my system back in order and then prepared my first restore -- a 6 GB chunk of data out of my ~400 GB stash. This download took a long time, but is worth waiting for as I do not want to pay $189 to have my data shipped to me (one of their options). However, upon finishing the download after 12+ hours, when unzipping the file I was told that it wasn't a valid archive. Both the backblaze unzipper and 7-Zip could not make any sense of the file.

The support ticket I had open through all of this is equally frustrating. Firstly, the support staff was off for the weekend. This is totally understandable, but when dealing with something mission-critical like data, I think it makes sense to employ a weekend staff. Someone finally replied to my first ticket at 10:30 this morning. When I told them the 6GB download unzip had failed using the backblaze downloader, they asked me to try again using 7-zip. I confirmed that I had tried both and asked if there was anything I could do to fix the 6GB download or if this was a known issue. That was a little before 1PM EST; it is currently 8pm EST and I have not heard back from BackBlaze.

Given the slow speed of transfer and technical difficulties with a 6GB file, how am I supposed to trust them either with a 400 GB restore, or (as they recommend) ~20 sets of 20GB files? It's put me in a very difficult position by not delivering on its promise -- a promise that means a lot to me as an IT guy.

CrashPlan is looking like a great option right now, and I'll be exploring other solutions as well. If I have to spend $189 to get Backblaze to do what it promises to do for me, after paying for years, I have no choice but to look elsewhere.

In the end, I am grateful for what Backblaze offers, and hope that it can follow through on it to remedy the situation.

Conclusions / Concerns
  • Don't be like Sean -- do what Scott Hanselman says and always have a local backup, too. I now have an additional 1TB SATA drive and plan to use it specifically for this purpose. I thought I was sacrificing convenience for dollars, but it was worse than that. This was hubris on my part.
  • Backblaze really needs to up its restore game. A LOT. Restoring your precious files is generally an anxious process; as a technical person I hit a ton of roadblocks. I don't pay them to back my things up; I pay them to restore my things when I need them.
  • Is Backblaze neglecting its restoration services knowing that customers will likely opt for the $99-189 purchase of a shipped HDD because their data is precious? I certainly hope not, but it seems to be a possible conflict of interest.

[1]: I've heard this in the industry for years, but since I don't know the originator, I'll give Scott Hanselman the credit.

[2]: Side note: If you are going to scan your documents -- like say, serial keys to your OS -- don't keep them as remote files only. In general, I'll be switching to an additional form of backup for local as well.

[3]: Seriously, I commend his willingness to engage with a slightly-frustrated customer who found him on Twitter during the weekend. It was a long shot but his response inspires confidence. Here's the Storify of our conversation so far; I'll edit it as progress is made.

Sunday, January 19, 2014

Quick tip: Chocolatey + Powershell + Dropbox for package management and backup

So it's been a long day and night rebuilding a system from scratch (Motherboard issue + Hubris + Bad decisions). But on this go 'round, I decided to install as much of my software as Chocolatey packages as possible.

Have you Installed Chocolatey? If not, and you care about being a windows sysadmin or developer, stop reading this and head to immediately to read up and install it. I'll wait.

Done? Okay, great. So I was looking through the Chocolatey Gallery and finding packages to install (side note, installing multiple packages is as easy as "cinst packagename1 packagename2 packagenameN") when it occurred to me: as I change things, wouldn't it be nice if I had a list somewhere of these packages that stays updated?

Cue an all-too-easy powershell script on a scheduled task and 2 minutes later I was up and running. The script:

$theDate = $(get-date -f yyyy-MM-dd_hh-mm-ss)
$baseLocation = "C:\Users\Sean\Dropbox\MyPCName\ChocolateyPackageListExport"
$finalFileName = $baseLocation + "\" + $theDate + "_PackageList.txt"
clist -lo | Out-File $finalFileName

Pretty simple -- it uses Chocolatey's list command with the -lo flag to show local packages only, and then outputs that list to a filename with a DateStamp.

I saved it in DropBox. The next step was to set a scheduled task. Again, easy! I created a simple task to run at 4am everyday. The action item is simply:

"powershell -NoLogo C:\Users\Sean\Dropbox\MyPCName\Scripts\ExportChocolateyPackageList.ps1"

Now I get a date-versioned list of all my installed packages synced to any of my devices every morning at 4am.

Saturday, January 18, 2014

Quick Tip: The "shell:" prefix in Windows 8.1 dialogs (Finding the Startup Folder in Windows 8.1 quickly and more!)

Every once in a while I'll Google for something relatively straightforward to see if there's a better way to do it.

Today, that was finding the startup folder with Windows 8.1 -- and I'm glad I looked!

I found an excellent Microsoft KB Article (unfortunately I lost the link). Apparently, you can just open a run dialog and type "shell:startup"

It can't be this easy...can it?
...and voila! The startup menu is there.

Holy cow, it IS that easy!

A lot easier than remembering C:\Users\Sean\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup, if I do say so.

I did some more digging and found a great post on PeteNetLive that goes through some of the other shortcuts that exist as well.

And the potential exists for more! Per the article, you just have to open regedit.exe and navigate to HKLM > Software > Microsoft > Windows > CurrentVersion > Explorer > FolderDescriptions. In there is a menu with all of the GUIDs. Look at the "Name" property for the thing you'd have to type. I see a few interesting ones on mine, though your mileage may vary.


KB 0000709 - "Where's the Startup Folder?" [PeteNetLive]

Thursday, December 12, 2013

A Quick Regular Expression (Regex) to Pull Colors From a CSS Stylesheet

This one's mostly for my quick personal reference. It wasn't hard by any means but figured someone else might find it useful.


I need to find all hex color codes in a style sheet so I can extract them.

I came up with a quick Regex (regular expression) to do this:


Essentially, it just looks for a pound symbol (#), followed by any amount of numbers 0-9 or letters a-f, followed by a semi-colon.

If you're interested to try it, you can view my example over at Regex Tester.

It's not the slickest but it got the job done quickly.

Happy coding!

Wednesday, December 04, 2013

Touched by a Peripheral: Logitech T650 Review [A must-have]

Summary: I thought this device would be inconsequential, but it makes a world of difference. The T650 is a top-notch device so far, and between the great experience with this and my Logitech K750 Keyboard, Logitech has cemented itself as my brand of choice for peripherals going forward. Brand loyalty to a company that makes keyboards and mice -- I would not have foreseen that. As of this writing, it's $47 on Amazon -- down from around $70. I can't recommend it highly enough.

I don't talk a lot about products on here. It's never really been my schtick. Aside from beginning to catalog my desktop PC rebuilding adventure, I was never really into gadget reviews and the like.

But this little square device came along and changed all that.

Below are some rough, bulleted notes because I just couldn't contain my gushing.

Unboxing Impressions

  • Small box -- wonder if the surface area will be smaller than I thought.
  • Nope -- box just fits very snugly. The packaging reminded me of Apple's while remaining distinct -- it was sleek, easy to open, intuitive, and showcased the product.
  • And man, does the T650 look good. It looks so simple that it's hard for me to anticipate how powerful my first experiences will be with it.
  • It looks solid. The single square design gives a feeling that not much could go wrong with it in the way of hardware. I'm not nervous to plunk it down.
  • A special point needs to be made of their USB cabling. I don't know why all USB cabling doesn't come like the cabling on this device. The cable has clips strung all along it that allow the ends to clip into specific places and the coil to clip into itself as it coils. This makes it super easy to wrap, unwrap, and store. I'll be looking into whether a company makes these sorts of clips for other cables, and if so, I must have them.
Overall, the first impressions I get are those of simplicity, innovation, and power. Kind of a sweet spot for gadgets.

Initial setup

Wow, was that easy and fast. To install the device I:
  • Turned it on (it ships with some charge) by sliding the power forward.
  • Opened my Logitech unifying software (already installed from my K750)
  • Turned the touchpad off and on again
  • Let it download all the necessary components
  • Clicked finish.
After that, and the obligatory "would you like to register your device", I was done.

Tutorials abound -- in the quick-start manual, the Unifying software, etc. However, I found a barely needed them. A few a-ha moments when using different swipes and I was off to the races.

There is nothing I find cumbersome with the touchpad so far. Copy/Paste, middle click, dragging and dropping, right-clicking, etc. have all come easy while orienting myself.


While I've just started, I can already feel the power of this in day-to-day use.

I'm moving my wrist so much less, which feels better, though I have no opinion/science on whether it's truly ergonomically better.

Charging is easy as well. The device has a small light that pulses when it's charging, and shines red when the battery is low. And it's beautiful to use this device in its wired capacity. I could have dealt with a cable but the wireless setup really completes the package.


Kudos, Logitech. Your commitment to product and user experience shines through well here. The unboxing was easy, the setup was almost nonexistent it was so simple, your software gets out of my way, your instructions are clear, and your device is solid, intuitive, and well executed, from the device itself to the USB cable it ships with. 

I'm really glad I got this device.