I’m an idiot!

OK, I’ve been posting about anniversaries and all that, and I never thought to look at when my Bloggerversary was:

May 13.

I didn’t even blog that week.

What a pinhead.

OK, so now we have Blog This!, two years + running …

Yes, break out the Mumms….

DNS B-Day

I guess it’s a sign of the growth and pervasive (invasive?) nature of the Internet/Web that just about every week there is some somewhat significant anniversary of something Net-related. (Web, Mosaic, Ethernet etc.)

Tomorrow – June 23 – is the 20th anniversary of DNS.

Hats off to (the late) Jim Postal – he of the stereotypical Unix beard – and cohorts.

Two decades later, DNS still works as it did then. Incredible.

GIF Patent Expires; How Unisys is Like SCO

Yeah, who knows what the hell this will mean in the long run (probably nothing), but the U.S. patent on the GIF algorithm expired yesterday. (Other countries’ patents on it are not yet expired.)

Will this mean the end of PNG? I dunno.

Will this mean graphics products will be cheaper? (Since, say, Adobe doesn’t have to pay Unisys for a GIF license). Hell no.

Will this mean that some GIF tools will come out in open source? Yep.

While this is pretty much of a non-event, is does remind me of when it – this patent – was sorta an event: Back in the mid/late 1990’s, Unisys (who had bought back the patent from … I forget…) started making some rumblings about how it might go after Web site operators who had sites that used GIFs and didn’t have license. People seem to forget this.

I was at a start-up at the time, and I actually spoke with a Unisys lawyer about this, to figure out if we were at risk.

Basically, the lawyer pretty much outlined that we were technically at risk, but – with a small site such as ours – there was nothing to worry about (this was all outlined without him saying as much, of course: he was a lawyer).

Note: The issue for Web sites was that GIFs displayed may have been made with a product that did not have a license from Unisys. This would make you guilty of “contributory infringement”.

Use of GIFs produced by a licensed product (such as Adobe Photoshop) was OK.

But the rub was this: Do you want to police your site, to make sure that every GIF posted – in particular, those that came from out of house (user submitted, freelance artists, company product pictures etc.) – are produced by a licensed product?

Hell no.

If Unisys did go after Web sites for an infringement, GIFs would suddenly disappear from the Web. No company could afford either the risk or cost of policing.

As GIFs disappeared, however, so would Unisys’ licensing cash flow….

The undercurrent of what he said was that if Unisys went after Web site operators (which was doubtful), they’d go after CNN and other large sites, not us. Worst case scenario would be our being in the last tier of being sued, and that would probably come down to compliance by removing GIFs (using JPEGs instead). Big whoop.

But it was a slight disturbance in the (Internet) Force for a short time there.

I didn’t think of it until now, but the GIF fiasco was somewhat reminiscent of the whole SCO vs. [everyone else] battle that’s going on now over UNIX intellectual property (IP).

SCO is actually making rumbles about hitting up the users of Linux, in addition to the Linux vendors – and, by SCOs own admission, the vendors are the ones who are at fault, who are accused of actually performing the theft of IP. And it’s actually a little more than rumbles: They’ve sent letters out to 1,500 of the largest Linux users out there, warning these users that they (and other Linux users) might be culpable in this whole IP mess.

Technically, SCO is correct. Much like the laws about being in possession of stolen property, Linux user could conceivably be held liable for their vendors’ mistakes/crimes/whatever.

While this is, of course, a bluff on SCOs part to make the users either 1) Bail on Linux (hopefully to Unix vendor that pays Unisys for IP rights), or 2) Get users to put pressure on their Linux vendors so the vendors will pony up some dough to SCO.

I really don’t see SCO going after users, unless they can see some way to gain leverage with vendors by doing so.

And – as with Unisys – they won’t go after me (with my home Linux box…); they’ll go after big Linux clients of IBM, HP and so on. Companies the size of General Motors, not the size of “Harold’s House of Fishies.”

It’s all part of the lawsuit game….but it’s creating a lot of FUD out there, and that’s not a good thing.

The tech field is messed up enough in the transition from dot.com=>dot.bomb to where tech is transparent, and the recession/war (was Iraq really a “war” in the traditional sense?) is hosing this up.

The SCO FUD is making matters worse, that’s for sure.

Rebuild Redux

I’m still rebuilding the laptop.

Wow, what a pain in the keester (ass, for those slang-impared).

A pain for many reasons; the most painful of which is the reason that I have to rebuild this machine.

I was nice enough to load this laptop to a new co-worker (a laptop that was better than the puny P2 machine I had to use at work); I had used it at work, I had loaned it out to another co-worker. All was good.

But, on this occasion, the laptop came back…unable to boot up.

Booted into safe mode, and Outlook was fully corrupted.

Etc.

I lost all my SQL databases (yes, they were backed up).

Etc.

Ouch.

Now the fun of rebuilding…

Rebuild

Long story short: Due to conditions, let’s say, out of my control, I’m (attempting) to rebuild an old laptop (IBM ThinkPad 600X, Win2000).

It’s not pretty, let’s leave it at that.

I am steamed at many things about this whole process. Hard to deliniate in the short story.

Long story, well, to come….

More Growing Pains

I’ve written before about the Web growing up – how the corporate needs are coming first now, decline of home pages and blah blah….

And the Web continues to grow up.

Unfortunately, stuff is getting ugly.

Such as (all without naming names; if you don’t know, you don’t want to know):

  • CSS – Yes, I’ve written about this before, as well. Basically comes down to a few points, mainly: 1) Hey, CSS is not consistent (true); 2) Hey, it’s partly/mainly IE’s problem (sorta); 3) We should just screw all this CSS shit and go back to tables and font tags (ouch!).
  • Blog provider issues – Basically, it comes down to one company doing something the other does not like or vice versa. And the offended party then accusing the offending party of “breaking” stuff for the rest of us it’s the apocolypse etc…
  • Debate over standards – This comes in various flavors, but seems to mainly be contained by 1) Who should define them (“[Current Writer] should!!!!”); 2) Do we even need standards/standards bodies (W3C etc); 3) Doesn’t matter about standards because someone (browser, server, search engine, whatever) is going to mess it up for someone. This overlaps the previous bullet point to a degree.

All compelling arguements (NOT!), but in a way that’s good. Fanatics (my fanatic is your hero and vice versa, mind you) are good; they keep things in check and people honest. And I wish I had a good answer, some magic wand of words to sprinkle my pixie dust over routers that would make the Web happy.

I don’t.

But I do know this: For the most part, people who are using blogging tools or whacking HTML don’t really give a rat’s ass (hey — “rat’s ass” is in the dictionary, you could look it up) about what are in many cases pissing matches going on right now.

They want tools that work. Not as much concerned about the how, why or who (is responsible for them). Did you ever notice how much the average user didn’t care that MS was a monopoly? Users just wanted their browser (IE) to just about always work. Yes, they are selfish. We all are.

While the CSS vs. Old HTML is an issue where you have to accept that CSS is a good idea but not fully formed/supported yet (*sigh* – there are holdouts to this argument, as well), the pissing over RSS feeds and things like this are making me … well, tired.

I don’t care.

Others don’t either.

A small minority do, and – in some cases – it appears that the fight is worth fighting, to protect the integrity of things down the line.

Other stuff is just protecting one’s turf.

Get over it folks.

The Net/the Web – every node is equal. That goes for the honkin’, $Zillion Sun Servers powering enormous sites and for jodi.org. And all others.

I don’t mind a call to arms, I do object to a destructive argument.

No one wins.

The Employment Conundrum

I’ve been doing a fair amount of freelance/consulting work recently, and I had forgotten about the upsides/downsides of this type of work vs. a full-time job.

My first career – as a photographer (commercial photography, no weddings thank you!) – saw me working both sides of the employment fence (self-employed vs. employed, let’s say). And as in that field, as with computer work, there are pros and cons of both.

I had forgotten.

Leaving aside the monetary considerations (self-employed: worry about next paycheck, can decline jobs; employed: steady paycheck, have to worry about company politics to get ahead etc.) and focusing in on the technical/environmental issues, this is what I’ve found.

Some general observations:

One of the nice things – for me – about self-employment is the variety of work.

While one is obviously hired for projects in a targetted manner – often more targetted than full-time employment, where “the ability to learn” may be important – the target is often broad. You many be a Unix guy vs. an NT guy, or database person version desktop application developer. And so on. Usually some leverage, and often you’re hired to help provide a solution with no specifics mentioned beyond use this technology to do this.

The bottom line is that, since you’re exposed to more companies, you’re exposed to more technology, even if it’s the same technology (example: Do ASP at two different places; one may have heavy in-line queries and hand-coded pages, another may rely heavily on COM and have a handful of templates that params are passed to).

And that’s nice. I like that. I like to learn.

The downside is that if you’re employed at a company, there is usually an handful of technologies that you personally may or may not get to play with, but it’s a narrow scope.

So, if there is a call for, let’s say, a “randomizer” for something, odds are that:

  • You already have code for this process from another project, or
  • You have a pretty good idea of how to do it – at least a starting point – and it’s just a little messing around

Either way, the work will be done fairly rapidly.

On freelance projects, where there may be oddities to the technology (say, using mySQL, so the straight-forward use of a subselect to solve a problem is not available), things can be trickier. Sometimes it’s very time-consuming to get a solution to a trivial problem if one is not exactly highly familiar with the technology.

I ran into this a week or so ago, as I was putting together a proof-of-concept application in Visual Basic. I needed to write out some Word documents, but I kept throwing errors. Books, Web searches and all were not clear until I ran across something that explicitly said I had to make this (invisible) control part of the project or things wouldn’t work.

Added that to project, and life was sweet.

No I can do that without thinking, but it took me over a day to solve (no, I don’t have any VB friends…).

Familiarity is a good thing about full-time employment: Regardless of the technology used, you get very good – at least very familiar – with it.

At SBC, where we used Cold Fusion (NT) and MS SQL Server, I got thrown a curve one day way into an application. It fundamentally changed the way the system should have been designed, but it was too late for that. However, by the time the conference call that broached/confirmed this new, uh, “functionality” was over, I had framed out in my head how to do it and was well on my way to deploying it.

Just some typing and testing.

(Note: The curve thrown was so stupid and embarrassing [to me] that I’m not even going to mention what it is. But that’s another story….)

There are trade-offs to each mode of employment; for every pro you can probably come up with a similar con.

Pro/Con Examples

By working exclusively with, say, one database, you gain insights that you would not have if you only worked on it occassionaly. Say tricks with date objects, such as getting date differences. On the other hand, if you’re exposed to lots of databases, you’ll approach a problem saying “Well, in Oracle you can do this, maybe that would work here….” – something you’d never say/look into unless you’d worked with Oracle.

Working exclusivly with one technology may trap you in a certain mindset, but it puts you in the mindset to think productively that way. You can quickly fix a problem/extend an application. On the other hand, there is Abraham Maslow’s contention that “If the only tool you have is a hammer, you tend to see every problem as a nail.” And there is truth to that: You might be missing the obvious – to go back to the randomizer example, you might start constructing an elaborate script around a given language instead of just grabbing digits 6-10 [or whatever] of the time in milliseconds. Stuff like that.

Exposure to more technologies keeps you fresher (I think), but it also tends to make you less productive. Reference my stupid VB error.

Ironically, the prime benefits of self-employment – broad knowledge, ability to adapt and so on are exactly what are not needed on most freelance/contract jobs. These demand quick, solid, informed solutions (usually paid per hour or per project, don’t dawdle and play “what if”…). And companies are not really interested in “new ideas” from contractors, in general. They have a spec, they want it done in this technology buy this date for this amount and … that’s the end of the story. (Which I totally understand.)

And – ironically still – the prime benefits of full-time employment – such as deep knowledge in one area, familiarity with product you’re developing the technology for (cash register app for restaurants – food service experience is helpful…) are exactly what are often not needed in full-time positions. Often salaried, so overtime is not an issue, there is time to “think outside the box” (yes, I hate that phrase, but at least it communicates a concept well to most). Which is what is often needed – just because the company has always shared data between databases with scripts and FTPing files is no reason to not experiment with scheduled DTS packages or live replication. Contracters will see that; full-timers often won’t (or won’t want to try something new, because then they won’t be experts anymore…). Someone has to embrace new concepts – some that, admittedly, will turn out to be dead-ends – or companies will be running FORTRAN forever…

Hmmm….

As is often the case, I did not go into this blog entry with this ironic ending in mind, it just happened.

Interesting. To me…

Netscape is Dead

In a story that pretty much is anticlimatic, the browser wars ended yesterday with the announcement that AOL and Microsoft had agreed to settle their lawsuit and play nice with each other.

While it took longer than expected (by me) for true analysis of the settlement; it was obvious to me from the first story I read.

OK, the whole suit basically arose out of AOL’s (nee Netscape’s) contention that the bundling of IE with Windows was designed to crush Netscape (which, along with a terrible Netscape 4.x release, it did).

The settlement announced yesterday gives AOL seven years of royalty-free access to IE technology.

Huh?

So this means AOL – a content delivery company, not a technology company – will stick with IE.

In other words, bye bye Netscape.

Ironic. The suit that said MS was crushing Netscape was settled with … AOL & MS effectively crushing Netscape.

What a long, strange trip it was….

More on DB Tools

I just downloaded an eval editon of Pgmanager, a NON open-source project for PostgreSQL. (WAY not open source; $85 for the LITE edition…)

Very nice, very slick, but still does not have the two-pane search/results window. Results replace the search (query).

Crap. WHY???????

And it has all sorts of “tile” options (horizontal, vertical, stepped, tiled….).

Why not a simple two-pane query | result?

MS Query Analyzer has it.

Oracle’s SQL Worksheet (I think that’s its name…) has it.

SQLyog (FREE!!!) has it.

Why not one for PostgreSQL, dammit!!

Other than that — and the price — this is a nice tool.

Time to unistall it….

Me and mySQL

OK, I’ve dumped on mySQL (justifiably, in my mind) frequently in this blog, but today I come to praise it.

Well, not the database per se, but the tools that have evolved around it.

I’ve installed and played with a few mySQL and postgreSQL tools, and I have to say that the mySQL tools kick ass compared to the postgreSQL tools.

In particular, SQLyog is great. It has the three main functionalities that I look for in an Enterprise Manager (a la MS SQL Server) type tool:

  1. Pane with listing of databases, which trees out to tables and then columns. (Much like Windows Explorer, for example)
  2. An integrated – not a child window – pane in the same tool with the database explorer (first point) which allows one to A) enter a query in the top, and B) have the results display in the bottom pane. For those not familiar with Enterprise Manager, think Outlook with the preview pane.
  3. DTS-type tool. While this is considerably different here than in Enterprise Manager, it works for what I really wanted if for: I wanted to be able to replicate a database on one server (my Linux box) to my other mySQL server (Windoze box). The only hitch – and this isn’t at all an issue – is that I had to at least create the database (no tables, just the db) on the target box before I could copy the source over. This worked perfectly in both directions, copying either the schema or schema and data. While there may be issues in the future (such as primary key issues), for a backup solution, this is good. I’m very happy.

I’ve only tried two postgreSQL tools so far, and I’m sure (I hope…) that there are better tools out there, but I find serious limitations in these tools.

In particular, the inability to type a query and then get the results without hiding the query. While I like SQLyog’s three pane thingee (with two of the three query and results), I could easily live with the MS approach: Enterprise Manager for browsing WYSIWYG building, and Query Analyzer for (duh…) queries (top[query] and bottom[results] panes).

But on both postgreSQL tools I tried, it was a small window that you entered the query into, and then clicked either a tab or button run query, at which point the results would replace the query in the window.

That sucks.

Because — success or (esp.) when an error is tossed, it’s nice to see the query and results on one screen, so you can see why the results/error happended.

I’ll have to check out sourceforge to see if there are any better tools, but I don’t know. With the smaller installed base, less tools.

Update 12/31/2003 – I’ve found (with the help of developer lists) Aqua Data Studio. It has a lot of pluses and minuses (written in Java; ugly and slowish), but the biggest plus – for this thread – is that it does handle the three-pane environment I’ve wished for using Postgres. It’s also free, so life is somewhat good…