Subscribe: Rahul Narula's Blog
http://rahulnarula.blogspot.com/feeds/posts/default?alt=rss
Preview: Rahul Narula's Blog

Musings etc.



Random and all thoughts that doesnt fit any other social platform including Technology, Life, Friends, home



Last Build Date: Mon, 30 Oct 2017 11:43:33 +0000

 



Nitesh Hyde Park - A Nitesh Estates blunder

Wed, 06 Jan 2016 07:18:00 +0000

Today January 5, 2016 seems to a different day. After been associated with Nitesh Estates over a period of about 6 years today I feel I am ready to share my experiences with others. Before starting off, the question that's simmering in my mind is - Why it took so long for me to pen this down? It was circa 2009 when I had decided to finally take a dip in the ever booming Bangalore's real estate market. In order to fulfill our dream of buying a home for myself, we started looking for homes in the hot Bangalore real estate market. After about a year of looking for a project where we can realize our future home we zeroed in on Nitesh Hyde Park, by Nitesh Estates on Bannerghatta Road. Nitesh Estates, at the time, was an emerging builder in residential homes having had some success with the commercial space like Ritz-Carlton Bangalore. I felt since they were establishing in the residential market they will do their best with the projects they build to win more and more customers and finally decided to put our trust on them. I had envisioned them to compete with the likes of Sobha, Brigade, Mantri, Prestige, Purvankara's of Bangalore which have had good reputation over the years. Nitesh Hyde Park was advertised as budget homes primarily due to the faltering housing market at that time. We were convinced by the Nitesh Estates sales representatives that they are called budget home primarily because of the low ticket size of the apartments than anything else. There will be no compromise on the quality.  The project was to have 500+ apartments in 1, 2, 3 bedroom configuration and was to be completed in phases with the first phase of blocks A, B, C completed by 2012 that is 3 years from that time. The remaining D, E, F blocks to follow soon. After a couple of visits by the sales representative and our visits to their sales office in MG Road we finally signed the agreement for our first home. The spirits were high and we were excited having booked the apartment. The project was finally launched on Feb 2010 after all the required approvals were received. Nitesh Estates was overwhelmed with the response and they also decided not to do the model apartment at that time. We later realized this is where the happy part of the story ends. Since 2010 to now 2016 it has been a totally terrible experience. For starters I am still awaiting the handover of the apartment. The completion dates of the initial A, B, C blocks have been moved innumerable times over the past 3 years and inspite of various assurances from the likes of Nitesh Shetty, Ashwini Kumar - COO the reality is far from rosy.  Though the agreement had all the standard clauses regarding penalty in case of delay but force majeure is something that always comes to the builders rescue. They have not paid a penny towards penalty to anyone though none of us feel the reasons for the delay in this case qualify as force majeure. There were numerous meetings and escalations at various points during the construction with all management folks but every meeting came with their own set of excuses and new dates. Also the arm twisting tactics of the builders came into play during this period when they threatened to cancel the bookings of most proactive members. The project finally started handover for Block A around mid of 2015 and having got an opportunity to visit myself personally in July 2015 the block C was no where near completion. I was told that it will be ready in a month's time but I have been awaiting since then. I was however given the option to register my property since I was personally present there and I wouldn't be available there after that. I decided to go ahead with the registration and paid up all the outstanding dues including first year maintenance. Here comes another arm twisting tactic by the cunning builder. They came up with the maintenance agreement which was heavily skewed in their favor that I need to sign there and there at the registrar's office before I can get my apartment registered. At that point I was left with no option but to sign t[...]



Getting Oracle JDBC Driver version info

Fri, 10 Apr 2009 07:23:00 +0000

While debugging one of the application tonight I doubted the issue could be the underlying database driver it was using.  I thought that writing a tiny script to check the version of the Oracle JDBC driver that was used, like the one below would have done the trick jdbcDriver = CreateObject("java", "oracle.jdbc.OracleDriver"); writeoutput(jdbcDriver.getMajorVersion() &"."&jdbcDriver.getMinorVersion()); But to my disappointment this was not giving the results I expected. Hence I started  looking for a utility online that could help. I came across a few resources like this and this but all these talked about getting details from the ColdFusion database drivers(macromedia.jdbc.oracle.OracleDriver) which are different than the Oracle database thin drivers (oracle.jdbc.OracleDriver) I was using and wanted info on. After spending a little more time on figuring this out, I can up wiith this snippet that helped me with what I was looking for. Loaded from #oracleDriver#
#listgetAt(mainfest, line, "#chr(13)#")# Unable to find version details Oracle Driver not Found !!
The above snippet fetches the version info from the manifest file of the jar where the version info is available for all oracle jdbc drivers. After utilizing earlier to get the list of ColdFusion tags  the helped me with this one too. I leveraged an existing function resolveResource() that we have to resolve from which jar a java class gets loaded. It is quite helpful in situations where there are conflicting classes (in different libraries or different version of the same lib) in the class path. resolveResource() is used to return the jar file location from where the object is loaded. Rahul Narula on coldfusion, adobe, macromedia, java, flex & other web technologies[...]



Two utility ColdFusion UDF

Wed, 25 Mar 2009 13:38:00 +0000

While working for the ExcelProcessor utility  I required a function to convert the Excel cell reference to the number. ie. for a cell reference A17, I had to refer data in 17 row, 1 column. similarly AC6 would be 6 row, 29 column. To accomplish this I wrote a UDF that took the alphabets representing Excel column and returned number. Here is the method code, in case you bump across the need to do something similar function convertExcelCRtoNumber(cr) { var intVal =0; var charVal =""; var j=0; var t=0; if(cr.length() > 2) { return -1; } cr= ucase(cr); for(i=cr.length()-1; i >=0;i--) { charVal = cr.charAt(i); t = iif(j >0, (charVal-64)* (j*26), charVal-64); intVal += t; j++; } return val(intVal); } So now #convertExcelCRtoNumber(‘AZ’)# would give 52 and #convertExcelCRtoNumber('IV')# would give 256. Since Excel has the maximum limit of 256 columns i.e till IV I am limiting the string to 2 chars in length. To be able to return correct number in the series for more than 2 char string like AAB, ZZZ was something I was not able to achieve easily and since the above function met my immediate requirement I didn’t spent much of my grey matter figuring that out. Though that is something I  keep it as a exercise for readers ;-) Now out of curiosity, I tried to do the reverse of this, i.e a function that will return Excel style column reference given a number and this is what I could manage function convertNumbertoExcelCR(colnum){ var colname=""; var div = colnum \ 26; var offset = colnum mod 26; if(colnum > 256){ return "invalid"; } if(offset == 0) { offset = 26; --div;} colname =chr(64+offset); if(div){ colname=chr(64+div) & colname; } return colname; } #convertNumbertoExcelCR(40)# would give AN and #convertNumbertoExcelCR(79)# would give CA. Again this UDF will limit the number to 256. This method again will not give the expected cell reference if the number goes big enough to correspond to 3 char string ie AAA et al. I trying posting these 2 UDFs on cflib.org but was unsuccessful due to some error on the site. Hopefully will be able to upload it sometime. Rahul Narula on coldfusion, adobe, macromedia, java, flex & other web technologies[...]



ColdFusion and Excel 2007 Integration

Mon, 23 Mar 2009 14:00:00 +0000

There has been a lot of resources available already for ColdFusion and Excel Integration but yet I couldn't find anything to make use for my requirement of processing xlsx files.
This gave me an opportunity to role my own version, using POI which primarily has the following features :

  • Support for xlsx files i.e. it can consume files created with Microsoft Excel 2007
  • Support for reading large files using the POI Event API than the normal user API which is limited by the memory

The creation of Excel documents which is done using HSSF and XSSF APIs for xls and xlsx documents respectively, can still be an issue as the memory requirement of files is so large that it can completely overwhelm the server and whilst this is not really the fault of the API - the BIFF8 file structure demands that the complete file be built in memory before it can be saved to disk.

I used POI 3.5 beta 4 which has support for new Office Open XML file formats, such as XLSX and PPTX introduced with Office 2007.

I am using using the JavaLoader Utility to load the POI 3.5 and also the custom jar used to read Excel document. . Refer this post to find to how to install POI 3.5 beta on ColdFusion 8 using JavaLoader.cfc

This is not a pure ColdFusion solution and wrote a custom library to

  • utilize the POI Event API library for processing
  • make the utility also available for Java program

Importance of using java for the utility is much as ColdFusion natively doesn’t support batch processing and I feel that in case we are using this utlity to consume large data it makes more sense to load the processed data using batch. Though we can leverage JDBC batch processing in ColdFusion we could just do the same directly in Java without involving ColdFusion.

The installation instruction are pretty simple which have been added to the Readme.txt file. All the details about the usage are also in the Readme.txt file.

I would like to thank Ben Nadal whose POIUtility.cfc is the base of almost the complete write Excel functionality which I tried to use as is and adding support for creating Office 2007 (xlsx files).

I am naming this utility as ExcelProcessor and is still in development. Please let me know if anybody is interested in the source code and can contribute in improving the same. I would like to hear feedback, suggestions, comments from people who take the opportunity to try it.

Download ExcelProcessor (zip)

Note : If you receive a error java.lang.ClassNotFoundException: org.apache.xerces.parsers.SAXParser while running ExcelReader just inlcude Xerces parser in the classpath




ColdFusion biggest challenge

Tue, 03 Mar 2009 13:20:00 +0000

Ya I know it has been quite a long that I had written a post. It has been quite a hectic 2009 and hence this is my first post in year 09. I feel its just a blink of an eye and 2 months are trimmed of 2009

Many people would have found the subject quite interesting but since I wanted to be shown alive and no specific topic to write about I just thought of why not interact with community folks and find out

What has been the biggest challenge of all that you had in your as many numbers of years working with ColdFusion (irrespective of version)?

I know this question might have been answered by you a lot many times but why not refresh the memory once more and share them with ever growing community.

The format I would prefer the response would be

  • No. of years with ColdFusion
  • Problem definition
  • How you work around the challenge
  • Lessons learnt (if any)



A vacation in Goa

Wed, 01 Oct 2008 13:25:00 +0000

This year my firm decision of heading to Goa paid off finally when I packed up and headed to North Goa. After being back from a much needed vacation I feel refreshed and energized. I hope this last till my next vacation.

My Goa travelogue.

Only interested in some pictures peek in here.

If you need help in planning a trip to Goa I can surely help with my experiences. The Goa wikitravel has a lot of information regarding the same.




Adobe announces CS4

Tue, 23 Sep 2008 06:16:00 +0000

(image)

Adobe today announced the new CS4 range of products. The new Creative Suite 4 product line advances the creative process across print, Web, mobile, interactive, film and video production. With new levels of integration and expressiveness for Flash technology across the entire product line, Adobe’s biggest software release to date includes Adobe Creative Suite 4 Design Premium, Adobe Creative Suite 4 Web Premium, Adobe Creative Suite 4 Production Premium, Adobe Creative Suite 4 Master Collection, as well as 13 point products, 14 integrated technologies and seven services.

Adobe plans to offer tiered upgrade pricing from previous versions. For a limited time, validly licensed customers of eligible versions of Adobe Creative Suite, Adobe Production Studio and Macromedia Studio will be able to upgrade to Creative Suite 4 for the CS3 upgrade price. For more detailed information about features, upgrade policies, pricing visit CS4 Home

Adobe Creative Suite 4 and its associated products are scheduled to ship in October 2008. You can preorder them on Adobe Store at www.adobe.com/go/gn_store.




Google Chrome : Googles take on browser

Tue, 02 Sep 2008 07:38:00 +0000

(image)

With a few hours to go before Google unveils the first beta version of its open source browser, Google Chrome. I am getting ready to try my hands on it. As with most of Google launches there is a lot of talk & hype about the success of its new product.

These are a few things you can expect from the browser as per Google

Under the hood, we were able to build the foundation of a browser that runs today's complex web applications much better. By keeping each tab in an isolated "sandbox", we were able to prevent one tab from crashing another and provide improved protection from rogue sites. We improved speed and responsiveness across the board. We also built a more powerful JavaScript engine, V8, to power the next generation of web applications that aren't even possible in today's browsers.

Google chrome promises to be fast, clean, streamlined but yet simple. It uses components from Apple's WebKit and Mozilla's Firefox, among others. We won't know what Google Chrome will look like till tomorrow, when they make the beta available for download, but Techcrunch has a few screenshots of how it might look

Download (PDF) the pre launch comic strip




Cuil - Did you give it a try ?

Mon, 28 Jul 2008 12:35:00 +0000

Cuil a new search engine is unveiled today, 28th July 2008 which claims to be more powerful than even the big daddy, Google. The claim can turn out to be real, if not today but sometime down the line as it is created by a startup started by ex-Google employees.

More about what I found using it.




Edit current page - A neat little bookmarklet

Thu, 10 Jul 2008 17:47:00 +0000

Ever wondered if you could edit the page you are browsing on make updates to it. Found a very neat little bookmarklet that allows to exactly do that.

Edit current website

Just drag the above link to your bookmarks toolbar and voila you are all set to edit the page you are currently viewing. Don't worry though the changes are only temporary and are lost once you move away or refresh the page. But its a handy snippet to have some fun or create fake screenshots ;-). I suspect this to be one of these, but there is a lot of discussion about it on the Blogosphere.

You can find more such handy bookmarklets(including this one) here

.



CFUnited 2008 : Adobe Keynote Summary

Wed, 18 Jun 2008 13:16:00 +0000

Ben Forta as usual started his keynote with a bang and announced a few things on the ColdFusion front. Here are the announcement from Adobe

  • Full version Enterprise Edition free ColdFusion for Educational Use.
  • Setup of CFML Advisory Commitee will help define the rules & guidelines around the use and evolution of CFML. The initial members of the committee are
    • Sean Corfield (lead)
    • Ben Forta (Adobe)
    • Sanjeev Kumar (Adobe)
    • Gert Franz (Ralio)
    • Ray Camden (CF Jedi)
    • Rob Brook-Bilson

Adam Lehmann's talked about some of the new features and enhancements they are working for the new version of ColdFusion "Centaur"

Language Enhancement

  1. Create UDF & CFC in CFSCRIPT
  2. explicit LOCAL scope keeps local variables local
    can be used anywhere in within the function
  3. New tags and
  4. Others
    • new and import keywords
    • implicit constructors
      • Method name init()
      • Method with same name as component
    • implicit getters & setters – Applies to which will automatically have implicit getters & setters without actual code in the cfc which can also be overridden by users version.

New Server Events using Server.cfc file

  • OnServerStart
  • OnServerEnd

Databases are at the core of all CF apps and integrated ORM in Centaur will dramatically simplify data integration with hibernate




CFUnited : Checked In

Sun, 15 Jun 2008 19:16:00 +0000

Started my CFUnited trip. Checked into Grand Hyatt room number 1156 after a nice and decent Air France flight from Bangalore reached Dulles on time. Anyone interested to drop by are most welcome. See you at the conference.



Batch query processing with ColdFusion

Tue, 10 Jun 2008 07:09:00 +0000

Many a times we wonder if we can perform the action in database as a batch of multiple SQL statements. Though there are ways where in one execute multiple statements from but not all databases support that. Also that option risks the potential of SQL injection attacks if the queries are not written correctly. I personally would not prefer using for the purpose.

In one of my recent project I was required to perform multiple database inserts from the files. The records I am talking about can reach anywhere above 10K. I am sure not many of you would still want to use for this scenario.

To accomplish the task in hand I took advantage of the executeBatch() available in JDBC 2.0. the below script shows how we can do batch updates to a Oracle database.


   class =  createObject("java","java.lang.Class").forName("oracle.jdbc.driver.OracleDriver");
   DriverManager= createObject("java","java.sql.DriverManager");
   connectStr = "jdbc:oracle:thin:@::";
   con = DriverManager.getConnection(connectStr, '', '');

The above snippet is used to get the connection to the database using a connection string. If you have a datasouce setup and want to use it to get the connection use the following snippet :


  ic = createObject("java","javax.naming.InitialContext");
  ds = ic.lookup("");
  con = ds.getConnection();

Note : The datasources set in the CFAdmin will not be available using the above method. Only datasources set in the J2EE server will be available.

After we have the connection[con], we can use the following script to add statements to a batch and execute it as a batch.


 con.setAutoCommit(false);
 sql = "INSERT INTO test(id,name) VALUES(?,?)";
 pstmt = con.prepareStatement(sql);
 for (i=1; i<=1000; i++) {
   pstmt.setInt(1,i);
   pstmt.setString(2,"Sample String#i#");
   pstmt.addBatch();
 }
 updateCounts = pstmt.executeBatch();
 flag=true;
 for(i=1; i<=arrayLen(updateCounts);i++){
  if(updateCounts[i] == -3){ 
    flag=false; 
    con.rollback();
    break;
  }
 }
 if(flag){
   con.commit();
   writeoutput("Operation succeeded");
 }
 else
   writeoutput("Operation failed");
 

The JDBC recommendation is to set autocommit to false when using batch updates "for proper error handling." Doing so also allows all the benefits of transaction processing.

Update: To check if your database supports batch updates just check using this snippeton the connection object created above.


writeoutput(con.getMetaData().supportsBatchUpdates());




CFUnited Countdown

Fri, 06 Jun 2008 16:54:00 +0000

As part of the CFUnited countdown the attendees have been asked a few questions. Since I will be second time lucky to be able to make it to the conference from India, I take the pleasure to answer the questions asked by Liz

What are you looking forward to most?
The memories of my first visit to CFUnited in 2006 are still very much fresh in my mind and since it will be the second time around I plan to meet a few more people and make friends with, though I am on a different side of the globe it always gives me immense pleasure to interact and socialize with community. I surely will meet Ray (Camden) to personally thank him for offering me CF blog hosting. Also plan to make a few other friends.

Which speaker will most likely end up on your camera?
As many as can fit in my camera, which means it will cover atleast all from the sessions I attend. I am eager to attend the ColdBox session by Luis Majano at the very minimum.

What do you plan to do outside conference time?
Since I would be coming 3 days in advance for the conference and will have a mate along, we had planned to do DC Tour and museums especially, National Air and Space Museum. Also planning a day tour to Baltimore for National Aquarium and harbor.
If you feel there is something we are missing and should visit, please let me know in the comments

Fill in the blank: I will mainly be around the ______ booth.
It will be Adobe and no points for guessing the reason :-). I would also make sure to pay my visit to the Fusion Authority booth, still have the T-shirt I won from their booth ;-)

Do you have a new project you are working on and will reveal it at CFUnited?
Though it might not be that exciting, but for me I am working on something in which I am leveraging CF Ajax features for the very first time. Good to be able to explore some of the Ajax features.




ColdFusion 8 nominated

Fri, 28 Mar 2008 07:40:00 +0000

ColdFusion 8 has been selected as a finalist in the Web Development category of the Great Indian Developer Awards 2008. Voting is open for all till May 2nd.

Great Indian Developer Awards recognize the product and innovation excellence of the hundreds of software products and tools that aid developer productivity, across 15 different categories. The selection criteria applied by an international stature panel places emphasis on functionality, usability, innovation excellence, bleeding-edge quotient, and feedback from the developer ecosystem.

Now that I have already casted my vote what are you waiting for !!




Adobe RIA Architect Summit 2008

Tue, 18 Mar 2008 06:29:00 +0000

The Adobe RIA Architect Summit is an opportunity for architects and aspiring architects to get an insight into how to design and architect Rich Internet Applications. It is also a unique platform to interact with experts and technology leaders and a chance to develop connections within the community.

The summit is an unparalleled opportunity to hear from eminent people like Dr. Naresh Gupta, MD of Adobe India and David Wadhwani, VP of the Platform BU, Adobe Systems Inc. on the impact of RIAs, the business opportunities that they present and strategy and future of Adobe’s platforms.

When: Thursday, April 3, 2008 9:00 am - 6:00 pm
Venue: The Chancery Pavillion, Residency Road, Bangalore, India

More details and registration, on a First Come First Serve basis, at http://adoberiarch.eventbrite.com/




Synchronizer Token Pattern in ColdFusion

Wed, 12 Dec 2007 14:26:00 +0000

Most of the times we feel like maintaining the control flow of the application and prevent users not use browser control especially the browser Back button. Control flow sequence is particularly important to preserve when form submission involves transaction processing on the server which might lead to inconsistencies.

People familiar with Struts framework in Java might be aware of the Synchronizer Token Pattern available to take care of this very problem. I tried if not same a similar principle in ColdFusion to get over the problem on hand for me.

The solution described below is in no way a full blown Synchronizer Token Pattern that might be implemented in Struts but a very simple approach to solve a very mundane problem. The basic idea is to set a token in a session variable before returning a (transactional) page to the client. This page carries the token inside a hidden field. Refer code below :



Name :

Age :

Upon submission, request processing first tests for the presence of a valid token in the request parameter by comparing it with the one registered in the session. If the token is valid, processing can continue normally, otherwise an alternate course of action is taken. After testing, the token resets to null to prevent subsequent submissions until a new token is saved in the session.


   Your name is #form.name# & age #form.age#
  

  

Your session is expired

Go Back (Simulate Browser Back) | Preferred Back

Wanna try a demo

Please note that this is just an idea implementation I did in less than 5 minutes and has scope for improvement. All suggestions/comments are welcome.




Adobe.com has a new look

Fri, 07 Dec 2007 13:43:00 +0000

Yesterday night we at the web team released the new look Adobe.com.

Your comments/feedback are most welcome as to what you feel about the new look




Adobe Share

Wed, 10 Oct 2007 11:01:00 +0000

I hope many people must have already heard and used Adobe latest online offering codenamed "Share" which is available on Labs. It is a free web-based service that offers 1GB of space and allows you to easily share, publish and organize your documents. You only need to have an Adobe ID.

With Share you can:

  • Send documents without email attachments.
  • Access your documents from anywhere.
  • View all the documents you have shared or received in one place.
  • Post a link to your document on a wiki or blog.
  • Embed a Flash® preview of your document on any website.
  • Limit access to a document to a list of recipients.

Update: Ray Camden already has a cool little CF API for Share.




Directory Watcher

Thu, 06 Sep 2007 10:48:00 +0000

A few months back during our internal DevSummit at Adobe, India an engineer demo a slick little utility that sits in the system tray and monitors a directory for updates. It notifies the user of any update to the configured directory. The light weight utility also had a RSS feed that yours can subscribe to provided you have it enabled.

On the lines of this utility standalone executable, I thought doing this in ColdFusion was a cake walk. Using the Directory Watcher event gateway provided with ColdFusion I built a RSS feed using for all the music I have on my machine. The feed will be refreshed everytime I added more music, so my friends subscribed to my music feed get updated.

 
 
    
 



 select name,size,directory, DATELASTMODIFIED from music where type='File' order by DATELASTMODIFIED desc

 
      // Create the feed data structure and amymusic the metadata.
      MovieStruct = { link="http://rnarula03",title="Music", description="Music directory for Rahul", pubDate="#now()#", version="rss_2.0", item=arraynew(1) };
      / Add the feed items. 
       for(i=1; i <= mymusic.recordcount; i++)
 {
        MovieStruct.item[i] = StructNew();
        MovieStruct.item[i].description = StructNew();
 S = numberformat(mymusic.size[i]/(1024*1024));
 link = replace(mymusic.directory[i],"c:\music","")&"\"&mymusic.name[i];
        MovieStruct.item[i].description.value = "Movie "& mymusic.name[i] &" (" & S &" MB)";
 MovieStruct.item[i].description.value =  MovieStruct.item[i].description.value & "

Download at: \\servername\music" &link; //MovieStruct.item[i].link ="file://///rnarula03/music/"&link; MovieStruct.item[i].pubDate = GetHttpTimeString(mymusic.DATELASTMODIFIED[i]) ; MovieStruct.item[i].title = replace(Rereplacenocase(mymusic.name[i],"\.mp3$",""),"."," ","ALL"); }

This will publish the complete list of music files in my folder, which is also shared to facilitate easy download. The only issue I am having is the network file share link doesn't work from Firefox due to some reason. Still investigating on the same. Also the network link (like file://///servername/share) is not treated as a valid link in RSS & it doesn't appear as link on the fed item. If anyone has any idea on the same, please let me know about it.




FEEDJIT real-time traffic analysis

Tue, 04 Sep 2007 09:56:00 +0000

One thing that keeps me motivated to write more on my blog is the ever increasing number of visits on my blog. I have used a few tools to monitor the traffic in the past including Icerocket, Statisfy, Google Analytics to name a few but my I always like to try new tools just because of the kind of stats and analysis they provide. Icerocket, for instance, provide you the visitors tracking which include last n number of recent visits along with the time (in the time chosen chosen) and the geographical region. There are many other reports available like rank, hit by browser with nice charts etc etc. Google Analytics on the other hands doesn't seem to provide live stats and is bit more inclined towards e-commerce related reports.

In continuing with my endeavor to get the best stats and reports for my blog I am evaluating FEEDJIT on my blog. Feedjit offers two types of widgets and can be added to your blog without sign up/registration. The first one let you get a live arrival and departure traffic report on your blog. This widget is totally customizable using Ajax controls. The second widget, integrated at the bottom right of my blog, shows a map with the location of the last 100 visitors. Hover over any dot to get more information about a person.

Yet another very simple but nice widget that caught my attention was whos.amung.us. The USP of this stats is its 30 seconds setup and again like FEEDJIT doesn't require any registration.




Asynchronous File Upload

Fri, 31 Aug 2007 14:01:00 +0000

For one of my current project, we wanted to have to support multiple file attachments in one of the forms. The first thing that came to my mind was how about doing it the GMail way. For me the GMail file attachment module functions the best way. I was sure that I could find some reusable component that I can quickly use. But to my disappointment or lack of (search) time or call it bad googling, I couldn't find something, in ColdFusion, that I could have used. Incidentally I found the Google Guide today to help me better my googling.

To my good luck I found an implementation in PHP, which I quickly (5 mins to be precise) implemented, that's where I love ColdFusion. The implementation is a simple yet intelligent use of (hidden) iframes and JavaScript.

Download it !!




oob Conference 2007

Wed, 29 Aug 2007 05:29:00 +0000

India’s only conference on Ideas and Intellectual Property
14 - 15 Sep 2007
J N Tata Auditorium,Bangalore, India

If you have an idea, or simply want to get inspired to create your own idea, then OOB (Out Of Box) Conference 2007 is the place to be. Over 30 top speakers at the conference will keep you inspired; will get you thinking; and will push you to action-mode.

The future is ideas, ideas which will revolutionise and change the way we do things forever. At OOB, you will learn how to create, develop and execute your own idea. You will also learn the truth about Intellectual Property and how to create one. So, this September, OOB Conference 2007 is the place to be.

The delegates are swooping in and the chairs are fast getting filled, so ensure your seats right away.

More on OOB at http://www.oobconference.com




San Jose Semaphore cracked

Thu, 16 Aug 2007 18:11:00 +0000

Ever tried to solve the puzzle presented by rotating lights high atop the Adobe headquarters in San Jose. The puzzle has been reportedly been solved by a computer science engineer named Bob Mayo and an engineer named Mark Snesrud.
San Jose Semaphore website describe the riddle as
San Jose Semaphore, by artist Ben Rubin, is a permanent public artwork commissioned by Adobe Systems Incorporated in collaboration with the City of San Jose’s Office of Cultural Affair’s Public Art Program.

Located within the top floors of Adobe’s Almaden Tower headquarters in San Jose, California, San Jose Semaphore is a multi-sensory kinetic artwork that illuminates the San Jose skyline with the transmission of a coded message. The content of the San Jose Semaphore’s message is a mystery; cracking the encryption technique and deciphering the message is posed as a challenge for the public. To the first person or group to successfully crack the code, Adobe will award bragging rights and acknowledgment on both the Adobe website (www.adobe.com) and the San Jose Semaphore website.

Update: Read the complete analysis of the solution here, and how much pain the winning team took to crack it here. Read about some of the other projects of the artist who created the semaphore.



Adobe.com : A perfect web experience

Sun, 12 Aug 2007 17:53:00 +0000

Harley Manning, vice president Forrester chose Adobe.com as the perfect Web site on the Internet.

Read the complete article regarding this on WSJ.