Practical Technology

for practical people.

April 14, 2011
by sjvn01
0 comments

It’s official: Asia’s just ran out of IPv4 Addresses

Well, that was fast. The Asia Pacific Network Information Centre (APNIC) has just released the last block of Internet Protocol version 4 (IPv4) addresses in its available pool. We knew this was coming when the Internet Corporation For Assigned Names and Numbers (ICANN) and the Internet Assigned Numbers Authority (IANA http://www.iana.org/) announced in February that the last of the world’s remaining IPv4 blocks had been assigned to the Regional Internet Registries (RIR). What we didn’t know was that APNIC would run out quickly. I, and most other people, thought that its supply of IPv4 addresses would last until at least early summer. We were wrong.

In a statement, ASPNIC announced that, “This event is a key turning point in IPv4 exhaustion for the Asia Pacific, as the remaining IPv4 space will be ‘rationed’ to network operators to be used as essential connectivity with next-generation IPv6 addresses (PDF Link). All new and existing APNIC Members who meet the current allocation criteria will be entitled to a maximum delegation of a /22 (1,024 addresses) of IPv4 space. ”

So what happened? APNIC Director General Paul Wilson explained the Asia Pacific region is the first to reach the point of being unable to meet IPv4 demand. This is due to the unprecedented fixed and mobile network growth the region is experiencing.

More >

April 14, 2011
by sjvn01
0 comments

SCO is dead, SCO Unix lives on

SCO, the anti-Linux lawsuit monster is dead. There are still twitches left in the corpse in the bankruptcy court morgue, but when even Groklaw retires from the field, you know SCO’s as dead as a doornail. But, SCO’s Unix operating systems, OpenServer and UnixWare, will live on under the aegis of a new company, UnXis.

This has some people, including Pamela Jones, editor and founder of Groklaw worried that UnXis might follow in SCO’s lawsuit crazy tracks. “Targeting end users? Uh oh. That has a creepy sound, considering the heritage of SCO, if you know what I mean.”

I didn’t think anyone with a lick of sense would try to re-tread SCO’s hopeless lawsuits, but then I’d thought from the very start that SCO taking on IBM, et. al. in the courts was a suicidal move. So, I asked the UnXis’ CEO, Richard A. Bolandz, what his plans were.

Bolandz replied, “UnXis has no intention to pursue any litigation related to the SCO Group assets acquired by the company. We are all about world leadership in technology not litigation.

More >

April 13, 2011
by sjvn01
0 comments

Twenty Years of Linux according to Linus Torvalds

The Linux Foundation, the nonprofit organization dedicated to accelerating the growth of Linux, started the celebration of Linux’s 20th anniversary at the Linux Foundation Collaboration Summit, but when is Linux’s real birthday? Is it August 25th, when Linus announced the project? October 5th 1991, when 0.02, the first public release was made? I decided to go straight to the source and asked Linux’s creator, Linus Torvalds.

SJVN: “What’s Linux real birthday?” You’re the proud papa, when do you think it was? When you sent out the newsgroup post to the Minix newsgroup? When you sent out the 0.01 release to a few friends?

LT: I think both of them are valid birthdays.

More >

April 12, 2011
by sjvn01
0 comments

Cisco: Back to Business

When Cisco CEO John Chambers said that the company had lost its way and that he was going to re-target the company, he wasn’t kidding. Today, April 12th, Cisco has shut down its popular Flip video camera business and is integrating its umi consumer videoconferencing and Eos media solutions into its business video offerings.

While some business people, such as Brian White, a Ticonderoga Securities analyst, liked this news “The Street never fell in love with Cisco’s consumer strategy and the Flip product line was the epitome of this disdain,” White wrote in a research note. Many other people have been telling me how much they’ll miss the Flip video camera. After all, the Flip created a whole genre of hand-held video cameras.

I know a lot of people are really upset about Cisco bringing down the curtain on Flip. But, with the rise of video-camera equipped smartphones, others didn’t think the Flip could have made it no matter what Cisco did with it.

More >

April 11, 2011
by sjvn01
0 comments

Google speeds up the Web with SPDY

Network engineers and hard-core Web architects know that HTTP (Hyper Text Transfer Protocol), the data transfer method used by the Web, isn’t the most efficient data transfer protocol around. So, back in November 2009, Google started working on a faster replacement: SPDY, pronounced “speedy.” And, now, if you’re using the Chrome Web browser, and visiting Google Web sites, you can see SPDY in action according to Conceivably Tech.

I’m inclined to believe these claims because when I opened some moderately complex spreadsheets in Google Docs using both Chrome 10 and Firefox 4, and taking into account their differences in JavaScript rendering speed, Chrome 10 was still rendering pages about 20% faster than Firefox from what I would have expected.

I saw similar results on Gmail, iGoogle, and Google Advanced Scholar Search. I don’t know about you, but a 20% boost in Web site performance is impressive to me.

More >

April 11, 2011
by sjvn01
0 comments

Stumbling Towards Agile

Migrating from a waterfall programming model to Agile development means far more than learning new programming techniques. A move to Agile means adopting a new way of seeing software development and project deliveries.

Agile and old-style programmers don’t have to be at each other’s throats. If Agile developers can admit that waterfall created many successful programs and waterfall programmers can see that there’s some advantages to Agile’s flexibility, they might find they have more in common than they’d thought: Creating good, solid software.

It’s easy for developers to get ticked off. Many programmers and testers invest a lot of energy in ensuring that they create the best quality software they can — and often they are so committed to Their Way of Doing Things that they hiss and spit at people who see another path.

Some people have very strong opinions on the matter. For example, Jitendra Subramanyam is no Agile fan. The director of product strategy and research at CAST Inc., a semi-conductor, intellectual property developer firm, says, “The very nature of Agile programming conspires against you.” Bits and pieces of functionality that eventually become interdependent are created and tested separately in different scrums, Subramanyam says. “New functionality is often added on top of old resulting in ‘opportunistic refactoring,’ which further muddies the architectural waters, threatens reliability and performance, and increases the cost to modify and maintain the software.”  Yack! Who’d want to do that?!

Agile proponents see the matter quite differently; many view the waterfall model, sequential software development model in which development is seen as flowing steadily downwards (like a waterfall) through several phases, as inherently flawed. Victor Szalvay, product development lead for CollabNet‘s ScrumWorks sees waterfall software development as akin to a production line conveyor belt: “‘Requirements analysts’ compile the system specifications until they pass the finished requirements specification document to ‘software designers,’ who plan the software system and create diagrams documenting  how the code should be written. The design diagrams are then passed to the ‘developers,’ who implement the code from the design,” Szalvay told me in an interview. Waterfall may sound ideal, Agile supporters say, but in the real world it doesn’t work well.

Perhaps, though, the truth lies somewhere in-between. As Lewis Cunningham, a system architect for JP Morgan Chase, suggests, “Waterfall projects have been successfully creating software for decades. I personally have been doing this for two decades (holy crap, how did that happen?) and while I have seen some less than perfect project executions, I have not seen many abject failures and certainly not at the rates some would have you believe.”

Cunningham continues, “Now, before all you Agile fan boys out there start sharpening your pencils, fingernails, and swords, let me say I am not an Agile opponent. An Agile development methodology offers some very real benefits… I just want to start with the point that waterfall is not bad (or evil).”

What does kill projects then? “Where I have seen projects fail, it usually had little to do with the chosen methodology. It usually had more to do with personal agendas, cowboy coders, bad management, and a nasty us versus them conflict between IT and business,” writes Cunningham.

Tim Ottinger, an Agile consultant, takes a broader view of what can go wrong with Agile deployments. “Sometimes organizational inertia and control issues get in the way. The largest problem is when management expects that only the programmers need to change. The truth is that Agile development touches product management, customer contact, team management, deployment, and schedule management in a deep and significant way. Getting programmers to work in pairs, test-drive code, and re-factor their systems is trivial compared to dropping individual assignments, reducing scope, minimizing work in progress, and connecting customers to development teams.”

So, what is the right way to deal with programming methodology? Cunningham stresses the importance of keeping in mind that “IT exists for the business. Period. No project, using any methodology, should ever start without that assumption and agreement.” Don’t let that, Cunningham continues, trap you into a set-in-stone approach to project planning. That’s not a problem with waterfall, he says. “It’s a problem with management. It’s a problem with the way project management has been taught,” says Cunningham.

You should also keep in mind that project management can be quite different in Agile projects because team members are given more autonomy.

Johanna Rothman, author of Manage It! Your Guide to Modern, Pragmatic Project Management and conference chair for the Agile 2009 conference, says that Agile uses different means to encourage productivity. “Agile makes extensive use of time-boxes to manage risk and finishing work. Time-boxes are an old technique to help people focus, and we use them all the time, whether we manage projects or not,” says Rothman. “Think of [this as] taking a child to a toy store or you going to the bookstore (or the wine store or whatever) and saying, ‘You have 30 minutes, and not one more’ to manage the cost of the purchase.”

But how can you make sure your kids, errr development team, actually get their work done in time? Well, according to Ottinger, you can’t do it by simply pushing speed, velocity, over other factors.  “Naive managers try to push velocity, which is the wrong way to go. Simply putting pressure on velocity will drive developers to cut corners and release messy, incomplete, partially-tested code. Instead of pushing velocity managers need to increase the capacity of the team or the workability of the system. It is a different way of thinking.”

The Agile project managers’ way of approaching problems, explains Susan Elliott Sim, assistant professor at the Dept. of Informatics at the University of California, Irvine is to “divide the work into very small units to mitigate risk, enable course corrections, and constrain scope.” She adds, “These points are especially salient when you look at Agile in the broader context of contemporary and historical approaches to software project management.”

How does this work? Angela Druckman, a Certified Scrum Trainer at CollabNet, says, “Agile project management uses the power of iterations to reduce project risk. Rather than making a lot of predictions and estimations upfront that are likely wrong, an Agile approach allows us to use the inspect-and-adapt cycle to make the best decisions possible with the information we have.”

Who is this we? The project managers? The head programmer? In Agile, the development team isn’t just a project manager and some programmers.

As Laurent Bossavit,  an Agile Alliance board member and director of the Institut Agile says, “Most previous approaches to managing the software development process were based on control. Agile is based on letting go. Paradoxically, that works a lot better and ironically provides much better actual control (in the sense of avoiding many of the ills that plague software projects, such as missed deadlines, budget overruns, poor quality, and low user and sponsor satisfaction) than previous top-down, document-heavy approaches.”

Sim concurs. “Instead of sticking to a contract to make sure that the worst case doesn’t happen, customers and developers work together to try to make the best case happen.” With this approach, there is a re-distribution of authority and responsibility among management, developers, and customers, she says. That, in turn, means everyone, not just developers and project managers, need to see software development in a new light.

Bossavit continues in concrete terms, “People who are interested in Agile tend to be keen on ‘practices’ — what people do on a day-to-day basis, as opposed to what kind of documents they write. There are a dozen or so key practices for which Agile is best known — frequent releases, short timeboxed iterations, ‘user stories,’ programming in pairs, test-driven development, visual management with task boards — and beyond that a few dozen ancillary practices.”

One of those practices is testing. Indeed, from where Jonathan Bach, Principal Consultant at Quardev, a software testing firm, sits, “The main difference between Agile and other development methods, is that ‘testing’ happens at the same time as code is written, allowing fast feedback. With ‘waterfall’ style methods, first the code is developed and then it is tested — two activities which could be months apart.” In addition, “code is delivered a lot more frequently, programmers pair up, people tend to work closely together (in the same room), there are brief stand-up meetings to discuss progress, the work is packaged into ‘stories’ or smaller units, and there may even be an on-site customer to participate in development and testing.”

So the name of the game in shifting to Agile is to incorporate testing and quality assurance into the development cycle. Instead of putting it the project’s end, as is so often the case, it’s a constant part of project development.

The end result, writes Elisabeth Hendrickson, one of the principals of Quality Tree Software and a well-known Agility expert, is that “Agile teams produce a continuous stream of value, at a sustainable pace, while adapting to the changing needs of the business.”