Miracles Never Cease

Wow, a Quicktime software update from Apple that doesn’t require a restart

Software Updatescreensnapz001

The temperature in Raleigh today seems to indicate that hell is not freezing over – so I’m not sure what got into them. Apple knows that we all love rebooting the entire system for updates to media software.

What’s next? The release of a tablet Macintosh?

The Image Hotlinking Underbelly of the Web


I started checking my referer logs (okay, actually technorati, google analytics, and my hosting providers webstats) – and it seems that this image (the one in my previous memorial day post) of a gravestone at the Raleigh National Cemetery that I took in May 2004 has spread like wildfire.

That’s actually a wonderful thing. I license the image under the Creative Commons Attribution-NonCommercial-ShareAlike license that Flickr facilitates – which would be all well and good – spread the image far and wide, in my mind – just attribute or link back to Flickr where the copyright terms and author information is.

However, it seems that the one that was stored in the WordPress uploads directory for a previous iteration of my Memorial Day Page from last year is suddenly getting hotlinked in the most far-flung forums that you could imagine (and I’m amazed at how many communities pop up all over the place). While I know all about the rewrite rules to play fun games with that – I’m just not into redirecting those image requests to nastygrams, lolcats or worse – and I don’t yet want to restrict images to my own site (because that tends to break the feed readers)

For this case I just yanked the images and will let them 404. My little tiny long tail site is still well under the bandwidth cap – but I don’t need a bunch of image hotlinks. Especially the multi-thousand hotlinks from myspace – let them go to flickr or attributed derivative works. It’s annoying enough that they violate the Creative Commons terms – but bandwidth leeching makes it doubly so.

I knew this kind of stuff happened. But it’s amazing to see how it spreads like it does.

I may track this for a while yet. I’ve see a few unattributed reworks also – some are just inclusions of the image without attribution in blogs. I sent a note or two to the bloggers inviting them to link to the flickr image under the Creative Commons terms. Some are just incredibly ugly PC-paint borders around it with flashing text meant for myspace layouts. But I’m really not the kind of person oriented to doing DMCA takedowns – not for this at least (although doing selective enforcement for those sites that violate my aesthetic tastes crossed my mind multiple times 😉 ) If it helps folks honor our fallen soldiers for Memorial Day, then so be it I guess (of course, I say that and watch some fool next year pass it off to a media outlet as their own)

Of course, what will be really annoying is if someone else tries a DMCA takedown on me for my own image.

[update: I decided to wrap the most-hotlinked one with a copyright and link text. I’d like to see how far it’s spread after a bit – and while I still have bandwidth in my account, it’ll be interesting to parse the logs on it]

Quote of the Day

From Terry Chay:

Be honest about the consequences of your actions: whether it is the programming language you choose, a framework/no-framework you adopt, a design pattern you apply, or the choice to simply download someone else’s application and install it. Choose wisely. A lack of self-reflection leads to a poor choice and spells disaster.

I soooo wish I could get this across to more people. My experience in higher education is that we’ll form task forces and work teams over graphics and documents – but there’s way too much “just write this application” or “just install this software” or “there’s this extension that does this…”

Up Hill Both Ways with my VMS Manual

So ComputerWorld posted The top 10 dead (or dying) computer skills (via Michael DeHaan)

I love these – It’s the tech geek equivalent of your granddad and the bucket of books up hill both ways in the snow.

My report card.

  1. I’m so incredibly happy I never touched cobol or fortran. I came into Computer Science when they taught the concepts in Pascal. I avoided fortran by taking the Numerical Methods course in the summer when the Grad student teacher chose C
  2. I did do the dBase thing taking some business apps course in High School – thankfully that was the only non-RDBMS I used
  3. I’m actually quite thankful I dealt with AppleTalk, IPX, and DECnet – I think it gives a networking perspective I would have never had in a TCP/IP-only world
  4. Thankfully no cc:Mail – I did have to use Notes for a while, and a few mid-range versions of Groupwise. And Microsoft Mail on the Macintosh (hey, the server ran on a quite plucky little SE). All of those were enough
  5. ColdFusion. Never did it, never will. Some peers on my campus don’t know that it’s dead yet though.
  6. C is dead huh? I agree with Michael – obviously the ComputerWorld authors don’t hang out with OS developers.
  7. PowerBuilder – I missed out on this one. And I don’t regret that at all
  8. I actually was a CNE. I went to work for CompuCom out of college (huge mistake) – and CompuCom was big into the whole “certs” thing – I got my MSCE through a training course (dude, I was running NT 4.0 on a toshiba laptop – I totally avoided Windows 95) – and then I read the CNE study manuals the night before the exams and got the CNE that way. It was ridiculous. That whole certification thing – at least the CNE tests for NetWare 4 – was a complete joke. I’m actually a little prouder of my RHCE – because I actually had to troubleshoot things to pass that. But I only did that to force myself to make sure I learned what I needed in the Red Hat course. I’m not a big fan of the certification thing. I think it’s good for the guys and gals that actually know their stuff and work with things and want some recognition for it (and the courses/tests can sometimes add to the actual experience – not the other way around though)- and work in industries that give credit for that – but that’s about it.
  9. What the heck is a PC network administrator?
  10. OS/2 – thankfully I missed out on that too. I understand it multitasked DOS sessions like nobody’s business though

Well, Bless Your Heart

So, one of our web applications has some combination of html forms, css, and javascript that triggers a bug in revisions of Microsoft Internet Explorer version 6.

Basically – the edit action, which pops up three text areas, and a bunch of check boxes with some UI and xhttprequest javascript – causes IE 6.mumble to lock up. (and whatever else happens to the user’s computer when IE locks up).

The problem has been going on for a while. We have a number of reports about it, colleagues have actually seen it, and at least four of us have spent dozens of hours trying to reproduce the problem and fix whatever combination of forms, css, and javascript that all work in the other browsers. We can’t reproduce it “in lab” or even in situations where we can try to debug anything – so we’ve taken big in-the-dark stabs at fixing it.

Nothing has worked.

Given that the IE 6 browsers was initially released in August of 2001 – lately we’ve just taken the tack of asking folks to upgrade to IE version 7 (or go to Firefox) There’s lots of reasons to do that already, our IT colleagues throughout the country have moved or are moving in that direction already – and it makes good sense all around – and IE 7 works with our application without locking up.

This actually seems to be going over pretty well.

Well, a few days ago we had a person mail us – they use IE 6 and IE locked up using our application. This is what they said:

I am using IE, and although I understand that you guys hate IE from previous bug conversations, this is what most of our clients use…and therefore bugs need to be fixed for all browsers.

Thankfully a coworker got to this first with the nice answer. Because I am incredibly irritated by the implication in that comment (we have, well, a “history” here)

To be fair to the person that commented, a) we haven’t gotten back with the individual about the IE lockups prior to this and b) they did get a heckuva quote last year from a colleague:

While Internet Explorer locking up is not our problem to fix, we are certainly open to trying to play nicely with Microsoft’s broken software because it pervades the earth and probably the underworld.

So the “you guys hate IE” – well maybe that’s warranted. It is perhaps okay to ascribe to us some kind of visceral feeling about Internet Explorer. It certainly is fair to say that I – and many of my colleagues don’t like IE. In fact, I’ll give the commenter their due. I personally really very much dislike Microsoft Internet Explorer. In frustration moments I’ll even use the word “hate IE.”

I’ll grant you – it’s weird. I mean, it’s silly to harbor any kind of emotional response to a piece of software – right? Software is what it is – and is what the developer, or the development group, or the community, or in many organizations, the legions of task forces, work teams, and camel-designing committees made it to be. While it might appear to have some life of it’s own, unless you are out on the limb in self-modifying code and AI research, software is just a series of instructions meant to mirror real-world processes as interpreted by the afore mentioned groups. Nothing more, nothing less.

But Internet Explorer is different.

Security problems in the software, and the failure of Microsoft to adequately address those problems for several years impacted the work of tens of thousands of people and organizations – and those same security problems facilitated fraud and identity theft of many people. In any other industry other than software, there would have been class-action lawsuits – and recalls of the defective products.

You know what, any piece of software that makes it easier for my grandparents to get swindled by the modern day equivalent of snake oil salesmen is not going to engender any kind of warm spot in my heart for it.

For our development teams, items which conform to established standards and best practices require workarounds and “hacks” to work with Internet Explorer 6 that impact the stability and program operation with others browsers – and take away from the overall utility of the product. It’s a serious issue, that impacts our industry in very big ways.

I’ve personally wasted hours and hours of my life over the years dealing with IE’s lack of conformance to web standards – or accepted modern design/coding practices.

Now, the emotions are probably best reserved for the Microsoft leadership that makes the decisions about how IE is developed, but it’s easier to direct feelings at the inanimate software rather than the human beings. I wouldn’t want to say that I dislike the IE management team. I’m sure they are nice men and women in life outside of work – they just make some really incredibly stupid decisions that affect a whole lot of people out there. Or maybe it’s the Microsoft lawyers. I’d much rather dislike Microsoft lawyers than the developers and the inanimate software.

But in life, it’s probably better to direct one’s ire to idols rather than humans. And my ire has a completely professional, experienced, basis. Just as any one in any other field will make a professional judgment about one piece of equipment, one tool, one product, one service over another. Some people dislike Big Macs. I dislike IE.

But that’s not what I’m writing about. What I’m writing about is something else about that person’s comment. You know – that implication in that person’s note is that because we don’t like IE (excuse me, “hate IE”) that we aren’t actively working on bugs.

I can’t tell you how insulting that is. Have I personally held a emotional, borderline visceral, transferred-to-inanimate-object feeling for IE? Oh yes. I have freely admitted here that I do.

But at no time does my preference against or for any software ever stop me from doing what I can to solve problems with any software packages interacting with the works that I create. And I’ve never known any of my professional colleagues to do anything different.

I’d bet serious money, that had I written the same implication – they if they didn’t like a piece of equipment, or product in their field, and that they needed to provide better consultation because their service/advice/etc. needed to be relevant with all products – they would have had a fit, mea culpas would have been issued, there would have been all kinds of hand-wringing, etc.

But because I dare hold a professional opinion about the tools and services of my professional trade – my, and my colleagues’, focus is called into question. And that’s accepted practice from those dealing with IT groups.

I know I should be used to this by now. But I will tell you what – I’m getting more and more fed up with this in higher education. My professional colleagues and I invest as much, if not more, time, effort and energy into our professional practice and development as any of our colleagues in different roles in the Academy.

Thankfully I know educators, researchers, and administrative colleagues that really do get this. For those others – well there’s a good ol’ southern phrase that fits perfectly well here:

“Well, bless your heart”

Anyone that grew up in the south will get that. If you didn’t – it won’t be hard to figure out.

Scenes from the Insane Asylum

Yet more fun from the ongoing series “This are the days of our lives of a system administrator” – today’s email (edited slightly for the blog):

Hi all,

Just to provide you far more information than you ever wanted to know about some of the login problems for a few of our services and the source of the @#$%@#%&%^ “500 Internal Server Errors” for our sourcecode repository.

Most of the staff can happily ignore this – and normally I wouldn’t even send this to the whole staff – there’s no impact really outside of just our few developers and possibly a few instant messaging users- but it might be vaguely educational or entertaining.

As you may or may not know, for reasons that seemed like grand ideas at the time (early last year) – our account management application writes usernames/encrypted passwords to two different db tables at the time accounts are created/enabled/passwords changed, etc. – One of these tables is a backend for openldap. openldap connects through a openldap-sql provider which connects through odbc to mysql.

Our sourcecode repository is using subversion which uses Apache for its various operations. In turn, we use the ldap authentication module for apache to authenticate against ldap.

If you are playing along with the whole version of the fairy tale/nursery rhyme home game here – that’s:

sourcecode reppository uses subversion which uses apache which uses mod_auth_ldap to connect to openldap which uses openldap-servers-sql which uses odbc which uses the mysql-odbc-connector to connect to mysql which uses a table managed by the account management application.

At this point, please feel free to conjure images of mice, clocks, and houses that Jack built.

All this does, by the way, is to provide for authentication for subversion, openfire (the IM server), and a few one-off applications – I don’t know if those one-off applications are at all used or live anymore – or if there’s an expectation they’ll be used again.

Any way – there seems to be a timeout or failed connections or mice or something somewhere between odbc and mysql.

What this is, I don’t know for sure. Google searches were singularly unhelpful. Most sane people it seems don’t use openldap-servers-sql

Well, according to the release notes for the mysql-odbc-connector there was a change in the mysql libs at some point that made it so it didn’t reconnect on dropped connections – and we may have crossed that maginot, er, mysqlodbc line with the move to Red Hat ELv5 – so there’s an option flag to mysql-odbc-connector to have it reconnect. mysql option flags are bit fields – and so when you enter the integer representation into the odbc configuration file – the magic auto-reconnect line is:

option = 4194304

Which if it works, shall hereafter be a special number, worthy of rewriting the lyrics to “Jenny” (four, six, nine, four three OH four-our-our-our) to sing it’s praises.

That’s the update on possible login issues and a semi-rare glimpse into various inner workings of services that we all would rather happily ignore – myself especially 🙂

p.s. In case you’ve ever wondered why it seems that I’m notoriously hesitant about the number of applications we run, or services we provide, it’s this “number of of moving parts” issue. Every application carries a dependency chain or matrix. Some of them are just normal OS/network dependencies that we all know and love. But many are like this one – chains of multiple independent software packages. Obviously, the more and more moving parts you introduce into a situation – either to patch/mitigate problems – or just “because you can” – the worse and worse it gets for trying to narrow down where problems can be. What just might surprise you is how many moving parts that “good ideas” and seemingly useful services can carry with it.

After you get a fair number of these individual dependency chains well, there are lots of great books written about Engineering disasters in history that are particularly applicable reading

p.p.s We have a lot more of these behind the scenes than anyone might imagine.

Getting It

From Christopher Blizzard:

Learning requires the transparency that free and open source software provides.

People – and companies – that don’t get this have some learning to do. People – and companies – that purposefully fight against this idea aren’t just ignorant and ill-informed. They are corrupt.

Two things…

Two things that I’m exceedingly thankful and happy for:

I don’t have to manage Microsoft Windows systems and I don’t have to write Java.

… and I— I took the one less traveled by, And that has made all the difference.