Post navigation

I’m sure many software companies have discovered this before me. But it dawned on me today that you can use bugs/defects in your software to push users towards upgrading to your latest version. There’s a definite case for marking certain bugs as “will not fix” for reasons that it will be frustrating to users and they will see the fix in the new version almost as a “feature”.

The balancing act is making sure that leaving the bug in the software isn’t so critical that users abandon your software altogether. However for minor annoyances or not oft-used features, this business strategy makes sense. This strategy becomes a weakness if users decide to make noise about the problem, or have a collective grief outlet. However if it’s the kind of issue that many people notice but don’t actively complain about – it might be just the type of bug to ignore in this release! Not only will you get more money out of it, but your developers don’t spend time fixing these minor issues. I wouldn’t go so far as calling it a win-win, but it’s certainly profitable.

This doesn’t really work as well with a software as a service, where there really isn’t a clear upgrade path and bugs tend to affect all versions/offerings of your software.

This is obviously not a transparent way to run a software enterprise, but it’s probably one already in practice out in the wild and has some merits.

After running into issues with the instructions on the official Google page for Remote Debugging, I had to do some sleuthing to figure out how to make Windows 8 run remote debugging of my Nexus 7.

The trick (as usual) is drivers. If you’re running the “adb devices” command and coming up with no devices, or perhaps you’re running the full “adb forward tcp:9222 localabstract:chrome_devtools_remote” and getting “Device not found”, even after typing in “adb kill-server” … then you’re in the right place.

Plug in your Nexus 7 and follow the instructions on the official Google page for Remote Debugging. Basically download and extract the Android SDK, set up your device for USB debugging, and set up Chrome for web debugging

In Windows 8, right click in the bottom left side of the screen (where the “Start” button used to be). Click “Device Manager”.

With multi-touch trackpads something I’ve always missed since I lost my Macbook Pro is a three finger tap to middle click. I used this to open up new tabs in the browser without having to do the “right click – open in new tab” thing. The quickest way to figure out if you have ELAN or Synaptics, is to go to Control Panel, Mouse, and then check the last tab probably called “Touchpad”. The presence of the text Synaptic or Elan will guide you in the right direction.

ELAN Touchpad

Here is how you enable 3 finger middle click on ELAN touchpads. This applies to my Samsung Series 7 but should apply to most new Samsung’s as well.

Windows 7 – Start, Run, regedit.exe

Windows 8 – Go to metro, type ‘regedit’ and click on it

Navigate to HKEY_CURRENT_USER > Software > Elantech > SmartPad

Double click “Tap_Three_Finger” and set it to 2. By default mine was set to 7.

While you might feel like Captain Kirk beaming your money away at the counter, Visa’s payWave technology has some irksome qualities when compared to the old chip’n’pin method of payment. I’m going to go into some of the things I’ve noticed about it, as well as a general background on the technology and hopefully some ways to keep your borrowed money secure.

Recently I set up a dedicated server with SoftLayer as a hosting provider. They offered the choice between Windows Server 2012 and 2008. When trying to find documentation on the versions of 2008, I noticed an interesting thing – Microsoft has removed all documentation for Server 2008! Here, give it a try.

Google “Windows Server 2008”. Other than Wikipedia the first link is “Windows Server 2012”.

See what I mean? I even chatted with a representative on their website who basically told me to fuck off and buy Server 2012 already. Refused to provide any information on the versions of 2008, or where I could find reliable information.

After my original post about the court case between tobacco companies and the US Government, I’ve been eagerly awaiting the court’s decision. The news hit last month [BBC] with the appeals court in Washington ruling that “The US government cannot force tobacco firms to put large graphic health warnings on cigarette packages“. I was very pleased with the result because it’s the position I took in my post 12 months ago – a government has no right forcing a company to market it’s products towards it’s financial ruin. Whether you’re a pro, anti, or couldn’t care less about smoking – this case is important because it is really about freedom of speech, capitalism, and especially with the US election coming up – size of government.

Being labeled one of the Top 20 worst cities in the world for parking by an IBM study on commuter pain, I feel as though my experience may have some relevance to my fellow Torontonians. Let me begin with my personal experience, and then I’ll give you a broader picture of how screwed up the temporary parking permit system is in Toronto.

After playing buying BF3 for a few months a month or so ago and logging 128 hours (my soldier’s page) I have come across a few gripes that I feel make this game fall short of perfection. It goes without saying that this is definitely one of the most immersive, graphically and audibly detailed games I have ever played. However it’s lacking some key elements that many other games have in place, and has a few things I would love to see changed. Read on, soldier, read on.

If you didn’t know already, you can insert variables into your issues with Bonfire. It comes with four default variables: cookies, useragent, title, url. You insert them into your issue summary like so {useragent}, and Bonfire will replace it with something like this:

*Mozilla/5.0 (Windows NT 6.1; WOW64)….*

Or for the pictorially inclined:

You can read more about it [here](http://confluence.atlassian.com/display/BONFIRE/Templates+and+Variables). What I’m more interested in is creating custom variables. These vanilla variables are fine indeed, but often you need more debugging information before you can proceed to fix the issue. After the break I will show you how to create your own Ajax requests *in Bonfire* to get more complex information about your users (in particular **session** variables!)

I was interested in the performance of PHP’s APC cache vs the new Wincache touted by Microsoft. Essentially Wincache is APC for Windows (no duh!). I am only interested in their performance at storing variables and arrays in memory, and not any of the OPCODE stuff. Part of the reason is because I think they would be equally performant, and another part is that I have no f’ing idea about OPCODEs. Another thing is that I am not testing on server farms, so I was only evaluating single-server solutions (i.e. ignoring memcache) Enough with the hors d’oeuvres, let’s get to the meat of it.