Category Archives: Projects

How To Autorun Programs On Windows Startup

Windows 7 brought some badly-needed security features to Microsoft’s flagship operating system, but with this new power came one minor setback: the ability to autorun programs with elevated privileges on startup. Instead of adjusting our overall security settings to not bother us requesting elevated privileges (a bad idea), we’re going to use the Task Scheduler tool to automate these tasks.

Locate the Task Scheduler by typing its name in the search box on the Start Menu. In the “Action” menu, click “Create Task…” (NOT “Create Basic Task…”)

In the “Create Task” window, give the task a name. For example, let’s use EventGhost. Make sure to select “Run only when user is logged on” and “Run with highest privileges” and to choose your correct version of Windows from the “Configure for” dropdown.

Screen Shot 2015-04-15 at 8.10.53 PMIn the “Triggers” tab, click the “New…” button. Chose to begin the task “At log on” and select for “Any user”. Make sure no other options are checked besides “Enabled” and click OK.

Screen Shot 2015-04-15 at 8.13.18 PMIn the “Actions” tab, click “New…” and make sure that “Start a program” is selected from the dropdown menu. Browse for your application executable (EventGhost.exe), add any arguments (if applicable), then click “OK”.

Screen Shot 2015-04-15 at 8.19.48 PMIn the “Conditions” tab, nothing should be checked (unless you have a very specific case). Finally, in the “Settings” tab, check the options as they are in the screenshot below and click “OK”.

Screen Shot 2015-04-15 at 8.24.01 PMYour application should now execute automatically when you reboot!

How To Use A Remote Control With Kodi In Windows

Kodi, as we’ve discussed before, is the most powerful all-in-one home theatre solution for the 21st century that combines a comprehensive metadata-driven viewing experience for all your local media as well as the ability to extend functionality through the use of plugins for many kinds of streaming media. The one problem with this setup is that Kodi does not recognize Windows Media Remote commands out of the box and will require a separate process to parse those commands into something useable.

If you have EventGhost properly setup to receive and interpret IR commands from your remote control, there is a stock plugin available for EG that will translate those keypresses into Kodi commands, allowing you to easily program a remote control with Kodi.

Highlight “Autostart” in the EventGhost Configuration Tree. Right-click and choose “Add Plugin…” From the plugin menu, scroll down to “XBMC2” in the “Program Control” folder, highlight, and click “OK”.

Screen Shot 2015-04-15 at 7.38.48 PM

Unless your Kodi/XBMC settings are different from the defaults, go ahead and click OK on the next screen as well. EventGhost will prompt you to add actions, but you don’t need to. All of your macros and actions have now been added to the “XBMC2” folder in the Configuration Tree.

The next part is somewhat tedious, but only required once. Press each button on the remote to register the event in EG. Then, drag each button press event to the corresponding macro in the XBMC2/Buttons folder.

Screen Shot 2015-04-19 at 10.17.25 AM
Once your buttons are programmed, you are ready to use your remote with Kodi!

Parsing IR Remote Control Signals In Windows Using EventGhost

Now that we’ve learned the secret to getting WinLIRC to run correctly, it’s time to decode those signals into commands that Windows can use. To do this, we’re going to use a powerhouse automation tool that is unique to Windows called EventGhost.

EventGhost is a plugin-extensible application that takes input from any myriad of devices or programs and, through the use of a simple IF/THEN programming setup (think IFTTT), calls the desired response within Windows, a particular application, or even connected devices.

Getting the VCR remote set up in EventGhost was more of a headache than I anticipated, and required a lot of scanning fora and a little noodling to get working correctly. However, once I found the proper combination of versions, plugins, and conditions, it’s working like a champ!

First, you have to download and install EventGhost. At the time of this writing, the newest version (0.4.1.r1700, released 4 Mar 2015) seems to be the culprit behind my inability to get the plugins working, so make sure you go with (as of right now) v0.4.1.r1694, released 27 Jan 2015. If there is development between now and the time you’re working on this, just bear this tip in mind if the latest version does not seem to be working.

When you first run EventGhost, there will be quite a bit of detritus that you won’t likely need already programmed as examples. Disable or delete everything in the Configuration Tree except “Volume Control”

Screen Shot 2015-04-12 at 9.05.18 PM
The default configuration tree.

To enable remote control commands, you must activate the MCE Remote plugin. To add the plugin, choose “Add Plugin…” from the “Configuration” menu.

Screen Shot 2015-04-12 at 9.24.03 PM

Select “Microsoft MCE Remote” from the list.

Screen Shot 2015-04-19 at 9.54.32 AM

Do not install the version marked for Vista/Win7 as it is rather finicky and difficult to work with, requiring the installation of an alternate MCE IR service that is buggier than that scene in Temple of Doom.

Pictured: Attempting to work with AlternateMceIrService in Windows 7 (CREDIT: LucasFilm)

The settings for this plugin will allow you to set a custom button release timeout, which will be handy if your system is registering multiple button presses from your remote. I have mine set to 0.75 seconds, which seems to be just enough time. Play around with this setting to find something that works for you.

Screen Shot 2015-04-19 at 9.59.36 AMAdditionally, the settings dialog will prompt you to disable HID service for the remote. You do not need to do this except under special circumstances. The HID service in Windows 7 works fine.

Test to make sure that the correct button presses are being registered in the left sidebar. If they are, congratulations! Your remote is now working in Windows and you can customise buttons to your heart’s content!

Screen Shot 2015-04-14 at 10.06.10 PM

How To Setup IR Remote Control Access In Windows With WinLIRC

WinLIRC, unlike its Linux-based sibling, is a finicky priss to get working. I tried to follow the setup guide on their website, but it was getting late and I could no longer make heads or tails of what they were trying to convey. Starting fresh this morning, I took to futzing around with the settings until I had it working correctly.

Installing WinLIRC is as simple as downloading the zip file from SourceForge and extracting it to any location on your computer. For simplicity, I stuck the application folder in C:\

Screen Shot 2015-04-12 at 12.17.00 PM
“Program Files”? Shit just gets lost in there!

When you first run WinLIRC, you will get this error message off the bat:

CREDIT: WinLIRC
CREDIT: WinLIRC

Okay, I haven’t even defined a configuration, so obviously nothing’s going to work! Thanks, WinLIRC! Click “OK” and you’ll be taken to the main Setup window.

10 In the top section, choose the Input Plugin that is compatible with your remote. Since I’m using the SIIG Vista MCE Remote, I’m going to choose one of the MCEVista* plugins, and since my copy of Windows is 64-bit, I need the MCEVIsta64.dll plugin to drive my remote.

Screen Shot 2015-04-12 at 12.22.00 PM In the next section, you have to specify the configuration for the remote itself. Some fine folks have done a great job of writing a configuration file for almost every remote you might run across, so going to pop over to their website and grab /remotes/mceusb/lirc.conf.mceusb (right-click->”Save link as…”), saving it into the WinLIRC folder.

Screen Shot 2015-04-12 at 12.29.50 PMClick “OK” at the bottom, and you will likely get this message:

CREDIT: WinLIRC
CREDIT: WinLIRC

GOTO 10

CREDIT: WinLIRC
CREDIT: WinLIRC

tumblr_lcttnsi9AX1qb5bn1Screen Shot 2015-04-12 at 12.43.25 PM

GOTO 10

CREDIT: WinLIRC
CREDIT: WinLIRC

Rage_table_flipSo, how do you get it to work? The trick is that you can’t simply right-click->”Run as administrator”. Oh, no! You have to edit the properties so that it runs at elevated privileges all the time!

No, not here. One more step....
No, not here. One more step….

In the Properties dialog, click the “Compatibility” tab, and, at the bottom, don’t simply check “Run this program as administrator”. Click the button underneath that says “Change settings for all users”. THEN check “Run this program as administrator”!

Screen Shot 2015-04-12 at 12.52.20 PM
Okay, NOW you can check the box.

Try running WinLIRC again and you should see the system tray icon come up and you should no longer get the dreaded “Error Window of Doom”.

Now that you have WinLIRC properly configured and receiving signals from your remote, you’re going to need some way to parse those signals into useful commands….

The Best BitTorrent Client: Why Have a Torrent When You Can Have a Deluge?

BitTorrent is by far the most effective means of quickly distributing large files to many recipients, but the decentralised and open-source structure of the system has created an overabundance of client software. The BitTorrent project itself recommends using its own µTorrent downloader client, but since going commerical, it has turned into an ad-laden, buggy, lethargic beast unsuitable for speedy downloads.

I’ve used Transmission extensively in my Linux and OSX work, so I’ve been content with it as it is simple and works. With the VCR running on Windows, I needed a client that worked in the new OS. µTorrent was the obvious first choice, but as you can see, that did not last long.

Screen Shot 2015-04-11 at 10.50.51 PM

I discovered Deluge by chance, and I have to admit, I am quite enamoured with it. The interface is very similar to any number of other BT clients, but the magic is in its automation options, its speed, and the fact that it is cross-platform. Seriously, Deluge is the zippiest client I’ve used yet! Try it and you’ll see that Deluge connects to peers faster and more reliably than any other client I’ve used, and it has reduced the times for my completely legit downloads by roughly half! It is certainly the best BitTorrent client that I’ve run across!

Streaming Music From The Cloud With Google Play

If iTunes is the centre of the iOS/OSX sphere of influence, then Google Play is undoubtedly the centre of the Android sphere. But at one time, it was simply a music service along the lines of the iTunes store, but it offered so much more than Apple did: it allowed users to upload a copy of their MP3 library to Google’s servers for streaming music to Android devices or through a browser.

Now, I have quite an extensive library full of rather obscure recordings and eclectic variety, so this came as a huge boon to someone like me. Pandora, Spotify, and Slacker could only go so far with their curated playlists full of repetitive tracks and limited playback options. For years, I’ve been looking for a solution to curate my music library for portable playback (“the Cloud” wasn’t quite a thing yet), and the only option available to me was the $300 iPod Classic (which has since been discontinued), a hefty price to pay for a dedicated device.

My biggest timesuck with Google Play’s music service has been cleaning my MP3 library. 30+ years of collected recordings tends to produce a few duplicate tracks now and again (many of which were songs pulled from Napster that I have since legitimately acquired by purchasing the full album). Granted, you are not required to take such meticulous care of your library, but I tend to be a little obsessive over cataloging, and I like everything to be just so. After several weeks dedicated to cleaning ID3 tags, eliminating duplicates, and filling in missing artwork, I was finally able to upload a clean version of my library: over 18,000 individual tracks! Google allows a whopping 50k tracks to be stored in your account, and the best part is that they will automagically replace your MP3 with the highest quality version available to them for streaming!

Now, I keep everything on a thumb drive organised locally via iTunes, then I upload a copy to Google Play for streaming to my devices: it sure beats the hell outta syncing and charging a separate iPod, I can guarantee that!

Block Annoying Ads In Firefox With Adblock Plus

If you aren’t using Adblock Plus on your browser, what is wrong with you?

How To Punch A Hole Through Windows Firewall

Windows 7 does a pretty decent job of sealing itself off from the wild and the wooly of the Interweb with its built-in firewall, but sometimes you have an application running that needs to interact with the outside world: a game or an FTP server, perhaps. In order for these applications to work correctly, you’re going to need to punch a hole in your firewall by adding an exception to Windows Firewall.

First, open Windows Firewall settings from the System and Security settings in the Control Panel.

Screen Shot 2015-04-09 at 9.16.00 PM

In the left sidebar, click “Allow a program of feature through Windows Firewall”

Choose the program from the list and check the box to the left to allow an exception. Check the boxes to the right to specify which networks the exception is allowed on.

Screen Shot 2015-04-09 at 9.19.32 PM

If your application does not appear on the list, click the “Allow another program…” button in the lower left, and either highlight the program from the list or browse for the executable file, then click the “Add” button. (NOTE: for FileZilla Server, make sure that “FileZilla server.exe” is given the exception NOT “FileZilla server interface.exe”)

Screen Shot 2015-04-09 at 9.22.25 PM

How To Setup a Windows FTP Server With FileZilla

FileZilla is the de facto Windows FTP server solution. It is an open-source, free application distributed under the GNU public licence.

Installation is fairly straightforward, simply download and run the installer binary. Be careful, though, because Sourceforge sneaks some “sponsored software” into the installer, and you may end up with a little bloatware that you didn’t want or need. The default settings are fine, but you may want to change the default port if you’re going to be opening this sucker to the entire Interweb. Today, though, we’re staying behind the safety of our hardware firewall, so we can only access files if we’re connected to the same wifi.

Setup is a little convoluted, but can be made simple by following these easy steps:

One the server daemon is running and you are in the main window, click the “Users” button Screen Shot 2015-04-09 at 7.26.04 PM to add users to the server.

Screen Shot 2015-04-09 at 7.26.04 PM

In the Users window, click the “Add” button on the right side, type in a username and click “OK”. The user you just specified will be enabled automatically. You can assign a password for this user by checking the box next to “Password” and typing one in.

Screen Shot 2015-04-09 at 7.30.36 PM

Clicking the “Shared Folders” branch (on the left side), you can add directories and assign permissions. I only assign write, delete, and append permissions to my admin account while I give other users the ability to read files on the server. Each directory will require an alias, so give it something easy to remember when you open it in your FTP client.

Screen Shot 2015-04-09 at 7.40.40 PM

For more information on setting up FileZilla Server, including how to punch a hole through the Windows Firewall, consult the FileZilla Wiki.

For the first time in nearly a decade, I’m using Windows as a primary OS

I have to admit, I haven’t used Windows on a machine that I own since 2006 when Microsoft wanted me to pay for a new license for the copy of Windows XP Pro that I legally purchased as an upgrade to the same computer I had been using since 2002. Microsoft–to put it mildly, and in plain terms–royally pissed me off that day, and I swore off their products for what might have seemed forever. I switched to Ubuntu 6.06 and became an instant fan of Linux, reliving some of my youth spent digging around in MS-DOS and writing lines upon lines of code. I ran various flavours of Linux for years all the while staying sure of myself that I could run anything just as well as I could with Windows.

In 2010, that all came crashing down–literally–when a bookshelf fell from the wall in my tenement apartment and crushed my laptop. I did the best I could to revive it, but the hardware was circling the drain. It was time for a new computer. I bought a MacBook Pro.

I’m a fan of OSX at its core level. The system is based on UNIX (“It’s a UNIX system. I know this!”), so it’s sorta like Linux…except that it just works. No muss, no fuss, and no compatibility issues that need to be sorted. I’ve been happily using OSX going on 5 years now, but for the VCR, I was not going to attempt the foolhardy pursuit of building a hackintosh. Ubuntu proved very capable in building a functioning software suite, but when I got to the higher end of the project’s performance envelope–namely in areas regarding emulation–Ubuntu’s OpenGL processing was simply falling short.

Finally, for the first time in nearly a decade, I have installed Windows as a primary operating system on a machine that I own. Thankfully, I missed the Vista era (as Vista is to 7 what ME was to XP), and in my experimenting with Windows 8 at my day job, I knew that tiled monstrosity wouldn’t see day one on my network! Windows 8 is a jumbled mess that can’t decide if it’s going to be for desktops or tablets, showing the shortcomings of both and the advantages of neither. Even the 8.1 upgrade still managed to take away a lot of the core functionality that I would rely on for the VCR. For this reason, I took the plunge and bought a copy of Windows 7 Home Premium.

So far, the $99 price tag has shown its value against my open-source mistress in the gaming realm, allowing me to play my entire games library without complex compatibility layers or other desenrascanço. I can even purchase new games from Steam and Good Old Games to go along with the hundreds of titles I already own! There are a few key functionality options in Windows that one does not enjoy in Ubuntu as well. The case in point: EventGhost. Ubuntu does have an ability to program macros to various events in the OS, but only in Windows is there a GUI that walks you through setup quickly and easily.

The bottom line: Linux is fantastic and an unbeatable bargain for the price (free), but for the foreseeable future when you need a little extra multimedia support, it’s worth dropping a Benjamin to get DirectX.