Last month @ SANIsoft blog October 1, 2011

  • [CakePHP] Build javascript widget for affiliate sites using CakePHP
    Recently I had a requirement from client. Additionally, it went on, that the snippet should be very simple like PLAIN TEXT HTML: <script src=”https://baseurlhere/test/test”></script> Simple I thought I will just document write an iframe and be done with it but quickly discovered that if you want the CSS of the parent document to get applied […]
  • [CakePHP] Code Sniff Updates
    In an earlier post, Dr.Sani discussed about CodeSniffer and sniffs for CakePHP Standard. In that we saw how to define a new coding standard using the existing sniffs. With the release of PHP_CodeSniffer v1.3, the way we define a new standard has changed. Please read Code sniffs for CakePHP and then some more before going […]
  • [CakePHP] Tweak translate behavior get belongsTo translations
    In one of my earlier posts, I had written about How to fallback to default language while using Translate behavior. This is one more Translate behavior tweak (in continuation with the previous) to get belongsTo data’s translations in current locale. By default, Translate behavior only gets current model’s translations in current locale and you need […]

Valparai, Part 2 – Picturesque speechless

Tea estates under the clouds
Tea estates under the clouds
I am Wookie - A young lion-tailed macaque looks me in the eye
I am Wookie - A young lion-tailed macaque looks me in the eye

Click for 13 more pictures, map and the GPX file

Valparai, Part 1 – a wet dream to remember

Honestly till some time ago I had never heard of Valparai. It was Kalyan and a few others who mentioned it on twitter off and on. Being creature of arid or dry deciduous forest, I had resisted the rain forests for a long time. Seeing the lush green, HDR without the HDR kind of landscapes and the amazing macros of creatures unseen was tempting but the real lure however was the opportunity to photograph one of the most rare of the primates; the Lion Tailed Macaque

Valparai is located about 100km from Coimbatore; unfortunately from Nagpur there are no direct flights and it meant hopping flights in Mumbai. Till a few hours before our departure Mumbai had been experiencing the heaviest downpour of the season, I was a bit worried about flights getting delayed and we might miss the connecting flight. The rain Gods relented and we landed in Coimbatore dot on time. The drive to Valparai was one of the most enchanting drives that we have ever experienced. The 40 hairpin bends around the hills which give a progressively awesome view of the Aliyar Dam and reservoir is something to be experienced. The drive also gave me the opportunity to test my new GPS – Garmin 60CSx

As we drove up it was raining… If you want just pictures wait for part 2 else read on….

Last month @ SANIsoft blog August 1, 2011

  • [CakePHP] A slightly modified QRcode Helper
    I was working on a project where I needed a helper to create QRcode by various methods. After searching I found a good CakePHP QRcode Helper by Max Dörfler which helped me a lot but few functions were still missing in that, like generating QRcode for Wifi network. The allowed contents are: free text contacts […]
  • How to track SQL errors in CakePHP on production site
    In a CakePHP application, if there is any SQL error and debug level is set to greater than 0, then the complete error message from the database is displayed on the screen, but if the debug is set to 0 it just gives something like “unable to add” or worse a blank page. This can […]
  • [CakePHP] Sending emails more robustly
    Sending emails in CakePHP using the Email component is a straight forward job. You will find ample documentation about it in the cakephp cookbook. It is a simple and easy to use component. However, one common mistake most of us make is writing the same code to configure the email component at numerous places throughout […]
  • [How To] Implement Facebook Like button on web page
    This post is more a note to myself than a blog post. There are two Like button implementations: XFBML and Iframe. The XFBML version is more versatile, but requires use of the JavaScript SDK We can use one of the following codes to display a Facebook Like button on our site. Iframe : PLAIN TEXT […]
  • [CakePHP] Pagination options persistence
    Editing a record and redirecting to a paginated list is a very common workflow pattern in CakePHP. However there is a small problem with this pattern if used with default pagination. after editing the user is always returned to to the first page with the default order and default limit. This is not very user […]

zarinasani.org goes online

Today we would be celebrating my mom’s 75th birthday.

I knew my mother, Zarina Sani, for just 15 years. I knew that she was a writer and a poetess I also realized that that she was fairly good because she had been awarded by the State governments of Maharashtra and Bihar for her work and that her writings were regularly published in several magazine but, honestly, all this was rather irrelevant for me, she was above all for me my *mother*

The weight of grieving for her death buried her literary genius for me, time passed, years passed, there was this small nagging voice which did keep reminding me that I have to know her better, let the world know about her works but I never did anything about it. 29 years passed since her death… This year Swati made me promise we will do something about Ammi’s works. Around mid March we discovered that someone had taken pains to create a wikipedia page about her. This was the final impetus or shaming that we needed.

We chalked out a plan for a website and decided that the phase I of the website will have all of published poems transcribed into Devnagri with a scan of the original poem as it appeared in the magazine. The content creation was largely Swati’s effort… getting people to devote time to read out to her the poems as they were in Urdu, writing them in Devnagri and then typing the whole thing. Yes, neither of us knows the Urdu script 🙁

As more and more poems got transcribed I got to know my mother in a very different way. I never knew how much her children figured in her writings… I got to know how strong willed she could be… I got to know how her heart bled for the mothers of the soldiers fighting on the border (and she did send one of her son to be a soldier) I got to know her as a gentle feminist who could be patient and still get her views heard…

As of today the website https://zarinasani.org has 56 of her published poems. Future plans include updating all these poems with meanings of the difficult to understand Urdu words. Putting her short stories online and then all the books that she wrote.

Subscribe to the RSS feed for zarinasani.org to keep updated with the latest publications.

Reset/Restart a frozen Kindle

A quick note to myself, while I still recover from my first Kindle Krash

  • Slide and hold the power switch for at least 15 seconds, this is way past when the green light on the power switch  goes off indicating that the Kindle has been turned off
  • Release the switch
  • Slide the power switch again – nothing will happen immediately
  • Wait for 30 to 40 seconds – it reboots

And while you are waiting for your Kindle to reboot take a look at some of the keyboard shortcuts

500px is not Flickr

500px - your main photostream page
500px - your main photo-stream page

Suddenly everyone and their cousin is talking about a Flickr alternative that is attracting users in large numbers – 500px, oh! well, 45k may be large for some 😉 I have been putting my digital photographs online since past 10+ years and have moved from uploading them to my own personal site, to flickr and then joining the 500px bandwagon recently.

My first reaction to 500px was indeed WOW! this is so much better. After using the app for a while the WOWness wore down a bit, some what like the second year of a marriage, I began to notice the shortcomings. Not wanting to get too frustrated I decided to blog the good and the bad and keep using the site.  May be I will come back to review this post a year later.

500px is not Flickr – the Good

  • The user experience on first flush is indeed very nice. The large square thumbnails with semi-transparent caption overlays are definitely how a photo website should be.
  • The tabbed interface for Photos, Activities, Friends etc is clutter free and intuitive.
  • The main photo display page gives a good 900px wide display which is much needed to appreciate a photo.
  • Below the main photo display is a filmstrip display of recommended photos – great for discovering photos
  • The concept of Blog and Wall integrated into a photo sharing  site is indeed useful and nice.
  • The editorial picks ensure that there is a human curating the choicest of the photos for you.
  • You have an easy to remember URL for your portfolio with your user name  eg: mine is https://500px.com/tariquesani
  • The portfolios can be themed and are separate from your photostream. Portfolio also has sections for Biography and Contact – Add to that the fact you can point your own domain to your portfolio and you get a ready made website solution for photographers who are web challenged.

500px is not Flickr – the bad

  • No public API!!! I could not find any mention of any API, no API means no upload app for any device, no possibility to create mashups or easy way to integrate your pics in other places. Yes the sharing to Facebook, Twitter etc is there but can I make a plugin for my favorite CMS? No! I may be wrong here, so if someone knows where the API is let me know.
  • No Geo-location integration – yes that map with red dot thingie.
  • No way to view extended EXIF info – these two points are very important for me.
  • No HTML in description, URLs in descriptions do not become hyperlinks automatically.
  • No way easy to see pictures in various sizes – I did discover a tedious work around though. If the photo url is https://500px.com/photo/799387 then you can view the various size images at https://photos.500px.com/799387/1, https://photos.500px.com/799387/2, https://photos.500px.com/799387/3, https://photos.500px.com/799387/4 and https://photos.500px.com/799387/5  Update: No longer works but is available thru an API call.
  • No concept of permissions – everything is public by default.
  • No way to declare licenses for your pictures – I like to explicitly indicate that my pictures are under a creative commons license.
  • There are categories but no concept of groups. Special interest groups are needed to popularize your pictures to your intended audience and creating communities.

I guess I should leave the good and the bad equally balanced at eight points each.  In summary a lot of effort has gone into the UX and UI part of the app now what we need to see is more features. Also I do wonder how things will scale up with increasing user traffic. Given the fact that they have received a funding I do hope to see accelerated rate of development. Plus at least at this point the developers appear to be communicating with their users.

P.S. That there are better photos at 500px as compared to Flickr will soon become moot as more and more users join in.

Update: An API was launched Mid Aug 2011 and you can get the details at https://developers.500px.com/

Last month @ SANIsoft blog June 1, 2011

  • [CakePHP] Organizing themes in sub-folders
    CakePHP offers a wonderful built-in theming solution. However, the only shortfall is that all themes are to be kept in a single folder and there is no direct way to organize them in sub-folders. This post assumes that you are familiar with CakePHP Theming concepts. If not, then head on to the book before reading […]
  • Geo-distance search in Sphinx
    A common scenario in many search applications is geo-distance based searches. Geo-distance search means finding geographic locations nearby to the specified point on earth. Geo distance search is a very common feature in applications involving set of entities each having a specific geographic coordinate associated with it. Some examples are real estate portals, property listings, […]

17th Anniversary: Tadoba trails…

Yendbodi Waterhole tigress with cubs
Yendbodi Waterhole tigress with cubs

A very hectic work routine at the office, Aasim on a Himalyan trek – it looked like we were going to spend our 17th wedding anniversary doing mostly nothing. However on the flip side was an invitation from Kalyan who is shooting for National Geographic in the jungles of Tadoba. To hell with everything we said and decided to spend our anniversary in the blistering summer heat doing what we love most – photographing the wild with friends. Once decided everything else was a breeze thanks to all the meticulous planning by Swati and assurances by Kallu about taking care of logistics at Tadoba. Continue reading, 12 more pictures 🙂