Nowadays quite lots of sites are AJAXy, especially their back-end part. This introduces one interesting issue with sessions and password protected areas.
Typical scenario is: password protected URL initiates a server-side check for valid user is logged in or in other case redirects to login page.
What happen when session is expired by timeout? Session data is wiped from the server, so already logged user becomes like a just comer. Next request to the server will eventually redirect him back to login dialog.
But not in case of AJAX. Usually AJAX requests are written in the way not to support sudden session break and this situation can lead to a very unpredictable behavior. How to fix it quick?
Quite often I was in need a function to scale an image to the size right to fit into bounding box.
For example, displaying images of real estate or product image in the shop site. Images can be different sizes, less or bigger of target size, portrait or landscape, etc..
I wrote little helper function in PHP that does that tasks using two modes: FIT and FILL. It uses standard PHP-GD extension.
If you used Google Maps in your projects as a developer, probably you faced with a problem to display huge amount of markers on the map. Problem seems more User Interface related, than technical. On small zoom it does not look good. I solved it using a very nice marker clustering library available from Google.
If you did not face with .live() handler before, this post is probably for you! It makes event handling code much cleaner and easier to use on heavily dynamic pages.
Nowadays jQuery become a very standard library used in in 90% of all projects. Simplicity of DOM manipulation with cross browser capability attracts all developers, from newbies to profs.
While developing AJAX UI with many forms nested in each other I faced a problem of not well written code, what was a real pain to modify.
I am going to tell how jQuery events saved my ass.
Nowadays many sites uses embedded map from Google for purposes like showing object location, drive-in way or more complex stuff. Recent Google Maps Version3 (V3) API becomes very powerful, but remained very clear and easy to use.
While developing site for real estate company I faced with necessity to display fancy, complex overlays on top of the map when user clicks on the marker.
There are some standard ways of showing so called info-windows. The problem is that it is not possible put complex formatting there or catch mouse clicks events.
To solve it I have to to dig into API internals and recent version V3 has some surprises here.
Sometimes there is a necessity to change directory permissions on remote FTP host. It is okay if this is needed for 1-2 folders, but what if there are hundreds of them? In my case it was even worse, it was tree of folders, with sub- and sub-sub-folders inside, kind of image cache!
Sometime MySQL root password is lost, because of last admin did not leave you any notes on the server or you are given your client server to fix some database or script related errors where MySQL root password is required.
I always knew one way of resetting it, but recently came up with another which is The Right Way.
In my recent project I faced the task of doing translation of property address in form we usually use it into global coordinates, that can be plotted on the map. Using Google API services this task is quite easy. You can check example and source code below
Some weeks ago I switched to Nginx and quit Apache and was quite happy with it. I was so happy that completely forgot about my Mercurial repositories hosted on same server. This happen when I was in hurry and needed to push and pull some changes, damn.
At first I quickly restored Apache, did all needed changes and switched back to Nginx. For sure, I did not like this way and explored how I can connect Mercurial directly to Nginx. I was quite surprised how easy it is and how flexible.