Show progress spinner on jQuery AJAX requests

Its right from UI design point of view to show user some kind of progress in case site or application is busy with some internal processing. Especially with AJAX requests, because they take time!

In jQuery its very easy to hook all AJAX requests into one start/stop functions, so there is no need to show and hide progress indicator on each $.ajax request.

I make usage of nice spin.js library, native JavaScript implementation of configurable spinner.

велоХора 2012
Отметился. Итого получилось 36км. <img class="size-full wp-image-2750 aligncenter" title="velohora_2012" src="/uploads/2012/ ...
Convert PDF page to JPEG image using ImageMagick

ImageMagic library not without reason is called magic, it can handle image operations like scale,resize,rotate,filter,clip and 1000+ others.


Here is simple CLI command to extract one page from PDF file and save it as JPEG image

convert -density 300 doc.pdf[160] page.jpg


  • 300 is DPI, more better quality
  • [160] is page number, starting from zero. Can be list [0,1,2] or range [1-10]
  • page.jpg is output file, image type is based on extension

Using layout pattern with CodeIgniter

CodeIgniter is great framework by its simplicity. But when I moved from CakePHP, I really missed layout pattern.

CodeIgniter documentations offers this way to include non-changing site header and footer


For sure it isn't flexible and does not show page structure in a clear way. For many years I use layout pattern. Layout describes whole page as a template with blocks for header, menu, content, etc like on figure below. On page rendering these blocks are filled with data.

I found a small code snipped for CI and improved it. You are welcome to try!

Real-estate marketing tool

Tool for marketing realty via several sources Craigslist, Facebook, etc...

The suite was designed with both front and back-end users in mind. Our ad creation, end-user marketing, and analytics tools are just as visually appealing and powerful as the front-end platform used to deliver them to renters themselves.

Marker clusters on Google Map with two data sources

Clustering markers on GoogleMap is a very useful think in case of thousands of markers displayed. It makes the map look nice and fancy, instead of marker mess. In my previous post I told how to use MarkerClusterer library.

Today I want to add some advanced techniq how to use different styles, in case there are several datasources available.

Зачем фрилансеру блог?

Интернет молниеносно развивается, появляются всё новые ресурсы, сайты и работа фрилансера давно перестала быть экзотикой. Как и любая профессиональная деятельность, она требует мастерства и самоотдачи. При небольшом старании, фриланс принесёт вам неплохой доход. Это весьма перспективный бизнес при условии, что вы используете максимум возможностей Интернета.

Одна из таких возможностей – свой блог. Конечно это требует некоторой доли опыта. Совсем уж новичок скорее не осилит создание интересного, актуального и главное посещаемого блога. Ведь его нужно продумать, наполнить полезной и информацией и систематично раскручивать. Только тогда он обретёт ценность и постоянных стабильных посетителей.

Как написать интересную статью для блога
Все кто пытается или  пишет статьи, знает какое это непростое занятие. Бывают мимолетные моменты вдохновения когда буквы так и летят из под пера. Но чаще бывает обратное, вроде есть хорошая идея, а во ...
Parse HTML using jQuery-like syntax in PHP

Quite often there is a need to parse HTML and extract some values from deep-deep nested tables or so. Most front solution is to use regular expressions but they sucks with nested tags. Other way is to use XPath, which performs much better here, but has not simple syntax to use.

Nowadays almost all PHP developers knows jQuery, which became like a standard in front-end development. Why not to use it for HTML parsing using familiar syntax.

Как я фрилансил летом на даче

Работа фрилансером дает заманчивые преимущества, например, свободный выбор места работы, в том числе и  физического. Места бывают разные, главное это наличие компьютера и интернета, а дальше что фантазия скажет.