karlht: (Default)
Why I don't code in Java:


         String hp = isa.getHostName() + ":" + isa.getPort();
         String s = "service:jmx:rim://" + hp + "/jndi/rmi://" + hp + "/jmxrmi";
         JMXServiceURL url = new JMXServiceURL(s);
         String login = getJMXUsername(isa);
         String password = getJMXPassword(isa);
         Map<String,Object> env = new HashMap<String,Object>(1);
         String[] creds = new String[] { login, password };
         env.put(JMXConnector.CREDENTIALS, creds);
         JMXConnector jmxc = JMXConnectorFactory.connect(url, env);

         // jmxc = new RMIJMXConnector(host, port, login, password); /* sigh */


(No, it's not my code. But I will have to test it, eventually. And I really feel for the fellow who has to write this stuff.)
karlht: (Default)
First of all, to take advantage of something, you have to have heard of it in the first place. Some of your younger or more plugged-in friends may have heard of Linux, the poster-penguin for copyleft and free software. They may even have heard of Richard Stallman and the GNU Project. But if you ask a typical non-techie "What's GNU?" be prepared to have him ask if you've got something stuck in your throat. So the first major obstacle to adoption of free software is lack of awareness that it exists.

Remainder behind the cut for friends-page courtesy )
karlht: (Default)
Up to this point, most of my living has been made with computers. It seems a natural fit with my skills, and when times are good it pays the bills pretty well. But all too often it's just business. People with money making more money. Too often I feel reduced to a cog in the machine, enhancing nothing but the company's bottom line. In contrast, the last really good gig I had was making software that helped engineers determine how much steel was necessary to reinforce a building during a sizable earthquake; buildings designed with our system survived the Northridge quake in 1994 and very likely saved hundreds of lives. Yes, of course I want to make enough money that my family is comfortable. Of course I'd like to be able to afford a home, and to educate any children I might have. But I don't need to be rich; let me support my family and have a positive effect on people's lives, and I'm a happy man.

Where do you go when you care about saving lives but don't care much about money? Non-profit work, of course. Non-profit technology workers are in as short supply as teachers in this county, and that's saying something. There are wonderful people working in both fields, but they have an incredibly difficult job to do, with very few resources. Ever notice how Microsoft routinely donates software 'valued at' huge amounts of dollars as evidence of Mr. Gates's philanthropy? Quick quiz: If I donate 2,000 copies of Microsoft Windows and Office to your kids' school system or the humanitarian organization where you work, and the programs retail for $495 a seat, but cost me $5 each to make (the research and development costs being already sunk and budgeted for my multi-billion dollar business), did I really just make a donation valued at the equivalent of $1 million, as will surely be reported in the papers, or did I simply guarantee myself a revenue stream of four hundred thousand dollars (that's money from you to me, of course, and now it's money that you can't use to buy books for the kids, feed the hungry or protect battered women) when the software 'needs to be upgraded' in two years for $200/seat? (What a deal you're getting, that's more than half off the retail price!) Not bad for a $10K investment.

And where do you go if you care about making useful software but don't care much about money? Perhaps you've heard of a little fad called open source. (If you know and love a socially-minded techie, you may have also heard the term free software, usually accompanied by an explanation of the form "free as in speech, not free as in beer.") A bunch of freaky-idealist, not-terribly-socially-brainwashed geeks decided that computer programs were meant to be shared and studied, like literature or traditional scientific inquiry. So they invented something called copyleft, which basically says: I share my work with you, you share any improvements you make on my work with whoever asks you for them, and you get them to agree to do the same with their improvement on your work. Copyleft is not, as might be assumed, the opposite of copyright. It is rather a use of copyright to ensure that future generations are able to study the work, build on it, and pass on their improvements to it.

You'd think this would be a natural fit with people who want to save lives but don't have a lot of money to spend, wouldn't you? After all, a homeless shelter in Detroit needs e-mail, fax, and web access for its clients so they can apply for jobs and public services online in the same way as a homeless shelter in San Francisco does. A food bank in Dallas needs to track and manage which restaurants and grocery stores can do donations on which days just the same way a food bank in Portland does. A human rights organization in Jordan needs the same kind of secure, distributed, portable method of reporting on human rights abuses as one in Kosovo.

The software doesn't even need to be developed, in these cases. It's already out there, at the end of those links, ready to be downloaded and installed, free of charge. So what's the problem? Tomorrow I'll write about some of the obstacles in the way of wide use of copylefted software by non-profits.

(This is a series I'm thinking of promoting to places like the Non-Profit Open Source Initiative, as well as the Non-Profit Technology Enterprise Network and TechSoup, a service of CompuMentor. Comments and suggestions gleefully encouraged; I'd like to make this series as tight and well-crafted as I can before I pitch it to them. More pairs of eyes can only help.)
karlht: (Default)
OK, folks, bear with me here. I've had less sleep than usual, and so this is going to be a bit more stream-of-consciousness (or perhaps stream-of-conscience) than my average entry. But I promise you it'll give you some insight into the dark recesses of my brain.

Last time I talked about television and information overload. One of the patterns in my life that really disturbs me is that I tend to use the Internet as a substitute for television, and abuse it in some of the same ways that television gets abused. There's such an incredible wealth of information out here, and I can browse until my eyes are square on any given subject. But in the end, all of that information doesn't make knowledge, it doesn't mean anything unless it is turned into tangible action. All of the political blogs I've watched over this past US election season, all of the outrage and passion for democracy that I've seen -- it's no better than television if it doesn't move me, if I don't decide to get up off my bottom and do something.

The same is true of the Free Software-related activities I've been part of for lo these many years. I've been using UNIX-derived systems since 1986, and running my own since I've had hardware powerful enough to do so. My opinion of the notion that I should have to pay someone to lease a program that I can't change, copy, or even examine closely without violating some sort of "End Users' Agreement" is very much like my friend [livejournal.com profile] elenabtvs's reaction to the thought that she should actually pay directly to see a doctor -- it's nothing short of obscene. In her case, it's a matter of "isn't that what we pay our government to provide?" whereas in mine it's much more like "isn't this what programmers and scientists do -- build on each other's successes, learn from each other's mistakes, and pass the results on to the next generation?"

I have benefitted from the contributions of thousands of writers, programmers, scientists, and hooligan-nerds who came before me -- their work has enabled me to earn a living, to communicate with people far-flung across the earth, to share joy and sadness and exquisite mathematics with a group of friends who care about computers and communication and ethics and love poetry and yes, even the occasional television show.

So what can I do, to carry on this fine tradition of putting words and expression and computer programs in the hands of people who will change them, copy them, and even examine them closely?

On my business card, there is a motto: making the magical world of computers and software gentler to human beings. That's my manifesto. Whether by coding, by writing, by giving lectures and seminars and workshops, or by methods I've yet to discover (and perhaps, if I am very lucky, some methods that you suggest to me), that is what I want to do with my life: Use these slabs of silicon and waves of electrons to increase the power of love in the world.

How's that for a pipe dream? Or a life's work?