Log on:
Powered by Elgg

Matthew Weaver :: Feeds

December 29, 2009

2nd International "Cloud Expo Europe" Call For Papers Now Open

SYS-CON Events announced today that Call for Papers for the 2nd International Cloud Expo Europe is now open, which will take place this summer in Prague, Czech Republic. Cloud Expo is the world's leading Cloud-focused event and is held five times a year, in New York City, Silicon Valley, Prague, Tokyo and Hong Kong. Over 200 corporate sponsors and 10,000 industry professionals became part of Cloud Expo since its inception, more than all other Cloud-related events put together worldwide.

read more


December 28, 2009

CES Features Record 330 New Exhibitors

A record number of new exhibitors – more than 330 companies – will join more than 2,500 exhibitors in unveiling their latest technology innovations at the 2010 International CES. With more than 20,000 new products on display, the International CES is the world’s largest consumer technology tradeshow. CE Spotlights throughout the CES show floor will feature key market categories including apps, green technology, gaming, location based services and more. Owned and produced by the Consumer Electronics Association (CEA), the 2010 International CES returns to Las Vegas, January 7-10, 2010.

read more


December 27, 2009

Record iPhone Downloads Post Holiday Week

PlayHaven, an online universe of fan communities for iPhone games, and Mobclix, the industry's largest targeted mobile ad exchange, released data today predicting that iPhone game usage is likely to set records in the week between Christmas and New Year's Day, soaring to levels 28 times greater than the same weekly period last year. "The week between Christmas and New Years has become the great 'Game Rush' for iPhone games - essentially what Black Friday is to brick and mortar retailers," said Raymond Lau, co-founder and CEO of PlayHaven. "This soaring increase in iPhone game downloads is even more spectacular when you consider the slow holiday sales this year for console game titles."

read more


Hybridfox: Elasticfox 1.6.x on Viagra

Now we have a Eucalyptus’ Private Cloud installed and running on our premise, and it remained kinda of an artifact in our data-center for sometime. So I thought why has not someone written anything about how make to make Elasticfox work with Eucalyptus. But there were quite a few pointers to what version will be ideally [...]

read more


December 23, 2009

View Cloud Power Panel on SYS-CON.TV Live From Times Square

View the live panel discussion taped on December 8, 2009 at SYS-CON.TV's 4th-floor studio overlooking Times Square in New York City a very special "Power Panel" in which Cloud Computing Expo Conference Chair Jeremy Geelan and three top industry guests from EMC, Intel and Unisys will be looking “under the hood” of the fastest-growing new trend in all of Enterprise IT – Cloud Computing.

read more


December 22, 2009

Unveiling the java.lang. OutOfMemoryError

When we encounter a java.lang.OutOfMemoryError, we often find that Java heap dumps, along with other artifacts, are generated by the Java Virtual Machine. If you feel like jumping right into a Java heap dump when you get a java.lang.OutOfMemoryError, don’t worry, it’s a normal thought. You may be able to discover something serendipitously, but it’s not always the best idea to analyze Java heap dumps, depending on the situation you are facing. We first need to investigate the root cause of the java.lang.OutOfMemoryError.

read more


iThain's iPhone Crystal Ball

We are now at the end of 2009, so I thought I would polish my iPhone Crystal ball for 2010. Whilst gathering all my forward thinking ability, I though back to what we have seen in gadgets and technology etc in the last 10 years. Remember waiting with bated breath for the catastrophe of the Y2K bug? Nothing came of that but in the last 10 years we have seen many things that have changed our tech-world…

read more


December 21, 2009

IBM Introduces New Cloud Offerings

IBM Rational Software Delivery Services for Cloud Computing include a set of ready-to-use application lifecycle management tools for developing and testing in the IBM Cloud, and use infrastructure management capabilities, to help organizations build software applications in the cloud. With these new services, clients can lower costs and respond quicker to organizational demands. For example, organizations can reduce the time it takes to provision a test environment from weeks to hours, and in some cases even minutes.

read more


Case Study in Secure Software Development

Modern inter-networked software architecture created for today’s “on-demand” business needs have fundamentally increased the susceptibility of applications and, more important, data to security-related attacks and compromises. The rapidly changing environment: increased data breach/loss incidents, increased number of regulations and compliance requirements, potential liability/litigation concerns and erosion of reputation and public confidence provides ample drivers for development teams to have a security mindset.

read more


December 20, 2009

Is Monitoring Cloud Computing Assets Easy?

up.time makes it easy, right out-of-the-box: Deep Virtual Server Monitoring: CPU ready, Memory Balloon, Memory Zero, and many more granular Metrics; monitor Physical, Virtual, and Cloud: Services, applications, servers and more. Onsite/remote datacenters, hybrid environments, outsourced infrastructure; real World Cost Savings: Per-Physical-Server Licensing. Reduce costs up to 90%.

read more


December 18, 2009

The First Fully Functional Cloud-based “D” or Desktop

Sun Microsystems has unveiled what is being called the first fully functional cloud-based Desktop as a Service (DaaS) for grammar schools and community colleges. The new product is in line with Sun’s vision to build and deploy public and private clouds that are open and interoperable. In a venture with another tech firm, Ashbourne Technology Group, in Southampton, PA, Sun is offering a secure, cost-effective computing solution delivered anytime, anywhere via the cloud. It’s a virtual desktop, and it works with all leading OSs, including Microsoft Windows, Mac OS X, Linux and Solaris to just about any client device, including Sun Ray thin clients and other platforms with Java-based browsers.

read more


December 17, 2009

Stepping Aside as CEO to Focus on Canonical's New Cloud Offerings

In his blog entry "My New Focus at Canonical" posted on Thursday, December 17, 4:48 PM, Canonical CEO Mark Shuttleworth announced his resignation as CEO: "From March next year, I’ll focus my Canonical energy on product design, partnerships and customers. Those are the areas that I enjoy most and also the areas where I can best shape the impact we have on open source and the technology market."

read more


Oracle Maps Its Cloud Computing Strategy During Cloud Expo Keynote

"We've been fairly quiet," said Rex Wang, VP of Infrastructure and Management at Oracle, this morning as he gave the Morning Keynote at the third and last day of the 4th Cloud Computing International Conference Expo at the Santa Clara Convention Center in Santa Clara, CA. Wang was referring to Oracle's relative silence to date vis-a-vis Cloud Computing. His intention, he said, was to share with the assembled delegates Oracle's thoughts on the space...

read more


Is Test Overlap A Necessary Evil?

In a recent blog post titled "The Limitations of TDD", Jolt Awards colleague Andrew Binstock shared some reservations Cédric Beust has about TDD. When a person of extensive experience like Cédric speaks about testing, you pay attention. And I did.


Among the very interesting quotes from Cédric that Andrew has reproduced, the following really struck me:
Another important point is that unit tests are a convenience for *you*, the developer, while functional tests are important for your *users*. When I have limited time, I always give priority to writing functional tests. Your duty is to your users, not to your test coverage tools.

You also bring up another interesting point: overtesting can lead to paralysis. I can imagine reaching a point where you don't want to modify your code because you will have too many tests to update (especially in dynamically typed languages, where you can't use tools that will automate this refactoring for you). The lesson here is to do your best so that your tests don't overlap.
Trust me, as a test-infected developer, I would love to stay in a state of self-delusion and pretend that test-induced paralysis doesn't exist. But that would be a lie: the reality is grimmer than the wonderland of testing I would wish to live in. The reality is that tests both encourage and resist change.

On the one hand, tests encourage and support refactoring: when the behavior of the application should not change but the code needs to be re-organized, tests are a blessing. They give you the courage to dare changing code because of the immediate feedback they give when you've been refactoring a little too aggressively. And this is priceless.

On the other hand, tests resist behavioral changes. Because tests have captured all the nitty-gritty of your application, when comes the time to change its behavior, you will need to invest time to adapt your tests accordingly, and this whether you rework the tests first or not. As Cédric pointed out, in a dynamically typed language, this is immensely painful as development tools are almost useless in assisting you with the required changes. Similarly, if you use mock objects, you are good for going down a deeper Circle of Hell, where more painful and frustrating manual fixes await you.

So, is there any hope out of this love / hate relationship? Knowing that "the only way to go fast is to go well" dumping tests altogether is certainly not an option. Could the solution lies in Cédric's very last words: "do your best so that your tests don't overlap"?

At this point, I don't know yet but I've decided that, as a starting point, I should start to estimate the amount of overlap I'm dealing with in the Erlang game server I'm working on. Interestingly, what I've found could pretty much apply to the vast majority of Java projects I've been previously working on. Maybe it applies to your projects too?

The first thing I've looked at is the testing overlap that exists between two layers of our application:

As you can see, the overlap exists because tests of the upper layer rely on mocks to simulate all the happy paths and most of the unhappy paths of the underlying layer. The overlap is not total because a layer tend to reduce the granularity of the unhappy paths it faces internally in order to expose the upper layer to a limited amount of bad situations to deal with. Hence the limited amount of mocked features in the overlap area.

When applied to a typical vertical slice of our system, it looks like this:


This is not too bad. Until the wind of feature change comes blowing on this mock-based card-house of tests, life is peachy.

Until now, the tests I have been looking at were only unit and database ones. If I add our functional tests on top of the overlap diagram, here is what I get:


Now the application container is also tested, plus we get an insane amount of overlap.

But the amount of overlap is not what I want to discuss first: it's the test coverage profile that I want to look at first. Notice how the functional tests explore less unhappy paths as they exercise deeper application layers. This can be explained simply: some unhappy paths are very hard to reproduce via the reduced set of functionalities exposed at the top level, oftentimes because they require a very specific and complex state to be established beforehand or conditions that could only be met in case of low level failures (loss of networking, for example).

It's obviously out of the question to consider dropping functional tests in order to reduce the testing overlap. As Cédric said, they are the only tests that have a true value for the end user of the system. My experience confirms that you can reach a nearly flawless first-time client integration if your functional tests have a coverage profile that is similar to the one in the last figure above.

The only problem lies in the quality of feedback you get from functional testing: because it's impossible to make the gory details of the errors encountered when exploring unhappy paths surface at the uppermost level, your system must have a solid logging strategy that allows you to precisely track issues, should you decide to code using functional tests as your only safety net.

So are the unit tests overlapped by the functional tests the ones that must go? Cédric again gives the answer: if time is short, it's better to focus on the functional tests. Of course, if you have a battery of unit tests in place, keep them.

But, maybe, just maybe, as you move to your next project, consider writing functional tests firsts? That way you would have built first the tests that truly matter and, if time permits, write unit tests as you implement the features expected by the functional tests.

read more


December 16, 2009

Developing Software Collaboratively with Hudson

Hudson is an open source "continuous integration" (CI) server initially developed at Sun. This whitepaper describes the capabilities of Hudson, compares Hudson’s key features to those of competitive offerings, and summarizes why Hudson has quickly become the industry’s most widely adopted open source CI server.

read more


A Guide to Cost Savings With Sun GlassFish 3.0 Portfolio

Today's IT managers strive to deliver dynamic applications and interactive workflows to growing numbers of users with greater efficiency and at a lower cost. This whitepaper describes how the Sun GlassFish Portfolio can help organizations to create cost-effective services solutions.

read more


The Google Phone?

There is this thing about the Google Phone which I really can not grasp. Read e.g. this article. So HTC is obviously making an unlocked phone called the Nexus One. And just because it is unlocked it is said to be a Google Phone. What most people in US seems to have missed is that there is a big market for phones _not_ sold through operators. They are unlocked, open and available through retail-chains. China is a huge market for those kind of phones where the operators channels some 10% only of the total volumes (150-200M phones).

read more


Moyea JavaScript API Is Available for Interaction Using HTML Syntax

Instead o only a static display-and-browse relation between flash video player and its users, Moyea JavaScript API(Application Programming Interface) provides a real-time, dynamic and interactive response to customers’ operation. Shenzhen P.R.C -Dec 15th , 2009 - Moyea Software Co., Ltd. (http://www.moyeamedia.com/): a rising developer of flash applications for the internet and multimedia software, today officially [...]

read more


December 15, 2009

Eucalyptus: Cloud Computing Privately

In our constant pursuit of exploring new technologies, we stumbled upon the Eucalyptus and greatly contemplated on its installation. Being driven by our leaning towards cloud. Eucalyptus really clouded our minds and we decided, "no pain, no gain". And here we are having successfully installed Eucalyptus and here is how we did it. We have the Cloud Controller, the Cluster Controller and Node Controller all up and running. But the document is still a draft version.

read more


December 14, 2009

Staying Connected in the Wireless Mobile Year Ahead

I was wondering what advances 2010 will bring us all to help stay connected in the Wireless Mobile year ahead? Recently I traveled to California for an iPhone Conference and heard of something that I had never come across - 3G Congestion. I was told that this is usually common place in shopping malls on a Saturday, where folks are emailing, texting and browsing etc from their 3G enabled handsets/Smartphones.

read more


December 13, 2009

CloudBerry Explorer for Amazon S3

CloudBerry Explorer allows end users to accomplish simple tasks without special technical knowledge, automate time-consuming tasks to improve productivity. AWS Import/Export accelerates moving large amounts of data into and out of AWS using portable storage devices for transport. AWS loads your data directly onto and off of storage devices using Amazon's high-speed internal network and bypassing the Internet. New version of CloudBerry Explorer automates the process of creating the manifest file and digitally signing it along with the job identifier with your AWS Secret Access Key and placing that signature file on the device.

read more


Four Steps and 90 Days to Transform a Datacenter to the Cloud

All this while the IT team is faced with another reality, the main corporate datacenter has 6-18 months left in terms of shelf life. The datacenter's power distribution and patch panel design was not built to handle the massive density and cooling power requirements. The sprawl of unstructured data, app servers, web servers and now virtual machines is proliferating at a pace that will force a space crunch in a time frame that is counter to the challenge from the business in terms of capital preservation and opex reduction.

read more


December 12, 2009

Calling Client Side JavaScript from a BIRT Chart

A couple of months ago I detailed a new feature for BIRT charts that allows multiple hyperlinks to be attached to one the supported events. That post is available read more


Computing and Tablet Technology

PC World's Ian Paul recent article asked, "2010: The Year of the Tablet Computer ?" That is a good question Ian. RobiNZ CAD Blog asked in 2007 if 2008 was the year of the Tablet as well. The theoretical applications of technologies as opposed to their practical adoption is something we all have witnessed. Given the increasing level of news and rumors around tablets, with dozens of new tablet devices planning to launch, one would wonder if the movement to wide spread adoption of tablets is here and why?

read more


December 11, 2009

A Light Java Runtime to Bundle with Applications

Steve Jobs once said that Java is a big heavyweight ball and chain. Good news: the ball is now optional! In this article, I share results we achieved after implementing a component deployment model, also known as JRE modularity, for the core of J2SE 5.0 and Java SE 6. The technology's been in production use for more than two years and proved effective. This is not a mere "Java gets smaller" message. Given that Project Jigsaw is emerging in JDK 7, I also offer some insights on the challenges that any implementation of modularity for the Java SE core may face, all derived from our practical experience.

read more


<< Back Next >>