Category:Dev
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
PHP’s setcookie() with $expire set but not $domain will blow away the cookie in Internet Explorer (IE)
Spent a whole day figuring out this one. Yet another reason why Internet Explorer is the bane of web development. Found a plethora of suggested solutions on the net, and even an old bug logged for PHP in 2001, but the reason behind the bug is still a mystery.
As the title states, if you use setcookie() with $expire set and $domain not set, then IE may simply let th… Read more
Using the background function of Processing.js with images
“Background image must be the same dimensions as the canvas.”
In case you are looking for a workaround for Processing.js background function that forces you to scale your background image, try this trick to make your browser do the scaling for you.
Set the CSS background for the canvas element to your image, and use “cover” or R… Read more
Making Facebook’s JavaScript SDK work with your AJAX pages
Facebook’s example code in its documentation would not go well with AJAX served pages. In particular, the login button does not get “converted” on subsequent attempts because the JS code required by Facebook is also loaded asynchronously. Their script is loaded into your document tree, and calls the FB.init function only that one tim… Read more
Fonts in Processing.js
Since the documentation at http://processing.js is still tailored for processing code, I’ll post an example of how to port font usage to JS (assuming you have an “inArray” function like jQuery’s). It shows how you can store all the fonts you need in an associative array for easy reference afterward:
var fonts = {}; processing.… Read more
CSS: Two columns equal height, one fixed, the other fluid width
To save others the time and hassle, here’s my lesson learned: don’t try it. No matter how close you can get with CSS, after almost a day of searching and experimentation, I eventually fell back to this:
http://giveupandusetables.com/
Why? At some point in time I had the basics working (in all browsers!), but then I tried to add another div ce… Read more
Mercurial: “hg push” over ssh, remote says “permission denied”
I spent a decent amount of time figuring out this vague error message, so perhaps this post can save someone else some hassle. I found that many people encountered this problem, posted it on some online forum, but no one gave a clear answer. So here is one possible solution:
Suppose you set up a remote Mercurial repository, cloned it locally via SSH to your m… Read more