Friday, January 07, 2011
Chromoting
Monday, December 27, 2010
Java Not Supported on Chrome OS, Yet
Since Google AppEngine already supports Java and Android is based on Java this should not be to terribly difficult to accomplish.
Thursday, December 23, 2010
Migrating from Delicious
Google Bookmarks needs a tag cloud user-inteface display. It may already exist but I have not found it yet. Just a matter of time to making this happen.
One last thing is that it would be nice to implement an import Delicious bookmarks with tags and notes and automatically transform them into the Google Bookmarks format. Hopefully, Yahoo! sells off Delicious and it will continue as a bookmarking service. I have come to depend on Delicious for research purposes and migrating to another service has its impacts to my daily online productivity.
Sunday, December 19, 2010
Chrome OS Notebook Cr-48 Impressions After the First Week
There are a few rough edges in the Chrome OS user experience compared to just my trusty netbook. In Chrome OS, the built-in Adobe Flash support is not reliable. This has been widely observed and reported. I have seen this behavior in the past on my Mac OS X Tiger 10.4 prior to upgrading to Snow Leopard Mac OS X 10.6. Flash now is rock solid on my Mac. As for Chrome OS in its current release, Flash crashes often in Chrome OS, especially when switching between various tabs in the browser. An update to Chrome OS that was pushed on Day 4 of my using it resolved quite a bit of the crashes but not all of them. I am confident this wil be resolved as ChromeOS matures.
Flash loads itself OS wide in the ChromeOS so it effectively crashes all the tab instances in the Chrome browser. Google or Adobe needs to fix this and make the Flash support isolate itself from other tabs and pages. Maybe Flash 10.2 will resolve this behavior. Or Google can design a way to isolate Flash from other tab instances in Chrome. This problem has been acknowledged by Google and Adobe and they are working on fixing this as a top priority. "Flash Player for Chrome Notebooks" On an additional note, Google is already working on this "Chrome Adds Flash Sandboxing" so it should be pushed as Chrome OS update soon.
The touchpad tracking in Chrome OS sometimes is inconsistent. This I can attribute to the beta nature of Chrome OS and the Pilot Program. The touchpad does not always track drag-n-drop operations. I am confident this will be resolved by Google in future updates to Chrome OS.
In the browser, there no convenient method to switch between browser window instances without using the keyboard. This is a user-interface design feature that should be easily resolved by the Chrome OS team. I have send feedback making the recommendation that ChromeOS implement a button, right-click menu action, and touchpad multi-touch gesture that performs this function. The touchpad multi-touch gesture should be the familar sweep right or left similar to how the scroll up and down currently works.
On the hardware side, a locking slot (Kensington type) is missing from the actual Cr-48. This is an easy fix on the hardware for physical security. Additionally, an input for external microphone is needed. When I was using GMail Call Phone, this became an apparent need. This is also another easy fix to the hardware design.
Other than that, Chrome OS is relatively solid and in my opinion will be one potential future platform where the cloud is more important than the hardware. The rest of the world needs to catch up to cloud-computing from an end user perspective and change their habits. Since I have been working in the cloud for several years now, the change to my user habits is very minimal. I have been a user of Google Docs since it was in beta and already made the full transition to using cloud services for everything Google Docs provides years ago.
Oh yeah one last thing on hardware is processor speed. The more the better. The Cr-48 apparently contains an Intel Atom N455 1.66Mhz chip which I think is sufficient for netbooks but not a notebook. With the larger 12.1" display, a much faster processor is needed. Especially for handling the fullscreen video. Or maybe integration of faster GPU such as NVidia, AMD, or others. This type of hardware is already on the market so as Chrome OS nears public launch sometime in 2011, I am sure the publicly available devices from various manufacturers will meet this requirement.
Chrome OS as a netbook replacement is a no-brainer. As a notebook, well there some things that Chrome OS can not replace yet. If you are doing any type of development work (applications, multimedia authoring, music editing, etc.) then Chrome OS is not yet mature enough to handle these functions in my opinion. The potential is there but the reality is that cloud services and tools are not. For instance, there is no Eclipse or NetBeans for the cloud IDE yet. Cloud development IDEs are beginning to emerge (i.e., Cloud2Code) and other tools such as Pixlr, Picnik, Creately are making serious progress for the cloud tools marketplace.
I have seen others post that Chrome OS in 2011 will be nice Windows NT 4.0 and Mac OS X 10.0 when they were first release. Chrome OS represents the beginning of a shift in user behavior and a new platform. I suspect in about 2-4 years from now it will be widely used as the cloud industry matures and more services are developed. Joe Wilcox over at BetaNews has published some really insightful viewpoints comparing Chrome OS in 2010/2011 to Windows NT4 and Mac OS X 10.0. See "Who is the cloud for?"
As a personal music device, well I use iTunes and have an iPod which is not available as an cloud service. I already have a large personal music collection so using Pandora or Slacker is not an option. Maybe some type of iTunes like services that lets me leverage cloud storage or local network accessible storage servers is in the works. The Apple 'walled garden' will not work for my personal collection of digital music. Sounds like an area for cloud innovation to me. I wish I had the time to work on something like that. I wonder is anyone is working on something like this? Hmm. I am quite sure some one is but just have not discovered it yet.
For personal online video, Chrome OS shine except for the Flash issues and underpowered CPU. HTML5 and WebM stuff all work great. I have tried this on YouTube and have not had any issues with HTML5 video streaming. Hulu works fine... NetFlix is not yet available. For video editing and authoring, YouTube has some nice editing features available now. But for professional level work there is much room for cloud innovation.
If the cloud really takes off in the next five years, I am sure the development community will adapt accordingly. For now, Chrome OS will works as a netbook replacement and web browsing device. If you use cloud applications (web-mail, Google Docs, Pixlr, Picnik, etc.) it will serve you well.
Friday, December 17, 2010
Yahoo! Closing a Few Services
I have saved and exported my bookmarks from Delicious but now the task of migrating all my tags and notes will be a bit of a pain. The features and behavior of Google Bookmarks is comparable to Delicious.
This is one aspect of the web, cloud services, and using online services that is a point of frustration for me. This is not the first time I have had to migrate from one online service to another. I thought that Delicous being so popular was well supported by Yahoo! so it should be immune to exactly the type of service interruption that is occurring soon with Yahoo! and Delicious. So this time, maybe Google Bookmarks will stick around for at least another 20-30 years.
Wednesday, December 15, 2010
Chrome OS Updates Itself Seamlessly
The traditional (non-cloud) OS update process can be entirely disruptive to what you were doing and means you have to wait until the OS is done updating itself. The restart and logon can take an additional 2-5 minutes depending on your particular configuration.
Google Chrome OS update took about 30 seconds total time to update itself last night. I was shocked to say the least. This includes shutdown, restart, and logon. For some rough numbers Chrome OS logon process is about about a 10-15 second process, shutdown is about 1-2 seconds, restart is another 5-8 seconds.
On another note, the Chrome OS sleep/awake process is virtually instantaneous. It occurs automatically when you open and close the lid of the notebook. The sleep/awake cycle on my Mac takes about 5-10 seconds; on Linux about 8-15 seconds; on Windows about 10-20 seconds depending on how it feels that day.
For a time starved home user, this is the most painless update of any OS I have ever experienced. Less time waiting for the machine and more time spent online.
Saturday, December 11, 2010
Chrome OS Netbook Cr-48 Beta
This is like an early X-Mas present from Google. The next few months is going to be fun and interesting.
Saturday, November 13, 2010
Skills and Best Jobs for 2011
The outlook for 2011 even looks good according to this source "11 Hot Skills for 2011". Project Management skills and a broad range of experience that spans systems engineering, security, and business acumen are critical. Architects must have demonstrated technical competence and be highly creative which earns a baseline respect among peers and customers. These attributes as well as highly tuned skills in project managements, leadership, and most importantly the ability to communicate well and work with diverse sets of people on every task are essential for success.
We shall see how 2011 and the next few years evolves. For now, this is a bright spot and being an optimist I agree with the surveys and assessment.
Thursday, November 11, 2010
Whiteboard Warrior
Over the past twenty years of having used paper, whiteboards, drawing tools, diagramming tools, flowcharting tools, then CASE tools, then modeling tools (lightweight and heavyweight) etc., the one common denominator has been the ability to visualize graphically my ideas. The tools and notations tend to evolve over time but the modeling intent remains consistent. The one tool that has stood the test of time has been the whiteboard, paper, and pencil/marker/pens technique. They can be done anywhere, and at anytime. Even when you don't have the paper or pen, you can do it in the dirt/sand or on napkins at a restaurant/bar.
Many innovations and breakthroughs have been conceived and communicated on napkins.
Apache Shiro has Graduated from the Incubator
Thursday, October 28, 2010
Programming Languages 2010
Java, C/C++/C#, and even PHP tend to dominate the headlines today as expected. With the modern internet and "big data" that tends to exist today, widely used scripting languages (Javascript, Python, Perl, Ruby, MATLAB) are gaining ground. The AJAX-driven rich internet continues to make these languages viable. CouchDB being mentioned with ErLang + Javascript was a surprise.
Thursday, October 21, 2010
Apple support for Java
Since this is only a rumor, I have to take this with a grain of salt. But, based the Apple/Adobe fiasco earlier this year it would not surprise me. The Mac has been the my Java development platform of choice so far. I think this would be a mistake. It makes me wonder if this has something to do with the Oracle acquisition of Sun.
Sunday, October 10, 2010
Self-Driving Cars, aka Auto-Drive
Google's engineering team are the students from CMU and Stanford that participated in the DARPA Grand Challenge series. The Stanford team ended up winning it in 2005 and the CMU team won the DARPA Grand Urban Challenge.
Imagine the changes to society if self-driving cars became the norm. The amount of additional productivity that would give back to everyone that commutes is in calculable.
Thursday, September 23, 2010
Agile and PMI Debate Continues in 2010
It basically states a viewpoint. Agile or PM-centric is just another component in the arsenal of tools for leaders to solve problems applying 'peopleware'. On a positive note, at least everyone continues to debate this issue.
Tuesday, September 21, 2010
Google Web Toolkit Tools for Java
In this suite includes GWT Designer, WindowBuilder Pro (Swing, SWT, GWT, XWT, RCP), CodePro AnalytiX, and WindowTester Pro.
This was unexpected but a welcome early X-Mas present for Java developers!
Sunday, September 05, 2010
Chrome 6
Saturday, August 28, 2010
Where is Mobile Net Access?
So I showed him and explained where the antenna was embedded in the glass windshield and in the rear glass window. Then I started thinking, what he really meant in his question was the WiFi access point for the car. In his life, everywhere he goes there is free WiFi as long as you are within range of the 'access point'. At least that is his perception of it. His laptop computer, PSP, DS, netbooks, PS3, and almost all these devices that he deals with at home and school on a daily basis all have built-in WiFi capability.
This is definitely one question I equate to "Where are the flying cars?" that I had in my head since I was around his age. It's the 21st century and we still do not have them. Therefore, I hope in the next 20-30 years that mobile net access does not turn out like the visions of flying cars has for my generation, a vivid imagination and elusive dream.
At least for the ubiquitous mobile net access everywhere, the technology hurdles are not mechanical in nature. We already have all the components available to make this happen. The companies and governments trying to solve this problem keep running into techo-political wars. It's all just techno-politics and battles now.
Thursday, August 26, 2010
Call Any Phone from GMail
Google's web applications and services are just becoming stickier.
Wednesday, August 18, 2010
The Patent Parts of the Oracle vs. Google Android Lawsuit
Sunday, August 15, 2010
Oracle lawsuit against Google over Java and Android
On a related note, Oracle also is canceling OpenSolaris which was announced in the same week. So as for Oracle's open source support, we now know which way the winds are blowing with Oracle at the helm of Java. Not to mention the JDK 1.6 fiasco a last month with Eclipse which was an early warning shot. "Oracle's Java lawsuit undermines its open source credibility" has a well written perspective on these recent events.
Sunday, July 18, 2010
Product Version 4 and Apple
Sunday, June 27, 2010
Great Overview of Android and Java
Saturday, June 19, 2010
Editing Video in the Cloud with YouTube
Saturday, June 05, 2010
Agility and the DoD
What is not surprising is the how open source technology has been successful in non-DoD organizations as stated in "Agile can help DoD save its projects". A consistent organizational pattern emerges where agility is successful on a limited scope implementation but not on a larger enterprise level. So the on going question is, how to implement agility into the existing bureaucracy? Yet another viewpoint is described in "Agile and the DoD" whitepaper. Time will tell on this one.
Monday, May 24, 2010
Graphs and Disruptive Database Technology
The transaction-less CAP-theorem and BASE (Basically Available, Soft-state, Evenutally) systems theory are of particular interest. A good argument against why the tried-and-proven ACID theory no longer always works on the web is presented and makes a lot of sense.
The article does a nice Neo4J description and walkthrough.
Sunday, April 11, 2010
Adobe's New Development Tools for 2010
Of real interest is the Catalyst expressive design tool mentioned. Read more about Catalyst in the Adobe Labs.
Father of Java Resigns and Comtemplates the Future
The future of Java innovation and where Gosling ends up will be something to watch. Here is John Gosling's blog entry announcing his decision. I think this graphic says it all.
Friday, March 05, 2010
Java on Android better than iPhone?
If you know Java and use Eclipse, you are only a few hours away from creating your first Android application. Some really impressive features on Android are GScript and Remote DB. GScript allows you to create small applications that allows the saving/editing and running of shell scripts from within Android and fire them off with a tap. Remote DB lets you turn any SQL query into a button that searches the database remotely, then displays the results.
Here's an interesting point from the InfoWorld article:
"While Java programmers will feel right at home with Android on Eclipse, it isn't just for Java programmers; the phone can run any language embedded in Java. Projects like Jython and JRuby are great solutions, and dozens are out there. There are similar options in the iPhone world, but they're crippled by Apple's fear of meta-programming and the evils that can be done with eval."
Establishing an open ecosystem and leveraging Java is where Android shines. The integration with Eclipse in particular is where minimal training is required for experienced Java developers. This is definitely a mobile platform to watch if you are a Java developer.
Saturday, February 27, 2010
Myths About Older Developers
What is particularly surprising to me is the notion that Java has become the new COBOL. The Java ecosystem exhibits many of the characteristics of what happened with COBOL over its history. However, I think Java is more dynamic and is continuing to evolve and adapt.
On another point, ageism is a area of interest to me in organizational behavior so this topic that will continue to be in the forefront in the software engineering business as our field continues to evolve.
Monday, February 01, 2010
Online Photo Editor, Pixlr
I tested the online photo editing tool, Pixlr Editor, and was able to import and crop images from my local machine with no problems. This is really impressive and just simply works.
Saturday, January 09, 2010
OpenGL and DirectX Dilemma 2010
At any rate, the bottom line is OpenGL is for the future (OpenGL supports Windows, Mac, Linux, iPhone, Android, PS3, Wii, DS, PSP, etc.) and DirectX is being driven by typical FUD (fear uncertainty and doubt) that Microsoft has been successfully using for years. So if you are a serious game developer and want to support the future of gaming (i.e., mobile and web-based), then OpenGL is a very logical choice. Choosing DirectX will locks you into Windows and XBox only which is what Microsoft wants you to do. OpenGL opens up all the best modern platforms and future mobile/web/cloud platforms of the future.
Thursday, December 31, 2009
Deploy Windows Applications with VMware ThinApp
What makes ThinApp compeling is that users run applications on virtually any computer they have access to, including kiosk and hotel PCs. They won’t need to install software or device drivers and won’t need admin rights. Applications run directly from portable storage devices, including Flash drives.
Sounds promising... this is something to research in 2010.
Tuesday, December 22, 2009
Chrome on Linux Performance
I installed the lastest Chromium on my Acer Aspire One Linux netbook and it just flies. Since doing this I have switched to using Chromium as my primary browser. The rough edges I see are Flash Player 10 support in some sites (like Hulu, Vevo) and some UI widget strangeness that are a minor annoyance. Overall, the lightning fast performance of Chrome on Linux far outweighs any of these minor annoyances which will be resolved as Chrome on Linux matures. Great job to the folks working on Chromium for Linux.
Wednesday, December 16, 2009
OS Dependency Dilemma
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
"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
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
Thursday, August 27, 2009
Web-based Diagramming!
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
The article makes an interesting analysis of the botnet Life-cycle. There are some really good diagrams.
Saturday, July 11, 2009
TweetDeck First Impressions
As a side note, TweetDeck is actually a decent application if you are a Twitter and/or Facebook user.
Chrome OS
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
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
Friday, June 12, 2009
The Decline of Blogs?
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!
Tuesday, May 26, 2009
Create Your Own Social Network with Ning
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.
Sunday, April 20, 2008
Search Engine Optimization (SEO)
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
"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
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 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 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?
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
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
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
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 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 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
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
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
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.