Yet another major cross-platform project shuns HTML5

Microsoft is writing cross-platform Office’s codebase in C++.

Microsoft has a huge challenge ahead in developing Office across Windows, Windows RT/NUI, Android, and iOS.

Guess what they’re using:


Guess what they’re not using:


FTA (emphasis mine):

The goal of “write once, run anywhere” which technologies like Java, Flash and HTML5 were designed to try to solve by pushing the level of abstraction as low as possible or making application programming interfaces (APIs) very broad sounded good, Zaika said, but ended up creating impedance mismatch. Compatibility and interoperability problems, among others, arose.

via How Microsoft is taking on the cross-platform challenge with Office | ZDNet.

P.S.: Here‘s what I mean by “yet another.”

Windows 8 startup programs not loading or Explorer crashing on boot? Try this:

Disabling fast startup is the key.

This post addresses the following symptoms on Windows 8+ (I’m running Windows 8.1U2):

  • Windows Explorer crashing during startup.
  • Startup programs not loading during startup.

The problem appears to be the OS’ fast startup feature, though it’s unclear whether this is a bug or intended functionality to force the OS to be ready for work as quickly as possible. You can fix the issue by disabling fast startup as follows:

  1. Open Control Panel.
  2. In the View by: drop-down menu, click either Small icons or Large icons.
  3. Click Power Options.
  4. In the left sidebar, click Change what the power button does.
  5. In the window that follows, click Change settings that are currently unavailable.
    On some PCs, disabling fast startup also changes your power button and lid options, so make sure you check those before you save your changes.
    On some PCs, disabling fast startup also changes your power button and lid options, so make sure you check those before you save your changes.
  6. Under Shutdown Settings, uncheck Turn on fast startup (recommended).
  7. Ensure your Power button and lid settings haven’t been changed.
  8. Click Save changes.

This should solve your problem. The only drawback is Windows might take longer to boot, but at least it should load completely this time.

How to print pages in reverse order on any printer from any application

Sometimes you may want to print a document from the last page to the first instead of vice versa. Doing so by default actually makes sense for most inkjets, which output pages print side up and thus force users to manually reverse the page order when the print job is complete.

The best way to reverse print order is to use your printer’s built-in setting. Assuming you’re using Windows 8.1 Update 1 or higher, click Preferences in the print dialog and then find the toggle beyond that. For example, here are the corresponding settings for a Canon iP4600 and an HP Deskjet 5600, respectively.

For Canon inkjets:

  1. Click the Page Setup tab in printing Preferences.
  2. Check the Print from Last Page box.
  3. Click OK.

    Check "Print from Last Page" for Canon inkjets.
    Check “Print from Last Page” for Canon inkjets.

For HP inkjets:

  1. Click the Advanced tab in printing Preferences.
  2. Expand the Document Options entry.
  3. Expand the Layout Options entry.
  4. In the Page Order: drop down menu, select Back to Front.
  5. Click OK.

    HP considers reversing the print order to be an advanced setting.
    HP considers reversing the print order to be an advanced setting.

For any printer from any application:

Now here’s the trick this post is all about. If you can’t find a reverse print order toggle in the printer’s Preferences or in the application’s Print dialog, simply enter your desired page range in reverse order in the Print dialog’s Page Range. For example, if you’re printing pages 1 to 8 of a document, enter “8-1” as below, then click Print:

Reversing the page range in the print dialog reverses the order in which the application sends pages to the printer.

Happy printing!

How to download files from IRC using XDCC and HexChat

A long, long time ago (c. 2005), in a galaxy far, far away, there was a download client called AutoXDCC. AutoXDCC allowed you to automatically download from IRC using XDCC files links in the same manner that a BitTorrent client allows you to download files from BitTorrent swarms using torrent files or magnet links.

Sadly, AutoXDCC no longer exists, and there hasn’t been any replacement in terms of ease of use since.

Fortunately, you can still download using a regular IRC client and, unlike in AutoXDCC’s heyday, there are pretty good free and open source client options.* Back in 2005 your IRC client options were pretty much mIRC or nothing.

So here’s how you get set up. This post assumes you’re running Firefox on Windows 8.1 Pro 64-bit or greater, but the IRC client – HexChat – is multiplatform:

  1. Download and install HexChat. Choose the x64 build if you’re on a 64-bit OS.
  2. Set up HexChat. The only thing you’ll need to do is select your desired username on servers you connect to. You can also disable taskbar icon blinking in response to every message via Settings -> Preferences -> Chatting -> Alerts and unchecking all Blink task bar on: boxes as below.

    How to stop HexChat from going nuts in your taskbar.
    How to stop HexChat from going nuts in your taskbar.
  3. Visit an IRC indexing site. The best one I know of is ixIRC.
  4. Search for what you want at the above site.
  5. In the search results, click the downward pointing arrow to the left of the desired result. This will expose the command you need for the next step and cause Windows to prompt you for an IRC client to pass the IRC link to. You may have to manually browse to and select the HexChat executable – located at C:\Program Files\HexChat\hexchat.exe for the 64-bit build – from the Choose an Application menu. Once the link is passed, HexChat will open and connect to the corresponding IRC server and channel automatically.

    You'll want to copy the obscure command below the desired result.
    You’ll want to copy the obscure command below the desired result.
  6. Copy the command exposed in Step 5 to the compose field of HexChat as shown below.

    Paste the command into the HexChat's compose field and hit Enter.
    Paste the command into the HexChat’s compose field and hit Enter.
  7. Hit Enter.
  8. Assuming HexChat can find the file you just requested, the HexChat: Uploads and Downloads window will open. When it’s your client’s turn to download the file (download requests are queued at the source) a file save dialog will open. Select your desired location and click Open, then wait for the download to complete.

And that’s all there is to it. Hopefully this guide is easier to understand than the obscure ones I found via Google search.


*A paradoxical effect of enforcement on conventional P2P, Usenet, and direct download sites as well as the rise of Anonymous and similar groups has been a muted resurgence of IRC.

Mozilla: implementing H.264 support on Android took 6 times as long as it did on Windows

We have spent around 3 man years and counting getting H.264 playback working on all of the different Android variants. Contrast that with Windows Vista and above which took around 6 months

via H.264 in Firefox Android | Technical Debt Collector.

*Drops mic.*

How to disable and delete tonido.db files

If you’ve used Tonido for a while, you’ve probably noticed that it creates tonido.db files in some folders. According to Tonido’s documentation these are index files that Tonido uses to quickly serve rich info about the contents of corresponding folders to remote clients, as opposed to rescanning said contents on demand.

That’s all nice and dandy, except that the .db files can be huge, especially if the folder in question contains a lot of media. How huge? I spotted a >2 GB tonido.db file in a folder containing 5.8 GB of pics. That’s a massive 34% storage overhead. In my case, the problem was compounded because that folder – among other indexed folders – was being synced to my non-Tonido laptop via BitTorrent Sync, and so the index files were needlessly eating hard drive space on the laptop, not to mention sync bandwidth.

Since I don’t use rich remote browsing in Tonido due to the extra bandwidth demand and the fact that I usually know exactly what I’m looking for and where to find it while remote browsing anyway, I decided to disable indexing and delete the corresponding files.

CodeLathe – Tonido’s developer – understandably doesn’t provide disabling instructions, since it has the potential to degrade mobile UX. Here’s how to do it:

Disable indexing

  1. Right-click the Tonido icon in your system tray.
  2. Click Open….
  3. Click Settings.
  4. Click the Misc tab.
  5. Under Indexed Folders, uncheck Enable Indexing.
  6. Delete all the folder listings under Indexed Folders.
  7. In the When to index: drop down menu, select Manually.
  8. Close the browser tab
  9. Right-click the Tonido icon in your system tray again.
  10. Click Shutdown.
  11. Relaunch Tonido.
We don't index around here!
We don’t index around here!

The above steps should absolutely ensure that index files don’t get regenerated after you delete them in the steps that follow.

Delete all tonido.db files

  1. Download and install Everything Search Engine (ESE). I highly recommend the Beta build, x64 if you’re running 64-bit Windows. We’ll be using ESE to easily hunt down and delete the files.
  2. Launch ESE. If you want to ensure ESE stays up to date while preventing it from launching with Windows and running the in the background, follow Steps 3 to 10. Otherwise, skip to Step 11.
  3. Click Tools.
  4. Click Options.
  5. Click General.
  6. Check Check for updates on startup.
  7. Uncheck Start Everything on system startup.
  8. Click UI.
  9. Uncheck Run in background.
  10. Click OK.
  11. In the search field at the top of the ESE window, enter tonido*.db. The * wildcard ensures that files such as tonido.1.db that are generated by programs like BitTorrent sync are surfaced in results along with tonido.db files.
  12. When the files surface (practically instantly), select all of them.
  13. Hit Delete.
  14. Click OK on any subsequent confirmation dialog. Depending on how many tonido*.db files you have, their size, and your HDD, the deletion process may take a while. Fortunately, deletion takes place via the Windows Shell, which pops up the usual progress dialog.
  15. Empty the Recycle Bin.
  16. Close ESE.
  17. Relaunch ESE.
  18. Repeat Step 11 to ensure all offending files are gone.
All index files are gone!
All index files are gone!

So how much space will this actually save you? In my case, a whopping 10 GB. If you’re a Tonido user who doesn’t need (fast) rich remote browsing, I highly suggest you do the same.

How to fix the “No file with a valid extension was selected. Please try again.” error in CD-adapco STAR-CCM+

One of my favorite and most useful Windows tricks is the ability to copy file or folder’s full path directly from File Explorer via:

  1. Shift + Right-click the file or folder whose full path you want.
  2. Click Copy as path.

This allows you to open that file or folder in another application without having to browse to said file or folder within the other application itself. You can simply paste the path into the File -> Open dialog.

However, the copied path is enclosed in quotes, which can cause some engineering packages to throw errors, such as this “No file with a valid extension was selected. Please try again.” one:

Time to check for - and remove - quotes.
Time to check for – and remove – quotes.

Checking the File Open dialog reveals the problem: quotes.

Ah, the culprit!
Ah, the culprit!

Removing the quotes in the File name: field and clicking Open again solves the problem.

The nice thing about STAR-CCM+ is that you can paste full paths at all. Some packages – *cough* ANSYS Fluent *cough* – don’t allow that and force the engineer to manually browse to file locations all the time, in addition to choking on quotes for typed commands involving paths.

How to fix the “Failed to get all licenses needed for this job” error in CD-adapco STAR-CCM+

This troubleshooting post assumes the following:

  • You’re on Windows (8.1+ Pro 64-bit).
  • You’re using STAR-CCM+ 8.06+.
  • STAR-CCM+ is using a locally stored license.dat file.
  • STAR-CCM+ and FlexLM were installed using default settings for file paths, ports, etc.
  • The CDLMD_LICENSE_FILE Environment Variable points to 1999@YourPCHostname.
  • The CD-adapco_License_server service is running.

but you’re still getting the error:

“Failed to get all licenses needed for this job. Asked for 1 licenses of ccmpsuite”

when trying to start a new simulation.

The “ccmpsuite” part of the error message is important, because it tells you the type of license you requested but failed to get. Ergo, you’ll need to take a look at your license file to see what kind of license you have in the first place.

  1. Open C:\Users\YourUsername\license.dat in any text editor.
  2. CTRL + F the file for “ccmp.” More than likely you’ll find the only result is a reference to “ccmppower” and not “ccmpsuite.” This means you have a Power Session license.
  3. Return to STAR-CCM+ and open the new simulation menu again.
  4. Under License, check Power Session as shown below:
  5. Click OK. You should be greeted with a successful new simulation creation output:

    New simulation success!
    New simulation success!

How to set up Linux Mint on PCs that lack Windows 8.1 support

Recently a friend came into possession of an HP Compaq 6730b laptop: a 6+ year old relic running pre-SP1 Windows XP. After quickly determining that it wouldn’t support Windows 8.1, I decided to load it up with Linux Mint. Here’s how to do that:

  1. Download the Cinnamon 64-bit (assuming you have a 64-bit CPU) ISO here. Ignore the other builds: a general rule of thumb with Linux is the more exotic you get, the more problems you run into. Keep it simple.
  2. Download Win32 Disk Imager.
  3. In Windows 8.1, open the folder containing the ISO file.
  4. In the View tab, check File name extensions.
  5. Change the .iso in the ISO filename to  .img.
  6. Plug a USB flash drive of capacity 2 GB or greater into your PC.
  7. Run Win32 Disk Imager.
  8. Click the file icon in the Image File section.
  9. Navigate to the renamed .img file in Step 5.
  10. Click Open.
  11. In the Device menu, select the name of the drive in Step 6.
  12. Click Write.
  13. When that’s done, remove the USB flash drive from your PC and insert it into the PC onto which Mint is to be installed.
  14. Reboot the install PC.
  15. Set the USB drive as the boot device (how to do this varies from PC to PC). Mint should fire up from there and give you the option of installing it to the hard drive, which you should then do.
Not a pretty UI at all, but gets the job done.
Not a pretty UI at all, but gets the job done.

If your Wi-Fi doesn’t work after installation, try resetting the PC’s BIOS to factory default settings. That worked for me.


  • It’s fast. The old laptop boots to a usable desktop faster than my Core i7-3770 powered Dell XPS 8500.
  • Very low RAM usage.
  • Excellent legacy hardware support.
  • It’s free.
  • It installs quickly.
  • Peripherals (assuming they’re recognized by the OS) install and configure rapidly.
  • You can get up and running with word processing, email, web browsing, etc. in no time.
  • Easy to nonexistent learning curve for basic functionality.
  • Read NTFS storage out of the box.
  • No annoying, unmovable dock (unlike Ubuntu).
  • No need to worry about security software.* Unfortunately, this pro is nearly nullified by a con below.
  • Since most of the ways to hose the system involve command line use, you can hand it over to less experienced users without worrying about them borking it.
  • Very familiar to Windows users.
  • Aero Snap is better than it is in Windows.
  • Can play DVDs out of the box. (Ironically, Windows lost this feature in Windows 8+.)


  • Documentation is thin to nonexistent for anything more advanced that email, productivity, and web browsing.
  • Limited default software support compared to Ubuntu, positively woeful compared to Windows. While LibreOffice worked, I couldn’t get OpenOffice to install, for example.
  • As with many distros, solutions posted online often lack important details.
  • Samba just doesn’t work.
  • Doing anything more than the basics still requires using the terminal or manually editing config files (I’m a GUI guy).
  • Although there are no antivirus worries, there’s also no way to check for and/or automatically install updates; it has to be done manually. This produces a significant security risk, especially if you’re passing the machine on to non-technical users who’re unlikely to check for updates themselves.
  • The menu for adding/removing users doesn’t update immediately, so deleted user accounts show up until you close and reopen the menu. Confusing and annoying.
  • Dated UI that looks like a reimagined Windows XP.
  • (For Firefox Nightly users) Nightly builds are few and far between compared to Windows.
  • Little annoying things. For example, while Aero Snap Windows key combos work amazingly well, some basic Windows key combos with obvious analogs in Mint don’t work.


I’ll be honest: I grew up on Windows, and the way it does things just makes more sense to me. It’s not that Linux Mint is bad, it’s just that it would have to offer some significant advantage over Windows in daily use for me to switch. Unfortunately, it doesn’t, except in the following cases:

  • You absolutely need Linux for something that can’t be done on Windows.
  • You have older hardware that doesn’t meet Windows 8.1’s system requirements AND don’t want to buy a new PC. Seriously, if you can stand the cost of a new machine, just go that route instead and eBay the old one.

That said, it’s the best Linux desktop experience I’ve come across yet, and my friend seems pretty happy with it.

*This is mostly because there isn’t much Linux security software out there, not because Linux malware doesn’t exist.

What to do when Windows Action Center says avast! Antivirus is turned off

So you boot into Windows, only to have Windows Action Center notify you in scary terms that avast! Antivirus is turned off and your computer is unprotected. Fortunately, you can fix this without rebooting (the commonly posted solution):

  1. Right-click the avast! icon in the system tray.
  2. Mouseover avast! shields control.
  3. Click Disable for 10 minutes.
  4. Click the Windows taskbar to exit the avast! icon menu.
  5. Repeat Steps 1 & 2.
  6. Click Enable all shields.
  7. Check Windows Action Center: the security notification should be gone now.
Phew! All back to normal now.