January 2004 Archives

Andy Oram

AddThis Social Bookmark Button

Yesterday I performed my first transaction on one of those social
networking, six-degrees types of systems you’ve been hearing so much
about. Someone whose interests I didn’t know or care about asked me to
put him in touch with someone else whose interests I didn’t know or
care about. Sitting there in the middle of the chain, I didn’t know
what value I could add. I suppose I could honestly say, “The person
along the chain just before me is an upright member of his community
and not likely to drag heavy, clanging metal objects behind his car on a chain or endorse
other people who do so.”

It turned out that the two people I was so laboriously involved in
connecting already know each other and have each other’s email. I
think someone was just testing the system. Sheesh. Reminds me of
Internet portals, back when the Web was very, very young, that offered
a button where you could view a random URL. I’m certainly no closer to building my business and enriching my personal relationships.

I’m been shamelessly promiscuous about the people I form connections
with. I form connections with just about anyone I know, and I know a
lot of people because they’re interesting for one specific reason or
another, and none of that means they’re fit for some particular task
that somebody else has defined. I don’t vouch that the people I know
are fit for anything at all.

And that’s the problem that people have noted about social networking.
How do you formalize relationships? How do you say that something
relevant to one relationship is relevant to a different relationship
with a different person?

Maybe if I did more research and was more careful about whom I dealt
with (and kept track of why I dealt with each person) I could use this
social network more effectively. But if I took that kind of effort
with a social network, it would make sense to take the same effort
with email and every other forum through which I deal with
people. You’d have to fill out a form to send me email. (That last
sentence might have drawn a laugh a few years ago, but with the
growing frustration over spam I bet you’re saying right now, “Yeah,
that seems to be the next stage to go to.”)

Anyway, the most productive relationships I’ve had concern
relationships that I formed for one reason (like, “Hi, I’m Andy, sorry
I spilled my beer on your sleeve”) and found other reasons for keeping
up. (”Wow! You’ve been helping your national government set up
policies for software deployment?”) I just can’t predict where my next
good connection will come from. Don’t email me; I’ll email you.

Are you getting productive results from an online social network?

Jono Bacon

AddThis Social Bookmark Button

Anyone who is even vaguely familiar with free software/open source is likely to be familiar with the hacker. While I will spare you the lecture about the true definition of the term ‘hacker’, there is no doubt that this devoted individual who has no interest in ‘owning your box’ as per the press representation of the ‘hacker’, has a particular motivation embedded in their brain that makes them a hacker. This individual often spends many hours sitting in front of vi or emacs, staring at the code within, performing some kind of cryptic magic, trying to make the different parts of their vision make sense in the terse programming language that they use.

Hackers are notorious beasts due to one major reason: their commitment to the project. Although I have already coined a mental vision in your mind of a hacker in front of a whirring computer staring at code, the hacker can of course be involved with a non-code aspect in a project. This could include system administration with their home network, documentation, advocacy, web development or other areas. The key here is that the hacker typically strives to improve things, find the best solution and make things work better and faster. The hacker is often never satisfied with their work as they are always convinced that there is a better way, or a finer hack.

I believe that the mental machinery that makes someone a hacker is instilled at a very early age. As an example, when I was younger, I used to have a Commodore 64. This wondrous example of sheer processing power was my first real experience of playing with technology. When I got the C64 for christmas from the sleigh riding, chimney riding big man, I was basically left to my own devices to try and figure out how to use this thing. I was young, excited, confused, and had no idea how to use this chunk of keys, wires and squeaky tape drives. Worst of all, my parents knew even less, so I had no option but to figure it out on my own.

There I sat, hunched over the keyboard, staring at the screen in the same way that I would some 17 years later, attempting to mentally organise the wealth of possibilities with this system. I typed in things, they didn’t work, I
typed in other things, and they also didn’t work, but then I would type something in, and it would work. Wow. To the casual observer, they would probably not understand how:


10 PRINT “JONO IS COOL”
20 GOTO 10

could cause so much joy, but after spending hours subjected to a repeated battering of SYNTAX ERROR messages, a screen full of JONO IS COOL was a big deal. After a few minutes of excitement however, my calculating little brain was interested to see what I could do next. I had played games on my C64 and I had seen these graphical characters that I could control - surely I could do that?

This is essentially the key to the meat and potatoes of the hacker ethic. The hacker always wants to push things further. My first C64 program was simply not good
enough; I was convinced that I could push it further. I really wanted to see the limits of the machine, I wanted to see how far I could really push the C64. This was not only a desire in terms of writing code, but also applied
to actually seeing other software really push the machine. I would look at the various games available for the C64 and deliberately choose games that looked graphically impressive. To me, gameplay was second to the graphic ability in a game; I was never really interested in games, but I was interested in seeing the machine perform impressive feats of programming. The game for me was to sit there and try to figure out how they did it.

I know for a fact that this kind of thought process was nothing unique to me at all. Many other computer users and developers experienced exactly the same kind of thoughts and experiences when they were younger, and this sowed the seeds for their later forays with technology. In many ways, the computer seems to be the ultimate toy to the hacker. The computer can be made to work in various ways, and these ways can often impress the hacker and enable the hacker to push it even further. Naturally, this kind of excitement over technology is not just limited to computers. How many of you had/have an interest in robotics, electronics, home cinema, lego, woodwork and amateur radio. All of these interests have the concept of trying to push hardware to its limits, and trying to create and see new things, be it the craziest lego creation or building a steam engine in your
workshop.

When computers first began to start taking a consumer form, and the Homebrew Computer Club were developing the future peers of the industry, the hacker ethic really started to develop. This is when I believe a lot of true innovation started to develop. Hackers were getting source code for their computers and sharing it with each other to make their computers do new and interesting things. This concept of sharing was of course the norm until a certain Mr Gates send an open letter to hobbyists proclaiming the possibility
of charging for software.

Within the free software community, the same concept of hackers sharing with hackers has gained considerable popularity over recent years, and the ethic has been made available to a younger generation of would-be hackers.
Free software has created the same kind of peer review structure that seemed to inspire the early homebrew hackers to push their computers to new and interesting things; free software developers seem to share the same desire to push their software to do new and interesting things, and to enable their users to have better flexibility with their software. This organised chaos of hacking code with other hackers from around the world has not only created a culture of openness, but has also developed a culture of sharing and pulling together to to collaborate on shared goals and ambitions.

One of the reasons why I love free software is the fact that hackers can thrive in an environment that is right for hackers. I love the fact that when I turn on my computer every day, there is something new to read, download and
play with; there is always someone new trying something new. The desire to push the limits will never stop, and free software hackers will never stop trying to push free software in every way they can. This is why free software such as Linux will run on everything from a watch to a super computer cluster, and this is is why we have text mode quake, AALib, emacs with its built in web browser/news reader/kitchen sink, bootable CD distributions, floppy based rescue disks, text parsers piped into shell scripts and other innovative morsels of technology. Some are useful, some are not, but in the end it doesn’t really matter, a hack is a hack.

The moral of this story is that we all love playing with technology. We all love pushing it in different ways and exploring new avenues of technical capability. We are all hackers, and whether you are a part of the free software ethos or not, hacking will unite those of us with a desire to explore, exchange and extend.

What are your thoughts on why hackers hack? Are you a hacker with a particular reason for hacking? Share your views below…

chromatic

AddThis Social Bookmark Button

Related link: http://csis.pace.edu/~bergin/patterns/ppoop.html

Quick; write a small program that detects the user’s OS and prints a one-line report about it. Choose whichever language you prefer. Done? Good.

Give yourself ten points if it works on Windows systems and Unix systems. Give youself five more points if it detects Mac OS X as a separate OS. (Give yourself a pat on the back if it prefers Unix to Windows — there are no extra points here, but you’re clearly on the right track.)

How many design patterns did you use? None? Sorry, you fail….

Okay, so the article presents a stupid little example and then tries to explain object oriented design, design patterns, and maintainability by asking one of the most persistently silly questions in programming today: What if the problem changes in the future?.

Supposedly, that justifies taking a working (if naive) Java program and breaking it into no less than seven files as well as using the Factory and Singleton patterns. Oh, and there’s also separation of the display layer.

Sure, you may need to add a new operating system later. That may involve writing some code. Look at the code that adds the Mac OS X logic, though. It’s two-thirds the size of the original, naive attempt!

If you’d used a data-driven approach, maybe using a hash table, you’d likely be solving the next real problem by now.

Being a good programmer requires having a good set of tools. Object orientation and design patterns certainly qualify. Unlike the silly test above, though, you don’t lose points if you don’t use them all the time.

It’s far better to ask does this code solve the real problem? and is this code sufficiently factored and tested that I can change it when needed?. Remember, maintainability is as much about not having unnecessary code in the way as it is about having clean, well-designed code.

I could just be making a big deal out of a stupid example, but SEVEN classes? Does that seem like overkill to you?

Chris Shiflett

AddThis Social Bookmark Button

Related link: http://www.phpcommunity.org/

Are you artistically inclined? We are looking for a logo that embodies the spirit of the PHP community for use with the new community site to be located at phpcommunity.org.

Those who have volunteered to help build the PHP community site are already aware of the logo contest, but the contest is available to any who want to enter, so I decided to announce it in my blog as well.

Please send your submissions directly to me (my contact information is available at http://shiflett.org/contact), and I will share them with the Steering Committee and likely make the best entries available for all to see.

We are also looking for ideas for the overall site design, although there is no specific contest for this.

brian d foy

AddThis Social Bookmark Button

I have been reading a lot of computer magazines lately, some recent but most a couple of months old, and they are all talking about digital music, and most of them, even the Windows oriented rags, talk about the iPod, whether good or bad. All of them are pushing the notion that digital music is the center of the digital lifestyle.

The magazines are probably just pandering to advertisers when they push the digital music angle. I remember, maybe correctly, that the president of Lands End once gave an interview where, when ask about which technology was the most important to their online venture, he did nto choose a web server, a programming langauge, or a particular type of computer, but bar codes. I imagine something as invisible is more at the center of my digital lifestyle.

TCP/IP - packet switching technology is the thing the internet runs on. I cannot talk to the iTunes Music Store without it.

DNS - Jon Postel showed us how to destroy the entire internet by messing up DNS. Without it we would need a yellow pages for the internet, and with IPv6 that would be a lot of numbers to remember, and Akamai would have a tougher time working the magic they work to make web sites seem fast all over the world.

802.11{abg} - Eventually I need some way to communicate with the internet, and although I hide my Apple Airport behind the TV, my work comes to a stop when it loses its broadband connection.

Email - I could do without digital music, but I am addicted to email.

CDs - all of a sudden they do not exist?

Digital TV / DVDs - I end up watching a lot more TV or Netflix movies than I listen to music, but magazines do not show those the love.

I chose rather geeky things, but without those things we would not be talking about digital music at all. I am sure that if most of you looked around, you would discover a lot of stuff you use everyday and do not even remember it is there until it stops working.

What is the center of your digital lifestyle?

Jono Bacon

AddThis Social Bookmark Button

Well here we go. I suppose every blogger needs a first post, and this is my first foray into the world of an O’Reilly weblog. There is a good possibility that many of you are wondering who I am, why I am writing here and if you should give me a tip. No tip required, but here is the low-down.

I am a full time writer and developer living in the sunny Midlands in the heart England. I have been a Linux user since 1998, and I write for a variety of magazines include Linux Format, Linux Pro, Linux Magazine, PC Plus and others. I have a great interest in Open Source and free software and I want to see it succeed in as many places as possible; yes, this includes it running on your toaster and electric toothbrush. As such, I write a lot about advocacy of free software, thoughts on how it should mature and ideas about getting it into places that matter such as schools, education, hospitals and your office.

The reason I am into Linux is that it satisfies both a technical and humanistic part of me. I love the fact that I can get hold of some fantastic, stable, secure software and I also love the fact that it is free, open, and developed by a community of volunteers, each of which has an email address and personal impact on the software. In my view there is no real technical goal that cannot be reached with a development structure such as the one we have. There is always going to be a bright spark somewhere that will pull something out of the hat and surprise us.

Take as an example the recent work being done by Robert Love and the other Project Utopia hackers. This kind of innovation is what will make the Linux desktop stick in 2004. What I find interesting is that the various limitations of free software components are often surpassed by the fact that someone questions the validity of established processes while still keeping in with the norms of the application structure. This can of course make a free software project flourish under the condition that the development community are open to well founded sensible decisions on architectural change. In essence this keeps things fresh and stops a community getting stuck in a rut.

When reading this blog, you should prepare for some rambles. I am an incessant rambler (no, not a keen walker of public footpaths, just a keen talker about things that are interesting to me) and I like to discuss different issues and problems with the hardware and software that I use every day. Much of this technology we use works, some of it does not, and when I ramble about it I hope to open some interesting discussion about these issues. In many ways you can consider this blog a more technology focussed elder brother to the blog on my homepage. In this blog I will spare you what I ate for my lunch, did at a gig last night and what I think of the demise of Friends on TV. This blog sticks to the technology and I expect you all to be wearing sandals and growing a beard while reading it. :)

This blog is not a one way concept by the way. I would love to hear your thoughts about the content of my blog posts. You can do this either by submitting comments below or by emailing me at blog AT jonobacon D-O-T org, logging onto my forum at http://www.jonobacon.org/forums/ or by shouting at me in the street.

Andy Oram

AddThis Social Bookmark Button

LinuxWorld in January 2004 looked mostly like more of what was at last
year’s LinuxWorlds. No radical departures; just more serious talk of
moving to the desktop, more and faster clusters, more products aimed
at ERM and other back office services, more advances in the tools
available to support Java. But more is better. Here I’ll report some
conversations that gave me new perspectives and some companies I met
with.


How globalization could promote the role of women in computing

At LinuxWorld I met Margo Seltzer, who
invented the Berkeley Database (BDB) at UC Berkeley and now shares her
time between
Sleepycat Software
(the company commercializing BDB, where she is CTO) and Harvard
University, where she is Associate Dean for Computer Science and
Engineering.

Seltzer told me how BSD implementor
Keith Bostic
took assessment of BSDI many years ago and found that its communications and operations were lacking. An early example of a free software development
organization, BSDI depended on communication and sharing among a
far-flung set of programmers, but the communication and sharing
weren’t happening. Bostic realized these virtues were traditionally
associated with women, and started hiring with that in mind; ending up
with a programming staff that was half women. Communication and
coordination improved dramatically, and so did results.

Seltzer worked with Bostic at BSDI and now works with him at Sleepycat
Software. Wherever she has been a manager, she promotes personnel
policies that make it easy for people to keep jobs while raising
children. These are fairly familiar adaptations that apply to a wide
range of professions: flex time, telecommuting, part-time
opportunities, and making children feel comfortable in the
workplace. She says this flexibility has allowed her to employ a lot
of highly qualified and highly dedicated women, including one who is
“one of the best engineers she’s ever known.”

What can the computer field do to attract more women? Seltzer says that
the process has to start early in life, long before the job interview.
Schools, universities, and even game manufacturers (perhaps especially
game manufacturers!) should adjust their offerings to appeal to
girls. Seltzer says the computer science field is already moving in
that direction, a trend I can confirm from my reading of the
Communications of the ACM over the decades. Computer science programs
are broader now than they used to be, covering not only the
technology, but the interaction between technology and practical
domains where the technology is applied.

There is a well-established tendency (not true for every individual,
of course) for men to show interest in engineering and technology for
its own sake, while women are more often among those who see
engineering and technology as means to an end, and who want to see a
useful benefit at the end of the line.

Furthermore, men often like clearly delimited tasks with fixed goals
and requirements, while women are often better at doing systems
analysis and fitting solutions to real-world problems. Microsoft is
one company where Seltzer says she sees the different genders ending up
categorized that way.

Now, what jobs are easiest to outsource overseas? Precisely the
delimited tasks with fixed goals and requirements. The job of systems
analysis and fitting solutions to real-world problems remains in the
controlling country. Therefore, Seltzer believes that the movement
overseas raises the profile and status of women in the computing
industry.

Another female colleague I know who runs her own consulting company
told me this week that open source has many qualities we traditionally
think of as feminine. It involves communication, cooperation, and a
willingness to put together contributions from many people without
worrying who gets credit. Furthermore, nothing is ever finished and
neat; the process is ongoing.

After talking to Margo Seltzer, I went to a party and chatted with Perl
porter Kurt Starsinic, who works for the famous financial information
and services firm
Bloomberg.
He describes them as “one of the best places to work in the world.”
They try to find top-notch personnel and then largely trust them to
work independently–but they are expected to find a peer to audit
their coding and related practices. Good communicators are demanded
there, and the very architectural layout of walls and staircases
ensures frequent interaction. In consequence, comraderie and
interaction are at a high level. I also saw a suggestion of their
emphasis on the quality and nurturing of employees at their
website.

Hearing all this from Starsinic, I asked him on impulse, “How many
women programmers does Bloomberg have?” He answered, “A lot!”

Even if companies adapt, women can expect sniping from the
sidelines. An article in the Wednesday New York times reports
grumbling from a conservative group at Princeton (which has a female
president) because four of the university’s senior positions are
occupied by men and four by women. The grumblers, staunch preservers
of the social order, can’t believe that the female appointees could
actually have won their places through their qualifications. Someone
should hand these critics the statistics that show how women are
already in the majority in college enrollment and among entrants to a
number of professions. I also heard at LinuxWorld that a United
Nations agency is raising the social and economic status of women in
Africa by training them to be computer system administrators.

Readers interested in learning about and working on such issues can
consult:


Who are the copyright infringers in open source?

On a tip from a colleague, I stopped by
Black Duck Software
to see their system for tracking violations of open source licenses.
This is no mere diversion for embittered hackers; it’s a critical
procedure for large companies who have reason to worry that their
programmers have violated licenses.

Black Duck CEO Douglas Levin cited, for instance, a case reported by
investment banker Broadview. When
IBM acquired Think Dynamics,
a painstaking manual examination of its code revealed 80 to 100
examples of open source code that Think Dynamics programmers had
passed off as their own. As a result, the price of that company went
down from 67 million dollars to 46 million–not a happy moment for its
owners and shareholders, I’m sure.

Readers cannot miss, I’m sure, the irony that this very IBM, which was
so diligent in tracking down license violations, is being accused of
the same by SCO Group. Indeed, the absurdity of SCO’s suit should be
obvious, because who would try to hide infringing material in open
source code? Obviously, the true danger lies in the other direction:
code generously donated to the world by free software programmers is
being hidden in binary files and used to pump up the profits of
proprietary software vendors.

Black Duck staff are not the only ones worked up over this scandal. I
talked to a leading open source software developer during the week who
said his business was virtually ruined by competitors who incorporated
his code into their products, stripping off his GPL notices and
sometimes distributing it in binary fashion. It’s very hard to find
infringement in binary files; in one case he did so because the guilty
programmers were too lazy to change his unique error messages.

It’s also hard to document cases of copyleft infringment, except in
rare instances such as Think Dynamics. Often the aggrieved programmer
lacks the resources to sue a large and unscrupulous company, so
there’s no established, publicized outcome. On the other hand, when a
programmer persuades a vendor to admit the infringement and pay up, it
would be unfair to publicize the issue and punish the vendor for
ultimately doing the right thing. However, Levin told me that many
companies have invested large amounts of money in proprietary software
products, only to find at the last minute that they had to release
everything under an open license because somebody discovered free
software at its base.

But Black Duck is counting on there being enough honest software
vendors, and enough settlements with real penalties, to drive sales
for their very interesting product. The company tracks dozens of
well-known sites for open-source software. It takes bits of code from
source files throughout the software and creates fingerprints that it
stores in a database provided to its customers. It also provides a
snazzy front end, an Eclipse plug-in, that allows programmers and
managers to quickly scan their own source files, log instances of code
found from open-source projects, and determine what license covers the
code so they can deal with it properly.


Volunteerism alive and well

We all welcome investment by big corporations in free software. But I
found LinuxWorld’s Org pavilion, representing largely volunteer groups
and non-profits (some of course with corporate backing), to be the
most crowded in the show.
OpenOffice.org
and the
Linux Terminal Server Project,
located side by side, were positively a fire hazard.

I lunched with Jim McQuillan, founder and leader of LTSP, who does
consulting for health care organizations in his spare time. He told me
that HIPAA is a big boon to consultants whose Y2K business ended.
HIPAA is the well-known and controversial privacy regulations that
you’ve probably run into because your local clinic and hospital have
required you to sign forms concerning your privacy rights. HIPAA is
largely a beneficial regulation passed in the Clinton era, weakened as
one would expect by the Bush administration, but extremely subtle and
complex in its implementation.

Of course, the popularity of the Org pavilion was a bit exaggerated by
the tendency of non-profits to rent smaller spaces than commercial
vendors. But the bustle in that area, along with the interesting
projects shown off there, remind us that the spirit of personal
contribution remains high in the Linux arena–particularly among New
York user groups and organization representatives, who deserve a big
collective thank-you for the time they put into the conference.

One of the non-profits I visited is the
Free Standards Group,
who have launched an effort to promote free desktop software that is
accessible to the blind, those unable to type or use a mouse, and
other disabled users.


A cluster of related vendors

I don’t think any single application dominated LinuxWorld as much as
clustering. You couldn’t cast an eye about anywhere without noticing
companies with key products in the clustering area, and even more
companies (in fact, nearly every company) employed clusters as part of
a solution to some more specific need.

Some vendors I talked to are:

  • Donald Becker, one of the people who could be said to have started it
    all. The company he founded,
    Scyld Computing Corporation
    continues to release new Beowulf-based products after its purchase by
    Penguin Computing, and now offers both Itanium and Opteron clusters.

  • Qlusters
    has up-and-coming clustering software.

  • Chuck Foley of InfiniCon sees
    three trends coming together to create a new era of high-performance
    computing: Linux clustering, commodity 64-bit chips, and InfiniBand,
    which offers up to 30-Gigabit networking. One of InfiniCon’s
    customers, Pennsylvania State University, recently clocked in with
    the world’s 89th fastest supercomputer (1.3 teraflops using 160
    2-processor, 32-bit nodes). The previous cluster ranked number 89
    required 1100 nodes to get even close to that performance, showing
    the price/performance improvements that are currently being achieved
    in Linux clustering. With 64-bit processors, another InfiniCon
    customer hopes to make it up to 5th in the next world supercomputing
    listing.

  • A staff person at
    RLX Technologies
    told me they started offering their clusters for high availability
    (that is, providing reliable, mission-critical services), but have
    increasingly found them being used also for high performance (that is,
    computations in well-known domains like seismology and
    bioinformatics). They provide turn-key solutions integrating Linux and
    management software with the processors and either Infiniband or
    FiberChannel.

  • SteelEye
    makes software for monitoring and doing automatic restarts or
    failovers for clusters; it is heavily resold by IBM and HP. They
    feature fine-grained monitoring: for instance, if a system fails to
    respond because the database went down, the monitor can simply restart
    the database instead of failing the whole system.

  • Pogo Linux
    offers a range of systems, focusing on servers and storage RAID-based
    systems.

  • A number of companies with multiprocessor-related compiler tool chains
    were hanging out in the AMD area.
    Etnus
    offers some sophisticated technology, including a multithreaded
    debugger, for the AMD Opteron and a
    number of other Unix and Linux platforms.
    The
    Portland Group
    is another company demoing a very cool-looking visual debugger that
    can show you what each thread is doing and step through each thread
    independently. They will soon release a profiler as well.
    PathScale concentrates on
    Opteron support, intensively examining every opportunity to squeeze
    performance improvements from that chip. They claim the best
    performance of any vendor on the Opteron, and say that they do
    equally well speeding up integer and floating-point
    code. Furthermore, their commands are compatible with gcc,
    allowing use with the same scripts and makefiles.


Some larger vendors

For reasons that may well be totally arbitrary, I got more contacts
with IBM than with any other large company at LinuxWorld this year,
and therefore heard more of what they had to say. IBM has ported Linux
to its 64-bit POWER systems, the latest in its RISC-based genus of
which the PowerPC chip is the most famous species. A number of ISVs
have already ported their applications to Linux on 64-bit POWER; SAP
is in the works.

VP Brian Connors stressed that the new POWER prices were comparable to
the Xeon, not the Itanium: “64-bit systems at 32-bit prices.” Both
an IBM compiler and the free gcc are being enhanced to
support the processor. In the larger scheme of competition, Connors
thought it important for Linux to be a viable option on many different
types of processors: “The architecture should be open at every layer.”

VP Adam Jollans asserted, “As we go into this year, Linux will enter
the space of ERP and other big enterprise applications.” This can be
credited partly to the new 2.6 kernel, which scales up better than the
2.4 one.

When I asked Jollans what IBM was doing to improve the experience on
desktop Linux, he noted that a number of Lotus clients can be run
through a Web browser to allow Linux access. (Lotus server
applications have already been ported to Linux.) He reiterated the
strategy for moving Linux gradually to the desktop that had been
articulated by IBM and others at the

Desktop Linux Conference
.

IBM thinks it has found a way to capitalize on the well-publicized
resistance Microsoft customers are showing in the face of its upgrade
strategy. When security upgrades vanish from Windows NT, IBM is hoping
to get the system’s two-million-strong customer base to move to Linux
instead of throwing away their hardware and buying new Windows XP
machines.

By the way, if Microsoft is trembling at the edge of a chasm, it would
take quite a while to notify all the customers that continue to show
it loyalty, and probably even harder to convince them of that fact. On
Friday, the company reported better than expected results for the
quarter, and the highest revenue ever.

MySQL AB has quite a brood of followers in their conference area, a
little conference within a conference that grows year to year; this
year even Intel had representatives in the MySQL area. (An actual
MySQL conference took place last year and will be held again
this coming April.)
I have reported on some of these companies in my
LinuxWorld weblog
from last August.

One company I noticed there for the first time was
High-Availability.Com,
which makes a cluster to facilitate MySQL replication and
resiliency. It supports a wide range of operating systems.
Arkeia was also present, showing
their tape backup system.

We have all heard that PHP decided to bundle SQLite with their free
distribution instead of MySQL. A volunteer at the
New York PHP
booth told me there was no single show-stopper that decided against
MySQL, just a grab-bag of licensing worries.
But
Zend Technologies Ltd.,
the company responsible for designing new versions of PHP and creating
its core engine, licenses MySQL and bundles it with their products,
which include an IDE and a highly regarded performance enhancer.

Doron Gerstel, CEO of Zend, told me that about 50% of PHP sites use
MySQL as the back-end; another 25% use Oracle and the rest are divided
among other databases. Zend is seeing PHP increasingly in critical
applications such as e-ticketing. Eventually, they plan to provide PHP
with a query API that eliminates the need for SQL.


Other companies I happened upon

With all the crush of clustering and server companies, hardly anything
in other areas–such as wireless devices or embedded systems–made an
appearance at LinuxWorld. One company that combined both those traits was
AML,
which makes hand-held terminals and other small devices meant for data
collection in factories and other facilities. My question: what
country will be the first to send a Linux system to Mars?

One of the trends I’ve noticed (particularly when reading
Sys Admin
magazine) involves tools that take automation to the network. Whereas
we’ve had tools since time immemorial that check for intruders or
monitor performance on a single system, the new crop of tools do the
same thing for all the servers or all the nodes you’re responsible
for, and combine results.

One of the companies representing this trend is
Net Integration Technologies,
which has been marketing its products since 2000. Suppose you install
a new network interface on a router. You’d like all the clients behind
the router to know they can use this interface; Net Integration’s tool
configures them automatically to do so. It also allows quick disaster
recovery, maintaining a great deal of state about the system.
Representative Dan Wensley told me they consider their product
well-suited to small and medium businesses, and hope it helps push
Linux into that market.

I stopped by
EmperorLinux,
which sells a variety of laptops and notebooks with Linux
preinstalled, along with technical support.

Well, that wraps up what I as a single person experienced at the last
LinuxWorld to be held in New York. I couldn’t be everywhere and hear
everything (in fact, by the end I didn’t feel like I was anywhere and
could hardly hear anything) so I know there were many interesting
announcements for which you’ll have to read other reports.

Comments welcome

Mark Finnern

AddThis Social Bookmark Button

Related link: http://myrecall.archive.org/

Anna Patterson
is the Queen of the geeks, at least fro me :-) On the side, while pregnant,
she wrote a search engine
for the Internet Archive
which clocks in at 150,000 lines of plain POSIX
C code for the indexer and 50,000 lines for the server side, with some neat
features like automatic personalization. Wow.

We taped her presentation at the Future
Salon
Friday a week ago, but the sound didn’t get recorded, so you have
to make do with eye witness reports like this one. Anna’s search engine datamines
the corpus before indexing, which leads to a higher level of knowledge per page
and enables new features like: automatic content organizing, trend analysis,
and personalized search.

The personalized search you can try for yourself. Put "Alexa" in
the recall engine.
You will see that some of the results are not worksafe, so don’t click these.
Next search for Brewster
Kahle
the founder of the Internet Archive who also created and designed
the Alexa
navigation service
, which got bought by Amazon.com.
If you now search for "Alexa" again, the results are tailored towards
your previous interests, all of the first page hits are about the Alexa search
engine. It’s a bit eerie at first, but the results will convince you, and of
course you can always clear your search history.

Overall very interesting concepts and results that you can check out today.
I am convinced this is not the last time we hear from Anna Paterson and her
search engine. Here are her quick
overview slides
.

brian d foy

AddThis Social Bookmark Button

Related link: http://homepage.mac.com/azc/iTunesCatalog/

I have about 30 Gb of music, and now that I have iTunes 4, which can show artwork (e.g. album covers) for a track, I want to add that where I can. iTunes adds the artwork to the MP3 file itself.

I tried this a while ago by searching for the album on Amazon then saving the image and importing it into iTunes. It was a very lengthy process. A couple people have dodgy Perl scripts that try to automate this, but they have not worked right for me.

I read about iTunes Catalog, which scans the iTunes XML file, finds as much artwork as it can, then has a nice interface to see what it thinks is the right album cover and to let you import that artwork into MP3 files. Even cooler, it saves the artwork it finds so I can see it without a network connection. I tried the demonstration version, which fully works, but only for artist’s names starting with A through E.

For popular music, the application works wonderfully, although I had to do a little extra work for Ani Difranco’s First Album, The Best of Schoolhouse Rock, and The Anna Russel Album. The process fails horribly for most of the art music that I have. I had similar problems cleaning up the CDDB entries for the same music, so I expected this.

I found another application, FetchArt, which said it could work as a script in the iTunes Scripts menu. However, after I installed this without a problem, when I tried to run it, I got a warning saying that it only works with Perl 5.6, which I got rid of a long time ago when I installed 5.8. I took a look at the code and did not see anything that should keep it from working, but I abandoned it anyway.

Now, iTunes Catalog realizes that not everything will work right and sometimes I might need to refine a search to find what I want. However, I think searching Amazon on my own is just as easy, so I am back where I started, not because the technology is missing, but the data are so bad.

How do you handle iTunes artwork?

Adam Trachtenberg

AddThis Social Bookmark Button

Related link: http://www.linuxworldexpo.com

The first booth I see as I walk in has man dressed in a giant penguin costume. Good God! Now
the penguin is dancing around in pantomime to music and a mysterious
voice is droning on about Computer Associates’s
commitment to
Linux.

I’ve only been at LinuxWorld
Expo
for 5 minutes and I’m already scared. (Or trapped inside of Billy Madison.)

Luckily, I’m supposed to be at the O’Reilly booth in 20 minutes, so
I’m able to tear myself away and head across the floor to set up for my
presentation on “ href="http://www.trachtenberg.com/talks/xml-php5.ppt">A Sneak Preview of
XML in PHP 5.” (PowerPoint)

This year’s O’Reilly booth is much larger than last year’s. In
addition to the print division, the href="http://safari.oreilly.com">Safari folks are here and they’ve
arranged to set up a giant computer monitor attached to the side of the
booth and a “I work at the Gap” headphone microphone to talk into. I
feel somewhat like a carnival sideshow barker as I load up my slides and
begin my half hour talk, but as the crowd gathers the whole experience
starts to be quite enjoyable.

After I’m done I get to chat with some of the audience. One guy
brings up a well-worn copy of href="http://www.oreilly.com/catalog/phpckbk/">PHP Cookbook, which
is awesome. Another person keeps asking me if “PHP 5 supports REST.”
Hum… I thought I just spent 30 minutes talking about four different
ways to parse XML in PHP 5. Maybe this presentation didn’t go as well as
I thought. (But in answer the question, check out my href="http://www.oreillynet.com/pub/a/php/2004/01/15/simplexml.html">
SimpleXML article from OnLAMP.com.)

With my responsibilities out of the way, I’m free to wander around
the show. David and I start by walking six feet to the MySQL booth to
chat with Brian Aker and Monty. Brian was showing off the new MySQL
toy, an embedded Java VM. Since David’s spent some time on an PHP UDF
for MySQL, the three of them talked shop while I just nodded along. (And
to answer the second best question someone asked me at the show, yes,
that is Brian’s real hair.)

Next stop was the NYPHP booth at the
.Org Pavilion. I say hi to Hans and Chris who are staffing the booth
and pushing clew, NYPHP’s “knowledge discussion package.” Looks like href="http://www.google.com/jobs/">Google is trying hard to hire
engineers. Their booth has four people: three technical recruiters based
in the NY office and one (gasp!) actual engineer. I guess when the
entire world is already using your product, there’s really no reason to
send a marketing team.

As the day winds down, I head with David to the href="http://developer.ebay.com/DevProgram">eBay Web services
developer BOF. Gary gives a nice talk showing the history of eBay’s
relationship with third party developers. It began with “Er… no you can’t
screen scrape our site since we can almost guarantee we’ll update the
site in two weeks and your script will break.”

That was a few years ago. Today, eBay has a Microsoft SDK, a pseduo-REST XML interface, and
they’re working on a SOAP toolkit. Big change, but now that 40% of eBay
listings come through third-party applications using the API,
you can see why they’re interested in growing this area. (Although as
David points out, they still have a little ways to go before their
lawyers let them offer a TOS that’s open source friendly.)

Have you ever seen a giant penguin?

David Sklar

AddThis Social Bookmark Button

Adam, Chris, Geoff and I had lunch at noon and then headed over to the convention center. On the way, I found a keyboard-less Apple II (II+? IIe?) on the street. No one in the .org section of the expo floor wanted to add it to their raffle prizes, so I pulled out the CPU and the 64K memory card as nostalgic souvenirs and tossed it in a trash bin at the show. I’d like to feel special, but somehow I don’t think that half of an old Apple computer is the weirdest thing that ends up in the garbage at a Linux trade show.

Aside from some general wandering around, I spent most of the day at the NYPHP booth and the O’Reilly booth. Adam gave a XML and PHP 5 talk which was pretty well attended. XML handling is totally overhauled in PHP 5, so it’s a prime reason to upgrade when PHP 5 goes final. We signed a few books and talked to some nice customer folks. Often people I talk to at trade shows that are thinking of buying PHP Cookbook are complete PHP beginners and I have to let commerce give way to honesty and tell them that PHP Cookbook is not the best book for them to start out with. However, everyone I talked to yesterday had a small-to-medium amount of PHP experience, which made them perfect for PHP Cookbook.

After the expo floor closed, Adam and I wandered downstairs to go to a BOF about eBay’s Developer Program. Getting to the BOF room required passing through an area that Oracle had commandeered for some kind of install fest. This was fine, since they were serving food and drinks.

eBay has some neat web service APIs for listing items and searching listings, although their license terms currently make it impossible to distribute an open source application based on their APIs without first buying a “commercial” license from them for a few hundred dollars. Perhaps this will change in the future.

Did you go to Linuxworld? How was it?

brian d foy

AddThis Social Bookmark Button

Related link: http://www.codetek.com/php/virtual.php

I have a small Sony Vaio at home—back when a Vaio was something between a really small laptop and a Palm Pilot. It has an almost 9 inch screen, which is not a lot of real estate to work on more than tow things at once.

Since I had FreeBSD installed and I was using Enlightenment as my window manager, I could create a bunch of virtual desktops, and I could switch to each of them easily. If I was working on more than one thing at a time, I would corral each task in its own virtual desktop.

Now, Codetek Studios makes that nifty feature available for Panther, and although it is not free, I will gladly pay $22 bucks for it.

I wonder how I would use this with a Cinerama display.

brian d foy

AddThis Social Bookmark Button

Related link: http://www.perl.com/pub/a/2004/01/09/survey.html

Adam Turoff lays out his perspective on the State of Perl. I agree with what he says, but I do not like that he has to say it. With anything less than total market dominance, people apparently think that a language is dead (just not Perl), and somebody needs to declare a winner.

Adam divides his space between the Skunk Works of Perl, the Perl 6 and Parrot projects, and “wild” Perl activity, which some people assert is fading into irrelevance as other languages (Java, .Net, C#, Python, Ruby) “eat Perl’s lunch”. As a glue language, Perl can work with almost anything else, letting niche languages step in to do some heavy lifting when necessary. Other languages do not have to lose to make Perl useful—other languages need to thrive. Indeed, Perl is good because it takes the best parts of other languages and combines them into one. Without other languages, there would be no Perl, which started as a way to tie things together, not drive them apart. Diversity increases utility and productivity, and drives evolution. New languages represent new ways of thinking, and we should not be afraid of them.

Perl 5 is what it is, and is just as useful as it always has been, just like Java, Python, COBOL, FORTRAN, and PL/1 are just as useful as they always were. The problems may get trickier, but that does not mean that those languages lose any functionality or stop working. Indeed, those languages are all still in use somewhere. They keep doing the tasks that they have always been able to do. Shortly after the announcement of the Perl 6 effort, Mark-Jason Dominus and I gave an interview to Dale Dougherty, and I said that Perl survives because it can go almost anywhere and adapt to almost anything.

Any language’s right to survive only depends on its ultimate utility. If Perl meets the needs of its users, we do not have to worry about its vitality, and we will not need to discuss how to market, sell, or promote it. Instead of worrying about new versions, we just have to make Perl useful, and most of that work is already done.

Chris DiBona

AddThis Social Bookmark Button

Related link: http://www.greatbuildings.com/buildings/San_Simeon.html

Recently, Californians in the Paso Robles/San Simeon area experienced an earthquake which rated 6.5 on the Richter scale. This caused a great deal of damage and some deaths in the town of Paso Robles. When I heard the news that it was in the San Simeon region, I , like many, thought of Hearst Castle.


Designed by Julia Morgan in 1919, with the famous directive from William Randolph Hearst to “build a little something” on the ranch, the Castle is a beautiful place to visit and is one of the top attractions for visitors to California. But enough tour guide talk, the point of this article is to hold up Julia Morgan for the genius she was and to examine what computer science can learn from her.


The castle itself is made from reinforced concrete with a thin sheathe of marble which gives it the appearance of marble throughout, but the strength to withstand the shaking that building on the San Andreas fault can promise to deliver. Ms. Morgan had seen firsthand in San Francisco the devastation that seismic events can bring, her office had burned down in the 1906 fire. Considering this, she wanted Hearst Castle to be able to stand up to what to her was a reality that she herself faced.


In my mind Julia Morgan would have been a terrific Unix developer, had she been a programmer. She would have noted the horrific construction failures exploited by the Morris worm, blaster and others and designed future structures with them in mind. She would have learned that without proper permission, memory protection and security structures in place, you invite disaster. I’m actually not trying to write yet another Microsoft is insecure article here, that’s been done by better writers than I, but I would love if we could all just learn from our past mistakes in the industry , be more like Julia.

I think we all have something to learn from the durable architecture of Julia Morgan.

Chris McNab

AddThis Social Bookmark Button

The first real public glimpse we had of Chinese technical prowess relating to hacking and security was in 2001, when the damning Code Red worm propogated, changing HTML to contain the ‘Hacked by Chinese’ slogan.

In 2002, the netXeyes Chinese group, and its members came up with some interesting Windows NT / 2000 / XP related hacking tools, in particular:

  • SMBCrack.exe, an ultra-fast NTLMv1 brute force password cracker
  • WMICracker.exe, a brute force tool for use against the WMI interface (accessible via TCP 135)
  • ARPSniffer.exe, a single WinPcap command-line ARP redirection and sniffing tool

    The premier piece of software in the netXeyes armory however is a system called Fluxay. Recognized as a backdoor or Trojan by Symantec and Sophos at the following locations:

  • http://securityresponse.symantec.com/avcenter/venc/data/backdoor.fluxay.html
  • http://www.sophos.com/virusinfo/analyses/trojfluxaya.html

    Fluxay is essential an all-singing all-dancing Trojan horse and active hacking system, the damn thing can even perform ARP redirection and sniffing, then send the results to the attacker via an SMS text message! The netXeyes Fluxay 5 manual (all 158 pages) is accessible here, and the software itself can be downloaded from the following:

  • http://61.132.27.138/superdown/down/Fluxay5Beta1.rar
  • http://zqlt.vicp.net/superdown/down/Fluxay5Beta1.rar

    You can browse through netXeyes’ releases in 2002 and 2003 using the following URLs:

  • http://www.netxeyes.org/2002.html
  • http://www.netxeyes.org/2003.html

    Two other prominent groups that have released exploits for mainly Microsoft Windows bugs (the RPC DCOM bugs that the Blaster and Nachi worms used come to mind) are xfocus and cnhonker. Over the last 12 months we’ve seen an increase of potent exploits being released by xfocus and cnhonker in particular, including use of pretty smart exploitation techniques. I certainly think that in 2004 and the future, Chinese exploit and worm development will increase, leaving the west behind.

    This used to be the other way around, though. I remember back in 1997 and 1998 when serious remote vulnerabilities were being found and published by hackers in the United States and western Europe. Companies in the east (Japan and Korea in particular) were very very slow on the uptake of this threat information, resulting in thousands of incidents. Nowadays there are Spanish, Japanese, French, and other specific mailing lists to provide security professionals and administrators with the information they need, but what happens when all the hacking sites and tools are in Chinese?

    Well that’s my 2 cents, please leave any links to other Chinese sites, or comments below..

  • Chris McNab

    AddThis Social Bookmark Button

    Over Christmas I started to throw around some crazy ideas for work, as I usually don’t have a lot of time to think outside the box. Ever since I was given a hardware keyboard logger by Frank Jones of Codex Data Systems at InfoSecurity Europe 2001, I have been quietly thinking about the possibilities of embedded systems and minature security devices. (a current link to the kind of keylogger I’m talking about is here by the way)

    There is one specific security application I am currently investigating relating to small SBC systems, that of running a Linux system with nmap and various other network scanning tools, along with a mini-PCI 802.11 wireless card for remote access.

    The various system boards I am looking at include:

  • The Soekris Engineering net4501, an Intel 486 133MHz system
  • The Intrinsyc CerfCube 255, an Intel XScale 400MHz system
  • Inhand Electronics Fingertip 3, an Intel XScale 400MHz system

    There are loads and loads of smaller SBCs, basically intergrated circuit boards that contain the microcontroller, flash memory, ethernet controller, RAM, etc., but require you to hook up all the external connections. A short list of such microcontroller boards is as follows:

  • http://www.arcturusnetworks.com/coldfire5272.shtml
  • http://www.advantech.com.tw/products/Model_Detail.asp?model_id=1-D6LEI&bu=#
  • http://www.dilnetpc.com/dnp0013.htm
  • http://www.amctechcorp.com/pages/netdimm%20sheet.pdf

    I’ll probably go with the CerfCube system at first, it’s not the smallest, but certainly offers the power and resources to run a pretty powerful Linux installation, plus its got a good shape (3 inches cubed, even with wireless).

    One book I picked up today to help with the process is Building Embedded Linux Systems. There are a whole bunch of distributions with small footprints for use on embedded systems, including uClinux, RedHat eCos, and Embedded Linux, not sure which one I’ll go with yet, but the plan is to have 802.11 wireless and ethernet support, so the device can covertly run network scanning tools, and drop the results to an IBM microdrive on the device for collection and management later (via wireless).

    That’s about all I’ve got to report right now, and I hope you find the links and resources useful. I strongly believe that these minature embedded Linux systems will prove as useful covert security testing systems into the future, we’ll see how I get along with my project in the coming months!

    Please leave me any links, advice, or comments below, thanks..

  • Andy Lester

    AddThis Social Bookmark Button

    Iain Truskett, or Spoon, will be sorely missed by the Perl
    community. He
    died on
    December 29th, 2003
    in his home in Canberra, Australia.

    Iain was a tireless contributor to Perl. Along the way, he:

    Even more importantly, Iain was a great colleague. I never met
    him, or even spoke to him except through email and IRC, but I feel
    like he was a friend. He was always willing to help out when
    possible, and at least discuss an idea when not.

    One night, we were in IRC helping someone with a testing problem.
    The problem was solved with a module that the person didn’t know existed.
    I said “We should get together a
    list of all the Perl testing modules
    and summarize what they do. Would you be willing to help out?” A
    couple of hours later, he’d taken care of A-M, where it took me
    days to finish up N-Z. Later, when I thanked him for jumping on
    it so quickly, he confessed, “I was really just avoiding real
    work. :-)”

    Farewell, Spoon. I wish I’d had a chance to meet you before you
    left so soon. We’ll miss you.

    Any stories to share about Iain? Pictures? I’ve only ever seen one, and I can’t find it on the web.

    brian d foy

    AddThis Social Bookmark Button

    Related link: http://use.perl.org/article.pl?sid=04/01/10/0055227&mode=flat&tid=9

    Many people may want a Perl certification, but how many people want to be the one who is legally liable for the certificant who messes up? Remember, a lawsuit does not need to have merit to mess up your life. All I see in this announcement is that a lot of people want a certificate. Let’s see how many people want to take the call from a lawyer for a company that gets burned. Nobody I know who has ever proposed this idea has said anything like “My attorney said I need to do this and this and this to certify a person”. That shows me that no one has really thought about this .

    Perl certification is not going to magically create jobs. I still see top notch Perl developers virtually begging for work. One more unknown certificate on their resume is not going to make that any better for them, and it is not going to make it better for people who are relatively unknown. Open source programmers are more likely to be judged by their reputation, their profile in Google, and their available source, unlike something like a Microsoft NT admin or Cisco router engineer, which are really just work-a-day jobs with little chance of recognition or fame.

    Certification programs make money for companies selling certificates, and in my opinion they are just a way to extract money from people who need it for other things. At Stonehenge we can certify that you took one of our courses, but we do not certify anyone as Perl programmers. Potential employers can ask for references, and that is more telling than some certificate.

    In my opinion, to truly certify someone as competent, you have to work with them for an extended period of time and evaluate them in a variety of cicumstances and from multiple perspectives. A single test will not do that. People will study for the test (just look at all the study guides out there), just like they do for any other test. You will only test the test.

    If you want a certificate, I am sure Nat can print you one at the next TPC, just like the last time this topic was debated, and, like last time this topic was killed, and I responded on the Perl advocacy list, I will make sure the world knows that I think Perl certificates are a worthless scam perpetuated to extract money from unsuspecting candidates to fool naive human resources departments.

    There is absolutely no good reason that people should have to pay to get a job using an open source tool, but that is the culture that certificate programs will engender.

    Andy Oram

    AddThis Social Bookmark Button

    Related link: http://news.com.com/2100-1029-5138447.html

    There’s some kind of lesson for the computer industry lurking in this
    story, but darned if I can figure it out.

    Essentially, a bottleneck or single point of failure at one major site
    (VeriSign) triggered a bottleneck or single point of failure at
    another point (the millions of Norton anti-virus products installed on
    people’s computers) and led to a massive denial of service.

    There seems to be an issue with monocultures (the popularity of
    VeriSign, although I don’t think they should be blamed for their own
    popularity) and with the centralized architecture of certificate
    authorities as a technology. I don’t suppose better caching would
    work, because you can’t cache verification. You need to be verified by
    an authoritative site.

    brian d foy

    AddThis Social Bookmark Button

    I have been playing around with iTunes again. I have a Perl module that mostly parses the iTunes binary file format, but I have not been able to update it for iTunes 4 since I have been away.

    When I first created this module, I played all sorts of games with folders and aliases and whatnot so I could perserve my music directory and database while still create new music libraries so I could figure out which bits meant what data.

    The way to do that is to compare the same file with slight difference—change the Composer and see what changes in the file, or change the equalizer adjustment and see what is new.

    Tonight, when I was playing around, I wanted to skip all of that, and I had the really old-but-new-to-me idea of creting other user on my Powerbook and doing all of my work there. Through the Accounts control panel I created a “tunes” user, and with the NetInfo utility I set up its directory, shell, and other things.

    However, I am still using Jaguar. I did not want to chance a bad installation and be stuck with a 6 pound paperweight in the middle of Iraq, even though Panther seems to work fine on my computers back home. So, in Jaguar, I log off, log in as the tunes user, work a little, and discover I need to do something as my normal user, like get to a file. Since I was the only real user, I never bothered with proper groups and permissions.

    I logged out and back in several times as I moved things around so I could get things done, and every time I did that some little voice in my head taunted me “And you thought that was a stupid feature in Panther! Suffer, fool, suffer!”

    Darn you Apple!

    Admit it, you thought something was stupid but found it useful.

    Rod Chavez

    AddThis Social Bookmark Button

    there’s more and more development being done on top of Mac OS X. and
    PowerBooks (esp. the new 15″ model) are rapidly becoming the laptop of choice
    for alpha-geeks everywhere. so i thought i’d take advantage of the trailblazing
    work done by Sam Pullara here at
    BEA, who has been doing his dev work on a
    PowerBook for over a year now. he had to write some code to support this, but
    using what he’s built you should be able to run WLS on your Mac. i’ve taken his
    binaries and some rather terse notes <g>, along with many IM sessions, and
    turned them into this post

    i’ve only verified that this works under the latest version of Mac OS X,
    codename Panther. while i haven’t verified it myself, Sam tells me that it runs
    just as well under the previous version, codename Jaguar

    next, a disclaimer: running WLS on Mac OS X is not supported by
    BEA. Sam, myself and others using Apple hardware here at BEA will try and
    support you (answer questions, potentially patch things, etc) but this is would
    be totally ad-hoc. if you want BEA to make this a supported (at least for
    development) platform, please let
    Andrew Littlefield or myself know. since
    the decision would really start with Andrew, he’s the guy you should contact.
    don’t be shy <g>

    all right, let’s do this. the first thing you need to do is check and make sure
    your Java environment is working properly. for example, after upgrading to
    Panther, mine wasn’t. it turns out that the Panther upgrade process can hose
    your Java environment depending whether you’ve installed a particular patch.
    since i had this patch on my machine, i got nailed

    to test your system, open a terminal window and type “java -version”. if you
    see “HotSpot not at correct virtual address. Sharing disabled.”, your system
    has been hosed. to fix your system, follow the instructions in this
    Technical
    Note
    from Apple

    once you know the Java environment is running properly on your machine it’s
    time to go get WLS. start at the following
    link.
    it gets you most of the way through BEA’s dev2dev site, but there are still a
    few things you need to do manually:

    1. on the page i’ve linked you to, you need to select the right OS. in the
      dropdown, in the 2nd section labeled “WebLogic Server Package
      Installer”, pick IBM AIX (5.1, 5.2, 32 bit) and then
      click on the “Select >>” button to the right of the drop-down
    2. at this point, you will be challenged for a username and password. you
      can’t download without giving marketing its due <g>. if you don’t have a
      dev2dev account, getting one is trivial. there’s a register button on the login
      page that lets you sign up. once you’ve either logged in or registered,
      you’ll come back to the right spot in the download process
    3. once past that, you’ll see a page asking if you’re downloading a server
      you’ve already paid for, or do you want to evaluate a server first. BEA now
      provides a “developer license” where you can get and run the server for free
      for 1-year, as long as you don’t “put it into production”. so just select
      “I would like to evaluate this product” and then click
      “Next >>”
    4. you’ll now see a form asking some questions about what you want to do with
      the product, blah blah blah. answer however seems best, and then click
      “submit”
      please note that the download process you’re forced to go through is
      being streamlined and revamped, so that there will be less marketing/sales gorp
      to deal with. but for now, please ignore it as best you can
    5. next up is the License Agreement. click “I Accept” when you’re
      ready
    6. click on the download area that is the closest match to the region you’re
      in and your browser should prompt you to open or save. pick save. do not
      open it yet. when saving, make sure the saved name is
      pj_server811_generic.jar. that should be the default, but in case your
      browser did something funny…

    you may be wondering why you’ve just downloaded the WLS for AIX version
    when this post is all about running WLS on Mac OS X. well, notice the name of
    the JAR you wound up with has generic in the title. it happens to be
    that the WLS build that runs best on AIX is the generic one, and so that’s the
    one to download and run on any platform not directly supported by BEA

    now you need to download this ZIP file, which contains
    several files to automate the rest of the install and setup process. save the
    ZIP alongside the JAR you downloaded from BEA, then do the following:

    1. unzip the ZIP file then step into the created directory as follows:
      unzip wls4mac.zip
      cd wls4mac
      
    2. run the script in the ZIP file. it will run the installer, configure a
      domain and create a default web-app. note that if you plan on exposing WLS
      on the internet, you should change the password for the user created in the
      silent config script (silentC.txt) before running this command

      ./wlsInstall
      
    3. the only thing left to do now is start the server. move to the domain
      directory and start the server using the start script located there

      cd /bea/user_projects/domains/wls/
      ./startWebLogic.sh
      

    that’s pretty much it to getting WLS installed and running. you should be able
    to follow this link,
    http://localhost:7001/, to see the default
    web-app running. and if you want to read more about WLS 8.1, here’s the
    online documentation

    but that’s not the end of our little journey here. there’s a few things we can
    do to make things better. first off, notice that WLS is listening for HTTP
    requests on port 7001. that’s ok if all you’re doing is development, but if
    you want someone within your workgroup or department to access your content, it
    sure would be nice if they could hit WLS on port 80. and there’s a way to make
    that work, using the version of Apache that’s built into Mac OS X by default.
    essentially, Apache can be made to forward a subset of its URI space. if you
    want to do this, here’s the recipe:

    1. get Apache started. the instructions (trivial) are here in this article
      Apple posted explaining
      how
    2. add files to Apache configuration. perform the following to commands to
      copy files supplied in the ZIP:

      sudo cp lib/mod_weblogic.so /usr/libexec/httpd
      sudo cp weblogic.conf /etc/httpd/users
      
    3. kick Apache. perform the following command to restart Apache using this new
      configuration:

      sudo apachectl restart
      

    at this point the following link,
    http://localhost/weblogic/ should now
    work. it goes to the same location as the link we used before, but now it’s on
    port 80, not port 7001 (actually, they both now work)

    at some point down the road if/when Mac OS X becomes a supported platform for
    WebLogic Server, you’ll be able to run it on port 80 without going through
    Apache. but as Sam pointed out to me in an IM session the other day, this may
    not actually be an improvement, since one of the key reasons Apache is in Mac
    OS X is to support user file sharing. so it helps to have Apache on port 80 and
    just forward when you want it too. oh well, these details can be worked out
    later. but if you have an opinion about this, please let us know

    now that we’re up and running, and available via port 80, how about we try to
    make things a bit faster, hmmmm? if this is interesting to you, it turns
    out that Sam has just the thing. he ported some of the native-io and
    terminal-io code that WLS has for optimizing performance on different platforms.
    it’s not required, and if all you’re doing is development, you might not want
    to bother with this. but if you want to squeeze a little more out of WLS on Mac
    OS X, add the JNI libraries in the ZIP file to your library path

    the JNI libraries are the files in the lib directory of the ZIP file with the
    file extension ‘.jnilib‘. so first, decide where you want these files to
    live. we’ll call that directory $WLS_JNI. then add that directory to
    your library path by running one of the following commands. if you’re using
    csh, then do this:

    setenv DYLD_LIBRARY_PATH $DYLD_LIBRARY_PATH:$WLS_JNI
    

    if you’re using bash, do this:

    export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$WLS_JNI
    

    it should go without saying, but i’ll say it anyway <g>, you need to replace
    the $WLS_JNI in the above commands with the full path to wherever you
    decided to put the JNI libraries

    well, that about wraps things up, with one remaining issue, which is browser
    support. unfortunately, the WLS console does not do well with the browsers that
    ship on Mac OS X. on Safari, things don’t work at all. on IE, it’s useable, but
    the left-hand-pane where a java-applet is supposed to be just shows an error.
    all the functionality is available in the main area, but navigation is clunky.
    again, i’m just talking about the WLS management console. your app and its
    content will be just peachy

    my focus in this post has been WebLogic Server 8.1, but i’ve been asked by
    several people about running WebLogic Workshop 8.1 on Mac OS X. there are a
    couple of developers who’ve run it here at BEA, and think things should be ok.
    but since i haven’t done that myself, i can’t verify it. if you have any
    problems with WLW, please let us know. again, since Mac OS X isn’t a supported
    platform, turnaround on issues will be longer. but we’ll do what we can

    if you got this working on older versions of Mac OS X, let me know. also, do you think that Mac OS X should be a supported development environment for WebLogic 8.1? and what kind of projects would you work on?

    brian d foy

    AddThis Social Bookmark Button

    I should be back from the Middle East before May, and barring another war or nasty situation, I have six months of civilian life to cram in a year of work. Being away, however, has given me a chance to reflect on what I have been doing.

    What do I choose to do? Usually I have a To-Do list, but I have renamed it a Not-To-Do list. I put my ideas on the Not-To-Do list so I can focus on a few things rather than on every idea I happen to have. So what survived?

    The Perl Review, my online magazine for Perl, wants to be ink-on-paper. That is not very digital, but it is the first thing everyone asks for. I have been thinking about that a lot over here, but I need to get back to the States to work on it. There are all sorts of things I would like to do with it, but I am not going to make any promises right now. The big vision right now is a magazine created completely from open source software with lots of automation and in a variety of formats (HTML, PDF, print). This magazine will promote Perl as the robust, designable, testable, and useful language I beleive it to be by sponsoring and publishing long-life articles on best practices, success stories, and the like. I also want TPR to be about people’s personal experience with Perl, and record that information so people who come to the magazine years from now still find it relevant.

    Instead of working on a lot of new things, I want to improve on a lot of old things this year. I want to make a lot of my Perl stuff better, stronger, faster, but I need to create the technology to do that.

    I want to refine a lot of the testing work I have done for Perl module distributions. I wrote a lot of Test::* modules and explored several ways of doing things. Since I have been gone Andy Lester took my good ideas and improved on them and let me know about my bad ideas. It is all evolution, and eventually I want people to be able to easily test Perl software and for users to realize that just about everything is tested thoroughly. This, I hope, can dispel any rumors about the robustness of Perl scripts in general, or at least create a recognized social class of coders whom the public trusts because of their fanatical testing. Randal Schwartz and I already travel the world teaching people how to become test fanatics.

    I started working on a Perl package browser because I like Squeak Smalltalk’s class and method browsers so much. With a little more work and maybe some help from other Perl people, it can actually be useful. I have a version that works for me and a pretty good idea what I want it to do, so I need to sit back and think about the experience then start all over. I want to easily connect Perl package information (not just the docs) so I can jump around and between multiple source trees with ease. Think hyperlinks, but for source code. This is a tall order, but maybe I will at least hit the haystack.

    Before I left for the Middle East, someone took my utility for releasing Perl scripts to SourceForge and CPAN and created a module, Module::Release out of it. Other people can change bits and peices of it to suit their needs. I would like to make that even more useful. I wrote the script to automate all of the mundane parts of my software release cycle, to automatically test a lot of things to limit the number of bugs that got into my software distributions, and to not have to interact with web sites.

    I have also been toying with the idea of compiling an audio history of Perl—something in the style of This American Life. I have been doing that sort of thing while I am here, so maybe I will just take my tape recorder and microphone with me to Portland for the next Perl Conference.

    I should really stop now, although I could go on with things I want to accomplish this year. Everything else goes on the Not-To-Do list, and maybe it will stay there, and maybe it will not.

    What are you going to do?

    Advertisement