Extending Wi-Fi networks (with AirPort Express)

I recently bought an Apple AirPort Express Base Station so that I can hear music without powering up my computer. And since the AirPort Express is a full-fledged Wi-Fi access point, I thought it’d be nice to use it to extend the range of my existing Wi-Fi network.

With Apple’s AirPort Utility, configuring an AirPort Express Base Station is quite easy. There are, however, some pitfalls when trying to extend an existing Wi-Fi network. So I’m going to shed some light on this topic in this blog post. I’ll be using my AirPort Express Base Station to illustrate these pitfalls but the information should apply to any other Wi-Fi access point as well.

Read more →

File Download Script for Visual Studio

download-progress-dialog.png

If you have some binary files you need for your Visual Studio project but you don’t want to add them to your version control system, here’s a PowerShell script that does the downloading for you:

download.ps1

Basically this mimics a very simple dependency management.

Source Repository: https://bitbucket.org/mayastudios/powershell-downloader/

Configuration

At the very top of the script, you define which files to download where.

For example, this downloads the x86 and the x64 version of a SQLite .dll file:

$base_url = 'https://mydomain.com/sqlite'
$files = @{
  '..\sqlite.dll' = "$base_url/x86/sqlite.dll"
  '..\sqlite_x64.dll' = "$base_url/x64/sqlite_x64.dll"
}

Entries must be separated by line breaks or semicolon (;).

Paths are relative to the location of the script file.

Usage

To include the script in your project, call it from your project’s Pre-build event.

For example, if you’ve placed download.ps1 in a folder called libs in your project, use this line to execute it:

powershell -ExecutionPolicy ByPass -File "$(ProjectDir)\libs\download.ps1"

That’s it.

When Does It Download

The script will download the files if:

  • they don’t exist
  • the script file is newer as the files (idea behind this: you’ve changed the file version to download)
  • a file named force-download.txt exists in the scripts folder and this file contains anything else but “false”

These rules are defined in the Needs-Downloading function.

File Path in Spotlight on OS X

When you click a search result in Spotlight, the item will open with its default program.

But what if you want to know the file’s path instead of opening it? Here’s how:

  • Hold down ⌘ + ⌥ to reveal the file’s path below the preview box appearing to the left of the search result list.
  • ⌘ + click, or ⌘ + ⏎, to reveal the file in the Finder.

PowerShell functions for the uninitiated (C# programmer)

Being a C# programmer, I recently found some use for Microsoft’s PowerShell (the cmd replacement). What’s nice about PowerShell is that it has full access to the .NET framework.

However, there are also some very pit falls when coming from C# (or any related programming language).

There’s one very mean pit fall when it comes to functions and their return values that – if you don’t exactly know how PowerShell works – makes you pull out your hair.

Read more →

Bug of the day: Acronis Drive Monitor

Although the Acronis Drive Monitor is a handy tool for keeping taps on your hard drives’ state, it also totally breaks USB 3.0 (at least on my Windows Server 2012).

Acronis Drive Monitor main window

Acronis Drive Monitor comes with a service called “Acronis Scheduler2 Service”. As long as this service runs, it somehow breaks access to my external USB 3.0 drives. If I try to copy files to my external drive, the progress will freeze after a minute or so (together with a explorer window trying to access the external drive).

Solution: Stop the service (USB drives will start working again immediately), or uninstall Acronis Drive Monitor completely.