Monday, April 20, 2009
Oracle Acquires Sun
Sunday, April 19, 2009
Steaming Video Steps up the Game
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!
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
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
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
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
Wednesday, March 04, 2009
MVC Web Frameworks and .NET in 2009
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
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
- Multi-Lingual support.
- Searchable code structural visualization (something like this http://scitools.com/blog/2008/12/yes-searching-in-graphs.html)
- Rapid navigation for purposes for maintenance/support of inherited systems
- Vulnerability scanning (for Information Assurance purposes)
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
- Eclipse (multi-lingual) - built-in capabilities, plugins.
- FindBugs (Java)
- IBM Structural Analysis for Java (SA4J) - very impressive structural visualization.
- JDepend (Java)
- NetBeans (multi-lingual) - - built-in capabilities, plugins.
- PMD (Java)
- SourceMontor (multi-lingual) -creates nice Kiviat diagrams.
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
Saturday, November 29, 2008
Netbooks and portability
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
Sunday, October 19, 2008
Software Tools for a Third Grader
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
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
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
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 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
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
Tuesday, April 22, 2008
Google Docs now with Gears!
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.