Last month @ SANIsoft blog November 1, 2010

  • [HowTo] Backup and Restore MySql Databases
    Do you have a backup of your important mysql databases ? No ? Think about it .. What if you have a Operating System / Filesystem crash ? What if your databases get corrupted due to some reason ? What if you accidentally drop your database or some important tables ? What if you want […]
  • [CakePHP] Sending JSON data in response to a controller action
    In my last post we saw a very simple trick to set javascript variables from controller action so that they are available in the javascript files. On the same lines a very common requirement is sending JSON data as output of the controller action. This is mainly required for those actions which are called by […]
  • Introduction to jqGrid jQuery plugin
    β€˜Data’ is an important term and a backbone for any dynamic web applicaiton. And for that reason, there are no two ways to say that data representation has been a crucial factor in web application development. As we know that there are enormous methods to represent data in any system but what matters is efficiency, […]
  • Lambda functions and Closures in PHP 5.3
    PHP 5.3 has introduced a whole new range of cool features like Namespaces, late static binding, new error levels, to name a few. But the functionality that I found most handy for day to day programming is the Lambda functions and Closures that found their way in PHP through version 5.3 Lambda functions Lambda functions […]
  • [How To] Use of image magick instead of GD for run-time image re-sizing
    In my last post, we looked at a way to re-size images at run time. That method used PHP’s built-in GD library for image processing. So it may happen that image processing may increase load on HTTP server. That’s why in this post I am going to tell the way to use ImageMagick for image […]

Last month @ SANIsoft blog October 1, 2010

  • [Getting Started] Functional tests using Selenium Remote Control (RC)
    If you don’t like testing your application, most likely your users won’t like to test it either. If you have read my last post on Selenium IDE or have used Selenium IDE before read on, we are moving into the next level, if you have not I really recommend reading this post or update yourself […]
  • [CakePHP] Passing data from controller to javascript files
    These days javascript is becoming the indispensable tool for a web developer. Each and every web application uses javascript for one or the other purpose. While working with CakePHP based projects, we need to pass variables from PHP (controller) to javascript a lot of times. To pass a variable from controller to view, Controller::set() method […]
  • [HowTo] Retrieve your Gmail emails using simple IMAP protocol
    While developing applications in PHP, I might have used the simple mail() number of times to create an interface to send emails across the web. On a normal working day, I just woke up in the morning and thought, “Is there any chance for me to retrieve emails from any mail service provider like Gmail??” […]
  • [iPhone] Core Data, Tabbar and Navigation Controller
    Core Data is a very powerful framework for persistent data management for iPhone developers. It allows you to define you data model by abstracting your model object. I am not going to talk about what Core Data is about and how to use it normally. A lot has been already written about it. Feel free […]

200,006 Published Words!!!

Yesterday I installed WP Word Count plugin and was surprised at the results

200000 Words
A part of Plugin output

Wow! Have I really written so much, and most of it non consequential? Doing some rough maths, one printed novel page has about 250 words which makes the count to 800 pages…. Now only if they were worth something πŸ˜‰

The Serengeti trail!

There is a place on Earth where there is still morning of life and the great herds run free – Serengeti plains of East Africa.

This is long over due post but after writing the above quote a couple of months ago it was just lying in the draft…. No particular reason, just as there is no particular reason why I completed it today πŸ™‚ Continue reading for GPS Trails and Geotagged photos

44

I miss the days when people had journals and not blogs, but as I have written before Facebook and Twitter have killed that. Writing a post about birthdays use to be an event in itself. I for one would wait for friends to write their birthday post to wish them and read about what they felt about the year gone by or what they were looking forward to in the coming days. Facebook and Twitter satiate in real time the exhibitionist / voyeuristic delights we indulge in the name of “keeping in touch”

I will not write anything here because it will just be repeating myself, if you still want to read you can always look that the “Twitter digest” posts that I keep, but yes once again a big thanks to everyone who wished me by whatever means – Feels nice!

Not a worm – Beaked Blind Snake

Beaked Blind Snake - Rhinotyphlops acutus
Beaked Blind Snake - Rhinotyphlops acutus

We were on our regular morning walk when I noticed a very huge fat earthworm across a road but the moment it moved I realized that it was not a worm but a blind snake. However this was the biggest blind snake I had seen to date!! Thankfully I had a camera with me and I clicked a few photos. I particularly wanted a macro of the rudimentary eye. When we returned home I got out “The book of Indian Reptile and Amphibians” to see the scientific name of the snake.

Continue reading for more info and another picture

Last month @ SANIsoft blog September 1, 2010

  • [CakePHP] How to re-size images at run-time
    This is a helper + controller combo for CakePHP which I often use. It helps to re-size images at run-time and also aid display them. Oh yes! once the image is resized it also caches them. First let’s look at helper method. PLAIN TEXT PHP: class MyHelper extends AppHelper {     function getImageUrl($path, $size, […]
  • SQL data source in Sphinx
    These days I am getting more and more into Sphinx and falling in love with it . In this post we will see how to make use of SQL data source to create indexes. Sphinx has inbuilt support for MySQL and PostgreSQL databases. The drivers for these databases can connect to the database using its […]
  • Namespaces in PHP 5.3 – Part 2
    Welcome back! In Part 1 of this post we discussed how to create namespaces and use them for classes, functions and constants. If you have not read Part 1 I strongly recommend you read it before we move on to some of the advanced parts related to namespaces. Lets start from where we had left. […]
  • Adding security to your CakePHP application – Part 2
    In the Part 1 of this post, we’ve discussed how to secure your CakePHP application by following some thumb rules and using Sanitize class. Now, in the second part, we’ll discuss how to add some more security to your application by using the nice Security component of CakePHP. Before coming down to the nitty-gritty of […]
  • [iPhone] Parsing RSS with NSXMLParser
    One of the test apps I created while learning iPhone development was a FeedReader app using UITabbarController. Using TabbarController in combination with NavigationController, TableViewController and WebViewController was challenging enough for someone who just began with iPhone development. But more on that later … One of the problems I faced in this app was parsing the […]

Last month @ SANIsoft blog August 1, 2010

  • [Zend Framework] Slug filter
    While studying for my Zend Framework certification, I tried to build a small application to test my knowledge. One of the tasks in that project was to try and build a slug filter which converts a particular string to slug, for example, ‘My Test String’ to ‘my-test-string’. It also checks for slug duplication if you […]
  • Namespaces in PHP 5.3 – Part 1
    One of the most significant and welcome features added in PHP 5.3 was that of namespaces. While this has been around in other programming languages, namespaces have finally found their place starting with PHP 5.3. If you are not new to namespaces and have worked on them in other languages don’t go away, you might […]
  • [HowTo] Google Calendar API : PHP – Manage events (Part 3)
    Earlier we saw how to install Zend’s GData library and retrieve list of calendars and events. Now its time to manage events i.e. create, update and delete events. First we need the Calendar service instance, so lets instantiate the Zend_GData_Calendar class. PLAIN TEXT PHP: $path = ‘/home/abbas/ZendGdata/library’; $oldPath = set_include_path(get_include_path() . PATH_SEPARATOR . $path); require_once […]
  • Adding security to your CakePHP application – Part 1
    Ben Parker once advised his young nephew Peter, whose super-hero alter ego is Spider-man, that β€œWith great power comes great responsibility.” CakePHP framework provides us a rich tool-set to build high performance web applications. The applications built using CakePHP are secure at much extent as long as it comes with some nice features such as […]

African Big Five

Yawn!!!
Yawn!!!

With so many pictures from our Tanzania trip I wanted to something different than my usual wildlife photography style. I have tried to compile a series of five pictures which I call “Animal Portraits”. Each of these animals are from a group referred to as the African Big Five. Continue reading and grab the other 4 too!!

Lion lessons!

Lion Lessons: Yes my love you did well!!
Lion Lessons: Yes my love you did well!!

On the morning of our departure from Kirawira, western Serengeti it was cloudy and we had almost given up all hopes of seeing anything but then as it can happen with any jungle safari our luck changed. Just 20 meter form the road was sitting a part of a lion pride three lioness with two cubs. Initially the cubs were just content to suckle but then one of the lioness took upon herself that it was time to teach a few things about hunting to the young ones. So she cajoled them into play and what looked like a lot of fun for the cubs she proceeded to teach them some moves about how to hunt! I won’t bother with much verbal details and will let the pictures do the talking. Continue reading 9 photos after the link