Gus Mueller on The Wilderness

I’ve been feeling pretty much like this expresses lately, even with all this exciting news lately about iOS 8, iPhone 6/6 Plus, and ?WATCH (Apple WATCH):

The Shape of Everything: The Wilderness

However much time I’ve been doing this for, and no matter how much practice I put into it, there’s one thing that always sneaks up and pulls the rug right from under me. It’s usually between major releases, but not always. It’s a period of time where I’m pretty lost, and I don’t know what to do. I have feature lists, I have open bugs to fix, and I have an outline of where the app is going. But I feel mentally incapacitated, like I’m getting nothing done.

The good news is that I’ve got some exciting ideas brewing that I hope will come to shape soon…

How to add custom extensions to a language in Notepad++ to enable syntax highlighting

I needed to be able to add a new extension to the XML language definition in Notepad++, and found this Super User post to be simple and to-the-point.

Assigning custom extensions to a language’s syntax highlighting in Notepad++ – Super User

When you open a file in notepad++ it will attempt to load syntax highlighting for the contents based on file extension. If you use custom extension for one of the existing languages you can add the custom extension in Settings -> Styler Configurator. Select language and add the extension in “User extension” edit box. To add multiple extensions separate them using space. You then need to re-open your file to see the syntax highlighting applied. You can also change syntax highlighting style by selecting a different language from language menu.

Hope it helps someone else!

Choosing Bitness Inside Business Intelligence Development Studio

Visual Studio came to a screeching halt when attempting to run an SSIS package the other day, and it turns out that it doesn’t like running in 64-bit, at least when we were using this under Visual Studio 2008.

Therefore, here is some help for those frustrated by this (which, incidentally, feels like something the IDE should know about and just switch on its own)…

Choosing Bitness Inside Business Intelligence Development Studio (BIDS)

If you’re running your package inside BIDS, the setup is simple unless you’re using the Execute Package Task or Execute Process Task to run child packages. The package you currently have open will (by default) run in 64 bit mode.  The setting that controls this is a property on the project called Run64BitRuntime.  To access this property, right-click on the Integration Services project in your solution explorer and select Properties.  Then select the Debugging node in the editor.  The default here is “true”, which means all the packages in this project will run in 64-bit mode.  If you change this to “false”, all the packages will be run in 32-bit mode.

Hope this helps!

Running Windows Phone 8 emulator in the Windows 8 virtual machine

Yes! It’s possible!

I am so glad to find out that it is possible to run the Windows Phone 8 emulator in Parallels. I’ll potentially be able to do Windows Phone 8 development via my mac before being able to do it on my corporate-issue Windows 7 machine!

I haven’t tested it yet but it looks promising.

Shouts out to the Parallels development team for making this happen.


KB Parallels: Running Windows 8 Phone emulator in the Windows 8 virtual machine


How to Format the Labels in a Pie Chart in SSRS 2008 R2

OK this REALLY made me do a facepalm.

I was wresting again with SSRS (Microsoft’s SQL Server Reporting Services), and was just trying to format the numbers in a pie chart. It seemed clear enough: right click on the little numbers in the pie chart and edit the number format. It even displays all the numbers in all the pie slices with the new format.

Easy, right?


That change only affects the first series, with no obvious way of selecting the other series values to format them… since they look like they’re already formatted!

[image here…]

Turns out you have to move the next series to the top position in the “Chart Data” floating tool window, and then you can modify the values. I found the answer here on Stack Overflow:

reporting services – How to Format the Labels in a Pie Chart in SSRS 2008 R2 – Stack Overflow

i had this same issue, if you just use the arrows (little blue arrows at the top of the chart data box) to move the value to the top of the list you can edit the label details/code/expression etc for that series. then just repeat this for all the values you’ve added. i’m sure there’s a better way but this worked so that’s what i did. It seems that when you are editing a label it is only ever editing the item/value at the top of the list, after you’ve done your labels then just shuffle them back into the order you wanted them listed

Once you do this, you see new values, unformatted (or, more accurately, formatted with the default number format).

[image here.]

You can then go through the same process as before and change the number format for those data points in the series.

What a pain.

How to Remove a Workspace from Team Foundation Server 2008 [#TFS #dotnetdev]

Recently I ended up having a workspace conflict in Team Foundation since it paired another user’s name with my machine’s name, and then when I attempted to establish a new workspace, it complained with a message like:

The working folder C:\dev\MyWorkingFolder is already in use by the workspace MYMACHINENAME;otherguy on computer MYMACHINENAME.

So after a fair amount of research, I did the following:

Launch the command line prompt (Start Menu >> type “cmd” into the Search text box, hit Enter).

Navigate to “C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE”, using:

CD "C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE"

List the other user’s workspaces using the tf workspaces command:

tf workspaces /owner:otherguy

Find and note the offending workspace (in this case, it’s a workspace with my machine name), and then delete it using the tf workspace command:

tf workspace /delete MYMACHINENAME;YOURDOMAIN\otherguy

That did it for me, your mileage may vary, but hopefully this will prove helpful to someone in the future…

Thanks also to this post.

How to Add a “Send Link” Button to the Bookmarks Bar in Chrome

Really helpful tutorial about how to add a bookmarklet to your Chrome Bookmarks Bar that emails the URL to the current page open in Chrome.

I needed to do this recently so this really came in handy, and it’s super easy to implement.

Basically here are the steps:

  1. Open Chrome (if it’s not already…).
  2. Right-click the Bookmarks bar and select Add Page.
  3. In the Name textbox, input the word Send Link.
  4. In the URL textbox, input the following:
  5. Make sure that the Bookmarks bar folder is selected and click OK.

Source: Google Chrome: Add a Send Link Button to the Bookmarks Bar | a Tech-Recipes Tutorial

Separation Anxiety from Apple Magic Trackpad Eased with Logitech T650

I love my Apple Magic Trackpad, but it can be tricky to get working on a Windows machine, so I decided instead to try out the Logitech T650 Wireless Rechargeable Touchpad. So far so good. The feel is very similar to the Apple trackpad, and the gestures (even under Windows 7) are tweakable so they feel more at home.

For instance, if you go into Logitech Mouse and Keyboard Settings application, you can adjust the two-finger scroll to behave like OS X’s tracking of your finger movement, effectively inverting the scroll (though the settings doesn’t word it that way…).

They can be had at Amazon for under $40, and to have more of a Mac-like experience on a Windows machine, I think it’s worth it.

Adding your iOS App’s Build Number to UIWebView Content [#UIWebView, #iOSDev]

Recently I needed to automate the retrieval of the build number for the app I am currently developing, and instead of including the build number in a standard UI component like a UILabel, I needed to add it dynamically to some HTML that was being used as an About Us view.

The solution was pretty simple, but I thought I’d share it anyway since it was fun.

The first thing to do is edit the HTML, so at the place I needed to insert the build number, I simply added a rudimentary replaceable tag to the body of the HTML:

<p>Build: [BUILD_NUMBER]<p>

The next step was to add a method (though I could have also done this inline) to replace the tag with the build number, using [[[NSBundle mainBundle] infoDictionary] objectForKey:@”CFBundleVersion”] to retrieve the build number:

- (NSString *)insertBuildNumber:(NSString *)htmlContent {
    NSString *buildNumber = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
    htmlContent = [htmlContent stringByReplacingOccurrencesOfString:@"[BUILD_NUMBER]" withString:buildNumber];
    return htmlContent;

Then, we put it all together in the method I was using to load the HTML. In this case I was just using ViewWillAppear.

- (void)viewWillAppear:(BOOL)animated {
    // get the file path
    NSString *htmlFile = [[NSBundle mainBundle] pathForResource:@"about_us" ofType:@"html"];
    // get the file content
    NSString* htmlString = [NSString stringWithContentsOfFile:htmlFile encoding:NSUTF8StringEncoding error:nil];
    // replace the tag with the build number
    htmlString = [self insertBuildNumber:htmlString];
    NSString *basePath = [[NSBundle mainBundle] bundlePath];
    // load the HTML into the UIWebView
    [self.webView loadHTMLString:htmlString baseURL:[NSURL fileURLWithPath:basePath]];

The final result worked great and now I can show the build number in the app as it gets updated via the Archive process (I have a separate script for that).

iFunBox Recovers PhotoStream Photos [@ifunbox_dev, #PhotoStream, #iOSDev]

After the announcement of iOS 8, I realized that I had an old iPhone 4 lying around, and locked away inside that device were some photos that I had a feeling were on the device, but not in the PhotoStream for the associated iCloud account. So the next question was… how do I get at those photos? Is it even possible?

Then I remembered that a former coworker had recommended a utility called iFunBox (Twitter: @ifunbox_dev) and it seemed like it might be the right tool for the job.

Turns out it worked very well. I was able to use iFunBox (awful name, sorry guys.) to navigate through the file system and find the PhotoStream files and save them!