Sunday, October 31, 2010

Evolutionary architecture and emergent design: Environmental considerations for design, Part 1 : Estimating emergent design and demonstrating technical debt
Search and integrate Google Buzz Streams with PHP : Use PHP to process and integrate activity streams from Google Buzz with a web application
Ajax user authentication and registration techniques with jQuery
Make your web applications fly : Improve loading performance and decrease bandwidth of CSS and JavaScript code

Friday, October 22, 2010

Friday, October 08, 2010

Looking At The WebMatrix WebGrid
Announcing NuPack, ASP.NET MVC 3 Beta, and WebMatrix Beta 2
Introducing HTML5 video : Why we need HTML5 video and how to use it
Migrate your Linux application to the Amazon cloud, Part 3: Building scalability : Serve more traffic with ease
Data-driven interactive applications with HTML5 and Ajax : Cross-platform Web apps for online or offline use
Programming XML across the multiple tiers: Use XML in the middle tier for performance, fidelity, and development ease : Develop an all-XML solution using JDBC 4.0, SQLXML, and the WebSphere Server XML Feature Pack
Programming XML across the multiple tiers, Part 2: Write efficient Java EE applications that exploit an XML database server : Optimize an all-XML solution with JDBC 4.0, SQLXML, the WebSphere XML Feature Pack, and DB2 pureXML
Create modular performance tests to save time and increase reuse: Part 1. Use Rational Performance Tester to exchange data between modular tests

Friday, October 01, 2010

Java development 2.0: MongoDB: A NoSQL datastore with (all the right) RDBMS moves : Create and query documents using Java code and Groovy
Building mobile applications for WebSphere Commerce using the hybrid application programming model
Integrate disparate data sources with Semantic Web technology : Combine data in multiple formats into a single report, using free tools to automate their conversion to RDF
Search RDF data with SPARQL : SPARQL and the Jena Toolkit open up the semantic Web
The Linking Open Data cloud diagram
Smarter collaboration for the Education Industry using Lotus Connections, Part 1: Integrate Lotus Connections with a RESTful web application : Track publications by person using Lotus Connections Profiles
Using the Stakeholder Collaboration Strategy with Rational Requirements Composer: Part 4. Collaboration approach
Improve Ajax development with jQuery
Improve the performance of your web applications : Find bottlenecks and increase the speed of your client-side content
Maximizing JavaScript and Ajax performance : Measure performance with Firebug, Safari Web Inspector, YUI Profiler, and YSlow
Creating juxtaposition tables, Part 1: Use Flex to create JTables
Creating juxtaposition tables, Part 2: Use Dojo to create a matrix viewer
Build a WebSphere application with AMIs : Learn to start an instance in the cloud and deploy a sample application to it.
Simulate XQuery and XInclude functionality with PHP : Enjoy the power of XML data processing in web programming

Friday, September 24, 2010

Wednesday, September 15, 2010

The Law of Two Feet


I came across an interesting concept recently in an article by Harrison Owen, a member of an organization advocating Open Spaces Technology, a model for organizing meetings that's based around open participation : the Law of Two Feet. Brilliantly simple, it says any time you're in a meeting where you're not contributing nor adding value--you are encouraged to use your two feet and find a place where you can. In other words, if it's not meaningful, and you're not doing your part to make it meaningful, move on.
Source : Darwin meets Dilbert: Applying the Law of Two Feet to your next meeting
Google App Engine
What Is Google App Engine?
Import XML data to Google App Engine : Upload bulk data stored locally in XML files to Google App Engine's persistent object database
Google App Engine SDK for java
Using the Datastore with JDO
Exposing SOAP Service on GAE
Using Simple for XML serialization : Really does make it simple to go from Java objects to XML
SOAPUI : Leading tool for web service testing
Force.com Web Service Connector (WSC) (inc GAE)

Friday, September 10, 2010

Build dynamic user interfaces with Android and XML : Collect data using an Android forms engine
Consuming web services with the Dojo Toolkit : Use the Dojo Toolkit for Ajax and RESTful services
Using the Stakeholder Collaboration Strategy with Rational Requirements Composer: Part 3. Linking strategy
Migrate your Linux application to the Amazon cloud, Part 1: Initial migration : How to migrate your application into the cloud
Migrate your Linux application to the Amazon cloud, Part 2: Improving application reliability : How to improve the reliability of your migrated Linux application

Friday, September 03, 2010

Using the Stakeholder Collaboration Strategy with Rational Requirements Composer: Part 2. Organizing the project and repository space
Business intelligence on the cheap with Apache Hadoop and Dojo, Part 1: Crunch your existing data using Apache Hadoop
Business intelligence on the cheap with Apache Hadoop and Dojo, Part 2: Create eye-catching, interactive reports using the Dojo toolkit : Take advantage of Dojo charts

Thursday, August 19, 2010

Simplify Ajax development with jQuery : Discover how easy Ajax and DOM scripting can be
Working with XML on Android : Build Java applications for mobile devices
Build a simple JSON controller for your web project
Build a web-based notification tool with XMPP : Write real-time web applications with XMPP, PHP, and JavaScript
Test web applications with Selenium RC : Introducing Selenium Remote Control
Requirements traceability in analysis models in Rational Software Architect Version 7.5 : Trace requirements from use cases in an analysis modeling process

Saturday, July 24, 2010

Enable a collaborative experience for HTML forms : Use the WebSphere Communications Enabled Applications Feature Pack to create collaborative and dynamic HTML forms
Using XML and JSON with Android, Part 1: Explore the benefits of JSON and XML in Android applications : Consider both XML and JSON data-interchanges formats for use on the Android platform

Sunday, July 18, 2010

Thursday, July 01, 2010

Use IBM Lotus Forms on the cloud : Create a car repair application with Lotus Forms Turbo AMI on EC2
Creating mobile Web applications with HTML 5, Part 5: Develop new visual UI features in HTML 5 : Add Canvas, CSS3, and more semantic elements to mobile Web apps
Using Internet data in Android applications : Parse XML, JSON, and protocol buffers data
Optimizations For Improving Page Load Times

Thursday, June 24, 2010

Build a web-based notification tool with XMPP : Write real-time web applications with XMPP, PHP, and JavaScript
Various client-server communication mechanisms in an Ajax-based web application
Creating mobile Web applications with HTML 5, Part 4: Using Web Workers to speed up your mobile Web applications : Add multi-threaded JavaScript to HTML 5 for the win!

Wednesday, June 09, 2010

Silverlight in an Occasionally Connected World
Ajax library smackdown: Dojo versus YUI : Using libraries to create a better user experience
Express social objects in Atom format : An introduction to the Activity Streams standard
Produce 60-second radio theatre with XML, PHP and Festival : Create minimalist audio art using computer-generated voices

Friday, June 04, 2010

Creating mobile Web applications with HTML 5, Part 3: Make mobile Web applications work offline with HTML 5 : Enable your application to function with or without an Internet connection
Being RESTful with SugarCRM : Tap into the new REST support with the SugarCRM Web services API
Connect your data to the outside world with SugarCRM connectors : Build a Google News connector using the Google AJAX Search API

Thursday, May 20, 2010

Using Ajax with Web services : Combining two leading-edge technologies is easier than you think
Creating mobile Web applications with HTML 5, Part 2 : Unlock local storage for mobile Web applications with HTML 5 : Improve the speed of your mobile apps with standardized local storage

Saturday, May 15, 2010

CodeIgniter and Ajax using jQuery : Creating effective and usable Web 2.0 interfaces
Collaborative ALM interoperability : Options for integrating Rational ClearQuest with Rational Team Concert or Rational Quality Manager
Creating mobile Web applications with HTML 5, Part 1: Combine HTML 5, geolocation APIs, and Web services to create mobile mashups : Find and track location coordinates to use in various Web services
Create Ajax applications for the mobile Web : Build cross-browser smartphone Web applications
PHP and the Cloud
Java development 2.0-NoSQL : Schemaless data modeling with Bigtable and Groovy's Gaelyk
Doloto: The Power of AJAX without Its Headaches (a Microsoft Research Project)

Monday, May 03, 2010

Create Flex 4 and Java Web applications : Discover object remoting
Build Ajax applications with Ext JS : A JavaScript framework for rich Internet application development
What's new in Ext JS
Ext JS Samples and examples
Creating mobile Web applications with HTML 5, Part 1: Combine HTML 5, geolocation APIs, and Web services to create mobile mashups : Find and track location coordinates to use in various Web services

Friday, April 02, 2010

Build Web applications with HTML 5 : Create tomorrow's Web applications today
Programming XML across the multiple tiers: Use XML in the middle tier for performance, fidelity, and development easeDevelop an all-XML solution using JDBC 4.0, SQLXML, and the WebSphere Server XML Feature Pack
IE9 Test drive
Microsoft Announces Hardware-Accelerated HTML5, Pushes Boundaries on Web and Cloud Development
URL Rewriter
SEO Toolkit
Get Popular Web Applications

Thursday, March 04, 2010

Create modern Web sites using HTML5 and CSS3 : Implementing the canvas and video elements in HTML5
Create Ajax applications for the mobile Web : Build cross-browser smartphone Web applications
Developing gadgets for Google Wave : A gentle introduction
What's new in iBATIS 3 : Using iBATIS as a persistence framework in your application
Enhance Web applications by secretly using the Flash Player
Are you using a toolset in your code review?
CouchDB basics for PHP developers : A look at CouchDB from a PHP developer's point of view

Monday, February 15, 2010

Coinciding with the commercial launch of Windows Azure, Microsoft released the Azure Tools for Microsoft Visual Studio 1.1 for creating, configuration, building, debugging, running, and packaging scalable Web applications and services on Windows Azure. And for getting your current Windows applications running in the cloud, the Windows Azure team released a beta of Windows Azure Drive.
OpenLaszlo -- A platform to rapidly build and deploy rich Internet applications : Understand what OpenLaszlo is and how it simplifies the way rich Internet applications can be developed and deployed
Python basics for PHP developers
sMashing your application... the Ajax way : Develop applications on WebSphere sMash Developer's Edition with PHP
Get to know Apache Click : Quickly write Web applications using a lightweight model free of heavy frameworks
Accessing social networking Web sites through OAuth : Build an OAuth-enabled Web Twitter client

Monday, January 18, 2010

Integrate Google Book Search into a PHP application:Use PHP to process and integrate data from Google Book Search with a custom Web application
Location-aware search with Apache Lucene and Solr : Combine unstructured text and spatial data to enhance your search applications
Modeling with SoaML, the Service-Oriented Architecture Modeling Language: Part 1. Service Identification
Emerging Web technologies : A look ahead
Rich Internet applications using ZK : An open source Ajax framework
Dealing with data in XML : Use the CDATA section effectively
Being RESTful with SugarCRM : Tap into the new REST support with the SugarCRM Web services API

Saturday, December 19, 2009

Cloud services for your virtual infrastructure, Part 1: Infrastructure-as-a-Service (IaaS) and Eucalyptus
6 tips for optimizing a native XML database : Common sense guidelines for using XQuery with native XML databases
Develop a store locator application using IBM DB2 pureXML and ASP.NET : Create a Web app to browse and maintain store information and plot coordinates on a map
Java development 2.0: Hello Google App Engine : Quick Web application development leveraging Groovy, Eclipse, and JDO
Java development 2.0: REST up with CouchDB and Groovy's RESTClient : RESTful concepts and a document-oriented database in action
Java development 2.0: Gaelyk for Google App Engine : A Groovy-based framework makes rapid development on Google App Engine even faster
Social Networks using Web 2.0
Combine social media APIs and XML-based data formats : Program to social media provider APIs using XML dialects
Process XML in the browser using jQuery : Navigate some major pitfalls to gain the benefits of the popular Web application API
Next-generation banking with Web 2.0
Integrating a Dojo client with an SCA application via SCA HTTP binding
Create an alerts system using XMPP, SMS, pureXML, and PHP : Develop a Euro currency exchange rate application with automatic updates
Building smart Web applications for a smarter planet

Sunday, November 15, 2009

Build a pureXML and JSON application, Part 1: Store and query JSON with DB2 pureXML
JavaScript Object Notation (JSON), a popular textual notation in Web 2.0, is used to represent objects (or data structures) as serialized text when clients and servers exchange information. Some applications benefit from persisting JSON objects to maintain state across sessions. In this article, learn how DB2® pureXML® can store, manage, and query JSON when you adopt a simple JSON-to-XML mapping.
Build a pureXML and JSON application, Part 2: Create Universal Services for pureXML that expose JSON
The pureXML Universal Services for JSON (abbreviated to JSON Universal Services in this article) are a set of database operations, including insert, update, delete, and query, exposed as Web services. These services enable an application to persist JSON in pureXML and to query it easily through HTTP with WebSphere Application Server. Get started with configuring and testing JSON Universal Services in this article.
Build a pureXML and JSON application, Part 3: Create OpenSocial gadgets for pureXML
With the Web 2.0 technology of OpenSocial gadgets, developers can easily include their applications in popular Web sites, such as iGoogle, MySpace, Hi5, LinkedIn, and others. In this article, explore OpenSocial gadgets through hands-on construction of an application that leverages the pureXML® capability of DB2®. This article is the last in a series of three that illustrates how to build a pureXML application whose user interface is a gadget that you can deploy in any OpenSocial compliant Web site. Follow the steps in this article to build a user interface that stores and retrieves the JSON data described in the first article through JSON Universal Services created in the second article.

Validating XML in PHP :Ensure data integrity and validate XML documents against an XML schema in PHP

Leveraging pureXML in a Flex microblogging application
Part 1: Enabling Web services with DB2 pureXML
Part 2: Building the application user interface with Flex
Part 3: Using pureXML Web services to publish microblog entries to an HTML page

Saturday, October 03, 2009

Link Listings
Case Study: Web 2.0 SOA Scenario
Meet CAM: A new XML validation technology : Take semantic and structural validation to the next level
U2 Compact Framework : UniObject for .NET Compact Framework for a smarter planet
Data scoring: Convert data with XQuery : Do quality analysis on conversion results
Build a RESTful Web service using Jersey and Apache
Integrate your PHP application with Google Contacts : Read and write contact information from Google Contacts with XML and PHP
Introducing Quercus, a Java-based PHP framework
Implement a real-time server push in Ajax applications using socket-based RIA technologies
Two new Microsoft Security Developement Lifecycle (SDL) tools: MiniFuzz File Fuzzer and BinScope Binary Analyzer
Microsoft has announced two new Security Development Lifecycle (SDL) tools here:
MiniFuzz File Fuzzer
MiniFuzz is a basic testing tool designed to help detect code flaws that may expose security vulnerabilities in file-handling code. This tool creates multiple random variations of file content and feeds it to the application to exercise the code in an attempt to expose unexpected application behaviors.
Because fuzzing is effective at finding bugs, it is a required activity in the Verification Phase of the Microsoft Security Development Lifecycle (SDL). With the release of MiniFuzz, we have made a simple file fuzzer available to assist developer efforts to find and address more bugs in code before it ships to customers.
BinScope Binary Analyzer
The BinScope Binary Analyzer is a Microsoft verification tool that analyzes binaries to ensure that they have been built in compliance with Microsoft’s Security Development Lifecycle (SDL) requirements and recommendations. BinScope checks that SDL-required compiler/linker flags are being set, strong-named assemblies are in use, and up-to-date build tools are in place.
BinScope also reports on dangerous constructs that are prohibited or discouraged by the SDL (e.g. read/write shared sections and global function pointers). For a more detailed enumeration of the checks performed by BinScope, please see the BinScope documentation. BinScope is available in two forms: as a standalone executable and as a Visual Studio add-on.
Jeremy Dallman, of Microsoft, explains both tools in this post.

Friday, September 18, 2009

Finding the way through the semantic Web with HBase : Use HBase and Bigtable to create and mine a semantic Web
Creating juxtaposition tables, Part 1: Use Flex to create JTables
Meet the Extensible Messaging and Presence Protocol (XMPP) : Explore Internet communication with XMPP architecture, applications, and examples
Using the Technorati API : Create automated blog searches

Thursday, September 17, 2009

Sunday, September 13, 2009

Introducing Apache Mahout : Scalable, commercial-friendly machine learning for building intelligent applications
Using the Technorati API: Create automated blog searches
Explore multithreaded programming in XUL : Retrieve search results simultaneously from Google, Yahoo, and Microsoft's Bing
Top 10 tips for writing successful Software as a Service : Essential skills for ensuring that your SaaS project finishes on time and under budget
Integrating SOAP Web services in WebSphere sMash applications : Using the REST to SOAP extension
GMaps4JSF in the JSF 2.0 Ajax world

Monday, July 27, 2009

“I thought of that while riding my bike”

“I thought of that while riding my bike” - so said Albert Einstein when asked about the theory of relativity. How many of us have “thought of that while riding my bike”?

All too often - in these days of crunchy deadlines and in a world that never sleeps, where someone on the other side of the world wants an instant answer, even though it’s 3am where you are - we don’t get the time to “think of something while riding our bike”. Sometimes we need to crack a problem or issue, or come up with a new idea or product and the creative juices just don’t flow. We lock ourselves away in a room with no windows, with artificial light, a blank piece of paper and a bright whiteboard and we try to come up with the solutions and ideas. It doesn’t work, does it? Rather than the lightbulb above our head glowing, our brains switch to neutral and the ideas grind to a halt - or at least that’s how it is for me.

Maybe we should do something different to spark the creativity - go for a walk, swim in the sea, watch the clouds, go ride our bike….. I’m a keen road cyclist and on a long spin, once I’m into my cadence rhythm, I find my mind becomes clearer; I’m able to think things through, come up with a plan, assess the strengths and weaknesses, threats and opportunities. The solitude helps me think. I’d struggle to do this in a plain room, with a plain whiteboard.

Ref: The Six Ninja's blog

Sunday, July 26, 2009

To tell you the truth

by Indrajit Hazra.
Excerpts:

Let me be honestly brutal. The only way I can negotiate with this world without majorly losing out on what it has to offer is by dropping a little lie here and mixing a bit of facts with fiction there. I just have to ensure that I’m not branded a liar.

But what if I’m being told to be in a situation where lying is no longer an option? What if everything I say are fact-checked and then played back to me for my reaction? What if I am made to undergo a psychophysiological detection of deception (PDD) examination — what in my grandma’s generation was known as a polygraph test?

Well, for starters, I just won’t agree to undergo the test, would I? But that refusal itself is bound to send out a message that will travel faster than it takes a text message to reach from a Vasant Vihar mobile to a mobile in Vasant Kunj. Like a man running away from the cops, I will be considered ‘guilty’ even before it’s established that I have been fibbing. So the only way out is to hone one’s lying skills.

Which is why Yudhisthirs petitioning the Delhi High Court and howling against the prime time game show Sach Ka Saamna should chill. Participants on the programme are not Guantanamo Bay orange-suited residents who have been pumped with temazepam and forced to listen to Amitabh Bachchan reading Harivansh Rai Bachchan’s poetry. These are people who, lusting after filthy lucre (a perfectly reasonable human endeavour), agree to come and sit on the hot seat after a polygraph test to answer questions such as ‘Did you, after your marriage, sleep with your driver while returning from a Gurgaon party that involved throwing in car keys in a big salad bowl?’

As you can gather by the line of that question — and I’m only exaggerating a bit — Sach Ka Saamna’s big ticket questions are overwhelmingly family-wrecking in nature. Which brings us to the real issue that’s made people howl against the show “promoting obscenity” and — here we go again — “propagating values against Indian culture”.
Telling the truth is not an Indian tradition. Lies have thrived among humans simply because in the long run they work. The scary bit is being caught lying, and worse, being caught lying in public. Imagine a Congress MP being asked by Sach Ka Saamna host Rajeev Khandelwal the jackpot Rs 1 crore question: “Would you trade your mother for Soniaji?” Even being truthful here would be very tricky.

Friday, July 24, 2009

Napoleon's March

Probably the best statistical graphic ever drawn, this map by Charles Joseph Minard portrays the losses suffered by Napoleon's army in the Russian campaign of 1812. Beginning at the Polish-Russian border, the thick band shows the size of the army at each position. The path of Napoleon's retreat from Moscow in the bitterly cold winter is depicted by the dark lower band, which is tied to temperature and time scales.

Ref: http://www.edwardtufte.com/tufte/posters

A Brilliant Visualization
An excellent example of how magic can be created with data



Wednesday, July 22, 2009

45+ Excellent Code Snippet Resources and Repositories

40+ Tooltips Scripts With AJAX, JavaScript & CSS

45+ New jQuery Techniques For Good User Experience

70 Expert Ideas For Better CSS Coding

70 New, Useful AJAX And JavaScript Techniques

30 Handy Cheat Sheets and Reference Guides for Web Professionals

Build Wikipedia query forms with semantic technology : Create simple Web forms that drive semantic Web standard queries to take advantage of exciting new databases

Job Hopping


I have changed jobs a lot in my career of around 15 years. According to this article that might just have been a good thing for me.

"Software industry culture has an unwritten rule that if you don't like a job, or if you think your company isn't going anywhere, you leave. Instead of hanging around the office whining, you walk out the door and find something better and cooler to do. Because skilled tech workers are hard to find and interesting companies abound, employees, not employers, call the shots. This was true at Apple in 1984, and it's still true at Facebook today.

Worker mobility gives the tech industry fluidity, velocity, and energy. It creates a culture in which people routinely jump from one job to another, looking to get in on the next must-have product or service.

As it happens, that lack of loyalty has been a key driver of the software industry's rapid innovation over the past three decades.
AnnaLee Saxenian, author of Regional Advantage: Culture and Competition in Silicon Valley and Route 128, puts it this way: "Job-hopping, rather than climbing the career ladder within a corporation, facilitates flows of information and know-how between individuals, firms, and industries. When combined with venture capital, it supports unanticipated recombinations of technologies and skill." In other words, we have Twitter today because a bunch of engineers who were trained at other companies quit their jobs and brought their expertise to Evan Williams' side project. It's like biology: In an ecosystem where microbes are promiscuously swapping genes and traits, evolution speeds up."

Another crazy week

by Manas Chakravarty

Monday: Protests erupted today in Daman, Diu and other areas near the Gujarat border on the Gujarat government’s failure to enforce total prohibition in the state. “Gujarat is the birthplace of Gandhiji and liquor must be banned there,” said a pub-owner in Daman, ushering in a busload of tourists from Gujarat into his pub. A local Gandhian observed the protests with tears in his eyes, as he told this reporter that even the smugglers in Daman were all for prohibition in Gujarat — an instance, he said, “of how Gandhian values can find a place even in the most hardened heart”.

Tuesday: As torrential rains flooded Mumbai’s streets, terrorists at a camp outside Lahore looked decidedly glum. Reports say that terrorists training for another attack on Mumbai have gone on strike, complaining that working conditions in Mumbai left much to be desired. “At the very least,” said a young jihadi, “we should get a flood allowance”.
Meanwhile, the LeT chiefs have been trying to find a few rain-free days when an attack on Mumbai could be carried out. “We must study the El Nino phenomenon in the Pacific Ocean because it affects the monsoons,” said a learned terrorist. But a young terrorist said all they had to do was follow the Mumbai Met Department’s warning of heavy rainfall. “Those days”, he pointed out, “are invariably bone dry”.

Wednesday: After the hullabaloo in Parliament over the TV serial Balika Vadhu, legislators are demanding that the popular cartoon show Tom & Jerry should be banned. “The cartoon is very violent with episodes featuring Jerry slicing Tom in half and Tom using everything from dynamite sticks, axes and poison to try and kill Jerry. This can severely affect a child’s psyche,” said a child psychologist. A policeman pointed out that the proper procedure if either Tom or Jerry felt aggrieved would be to file an FIR at the nearest police station and allow the police to investigate. “At the very least, Jerry should file a writ petition,” added a lawyer.

Thursday: The government was ecstatic today as the rate of inflation continued to be negative. Asked about the sky-high prices of vegetables and pulses, an economist said that wasn’t inflation. “That’s a mere price rise,” he said, adding that the great economist Milton Friedman had said that inflation is always a monetary phenomenon and that money supply growth was decelerating. “Besides,” he added, “prices of purified terepthalic acid, springs and jelly-filled telephone cables have come down”.

Friday: The US government congratulated India today on re-opening the dialogue with Pakistan. “When terrorists attacked us, we behaved immaturely by invading the country harbouring them and attacking another country on fake evidence. We are very happy India is behaving in such a mature manner,” said a State Department official. An Indian government spokesman said he was happy the US was happy.

Saturday: No buses were burnt in Kolkata today. In protest, the opposition has called for a bandh next Monday.

Wednesday, July 08, 2009

Why Incompetence Spreads through Big Organizations

Promoting the people most competent at one job does not mean that they'll be better at another, according to a new simulation of hierarchical organizations.

There's a paradox at the heart of most Western organizations. The people who perform best at one level of an organization tend to be promoted on the premise that they will also be competent at another level within the organization. I imagine that most readers will have had personal experience at the way that this hypothesis fails in practice.

In 1969, a Canadian psychologist named Laurence Peter encapsulated this behavior in a rule that has since become known as Peter's Principle. Here it is:

"All new members in a hierarchical organization climb the hierarchy until they reach their level of maximum incompetence."

That's not as unfair as it sounds, say Alessandro Pluchino and buddies from Universita di Catania, who have modeled this behavior using an agent-based system for the first time. They say that common sense tells us that a member who is competent at a given level will also be competent at a higher level of the hierarchy. So it may well seem a good idea to promote such an individual to the next level.

The problem is that common sense often fools us. It's not so hard to see that a new position in an organization requires different skills, so the competent performance of one task may not correlate well with the ability to perform another task well.

Peter pointed out that in large organizations where these practices are used, it is inevitable that individuals will be promoted until they reach their level of maximum incompetence. The unavoidable result is the runaway spread of incompetence throughout an organization.

Now Pluchino and co have simulated this practice with an agent-based model for the first time. Sure enough, they find that it leads to a significant reduction in the efficiency of an organization, as incompetency spreads through it. That must have an uncomfortable ring of truth for some CEOs.

But is there a better way of choosing individuals for promotion? It turns out that there is, say Pluchino and co. Their model shows that two other strategies outperform the conventional method of promotion.

The first is to alternately promote first the most competent and then the least competent individuals. And the second is to promote individuals at random. Both of these methods improve, or at least do not diminish, the efficiency of an organization.

Interesting idea that would be fascinating to see in action. What would be a suitable prize for the first CEO to implement such a policy?

Ref: Technology Review: the physics arXiv blog

Thursday, July 02, 2009

PHP object orientation - Separating concerns : Building more modular PHP applications
Translate Atom to RDF : From syndication to semantics with ease
The new role of XML in cloud data integration : Using XML to integrate Salesforce data with enterprise applications
An introduction to custom application development on the cloud using Force.com : Fundamentals and Workbook

Wednesday, July 01, 2009

Chocolate Lines


"Strength is the capacity to break a chocolate bar in four pieces with your bare hands- and then just eat one piece "
--JUDITH VIORST
"There are two kinds of people in the world: those who love chocolates and communists"
--LESLIE MOAK MURRAY
"It's not that chocolates are a substitute for love.Love is a substitute of chocolate. Chocolate is far more reliable thana man"
--MIRANDA INGRAM
"Nine out of ten people like chocolate. The tenth person always lies."
--JOHN Q. TULLIUS

Ours to question why


The first excerpt is written by Karan Thapar. I have always thought him to be a little stupid specially after his television programs and also his other articles where he had written about benazir bhutto as if she would have solved all the problems between india and pakistan if she was alive and at the helm of pakistan. I on the other hand think its probably the best that lady was killed or else pakistan would have by now used its entire terrorists against us while the americans would be eating out of her hands. I have not forgotten that while she was at the helm pakistan was the most vocal regarding kashmir.
So when I read this article, it came as a very nice surprise.----

At first, I was taken aback that the president of France should have spoken about the burqa and in an address to the parliament at that. But the more I read, the more sense it seemed to make. Presidential addresses ought to be about issues that transcend the daily struggle of politics and Sarkozy had framed the burqa in bigger, more important, terms.

“The issue of the burqa is not a religious issue, it is a question of freedom and of women’s dignity,” the French President said in his Versailles speech. “The burqa is not a religious sign, it’s a sign of the subjugation, of the submission, of women. I want to say solemnly that it (the burqa) will not be welcome on our territory.” Perhaps, more than any other, this sentence was received with rapturous applause. In fact, Sarkozy’s comments on the burqa captured the headlines, even though this was the first presidential address to the French parliament after Charles Louis Napolean Bonaparte 136 years ago and despite the fact that Sarkozy’s 45-minute address touched on many subjects, including the economic crisis.

Beyond his indisputably correct comments on the burqa, what struck me about Sarkozy’s speech was how different it was to the sort of fare we, in India, have grown used to. Neither our politicians, nor our president talk to us about issues other than politics. Either for reasons of misplaced political correctness or because they haven’t thought through the matter themselves — and I bet it’s the latter — they avoid moral issues. This, I might add, is both sad and a mistake.

Moral issues need to be questioned and debated. They must not be buried under the weight of custom or under fear of the controversy any comment could provoke. If politicians feel strongly about them they must speak out. Not just because silence would be deception but because that’s how a debate is started. And democratic societies need to question and debate.

Let me also add that just because a politician speaks doesn’t mean his or her point of view will be accepted. Sarkozy knows that only too well. So let not an exaggerated opinion of themselves become an excuse for timidity or reticence. However, because they are politicians and are practised speakers they could frame the issue intelligently and create a platform for equally thought-provoking responses. And that is important.

But will we ever hear Manmohan Singh, L. K. Advani or Sonia Gandhi speak to us about issues such as the right of women to drink in pubs, wear jeans in colleges and lead normal lives after widowhood? I hope so. But I doubt it.

The second one is written by Indrajit Hazra whose articles I really like probably because his thinking matches mine after all he is also a fellow bong.

Ever wondered what goes through the head of Ashok Srivastava each time a young woman in jeans walks past him? It’s demanding enough for the Convenor of the Uttar Pradesh Principals’ Association to stay composed when any jeans-wearing young woman walks by. But imagine the serious conflict raging inside Srivastava, a good man of the kind we don’t meet often enough these days, if a jeans-clad college girl with a dexterous figure — with the wind blowing through her hair — and humming ‘Jaadu hai nasha hai’ walks by in slo-mo.
Well, I can’t see his perfectly normal heterosexual reaction to a young, attractive lady wearing figure-hugging trousers being any different from yours (if you’re a man, that is) or mine — except, perhaps, in intensity, which in turn depends on the frequency of spotting women in jeans on a regular basis (not that much for Srivastava, I would presume) and one’s own hormonal balance.

What is different, though, is how Srivastava wants to deal with his biologically-driven affection for women in denim: by not having them anywhere near him. (In some societies, of course, a more effective method would be to punish women in jeans so as to make them stop existing altogether.) As far as I’m concerned, you don’t have to be a hick or a pervert or even the head priest of the Guruvayur Temple to be distracted by the ergonomic quality of jeans when fitted on to a charmingly-shaped lady. The nature of the limbs-hugging jeans, after all, is to highlight the physical attractiveness of the wearer. (Thus, the total pointlessness or more of, say, President Pratibha Patil wearing a pair of Levis 901s.)

No woman — or man, for that matter — wears clothes to look unattractive, not according to their own set of aesthetics, that is. Their objective may be to look ‘smart’, ‘traditional’, ‘radical’ or a permutation-combination of all three. But the basic premise, even of someone like Sushma Swaraj, is to present oneself as ‘attractive’, a diluted-by-evolution-and-social mores version of the original biological purpose of looking attractive: advertising one’s sexuality.

The woman-in-jeans, of course, elicits different reactions in different settings. A jeans-wearing girl walking along Flora Fountain in Bombay will be seen as a different entity from the same girl in jeans cycling along a Gorakhpur alley. It’s as different as an attractive lady in a sari in Delhi is from an attractive lady in a sari on the streets of, say, Melbourne.

So, much of everything that surrounds the business of women in jeans boils down to what men make of it — and what women make of what the men make of it. The pitch against women in jeans, of course, will never be in the following form: “I am reacting hormonally to those girls in jeans under that tree. Please ensure that they don’t wear such tight clothes and force me to think of things other than the price of plums!” Instead, the rationale is always on this line: “Other men — lascivious ones — are reacting hormonally to those girls in jeans under the tree. Please ensure that they don’t wear such tight clothes!” Here’s Ashok Srivastava’s version: “It has been seen that eve-teasers generally target girls wearing jeans or modern clothes.” The truth is that I don’t think he’s wrong. One man’s women in hip-hugging jeans can be another man’s women in bodice-hugging salwar-kameezes.

The latest jeans imbroglio won’t be the last jeans imbroglio. Men will — comfortably or uncomfortably — get turned on by this iconic, all-pervasive apparel that accentuates the wearer’s hips and buttocks.

Monday, June 22, 2009

Where the mind is with fear

Excerpts from two articles in hindustan times written by Manas Chakravarty and Indrajit Hazra.

We are a non-violent people. We hate it when people resort to violence. In Lalgarh, the tribals have all along been very peaceful. True, the primary health centres in their villages didn’t have any medicines and doctors from the towns rarely visited them. So what’s new? Many people saw their sick loved ones die as they made the long trek to the district hospital from their villages over the dirt tracks that pass for roads. But there was no violence.

Finding drinking water in the summer has always been a problem in the villages. Ponds have had to be used for both drinking water and for bathing. Children have often suffered from diseases as a result. But the tribals of Lalgarh are used to their children dying early. They never complained.

Most villagers in the region are caught in a vicious poverty trap. Malnutrition is rife. Doctors from Kolkata who recently visited the place said that what the people needed was not pills but food. Nobel Laureate Amartya Sen once said that hunger was “a quiet violence”. He meant that if a state can’t feed its people it’s guilty of violence towards them. But he was just twisting words to suit his theory.

Indians are malnourished not just in Lalgarh, but all over the country. A recent Unicef report said that 405 million people in South Asia suffered from chronic hunger. India’s rank in the Global Hunger Index of 88 countries is 66, below several African countries. So there’s nothing special about Lalgarh. Also, in spite of being hungry, the people were peaceful. Being peaceful is the most important thing.

Every election, the Lalgarh tribals voted the Left to power in the hope that these self-proclaimed friends of the poor would help them. But in spite of the promises, nothing happened. The money from the anti-poverty programmes never reached them, the police occupied the buildings that were supposed to be clinics and the irrigation canals dried up. They watched in silence as the local party bosses built mansions and businesses for themselves and their cronies.

For more than 60 years after independence, they patiently waited for better times. And it’s not that the country wasn’t doing well. Some of them went to the grand city of Kolkata and came back with wondrous tales of shining malls and air-conditioning and taps that never ran dry. They were right to wait. For as we all know, it’s just a matter of time. Once the Sensex goes up enough and CEOs start earning several crores a year and India becomes a world power, then money will trickle down and reach places like Lalgarh. True, generations may be destroyed before that happens. But that is not violence.

Some things do seem to suggest, at first glance, a hint of brutality. Take the routine manner in which the police pick up tribals for questioning and then torture them. But that’s required for the police to conduct their investigations. How else will they protect the people from the Maoists? True, tribals in Lalgarh lived in constant terror of the police and of the party thugs. But that is not terrorism.

Of late, though, the people of Lalgarh have been behaving very oddly. They drove the police and the party bigwigs out of the area and torched their houses. They have started digging wells, setting up schools and running health clinics, without any help from the state. They have formed a Committee against Police Atrocities which wants electricity in their villages and roads and bridges to be built. Worse, they even want the politicians to apologise! Very strangely, after all these decades, they seem to be running out of patience.

What on earth is going on? Outsiders must be inciting them to violence. We are a peace-loving people and must stop this violence at once. Don’t worry, our tribal brothers, our troops are on their way to save you.

--Manas Chakraborty

The conditions that have led people to fall for the seductive charms of violent revolt were being pressure-cooked for years. An administration had long forgotten to recognise, never mind keep, its part of the bargain with the very people who had given the CPI(M)-led front its generational power and the pelf that comes with it.

Take the case of Kuna Sabar, a resident of Darra village in West Midnapore’s Belpahari sub-district. On December 22, 2007 — when a million miles away in Calcutta, people were frantically speculating about the return of Sourav Ganguly in the Indian cricket squad — Sabar died of hunger. If his cause of death (confirmed by a doctor) wasn’t shameful enough for a government that took pride in prioritising the concerns of its rural masses, the subdivisional officer’s response to the death was horrific. He said that documents showed that Sabar had bought “8 kg rice, 2 kg wheat and 2.4 kg sugar” from the ration shop “between December 2 and December 16”. Effectively, he was telling Sabar’s widow that his death must have been her husband’s fault.
Sabar is just one statistic. During 2004-2005, a year before the Left Front won the 2006 assembly polls by a landslide, dozens of ‘hunger deaths’ across Bengal were recorded by the Asian Human Rights Commission. And these sordid deaths were overwhelmingly because of utter administrative failures. Till January 2008, only 34 people in West Midnapore, for instance, had received the minimum 100-day job and corresponding pay under the National Rural Employment Guarantee Scheme. The remaining earned wages for an average of 11.6 days.

In a universe where bureaucrats, academics,policemen, the cogs and wheels of administration and governance are deeply entrenched in ‘party affiliations’, accountability can only be a silly theological notion for bourgeois ‘management types’. It is this affliction of apathy — and of genuinely being stumped about why people might be enraged about pointless deaths, of living in life-defying poverty — that really makes for something rotten in the state of Bengal.

What applies to administrative ignorance (an evolutionary byproduct of administrative apathy) holds true for a police force that simply doesn’t know anything about crowd control or how to tackle a riotous mob. Either the police do nothing (as they did when the Maoist-goaded People’s Committee Against Police Atrocities in Lalgarh first marched to the CPI(M) zonal headquarters in Dharampur last week to destroy any signs of the CPI(M)/administration and attack party workers), or they shoot first and ask questions later (as they so memorably did in Nandigram on March 14, 2007).

Only in Left-ruled Bengal do you get armed partymen being regularly and openly sent to ‘capture and liberate’ towns and villages that have fallen in the ‘wrong hands’. The police arrive at the scene later, if the comrades and their local commissars have failed to do their job. As this is being written, the state government has finally let the police and security forces enter Lalgarh to ‘reclaim’ it from the Maoist ‘invaders’. It will remain unclear for a long while whether this reclamation is being conducted at the behest of the CPI(M) or the people of Lalgarh, considering that the concerns of the two are different and almost diametrically opposite.

--Indrajit Hazra

Wednesday, June 03, 2009

During Microsoft Teched at Hyderabad, there was a contest for the top architect which I contested.
The following images are of the slides I sent and the text is basically the audio I sent.

High Overview


UseCase




Microsoft Solutions Architecture





Deployment


The first slide is a high level overview just for illustration purposes, so I won't delve into that. Let me speak of the Use cases which is in the 2nd slide.Here as I state a user or rather an authenticated user can vote, Mark Self as Candidate, sponsor someone else as candidate, view candidate info and so on. Ialso have another actor Candidate who extends from user and can upload content. I also have a external system who gets data and functionality from the system. To do so it pays to the system which I have assumed is done via a Payment Partner. The system also takes money when a user marks self as candidate and sponsoring another person.This is another assumption i have made.
Now to the solution Architecture, I have proposed a N tier application(in code) with complete seapration of UI, business logic, and data access logic. I follow the business facade pattern and will have a generated Data access layer where every method corresponds to one stored proc. Now one thing people might not like is the site having both a web client and a rich internet client. I like rich internet clients a lot and I think its usage could be a great plus in this site. I have suggested a web client to go with a rich internet app as well as it can then run on mobile browsers and on those browsers which do not have rich internet client framework.The rich internet client as well as the external services can connect directly to service layer to get the data.
Now if we go to the microsoft technology based architecture slide you will see that I have replaced all the technologies spoken earlier with the Microsoft technologies, Rich Internet Client has become Silverlight, the web client app has become ASP.NET MVC ( to mobile enable it , you just need to add the mobile browser definition files).I'm a great believer in software factories and so I have used the web service software factory with WCF in the service and business layer, the ADO.NET entity framework takes up the job of data layer along with data access application block which is heavily being used along with other application blocks in enterprise library cross cutting all layers for exception management, validation, logging, security, etc. I have proposed SQLserver as the dbas we are using .net and Microsoft's SQL client provider is super optimized for SQL Server.MS is supposed to come out with a rich internet client technology for mobile but as it is still in the pipeline( not even a beta release), I would like to first build the ria and even after it is ready if ms does not have the ria client for mobile browsers, I would create the web client, and my experience tells me that it will not require a heavy resource as the business logic has already been created.Finally security in WCF, to connect to silverlight u need to use basic http binding , so the security will have to happen at transport-level, HTTPS, IIS-based auth for the entire application and authentication outside of silverlight, but for b2b scenarios I suggest consider using messagebased brokered authentication with X.509 certificates with certificates the certificate issued by a commercial certificate authority.
Now for the deployment diagram, a little costly but I believe this is the best.
First there is the hardware firewall which will handle DDOS attacks, TCP flood, Malformed Packets efficiently as there is a dedicated processor in Hardware Firewall that handles all the filtering. If i use just Windows firewall and too many malformed requests come in, my Web servers CPU will be too busy saving me from those attacks then doing the real job like running my .NET code.My fire wall connects to a router or switch which has load balancing capability that evenly distributes traffic to my web servers. I had thought of firewalls with load balancing capabilities built in and with enough NIC to connect all my web servers but finally decided on the present architecture as i feel every device should do its own wotk and also this is perfect if the site is a hit and requires scaling up. I have seen many networks and web sites which have gone down for hours even a day because they did not have a backup, so I suggest each device should have a backup. So if the firewall goes down or has to be patched up, my backup can do its work.Note, the physical architecture is two-tier,the decision to have two tier architecture is due to speed. Since we don't store super critical information, we don't need to worry about Security as much as we would do if we were building a financial application.The servers should always run 64 bit windows as otherwise you cannot fully utilize the 4 GB RAM or more than that.The 64bit version of .NET framework is stable enough to run heavy duty applications. Some people have had bad experience running 64bit Windows on their personal computers, but 64bit servers are pretty solid nowadays. Web server layer contains three web servers in load balanced mode. Each web server hosts the exact the same copy of the code and other artifacts of the application that we have.Also our main users are coming from RIA and external systems which are any way going to be connected to the service layer but even if we only had a web client application, I would still do the same as a separate application layer has been proven to be a bad practice for high performance websites particularly the ones developed using ms technologies.even if you say that the webserver has no idea of the sql server,in modern applications, almost all operations are exposed via services. There's very little ad-hoc SQL query. So, this means, if someone can compromise the web tier, all the service methods are exposed to hacker and calling those service methods are not more complicated than calling SQL Server. IIS generates humoungous sizes of logs, and also we have the application logs been genrated by logging application block, my suggestion is to keep a large amount of space in the drive where the app is located as might need to store several weeks worth of IIS logs incase our internal systems to move those logs to somewhere else for reporting gets broken.
Now the webservers are also connected to the internal router. the db servers sit behind it. I know that some people would say that a firewall is required to keep the webservers in dmz but my exp is that this firewall becomes a bottleneck for all traffic between web and database servers. What I do is use a router and open only port 1433 to pass anything through the router from a web server to any DB server.I have been told by many security experts that if you can hack and get the web.config,everything else whether dmz or anything else is of no use.I have suggested windows clustering witha active /passive cluster but if the site scales up, we can make it 2 active /passive cluster. I have also suggested SAN for the main db data as windows clustering needs it(very costly i know, but if the site is big just worth it) but only local raids for backups and reporting data. Finally I have suggested MDFs and LDfs kept in spearate disks with RAID10 for storing MDFs where the read data is normally kept and RAID1 for LDFs which contain the high write scenarios.