Wednesday, December 16, 2009

OS Dependency Dilemma

Google Chrome for Mac requires Mac OS X 10.5 or higher. The operating system version dependency appears to be universal today. I see these same issues on Windows (i.e., .NET 3.0/3.5 or greater requires XP or greater) and Linux also… Hmm… The announcement and wide spread release of Google Chrome OS in 2010 is just-in-time for mitigating the OS dependency dilemma. On my primary home machine, I plan to upgrade my MacBook to Mac OS X 10.6 Snow Leopard so that I can use Chrome for Mac on it. I am currently running Mac OS X Tiger 10.4 since 2006 which is starting to show its age.

Based on the operating system dependencies and upgrade dilemma, it appears that operating systems now have a useful lifespan of approximately 2 years before you are forced to upgrade in order to the latest software to work (i.e., Google Chrome, Handbrake, etc.) For me, this used to be a 3-4 year lifecycle.

Anyway, I plan to upgrade to Mac OS X 10.6 (Snow Leopard) on my MacBook over the Holiday break later this month.

Friday, December 04, 2009

The New Wave

I received my Google Wave account last month. After playing with it, I can see where Waves will be beneficial in the future. For the short-term, I think understanding the concept, technology, and potential will take some time for the 95% of today's users.

"The Completed Guide to Google Wave" is the first book I have seen published about Wave. It is available online and for $6 you can purchase a downloaded PDF e-book. The book talks about how Google didn't choose Wave's name for the reason you might assume—as a play on the idea of surfing the web. Its engineers were paying homage to writer and director Joss Whedon's brief but well-loved science fiction TV series, Firefly (2002-2003). Very cool!

Wednesday, October 07, 2009

Cloud-Based Detection of Malware and Viruses

The advent of cloud-computing brings with it the need to secure the cloud serveres for all internet enabled devices that will be accessing cloud services. In the "Enhanced Detection of Malware" article, the authors propose a cloud-based anti-malware/anti-virus architecture. The article goes into quite some detail and has some really good visualizations of the proposed architecture that Intel is researching. Intel has been researching these architectures for quite some time. The proposed Cloud Anti-virus Server component make sense.

This architecture makes extensive use of x86 virtualization leveraging Intel Virtualization Technology (Intel VT) and Intel Active Management Technology (Intel AMT) microprocessor capabilities. Here is a link to the OpenAMT site.

There is an excellent set of research resources in the references section of the article. This is a must read for anyone involved in systems administration, network engineering, systems engineering and security of networks.

Tuesday, September 29, 2009

Google Sites Data API

Google Sites is eventually going to be the cloud-based collaboration platform many companies use. This prediction just took on another facet with the recent release of the Google Sites Data API last week. The new API allows you to use Java, Javascript, .NET, PHP, or Python as the scripting languages to customize Google Sites to your needs. It is not only limited to Google Sites but to all of Google's online properties including YouTube, Sites, Docs, Calendar, Financial, Blogger, Health, Maps...

Thursday, August 27, 2009

Web-based Diagramming!

While surfing the web found a few really nice web-based diagramming tools. Here they are
diagrammr
Diagramic
gliffy
websequencediagrams

Of these four, gliffy is the most polished. It is available in a basic (free) SaaS and premium (paid) SaaS application. All of these are excellent examples of web-based software leveraging the cloud and your web browser.

I played with each of them and really like gliffy since it can do all types of diagrams including flowcharts, floor plans, business activity, UML, network diagrams, org charts, etc. This is a whole new category of web-based applications that provide functionality previously limited to desktop diagramming applications like Visio, Dia, Gimp, OpenOffice, etc. This is definitely an emerging category to watch evolve and use.

Now only if gliffy could evolve and start importing Visio .vsd files... now that would be entirely impressive.

Monday, August 10, 2009

Botnets and New Defense Techniques

Recently, I read a really good article that describes advances in botnets, malware, bot-herding, and advances in defenses against this tuff. "The Dark Cloud: Understanding and Defending Against Botnets and Stealthy Malware" provides a good explanation of botnets, stealthy malware, and the sophisticated internet/web threats they represent in the future. It discusses several advanced concepts including: botnets, bot-herder, polymorphism, rootkitting, hyperjacking, etc..

The article makes an interesting analysis of the botnet Life-cycle. There are some really good diagrams.

Saturday, July 11, 2009

TweetDeck First Impressions

I was looking for practical examples of Adobe AIR applications and recently discovered that TweetDeck is developed using Adobe AIR. Very cool. After downloading and installing it, I am impressed with Adobe AIR. I have been getting deeper into Adobe technologies (LiveCycle, Flex, AIR) preparing to develop a few RIA research prototypes and just experimenting with the Adobe stuff out of curiosity.

As a side note, TweetDeck is actually a decent application if you are a Twitter and/or Facebook user.

Chrome OS

After Google released Chrome last year, this was anticipated. They came out with a bang and I am looking forward to Chrome OS. It is a disruptive announcement and is indirect shot at Microsoft. The next 12-months is going to be very exciting as always. This is the da bomb announcement from Google this year. Google just has not stopped innovating in 2009.

This article has some very good points about Chrome OS admist all the media buzz, FUD, and propoganda from all sides.

Web-based Screen Casting with ScreenJelly

I just saw this on Chris Parillo's CNN video blog and it is quite impressive. Check out ScreenJelly. Screenjelly records your screen activity with your voice so you can spread it as a video via Twitter or email. Use it to quickly share cool apps or software tips, report a bug, or just show stuff you like. To start recording, click on the red button. No need to install or download anything!

Now this is really cool and is a yet another web-based technology moving us closer and closer to the cloud.

Saturday, July 04, 2009

Google Voice

Google Voice will be a really useful service that is the successor to GrandCentral. Can't wait.

Friday, June 12, 2009

The Decline of Blogs?

"The end of blogging" is an interesting article that raises some key observations in my own behavior towards blogging after joining Facebook and Twitter earlier this year. I have to agree with the author that I have noticed that I am not blogging as much this year (2009) either. Is this a trend or just natural selection occurring?

If blogging is making journalism obsolete and FB and Twitter are making blogging obsolete, then where are we now with even shorter attention spans and bursts of ideas on these new social networks? I have noticed that even my blog entries are getting shorter this year. Wow! Innovation is great. Wonder where we will be in 2010?

Ok, this was more questions than anything else but I am getting long winded on this blog so see my FB postings or my tweets on Twitter... later.

Saturday, May 30, 2009

Google Wave!

Just finished watching the Google Wave Preview video. Wow! Innovation at its finest. This is really going to change things on the web.

Tuesday, May 26, 2009

Create Your Own Social Network with Ning

Just when you though social networking was already getting saturated, a new idea rises up to the top of the visibility scope, Ning. I actually saw this on CNN (Ning: The future of online social networking?) and this social network is one with a slightly different twist. This one is focused on your common interests. It makes sense. It differentiates itself from Facebook and MySpace which focus on friends and family. Let's see what happens over the course of the next year.

Monday, April 20, 2009

Oracle Acquires Sun

Wow, I did not see this one coming at all. My initial reaction is that it is a good strategic acquisition for Oracle, bad for MySQL, and ok for Java. I have concerns about NetBeans and GlassFish though. As for Java, with Apache Software Foundation, Eclipse Foundation, and the open source momentum Java has, I think everything Java will be fine.

Sunday, April 19, 2009

Steaming Video Steps up the Game

Just a few days ago, YouTube announced af few deals with Sony, Universal, and is in talks with other content providers. They just opened their Shows and Movies capabilities this weekend. I just watched two indie movies, "10 mph - Seattle to Boston" and "Electric Purgatory", on it and am impressed. I think they just stepped up their game with Hulu. "YouTube boosts full-length movies, TV show lineup"

I can't wait for the premium music site, Vevo, that YouTube is creating with Universal. This will be disruption to the music video business. I got into Hulu the 1st of January of this year and never looked back. Hulu has changed the way I view TV shows. YouTube just made the field of streaming video all more interesting.

Wednesday, April 08, 2009

Google AppEngine now with Java!

I have been waiting for this announcement since Google released AppEngine. The App Engine Java Overview is a good starting point. Based on an initial skimming of the site, it looks like Google has got a winner with Java support.

Google AppEngine support for Java includes servlets, JSPs, Eclipse, Groovy and more. For persistence it support Java Data Objects (JDO) and Java Persistence API (JPA) as interfaces to BigTable. For more info see the Getting Started:Java page.

Sunday, March 29, 2009

Data Preservation and Ancient Egypt

Do you have all those old floppy disks, CDRWs, or obsolete mass storage devices (Bernoulli, Zip100, Zip250, etc.) laying around somewhere with no devices to access them? If you have been involved in computing for more than 15-years, then you probably do. There is an interesting posting about how the Egyptians and ancients got it right. "Data Preservation and How Ancient Egypt Got it Right".

This has been a problem I have experienced in the past 15-years. Every new digital format means converting of translating all your archived data from one digital format to the next. Whether it is in a database, compressed files, obsolete file formats, or other it is a problem. I recently experienced this looking for a EasyCASE model of an application that was developed in the mid 1990s.

To my surprise, finding the model in the configuration management system was a challenge. Then finding the valid license keys for the EasyCASE software took a few days. This is only for modeling information that is slightly older than 10-years.

Data presevation and archaeology of our digital information is going worsen and become a challenge in the next few decades.

Saturday, March 28, 2009

Java, IBM, and Sun

An article about IBM purchasing Sun written in 2002 is surprisingly relevant to today's current news. "When Will IBM Buy Sun?" published in April 2002 identified all the reasons why it made good strategic sense for IBM back then. The bottom line, it is all about Java. Just as analysts and bloggers today are debating.

On the surface level, it makes sense. Sun is figuring out how to monetize its Java technology and IBM is monetizing its Java quite well. IBM has been on an acquisition spree these past few years adding to its portfolio making some very strategic and sometimes unexpected purchases (i.e. Telelogic, Cognos). Will IBM do it in 2009? We will know later this year.

Wednesday, March 25, 2009

Disruption in the Gaming World, OnLive

The game console war between PS3, Xbox360, and Wii may have been disrupted. OnLive, is a new on-line gaming business model that is seven years in the making! The article, "OnLive could threaten XBox360, PS3, and Wii", describes the new player. OnLive is created by WebTV founder, Steve Perlman and former EIDOS CEO Mike McGarvey. So it has some heavy hitters behind it and has gained interest from EA, Ubisoft, Atari, and others.

OnLive uses the cloud/web delivery model. It works on any internet capable device. Currently supporting PCs, Macs, and web enabled TVs. Impressive! This one to watch. OnLive just may be a game changer if it can deliver on its promises.

Friday, March 06, 2009

Software Wars

This is a great visualization of the Software Wars where the Empire of Microsoft is at war with Everyone. It provides a really nice view of the many fronts and players in the software universe over the past 11 years (since 1998). Here is the most current map. It is really interesting to compare this to the first map back in March 1998.

Wednesday, March 04, 2009

MVC Web Frameworks and .NET in 2009

MS just released ASP.NET MVC RC2 yesterday which requires .NET 3.5 SP1. I can now see a dependency between the two. This stuff is still not entirely stable yet. This is in contrast to how Java MVC frameworks are not necessarily dependent on JDK updates. So it appears that ASP.NET MVC and the .NET 3.5 framework are co-dependent. This is not a good thing for stability and is bit on the accidental-edge. From where I sit, it looks like MS is back to its usual tactics with using the underlying framework (or OS, or API, or whatever) to remain in the drivers seat. It looks like ASP.NET MVC is driving the change to the .NET 3.5 framework.

Note: .NET 3.5 was released in Nov2007. .NET 3.5 SP1 was released in Nov2008.

The Microsoft Entity Framework, aka ADO.NET Entity Framework, implements the Model aspect of ASP.NET MVC and is tightly coupled to .NET 3.5 SP1. Based on a few blogs, it appears that MS is having problems with their MVC implementation “Testers give Microsoft’s Entity Framework a no-confidence vote” as late as June 2008. Here we are in March 2009 after 9-months and it is still an evolving work in progress.

In contrast, MVC webapp frameworks in Java (since 2000) and many Web2.0 languages (PHP, Ruby) have been around for years.

ASP.NET MVC is still trying to get out of the gates. Looks like Microsoft came to MVC party after the cleanup was done. At least they showed up. I recall looking for MVC webapp frameworks for .NET back in 2005-2006 and found nothing at the time.

Saturday, February 21, 2009

Google Ocean

The folks at Google just keep innovating. They recently added bathymetric information and visualization to Google Earth. This is very cool. You can now see the terrain and contours of the Earth's oceans. In Google Earth 5, they have also enhanced the layering capabilities which is very impressive.

Friday, January 30, 2009

Source Code Analysis and Metrics

While researching tools, I stumbled upon a tool, Understand 2.0 http://www.scitools.com/products/understand/ which provides an impressive set of capabilities and source code visualizations, is multi-lingual and multi-platform.

The required critical capabilities are

Driving Factors

  • The tasks of static and dynamic code analysis, architecture recovery and visualization (from the code), code structural analysis, extracting other metrics (cyclomatic complexity, maintainability, other measurements defined by SEI) is an important part of a lot of projects.
  • Frequently one tool would not cover all needs (and languages) and we normally deal with a combination of several tools both commercial and free/opensource

List of tools that researched (not an exhaustive list, just a compilation after about a day's worth of researching)

Commercial

  • Coverity (multi-lingual))
  • JHawk (Java)
  • Lattix (.NET)
  • NDepend (.NET)
  • PC-Lint
  • Rational Software Architect (multi-lingual) -built-in capabilities. (Eclipse based)
  • Understand (multi-lingual)
  • Visual Studio (multi-lingual) - built-in capabilities, plugins.

Free/Open source

The bottom line is that source code analysis/metrics tools are plentiful in both the commerical and open source markets. You have to define what your requirements are, do the necessary research to devise a solution set of tools and techniques, and then resolve your problem.

Monday, December 22, 2008

CMMI or Agile

I currently work in a CMMI Level 3 environment, have worked in Agile environments, and continuously experiment and apply agile techniques that work.  I was happy to see that SEI has published an initial document last month, "CMMI or Agile: Why Not Embrace Both!", that addresses the diverging software engineering viewpoints that has festered in the past 5-years.  This article draws a line in the sand and makes the first step towards legitimizing  the pros/cons and benefits of both approaches.  This is a must read article for any serious CMMI or Agile manager, practitioner, architects, developers, software engineer, coder, programmer, or anyone that is affected by CMMI and Agile techniques.

There are elements of CMMI which I think are necessary for software projects and there are approaches in Agile that solve real world software engineering problems.  This initial SEI published article calls on both the CMMI zealots and Agile practitioners (agilistas) to unite and resolve their differences in order to maintain a healthy software engineering discipline.

I exist in the middle of this software engineering culture clash.  Now, is the time for unity, change, and forward progress in both the CMMI and Agile camps to create something better for the future of software engineering.  It is time to roll up the sleeves and have a meeting of the minds.  We are all on the same team, it is just a matter of accepting this fact and improving everything we do.

Saturday, November 29, 2008

Netbooks and portability

I purchased my first Netbook. After reviewing the various types, I settled on the Acer Aspire One Linux version which has no moving parts. Hard drives are SSD and flash memory based. Based on my initial first day of using it, I will have to say that it lives up to all that is promised for this new form factor.

I like the portability, features, and performance. It boots up in about 5 seconds, and takes about another 10 seconds to initialize my WiFi connection. Carrying around my netbook is like carrying around one of those DayTimer organizers. Remember those days?

For the portability factor, Netbooks are definitely useful. Carrying around a 2 pound Netbook vice a 5 pound notebook computer (MacBook or PC) is a significant usability enhancement. We will see how it holds up. Initially though, having Linux, Firefox, and OpenOffice in a very portable form factor is actually pretty cool.

I am impressed with the Acer Aspire One's looks, esthetics, fit, finish, and usability. The keyboard is almost full size which is surprising and feels good. I am using it now to write this blog entry. My first impression is that this is a very high quality product that just works. Reminds me of my MacBook.

Saturday, October 25, 2008

Visualization of the 2009 U.S. National Budget

Given that it is an election year, our economy is not doing well, and the federal budget is in the red, this visualization, WallStats Death and Taxes 2009, that summarizes the entire U.S. Federal budget is really impressive. It is an example of a great visualization for a very complex set of information. WallStats.com provides this visualzation and you can buy a poster of it. I really like the online Flash interactive visualization.

Sunday, October 19, 2008

Software Tools for a Third Grader

My son is in third grade. He started getting into building virtual models in the Sims game on the Wii and RollerCoaster Tycoon on the PC in first and second grade. I wish I had this stuff when I was a kid. I got into building models (the old fashion way with plastic and epoxy glue) around the same age. Times have certainly changed.

Now back to the virtual modeling. These virtual simulation games are a creative, entertainment, and learning outlet for him. I noticed that he is starting to get to a point in his young developing mind where creating more complex models, learning about science, math, and other things in life is consuming his curiosity. So I thought to myself, why not get him interested in beginning software development and see if he would be interested in that. I found this really good beginning programming language, Scratch, that was developed out of MIT and is targeted for kids that are at least 8-years old.

Scratch is a programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web. Scratch is designed to help young people (ages 8 and up) develop 21st century learning skills. As they create Scratch projects, young people learn important mathematical and computational ideas, while also gaining a deeper understanding of the process of design

I test drove Scratch and then introduced my son to Scratch. It is like building software by using a Lego building blocks metaphor. Visually, you actually put pieces of software building blocks together that have shapes and colors. The shapes and colors represent a specific type of software component. (i.e., a looping construct is shaped similar to the letter 'C' where you place the loop's internal logic within the bounds of the 'C' shape.).

The Scratch tool is available for free and the associated web site allows you to publish your creations so they can be shared with anyone that has web access. Anyway, for any kid or young person that is interested in building models (physical or virtual), Scratch is another tool that may be of use. It works on Windows and the Mac. The most interesting aspect of Scratch is that it supports and encourages development of 21st century skills. It is not just for kids but for anyone that is interested in a new paradigm for developing software. It must be great to be a kid today. The best I can do is think like a kid and always keep that child-like curiosity. Everyone wants to be a kid at heart.

Monday, September 01, 2008

Google Chrome

I get the feeling that the gravity around Google is increasing in 2008. With everything Google has done in 2008, it just announced Chrome, A fresh take on the browser. There is a comic that provides an explanation of what Google Chrome is and why it was developed.

Google Chrome has the potential to be extremely disruptive to the web browser and web application space. It is not based on Mozilla and is a unique fresh start for a web browser that is optimized for Javascript. It uses a Javascript virtual machine engine called V8, is multi-process/multithreaded, implements virtualization internally, optimized with Gears, and uses the WebKit rendering engine. The comic explains it all. For best level of detail, reading the comic is highly recommended.

They are releasing the new browser to the world tomorrow as open source. Tomorrow will be interesting. I plan to download Chrome and give it's Javascript V8 rendering engine a test drive.

Thursday, August 21, 2008

Google Protocol Buffers - Kind of Like the Glue for Data Streams in the Cloud

This is something new and interesting from Google, Protocol Buffers. Here is the overview of what this technology is:

Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data – think XML, but smaller, faster, and simpler. You define how you want your data to be structured once, then you can use special generated source code to easily write and read your structured data to and from a variety of data streams and using a variety of languages – Java, C++, or Python.

For more information read the Protocol Buffers Overview page. Why not just use XML? Here are some compelling reasons to consider Protocol Buffers instead of XML:

Protocol buffers have many advantages over XML for serializing structured data. Protocol buffers:

  • are simpler
  • are 3 to 10 times smaller
  • are 20 to 100 times faster
  • are less ambiguous
  • generate data access classes that are easier to use programmatically
The features I like are simpler, smaller, faster, less ambigous and easier to use. I am sold. Now the real question is, does this stuff work in the real world and can it be applied in a proof of concept or experiment? That is something that is to be determined.

This stuff does look interesting. For alternative viewpoints here is one from InfoQ, Google Introduces Binary Encoding Format: Protocol Buffers, which has a lot of good links to various blogs and responses to Google's PBs. Facebook's Thrift is a competing technology.

Persistent Cloud Storage from Amazon

Amazon has just raised the bar by creating Amazon Elastic Block Store or EBS service. This basically is persistent storage for Amazon's EC2. The cloud computing landscape is getting better every month.

Amazon Elastic Block Store (EBS) provides block level storage volumes for use with Amazon EC2 instances. Amazon EBS volumes are off-instance storage that persists independently from the life of an instance. This opens up a new frontier for low-cost and scalable cloud computing storage services.

Saturday, July 05, 2008

The Cloud

If you have been under a rock for the past few years than you probably have not heard of Cloud Computing. I have had the opportunity to live in the cloud for the past few years as an experiment while in graduate school. I started using Google Docs when it was in its infancy back in 2006 and have watched it mature nicely into a very capable software-as-a-service with offline capabilities. I have seen it grow up and become a toddler that now knows how to walk on the verge of learning to run.

In this same timeframe, Amazon Web Services has evolved into Elastic Compute Cloud (EC2), Apple announced its MobileMe service which is replacing its popular .Mac service, and Google launched Sites and AppEngine this year. What all these new services have in common is that they are taking advantage of the cloud. All the while this was all happening, virtualization the foundation on which a lot of the cloud utilizes and leverages, has evolved significantly and virtual private server (VPS) services (i.e., Tektonic.net) have evolved into very capable offerings.

The most interesting aspect of cloud computing is that it has evolved very rapidly as a disruptive force. This type of computing has opened up the market for the current generation of smartphones, cloud devices (i.e., internet tablets, ultra-mobile PCs using Linux, and more).

Cloud computing innovation in 2008 has made me rethink my own personal computing architecture at home. I have several Linux servers and devices providing my server requirements for the past ten years. Now, it is gotten to the point where maintaining my home infrastructure is becoming a burden as the number of devices proliferates. There are HD set top boxes, streaming video servers (Sony Location Free, NetFlix, iTunes, YouTube), PSP, PlayStation3, iPods, Wii, GameCube, etc... and the future will only bring more internet capable devices into the household.

The Cloud is looking better and better as the future architecture.

Friday, June 20, 2008

Firefox 3.0

Ok, if you are not already using Firefox 3.0, you should. I downloaded it on 'download day' and have installed over my previous Firefox 2.0 installation on Windows and Mac OS X. Performance on both OSs is noticeably faster than 2.0 and all my Add-Ons work. All I can say is wow! Especially the noticeable improvements in performance of Google Docs and other web sites that make extensive use of AJAX.

Tuesday, April 22, 2008

Google Docs now with Gears!

Ok, this is what I have really been waiting for in the past few years. I started Using Google Docs as soon as it was released back in 2006. Google has just updated it and I can now take my documents offline with the integrated Gears technology. From what I understand, Google is working on the spreadsheets and presentations.

I tested the offline documents capability a few days ago and it works as advertised. I am entirely impressed. I can now work on my Google Docs documents within Firefox offline. When I reconnect, my changes are now automatically resychronized with Google Docs servers.

Sunday, April 20, 2008

Search Engine Optimization (SEO)

This is a topic that I had to research recently for a class I am taking in graduate school. Search Engine Optimization (SEO) is a technique for increasing the traffic to a web site from search engines. (e.g., Google, Yahoo!) In a nutshell, SEO involves tagging, designing web site content using keywords and metadata (information about data), and designing web site structure for efficient accessibility by search engines algorithms and web crawlers to find information more effectively.

The desired goal of SEO is to attain a higher ranking for a specific web site that results in the site showing up in the first page or initial few pages where most users tend to click on a resulting link before moving onto another search or simply abandoning the result set. This in effect makes the web site appear to be more relevant to the user in the search result listing. The reason why search result set relevance and position is critical is because of the observed behavior where most web users tend to use the first page of a search result listing most of the time. Subsequent pages in the search result listing are used by a much lower percent of web users as the search engines become more efficient due to SEO techniques and continual improvements to search engine algorithms.

Search engine optimization means ensuring that your Web pages or site is accessible to search engines and are designed in ways that help improve the chances they will be found. ("Intro to SEO")

Some decent simple SEO Examples are described here. There are many techniques that make your web site "SEO Friendly". One simple technique is to choose a SEO Friendly Domain name. Let' say you have a web site that contains SEO information. If your site is located at mysite.com, it is not a very good "SEO friendly" domain since it is difficult for a search engine to figure out that your site contains SEO information.

On the other hand, if you named your site search-engine-optimization-info.com it would be considered more "SEO friendly" by its name alone. Using this domain name any search engine can figure out from the domain name alone that your site probably has SEO related content. (e.g., cars.com, salesforce.com)

According to Google, SEO is an abbreviation for "search engine optimizer." Many SEOs and other agencies and consultants provide useful services for website owners, from writing copy to giving advice on site architecture and helping to find relevant directories to which a site can be submitted. What is an SEO? Google's definition. Google does not have any relationships iwth SEO organizations and does not make recommendations. However, they do provide tips on choosing an SEO and information on what will make a search engine drop your site from their search results entirely

Additionally, Google provides a wealth of information about its search results, improving site rankings, and tips that help Google's crawlers find your web information more efficiently and effectively. With Google representing the majority of web search today, approximately 67% as of March 2008 and growing, it is wise to know how to optimize your web sites for Google web crawlers.

I also found some really decent material on SEO techniques here.

Sunday, April 06, 2008

The Unexpected for 2008

As anticipated, Google released the unexpected a few weeks ago. It is called Google Sites. If you need to create a web portal for sharing information amongst a team, classmates, workmates, social mates, friend, or family, then Google Sites may be for you. Here is the overview of Sites:

"Google Sites is the easiest way to make information accessible to people who need quick, up-to-date access. People can work together on a Site to add file attachments, information from other Google applications (like Google Docs, Google Calendar, YouTube and Picasa), and new free-form content. Creating a site together is as easy as editing a document, and you always control who has access, whether it's just yourself, your team, or your whole organization. You can even publish Sites to the world. The Google Sites web application is accessible from any internet connected computer."

I have had a chance to play with Sites and it will brings "online everything" and cloud computing even closer to reality today. This is another disruptive event initiated by Google and will give everyone something to think about when it comes to collaborative sites and portals. If they can make this work with Gears and be taken off-line, then I think IBM, Microsoft, and Java based portals will have to re-think their respective strategic agendas.

Saturday, March 22, 2008

caGrid and caBIG uses open source Java technology

While working on a research project for graduate school, I serendipitously stumbled upon the cancer Biomedical Informatics Grid (caBIG). This is a massive bioinformatics initiative to connect the entire cancer community leveraging modern information technology (IT) to save precious time toward news discoveries in cancer research. The caBIG Essentials tutorial is a must. It is available as a an online interactive tutorial or presentation download.

caBIG uses open source technology to bring cancer research into the 21st century. It is intertwined into a grid middleware infrastructure, caGrid, which is an information grid for biomedical research. (Bioinformatics Journal article abot caGrid) The really interesting aspect of caBIG and caGrid is that it uses open source Java technology and UML to make this all work. It is a service oriented architecture (SOA) using Apache Tomcat, Axis, UML, BPEL, Hibernate, etc. providing open specifications to allow organizations to adopt or adapt its IT systems to be caBIG Compatible.

The caGrid concept initiative originated December 2003. (caGrid wiki with timeline graphic) The initial prototype was brought online in July 2004. The following two and half years of work resulting in the caGrid 1.0 officially going live in December 2006. caGrid 1.1 was released in September 2007. This cutting edge work is in progress and will change the way biomedical informatics research is peformed in the future.

caBIG is model driven. That means you must have object models UML in order to transform your IT resources into compatible caBIG applications and services. caBIG provides/maintains the specifications, tookits, and SDKs. The possibilities for biomedical research breakthroughs leveraging the emerging bioinformatics field are endless.

Javascript 2.0 goes OO

This is good news for the future. The emerging Javascript 2.0 specification brings object-orientation to Javascript. See this article, Web 2.0 Meet Javascript 2.0.

This is a welcome advancement in the continuing evolution of Web 2.0 capabilities and bringing rich "online everything" to reality.

Sunday, February 10, 2008

Non-existent Object Oriented User Interfaces in 2008

The state of object-oriented user-interface (OOUI) technology today is quite depressing. I bet that you can not name one that is useful and in production. After all the years since I stopped using OS/2 and its innovative WorkPlace Shell (WPS) OOUI, there is yet to be anything like it in Linux, Mac, Unix or any other mainstream operating system. The closest we have today is the Mac OS X which is really an intuitive graphical user-interface (GUI).

The heart of the IBM OS/2's WPS is the System Object Model or SOM. SOM is an object-oriented system level object model that is similar to Microsoft' Common Object Model (COM). The key difference is that SOM supports inheritance while COM does not. So, in esseence, COM is really an API with object-oriented like features. SOM is truly object-oriented.

Back to the OOUI discussion. WPS objects had the capability to inherit from parent classes or other base classes. One clear feature of WPS that I miss in the modern GUI/OS world of today are Shadows. There currently is not similar analogy to this in KDE/GNOME, Mac OS X, or Windows.

In WPS, Shadows objects that point to other objects. They are like shortcuts in Windows except that they inherited all their properties from SOM. The one thing that is still a major annoyance with shortcuts is when you move the file or directory to which your shortcuts is pointing. The shortcut is really a static pointer to some file, directory or application. When you do this you get the invalid shortcut problem in Windows. The same scenario occurs in KDE/GNOME and Mac OS X. You would figure that this problem would be resolved by now. But that is not the case. Instead there are tools, utilities, tips, workarounds, scripts or whatever to fix this very trivial issue.

In an OOUI like WPS, Shadows inherit from SOM the File, Directory, or Application object. So when the underlying File, Directory, or Application changes, your Shadow automatically knows this through inheritance. This is very simple, intuitive, and just works.

I recently read that the motions by the OS/2 community (yeah, it still exists) to request that IBM open source OS/2 has been denied by IBM due to several licensing and intellectual property reasons. OS/2 source was developed collaboratively by IBM and Microsoft. On the other hand, SOM is an IBM technology that was developed after IBM and Microsoft split in the early 1990s. I just read a new suggestion ("Should IBM' SOM/DSOM be open sourced?") that IBM explore open sourcing SOM which would give to the world an object model that is proven and can be a foundation for future OOUIs developed using a modern open source methodology.

A move by IBM that makes SOM available would inject a stimulus into the state of user-interface innovation which appears to have stagnated in the past 10-years. In general when you look at KDE/GNOME, Mac OS X, Windows, and any of the variants used in Unix, they all pretty much do the same thing. They are some form of implementation of the WIMP (window-icon-menu-pointer) paradigm that Xerox PARC created in the 1970s.

I think it is time that we focus on the OOUI again. It seems to have lost its lustre so far this decade. Maybe then things will get exciting in the UI space again. If a way to tie the OOUI to the web and make it some form of OOUI that is browser based, an object-oriented web interface (OOWI) if you will, that would allow it to work on any platform! Now that would be real progress. Then we can start talking about OOWIs! Oooh weee! Wishful thinking.

Sunday, February 03, 2008

Is This Disruptive Thinking?

The just announced Microsoft unsolicited offer to acquire Yahoo! for $44.6 billion is all over the news. Analysis of it cover the spectrum. One question I have is, "Is this disruptive thinking on Microsoft's part?". One thing is certain, the fear that Microsoft has of Google appears to be reaching a paranoia state. This is almost an admission from Microsoft that they did not get the software as a service (SaaS) right. SaaS appears to be outside of its 'core competencies' even though they have invested billions in the Internet.

This take over offer appears to be an admission by Microsoft that they have failed in their efforts to transform itself from a desktop Windows applications centric company to a software as a service company that leverages the web. This evolution has been an ongoing objective for the past 7-years with nothing but a 44% drop in stock value.

Google's revenues and influence on the web keep climbing while Microsoft and Yahoo keep declining. The combination of Microsoft and Yahoo will only yield about 20-30% of the web search market. Google currently owns about 60-65% of that market and keeps increasing its share.

Microsoft's achiles heel appears to be its goal to tie everything (software applications) to Windows. Yahoo and Google on the other hand are internet service based companies whose goals are to make all their services available to anyone, anywhere, using any operating system or web browser. "Is Microsft Saving Yahoo! Or is Yahoo! the Savior".

I think that a merged Microsoft and Yahoo! will encounter several cultural issues. They have vastly different cultures. The cultural intertia of both companies will be difficult to grasp and refocus into a convergence. It will be a daunting task.

There is a significant technology overlap that would cause a lot of internal disruption and team dynamics issues that are not evident on the surface. Look at how the TimeWarner-AOL deal turned out. These two distinct cultures clashed and resulted in the decline of AOL. Orchestrating a successful merger of Microsoft and Yahoo! will take some extremely well calculated and organic management decisions in a timely manner.

Google is not sitting still. It appears that the Microsoft merger's strategic goals are addressing the services for which Google is already successful. Knowing Google, they are moving on to the next thing whatever that is. We will find out sometime this year in the typical Google fashion, they will just drop it onto the world.

Basically, Microsoft is playing follow the leader. If Microsoft has failed so far in competing with Google, the merger will only complicate things for them because of all the internal reorganization that is required to make it successful. Overcoming the structural interia in Microsoft and Yahoo! is a complex strategic management undertaking. These internal tasks will be a distraction for the new combined Microsoft-Yahoo corporation. This distraction if not resolved quickly will give Google more time to innovate and pull further ahead. "Fitting the Pieces Together in an Internt Mega-Merger".

One thing is certain, 2008 is already full of suprises and it is only February!

Sunday, January 06, 2008

Happy New Year 2008

Happy New Year 2008!. Ok, it's early in the 2008 and it is always interesting to attempt to forecast out what may occur this year. Last year, I predicted that Google would do something unexpected and they did. Android was something entirely unexpected. Google Presentations was inevitable.

So what does 2008 bring? I think we will see Blu Ray become the HD standard as HD-DVD starts fading away. The reason for this is the Sony PS3. Additionally, just last week Warner Brothers announced that they will no longer support HD-DVD.

Apple Mac OS X will attain a 10-15% or greater market share of personal computers and start making headway in the business sector. This is based on the trend that has been 2007 for Apple.

Linux will become more significant as new devices like the Asus Eee PC, Nokia 810, and alternative ultra portable internet devices based on Linux start being used as the replacement of notebook computers. The mobility, power, inexpensive portable storage, solid state disks (SSDs), ubiqutous WiFi, and rich web applications are making this possible. These new devices have been disruptive in nature and are rapidly becoming the preferred devices.

Mozilla Firefox has attained a 35% market share globally according to Browser Statistics as of Nov 2007. The increase in Firefox usage will continue throughout 2008 and move in the 40% range at a minimum.

New phones using Google Android will redefine smartphones and the ultra portable internet devices market. This will be disruptive to the status quo wireless industry. It will be nice to be able to develop in Java for the Android based devices. What will be nicer is eventually a Firefox browser running on Android. If the services are right, 2008 will be the time for me to get into the smart phone market as user. Up to this point, the Apple iPhone is a step in the right direction. Based on all this, I think Microsoft's Windows Mobile will be the loser.

As they have done in the last few years, I think Google will do something unexpected again in 2008. Apple will refine its products and continue to make cool stuff that everyone wants. Sony will finally get its online 3-d immersive virtual reality business established and leverage the PSP and PS3. Microsoft's market share will continually take hits from all fronts. Java will continue to get larger because of Android, Apple, PS3, Blu-Ray, and just because there has been so much innovation and revival within the Java community in the past year.

Other than that, 2008 will be yet another exciting year of information technology innovation!

Sunday, December 16, 2007

Disruptive Technology in 2007

2007 is the year of disruption. At least in my opinion. We are in the final month of the year and looking back I see several disruptive technologies that will change the technology landscape in the next few years. If you look at the following list which is not in any significant order other than alphabetical you will see what I mean

Android
Asus Eee PC
Google Presentations
gOS
Grails
Groovy
Knol
iPhone
iPod Touch
Mac OS X Leopard
Nokia N810
OLPC
OpenJDK
OpenSocial

Each one of the above technologies is creating a change wave that affects an existing market space or is the catalyst for an emerging market. These technologies are actually causing competition to re-evaluate its current market and live with the threat of being displaced.

Saturday, November 10, 2007

Naked Objects Pattern

I am sitting here early on a Saturday morning at a local Honda dealer waiting for my vehicle to be serviced. While online and drinking a good cup of java (coffee), I had not written to this blog in a while (been quite busy) so decided to discuss a new Java technology that I have been researching lately which is quite impressive and ground breaking in my opinion.

While researching Java technology, I encountered a new pattern to which I was previous unexposed. It is called the Naked Objects pattern. What was surprising to me is just how little coverage this design or architectural pattern receives in the popular cyberspace. What started me down this path was the What is the Matter with JMatter? article I read last week. After reading that article and doing quite a bit of exprimentation with JMatter, it was the Naked Object architectural pattern that is most interesting.

I will not go into too much detail about JMatter, but in a nutshell it implements the Naked Objects architectural pattern and throws in some domain-driven design concepts to provide a very capable Java application engineering framework. The result is an extremely agile development environment for Java technologists. At first I thought JMatter was for the average user. After experimenting with it for a week, I have come to the viewpoint that JMatter is for the exprienced Java developer that understands design patterns, Ant, Hibernate, Spring, dependency-injection, XML, Swing and a few other best of breed Java frameworks that it leverages. The result is a several order of magnitude increase in application development productivity. What would have taken weeks or months to build can now be engineered in days or weeks.

The JMatter applications are currently client/server and leverage Java Web Start for deployment. What is on the drawing board is better usage of WingS and Echo2 to generate AJAX capable applications based on the JMatter application. I tested this capability that is integrated into JMatter today and it requires a bit more maturity before I would recommend using it. For now, if you an experienced Java developer, JMatter is worth a look. It changed my entire perspective on Java application development which I now call application engineering. Using JMatter and its capabilities allows you to engineer applications vice developing them in the traditional sense, lots of coding.

Sunday, August 26, 2007

Google Sky, Wow!

I predicted Google would do something unpredictable and it occurred earlier this week. They released Google Sky which is integrated into the already incredible Google Earth. If you are into astronomy or just want to see what type of imagery is available of space, then this is it. Google has taken the collective imagery from the science community (NASA, etc..) and put into one place that anyone can now use and navigate just as you can with Google Earth.

I used a few astronomy programs and Google Sky definitely is the best one I have seen to date. I can't wait until there is a similar add-on for the Moon and Mars. Currently, Google Moon and Google Mars are accessible as 2-D browser applications.

Monday, August 06, 2007

Web OSs and the Future

I like looking toward the future and making bold predictions. Here is one, the WebOS paradigm will take over within the 3-5 years. Check out the list of existing WebOS projects at Wikipedia.

I have experimented with a few of these and just recently installed eyeOS which is a really impressive WebOS concept. It is written in PHP and is extremely lightweight. I read a really good review of eyeOS and then tried out it. Another decent concept is YouOS which is written entirely Javascript. It is currently in a proof of concept phase but has promising future if it is continually supported and matures. I have used the Sun Java Desktop System which is is very similar in concept however does not execute entirely within your web browser.

As the WebOS paradigm matures, I think it will eventually take over what virtualization and other desktop paradigms do today purely because a WebOS lends itself to execute in an extremely lightweight container, the web browser, and lends itself to exist in embedded web browser objects executing in mobile and new generation of personal digital devices (i.e. iPhones, GPS devices, PS3, Wii, DS, PDAs, smart phones, PAVs, etc.)

Saturday, July 21, 2007

The Firefox Kid and a new Web OS Project

While drinking my first cup of coffee on this wonderful Saturday morning in July, I bumped upon an article at Slashdot about Blake Ross, The Firefox Kid, and his latest project, Parakey. The details about Parakey are sparse because it it still in development. However, what is interesting is the peek that Blake has allowed to date.

In a nutshell from what I have gathered, Parakey is an open-source based application that instals on your desktop and runs in your browser and bridges the gap between desktops and the web. In essence, it is like a Web OS. As the project matures, we will see more details.

You have to read the article to get the full scope. There is also some interesting historical information about how Blake got involved in the Firefox creation.

Here is an interesting note, Facebook just purchased Parakey for an undisclosed amount. The we will continue be a highly dynamic place.

Thursday, July 19, 2007

Firefox Has 28% Marketshare in Europe

I predicted this a year ago. At the rate that Firefox usage has been increasing it appears that Firefox now consists of 28% of European users. "Europe Helps Life Firefox Market Share". In some countries usage is as high as 48%! Whoa! At any rate, I think Firefox's ascent will continue especially when Firefox 3.0 comes out with its capability to support offline web applications similar to Google Gears technology.

If you are interested in web analytics, here are a few sites that clearly show the Firefox trend.
W3Schools Browser Market Share
Market Share Hit Links

What will be interesting is how this trend continues through 2007.

Thursday, July 12, 2007

Offline Web Applications with Google Gears

As I expected, the unexpected innovation has been released by Google. I actually started using Google Gears the day it was announced from a user perspective when they enabled it in Google Reader. It definitely works and is actually a significant breakthrough at the tip of the ice berg.

Over at OnLAMP they put out some articles using Google Gears with PHP and MySQL. The Power Of Google Gears (part1, part2). It has only been a little while so let's see how this offline browser technology evolves. Mozilla is working on a similar technology in the next release of Firefox. Maybe we will see more of this later this year.

Sunday, June 10, 2007

Grasshopper 2.0, Wow!

While perusing a few websites last week I enountered an article that piqued my interest at Internetnews.com, "Mainsoft Brings ASP.NET 2.0 to Linux". What the article really covered was the Mainsoft Grasshopper 2.0 product announced 6/6/2007 which lets you build your ASP.NET 2.0/C# or VB web application and targett for deployment on a Java/J2EE servlet container or portal.

I have been spending the past month working with the .NET 2.0/3.0 framework and have had the opportunity to test Grasshopper 2.0 using VS2005. The early verdict is, 'wow'! This is truly an accomplishment. The Mainsoft team has created a Visual Studio 2005 extension that converts Microsoft Intermediate Language (MSIL) bytecode to Java bytecode from a C# or VB ASP.NET 2.0 web application. It actually works as advertised. Grasshopper 2.0 fully supports .NET 2.0. The resulting product is a fully compliant Java .WAR that deploys to Tomcat-5.5 as you would expect.

Mainsoft provides a free Developer Version of Grasshopper 2.0 which I used. It requires an activiation key you must get from their website. Installation into VS2005 was flawless as long as you have VS2005 with SP1 installed. The Mainsoft tutorials are easy to follow. If you know how to build an ASP.NET 2.0 web app using VS2005 then using Grasshopper 2.0 is seamless. You just use your existing C# or VB skills in VS2005. You do not need to know Java in order to use it. That is intent of the product.

The Mainsoft online documentation, FAQs and tutorials are all decent for experienced developers. In addition to the Developer version there is the portal and enterprise versions which add additional features. The Mainsoft website provides a clear explanation of each version's features.

Now what would really be cool is Mainsoft Grasshopper supporting SharpDevelop. SharpDevelop is the best open source IDE for .NET that I have seen.

Thursday, May 31, 2007

A Google Summer

Google surprises again in this first week after Memorial Day. If you have not been paying attention or maybe are getting into the nice weather we have been having towards the end of May, Google has updates Google Maps with Street Views. Nothing really new since Microsoft has had this in Live for about a year now. The difference is that the Google Street Views actually works nicely, is intuitive, and does it all in all browsers.

I toured San Francisco and in the new Google Maps Street Views and I am totally impressed! It is really an immersive 3-D experience. Wow is all I can say.

And then there is Google Gears! This one is just as impressive. It is an offline web application framework that works in all web browsers and platforms since is based on Javascript and a local SQLite database. I installed it on my MacBook and on Windows XP in Firefox and had no issues at all. Google has made Google Reader a Gears enabled application and it works just as advertised offline. Cool stuff.

Now, they just need to get GMail, Docs and Spreadsheets working in a similar transparent fashion. If Google Reader is any indication of what the near future brings, then 2007 will turn out to be quite an innovative year for Google. The real killer is that Google Gears is released as open-source under a BSD style license.

I think Microsoft is going to be in trouble and losing ground on the web front. I plan to see how Google Gears works out for enabling custom web applications to enable offline browsing capabilities. Time will tell how successful Google Gears becomes.

Sunday, May 13, 2007

Microsoft vs. FOSS

Well, I expected this was coming any day now and that day has arrived. Microsoft has initiated a new front against Free and Open Source Software (FOSS). The CNNMoney article is a good read, "Microsoft Takes On the Free World", about the front Microsoft intends to open concerning specific patents it says Linux and other open source software violates.

The next week and the future will be interesting. The article discusses a 'cold war' like scenario in software technology putting Microsoft and the FOSS in direct legal collision course. FOSS has powerful corporate patrons and allies. In 2005, six of them - IBM, Sony, Philips, Novell, Red Hat and NEC - set up the Open Invention Network to acquire a portfolio of patents that might pose problems for companies like Microsoft, which are known to pose a patent threat to Linux. There is speculation that the intent of this is to provide a 'mutually assured' litigation scenario similar to the cold war 'mutually assured destruction' scenario.

FOSS and others are on the opposing front with their own arsenal of patents ready for its use as a counter attack against Microsoft. Looks like the SCO law suit all over again but this time a more frontal assault. IBM won the SCO lawsuit. SCO was indirectly supported by Microsoft funds. An interesting fact to note is that IBM holds the most patents in the software industry and has not threatened anyone that I know about with its patents.

What is interesting is how the CNNMoney article states that half of the Fortune 500 use FOSS (Linux) and growing. The article alludes to Google which is widely known to be a large proponent of open source. One area that appears to be the real threat are online free web applications in which Google is moving towards very rapidly. Microsoft must really be hurting or at least is significantly threatened by Linux. Their fear of Google is well known.

It could be that the future trends with the migration towards open source and Linux will undermine future Microsoft business. I have read many blogs and analysis to this effect ("Microsoft is Dead", "Eight Signs Microsoft is Dead in t he Water" -John Dvorak) and the most recent actions by Microsoft appear to be supporting this theory. What is ironic is that Google never confirms or denies that it is competing with Microsoft. Microsoft appears to be obsessed with Google's success.

On yet another front, it was just recently reported that Apple's sales for MacBook accounted for near 10% of all notebooks in March 2007. Apple is also #4 on the notebook sales list. It looks like Microsoft is trying to open up too many fronts and maybe needs to review history and the art of war.

The next few years will be very interesting.

Thursday, May 10, 2007

MVC Frameworks Update

I have had the chance to take a look at the recently released Struts2 framework. It was made generally available in late February 2007. It is based on the WebWork2 framework which in itself has been in active development the last few years.

It appears that the Struts2 team has provided a nice update to Struts which has been showing its age and actually has lost a lot of its advantages due to advances in the Java world and the dynamic scripting language (i.e. Ruby, Perl, PHP). Here is a decent Struts2 history worth a read.

Some of the nice features of Struts2 are simplicity, plugins, Spring integration, AJAX support, and flexibility to use POJOs for form and action classes. The requirement for Action and ActionForm mappings no longer exist. It integrates with Freemarker, Velocity (no more VelocityStruts), and many other frameworks.

If you have been looking at MVC frameworks in Java lately, I think Struts2 is worth a look. If you have works with Struts in the past, the learning curve is minimal. It will interesting to see how much traction Struts2 gets this year in the Java web applications arena. There are many competing MVC frameworks and Struts is still widely used. I have been leaning towards simplicity lately and it looks like the Struts team has been spending the last year doing the same.

It is good to see that Ted Husted is involved. This adds a lot of confidence and credibility to the Struts2 project. In a addition to Struts2, I have been looking at Spring MVC and the Spring WebFlow frameworks. They do not appear to be getting as much attention this spring (no pun intended). Anyway, it's good to see some action in the Struts community. Since I have not been following the Struts development in the past year, it was a nice surprise to finally see a general availability release.

I guess I will be spending the next few months with Struts2 and see what it can do.

Saturday, April 14, 2007

Digital Woes for Mars Global Surveyor

It appears that a single command to the Mars Global Surveyor was the root cause of it eventually failing. "Mars Global Surveyor Dies From Single Bad Command". If this is truly the case then this is a pretty scary event considering that a software engineer somewhere is responsible for the loss of a remote space craft.

I read a book a few years ago called "Digital Woes" written by a Reagan era 'Star Wars' computer scientist, Lauren Ruth Weiner, that cast a serious doubt on the probability of succsss of such a complex system. The probabilty of success based on the statistics of digital failures in the modern computer age was calculated to be too high. From what I recall, there was a lot of statistical and scientific models created where the success of the 'Star Wars' system was unachievable.

At any rate, the news today concerning the Mars Global Surveyor reminded me of the book and how software engineering is even more critical today. A single bad command caused a cascading set of failures which eventually shutdown the space craft. This just adds fuel to the argument that software testing is critical and that sound software engineering practices may not be enough.

Based on what I know about what happened to the Mars Global Surveyor, it looks like the NASA team followed all disciplined processes but the failure still occurred. It appears that the complexity of the system behavior was not well tested which resulted in the sequence of events leading to the eventual failure of the system. The LA Times article mentions budget cuts, political pressure and short time frames as contributing causes for the human error. The Scientific American article also mentions human error.

I wonder if they did any modeling and simulation or at least simulation of the scenario? Being an optimist, I think that test-driven software development is not enough with the complexity of modern systems and that simulation is required in order to really observe the behavior of the system. Given the declining NASA budget environment and fewer resources, maybe some new ways of approaching software engineering at NASA is an option. The 'do more with less' mentality requires new ways of thinking and a lot of engineering management innovation.

Monday, April 02, 2007

Remember OS/2, It is 20-Years Old Today

I just saw this OS/2 20th birthday posting. I was an early adopter of OS/2 in the 1.0 days. Then used it well in into the late 1990s. Those were good old days. OS/2 is still alive and kicking.

Wonder when IBM is going to open source it? Now that would open quite a few opportunities! We can still hope and wish.

Sunday, March 25, 2007

Virtualization on Mac OS X

Check out my blog entry I just posted over at The Mac Katana. It discusses my experiences on Mac OS X with VMware Fusion Beta and Parallels.

Sunday, March 18, 2007

Online All The Time

In my lifetime of communicating with a computer, I have lived and been a part of several paradigms of online communcations. I remember the dial-up the BBS days in the 1980s, the CompuServe forums in early 1990s, e-mail in various forms of evolution in the 1980s through the 1990s and the spam infested world of today, groupware in the 1990s, and instant messaging, forums, blogs, portals and wikis in the past few years.

Collaborative online communication continues to evolve. Today, the social networking sites, personal wikis, personal blogs, and portals are all evolutionary forms of storing and managing online information. What I like about today's world is that with open source technology and the numerous online services providing you with all the tools you can imagine, the only thing you need is a modern web browser to access it all! Not having a blog, participating in a forum, being part of some online community, or not being online is like not having access to a telephone in the 1970s.

I remember being a young person in the late 1970s and early 1980s and spending hours talking on the phone. For me, this has translated into the modern equivalent of being online all the time today. With notebook computers, internet gadgets and all types of mobile devices, it is hard not be online today. You actually have to make a effort to stay offline today. The only time I spend less time online is when I am on a vacation. Then I intentionally disconnect.

I find that instead of watching TV and cable, I actually do this while staying online. A few years ago this was sort of a novelty. Today, it is now just a normal way that I watch TV/cable and concurrently browse the internet. My multitasking capabilities are up and my attention span is going down. I am not sure if this is a good thing but I have adapted to this way of personal interactive entertainment over the last few years.

What I have not seen is the smooth convergence of TV and the web that was envisioned in the 1990s. This did not occur. Today, we still have TV/cable that pretty much works the same way it did in the 1990s and the web has become richer but the convergence has not occurred. I think the two industries are intentionally trying to figure this out and no one really wants to the change it all. YouTube and other online video sites are in a big fight with traditional content providers and from what I have seen, it appears that the traditional content providers are resisting the convergence and change. So what else is new?

Well, back to my original topic. I am watching a Comedy Central show right now and writing this blog entry. Maybe in 10-years we'll see the convergence of TV and the web. I doubt it because that is what everyone thought 10-years ago in 1997.

Saturday, March 10, 2007

Search In 2007

Today, everyone knows how to use Google or a search capability. It is very intuitive and even my son who is in first grade has figured out how to use the search feature in online dictionaries like Merriam-Webster. What surprises me recenlty is the how the enterprise search market is becoming a very competitive space.

A few years ago, Google and Yahoo! were the two enterprise level products on the market with an low cost to entry. This is a critical point in the modern IT environment. Today, there are numerous open source and proprietary solutions all claiming some type of advantage in their implementation of search technology. I can name quite a few search technologies today that I have reviewed Google Search Appliance, Yahoo SDK, Amazon A9 OpenSearch, IBM OmniFind, Corpora Find!, Microsoft Sharepoint 2007 Enterprise Search, Nutch, Lucene, Autonomy/Verity, and whole lot of embedded search engines. In the Java world, Lucene appears to be the best of breed search framework. As a matter of fact it is the basis for the IBM OmniFind Yahoo! Edition search technology.

I really like the Google appliance mentality. You just install it and use it. It just works kind of like your refrigerator. When was the last time you had to do any type of maintenance, patches, reconfiguration, optimization, of your refrigerator. You do not! That is the point. You just use it, it works and you keep it clean and it looks good. That in summation is what I consider the baseline needs and wants for a search solution. No one else has anything like it on the market yet.

I have designed and built solutions using Lucene, Verity, Google API and Yahoo! SDK. Generally speaking, they all work in a similar fashion. Personally, I prefer the appliance approach that Google provides. It just works. It uses the same Google API that you can already use and implements a dedicated hardware based solution that requires very little systems administration overhead.

As for the state of enterprise search today, I would say the the IBM OmniFind Yahoo! Edition is a powerful open source entry into this highly competitive space. With it's low-cost to entry and open source foundation, it looks like it will mature into a viable competitor to the Google Search Appliance in the next few years. Comparing the Google API to the Yahoo! REST based search SDK, I think the Yahoo approach using REST is much easier to use from a developer perspective.

I would not count out the open source product Nutch either. It is based on Apache Lucene which is the defacto best of breed Java indexing framework. Nutch has been brought into the Apache Software Foundation which is a powerful force in the open source universe.

As for the state of search, I think the leaders remain the same and the fresh new open source competition is breathing life into this area that was once completely dominated by a few products.

Saturday, February 24, 2007

Platform Agnosticism and Ultra-Portable Computing Machines

I have been on the front lines of the platform wars for more than a decade now. I was an early adopter of 32-bit DOS extender technologies (DesqView, Concurrent), OS/2, 32-bit Windows, Linux, Citrix, virtualization and other platform specific extension technologies for which some have since long come and gone. Today, virtualization, cross-platform languages, Java, fast processors, cheap memory, cheap storage and open source technology have changed everything. The concept that a specific platform will dominate no longer fits the paradigm shift of the always connected online future.

I have spent the past five years working towards platform agnosticity and have only recently been able to experience it in practical form. It has been three months since I switched to using Mac OS X as my preferred environment. Since, then I have been able to truly practice, research and experience cross-platform computing and software engineering. Java, being designed cross-platform is a key enabling technology.

The online Google Docs and Spreadsheets and all their online applications has pushed the envelope even further. I now use my online Google apps more than anything else and use my desktop applications (OpenOffice.org, MS-Office) as online extenders for necessary functionally where ever I am. This is an inversion of how most people perceive these online applications. Anyway, I have lived this inverted environment since last summer (almost 8-months now) and can confidently say that it works for me and is the future of computing. I blogged about this last year. ("Online Everything Is Getting Closer") This year I think the "online everything" is even better because I have been able to live it and push the innovation further. Google's recent announcement of Google Apps for Enterpises is a testament. There is also a rumor that an online presentation tool is in the works! That would be impressive.

I have found that open standards, open source technology have had a larger influence in the mutli-platform world more than enything else. Prior to switching to Mac OS X, I was primarily a Linux and Windows user/developer using Java technology. I always preferred Linux overall but now my MacBook has become a 'better Linux than Linux' in my experience. With Linux there was always something missing in the GUI (KDE, Gnome) application spaces. On the Mac this missing gap is closed by the numerous robust GUI applications that exist on the Mac OS X platform. In addtion to the excellent Java support built-in to Mac OS X, there is an active user base/community that just focuses on the getting things done. As Apple has been pushing, 'It just works.'

This year is shaping up as I anticipated. I have moved most of my computing work online and can access and collaborate online using any computer platform, anytime, and anywhere. My search now is for ultra-mobile computing device that has a full-blown Linux like OS allowing me to access all my information whenever and where ever I need. This new device must not sacrifice any computing power or external peripheral capability via USB or Bluetooth interfaces

I recently checked out the Sony UX series devices which are incredibly tiny machines based on Windows XP Professional. It uses solid-state hard drives (no moving parts) which is highly desireable in an ultra-portable device. Nokia has the N770 and N800 Linux based devices which are getting closer. I have not seen the N800 in person yet. I have been using my Sony PSP as a portable browser for two-years now and it just works as browser in addition to being an excellent multimedia gaming device. I also recently got to play with the Sony Mylo hands on and this is getting closer but not quite there yet. Some people like the Mylo but for me, it does not meet the full-blown computer requirement.

I am hoping that Apple comes out with something in this ultra-portable device space that 'just works' like my MacBook does. I tried out my mobile phone a few years ago as an internet platform and very quickly ruled that out because it is 'too small' and limiting as a computing device for power users or developers. Not much has changed in this space recently. Plus the bandwidth is not there in the US for the mobile smart phones. Today's mobile phones are too small and too slow for practical use as a serious computing platform.

I am looking for a 'better Linux than Linux' in a ultra-portable form factor that uses solid-state storage with no sacrifices. My best bet desirable device today would be a Linux based device that is ultra-portable. Maybe Apple has a ultra-portable Mac OS X device in the works? I like the Sony UX series but being a Windows device and relatively expensive puts a negative spin on it. Java is a key open source enabling technology that must be supported given its scalability and cross-platform design and having it is my preference being a Java technologist. Given the state of wide Java support today in Linux, Mac OS X, Unix, and Windows I do not see this as an issue.

Anyway, the migration of moving everything online allows me to be very critical of the ultra-portable computing device I want in the future. Notice that in the ultra-portable environment, I really have not focused on any platform. Just the device form-factor, features and capabilities as an ultra-portable computing machine that sacrifices nothing. No one has attained it yet but I know what the target requirements are for my ultra-portable computing machine are and it does not yet exist. I prefer something that is Linux/Unix centric since that is where most of the innovative ideas and cutting edge computer science research occurs today. Maybe later this year someone will surprise the world and come up with an innovative new product! I think in the next few years we will definitely see this happen. Whoever produces just has to remember that cost is also a factor.

Thursday, February 08, 2007

Yahoo Pipes

Leave it up to the IT industry to come out with a new product out of the blue. Yahoo Pipes has the opportunity to be one of the killer apps of 2007. I was just experimenting with RSS aggregation in java and php last year. I had a lot of good ideas but never go around to them due to the usual not enough time to focus on any of the ideas. Recently, I found a decent java webapp called Flock that is no longer maintained but has the right idea. Flock could use some nice enhancement. And then just yesterday, Yahoo! announces Pipes!

Details of Pipes are hard to confirm since the site is overloaded and they have a nice banner message stating that "Our Pipes Are Clogged" due to overwhelming demand. From what I have read, it appears to be some type of RSS aggregation/mashup tool that provides some visualizations on what you are creating. If it is anything like the Yahoo! Site Builder, then it will probably be a rich client java application that provides a nice GUI.

At any rate, when I finally get a chance to see Pipes first hand in the next few days of weeks will blog about it and see if it stands up to the over hype.Link

Sunday, January 28, 2007

Nice Java Development Platform

I have been using my MacBook for almost two months now and feel quite comfortable with it. I have been using it exclusively at home working and experimenting with Java web applications that are running on my Linux servers. All I can say is that if you are looking for the next thing and are not tied to Windows then Mac OS X 10.4 Tiger is it based on my experience.

The Mac OS X 10.4 Tiger user-interface is very intuitive and the Finder, Dashboard features are exactly what I was looking for in a next generation GUI. OpenOffice.org, Eclipse, and all my other tools for Java development work as advertised on Mac OS X. The next release Mac OS X 10.5 (Leopard) has even more features that take it to the next level.

For Java development, I can now say that Mac OS X is a really good solution. Much better than Windows primarily because of the underlying Unix foundations. If you are administering Linux servers and need an extremely consistent GUI, the Mac OS X is it. Your mileage may vary as I always like to say.

I created a new blog, The Mac Katana, devoted to my experiences on the Mac. Check it out if are interested.

I wish everyone good luck happiness and joy in this new year, 2007!

Saturday, December 30, 2006

Project Looking Glass 1.0 3-D UI

The future of user interfaces will be 3-D and it looks like the Sun has been busy with its Project Looking Glass 1.0 3-D user interface. "Sun Releases 1.0 Looking Glass Interface". As for the future, the 3-D user-interfaces are qutie impressive from the screenshots I have seen. You have got to check them out for yourself.

Just noting it here since Sun recently put a 1.0 out there for the open source community to experiment with and evolve.

Friday, December 29, 2006

OpenOffice.org 2.1 on the Mac OS X

I have been using OpenOffice.org on Windows and Linux for many years now. I just recently got myself a MacBook and have spent the last three weeks using it and learning how Mac OS X 10.4 (Tiger) works. I have to say that I am getting more comfortable using the Mac OS X. I am using Firefox as my browser, have gotten used to the various Mac OS X applications and am now getting serious about using my new Mac as a software development machine. I primarily develop in Java so getting all my development tools setup on the Mac is a must. This includes Eclipse, NetBeans, Tomcat, JBoss, Nvu and OpenOffice at a minimum.

Well I must say that OpenOffice runs fine on the Mac OS X after finally getting it installed last week. Currently you must have X11 running in order to use OpenOffice on the Mac. A pure Aqua version of OpenOffice is in beta and should be ready for primetime in 2007. Look here for details. I downloaded NeoOffice which runs fine however, for me I noticed a few performance issues with NeoOffice. So I reverted back to OpenOffice as my word processing, presentation, spreadsheet, and desktop database suite of productivity applications.

What really amazes me is how brainwashed so many users are with the perception that they 'must have' Microsoft office in order to function on a computer. I met several Mac users that said they purchased Office for the Mac in order to do word processing. Wow, the marketing machine at Microsoft sure does have everyone fooled.

This is the reason why I am blogging about OpenOffice on the Mac. It is available today and works as advertised. If only more Mac users or recent converts were aware of OpenOffice and its capabilities they could save themselves a few dollars and rid themselves of Microsoft. Personally, I enjoy have a Microsoft free laptop using my new Macbook. I have had the same on my Linux notebook for years and it sure does feel great not having to be dependent on Microsoft for my personal computing requirements.

Too bad that I work in a predominately Windows environment at work. It would be nice to see Macs brought into the workplace. Based on my experience, it just works like my refrigerator. No strange behavior, bugs, or just plain oddness to worry about anymore.

Sunday, December 10, 2006

My Initial Mac

After years of working with Windows, Linux, OS/2, I have always wanted to get into the Mac but never had the motivation or reason to spend the money to get a Mac. Well with the release of the Intel based Macs earlier this year and the ability to run Linux and Windows in virtualization via Parallels and soon VMware I took the plunge and bought me a MacBook on 11/29/2006. After seeing the features of Windows Vista and waiting for its release, I don't see any compelling reason to upgrade to Vista within the year or so unless it occurs at work. For personal home, entertainment, and personal multiplatform research use, I am going with Mac OS X.

After using it for a few days I am happy to say that I really like the Mac OS X 10.4 Tiger and the Mac in general. There are some extremely intuitive and unique capabilities on the Mac OS X that I have not seen on Linux, OS/2, or Windows. The Mac OS X 10.4 Tiger Dashboard, Expose, HotCorners UI features name just a few. These are the features that I have been using extensively. There is this UI automation feature which I haven't even gotten into yet. I forgot the name of it but it looks exactly the type of thing I was looking for in a 21st century operating system.

As far as multimedia is concerned, the Mac just blows away Windows in my opinion and experience. I have used Windows Media Center Edition and compared to the Mac, it looks like a half-baked experiment. The Mac multimedia device experience is like an extremely polished and intuitive appliance. It is just something you have to experience personally is all that I can say.

I still have a lot to learn about the Mac architecture, Darwin, Cocoa, Aqua, X11 on the Mac and more. After just running on it for a few days, I am excited to say that I like it! I will be blogging a lot more about the Mac in this blog and more in the next few years. Given that I do almost everything on the web or online now, switching to a Mac was a piece of cake for me. Mozilla Firefox and Safari work nicely and I had almost nothing to learn from a user perspective.

From a software engineering perspective, Mac OS X totally embraces Java which is good for me since I have been working with Java technology for a long time. I have been finding quite a bit of open source stuff for the Mac which is nice to know. I really like all the Dashboard Widgets. For the future, I have been looking at the previews of Mac OS X 10.5 Leopard that Apple has been putting on their website and it has some innovations that again will make my next Mac OS X upgrade in 2007 a more capable Mac. The new Spaces and TimeMachine capabilities are a step into the future.

I will continue working with Linux and Windows since that is how I make a living but it would be nice to be able to make a living working on Mac OS X for web development. At any rate, I hope your future computing is as enjoyable as I foresee mine will be. After just a few days of using my MacBook, I feel better about my computing future already. In addition to all the above, I forgot to mention that my MacBook just aesthetically looks and physically feels cool under my fingers.