How to use your computer’s keyboard with the Windows Phone emulators

It’s a little known fact (at least, it was to me) that you can actually use your computer’s keyboard when interacting with the Windows Phone 7 & 8 emulators. This feature is somewhat hidden and differs slightly between the major OS versions:

  • Windows Phone 8: Page-Down enables computer keyboard, Page-Up disables it
  • Windows Phone 7: Page-Up enables computer keyboard, Page-Down disables it

Funny how this is inconsistent between versions. In any case, it eliminates the need for clumsily clicking keys on the on-screen keyboard.

How to find and delete duplicate files in Ubuntu/Linux

Massively duplicated files are oftentimes a problem with music and movie collections. Because hunting for dupes by hand is definitely not the way to go, you may want to look to command-line tools like fdupes for help.

fdupes is available via apt-get in Ubuntu, so install it first:

sudo apt-get install fdupes

This is the basic syntax for looking up duplicated files:

fdupes -r [target-directory]

How to delete all duplicates and generate a report at the same time:

fdupes -rdN [target-directory] > textfile.txt

A quick overview of what the options mean:

  • -r recursive, traverse subdirectories
  • -d delete, delete duplicates
  • -N keep the first file, remove other (duplicate) files

Needless to say: use this with caution! Files will be deleted forever.

Find more information on fdupes here (UbuntuGeek).

How to install JungleDisk on Ubuntu 11.10

Had trouble installing JungleDisk (‘junglediskdesktop’) on Ubuntu again. This time it’s version 11.10. Mike Jennings from gmjjavadesigns.com has a complete guide on how to get libnotify.so.1 linked correctly and make the tray icon appear. The latter part in particular was of interest to me:

gsettings set com.canonical.Unity.Panel systray-whitelist “['all']“

Find his post here.

Thanks Mike!

How to eject your Kindle (so it keeps charging) in Linux

Ejecting your Kindle reading device is different from ‘unmounting’ because it allows you to keep using the reader while it charges over USB. In most distros, you’ll need the command-line to achieve this. Here’s how.

First, find out where your device is mounted:

fdisk -l

Then, use the ‘eject’ command

sudo eject /dev/sdb1

 

 

How to get JungleDisk Desktop running on Ubuntu 11.10 and Gnome 3

JungleDisk is broken for Ubuntu again. It won’t start when selected from Gnome 3′s Activities dashboard, nor will it start when calling it manually from the command line.

$ junglediskdesktop
junglediskdesktop: error while loading shared libraries: libnotify.so.1: cannot open shared object file: No such file or directory 

As suggested by JungleJason (http://askubuntu.com/a/84499), you’ll need to symlink libnotify.so.4 to libnotify.so.1. The latest version of Ubuntu (11.10) apparently only comes with the former variant.

If you’re running a 32-bit Ubuntu: 

$ cd /usr/lib/i386-linux-gnu/ ; sudo ln -s ./libnotify.so.4 libnotify.so.1

If you’re running a 64-bit Ubuntu: 

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libnotify.so.4 /usr/lib/libnotify.so.1

 

How to compile Node.js from source with Ubuntu

UPDATE: Works with Node.js 0.6.6 and 0.6.7 on Ubuntu 11.10 (Oneiric Ocelot) / Linux Mint 12 (Lisa).

There are no pre-compiled packages for Linux, so if you want to use Node.js, you’ll have to build it yourself. It’s easy enough though, and here’s how.

Download and unpack Node.js Source

You can obtain the release version from their website or get an edgier version from their Git source repository. If you acquired it from the former source, you’ll need to decompress it first, for instance to /usr/local/src/.

(optional) Install the build tools

If you haven’t done this before, your system most likely won’t have the required tools for software compilation. You can easily install them: 

sudo apt-get install build-essential checkinstall 

(optional) Install openssl-dev

If you want to compile with SSL support (default), you’ll also need to install the OpenSSL Development Packages, like so:

sudo apt-get install libssl-dev

Build Node.js

Open up a terminal witndow and navigate to the directory that contains the Node.js source, e.g. /usr/local/src/node-0.6.6. And execute the following commands in succession: 

./configure
make
sudo make install

If all goes well, you should be able to access the node command from any terminal window.

Console2 + Powershell: A Better Windows Command Prompt

Windows has always had a ponderous command-line experience. And no wonder, because for the longest time, Microsoft developed Windows to be GUI-first. As a result, the terminal shell in Windows was always something of an afterthought (until Windows PowerShell happened). While PowerShell is a big improvement by virtue of its .NET roots and UNIX-inspired command set, the UI still suffers greatly from strange issues of old, e.g. fixed window size and screwed copy-paste.

Fortunately, free software comes to the rescue. Console2 is a software project hosted on SourceForge and describes itself as (citing their project page):

Console is a Windows console window enhancement. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles

Yeah, Console2 adds everything Command Prompt lacks, and it gets better, because we can configure it to use PowerShell as its shell to create the ultimate Windows command-line environment.

Here’s how.

Download & Install Console2

Get it from its project page at SourceForge, here.

(optional) Download Windows PowerShell

If Windows Update hasn’t already installed PowerShell on your system, you might want to fire up Windows Update manually and enable it. If you’re running Windows XP, you can get it manually.

Configure Console2 to use PowerShell

Open up a Console2 instance and open the settings dialog via Edit > Settings.

Use the browse button next to the Shell field to select powershell.exe from its installation directory. On my system (a Windows XP machine, issued by work..), I used a system variable to reference the PS executable, like so:

%SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe 

Console Settings

Hit OK.

I’ve been using this setup for a couple of months now and I’m extremely satisfied with it. The combination of PowerShell and the features Console2 adds, I’m in CLI Nirvana whenever I need to use it.

That’s all folks!

How to install Flash Builder 4.5 “Burrito” on Ubuntu Linux 11.04 “Natty Narwhal”

In recent months, Adobe has formally dropped Linux support for it’s Eclipse-based Flash Builder IDE. Eclipse itself is cross-platform, however, so it was undoubtedly an artificial measure. Adobe probably figures the Linux developer community is just too small to support. And hey, they may have a point.

I know a lot of developers have a least one foot in Linux-land, still, so when I found out someone ported Flash Builder 4.5 to Linux, I was fast to try it out. It requires a some tinkering, as is customary with Linux, but it’s not too bad. Here’s how.

fb4linux

fb4linux – a straight port of the Flash Builder Eclipse plugin - is an open source project that resides on Google Code. The project is has medium activity, and supports Adobe’s latest release of Flash Builder, i.e. 4.5 “Burrito”, which is actually quite surprising. Being an unofficial port though, some features are disabled or don’t function properly, e.g. the network monitor and the profiler. These features don’t even work decently on a supported platform, so unless you really rely on these features, it’s not a big deal.

Installation

It looks like the installation instructions on the project’s website are out of date, but with a some common sense, you should be able to get it rolling.
Note: I’m running Ubuntu 11.04 with Unity.

Install Eclipse from Ubuntu Software Center

Open ‘Ubuntu Software Center’ and type eclipse in the search box in the top right corner.

Eclipse installs to /usr/lib/eclipse by default. This is an important location, since we’ll be pasting files into this directory later on. Note that you can find out install locations easily by using the Synaptic Package Manager. Just search for an app, right-click its entry and select Properties from from the contextual menu. The information you need will be under the Installed Files tab.

Get fb4linux

Download burrito4linux here and unpack it. The unpacked archive contains the following top-level directories:

  • /eclipse
    • /features
    • /plugins

Paste /features and /plugins

The next step is to paste the /features and /plugins directories in place into /var/lib/eclipse, overwriting any existing files. In order to accomplish this, however you’ll need to sudo. Open up a terminal and enter (disregard the warnings you may get in the terminal window after Nautilus opens):

sudo nautilus

Navigate to /var/lib/eclipse and paste the aforementioned files/folders from the unarchived directory. Make sure Eclipse isn’t running, just to be on the safe side.

That’s all folks! You should now have a functional Flash Builder. I haven’t gotten around to testing all features, but on first look, things looked just fine and functional. I’ll update this post if I find any critial bugs.

How to solve JungleDisk’s “Background Service Error” under Ubuntu 11.04 Unity

JungleDisk Desktop is great cloud backup and sync service run by RackSpace Hosting that offers unlimited online storage at the afforable rate of .15 USD per stored GB. While not as consumer-oriented and user friendly as its competitor Carbonite, I’ve gone cold turkey and am now using it exclusively on all my systems. Contrary to Carbonite, Jungle Disk is fully cross-platform with support for Windows (desktop and server editions), Mac OS X 10.5+ and Linux (DEB, RPM and TAR).

Linux support is becoming more important to me because I’m currently evaluating whether Ubuntu 11.04 could become by main operating system (I’ll most likely stay in a dual-boot environment). In the light of these evaluations, I installed JungleDisk Desktop on all my Ubuntu-based systems. Installation went smoothly thanks to the pre-compiled .DEB packages, so did the initial setup wizard. Great. So I put the JungleDisk Desktop icon in my Unity dock for easy access..

Problem

However, clicking the icon causes the following error dialog to pop-up consistently:

Background Service Error

Jungle Disk Desktop is running in standalone mode and has detected the service is already running, or the service network port is in use.

Please stop the service, or run Jungle Disk Desktop in non-standalone mode.

I tried running it from the terminal, and looked into JungleDisk’s CLI parameters with the –help switch, to no avail. After searching high and low, I decided to contact JungleDisk support, as there was no mention of this behavior anywhere on the net.

Cause

It turns out this behavior is specific to Ubuntu 11.04′s new UI shell ‘Unity’. Normally, JungleDisk puts an icon in the system tray in the top right. Clicking on this icon opens the Jungle Disk Monitor app, which in this case, can’t be accessed because Unity hides the tray icon for some reason.

Workaround

The workaround to this issue is to install dconf-tools and use it to allow the junglediskdesktop app to install itself into the tray.

First off, fetch and install dconf-tools by firing up a Terminal and entering:

sudo apt-get install dconf-tools

Then, open dconf-editor using the same terminal (don’t sudo!).
In this dialog, drill down the tree to: / > desktop > unity > panel

Here, append the string ‘junglediskdesktop’ to the systray-whitelist enumeration (see screenshot). You may need to end any existing junglediskdesktop process and restart it to get the tray icon.

That should remedy the situation! I hope I’ve saved someone some time by documenting this, it wasn’t at all obvious to me that the hidden tray icon was the culprit, as I was assuming that using the application shortcut would bring up the JungleDisk Activity monitor.

I’d like to thank JungleDisk for their speedy, friendly and to-the-point support on the matter. They helped me find the solution to this problem in a day’s time. Good job.