Offline speech recognition in Android will fail immediately if the language input and voice input do not match

If your Android app uses speech recognition (i.e. enables the RecognizerIntent EXTRA_PREFER_OFFLINE), you may run into an issue where the offline recognition immediately fails even though you have the offline language files installed on your device.

Ensure that the language input in Keyboard & Language settings and in the Google Voice Input (whic… Read more

cordova-plugin-stripe 1.5.3 manifest merger will fail with update to com.support.android to 26.0.0

If you’ve recently upgraded your Android SDK and end up getting these errors in your Ionic/Cordova projects, you may need to install the cordova-android-support-gradle-release plugin (via cordova plugin add):

Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(25.3.1) from [com.android.support:appcom
Read more

Ionic 3: ionic start -n … if you use spaces in the project name, npm dependencies will not install

Just a warning for those migrating to or starting to develop with Ionic 3 framework, if you create a new project with illegal characters in a package.json “name”, npm dependencies will not install.

You might encounter an error right away when performing “ionic serve” or “ionic cordova run” like:

Error: Cannot find 
Read more

Apache to Nginx transition on WordPress – don’t forget the permalinks

After having transitioned from Apache to Nginx as the web service for this blog, I noticed an immediate drop-off from search engine traffic to links outside of the index page. Just attributing it to blind bad luck for a few days, I later realized that permalinks were broken because I didn’t correctly translate the rewrite rules from the Apache confi… Read more

Is PokerStars “The Deal” a zero-sum game?

In reality, the short answer to this question is no, “The Deal” is not a zRead more

Does PokerStars manually control when the Big Deal jackpot is won?

(Update: the jackpot as of 12:30 GMT Friday,  January 27 is now over $470,000. Given that there now have been roughly 21.8 million losing entries, if the odds of the hitting the jackpot are truly 1 in 5,197,920, meaning that the jackpot wheel is fair, neither predetermined or unevenly weighted, we should have expected the jackpot to be hit 4 times by now. SRead more

The expected value of playing The Deal at PokerStars

“The Deal” is a recently released promotion from PokerStars that allows … Read more

Socket.io 1.4 to 1.7.2 temporary fix for #2405: Server socket id doesn’t match client’s socket id

If you’re affected by the major change outlined by this reported issue here’s a temporary fix you may want to try to get things working again without having to change all of your own code:

find . -name "socket.io.js" -exec sed -i -e 's/socket\.id \= self\.engine\.id;/socket\.id \= socket\.nsp \+ "\#" \+ self\.engine\.
Read more

Socket.io 1.3.2: client events received in browsers prior to all JS being loaded

FireFox experiences a race condition between the loading of code in scripts and receiving socket.io events if a socket establishes a connection concurrently with the loading of scripts.  If a socket.io client in FireFox connects to the socket.io server in a script, but there are socket event handlers yet to be loaded (or general JS yet to be loaded), even… Read more

Socket.io 1.2.0: Handling global authorization events when client connects to a custom namespace

The documentation on socket.io’s page and its GitHub page are inconsistent (namely due to the latter being out of date, but contains information not covered by the former). A problem arises when using global authorization middleware on the server, having a client trying to connect to a custom namespace, and having the server deny access to the conne… Read more