El Gringoqueño

All a man needs out of life is a place to sit ‘n’ spit in the fire.

Archive for the 'Technology' Category

The Monks of our Generation, los melancólicos

Friday, September 24th, 2004

They have always existed, severe melancholics, those for whom
perfection is an attainable goal. The monks lock themselves away with
their craft to the exclusion of what we would call normal. Are these
noble endeavors, to cloister oneself far away from the distractions
of human life? They chose a lifetime of solitude, silence, rigorous
study, self denial, not for ignorant religious reasons, but for the
sake of their craft. These were the ones who preserved history,
recorded deeds, transcribed knowledge and kept it safe
for posterity. They wrote great works of philosophy, theology, and
science. They were the maladjusted geeks of their generation, so they
hid themselves away from the frat boys.

Still, I can’t help but feel a sort of pity for those so ill
equipped to deal with the stupidity and chaos of human existence that
they must flee from it. I cannot help but feel like they’ve missed
out on something, they who lock themselves away from humanity in
search of order, perfections, the divine.

I get the same feeling reading Slashdot,
and I’ve come to realize that programmers are our modern monks, quasi
agoraphobic masters of their craft, who wish strike out all discord
in the universe, make it perfect.

More specifically, these Slashdotters generally cannot tolerate
children, are set on never having any and express disdain for those
ignorant souls in the majority, the stupid politicians, the idiot
masses, the uneducated fools that hurt the environment, muck up the
order, impinge on our monks’ solitude. The disdain is expressed in a
variety of manners, from a quick sharp word to the author of a
factually incorrect statement, to the merciless flagellation of
abusers of grammar or spelling. Slashdotters revile rules imposed
upon themselves, limitations that rob from them the tools used to create
order. Witness the rebellion in both Europe and
the US over software patents. Programmers regard source code as
speech, and to patent it, to limit it, is tantamount to a civil
rights violation. Slashdotters hate spammers as well, these idiot
purveyors of Viagra, cheap real estate, and get rich schemes
withhold from our programmers free and open communication with their
fellows. It is as if all across the silent monastery rang the din of
Brittney Spears 24/7.

Happiness is irrelevant. There is only truth. There is only
perfection, and to the monk, perfection is attainable, if only he
could concentrate on it a bit harder, for a bit longer, with the
right tools, away… from… it… all.

I have come to realize that my pity is misplaced, for the monks of
our generation, as in generations past, are who they are and are
compelled to embark upon their quest to attain the unattainable. They
are the dreamers, the philosophers, the unreasonable forces in the
universe that create, if not perfection, at least a detailed map of
what it might look like. And that is a start, for without a map, how
may we know where to go, what to do with ourselves?

Data Migration Day Three

Saturday, July 17th, 2004

When will I learn? I don’t care how many times in the last five years I’ve had to mess with LDAP, I never learn. Why the hell don’t I write shit down when I figure it out. Do I enjoy re-learning the same stupid crap over and over and over? Must be.

Okay here’s the thing. I shall endeavor to remember the following:

  1. When upgrading an LDAP directory service, make sure to dump the data out of the running system before breaking it down.
  2. If I fail to do #1, please oh please dear God have made a backup of it at least. chroot into the old environment, launch the ldap server, slapcat the whole shebang and proceed to step three
  3. slapadd the slapcat-ed ldif file… NOT ldapadd. ldapadd is suggested in most places as the tool of choice, but slapadd is what I need. Geez, stupid fuckers.  Of course who’s the bigger idiot, the fool or the fool who follows him?
  4. Make sure to modify the slapd.conf file to change the default db from ldbm to bdm.

Pretty damn simple, eh? Not so simple when I’ve forgotten more of this LDAP shit than any sane person would care to remember.

While I’m at it, please oh please, remember for the next time about the dbmmange httpd password files. You’ve got to export the old entries, and then import them dbmmanage2 users import < old-data, modify the .htaccess files and be done with it.

Oh and a neat trick for dumping reliably an entire PosgreSQL database for an upgrade:

pg_dumpall > backup.sql

stop PostgreSQL, upgrade it, wipe the data directory, run initdb as user postgres and then psql -f backup.sql template1

Flawless. At least that part went well. The cursing was fun though.

The Sweet Nuanced Tones of Fuck

Thursday, July 15th, 2004

I installed all fresh shiny brand new super gooey-licisous software on this server today. The new OS and tools weren’t the hard part, it’s the migration of all the old data, the interesting easter-egg hunt of new features masquerading as error messages, and the cursing. Ahhh, it wouldn’t be a software upgrade without the cursing… sigh, I’ll look back fondly on this one day and remember the cursing, for it was rich indeed.

"Son, in my day, we knew what voice activation was."

It was the subtle nuanced language that only system admins knew how to speak… that and the sound of the keyboard being impact-hammered into oblivion. Pure poetry…

*sniff* brings a tear to my eye. I need a pint, I’m feeling in a bit o’ a brood.

How Linux will Save the World, part II

Thursday, February 26th, 2004

make_world.pngto be read while listening to Queen’s "I’m Going Slightly Mad"

Everything and everyone is a file, no more than a file, no less.

We
all strive to be big monolithic programs, with fancy buttons, big
memory footprints, environments where people, if they want to do
anything, must go through us. We strive to be pre-eminent on the
desktop, world stage. We crave fame. Look at me we say. Look how
important I have become. I am an Office Suite, hear me roar. Look how
much I can do. If you want to do any work, you must come through me.

Yet,
quietly, the hand of the messiah shushes us and compassionately tells
us we don’t want that burden. You do so for your own glory and not the
glory of the community, the glory of your siblings. You channel them
through yourself because you deem yourself important and indispensable.
You are indeed talented, he gently says laying his hand on your
shoulder, but where do you wish to go with this? To what end do you
hope to arrive? Sooner or later the load on your shoulders will be too
great, the bloat uncontrollable, unwieldy. You will not be extensible.
You may be the greatest that has ever been born, but the strain is not
something I should visit upon you. Why do you think I gave you brothers
and sisters – GNU?
Bash? These are your salvation. These are your tools to
interconnectedness, these are the gifts that will lead you to the
sublime.

Be at ease, big program, you are but a file, but
you are not JUST a file. You are a node that links together this
network, wherein shall you fish. They made you fishers of data, I shall
make you fishers of knowledge.

I still haven’t been able to shake this mania that I’ve been under… it’s like a Linux
spell. I have been hacking on Altamente’s server products for like two
months straight, going to bed around 2 am every night. If I didn’t know
better, I would have thought I’d wound up on the night shift. In my
delirium, today, I had a vision, a waking dream, a incandescent
glow-induced hallucination about the universe and my place in it.

In
the paradigm of Linux, everything is a file. I see files everywhere, I
interact with them, their inodes, links to them both symbolic and hard.
They are physical tangible objects to me. I know this interaction like
an old shoe. I’ve been using it off and on since 1989, and it fits, or
perhaps like that old shoe, I’ve broken it in, and I fit it as much as
it fits me.

Take MDA’s for example (Mail Delivery Agents),
where mail goes before it winds up in your Outlook folders *rolls
eyes*. Some use a format called mbox, which was one big glommed
together gigantic pile of bits, a big sloppy ball of wax, just waiting
to explode in your face every time a new mail arrived. You had to have
all kinds of special tools to extract, prune, or otherwise manipulate
this file. Everything had to be custom written especially for that
stinking format. Delete a mail? Well, first, lock your mbox, then back
it up, then rm. No? Oh, you need a special delete program specifically
designed to work with that file. Wah, I want to use rm.

When the choice of Maildir delivery arrived with qmail,
it was like that old familiar world of Unix. It made sense again. I
could use regular filesystem tools to deal with these mailboxes. If
wanted to clean out old mails, cron, grep, find, rm, and bash were all
I needed. Fantastic!

 #!/bin/bash
 find /var/spool/qmailscan/quarantine/ -name "*mango*" \  -a -type f -a -mtime +2 | while read file
 do
    rm "$file"
 done

This is a bash program I use on mango to wipe out any quarantined
virus email after 2 days. We get a ton of them, and without this tiny
little program, the server would fill up. However, we’d still like to
have a disposition of a couple of days in case we need to check it out
before deleting it. See how simple this is? We use cron to run this
little script every day at a set hour. The above is a program. The
above is just as sophisticated as anything with buttons, checkboxes,
and a gui – but it’s better. This little jewel is an autonomous agent
capable of performing the same task every day without failure for as
long as it has electricity. In short, after I write this little thing,
I never have to look at it again. It does what I need it to do,
reliably and without intervention.

I’ve written tons of
little one or two line programs to do everything from take poorly
formatted word documents of data and massage them into suitable formats
for publication in HTML or injection into a database or mailing list. I
get these things sometimes in such poor shape. I run a few tiny teenie
little bitty itsy one function programs like grep, cat, tr, and awk and
I’ve got a nicely formatted list, table, or structured document.

My
point is this: I wonder if there is a place for people like me in the
future of IT. I don’t even fancy myself a programmer. I do okay, but
I’ve never written a program over a 1,000 lines in my life, and 99% of
the them are less than a 100. See what I mean? I almost always can
string together pre-built GNU utilities, rm, find, grep, cat, sort, gawk, bash, cp, touch, tr, bc, diff, mv, sed, tar, and many others.

I
feel like this monk of the arcane, cloistered away from the buzzing of
corporate dollars, fancy slogans, glossy programs, big deals. I am but
a little worm hidden away from all of this, competently hacking out one
useful task after another with no more needs than a square meal, a
comfortable bed, an old PII, and a decent net connection.

We
must teach our brethren the ways of the Unix shell, for if we don’t we
will forever be trapped handcuffed in that big shiny plastic bubble of
modern life, where we see but we can’t interact. We must go back, back
to the beginning and learn the first lessons. We must relearn that it
is only through connection, collaboration shall we achieve, shall we be
saved.

Hacking Gentoo

Sunday, February 22nd, 2004

gentoo_tux.png It’s late at night, and I’ve been hacking on my home network of Gentoo Linux boxes. I’ve been performing rigorous analysis and system tests (does the shit work) for nearly a year. I think it’s all culminating here and now at 0100 AST 1000 miles off the coast of Florida on the Caribbean island of Puerto Rico.

One of the biggest challenges in maintaining more than one Linux box is the updating. The Open Source community moves so fast, it’s impossible to maintain more than one box by manual methods (ie performing updates physically yourself via CD or Internet). You have a couple of options. You buy a distro, slap it in, install it, firewall the hell out of it, and forget about upgrading for at least a year. You’ll get lots of work done because you won’t be constantly tweaking your machine and breaking things every other week, and you’ll have good solid security more or less for a year. Or you try to keep up with updates and end up breaking something, having to install something that is not vendor supported, overwrite something else, want to remove it, but can’t, and end up wiping and reinstalling a new version. So on the one hand you don’t have access to usability upgrades, and new features, on the other you end up spending more time in administration for your machine than actually doing useful work. A computer as a tool shouldn’t become the focus of the employee. The computer must be able to take care of its needs with little interaction from the user. Or if you prefer, the computer is too important to have its well-being left in the hands of a user. Say it with me IT professionals, "If you have to depend on the user for anything, you’ve failed."

Now, this is where Gentoo comes in. It’s a distribution based on the source code of the programs themselves. A Sparc, an old Alpha, an MIPS machine, PPC, Intel, AMD Opteron all update the same way, automatically, seamlessly. It’s beautiful, in theory of course

In practice stuff still breaks, libraries still get whacked, and things sometimes don’t work as advertised. For example, the library issue: When you compile a program some of them dynamically link to certain library files, for example openssl-0.9.6 a library for secure socket layer encryption functions. A literal ton of programs (that’s funny only if you realise that programs are electrons), link against this library and use its wonderful features. What happens when you move to openssl-0.9.7? This happened recently in the Linux world and it was a pain in the ass.

I mean, you could go through all your binaries and check to see with what they are linked. If it returns an error, well there’s your culprit. There are thousands of binaries, and you don’t want to do this stuff by hand. I really don’t care how long it takes, I’d just like the computer to take care of it on its own, behind the scenes, like a secret little administrative agent.

So this is what I’ve been doing today. Turns out this openssl-0.9.6 business is now trivial thanks to Gentoo’s package tools, namely revdep-rebuild. It takes a look at your installed package database and draws all the lines between libraries and programs that link to them, then recompiles the programs to link against the new library (I think it just really brute forces the whole issue, but I have to investigate more thoroughly). Pretty cool, huh? This is actually pretty heady stuff and a lot more significant than it sounds. It allows you to hit the moving target that is OSS development, maintaining integrity of your Linux distribution, taking advantage of the fast pace of development with absolutely NO manual intervention with any of the hosts you’re maintaining.

It works like this. You set up a central master server that is responsible for, downloading, compiling, and serving packages. The network of client machines each pick up prepackaged and pretested packages and install them at set intervals, every day if you like. Gone are the days where you have to either wipe the client’s machine and reinstall to upgrade, or tell them to just deal with it until the following upgrade cycle in a year.

Man, it’s late, and I don’t know why in the hell I decided to write all this down. Just what I’ve been doing for the past couple of weeks, seamless automatic maintenance of multiple (hundreds) hosts on a network. This rocks!

Now to bed.

Linux is Dead, Long Live Linux

Friday, February 13th, 2004

new_and_improved_sm.pngMy ode to Dave Barry

I have to say that this most recent Linux kernel 2.6x that just came out is WAY better than the first few releases of the last 2.4x series, which were a disaster. The last series got out the door with some serious virtual memory issues.

For instance, under heavy load, the kernel would go into crisis management mode, like a middle manager at an end of the year performance review. Yeah, I know, not pretty. And as the boat was sinking, the kernel had its handy dandy thimble and was dutifully bailing. This was the infamous disk thrashing kernelTM (up until 2.4.12, I think).

So you’d – get this – click on one program too many and the performance of your system would deteriorate until – and I’m not making this up – it became unresponsive and you’d have to hard reset it. That’s all fine and dandy for that OTHER OS, but this was the first time that had happened to me with Linux, and it was damn embarrassing. Yes, even more embarrassing than all the crap I have stuffed in my garage, and no, Viagra wasn’t going to fix it.

I checked around for a bit, and by a bit, I mean Slashdot, but the Linux press was decidedly quiet, too quiet. I smelled cover-up. Then one fine day the waters burst forth as Linus announced that he had ripped the guts out of the VM (virtual memory) module, given it a severe thrashing, and put in something more agreeable. I quickly upgraded, and things seemed to be better, but I never quite got over my trust issues. It still seemed dangerously, recklessly stupid under high load, and by high load, I mean listening to mp3s and surfing the web.

Well, I’d have to say that 2.6 is as beautiful and wonderful as 2.4 was ugly and miserable. Wow, what an improvement and not just in desktop responsiveness (which is very nice but not why we uber geeks use it in the first place), but overall stability. I have confidence that it won’t decide to push up daisies at an inappropriate time. In fact, my primary desktop machine here, is my development database server, webserver, nfs server, instant messaging server, remote update master, print server, desktop publishing platform, multimedia player, video machine, office suite, web development platform, and multimedia authoring system.

<voice accent="Austin Powers">YEAH BABY</voice>

From the “How Linux Will Save the World” Series

Tuesday, September 9th, 2003

The biological human was created to struggle
against chaos, to seek order, put things in their place. It is this
never ending quest that gives us something to do, something to strive
for. It is this quest that will eventually finish us.

We need chaos, the unexpected, the uncontrollable. It is only
through mutation, disorder, messiness that we grow as humans and become
more god like.

Technology will eventually completely rob our souls from us,
dehumanizing others to the point where a point and click will terminate
a relationship.. A point and a click may eventually signify the end of
a life. We are already heading in that direction. Think smart bombs,
cruise missles.

I read today of a 18 foot wide vending machine that basically
replaces a convenience store. It is being field tested here in the US.
The Roboshop is already popular in Japan, where space is at a premium
and wages are high for unskilled labor.

Imagine a world with no convenience stores or more importantly no
convenience store clerks, waiters, service folks. There would be no
friendly hellos, no eye contact, no have a nice day. We will all live
our lives inside the bubble of our needs that are instantaneously
satisfied, gratified, and quelled. We will download our music, order
groceries on the web, pick up milk and eggs from a vending machine,
self check out at K-mart. We won’t go outside to check the weather or
look at the sky. We will watch CNN to tell us what to think. We will
bio-engineer our children, take more pills to delay aging, and seize
more and more control. Like a hungry dictator we will pacify the
masses. Give them what is good for for them. Control is everything.

We have fewer children later in life. We control reproduction. It’s
messy business. The time isn’t right. Well guess what? The time is
never right for messiness. Messiness is something we would never choose
for ourselves. We never choose disorder. It serendipitously finds us.
It must. We need it. It is the guide that we need it to be. Want has
nothing to do with anything. What we think we want trips us up, lets us
down, and never ever meets our expectations.

Yet we want to control. We WANT to know. It’s built in. We classify,
pacify, and create structure. We crave control like crack cocaine. The
more we have the more we want and less satisfied we are.

Here’s the Rub

I sometimes get a glimpse into the world of Microsoft. Why did
Windows succeed so completely, so dominantly? Windows is everywhere. It
is on every new PC. It’s bought stolen, copied, pre-installed. We want
it and we will do anything to get it.

I am more and more convinced that it is because Microsoft gives the
drug addict what he craves so desperately. Control. While the service
centered Unix world was carefully creating interdependence among their
consultants and Value Added Resellers (VARS), Microsoft was out
creating a cheap product individual customers could use and control on
their very own. It was simple. It was not multi-user. It gave the basic
user a sense that it was something they could manage. It did not take a
staff of sysadmins and a ten thousand dollar budget to get it up and
running and do something useful. The PC running Microsoft Windows, gave
us poor humans a bone to chew on. Sure it was just a bone, but
we owned that bone. We bought it and it was ours, and we didn’t have to
depend on ANYONE.

Windows is a technology that is built to satisfy humanity’s all
consuming craving for control. Bill Gates has known this for some time.
Bill knows we want the crack. He supplies the crack. We reward him.
Sure our lives are miserable, but he gives us what we feel is control.
He supplies us with technology to buy and use. We have a problem we
download a patch. We fix the problem. We have a virus, we buy a virus
scanner. We need to create a document, we buy Word. We buy a solution,
prepackaged with all the features Microsoft has told us we would need.
Why deal with the messy details of our particular problem.
Why try to explain it someone and have them help us out. Just buy some
software and all problems fit nicely into its container. All supersets
do not exist. Problems outside the glossy plastic and End User License
Agreement simply cannot be.

Maybe you need to buy another piece of software or wait until Microsoft tells you that the problem exists.

In our culture of self-reliance it was the car that beat out the bus or train.

The Camel of Chaos Puts Its Nose in the Tent

I don’t know if Linux will ever overtake Microsoft. I don’t know if
liberation will ever overtake order. I do know that there has begun a
revolution though. Linux was created by an ethnic swede living in
Finland, named Linus
Torvalds. Linux was created by a person who wanted a Unix machine but
could not afford it. He decided to do something to take control of the
situation. He wrote a version of Unix for himself and named it Linux.
He pacified his need, he created order.

Like a madman though, Linus threw it all away. He threw a monkey
wrench into the mix. He scattered his jigsaw puzzle. He shuffled the
deck. He kicked down the towering cathedral and tossed its pieces to
the hungry mob. You are hungry, he said. Feast on this.

Linus made one particular decision that would plunge the world of
technology into a state of disorder the likes of which have never been
seen. He gave his code away.

The hunger that had consumed so many without them even knowing it,
had left them gaunt, wild-eyed. They had been users, disconnected from
each other, feeding on what they thought would nourish their souls.
They had not realized what the truth was, and how with it, they would
never go hungry again.

Linux just may give us hope afterall.

Linux is about messiness, confusion, interdependence. It is harder
to use, harder to accept. Its Truth is not for the faint of heart.
Linux requires of you. It requires that you deal with people to get it
running to use its potential. Linux requires that you admit your need,
admit your failings, admit your incompleteness. It will never lie to
you. However, should you accept it, Linux will take you to heights that
few users have known.

Linux did not come to conquer Bill Gates. Linux did not come to define your problem and solve it.

Linux came to give you something that you might not want. Linux will set you free.

Now, I don’t know if Linux is the future of computing or not. Will
it be killed not by Microsoft but by the listlessness and smallness of
humanity? Will Linux be struck down by our inability to accept chaos
and its
inability to solve our need for order?

I don’t know the answers. But I do know one thing. If technology
will eventually dehumanize us to the point where life has no meaning,
then Linux is our only hope.

Let’s Settle this OpenOffice vs. MSOffice Debate Once and for All, Shall We?

Tuesday, September 24th, 2002

Man oh, man, if I hear another person say OpenOffice isn’t ready for prime time, I swear I’m gonna yank out their odbc and hit them over the head with it.

In my experience joe-generic office drone, when faced with OpenOffice or MS Office, is gonna make all the same mistakes independent of brand.

Word vs. Writer

He’s going to double carriage return to put spaces between paragraphs. He’s going to indent with spaces. He’s going to to use the B I U and font settings to change heading’s characteristics (which are double carriage returned as well). He’s going to freak out if you mention ODBC and mail merge. He’s going to tediously type out envelopes and form letters ("testing" them in the printer to align them correctly). After you teach him how to mail merge off of a DB, or that documents are easier to update when you define styles etc., he will thank you. When you return a few weeks later, he will be back to his same tried and true plodding slow-wittedness.

Powerpoint vs. Presenter

He’s going to make a presentation by first deciding on a background and header style. Then he’s going to mess with borders for 30 minutes. Then he’s going to play around with slide transitions. Then he’s going to import some useless graphics. Eventually he will think about content. Once there, he will repeat steps used to make the text document. You doubt me? Tell me if you’ve seen this done before? Gettysburg

Excel vs. Calc:

Will pour over columns of numbers for hours, hand editing and typing values. He will alt-tab between his spreadsheet and his calculator program to add numbers. He will select some columns and make a chart, spending 15 minutes to find the pie/scatter/bar configuration that looks prettiest, and then proceed to misname the dependent and independent axises. Then he will select fonts, backgrounds, borders… and then spend no less then three hours trying to get his 40×129 monstrosity to fit on ONE page. He will waste no less then 40 sheets of paper to accomplish this. Upon success he will make 56 copies for distribution.

Did I miss anything? I’d say both products let people do their work as they normally do. I’ve observed for some time and both products give you equal levels of functionality.

This has been my experience for 95% of all office workers, and I also find that their adamance towards MS is inversely proportional to their competence with it.

It’s Not Software. It’s Drama.

Thursday, August 15th, 2002

Microsoft Windows fills life with drama. Everyone hates it, but everyone keeps it on their desktop. Why?

"Hey Bob, I need that sales report by 1 pm today."

"Can’t get it to you by then, I’ll be here late. Got this problem in
Windows that I need to track down. Something is corrupting the
registry, and I’m on the phone with MS Tech Support right now. They say
they have a service pack. Looks like the afternoon’s shot."

"Oh, okay, good luck man." And you can almost hear him say, May the
force be with you, like Bob, is locked in battle with the forces of
darkness, defending all that is good and noble, while at the same time
risking his very existence. We need for our mundane mostly non-creative
work days to be filled with meaning, excitement.

You don’t believe me? Watch an office go into crisis mode after
somebody opens an email with a virus attachment. All kinds of crisis
management actions get kicked into place. First somebody shuts off the
Internet connection, then they quarantine the guy’s workstation. Then
the forensic team, made up of PC Week readers start to speculate on
what’s been affected and how to fix it. I think we have to reformat.
Should do a sweep of the entire network. We have to change all the
passwords. And out come the service packs… and oh there are many.
This could be weeks of work. You can almost detect the glee. There’s
this smell of semi-anxious nervous exhilaration.

It’s an attack! We’re under attack! This is HISTORY! It’ll be rough
men, but we’ll weather this. We’re in it together. If we go down, I
just want to let you know that you’re the finest group of people that
I’ve ever had the pleasure to know.

And you can hear the ratta-tat-tat of automatic fire, and the screams
of "I’ve lost ALL my data!" amongst the chaos and the drama.

Sigh, I feel left out. Linux never lies to me about the level of drama
in my life. Never. It lies about as much as a hammer. Linux is boring.
Linux forces you to do work, or face the fact that you are not being
productive. Sometimes Linux pisses me off. It doesn’t crash. It never
loses my work. I never get a virus. I feel left out.

These other people are living this incredible drama that magazines
write about. News channels are dedicated to it. The federal government
is hot on the issue. Everybody has it. Everybody complains about it.
The entire nation is embroiled in this compelling soul draining soap
opera that is Microsoft Windows.

And me? Little ol’ me? I sit unhappily in front of my Linux workstation
wishing to procrastinate… searching for a struggle, a cause,
something, anything. But there I sit. Guess I’d better get back to work
or I won’t have anything to eat.

Favorites

Categories

Recently

Blogroll