All in vain

Some rants about technology, PHP, people, tools, web etc from a developers perspective. Feel free to copy ideas, code or anything from here.

Sunday, February 26, 2012

DIY make your normal TV smart



Question: What to do if you want a "Smart" TV and you don't have the money it requires?
Answer: You take any "Dumb" TV that is good enough and make it smart. Continue reading below to know how.








Sunday, December 11, 2011

A new JAVA framework with PHP leanings

Just came across a different kind of framework in JAVA. Usually when we talk about frameworks in JAVA they are always "full stack" with the kitchen sink thrown in for good measures. I am used to developing with PHP frameworks as they are not too complex and also i like the fact that there is no compilation involved. You just refresh the page and you can see the results. This is where PHP excels.

 But what if you want the robustness of JAVA and instant results of PHP? May i suggest Play Framework to you? Not only is it a breeze to get it up and running but also it follows the "shared nothing" approach of PHP which i have always liked for quick web development.

From the Play Framework site:
Play is a real "Share nothing" system. Ready for REST, it is easily scaled by running multiple instances of the same application on several servers.
Also, the fact that it uses "Groovy" as the template language it makes it more appealing for me, cause XSLT is a big PITA and i never "got" JSP. I have to say the designers of this framework got it right. They took the Best of breed programming language(JAVA) and married it to the shared nothing model of the Most popular scripting language(PHP). I will take this framework for a spin soon. Only question running through my mind is, will it scale?

Tuesday, August 30, 2011

HybridAuth PHP authentication library

Came across this new Social sign-in library which goes by the name of HybridAuth. Seems like it is a good tool when you want to let your users sign-in to your website without registering to your site.

Will give a try sometime later. Check it out here!

New CSS framework from Twitter

Recently one of my friends shared this new CSS framework with me. Named Bootstrap, this is a good attempt at creating a CSS framework and also helps accelerate web development.

Will certainly love to include in my next project. So check it out here!

Monday, June 22, 2009

Idea for an android application

Recently i had this brilliant thought, here it goes. We normally receive so many calls from unknown numbers, it could be great if we know where this call is actually from. I am wondering this can be easily done in a mobile OS like Android. Here is how i think this can be achieved.

1. Create a DB of name-value pairs for all the operators in India (Some guy here has already done it).
2. When a call is received intercept it and look up the first four digits. If a match is made then display the Provider name and State.
3. Optionally, Map of India with a dot for location :)

So if somebody does it before me then its good, otherwise i think i will take it up later when i get some free time.

Monday, June 15, 2009

Authenticating users Against Active Directory with PHP

This summary is not available. Please click here to view the post.

Friday, May 29, 2009

creating png images from latex

Recently at work i had to generate images from latex equations. I used Miktex latex suite to generate the images. Here is the template i used for generating the images.

== Preamble ==
\documentclass[11pt]{article}
\newenvironment{custommargins}[2]%
{\addtolength{\leftskip}{#1}\addtolength{\rightskip}{#2}}{\par}
\pagestyle{empty}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{mathptmx} % rm & math
\usepackage[scaled=1.0]{helvet} % ss
\usepackage[papersize={5.75in},top=1pt,bottom=1pt,left=5pt,right=1pt]{geometry}
\begin{document}
\begin{custommargins}{-2cm}{-2cm}
\begin{flushleft}

== Your equation latex snippet ==

== Postable ==

\end{flushleft}
\end{custommargins}
\newpage
\end{document}

Steps to create image
1) Create a tex file using the above template
2) Create a DVI file using - $LATEX_PATH --quiet --interaction=nonstopmode $temp_tex_file_name
3) you may need to run it twice for formulas to render properly
4) Create png image using - $DVIPS_PATH -q $tmp_filename.dvi -o $tmp_filename.png


You are done!!

Dont forget to write to me if you find it useful.

Make your HTML go on a diet!

In one of my previous posts i showed a technique wherein you could reduce the size of your css and javascript files. You run them through a minify engine which strips down all the spaces and comments and possibly zip it as well while serving.

While it is all fine and dandy for a while but after a while you start to think even after the minify-ing process my html page size is still upwards of 300-400K! Then i think you need to do soul searching like i did. Why do we need all those javascript and CSS for anyway? cant we write css which is only 30-40 lines and still keeps my site functional and javascript which "really" helps the vistior.

Post your comments and suggestions :)

Textpattern and the art of CMS design

Phew a new post after such a long time. It has been a long time i have blogged. So here it goes. This post is about TextPattern. A PHP MySQL based CMS.

I was searching for a simple, elegant and unobtrusive CMS for my personal site. I dutifully headed to opensourcecms.com for seeing the latest and greatest PHP powered CMSes but sadly none of them fitted the bill for me. I was amazed by the bloat and stupidity of those CMSes.

Thats when i remembered about textpattern. I had known it existed for quite a while but never had the time to take it for a ride. Now that i have done it i am quite happy with it and it seems natural to me. I have added one WYSIWYG plugin and an admin theme. Now i am good to go. More to come later.

Tuesday, October 07, 2008

Spaces in file path in DOS

At last i am able to make it work. Thanks to this blog post i am able to get some headway in the problem i was facing. Basically i was running a php script as a batch script and i was not able to make some commands work because they contained space(s) in the path. There is a switch to DIR command in DOS "/X" which tells you the short name for any directory or file name.

So instead of "C:\program files\foo\bar.exe" you can use "C:\PROGRA~1\foo\bar.exe". May be it is helpful to someone.

Thursday, August 21, 2008

I want "no training wheels" attached PHP 6

Yeah you read that right. With some time before PHP6 comes into the fore, i want PHP6 to be a real path breaker. That means effectively no backward compatibility. PHP5 was slow in adoption just because of this reason. People knew that their applications would work on PHP5, that is why they were in no real hurry to adopt it.

I want the core developers team of PHP to really do some nice things with PHP. For noobies PHP5 should be kept. But with PHP 6 i want them to break new grounds. Like APC (Alternative PHP Cache) should be part of the standard install. I want them to incorporate consistent naming schema for at least in-built functions. That means str_replace => natsort?? kind of naming schema should be made consistent.

I want PHP6 to be more serious about security. It should have features which would make incidence of user oversight things of past. I want the in-built functions in PHP6 to raise exceptions. I want PHP6 to have variable types. I mean i declare a variable to be of type INT and i want PHP6 to raise an error if it is used in string context.

With these changes i can see PHP6 gaining the respectability it deserves. It can move to the area called enterprise platform.

Jquery('MyLife').turnAround();

This would summarize my development endeavors in JavaScript Land. I have lately come to love Jquery. So much so anything i do with JavaScript i do it with Jquery. I have also started using the latest Jquery UI. The tabs in JUI is truly amazing and easy to setup. Check out this collection of most popular Jquery plugins.

I am hoping one day we would see one widget system similar to ExtJS but using Jquery. Anyways if you are interested in Jquery, visit the site.

Wednesday, February 13, 2008

CSS framework + layout

You have heard about development frameworks in php,python etc. Now take a look at a css framework. YAML is the new kid on the block. It comes with its own slick layout designer so that you can create your own custom layout in a jiffy.

What i like about this css framework is that it gives you a clean slate to work with. You dont have to worry about the layout not behaving in IE etc. Kudos to its developers for creating such a nice css framework.

Friday, February 01, 2008

My own google gadget



Just a basic Finance gadget. Check it out now!!
Add to Google

Monday, January 14, 2008

Minify JS and CSS

So you just finished working on your new shiny web 2.0 application/site. It all looks very good until you open it on your friends computer to show off your baby. Its painfully slow!!. Hmm you must be wondering why its taking so much time to load.

The answer may be revealed to you once you see the source of your page. Its all good and dandy that you are using the "mini" version of Javascript frameworks like prototype, jquery, YUI etc. Whats probably slowing down your page is the sheer number of JS and CSS files you are loading on your page.

To mitigate the impact of so many files being loaded in your page you can use this novel idea. Look at this URL for more info. http://code.google.com/p/minify/ Minify.


What minif does is that it lets you load multiple JS and CSS files with one single call. It even caches the file generated so that subsequent requests don't have the overhead of "php" processing. I had some spectacular results with this approach where the sheer number of requests was taking a toll on the page.

Wednesday, May 23, 2007

New development framework for php

i have hosted my new dev framework for php on google. Here is the link to that site.

Thursday, February 15, 2007

New PHP development framework

Its 2007 and i haven't posted a single entry this year. So what better way than to announce something new!. I have been working on creating my own PHP development framework. Its still in the beta but its started to look good.

I have used off-the-shelf code/scripts/libraries like PEAR to create this framework. I am sure new developers would like it. I would soon post the link to the code. I am currently looking for a site to host my code.

Watch this space!!

Thursday, December 14, 2006

Guide to application development with PHP

I know it sounds too ambitious but couldn't help but dig it ;) . Well if you have dipped your toes in PHP and you are comfortable working with PHP this guide is for you. If you are unsatisfied with the current way of structuring your application then this guide might help you.

So lets start with the folder structure. The way you structure your application is crucial. Here is what i have come up with. This structure is only suggestive, you are free to modify it to suit your taste.



  • Classes: Store all your classes and helper code here.
  • Conf: This holds your configuration files needed for your application.
  • Cron: Holds all files which needs to run as cron job.
  • Includes: Store all your function files here.
  • Js: Javascript code plus any helper code like WYSIWYG editor etc.
  • Locale: Create folders for every language you plan to support and create language files which you can call depending upon the configuration settings.
  • Pages: All the pages which perform some directly visible action are stored here. Rest can be stored in the helper sub-directory.
  • Setup: Some scripts which can generate configuration files plus some SQL files needed for your application.
  • Style: All CSS + Images, can be organised using themes folder.
  • Templates: Divided in two sections. Forms stores all the form templates and layout stores what else layout templates.
  • Tmp: Store temporary files or stuff which is not private. You can use this folder to store cached files in your site as well.
Now the root folder would contain only three files, index.php, config.php and .htaccess. The index.php file acts as a router and translates the GET url to load the particular file. For example consider this URL:
http://yoursite.com/app/index.php?action=login

The index page catches the "action" parameter and loads the login.php file and depending upon the current state plus extra variables performs some action.

Lets get an overview of the index.php file
require_once( DIRNAME(__FILE__) .'/includes/app_init.php');
This line invokes the file which does all the initiation stuff, like loading the configuration file, loading the framework, loading the default template, defining some variables etc.

Tuesday, December 12, 2006

Sphinx mysql fulltext searching

A few months back i posted about a novel way of indexing data in your MySQL database. There is a small update on this as the developer has launched a dedicated site for that and also includes some API docs and help text. If you are frustrated with MySQL taking forever to index your data i suggest you take a look at this.

Friday, November 17, 2006

XML sucks

Well if you are a programmer you have to read this. Its awesome, it brought smile to my dry lips. What can i say "pure genius". Excerpts from the article.

And each language could be heard to mumble as it tromped and tromped and tromped, with complete and utter glee:

Have to parse XML, eh? Have to have an XML API, eh? Have to work with SOAP and XML-RPC and RSS and RDF, eh?

Well parse this, you little markup asshole.

The End.