I am Joshua Poehls. Say hello Archives (not so) silent thoughts

Soft links, hard links, junctions, oh my! Symlinks on Windows, a how-to

First, a quick definition of terms. There are three kinds of “symlinks” on Windows.

  • soft links (also called symlinks, or symbolic links)
  • hard links
  • junctions (a type of soft link only for directories)

Soft links can be created for files or directories.

Hard links can only be created for files.

Both soft and hard links must be created on the same volume as the target. i.e. You can’t link something on C:\ to something on D:\.

Continue reading

Can't access network resources over VPN connection on Mac OS X?

So you have your shiny OS X connected to a VPN, good deal! The problem is, you can’t connect to any of the servers and workstations on the VPN. What could be wrong?

It could be that OS X is still trying to find those machines on the internet instead of looking for them on the VPN connection. We can tell OS X to check the VPN connection first by giving it a higher priority than the other network connections on your Mac.

Continue reading

Use AutoHotkey to remap your numpad keys to something useful

Are you tired of having to remember that ALT+0176 is the degree symbol ° ? Maybe there are other special characters that you want to be able to type easier.

Personally it was the degree symbol that got me, and since I never use my numpad, I decided it would be much more useful if those keys actually entered stuff that I cared about.

Here is a quick tutorial in using AutoHotkey to remap one of your numpad keys to the degree symbol. Of course you can expand on this beginning easily to solve whatever woes you are having.

Continue reading

What I miss in vanilla Visual Studio

For the past week or so I’ve gone without any Visual Studio enhancements. No ReSharper. No CodeRush. I knew that I didn’t leverage even a fraction of what these tools offer so I wanted to find out what I would miss.

Here’s what I’m missing the most. In no particular order.

  1. Detection of errors before I compile.

  2. Shortcut for moving a class to its own file.

    I like to build up features in the same file (for speed) and then refactor the classes into their own files later. A tedius process of copy/paste.

Continue reading

Tortoise SVN PowerShell helper function

Do you work from the command line? Use PowerShell? SVN?

While the SVN command line client is certainly usable, there are definitely times where a GUI is more convenient. Specifically during a commit where you want to easily check/uncheck files and view diffs.

I got tired of having to open an explorer window to get into Tortoise SVN’s commit screen so I wrote this helper function.

Put this into your profile and you can start typing tsvn commit (or just tsvn) to open the Tortoise SVN commit dialog. Enjoy!

Continue reading

Take your PowerShell profile everywhere with Dropbox

I’ll cover these prerequisites in brief, but for this tip I’m going to assume a few things:

  • You are running Windows and have PowerShell installed.
  • You are familiar enough with PowerShell to care about your $PROFILE.

What is PowerShell?

In short, PowerShell is a new scripting language from Microsoft designed to replace the use of batch files and VBScript for administrating and automating Windows machines. The language leverages the .NET Framework such that anything you can do with .NET you can do with PowerShell. Typically you will be using PowerShell from the command line but there are lots of other ways to use it.

Continue reading

Installing Ruby (and the DevKit) on Windows

Here’s my recipe for a painfree installation of Ruby on Windows.

  1. Use the RubyInstaller from www.ruby-lang.org. I used Ruby 1.9.2-p0.
  2. Install the Ruby DevKit by following the instructions in the Installation Overview. I used version DevKit-4.5.0-20100819-1536-sfx.

The DevKit is needed so that you can install gems that need to build native extensions. Without it when you try to gem install jekyll you will see an error like this:

ERROR: Error installing jekyll:
ERROR: Failed to build gem native extension.

'make' is not recognized as an internal or external command,
operable program or batch file.

After installing DevKit gem install jekyll will work like a champ.

Continue reading

RIA Services - Lessons Learned While Getting Started

Recently my company has been working on a rewrite of one of our line-of-business applications. We have decided to leverage RIA Services in the new application. At the moment we are also using Entity Framework; that may or may not change.

Here are a few lessons I’ve learned so far when working with RIA Services.

Potentially massive (in terms of lines of code & logic) domain services

RIA doesn’t handle multiple domain services well. What I mean by this is that an entity cannot be shared between multiple services. This means that in most cases you are going to have domain services with lots of methods. Worst case, think having an insert, update and delete method for each entity in your domain.

Continue reading

Why I Love Silverlight

Update on June 9th, 2012

It is now the year 2012. All of the previous love I had for Silverlight has long since moved on to web standards, specifically HTML5. I don’t miss Silverlight, even a little bit. Even so. I will leave this post around for fun.

Silverlight is at the top of my “to learn” list this year. I’m already pretty familiar with the basics but now I need to dig in and write some real apps using it.

Continue reading

Installing Python Pygments on Windows

While I was updating this blog to use Jekyll, I wanted to enable some nice syntax highlighting for any code snippets I may post. Jekyll provides support for this through Pygments which is a pretty mature and widely used syntax highlighter built on Python.

I find it a little ironic that I need to install Python to enable a feature in a Ruby program. Though it is nice to see that the Jekyll team isn’t afraid to leverage great tools even if they aren’t written in Ruby.

Continue reading