Thursday, October 9, 2008
Friday, October 3, 2008
Book Review: Harnessing Hibernate

Tuesday, September 30, 2008
A comparison and listing of RIA frameworks
Monday, September 29, 2008
Voice Analysis to Figure out Lies
Saturday, September 20, 2008
Quick, learn some Cobol!
Cobol: 1) is the most widely used language in the 21st century; 2) is critical to some of the hottest areas of software development today; and 3) may be the next language you'll be learning?
In 1997 the Gartner Group estimated that there were 240 billion lines of Cobol code in active apps. Something like 90 percent of financial transactions are processed by Cobol code, and 75 percent of all business data processing is Cobol. Merril Lynch reports that 70 percent of its business runs on Cobol apps.
More interesting and possibly horrifying information (if you are like me and not really looking forward to programmingin COBOL for the rest of your life) at the link...
Thursday, September 18, 2008
Simple steps to create a portlet and consume it in Oracle Webcenter
There is definitely tons of documentation on this topic - I am not going to repeat it all but I thought a super, simple distilled version always helps ;)
- In JDeveloper, create a new web application with "portlet, repository, JSF" capabilities. This creates three projects in your application - "Model" (for your data needs), "Portlets" (where your portlets will reside) and "View Controller" (to build your JSF pages and components).
- Right-click your Portlets project, pick "New" -> Web Tier -> Standards-based Java portlet (JSR-168) to lauch the wizard. The rest of the wizard steps are pretty self-explanatory and the requisite files are automatically generated for you.
- Right-click on your Portlets project to create a new deployment descriptor (New... -> Deployment Descriptor).
- Right-click on your brand new *.deploy file created in the "Resources" folder and deploy. Your portlet is now deployed to your app server. Note: Remember to go to the connections tab and create an application server connection that you can deploy your portlet to prior to the deployment.
- In your browser window, type http://<host>
:<port> /<context-root> /info to see your portlet's deployment status and to get the links to the portlet's WSDL (wsrp 1 and 2 are automatically generated). - From your View Controller project, right-click to register a new WSRP Producer (New.. -> Web Tier -> WSRP Producer Registration). The URL endpoint to use here is the url of the WSDL from step 5 - either WSRP1 or WSRP2, based on the standard you are using. You will now see the newly registered portlet producer in the Portlet Producer folder in your application.
- Create a new JSF *.jspx page using New...->Web-Tier->JSF page wizard.
- If you haven't already, right-click on the View Controller project and in the project properties, add the Customizable Core Components library to the project to have this show up in your component palette.
- Drag and drop the "PanelCustomizable" component within the h:form already on the page. Find the portlet producer you just registered in the component palette, pick your portlet in it and drop it within the PanelCustomizable on the JSF page. Note: If you don't find the portlet producer in the palette, make sure you created it from within the project.
- Run the JSF page by right-clicking on it selecting "Run". You can see your portlet being consumed by the JSF page :)
Tuesday, September 16, 2008
Liveblogging the Web 2.0 Expo
O'Reilly themselves have provided a few more resources to read along about the goings on...
O'Reilly's Expo Blog
On Twitter
Monday, September 15, 2008
Usability and JDeveloper
As a simple first step (after the not-so simple step of installing Oracle's SOA Suite), I am trying to create a portlet based out of the Oracle WebCenter framework. I relied on the cuecards to lead me through the process. Of course, the second step on the cuecard is to launch the Oracle PDK-Java Portlet Wizard - without explaining how to do so. I had to go to the "Show Me" menu on the cuecards to launch a browser window and an Oracle "viewlet" that actually visually showed me how to launch the wizard - a three-step process in itself.
Not to put the product down or anything, but figuring out how to launch a wizard should really not be rocket science!
Friday, September 5, 2008
Creating word clouds
Thursday, September 4, 2008
Throwing out some metrics for Social Marketing
You can tell that most of the recommended metrics are very specific to the marketing and branding domain. A lot of these metrics are also quite difficult to measure - how do you measure stick-rate for a blog post read via an RSS aggregator?Old School Metrics
-Visitors and Page Views: The raw data for daily visitors and daily page views across your domain.
-Optin rate: The number of people who optin to your list vs. total traffic for that day.
-Search engine bots: Which bots visit your site on a daily, weekly, monthly basis.
-Referrers: From engines to individual sites. Who is sending you traffic.
-Entry and Exit: The pages visitors land on and exit from your site.
-Paths: The pages or “path” your visitors take through your site.
-Bounce Rate: How many visitors stay on your site less than 30 seconds.Social Marketing Metrics
-Subscribers: RSS and newsletter subscriptions.
-Stick-Rate: How long social traffic stays and moves around the site.
-Linking: How many people on different social sites are posting, voting, and linking to your site.
-Comments: Average comments generated per post.
-Pickup: How many times across how many social news sites your linkbait, for instance, gets picked up, talked about, and voted to prominent placement, such as the front pages of social news sites.
-Bookmarks: How many people are coming through social bookmark engines like Delicious.
-Link Popularity: How many sites/publishers you are attracting with your content who write about you and link to you in their posts (the best kind of link you can get).
-Social News Tracking: How many visits you get from social news as well as how well individual pieces of content do on each site.
Also, just because someone is talking about you does not necessarily mean they are saying good things about you. In the days of condensed feedback loops, negativity spreads much faster as a meme than positive news. How do you make sure you are being talked about positively, if at all?
The biggest drawback in the above scenario of course.....how do you apply these to a company's intranet? How do you convince a company to invest into something that outside customers might never get a peek at? How do you measure "honestly" how much value your employees are really getting out of the intranet?
These are some of the questions I am currently focusing on in order to come up with a comprehensive set of metrics that one can throw at different situations in varying combinations in order to come up with a good view of the "health" of social media (ROI - Return on Influence) invested into by any entity.
Wednesday, September 3, 2008
What not to do with Web 2.0
I guess there is a market for every silly idea ;)
Thursday, August 28, 2008
Wonderland - Virtual World Toolkit from Sun
Interesting as the project may sound, questions abound about how useful this is if it is going to be just a few developers creating things on their own servers - even if a few of them manage to link up. The beauty of virtual worlds is the ability to be physically be in one corner of the world while you are interacting virtually with people all over the world. The more people you see around and the more content you let them generate and play with, the more likely users of the world are going to last.
It is the being linked in to other people that allows virtual worlds flourish - not just the virtual part. It will be interesting to see how this effort fares outside of a purely educational experience.
Wednesday, August 27, 2008
Stengthen your core audience and Promote your blog
Naturally, the most important thing to do is to come up with some clear goals for what you want to achieve with your blog - you could be looking to simply express yourself, in which case you may want to write about whatever interests you. Corporate bloggers on the other hand, have a different kind of maze to navigate - the motivations behind corporate blogging would normally point to who would be the natural choice to blog...Let's look at a few possible motivators -
- Public Relations: Southwest Airlines has a blog for a similar purpose that serves as a bridge between Southwest's customers and the airline. The content is created by the airline's PR team and executives. It serves as a way for Southwest to gauge customers' mood over the airline and relate to them on a more personal level than news releases can ever allow. The airlines gets to write about their initiatives and get direct customer feedback in the form of comments.
- Community-building: This is a little like PR in that this kind of blogging is supposed to humanize a corporation to the customers, but the end goal is to build a network of customers - a community that generates it's own content - instead of using the customers simply as a source of feedback. This kind of a community would definitely need to be kick-started by a few original bloggers who plant the seeds that the community then picks up on and continues.
- Broadcast Knowledge: For companies that thrive on information - by being sources of information and by providing services to other companies, blogs can be great tools when you can get the company's thought leaders to write entries related to their areas of expertise. These articles when indexed and used as information outlets by others, create free advertisement for the company and touts it's employees as experts in the field.
The beauty of blogging with comments enabled is the instant feedback-loop that will steer your future vision. Moderation of comments on the other hand, is very important since an overly negative set of comments can turn into a public relations nightmare real quick and can be a community-killer.
Most importantly, stay honest and learn to backup assertions - someone is bound to call you on erroneous assumptions!
Tuesday, August 26, 2008
Setting up a Blog
First task, picking a host for the blog - free or paid. A lot of newbie bloggers tend to start free (I did, eons ago), gauge interest, get addicted and move on to their own domain and web space as the content increases. Corporate bloggers of course, are better off starting on their own domain in the first place.
Advantages to having your own domain are numerous - you have complete control over the content-generation, presentation, access and authorization for the content. You can use an enterprise-level infrastructure to ensure availability and an effective user experience. The biggest implicit advantage of social media and blogging in specific, is brand-messaging through the content being published and exposed to a user community. This brand-messaging can be conveyed in the most effective manner when the corporate domain is used for the blog, creating a seamlessly integrated user interface to the corporate website visitors.
Freebie blog options: Blogger, Wordpress
Paid blogging options: Typepad
Domain/Web space options: GoDaddy
Second task, pick a name for your blog. Easy enough? Not really, since this is essentially your identity - how you will come to be viewed by the online community and your readers. Too formal a name will put off readers, while something too informal might sound like you are not serious about what you want to say - well, maybe you really don't want to be too serious, in which case, go ahead and have fun (my first blog's name had "two mad Asian girls" in it, so I am not one to preach). An ideal name will reflect your brand identity to the world or yours and will come off friendly and inviting (hopefully) and not offensive or off-puttingly staid. For good or for bad, once your online identity is established, it is here to stay - so put a lot of thought in what you want to be known as and known for.
Now that the tough part is out of the way, what is left is to make your content search engine friendly so your blog can be indexed and viewed freely or setup stringent access controls so only authorized users can access it.
More in the next post about generating content that is relevant to the audience you want.
Monday, August 25, 2008
How to start a blog?
If you dig a little deeper, there is a lot more to the question than what it initially seems like - creating the shell of a blog is easy enough, but to get something interesting in it, attract an audience and sustain their interest in the long term. Per Business Week, there are more abandoned blogs on the internet than active ones...almost a ratio of 1:4 (active:inactive) - I should know, since about 50 of them belong to me...
Getting a little more serious though, we can break a blog's lifecycle into about three broad stages (thanks Diana, for help with the stages!):
- Setup: This involves everything from picking out a blog host, a template that is unoffensive visually, if not actually pleasing to the eye, picking out a good name for the blog - a configuration-intensive process that is also pretty crucial in the later stages, since this establishes the identity of the blogger(s).
- Strengthen: This is when the newly minted blogger(s) actually start putting content on their blog - you start writing, you embed your stat counters, watch as the number of visitors goes up and start building up your core audience - start building up the momentum that will sustain your blog in the future.
- Sustain: So, you have your blog, you have been posting enough to build up a good group of core audience you interact with on a regular basis via comments and trackbacks - this is when you keep the momentum going that you have built up with all your hard work and great content through the lean-visitor months.
Yahoo Pipes - A cool new way to Mashup
So what is Pipes? Remember unix pipes where you "pipe in" the result from one command to another and so on to create an aggregate of all the commands? This is a little bit like that. All you need is access to the feeds of whatever information you want to mashup in one of the standard formats like RSS, KML and mash it up in the interface provided by Yahoo (see here for more information). Interesting, easy to play with and looks to be going in the right direction. This is definitely one tool I want to keep on my radar for future mashup implementations.
Friday, August 22, 2008
Measuring and Monitoring Web 2.0 Applications
The paper starts of with the idea of the "network as a platform" - where the browser takes over for the desktop environment (or even a micro-browser as on a PDA or a cell phone).
As the paper's title makes it clear, the most important issue being tackled by it is measurement and to a degree, performance. How does one measure the performance of a web site that doesn't load all at once or a page that hits the server asynchronously defying the normal laws of page load metrics?
Thursday, August 21, 2008
Social Media Metrics and Measurement
One of the first things I read about this was a white paper on a roundtable discussion organized by Dow Jones about metrics and measurement of social media, called "Tracking the Influence of Conversations".
I could tell something was a little bit off in the paper as I went through it and then realized this happened in Q4 of 2006 - eons ago in blog years. The focus seems to be mostly on blogs and meme propagation while a lot of other social media phenomenon are missing in action. Still, there was quite a bit of interesting information in the paper. A couple of things that stood out to me were the metrics to measure such as the "velocity" of a meme (speed at which a meme is picked up from one blog to others) and "conversation index", the ratio between blog posts and comments/trackbacks.
So, we now have atleast two metrics to measure the impact (ROI - Return on Influence) of blogs as social media tools - how does this apply to social networking sites? What metrics would be relevant to say, microblogging? How can these metrics be captured and measured - leave alone used in a corporate setting?
I guess I have my next mission figured out ;)