Tuesday, October 14, 2008

Why use QR Code in Blogs?

QR code, or Quick Response Code is a two dimensional bar code system invented by Denso, a Japanese Corporation, in 1994. Even though it being a very popularly used alternative to the single dimensional barcode system within Japan, its usage is limited in other parts of the world. The usefulness of a QR code is its ability to store much larger amounts of information and make it possible to be decoded at much greater speeds.

QR codes were designed initially to be used to track parts built in vehicle manufacturing systems or very large scale (the reason to why Denso, a popular vehicle part manufacturer invented it). But, as of today, its usefulness is found in quite different domains, contradictory to the thoughts of the initial developers. QR codes are used in applications related to mobile phones and also as means of an alternate mechanism to store URLs in a universally decodable format.

Bloggers have found it interesting to have a QR code of their blog (some prefer having the code varied by post as well, as you see in my blog), displayed on the widget bar. Fancy looking QR codes are not easy to generate. There are several popular QR code generators including the Google Chart API. Others are, http://qrcode.kaywa.com and http://www.qrcode.es. This blog uses the latter.

Benefits of using QR codes is the possibility to print the image on some form of media (paper, magazine, contact card etc.) and have a camera phone take a photograph of that image and automatically redirect to that location, using a QR code reader application along with a suitable web browser. Thus the usefulness is immense. For instance, if you have a QR code reader, sharing your favorite blog post with a friend is as simple as sending him an image of your QR code generated using the URL.

Monday, October 13, 2008

Microsoft Committers at Apache Software Foundation

Microsoft through out the past as seen by many has been a strong opponent to the Open Source community, as it being one such company who believed 100% in the commercial aspects and development of software and related infrastructure (including services, support, add-ons and extensions etc.). However, along with the drastic change of perception, where clearly marked development models and interactions of software are now void, and rather moving towards a more globalized system including involvement of varied disciplines, Microsoft too have decided to make their move into the Open Source territory.

The change might seem rapid and sudden to some, but not to those who've been having a careful eye of the recent changes in the industry (more info here). My two previous posts (Microsoft Funds ASF, and WSO2 @ Tech.Ed 2008) of how Microsoft approached true Open Source provides a solid justification to this fact. The greatest question presented by many is whether 2008 is the turning point which breaks the prolonged and greatly spoken barrier between Open Source and Commercial worlds of software.

I was amazed to see this post which introduced the first ever committers from Microsoft to the Apache Software Foundation, who'd perhaps be the first ever contributors to broader Open Source in a manner that is publicly aware. In my personal opinion this unfolds a new era in the entire industry of IT, Systems and Software. The Apache Software Foundation is also a much admired community by many due to its openness and true contribution to create a world of freedom to use software unlike most other entities that promote the same.

The entire Open Source community would un-doubtfully be looking forward to further involvement and contribution by not only Microsoft, but also several other commercial strongholds.

Sunday, October 12, 2008

Does Technorati Do the Right Thing?

Technorati is an internet search engine that indexes blogs (over 100 million) and tagged social media (over 250 million), and claims to be the world's best blog index. The Technorati claims have been criticized by many and at the same time acknowledged by many as well. An open source based development team with several active developers is what keeps Technorati going despite heavy competition from search engines such as Google and Yahoo.

However, certain aspects of Technorati's model seem very much questionable. For instance, Technorati displays each blog indexed as a part of their website (http://technorati.com/blogs/..) and to a certain extent makes use of others work to increase the number of their pages, and thereby the number of visitors to their pages; improving the website's overall ranking and advertising revenue.

Another fact is that Technorati actually displays each post appearing on publicly visible blogs within their site and display some advertisements based on the content appearing on those particular pages. The advertisements displayed may be purely random, but the content appearing on the page seems to influence at least one such add appearing in many occasions. You can give this a try (make sure to check around 20-30 different blogs/posts instead of making conclusions based on a few).

Whatever the scenario, Technorati does make some amount of money through these advertisements posted on their website (either contextual or not). Also, even members (people who have user accounts) of Technorati can't decide whether or whether not to turn off these adds, and Technorati's making money out of your blog/post is beyond the control of an ordinary individual.

Why this is wrong is a good question. Some bloggers do allow use, re-use or re-distribution of posted content for commercial purposes. But, some don't. There are blog licenses specifically designed to enforce this requirement. The Creative Commons Non-commercial licenses are a good example. These licenses restrict the use of posted content for commercial purposes (read section 4.b of this license which is one of the least restrictive variants).

But, as of today Technorati still does not have a mechanism where they only advertise based on content appearing on blogs that allow use of content for commercial purposes. The correct way to go would be therefore to refrain from advertising on all blogs until they come up with a scheme that is intelligent enough to account for this requirement or pay compensation to affected bloggers. But, sadly Technorati is not doing it in the correct way, and thereby violating the free-right of a blogger to enforce a license that does not allow use of content for commercial purposes.

Saturday, October 11, 2008

The Better SharePoint...

Microsoft SharePoint is a browser based document management and collaboration system, that rules out traditional content management systems with its investment in the powerful interaction with Microsoft Office. SharePoint in general refers to a family of products that include, Windows SharePoint Services (WSS), Microsoft Search Server, Microsoft Office SharePoint Server (MOSS), and Microsoft Office SharePoint Designer(SPD).

Windows SharePoint Services (WSS) provides the base infrastructure that facilitates and enables the usefulness of other SharePoint family of products. The best part of WSS is that it is built upon a IIS 6 (Internet Information Server) - SQL Server - ASP.NET 2.0 infrastructure and integrates seamlessly with the .NET framework. Which means that any .NET based developer at his/her option can enhance the capabilities of WSS at their option.

WSS is formulated by a ring of services provided around some core platform services. Ian Morrish explains the WSS 3.0 Architecture in here. Among the ring of services provided are:
  1. Collaboration
  2. BI
  3. Business Processes
  4. Portal
  5. Content Management
  6. Search
However, these basic services can easily be extended or supplemented by enhancements or additions, by exploiting the flexibility of the WSS Architecture. Microsoft Office SharePoint Server and Microsoft Search Server are implemented on top of WSS and add more functionality upon the existing core. Microsoft Office Forms Server is another product that exists within the WSS based application line of sight.

The Better SharePoint comes with further extending the infrastructure to tailor corporate requirements that expose multi-divisional, geographically dispersed, large organizational information infrastructures, under a single system that provides all necessary document management and collaboration requirements. Typical systems enable employees, customers, and other interested parties interact through highly customized business systems based on SharePoint family of products.

Friday, October 10, 2008

One Year of Contribution to Axis2/C

It is quite hard to understand how fast time advances, as it has been like yesterday to me, when I made my first contribution to Axis2/C, in the form of reporting a bug on the manual (you can find the ticket here). If you are interested in understanding what I meant in this issue: I reported, the file found in here was missing, an year back.

It is quite interesting to see how I gradually got on track with Axis2/C development activities. But, to be honest I haven't been doing much ever since I started my final year at the University. I'm looking forward to re-join the contribution camp as soon as I find some free time, which is somewhat a scarce resource these days.

Axis2/C recently began its third year. More information is found on Samisa's post made here. It is quite nice to see many new names appearing on the mailing lists, and also several new contributors joining the project. A special thanks to the two participants of GSoC 2008 who worked with Axis2/C.

When I started working with Axis2/C the project had merely completed its 1.1 release and was looking forward to further additions before the next major release. It was during this era I started working on a improved scheme for HTTP Authentication on Axis2/C. A more detailed description of what it is all about is found in here. My contributions to Axis2/C helped me become a committer to the Web Services Project at the Apache Software Foundation.

Afterwards, during the latter part of my internship at WSO2, I worked on implementing support for RESTful Services on Axis2/C. This was one of the major additions to the project. I also contributed fixing a number of bugs and added few other improvements as well. Thanks to ohloh, you should be able to see some of my commits to Apache Axis2/C in here.

Many thanks to all those who helped me and supported me with my work on Axis2/C, and also to many others who were major factors that influenced my contributions to the project. Today, Axis2/C is perhaps the best and fastest Web Service engine written in C, supporting both SOAP and REST over a magnitude of transport protocols. Axis2/C is also the basis of other popular WS projects at WSO2 including WSF/PHP and WSF/C.

Thursday, October 9, 2008

FOWA Expo - London 2008 begins

The Future of Web Apps Expo - London 2008, began on the 8th October with a workshop held on the 8th followed by a 2-day conference held on 9th and 10th. What's so special about FOWA Expo 2008 are the speakers during the event who are some of the web-industry's revolutionary figures including people such as Mark Zuckerberg, Tim Bray, Kevin Rose and many more.

What FOWA is all about is explained in detail on its website. The Future of Web Apps showcases the successful web technologies and business trends of the future, delivered by the pioneers of today. Attended by all the major European and US start-ups and industry experts, it's the best place to learn directly from the developers, designers and entrepreneurs behind the web's brightest stars in a relaxed and fun environment.

FOWA, is a Carsonified based project which mainly focuses on European and United States based establishments in the web applications and web technology domain. Also, another important fact is the participation of some of the world's leading IT & Services companies (the so called big players) such as IBM, Microsoft, Intel, Google, Yahoo,  etc.

The long list of speeches during the workshops are found in here. They range from fundamental web development to large-scale deployments such as Social Networking systems and community sites. The packed conference schedule hosts a number of good talks as detailed in here. The entire workshop & conference program is designed towards creating a fun-loving developer. And, the organizers at Carsonified have not forgotten to add some fun events at the end of each conference day along with some interesting happenings.

The Expo is targeted at mainly a UK audience, the event being held in London; and, has a setup as seen in here. Workshops and events are to be held in at the ExCel center, London. The organizers are also providing state of the art facilities for the developers to make maximum use of their stay. I gotta say that this is one of those events that one should not miss. Looking forward to see some similar events happening in this part of the world as well.

Wednesday, October 8, 2008

Why Blog Licensing is important

Your blog is a way that you reveal a great deal of information to the outside world. The most important fact is that the constitutes of your blog is in fact Intellectual Property, which you own (if you don't copy others stuff :-)... ). According to WIPO, Intellectual property refers to creations of the mind: inventions, literary and artistic works, and symbols, names, images, and designs used in commerce. And, therefore, your blog deserves some legal respect if you are interested in securing ownership for your information.

But, the question is why a license is required. According to this article, a licensor may grant license under intellectual property to do something (such as copy software or use a patented invention) without fear of a claim of intellectual property infringement brought by the licensor.

Thus, the importance arises, if you are interested in claiming what you own (or in other words secure your intellectual property). Blog licensing can vary from a all rights reserved to no rights reserved. Technically, if you say nothing, depending on the Territory to which a IP infringement law is enforced, you have the chance of falling into somewhere between these two extremes.

Therefore, if you want to specifically allow, or disallow the way people interact with your information in a variety of forms, you might consider creating a your own blog license. However, there are lots of easily adoptable schemes, such as Creative Commons. This blog is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported license.

What ever scheme you may choose, the security of your information lies in the strength of the legal license document you present. You must consult a lawyer if your information requires severe protection, but in most cases a trusted third party (ex:- Creative Commons) might be helpful.

Tuesday, October 7, 2008

All new WSO2.com

The WSO2's .com site has put on a new look since last September. The new theme describes the Open Source Company in more detail. Three years ago, WSO2 began as a company with a mission to build a fully functional enterprise-grade SOA middleware platform, which has now grown to become one of the best SOA infrastructures out there, and as Dr. Weerawarana describes, WSO2 is ready to take IBM's and Oracle/BEA's seat as your SOA vendor.


WSO2's .com site combines various components of the company's SOA middleware products to formulate a one-single system that implements a better SOA, as seen in the image above, which is the spotlight of the main page. Samisa, has described the new CCCG Theme of WSO2 in this post. The products page explains how each of WSO2's key products fit into this Theme. Samisa's post better explains this fact.

WSO2 now a three year old company is looking forward for more exciting updates and introductions, enabling superior technology at the lowest costs (hey who says you gotta pay, most of it is free :-)... ).

Monday, October 6, 2008

Dynamically Changing Text Size in your Blog

Display text size is dependant on the current font and display settings of your browser in the case of most blogs. Also, some people might have difficuilty in reading your blog (especially on modern screens which support very high resolutions). Therefore, you might be interested to give your visitors the option to dynamically increase/decrease the size of text displayed on your blog.

The feature can easily be added with a least amount on effort provided that you can fulfill the basic pre-requisites. In order to get started, you will have to go to Layout -> Edit HTML. After that make sure to keep a copy of your current template in case you want to revert back. Now, identify each font-size entry that use an absolute size (size in px), and replace them with a relative size (size in em, or %). You can make use of the preview to make sure that you got the right font size.

Now, just after the <body> tag add, <div id='resize-wrapper'> and add </div> just before the closing </body> tag. After you have done this step, add this text above the ]]</skin> tag.
  #resize-wrapper {
font-size: 13px;
}
Then just after the ]]</skin> tag, add the following text:
  <script>
var r;
var current_size = 13;
if (document.all)
r = 'rules';
else if (document.getElementById)
r = 'cssRules';
function change_size(s) {
if (!s)
current_size = 13;
else
current_size = current_size + s;
if (current_size < 10)
current_size++;
else if (current_size > 16)
current_size--;
for (var i = 0;
i < document.styleSheets.length;
i++)
for (var j = 0;
j < document.styleSheets[i][r].length;
j++)
if (document.styleSheets[i][r][j].selectorText
== '#resize-wrapper') {
document.styleSheets[i][r][j].style.cssText =
document.styleSheets[i][r][j].style.cssText
.replace(/\d+/g,current_size);
return;
}
}
</script>
Once you have done that step, save your template and then tick the Expand Widget Templates check box. Now you can add the following text, anywhere on your blog, which enables the text-resize functionality.
  <div id='size-control'>
<a href='javascript:change_size(-1)'
style='font-size:16px' title='Reduce Size'>A</a>
<a href='javascript:change_size(0)'
style='font-size:20px' title='Default Size'>A</a>
<a href='javascript:change_size(1)'
style='font-size:22px' title='Increase Size'>A</a>
</div>
Now, save the template once again, and test the functionality, in order to make sure that you got all of it right. Optionally you can make use of CSS to add style attributes to the layout of the #size-control element.

Sunday, October 5, 2008

Why Should you choose WSF/PHP

Web Services Framework for PHP by WSO2 is by far the most comprehensive stack that provides most WS-* features for a typical PHP Web Services developer, having to put in the least amount of effort to get something done. The comparison of various strategies opted by PHP developers to Web Services is detailed in this post by Samisa.

Meanwhile, the WSF/PHP sphere of possibilities have gone from basic WS through SOAP to most WS-* specifications supported and also the demanding support for RESTful Web Services. Uthaiyashankar, and Katie in this video (story found in here) explains what makes WSF/PHP a well rounded product for your enterprise PHP-based Web Services applications.

Samisa also explains in this post how WSF/PHP blends well into the domain of enterprise-grade WS applications in PHP. This briefs many a feature of WSF/PHP against various expectations of the users of Web Services in PHP.

WSF/PHP's capabilities were appreciated by Andi Gutmans (CTO and Co-Founder of Zend), recently; who explained the mutual collaboration of WSO2 and Zend to make enterprise WS with PHP better as, "Zend and WSO2 are mutually dedicated to serving the diverse needs of PHP developers with world-class open-source software for implementing Web services. By bringing support for both enterprise-oriented WS-* and REST Web services to our managed PHP production environment, WSO2 joins us in empowering the developers supporting more than 20 million PHP websites with unprecedented flexibility for delivering enterprise-class Web services."

I therefore believe that the benefits of using WSF/PHP as a WS enabler in your PHP website or application is clear beyond further justification.

Friday, October 3, 2008

Richard Stallman against Cloud Computing?

Among the recent discussions on the cloud-computing group @ GoogleGroups, the most interesting thread by far seems to be the impact Richard Stallman is causing to the latest buzz in IT Services and Computing. According to the summary of Stallman's interview with the Guardian(UK) as found in here, and in the original version in here, he described Cloud Computing as "It's stupidity. It's worse than stupidity: it's a marketing hype campaign".

Adding to this, he did not forget to further elaborate on the aspect of programs available over the web as, "One reason you should not use web applications to do your computing is that you lose control. It's just as bad as using a proprietary program. Do your own computing on your own computer with your copy of a freedom-respecting program. If you use a proprietary program or somebody else's web server, you're defenseless. You're putty in the hands of whoever developed that software".

My personal belief is that what Stallman points out is in fact true in a way, to a great extent, that investment to Cloud Computing made in billions would not be justifiable if not for its gains in trillions, leaving use of software applications still a luxury and now without the possibility even to be duplicated as free software.

As Stallman describes the notion of web-enabled software, services, cloud computing etc. are all based around a concept that you pay for services obtained and not necessarily for the tools you obtain to get serviced. But, this still doesn't give you the freedom to use the tool (the software) violating one of the primary interests pointed out by the FSF.

As of now, no solid implementations of large-scale cloud based service infrastructures are available to justify the actual fact, but it is clearly evident that what Stallman believes is going to happen some day and the freedom envisaged (at least partially) in modern day software is no longer going to be a reality in the future, unless someone is really donating infrastructure in addition to time.

Thursday, October 2, 2008

HTML aware Twitter

Twitter, an online status update tool, can easily be integrated to blogger to enable live updates to your blog in the form of miniature 160 character messages. Twitter does provide a widget that can be added to your blog, which is capable of doing the hard work of fetching and publishing the required information for you. However, the widget provided by Twitter (Twitter Badge for Blogger), as of today is not HTML aware.

However, on your twitter homepage, you will notice that Twitter intelligently replaces URLs and friend names with hyperlinks. To add a friend name in your message, you will simply have to append an @ sign in front of the name (ex:- senaka -> @senaka). Once done, Twitter will create a hyperlink to your friend from your post.

The problem I'm answering here is how to bring in this functionality to your blog. This though you might believe is hard, is apparently very simple. All that needs to be done is to simply add this text under your twitter code.
  <script type='text/javascript'>
document.getElementById('twitter_update_list').innerHTML
= document.getElementById('twitter_update_list').innerHTML.replace(
/([^\"\'])(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w/_\.]*(\?\S+)?)?)?)/g,
'$1<a href="$2">$2</a>');
document.getElementById('twitter_update_list').innerHTML
= document.getElementById('twitter_update_list').innerHTML.replace(
/@([a-zA-Z]+)/g,'@<a href="http://twitter.com/$1">$1</a>');
</script>
Once, you have done this, your Twitter updates will become HTML aware. The method employed here is the use of regular expressions and javascript to change the way in which the Twitter feed is published.