Tech news
at TheJemReport.com
Software reviews
at SoftwareinReview.com
Hardware reviews
at HardwareinReview.com
Discuss technology
at TJRForum.com

February 22, 2007

Head First Object-Oriented Analysis and Design

Filed under: Tech Book Reviews — @ 4:58 am

I’ve been a fan of the Head First series from O’Reilly since the original Head First Java, and though I still think it could do with some improvements, it’s among the best and most innovative ways to learn a new programming technology or technique. Head First Object-Oriented Analysis and Design follows perfectly in Head First Java’s footsteps not only in its style and methodology, but also in its subject matter. This book is the natural next step to Head First Java — it might be what you read after you’ve written several meaningful Java applications and are ready to go pro.


Writing analysis

Head First Object-Oriented Analysis and Design is not unlike other Head First books in terms of teaching style and presentation. It reads quickly because each page is a collage of photos, drawings, diagrams, faux handwritten notes, sidebars, and margin scribblings; there is less of a focus on straight, ordered text, and more of a focus on the presentation of ideas in a variety of interesting and entertaining ways. One of the book’s primary examples, for instance, is a program that operates an electronic dog door. In explaining the entire development process — from taking the requirements and brainstorming potential problems to implementing, testing, and later modifying the actual Java program that controls the dog door device — you’re treated to silly photos of a dog and its owners, and other whimsical drawings that show the development process as it applies to the problem.

Instead of traditional programming problems (which I find extremely effective for learning a programming language), Head First Object-Oriented Analysis and Design uses more unusual methods. You’re given crossword puzzles, asked to rearrange refrigerator magnets, create lists, and complete sentences or phrases. While I don’t feel that these cute exercises are sufficient for teaching someone a programming language from scratch — nothing can replace programming problems that require a student to design and write programs to solve them — they are extremely effective for teaching concepts, best practices, and design patterns, which is what this book is all about.

For a book with such wacky formatting, the editing is impeccable. I did not find any typos, coding errors, spelling mistakes, or punctuation gaffes in the entire book. That’s not to say that there are none, but the reason why I point out mistakes like these is that they are very distracting to readers and can break their concentration and possibly mislead them.

Putting the book to the test

Head First Object-Oriented Analysis and Design assumes that you are already a Java programmer — not just “familiar with” or “proficient in” Java, but actually able to create meaningful Java programs without much trouble. Specifically the book is aimed at working Java programmers who may not have learned to design and develop software efficiently. Head First Object-Oriented Analysis and Design seems focused on breaking experienced programmers of bad habits, and concentrates on the process of creating a software application rather than the mechanics of writing a simple program.

The book uses only a few regular and recurring examples: an inventory application for a guitar shop, a program that controls an electronic dog door, and in the latter parts of the book, some computer games. Each of them reasonably represents a working Java program, though the real guts of the software isn’t fully shown. Presumably this is because there is hidden data and other outside factors such as machine control for the electronic dog door.

With Head First Java I was disappointed that there were few opportunities to create meaningful programs through coding exercises. I still stand behind that — you can’t learn a programming language by simply reading a book. You have to create programs to solve problems. Head First Object-Oriented Analysis and Design is more in tune with the Head First philosophy in that it requires the reader to already have programs (or at least ideas for them) to work on and refine. Readers are expected to bring their own exercises, so-to-speak. In this instance that’s fine because it deals with advanced programming material and is squarely aimed at people who should already have a number of Java applications on their resume.

Can you use this book if you don’t program in Java? Possibly — it depends on the language you’re using. The less focused it is on object-oriented design, the less useful Head First Object-Oriented Analysis and Design will be. C++ and PHP programmers should find a great deal of value in this book if they can get past the Java code and concentrate on the design concepts the book teaches.

Summary and conclusions

This book dramatically changed the way I think about writing software. Though I’ve never been a professional “for hire” programmer, I have written many programs in different languages over the years, and frequently have to code my way around problems with open source Web applications. If I’d had a better foundation in designing software for production use rather than just for academic problem-solving, I’d have saved myself a lot of time and stress over the years. This book is able to instill such a foundation in you, assuming you have a solid understanding of Java 5.0 or above.

Don’t let the page count scare you — this is a surprisingly quick read, and if you can follow the material, it’s a lot of fun as well.

Title Head First Object-Oriented Analysis and Design
Publisher O’Reilly
Author Brett D. McLaughlin, Gary Pollice, Dave West
ISBN 0596008678
Pages Paperback, 600 pages
Rating 10 out of 10
Tag line A brain-friendly guide to object-oriented analysis and design.
Price (retail) U.S. $33. (Buy it from Amazon.com)

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

February 20, 2007

Interview: The BSD Certification Group’s Dru Lavigne

Filed under: News Stories — @ 2:25 pm

During the Southern California Linux Exposition (SCALE) 5x’s mini-conference on women in open source software, BSD Certification Group member Dru Lavigne put forth the idea that free/open source software provided an excellent opportunity to inexpensively change one’s career path. Since this is an idea that has not been widely explored, Dru took some time to talk to me about it, as well as provide an update on the BSD system administrator certification program that is currently in development.


So what exactly do you mean when you say that open source should be marketed as a career path?

Dru Lavigne: I think open source provides the opportunity to bypass some of the barriers if you’re entering the career market or if you’re looking at changing your career path, because if you look at the biggest obstacles — typically a large obstacle is having the time and money to get whatever training you need. It’s easier when you’re younger and go to university, and so would have the resources to do so, but definitely once you’ve entered the workforce it’s a major commitment to do a career path change.

Another big obstacle — especially if you’re just starting out — is experience. Every employer wants employees who have prior experience, but how do you get that? With open source software, you can learn whatever skills you’re looking for. There are already people who know how to do what you want to, and there are people who are at the same level as you and can understand what you’re going through and help you through it. The people who get ahead in their careers are the ones who have mentors, and the open source community is full of available mentors. You can find someone who is at the level that you want to be on that you have sort of a natural communication style with. The mentorship can be indirect — you can just watch what they do and learn from them, or depending upon the community, if you’re using communication methods like IRC or instant messaging, you can have a real-life conversation with them. They can walk you through technical things, offer advice… for instance, people approach me and say that they’re thinking of doing something and want to know if their idea would be appreciated, or they want to know how I learned to do what I do. People who can help are out there — you just have to go out and find them for yourself.

How did you apply this to your own career path?

DL: In my thirties I decided to do a career change and the reason why was because of the glass ceiling. And so I’d already been in the career world for over ten years…

Glass ceiling of which industry?

DL: Lots of industries. I was in municipal government, which has the worst glass ceiling you’ll ever see. I also was in other male-dominated fields — I did stints as a construction worker, I owned my own moving company — that sort of thing. And… at the point where I decided to do the career change is when I was working in municipal government and the CEO was a sexist. So if you’re a woman, you shall be a receptionist and you’ll never make more than $20,000 per year. My senior manager actually provided the opportunity for me to work part time so I could go back to school — he knew I was wasting my time there.

So you got into FreeBSD initially.

DL: Yeah. So I had already been in school a year and a half, I was getting close to graduation — it was a 2-year program — and I started to look around and see what positions were available. The only ones that sounded like more than “help desk” required Unix experience. At that point I didn’t even know what Unix was, but I knew I could go to Google and ask, so I typed in “free unix” and the first place I ended up was FreeBSD.org.

So now you’re in the BSD Certification Group, right?

DL: Yeah.

And that’s actually a system administrator’s certification.

DL: Correct. We’ve been talking at conferences about it since we launched… going on two and a half years now. On the first day we talked about it in a public forum, we were absolutely shocked that people asked, “When’s the development exam coming up?” We thought there was absolutely no need for that — the whole open source development process is basically there to showcase your code. You have publically archived CVS repositories where anybody can search for your name and find everything you’ve ever done, whereas as a sysadmin, how do you prove your skills? You can maintain a server for your user group, but that’s not a big deal on a resume and it’s certainly not going to prove that as a sysadmin you know what guidelines you should be thinking about when you set up a system. The idea is that the person after me doesn’t have to figure things out or fix any mistakes I made. So there should be established guidelines that sysadmins should follow, and everything that’s out there now is for Linux or Unix systems. There’s a lot of BSD terminology that’s different from Linux terminology — we do the same things, yet we have different tools and different names for what it is we’re doing.

Is it a general certification, or for a specific BSD project?

DL: One of the things we also discovered as part of creating the certification is — you have to figure out what employers are actually looking for in terms of skill sets — when we did this survey to figure out what that was, it was very obvious that there were 2 distinct audiences: there was one for people who wanted to enter system administration for BSD systems, and the other was for people who were already established and wanted a more senior position. So we started with the junior group, and we thought it was very important that somebody who is training in this situation is learning from somebody higher up, and is expected to end up with a certain amount of knowledge. When you’re at that level you’re not making design decisions as in “this is the BSD we’re going to use and this is how we’re going to implement the environment.” You’re basically stuck with administering whatever is already there, and there is enough difference between the BSDs — even on a setup level — that the install routines are different, the ifconfig and how to set up networking is different. If I say I’m BSD certified, and I can work on a FreeBSD box but I don’t know where to start on an OpenBSD box, that’s not very encouraging for people who want to hire somebody. So we found it was important to let them know that there’s more than one BSD out there, and to let them know what capabilities are built into each of the BSDs. For the very basics, make sure they know how to do it for all four [Open/Free/Net/DragonFly] BSDs.

Do you think that the BSD certification will attain the level of respect that other certs like Red Hat have? Some have gained momentum over time and mean more now, others like MCSE have gone downhill over the years and lost respect — it means basically nothing. What level would you say the BSD certification will be?

DL: Before I say that, if we’re talking about how people think about certification, there are two things you need to think about. One is when certifications came out in the early 90s from the vendors, they did it for the sole purpose of marketing their products. Basically it was to create their own built-in technical sales force to tell people what features come with the product. That was the motivation behind it. The other thing that evolved out of that is that it actually hit a critical mass where, because training provides that, it opens up more support options. So because you have trained people, you can provide support — it’s built into it — and things actually hit the point where if you don’t have a certification, the connotation is, “where is your support?” That’s something that open source software has to — if they’re playing with the big vendors — it’s something they have to address.

I guess I had confused software certifications like The Open Group’s UNIX certification with human certifications.

DL: I’ve been teaching vendor certs since the mid-90s, and that’s the sole purpose. Especially when you’re dealing with training material, it’s basically a marketing brochure.

And you pay a lot of money for it, too.

DL: Exactly. And you might find that the product doesn’t actually do what the certification training said it would.

So that’s the first thing. The second thing comes with the sort of respect that comes with the certification. All certifications, both the vendors and the open source ones — which basically had to play the vendor game because that was the only game out there — had to play by certain rules. They suffered from the disjoint between what you’d get at university or college training where you get a better idea of the larger software world, you have a context of other products out there that do the same thing, but this is how this particular one does it. One of the fundamental problems of IT certification is, you are narrowing your focus to a specific product, a specific version, to say, “I know how to do this,” and you’re losing context. The more context you lose, and the more vendor sales-y it seems, the less respect there is. I see that as the real problem even though the problem that people focus on is there’s no respect because people can cram and then take the exam. That’s a symptom of the problem is that there’s no context — if I can narrowly focus down the to the 50 questions they’re going to ask me, I can pass the exam. You cant get more narrowly focused than that.

And there are study guides you can buy…

DL: Exactly — it’s just reworded exam questions. One of the things we felt when we went to approach this was, looking at what exists now, do we want to play that game, and do we have the ability to change the rules of the game? Open source is totally different — can we do this the open source way? As an IT instructor, I won’t teach the BSDA because I can’t turn you into a sysadmin in 40 hours, which is basically what a training program would do. What I’d prefer to see is the BSDA exam objectives incorporated into a larger university or college degree program where this is a set of guidelines. The other problem we get at a university or college level is often they are theoretical. Your teacher hasn’t gone out and done sysadmin stuff. In a college, usually you’d go set up the lab, so you would have some limited sysadmin experience, but it’s not the same thing as someone with real industry experience. I think it’s important that people who do have experience as sysadmins set the guidelines, so that they can say, “when you’re out in the real world you have to be able to do this or that.”

My neighbor went through something similar — he’s a videographer, and has a lot of industry experience. He decided to go to college to get an official degree to match his career experience, and found that what was being taught in the classroom was inaccurate and had little to do with the way videos are actually produced.

DL: If anything is going to have an opportunity to make some kind of bridge between reality and what happens in school, it’s going to be something that’s open source, and grassroots-level. These are the people who are actually out there saying, “people who are coming in to be hired don’t have these skills.” If they can actually pass this certification, it means they had to learn these skills before they could do so.

One of the biggest areas that closes the door on open source projects to offer their own training is cost. Forget the cost of finding the people who will volunteer time to put something together. What happened in the 90s was that there were quite a few software products that could actually deliver exams over the Internet, and all of them were bought or pushed out of the market by two companies. Their annual revenue is more than $6 billion per year, so we’re playing with the big boys. Just to use their services, they charge an annual fee, and you have to talk to salespeople to get the actual cost, but a ballpark figure is at least $75,000 per year. Find me an OSS project that has enough financial backing behind it to offer maybe the hundred exams that they expect people to take that year to pay that amount — and that’s just the initial costs, there are also additional costs. One of the things that helped make this all make more sense to me — I’ve written and taught dozens of certifications — is I’ve always wondered, “this exam is three years old — it has the same questions it had three years ago. How come they haven’t changed anything?” One of the reasons is, every time you change the exam, there’s a publication fee in addition to your initial $75,000. If you need a translation — any time you want to do anything, it costs you money.

We worked all the way around this — other open source certifications are out there ahead of us that helped break the ice — LPI, Zend, Linux CompTIA — they have all struggled with the same thing. Do they raise the funds and get financial backing to do that? All of them have come up with the idea that they should make an alternative testing software framework, but for whatever reason, that didn’t pan out. We got pushed into the wall — we had no choice but to make an alternative, so we’ve decided if we’re going to do that, we’re going to do it the open source way. We’re going to have a publically available code repository with our design specs and goals. If you want, you can be part of the process, and it’ll be under the BSD license. Hopefully we’ll open the door for other open source programs to provide their own certifications with this software, but there are also lots of small companies that may want to train their employees and can’t afford the other programs.

When will the certification software be finished?

DL: We started the repository to get some code into it before we publically announce it so that we can show we’re working on something. We’d like to have our first beta by BSDcan in May. We’ll see what happens; if I’ve learned anything throughout this process, it’s that everything takes longer than you think.

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

February 15, 2007

Interview: Sam Leffler of the FreeBSD Foundation

Filed under: News Stories — @ 2:53 pm

During last weekend’s Southern California Linux Expo 5x, Sam Leffler of the FreeBSD Project and FreeBSD Foundation and “old school” hacker from the UC Berkeley Computer Systems Research Group (where the original Berkeley Software Distribution was developed) took some time to explain to me what the Foundation actually does, and the kind of work it has fostered. We also chatted briefly about the current status of FreeBSD, and the degree to which Apple contributes to the Project.


In addition to the FreeBSD Foundation, are you able to speak for the FreeBSD Project as well?

Sam Leffler: Well I’m not sure that any one person can speak for the Project because, like other open source projects, it’s a team. I participate in the Project and am an active developer in the group.

What did you develop for FreeBSD most recently?

SL: For the past few years I’ve mostly been working on the wireless networking in FreeBSD. I’ve been doing wireless networking work at least the last five years, and have given a number of talks about it. In fact I gave a talk last year at a a conference called SANE, in Delft, Netherlands — the slides are online if you’re interested in some background on the work I’ve done. In general the idea is to provide production-quality wireless networking facilities to people doing research and, in general, anyone in the open source community who wants to use it.

So the FreeBSD Foundation is something that is relatively new — at least, compared to the Project.

SL: Yeah, it’s a couple years old. It’s a non-profit organization — an official 501c3 — so that means it has non-profit status, which allows people to deduct the donation from their taxes. Did anyone explain to you what the organization does?

Well I know that it takes donations, but I’m not sure what it does with the money.

SL: There are many purposes to the Foundation. One is as an official legal entity to hold things like trademarks and copyrights and legally binding information or materials. These have to be held by somebody real, and FreeBSD as a project is really a non-entity — something that won’t be recognized by a court. So one of the Foundation’s important jobs is to hold things like the FreeBSD trademark. It also represents the FreeBSD Project whenever there are any legal issues. So for example if you’re trying to negotiate a license for the FreeBSD for developers to use certain tools, whom do you go to? For example the FreeBSD Project has a license with Coverity, and we run the Covertity tools over all our software. The only way that could happen was for some real entity to sign a license agreement. So the FreeBSD Foundation was the one who signed that agreement, and the FreeBSD Project now has full access to the tools. Similarly we negotiated a license to distribute Java JDK binaries that are certified by Sun. To do that, we needed to sign a legally binding contract with them. Certification and all the legal issues are for the FreeBSD Foundation to handle. Those are examples of how FreeBSD appears as a legal entity — the Foundation on behalf of the Project.

Before that, the FreeBSD trademark was owned by a company?

SL: The trademark was owned by Walnut Creek CDROM — but that was just the trademark. They had a particular business… the business they were doing was prepackaged CDs and such. In a sense they were sort of acting as the Foundation.

So to finish what I was talking about… the Foundation also supports developers for things like travel expenses to attend conferences. People who are not able to pay to get to a conference can apply for travel grants. Linux kernel developers have lots of companies that provide funding for that sort of thing. That’s not quite as easy to find in the FreeBSD environment, so the Foundation acts as a funding conduit to support things like that. The last responsibility the Foundation has, which happens far less frequently, is to assist or directly fund significant development projects that need to be done to help the project move forward. One of the projects we funded was fine-grained locking of the networking stack.

Getting it out from under the Big Giant Lock.

SL: Yeah. Those are the kind of things that frequently happen within a vendor, who then contributes them back to the community. Sometimes it’s hard to find a particular vendor who’s willing to focus on that because they don’t want to devote the resources that they have internally, so instead you need to find outside resources to do that sort of work. And then the question is, how do you get the funding to them? One of the projects that’s going on right now is a virtual networking environment mechanism for a virtualized network environment for jails — to give you a full networking support within a jail. That’s being done by a guy at the University of Zagreb — Marko Zec. That’s overseas, and the funding is coming from NLnet through the FreeBSD Foundation. This technology brings us sort of halfway to a virtual machine; it gives you basically a full virtualized IP stack.

That’s interesting — I would love to see that.

SL: It works — Marko’s done a more-than-proof of concept and has a really cool implementation for FreeBSD 4.x, but we’re funding him to bring this to the 6.x series. So that’ll probably show up in the next release.

Going back to the Project’s Java license… originally Java on FreeBSD was only a 32-bit binary. Is it now 64-bit?

SL: Both 32-bit and 64-bit binaries are available now.

The JRE, or the JDK as well?

SL: I don’t know about the JDK — I think of Java in broad terms. I don’t do Java, so it’s a little hard for me to remember sometimes.

To me it was a good way to learn object-oriented programming. I’ll probably never write meaningful software in it.

SL: People seem to like Java. All I know is people want it so they can run their Web apps — that’s really why we needed it. In the same vein, we’re trying to enable things like Flash and stuff like that for the FreeBSD user community.

Right now Flash is executed through Linux binary compatibility.

SL: Yeah, you have to run the Linux Flash port. The story I heard was that Adobe was going to kill that — they weren’t even going to do the Linux distribution. We’ve been trying to work with them to get them to get them to do both a native FreeBSD binary as well as continue to do the Linux distribution. We try to look out for people in the general community, not just FreeBSD. We’ve even funded people who aren’t even FreeBSD developers to travel to conferences. I think we just sent a NetBSD guy to one… so, we do crossover to other projects somewhat. We don’t encourage people outside of FreeBSD to apply — we don’t have that much money! But it shows that we are trying to support the community, not just focus on one particular project.

You said Linux has corporate sponsors. Has Apple ever contributed anything to FreeBSD in terms of either money or support, or code?

SL: Yeah, Apple’s given stuff back. Audit support and a lot of other security-oriented work has gone on in collaboration, both in terms of Apple funding developers and also in sharing work. There are other examples — I’m not real familiar with the situation, but I know that it’s not a one-way street. Obviously we’d enjoy a better relationship with Apple, and would like them to be more involved with our code, but it’s pretty hard to work with an open source project when you’re shipping a product. If you’re trying to ship a product, you have a timeline, you have deliverables… how are you going to depend on someone to deliver something on time if they don’t report to you? I’ve been through this before. So melding the open source development work with a real product is a non-trivial challenge. I’d still like to see Apple be more forthcoming, though.

Maybe there’s a myth you can clear up. Many people claim that Apple OS X is based on FreeBSD. This does not seem to be true from what I can tell, though it does seem to incorporate a certain amount of FreeBSD code. Could you itemize exactly what pieces of FreeBSD might be in OS X?

SL: I’m really the wrong person to ask. What I know is that OS X has — and Darwin in particular, but not just Darwin, there are layers above — a lot of components that come from FreeBSD. But because of the influence of Mach through NeXT, it’s often times difficult to clearly identify something as being from FreeBSD. But I know there is a lot of “cross-pollination,” I know that Apple continues to bring in work from FreeBSD, but by the time it appears in distributed form, it may not be easy to identify.

Anything else you’d like to say about the FreeBSD Foundation or Project?

SL: I think the Foundation as a whole has a really good purpose, and the intent is a lot like some of the other groups around in terms of funding good works. The people on the board are not paid — I get zero out of this. I think it’s really nice, but it’s really tough because the problem is finding funding. We stump for money, but sometimes it’s very hard to convince corporations that it’s worthwhile to give any money. I think raising the awareness of what the Foundation is and letting people know who we are and what we do is an important first step.

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.


February 14, 2007

Microsoft requires reviewers to sign Zune license

Filed under: Editorials — @ 4:42 pm

Most of us are used to proprietary license agreements for software products — especially those made by Microsoft — and perhaps to a limited extent, for some types of hardware as well. In requesting a review package for the Microsoft Zune digital audio player, I was recently presented with something I had never seen before: a license agreement for the actual review materials. The document a public relations representative asked me to sign dictated the terms by which I could use and write about the Zune. Consequently, I declined the opportunity to write about the product because I don’t want the manufacturer to put restrictions on what I write about their products. Below is an explanation of what this bizarre agreement entails.


Review agreements

Actually, I have seen restrictive product review agreements in the past. IBM and Lenovo have sent me review packages with documents that tell me what I can and can’t do with their products, but didn’t require my signature in order to participate. Harmonic Inversion Technology sent me a less complex agreement that asked for my credit card information in case I decided to keep the (relatively inexpensive) product they loaned for review. Of course I did not provide that information — who in their right mind would?

A Microsoft spokesperson who wished to remain anonymous told me that Microsoft requires this same agreement of all of the reviewers it works with, and has for quite some time. I personally know this to be false, as I have reviewed more than a dozen Microsoft products over the past five years, ranging from Windows XP and Office XP to its line of computer peripheral hardware products, and have never been asked to sign anything.

Oddly, manufacturers that send more expensive products to review don’t require any more than my word that I’ll send it back, and don’t seem concerned that I will otherwise behave unprofessionally. It’s only the sub-$300 devices that manufacturers seem worried about. Even then, what’s the point of sending a toothless “agreement” that I will in fact not agree with? That’s what worried me about the Zune agreement — it required my signature. Let’s take a look at the things I would have signed my acquiescence to.

The Zune reviewer’s license agreement terms

The two-page document begins with empty fields for the reviewer’s information — name, address, phone number, email address, publication, and columns for two signatures. Apparently email messages and phone conversations that reveal these details are not enough.

The introductory text explains what this license governs, which is the contents of the review kit:

  • Welcome letter
  • Reviewer’s Guide
  • Zune device with pre-loaded content
  • Zune software CD
  • 14-day or 3-month trial card for the Zune Marketplace
  • Pre-paid return packaging

The agreement goes on to assert that the Zune itself must be returned to Microsoft within 14 days, “or earlier upon Microsoft’s request.” Under what conditions would that happen, I wonder? Could Microsoft suddenly declare you an enemy of the company and terminate your license with extreme prejudice? And what about the other components of the kit — why aren’t they to be returned as well if they are so important as to be labeled “confidential” by the agreement?

Part 2 of the document begins by saying that the above materials are licensed to you only, and that you can only use them on your “premises,” which I presume to mean your office or home. So reviewing the Zune while on a bus, in an airport, at a friend’s house, or at a coffee shop is strictly forbidden. It also means that other people — friends, co-workers, spouses, or indeed freelancers or other writers whom you might assign the review to or ask to help test — are not allowed to use anything in the review kit. They are not allowed to use the Zune; they are not even allowed to read the welcome letter.

Next, you’re told that you are only allowed to study the contents of the Zune review kit to write a review or article on the Zune. You can’t, for instance, write a review of an album or song that you hear while using the Zune, nor could you use the Zune to write a review of headphones or earbuds.

When referring to such in the review, you are only permitted to refer to these names:

  • Zune
  • Zune device
  • Zune Marketplace
  • Zune software
  • www.zune.net

The agreement specifically demands that you not refer to the Zune reviewer kit. You also could not refer to the Zune as the “Microsoft Zune,” and if you really followed the agreement to the letter, you couldn’t even use pronouns.

You may only use “unmodified” screen shots of the Zune in the review. That means you are not allowed to watermark, crop, or otherwise edit your Zune photos. Theoretically you couldn’t even compress them.

With regard to the operation and use of the Zune, you must follow all instructions that Microsoft gives you. You’re also compelled to keep the device in good condition. This last part is not a surprise; it’s the first part that I find bizarre. If Microsoft says I can’t reset the device’s ROM or try out alternative firmware on it, then I’m limited in what I can write about.

If you receive an updated reviewer’s kit in the 14 (or less) days that you have the original one, you have to return both kits.

You are not allowed to open or in any way disassemble the Zune. You also can’t copy, reproduce, distribute, reverse-engineer, attempt to derive source code from, modify, or make a derivative work of any part of the Zune review package.

Both you and Microsoft can choose to terminate the agreement at any time, but the notice of termination must be in writing. Even if you terminate the agreement, what follows below will survive it. In other words, there are parts of the agreement that are apparently supposed to be in effect forever.

Lastly, if you suffer damages because of the Zune or the review kit, Microsoft claims that it is not liable, even if Microsoft is aware that the Zune will cause damage. You are, of course, responsible for keeping the Zune in pristine condition, even if the Zune is damaged due to overcharging, which Microsoft has acknowledged as a possibility according to this Amazon.com reviewer. If you live in a state where it is not possible to eliminate liability, Microsoft says that the most it will be liable for is U.S. $100 or the value of the Zune review kit, whichever is greater.

Or what?

The rest of the agreement is the usual all-caps WARRANTY and LIMITATION OF LIABILITY tedium found at the tail end of every proprietary license. What the agreement does not state clearly is what the penalty of violating it is. What can Microsoft do to you if you sign this ridiculous agreement and then refuse to abide by its terms?

Well, first of all you’ll be bound by the laws of the state of Washington. If that is inconvenient for you, too bad — Microsoft invokes the forum non conveniens clause. If you want to try to claim that the court Microsoft sues you in has no jurisdiction over you, too bad — Microsoft declares that this is not possible. If you sue Microsoft or vice-versa, the prevailing party must pay the other’s legal fees.

The very last paragraph in the license says that if you use the review kit in an unauthorized way or if you even threaten to do so, that Microsoft will be harmed immediately and irreparably and “for which there is no adequate remedy at law.” Under such conditions, Microsoft entitles itself to “appropriate injunctive relief, without the necessity of posting bond or other security.” I take that to mean that you’ll be sued, though I’m no lawyer and don’t understand all of the possible meanings of this purposefully ambiguous and certainly threatening language.

You don’t need to be a lawyer to understand that this license is meant to scare a reviewer into abiding by the terms that Microsoft thinks are favorable to it. If you don’t do what Microsoft says — like if you use the Zune on the bus, or show the welcome letter to your girlfriend — you face the possibility of consequences implied by “appropriate injunctive relief.” The likelihood of this outcome is not a measure of its authority, nor of its gravity. To me this seems like economic terrorism — scaring people into thinking that they’ll be sued if they don’t write positive reviews. It’s dirty pool. It’s what many in the computer technology world have come to expect from a software company that has consistently used goon tactics to force competitors like Corel, Lotus, Novell, Caldera, Be, and Sun Microsystems into submission. I will not submit; I will not support it. This editorial article appears in lieu of a Zune review.

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

February 12, 2007

The Southern California Linux Exposition 2007 (SCALE 5x)

Filed under: News Stories — @ 7:23 pm

The Southern California Linux Exposition’s fifth year has been its best yet, with record attendance, vendor participation, and excellent presentations and talks. There were few new things to announce or showcase at the event, but if you wanted to measure the pulse of the open source software community, this was undeniably the place to be this past weekend.


More of an event, less of a show

SCALE 5x was held in the Westin LAX hotel in Los Angeles over three days. The first comprised two mini-conferences on open source software in health care and women in the open source software community. There were far fewer attendees than one might find at a LinuxWorld Conference and Exposition, but SCALE is not so much a “show” with fancy displays and contests and such; it’s really more of a community event with industry sponsorship. There were few flashy presentations, even the big vendors had small booth spaces, and both the community projects and the commercial vendors shared the same area of the floor.

The exhibitors

There were more than 70 exhibitors at SCALE 5x. I didn’t get around to all of them, but they all looked interesting and appeared to be staffed by knowledgeable project or company representatives. Below are some highlights from the booths that I did get a chance to stop and take notes on. Nothing personal against the companies I don’t mention here — it’s solely a matter of time and space.

Above all, it can truly be said that SCALE is about the open source software community. Linux user groups (LUGs) from around southern California and even an actual Unix user’s association had booths, as did Haiku, ReactOS, Gentoo, FreeBSD, NetBSD, and the Free Software Foundation. The nice thing about these booths was that, unlike LinuxWorld, they were not in Siberia — they were integrated perfectly among commercial vendors large and small.

Dell and Red Hat teamed up in one booth to show off Red Hat Enterprise Linux running on Dell blade servers. Right now it’s RHEL version 4, but Red Hat expects its next major release sometime in mid-March. Dell plans to offer the new version on its servers sometime in May, after the proper test procedures have been completed.

Though he wasn’t there himself, Gael Duval’s Ulteo project had a nice demonstration of its Connected Desktop product, and had free CDs of the Ulteo operating system to give out.

Network monitoring frameworks battled for attention at SCALE 5x. GroundWork, OpenNMS, and Zenoss all had their products on display and/or available to demonstrate. Of the three, I most look forward to testing and reviewing OpenNMS for several reasons: It’s incredibly scalable and configurable,it’s fully open source, and has the best chance of working properly on my server.

The KnoppMyth project had an impressive demo of the operating system on a large LCD television. The menu system looked great, all the hardware seemed to work perfectly, and I felt certain that the time to revisit my unintentionally long-term digital video recorder (DVR) project was nigh.

IBM had its usual “shock and awe” display of high-end hardware ala the Blue Gene and a rack full of blade servers. Of greater interest was its outline of the large number of applications and services it offers for GNU/Linux — too many to list here.

TrollTech showed off its fancy prototype cellular “green” phone running Qtopia. They told me I could buy one for $700 and that it was primarily aimed at developers. Considering the competition in the smart phone market is first of all not that much cheaper, and secondly appears to be of a lower quality of manufacture, I actually thought $700 for the engineering sample phone was somewhat reasonable. Qt 4.2 was also being showcased; it offers an improved graphics view framework and better OpenGL rendering.

Women in Open Source mini-conference Google T-shirt
Google gave away free female-oriented T-shirts

KDE 4.0 — which I was surprised to learn is aimed primarily at highly technical users who enjoy cutting-edge features — looks like it has a lot of innovation planned. The most meaningful feature is actually a document that will form the project’s strategy on human-computer interfaces (HCI). According to one of the KDE Project’s usability specialists, the document’s goal is to connect designers and developers on the issue of interface usability.

The Ingres relational database took advantage of its SCALE booth to tell attendees about Project Icebreaker, a combination of a GNU/Linux-based operating system and its enterprise-grade database product in one single solution.

Centrify had a really cool client-based identity management product on display that allows Unix, GNU/Linux, and OS X computers to authenticate to a Windows Active Directory server. It seemed a little backwards to me to have GNU/Linux desktops authenticating to a Windows server; on the other hand, it totally frees up any limitations on desktop operating systems if you’ve already standardized on Active Directory.

If SCALE had vendor awards, TicketMaster would have won in the “wow, I didn’t know you had anything to do with open source software” category. As it turns out, not only does TicketMaster run the most important parts of its worldwide infrastructure on GNU/Linux (some 2400+ servers in more than 20 countries) and other free or open source software, but it also contributes code and money back to projects such as the mod_perl Apache module.

Transitive, the company responsible for the well-known Rosetta PowerPC translation framework on OS X, was showcasing its QuickTransit Solaris/SPARC-to-Linux/x86 migration tools at SCALE 5x. This in itself is interesting, but the fact that the Transitive booth was within spitball distance of Sun Microsystems’ makes it somewhat comical as well.

If I gave them out, Starnet would get my award for the most impressive software application at SCALE 5x. Its XWin32 product is an X11 server that runs remote X sessions from GNU/Linux machines on a Windows system over a network. In other words, you can use a fully functional, 3D graphics accelerated, safely contained X session on your Windows machine. Functionally this is much like a VNC session except unspeakably faster. It can be installed to the Windows machine or run from a USB key. I’ll be reviewing the USB key edition in a few weeks.

The Robert Half technology staffing company had a booth where the attendees could gauge the appropriateness of their salary. If you’re underpaid, the company might just have your next job lined up for you.

Linspire had a Freespire booth where company representatives were telling people all about Click N Run, the new Ubuntu partnership, Linspire’s aspiration to gain more OEM deals, and giving away Freespire 1.0 CDs. Official word on Freespire 2.0 is that it’ll be out shortly after the next Ubuntu release. As decent as version 1.0 was, I predict that if it’s done correctly, 2.0 will leave free-of-charge desktop GNU/Linux distros (Ubuntu included) in the dust.

SCALE 5x show floor
Part of the exhibitor floor at SCALE 5x

Verio really put on its war face for SCALE 5x. They had a LinuxWorld-style booth with demonstrations, a giveaway of a remote surveillance device, and offered individual press briefings. They also hired a small video crew with a cute blonde hostess to go around the show floor and do some quick interviews with attendees. Their actual product — Web and other Internet hosting ala shared, virtual, and dedicated servers — looks and sounds like a dream come true for Web publishers and technology-heavy online businesses. I wish I’d known about it years ago before I went through hosting hell with The Jem Report.

iX Systems CTO Matt Olander was hanging around the FreeBSD booth along with a steady crowd of others involved with the FreeBSD operating system, the FreeBSD foundation, and those curious about any of the above. iX Systems sells rackmount servers designed to run FreeBSD or GNU/Linux, but it’s been in the news more prominently as the company that bought the rights to the PC-BSD desktop operating system. The company’s put some money into developing expanded PC-BSD (and FreeBSD by association, since PC-BSD is based on FreeBSD) desktop hardware support.

The presentations

Aside from the mini-conference on women in the open source community, I attended few presentations. Since I covered Haiku’s WalterCon 2006 conference and still have much interest in the project, I decided to sit in on the Haiku “birds of a feather” presentation on Saturday evening. Haiku project leader Michael Phipps never ceases to amaze me with his uncanny ability to present Haiku as a superior approach to desktop computing and desktop operating system development, especially at a conference where a large number of people were GNU/Linux and BSD users. The presentation primarily served as an introduction to Haiku, complete with a brief demo through Parallels on someone’s Apple computer.

The laptops of SCALE 5x

Speaking of Apple computers, there were a huge number of them in use by presenters, vendors, and attendees of SCALE 5x. Windows laptop systems were also out in force, and as usual, GNU/Linux was in the minority. As far as distribution preference was concerned, Ubuntu and Red Hat Enterprise Linux appeared to be the most popular choices.

I found the large number of Apple systems disappointing, to say the least. It seems that those who are not technically competent enough to install and configure desktop GNU/Linux distributions, or Google-savvy enough to read up on solutions to their problems, or friendly enough to ask an expert for help now prefer the proprietary lock-in of Apple instead of Microsoft.

Another success

Conference and sponsorship chair Ilan Rabinovitch and press coordinator Orv Beach took a few minutes to talk to me about the show and its history. They told me that everyone who works on SCALE’s staff is a volunteer, and that they expected record turnout this year. Unofficial numbers were in the vicinity of 1250 people with SCALE badges — attendees, speakers, press, and vendors included. It seemed like a lot more than that when I was out on the show floor, but badges don’t lie.

Not only did the conference get so many papers in the CFP announcement that they had to turn many away, but they also had to turn vendors away due to a lack of space. As it was, some vendors had to set up their tables out in the hallway. “We will give a free booth to any organization that can teach people something meaningful about open source,” Beach told me.

What about next year — will there be a SCALE 6x, and will vendors and attendees sign up? Indeed there were plans for 6x, but Rabinovitch hadn’t decided what the best course of action was. Should he follow the growth by reserving a larger venue, or continue on this course to make sure that costs and other variables don’t get out of control? One way or the other, the show will grow as the open source software community grows. Each year, it shows significant growth.

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

February 11, 2007

Java Generics and Collections book review

Filed under: Tech Book Reviews — @ 8:57 pm

Java has been the computer programming language of choice for a large percentage of high school and college software programming courses for several years. Many of those programmers learned to develop software with techniques that are now outdated due to enhancements to the Java Development Kit in versions 5 and 6. O’Reilly’s Java Generics and Collections is an outstanding complement to an experienced Java programmer’s now-outdated education. It brings developers up to speed not only on generics, but on autoboxing, the enhanced for loop, and other recent features that, when combined, make it easier for Java programs to evolve.


Writing analysis

I was impressed with the high quality of the writing and editing in Java Generics and Collections. It explains every detail, defines every term that would be new to programmers who learned Java circa version 1.2 or 1.4, and in general effectively communicates the material that it claims to cover.

One thing that the author fails to do — as in so many other books on programming — is define his audience. Most books are simply bad at telling readers what skill level is required in order to understand the material; Java Generics and Collections completely ignores this requirement. This is absolutely not an introductory text; it is entirely designed for experienced Java developers who want to be brought up to date on the latest Java programming theories and practices.

The book’s code examples are purely theoretical and serve only to show how a particular concept is implemented. Most of the examples do not represent working programs. I prefer to see sample code that has meaning — something that a reader can type into Eclipse or NetBeans and actually see work. This allows a greater range of learning because readers can then hack the examples to play with the code a bit.

Putting the book to the test

The title is a bit misleading, and negatively so — much more than just generics and the collections framework are covered in Java Generics and Collections, and I think it would have been better presented as a primer on Java’s latest features and how best to implement them. If you don’t know what the term generics refers to, you might be disinclined to buy a book like this. If you’re an experienced Java developer, you’ll be right at home with this book, though.

You will derive the most benefit from Java Generics and Collections if you already have a Java application and/or Java libraries that you wish to update. According to the book, most of the techniques it showcases will not actually change the bytecode, so your binaries should not be any different for the changes you introduce. The code will be more maintainable and you should be able to change it more easily in the future, though. Since ease of code evolution and development is one of the primary reasons for programming software in Java, this book’s content and focus should fit an experienced Java developer’s style perfectly.

Summary and conclusions

If you’re a Java developer who wants to get up to speed on modern programming practices and techniques, Java Generics and Collections is perhaps the perfect book for you. Among the many Java-related books I have read or reviewed, before now I have not seen any that so succinctly cover only the most up-to-date material, ignoring all introductions to the language itself and concentrating specifically on the new features and how to use them. I wish the code samples were a little more useful, but the fact of their brevity doesn’t at all ruin the book. Definitely recommended for experiened Java programmers.

Title Java Generics and Collections
Publisher O’Reilly
Author Maurice Naftalin and Philip Wadler
ISBN 0596527756
Pages Paperback, 273 pages
Rating 8 out of 10
Tag line Speed up the Java development process.
Price (retail) U.S. $23. (Buy it from Amazon.com)

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

February 10, 2007

SCALE 5x: Women in Open Source

Filed under: News Stories — @ 6:39 am

Today the Southern California Linux Exposition’s fifth iteration kicked off with all-day mini-conferences on free and open source software in the health care industry and women in the free/open source software community. Since the sessions on women seemed to be the less popular, least business-friendly, and most interesting of the two subjects, that was the series I decided to sit in on. It was a life-changing experience for all who attended.


The agenda

The subject of women in free/open source software is one that had not been previously explored in SCALE or other, similar conferences to date. Viewing its debut was, to say the least, an extrordinarily interesting experience. Most of the speakers were experienced in giving presentations of this kind, but had previously been the only or one of few female speakers at other free software conventions.

The entire schedule for this conference room dealt with some facet of the involvement of women in the world of free software development, which many have been led to believe is particularly male-dominated. As I learned, this myth is not necessarily true in all parts of the free software world.

Stormy Peters of OpenLogic, Inc. (formerly of Hewlett-Packard) kicked off the mini-conference by outlining all of the major issues that women face in contributing to free and open source software development. Quoting the FLOSS-POLS study in Europe, various Slashdot posts, blog entries, and VentureBeat, she explained that while indeed a minority of information technology workers were women (roughly 20%), an even more staggering minority — to the tune of 1.5% — of free software contributors were women. The reasons given for this disparity were many and mostly related to cultural roles and expectations for women in the western world. “Alpha dog” behavior, posturing, backbiting, and mysogyny were listed as common and unfortunate social habits among free software programmers, and throughout the day the issue of how to deal with this behavior was approached from several different angles.

Not only did the majority of the predominantly female attendance agree with Peters’ compilations of data, but several had appalling stories about men behaving terribly toward them on free software mailing lists, in IRC channels, and indeed even in real life at Linux User Groups (LUGs). The tales ranged from slight comments to outwardly hostile things that drove them away from free software in general, and those projects in specific. One woman, close to tears, told a story of how she was turned away from her first LUG meeting because some jerk there told her that it was a Linux-related gathering, not a singles event. Unfortunately, in a trend that would pervade the entire mini-conference, the attendee refused to disclose which LUG had fostered such behavior.

Peters also went on to explain that women most frequently preferred to play non-programming roles in software development, opting to deal instead with such necessary issues as documentation and community support instead of raw coding.

Each 45-minute presentation thereafter built upon Peters’ assertions in what turned out to be a brilliantly planned and organized program where every speaker and attendee was glad to participate.

Jean T. Anderson, an IBM employee and member of the Apache Software Foundation (specifically dealing with the Derby database) followed, informing attendees that unlike many free software projects, Apache was not about code, but about community. She outlined the most significant barriers to female free/open source software participation:

  • Women frequently don’t know how to get started with a project.
  • They are afraid of looking stupid.
  • They don’t want to be flamed on the public mailing lists or IRC.
  • The feel that they do not speak English well enough to participate.
  • They are uncomfortable with publicly accessible and archived email lists.
  • They are not comfortable “selling” their ideas to the group.
  • Sexist jokes and demeaning comments create a negative atmosphere for women.

Anderson explained that these perceived barriers were mostly unfounded fears, myths, and cultural prejudices, and proceeded to explain that in practice, there were few things to fear, and that while the openness of free software could not be circumvented or avoided, anonymity was still available. Anderson charged us all to be intolerant of all comments on free software development IRC channels and mailing lists that demean women, reminding us that such behavior harms men as well as women. She also pointed out that in the meritocracy of free software, there is truly no glass ceiling for women like there is in other industries and professions. Secondly, it’s possible to mask one’s gender through the benefit of anonymity — indeed, most of the female presenters had gender-neutral first names, and could easily maintain an air of mystique. Lastly, Anderson reiterated what Stormy Peters had said about cultural habits that imposed limitations on women, quoting the same FLOSS-POLS study that Peters had.

Strata R. Chalup followed with a session that had been intended to educate female attendees on the basics of open source software, but ended up being overwhelmed by a predominantly tech-savvy audience. Though several audience members were women who were very curious about GNU/Linux and free software but had been too afraid to explore it, they were met by a roughly equal number of women who were either active contributors, or who had mastered free software operating systems at home and/or at work.

Next up was former Debian project leader, current open source and Linux chief technologist for Agilent/HP, and president of Software in the Public Interest, Bdale Garbee. He may have been the only male speaker at the mini-conference, but what he said had a great deal of meaning. Garbee explained that it was not necessarily the fact that 98.5% of women did not want to contribute to free software projects — it’s that it is too frequently assumed that programming is the only way to contribute to such projects. He went on to provide outstanding guidelines for more positive interaction in free software development communities.

Marija Mikic-Rakic of Google, Inc. was the next speaker. Though she was only a replacement for a speaker who had to back out at the last minute, Mikic-Rakic did a fine job of establishing the work environment at Google and how it benefited women with services and policies that allowed them to fulfill their traditional cultural roles while still maintaining meaningful careers.

Last in the lineup was Dru Lavigne of the BSD Certification Group, who reminded the audience that information technology in general was interesting, not geeky; culture-oriented, not male-dominated; and had no glass ceiling because it was essentially a meritocracy. Lavigne revealed that of more than 1300 people who were interested in taking a BSD sysadmin certification exam, 1.5% — the same percentage that FLOSS-POLS had found for total female participation in open source software projects — were women. She continued by building upon the three earlier-presented ideas that empower and enable women to more easily participate in open source development: anonymity, meritocracy, and peer collaboration. This triumvirate causes people to ignore gender prejudices and concentrate instead on the content of one’s contributions to the project.

All of the speakers shared one thing in common: they were gung-ho about getting both grown women and young girls into collaborative environments in the free software community. Dozens of suggestions were discussed, from female-oriented computer games and the Lego Mindstorms creative toy sets to the conscious removal of the common female stigma of being computer-savvy.

The day ended with a thoughtful but perhaps unrealistic panel discussion on how the world might change to better accommodate female contributors to free and open source software projects.

Resources for women in free software

Throughout the day, several Web resources were listed that reach out specifically to women in the free and open source software community, and in information technology in general:

Audience reaction

There were regularly between 20 and 40 attendees of each presentation, more than half of whom stayed for the entire series. One of those people was Beth Lynn Eicher, a system administrator for the Timesys Corporation.

“It was excellent, but I came with, I suppose… a little bit of fear that nobody was going to show up. I’ve dabbled with the idea of having similar thing at a conference that I run called the Ohio Linux Fest,” she told me. “I absolutely feel inspired by this. I wondered for quite some time as to how I made the shift — of being able to walk into this community and feel that I would be accepted rather than just sit down very shyly and figure that I wasn’t going to be accepted. I now do feel like a welcomed member of this community.”

When asked if she’d come back if another similar mini-conference on women in free software if it were offered next year, Beth said that she probably would. The primary reason for registering for SCALE 5x and making the cross-country trek was for this very topic.

Discuss this article or get technical support on our forum.

Copyright 2007 JEM Electronic Media, Inc. No reprints without written permission.

| Contact Us | About Us | RSS FAQ |
Copyright 2008. All content items belong to their respective authors.