Getting the back button to work with Backbone and jquery mobile

I was getting some strange errors in my app when trying to get the back button to work with the pushState history provided by Backbone.js. I was getting this error: Uncaught TypeError: Cannot call method ‘replace’ of undefined I suspected it was a conflict between the “routing” systems provided by jquery mobile and the backbone frameworks. In my search to figure out how to make it work I came across this post here The solution presented in the article however did not work for my as apparently (unknown to me) I was using some of the features that were being disabled. To solve my issues I pared down what the article suggested I disable and then just inserted the code into script tags right after I loaded all the frameworks. I now have a functioning back button in my hybrid jquery mobile/backbone app.

$.mobile.hashListeningEnabled = false;
$.mobile.pushStateEnabled = false;

Hints for how to Install Adobe Photoshop 7 on Windows 7 (64-Bit)

Turns out installing photoshop 7 from the cd on a 64 bit windows is possible, but it is kind of buggy. Do a quick search on google and you will find it is a common problem. For a while I was stumped and had to live without my vintage photoshop, however I was finally able to get it to install. How I got it to work was I had to unhook all my monitors except my primary display, and then run the install program in compatibility mode (windows XP), and boom, it installed no problem. I don’t know if this will work for/help everyone, but prior to doing this the program would not install.

Iterating through properties of a JavaScript Object with the “For In” loop

As I have mentioned before I am a novice self taught programmer and I often come across little problems that take me quite a while to figure them out. I like to post them here so I can come back and remember how I solved the problem and also so hopefully others can benefit from my struggles. I came access one of these said problems this weekend trying to iterate through a object in JavaScript using a “for in” loop. I understood the looping mechanism quite well, however getting the syntax to work for me through me for a loop.


Incorrect (This is how I would assume it would work)

 for (var x in someObject.someProperty)

newVar = someObject.someProperty.x.anotherProperty;

This is how I got it to work

 for (var x in someObject.someProperty)

newVar = someObject.someProperty[x].anotherProperty;

You will notice you cant use .x to access the property the loop is currently processing,  you must use the [x] In truth I do not understand why this is so if anybody out there cares to enlighten me that would be appreciated. Either way hopefully this might save some frustration.

Do more – Write less

Something occurred to me today that is likely quite obvious to seasoned professionals but I really never gave it much thought. Over the past few years I have started numerous website projects. They usually are a significant undertaking and require lots of time to complete(seems like I rarely finish them). The thing I realized is that on each one I always start from scratch. When I have an idea to make a website I will create a brand new text document and start from building from there. I never save a template or code snippets to reuse. I have to reinvent the wheel every time and it is taking me a lot of time.

My Idea is that I need to start reusing some of my code and writing/developing it in such a way that my work can be useful for other projects. I think it may take a bit more effort initially to do this, however in the long run it could save me countless hours. I am positive that as soon as my current project is completed (hopefully I will finish it someday)I will just come up with yet another one to start. If I already have some of the building blocks ready to go this greatly increase the odds of me finishing and decrease the amount of time it will take. In the end I hope this will enhance my ability to monetize my various online efforts. I think the best place to archive some of these snippets is right here on my blog. I am almost positive that closely follows this blog yet, but if there is or when you do come (hopefully) you can expect to see some of my templates and code snippets coming. Best of all is I intend to release them all free to use for any reason.

How to share a internet connection for 3G and 4G with a single wireless USB broadband modem

I am out on a road trip right now and occasionally use a USB mobile broadband modem to connect to the internet (CLEAR 4G+ Mobile USB Series S). Thing is, my wife is traveling with me and wants internet on her laptop as well. I was too cheap to buy one of the mobile hot spot devices and I also wanted flexibility to use 3G internet when 4G was not available (which is most of the time out on the road).

Turns out windows makes it is incredibly easy to share a single connection from a USB mobile internet devices (no router required). The following instructions are for windows Vista, I assume this will be similar in other versions of windows as well. First you need to do is set up a “ad hoc” network. You can do this by clicking on the start button > “connect to” then select “Set up a wireless ad hoc (computer-to-computer) network and follow the wizard.

When I was trying to share the connection while using 4G at the end of the wizard there was an option to enable “Internet Connection Sharing” after selecting this we were able to connect to with the other laptop to the newly created wireless network and surf the web… no problems.

However, when trying to connect with the 3G there was no option to enable internet connection sharing at the end of the wizard (like there was for the 4G) and it was a bit more involed to get the connection sharing to work. (Looks like this may be due to the fact that the 3G is considered a dial up connection??). This is how I did it. First create the ad hoc network as described above using the wizard, then after the network is created go to Start > Connect To > Open Network sharing center > Manage network Connections. From here you have to do two things.

Enable sharing for the connection you would like to share (for me it shows up as 3G under Dial-up). To do this right click > properties > Sharing Tab > Allow others network users to connect through this computer’s internet connection. (Also, you may have to select the individual services you would like to share – I selected them all)

Change the IP address for the ad hoc connection you just created. To do this right click the ad hoc connection in “Manage network Connections” and select properties. Next select the “Internet Protocol Version 4 (TCP/IPv4)” and click the properties button. Select the “use the following IP address” and set the IP address and Subnet mast to the following and hit ok(After changing this you may need to restart the 3G connection).

IP address:

Subnet mask:

Now just connect to the ad hoc network from your other laptop and and voila… you have shared your 3G connection and should be able to browse the web (albeit very slowly).

When you want to re-connect to a normal WiFi connection you may have to go back to manage network connections right click > properties on the network you are trying to connect to and change the “Internet Protocol Version 4 (TCP/IPv4)” connection property back to ‘Obtain IP address automatically’

Hope this helps