Native thread support in Ruby’s latest version

February 2nd, 2009 by Raymond Velez
Official Ruby logo
Image via Wikipedia

It looks like Ruby version 1.9.1 supports native threads and fibers. Fibers are a ‘lightweight’ approach when you don’t need full threads. It sounds like fibers are not preemptive, so they have to yield to other fibers as opposed to threads that can run in parallel. Fibers on the other hand startup faster and use less memory.

I know when Java made the leap to support native threads, it seemed like it was a huge accelerator towards greater adoption. It looks like the performance numbers are already coming in and it’s much faster.

Reblog this post [with Zemanta]



micro-blogging = micro-coding

January 30th, 2009 by Raymond Velez
Image representing Twitter as depicted in Crun...
Image via CrunchBase

There’s a new service out there, Snipt, for Twitter that enables folks to post code quickly. Basically, go to Snipt, cut and paste your code into the box and you get a small URL that people can go back to. Snipt takes your code and puts it into an image with a short URL. I did a quick search to see if anyone was using and found a couple of twits. Someone pointed out the incorrect usage of the alt image tech, I won’t mention on which site:). Here’s the test I threw up with some C# code. Looks like fun, especially if it helps clean up some code. I guess you can use it for more than code as well.

Tweetdeck is helping to identify how services like these could be more usefull, ell, the search feature on tweetdeck. For example, looking for some code to do x, setup a search in tweetdeck for x, go back to it everyone once in a while and wala, there’s your solution. Well, that’s the theory….

Reblog this post [with Zemanta]



Big CMS news

January 22nd, 2009 by Raymond Velez
Image representing Autonomy as depicted in Cru...
Image via CrunchBase

Interwoven has been purchased by Autonomy. Interwoven is definitely one of the most common CMS platforms we see at our enterprise 500 clients, interestingly much more than autonomy. Overall, this seems like a great opportunity for the two to grow market share. From a technology architecture perspective, there are a lot of great synergies that could come out of this merger. For example, publish content, update index. Or plug autonomy in to your content repository, interrogate your data and provide insights. I wonder how Metatagger fits in?

Reblog this post [with Zemanta]



live streaming crashes again

January 21st, 2009 by Raymond Velez
Image representing RayV as depicted in CrunchBase
Image via CrunchBase

So, during the historic exciting inaugaration yesterday, many of the big folks seemed to ‘melt’ down as I like to put it. Poor quality video, audio not synced, etc. I am sure there were lots of folks rebooting servers to try and keep up, but it just didn’t seem to work. While Akamai and others streamed millions of streams, up to 5.4 million simultaneous viewers per minute, there were still poor experiences. It really feels like we need to do a better job of peer to peer streaming as a more efficient long term solution. Joost was heading down that route, but it sounds like they pulled their peer to peer when they went to the in browser player. I did watch some of the inaugaraion on Joost and it worked great by the way. I also read a mention of a new technology from a company called RayV which looks promising. The premise being, as more people watch the quality increases. Even though the company is called RayV I have no affiliation:)….

Reblog this post [with Zemanta]



zemanta wordpress plug-in

January 15th, 2009 by Raymond Velez
Image representing Zemanta as depicted in Crun...
Image via CrunchBase

The zemanta wordpress plug-in rocks. It looks at what you are typing and suggest images, urls, related articles and tags.Through the Zemanta API, it will also automatically recommend RDF to go along with your text. Very cool. Sure does writing posts a lot faster.

Reblog this post [with Zemanta]



Oxite - Open Source blogging platform from Microsoft

December 16th, 2008 by Praveen Modi
Microsofts Open source Blogging Platform

Microsoft released an alpha version of Oxite, an open source CMS (Content Management System) that developers can use to build sophisticated blogs or large web sites.

Microsoft Oxite offers almost everything you need in a good blogging platform - anonymous or authenticated commenting, comment moderation, gravatar support, RSS feeds, pingbacks, trackbacks, SEO optimized clean URLs, multiple blogs, group blogging and support for custom pages.

At first glance Oxite appears to compete with established blogging products including those from Six Apart.
Read more »




Leveraging Model Driven Development

October 27th, 2008 by Jochen Toppe
Project Triangle

Project Triangle

Achieving efficiency in the software development process is one of the key motivators every team should strive for. Efficiency can be measured in a variety of ways. The most obvious measurements are cost, project timeline, and the feature set that can be implemented given the first two. In a sense, it boils down to the old project triangle (remember: pick any two of the criteria).

In essence, there is a trade-off between quality, timeline, and cost. For example, reducing the timeline at equal costs reduces quality just as implementing at a faster pace reduces quality. Yet I argue that the triangle approach is not necessarily valid anymore. Traditional development processes have clearly shown that just enhancing the timeline on a project to put special care into the design does not actually lead to higher quality software – quite the contrary.

Yet more dimensions are at play. The number of defects (“bugs”) found in a particular software directly translate into cost and time, especially when found late in development cycle, creating a dependency between testing quality, time, and cost. Inefficient software design increases the cost of introducing new functionality as requirements change and a lack of refactoring capabilities sooner or later lead to the need for a full re-development. The problems are amplified when the software spans multiple independent subsystems, which is often the case in modern web architectures which span across content management systems, web services, search engines, commerce engines, custom web applications, etc.

Agile development methodologies have tackled many of these problems in great detail through test-driven development (TDD) and time-boxed iterative release cycles. This article discusses a number of tactics you can deploy in addition to what you find in your agile toolkit: To speed up development and tackle complex problems with smaller teams in less time leveraging the key ideas of Model-Driven-Development (MDD).
Read more »




CMIS - will it revolutionize the CMS industry?

October 10th, 2008 by akedar

Last year three major CMS/ECM vendors IBM/Microsoft/ECM came together to propose new standards that will change the CMS landscape the same way SQL 92 did for the database industry.  Content Management Interoperability Services (CMIS) standards cover services that allow interoperability between content stores.
These standards cover the three basic areas of Content Management Systems:

  • CMS basic operations - CRUD (Create, Retrieve, Update and delete) services, versioning and workflow
  • Content discovery - query services, search including a SQL like query
  • Domain model – object types, folder hierarchy, document, relationship and access rules

Previous interoperability proposals such as JSR 170/283 have not gained traction because they were purely Java based and were too function rich, forcing the vendors to make substantial investments with little or no market driven need.    Another standard WEBDAV, was too simple and relied solely on HTTP protocol, it had no concepts of content types or content relationships.

CMIS supports both a SOAP based interface and REST based interface, the latter is much easier to implement.  Last month EMC, Microsoft, IBM and Alfresco were able to implement a draft CMIS and test it on Sharepoint/Documentum/Filenet and Alfresco.

The proposed CMIS query supports SQL like terms and clauses such as SELECT, FROM, WHERE and CONNECT by clause.  The query can include based terms and clauses based on content metadata and property such as size, date etc.  Example query:

SELECT * FROM DOCUMENT WHERE ((CONTENT_STREAM_MIME_TYPE = ‘MSWORD’) AND (CONTAINS ‘Razorfish’))

This new draft CMIS standard creates a clear firewall between applications and content stores.  It will cut application development and integrations costs, and eliminate time learning vendor specific content access APIs.  Imagine being able to design an application that can access and manipulate content from any content and change the underlying content store by merely changing an entry in some property file.   For the vendors the outlook may be murky initially, it is possible that the number of competing CMS/ECM products may shrink.  Nevertheless, the market penetration of CMS products will increase dramatically and CMS/ECM may be as ubiquitous as databases.  Microsoft’s involvement brings up the possibility that all MS Office products may support direct check in/check out from CMIS based repositories.

The CMIS draft was submitted in September ‘08 to the standards body OASIS for public comment.   It is expected to be approved by middle of 2009.  The draft is also being backed by Oracle and SAP.

Resources

CMIS charter

The draft may be accessed here as a zip.




Ready for Web 3.0/Semantic Web?

September 30th, 2008 by akedar

When mainstream media starts talking about SemanticWeb, one can infer that it is not just another buzz within research labs.  Recently the magazine The Economist, and BBC online covered this topic.  Early this month Thomson-Reuters announced a service that will help in Semantic Markup. 

SemanticWeb Primer

The term Semantic Web was first used by Sir Tim Berners-Lee, the inventor of World Wide Web, to be “… day-to-day mechanisms of trade, bureaucracy and our daily lives will be handled by machines talking to machines”.    The most significant aspect of semantic web is the ability of machines to understand and derive semantic meaning from the web content.   The term Web 3.0, was introduced in 2006 as a next generation web with emphasis on semantic web technologies.  Though the exact meaning and functionality in Web 3.0 is vague, most experts agree that we can expect Web 3.0 in some form starting in year 2010.

There are two approaches to extract semantic knowledge from web content.  The first involves extensive natural language processing of content, while the second approach places the burden on content publishers to annotate or markup content.  This marked-up content can be processed by search engines, browsers or intelligent agents.  This solution overcomes the shortcomings of natural language processing which tends to be non-deterministic; furthermore determining the meaning depends not only on the written text, but also on information that is not captured in written text.  For instance, an identical statement by Jay Leno or from Secretary Hank Paulson may have a totally different meaning.    

The ultimate goal of web 3.0 to provide intelligent agents that can understand web content , is still a few years away.  Meanwhile, we can start capturing information and start building constructs in our web pages to facilitate search engines and browsers to extract context and data from content.  There are multiple ways of doing semantic markup of web content that is understood by browsers and search engines.    

Semantic Search Engines

On Sept 22, 2008 Yahoo announced that it will be extracting rdfa data from web pages.   This is a major step in improving the quality of search results.  Powerset (recently acquired by Microsoft) is initially allowing semantic searches on content from wikipedia.org, which is a fairly structured content.  While Hakia uses a different approach, it processes unstructured web content to gather semantic knowledge.  This approach is language based and dependent on grammar.

Semantic markup s- RDFa, and microformats

W3C consortium has authored specifications for annotation using RDF an XML based standard, that formalizes all relationships between entities using triples.  A triple is a notation involving a subject, object and a predicate, for example “Paris is the capital of France” the subject being Paris, the predicate is capital, while ‘France’ is the object.  RDFa is an extension to XHTML to support semantic markup that allows RDF triples to be extracted from web content.

Microformats are simpler markups using XHTML and HTML tags which can be easily embedded in web content.  Many popular sites have already started using microformats.  Flickr uses geo for tagging photo locations, hCard and XFN for user profile.  LinkedIn  uses hcard, hResume and XFN on user contacts.

Microformat hCard example in html  and resulting output on browser page.

<div id=”hcard-Atul-Kedar” class=”vcard”>

 <span class=”fn”>Atul Kedar</span>

        <span class=”given-name”>Atul Kedar</span>

   </span>

   <div class=”org”>Avenue a Avenue A | Razorfish</div>

   <div class=”adr”>

       <div class=”street-address”>1440 Broadway</div>

       <span class=”locality”>New York</span>,,

       <span class=”region”>NY</span>

      <span class=”country-name”>USA</span>

   </div>

</div>

Atul Kedar
Avenue A | Razorfish
1440 Broadway
New York, NY USA

Microformat hCalendar entry example with browser view:

<div id=”hcalendar-Web-3.0″ class=”vevent”>

       <a href=”http://www.web3event.com/conference.php” class=”url”>

           <abbr title=”2008-10-16″ class=”dtstart”>October 16th</abbr> :

           <abbr title=”2008-09-18″ class=”dtend”>September 18th, 2008</abbr>

         <span class=”summary”>Web 3.0</span> at

         <span class=”location”>Sunnyvale, CA</span> </a>

        <div class=”tags”>Tags:

      <a href=”http://eventful.com/events/tags/web%203.0″ rel=”tag”> web 3.0</a>

      <a href=”http://eventful.com/events/tags/SemanticWeb” rel=”tag”> SemanticWeb</a></div>

</div>

 As you notice from the above examples microformats can be added to existing content and are interpreted correctly by the browsers.  There are many more entities that can be semantically tagged such as places, people and organizations.   Some web browser enhancements (Firefox) recognize these microformats and allow you to directly add them to your calendar or contacts by a single click.  

Automated Semantic markup services and tools

Another interesting development is in the area of automatic entity extraction from content, these annotation application or web services are being developed.  Thomson Reuters is now offering a professional service OpenCalais to annotate content. PowerSet is working on towards similar offerings.   These service reduces the need for content authors to painfully go thru the content and manually tag all relationships. Unfortunately, these services are not perfect and need manual crosschecking and edits.  Other similar annotation services or tools are Zementa, SemanticHacker and  Textwise.

Next Steps

As Web 3.0 starts to take shape, it will initially affect the front end designers involved with the web presentation layer, as organizations demand more semantic markup within the content.  In due course , CMS architects will have to update design of data entry forms, design of entity information records in a manner that facilitates semantic markup and removes any duplication of entity data or entity relationships.  Entity data such as author information, people information, addresses, event details, location data, and media licensing details are perfect candidates for new granular storage schemes and data entry forms.

 

 




Serious Security Flaw in Google Chrome

September 4th, 2008 by Paras Wadehra

Security expert Aviv Raff discovered a flaw in the newly released Google Chrome browser. He set up a demo of the exploit here. This will download a java file to your desktop if you are using Chrome.

Chrome also has a potentially serious security flaw from the old version of WebKit it is based on. An attacker could easily trick users into launching an executable Java file by combining a flaw in WebKit with a known Java bug and some smart social engineering.

Meanwhile, researcher Rishi Narang disclosed another flaw that causes Chrome to crash just by visiting a malicious link and without user interaction. He setup a Proof of Concept at http://evilfingers.com/advisory/google_chrome_poc.php

This is especially embarrassing for Google as it promoted security in the new browser in its press release and even in the demo video they have on their website.