Richard Walker welcomes you to Soft Machine³

UPDATE: Soft Machine³ has moved to its own domain, hosted elsewhere. Better now than later, and this in no way a criticism of

At this site Over there I will share and discuss tutorials, web development, programming techniques, concurrency & scalability, MyEclipse, Java, Google Web Toolkit (GWT), Ext-Gwt (GXT), Android phone, Chrome, Firefox, Firebug, Yahoo Pipes, “Cloud Computing”, tech blogs, digital media, wikis, open source, and social media. Comments are welcome, but I reserve the right to moderate them.

The content found here is my own, where I am a free agent, not affiliated with an organization or commercial entity. The purpose is to share knowledge with a wider community, not limited to colleagues and clients.

Hence, this. Thank you for coming by! Drop me a comment here or there. Whatever you do,

don't panic


Posted in meta. Tags: . Comments Off

a walking city » Blog Archive » Qr Codes Made Even Easier With Android

a walking city » Blog Archive » Qr Codes Made Even Easier With Android.

In my previous entry I mentioned that I would like to see specific Intents that let you use the encoding and decoding ability of ZXing from other applications and the ZXing team responded that the latest build had this exact functionality! Now all you have to do is install Barcode Scanner on your phone and your applications can take advantage of its features. Specifically, it provides Intents that allow your application to use the encoding and decoding functionality. The Intent mechanism makes it almost too simple to integrate this functionality into your application.

Encoding – “”

To encode a string into a QR Code Simply create an Intent with the Decode action specified, two string extras specifying the Type and Data and call startActivity():

The string values for the Intents and the extras values can be found in the Intents and Content classes in the ZXing source code.

Posted in note. Tags: , . Comments Off

Historically Important: Sanjiv Jivan’s Blog: Update on future direction of GWT-Ext (Licensing debacle)

NOTE: This is of “historical” importance because it was the cause of the “early death” of Gwt-Ext. It’s no doubt for the best, because SmartGwt has supplanted it.

So, there is no longer a call to use a thinly-wrapped Javascript library – both SmartGwt and Ext-Gwt (a.k.a. Gxt)  are written in Java and will take full advantage of improvements to the GWT compiler.

In addition, it makes it easier for libraries like SmartGwt and Gxt to track future widget developments and changes such as the new event handling in Gwt 1.6

Sanjiv Jivan’s Blog.

In light of ExtJS going GPL, I’d like to provide an update to GWT-Ext users on the future direction of the project. While many users would like to see GWT-Ext continue to provide an LGPL stack with Ext 2.0.2, a few others felt that GWT-Ext should just go ahead and support the GPL versions of ExtJS.

One of the early adopters of GWT-Ext sent me an email yesterday voicing his concerns saying that since GWT-Ext fully depends on ExtJS, moving to support Ext GPL would be the right thing to do. He goes on to say that “..licensing is a big deal, but to most people who are using the ext product, GPL is not a bad change. The biggest hits will be the big companies that are using it, not the little people. GPL for these bigger companies is perfectly fine.”

I value his opinion and I’m sure some others feel the same way, but I have a different view on this matter. There are two aspects to ExtJS going GPL :

The first is the ethical aspect of a company choosing to change licenses on a dime and the questionable way they got to the point they have. There are several other excellent Javascript libraries like SmartClient that haven’t gained the recognition they deserve and community support only because they were honest and consistent in their licensing model. While its no big deal to many to buy a (currently) reasonably priced commercial Ext license, supporting such a move from LGPL to GPL is an extremely bad precedent to set in the OSS community that has flourished on the basis of trust.

Quick Guide to gplv3 compatibility

Quick Guide to gplv3 compatibility

Note: messiness above is Adobe’s fault, caused by the “svg” standard (or lack thereof)
Note: “svg” is a rare file type, “scalable vector graphics.”
Posted in note. Tags: , , , , , . Comments Off

AWS Toolkit for Eclipse

Amazon Web Services announces AWS Toolkit for Eclipse.

The initial launch of the AWS Toolkit for Eclipse is targeted at Amazon EC2 developers and provides basic management features along with tools for deploying and debugging Java web applications.

The AWS Toolkit for Eclipse, based on the Eclipse Web Tools Platform, guides Java developers through common workflows and automates tool configuration, such as setting up remote debugger connections and managing Tomcat containers. Previously, developers needed specific knowledge of several systems and manual processes to get Java web applications running in scalable configurations on Amazon EC2. The steps to configure Tomcat servers, run applications on Amazon EC2, and debug the software remotely are now done seamlessly through the Eclipse IDE.

Shared by

Posted in note. Tags: , , , , . Comments Off

Annoucement : SmartGWT Enterprise Edition Release – Google Web Toolkit News –

Annoucement : SmartGWT Enterprise Edition Release – Google Web Toolkit News –

Moments ago Isomorphic, creators of SmartGWT, announced SmartGWT Enterprise Edition. SmartGWT Enterprise Edition (SmartGWT EE for short) is a commercially licensed version of SmartGWT that includes Java Server side functionality, additional tools, and a classic commercial license in lieu of the LGPL. For teams with existing Java functionality, SmartGWT EE provides greatly accelerated integration with SmartGWT’s visual components. In many cases it is possible to take existing Java methods in an application and bind a SmartGWT grid or form to those methods without writing any new code, without the need for redundant DTOs (data transfer objects), simply by specifying what method to call in a DataSource XML file. SmartGWT EE also provides wizards that generate DataSources which immediately provide full read-write binding to any Hibernate entity or SQL database table, including the ability to search, update, delete and add new records. You can easily add Java business logic that runs before or after the Hibernate or SQL binding, which can modify the request before it executes, modify the output, or take any other action

Posted in note. Tags: , , , , , , , . Comments Off

Sun Microsystems CEO Jonathan Schwartz on What’s Next for Open Source

Photograph of Jonathan Schwartz speaking at th...
Image via Wikipedia

Sun Microsystems CEO Jonathan Schwartz on What’s Next for Open Source.

There’s a misconception from outside the technology industry that open source is the crutch you turn to when times are tough. It’s a cost-cutting measure. There’s certainly no need for making the point to this audience, or to those attending the Open Source Business Conference (OSBC) this week in San Francisco. It’s a business model many of you know well — some of the world’s biggest businesses are built with communities at their heart.

In fact, the Internet’s most valuable brands are all free – Amazon, Google, EBay, Skype, Yahoo!, Facebook, Hi5, MySpace, Baidu, etc. Those brands reach more people and have greater affinity than just about any other consumer brands. And in the technology marketplace, Linux, Java, MySQL, Firefox, Apache, Eclipse, NetBeans,, OpenSolaris, the same applies – free is a universal price, requires no currency translation, and reaches the longest tail of the market.

That is why we, at Sun, have invested so aggressively in open. Free distribution and access to source code is our investment in the global developer community. We invest with our code, our ideas and time, and we promote and encourage derivatives. We’re reaching people we’d otherwise never reach – by earning their attention and engagement. Together, the community of developers builds on our ideas, improves and expands their potential and grows the ecosystem. Open drives innovation, innovation drives preference, preference drives adoption. The largest companies in the world are now seeing the appeal and benefit of living outside closed, proprietary systems.

Posted in note. Tags: , . Comments Off

Dr. Dobb’s | Use Threads Correctly = Isolation + Asynchronous Messages | March 16, 2009

Where Threads Fit (and Thread Pools, Sometimes)

In [1], I described the three pillars of concurrency. The first two pillars summarize the two main kinds of concurrency we need to be able to express: 1. Keep things separate, so that independent parts of the program can run asynchronously. 2. Use more cores to get the answer faster using data-parallel and similar techniques. (The third pillar is about controlling concurrency once it has been expressed, using tools like locks and atomics.)

Table 1 summarizes these two pillars, and also summarizes how well each is served by four major tools at our disposal today for expressing concurrency: threads, thread pools, work stealing runtimes, and data-parallel facilities like OpenMP.

via Dr. Dobb’s | Use Threads Correctly = Isolation + Asynchronous Messages | March 16, 2009.

Posted in note. Comments Off

Ajaxian » Firefox support for CSS3 multiple backgrounds

and there was much rejoicing in the Ajaxian commentary :)

Posted in note. Tags: , , , , , . Comments Off

Get every new post delivered to your Inbox.