Religious Wars

Was just watching CNN, and there is more unrest in the Middle East and elsewhere that, to a large degree, comes down to religious wars of sorts.

In the GeekSphere, we have our own religious wars, with its own casualties.

Let’s take a look at how those wars are going:

  • Windows vs. Apple: Surprisingly muted, but I think that’s due to the whole Windows vs. Linux war that is also ongoing. And Apple users (especially since [BSD-based] OS X surfaced) are firmly the anti-MS camp, if not in the Linux camp.
  • Windows vs. Linux: A little less rhetoric than usual, probably for the following reasons:
    • With MS on the prowl with new OS news, the rhetoric is split between the old and new OSes (split in three if you count the Win9x line and Win NT as another, with the upcoming – 2006 – Longhorn the third).
    • No current security issues – OK, while there are patches galore, there is not the LUV virus or SoBig and so on currently (*crosses fingers*). And that’s a big issue with MS users/haters
    • The ongoing SCO vs. Linux war (below) is stealing the interest of MS bashers. They’d rather hate SCO for the moment

  • SCO vs. Linux: Or should we say SCO vs. …crap…everyone that hasn’t ever paid them for anything *nix. SCO is currently involved in lawsuits with IBM and RedHat; it’s hinting/saying explicitly that it will go after Linux users, possibly Novell, maybe the GPL… They are obviously hoping to hit pay dirt with at least one of these lawsuits (the RedHad one was filed against SCO, however), because it’s sure not gaining them any customers. Hell, IBM or MS can support multiple lawsuits, but SCO? What do they have, three employees and a gardener? Obviously, they are not focusing on their products, but on their (alleged) property (IP): So why buy from them?
  • Browser wars (IE vs. Netscape, primarily): For those who have been in an HTML-induced coma the last few years, MS won. Netscape basically doesn’t exist. The whole push towards standards – and MS’s reluctance to update IE before (an embedded version of IE in) Longhorn – is making things, uh, interesting (translation: still sucks to be a Web developer). Standard is actually the new battleground, but it’s sorta hard to see…because it’s not A vs. B: It’s A is better at standards than B! Which isn’t as compelling from a rhetoric standpoint.
  • .Net vs. LibertyAlliance: This is the Web services battle, which has never really been that much of a fight: MS came out strong with an “all your bases are us” type campaign to win the world over to .Net but managed to completely screw things up by labeling everything down to their executives .Net (“Ladies and Gentlemen, welcome CEO Steve Ballmer.Net!”). And the LibertyAlliance – Sun’s J2EE “answer” to .Net has been, at best, a bust. Frankly, there has not been much to talk/code/fight about. This will change, especially as Longhorn gets closer.
  • vi vs. emacs: Grow up; only battles on /.
  • mySQL vs. Postgres: Still a little bitter (see my last entry), especially since Postgres has come out with a new version (7.4) and mySQL continues to add features, and has teamed with SAP. As far as I’m concerned, this is a good battle: Helps both advance.

Notice one interesting item re: the preceding list: With the exception of the pure OSS battles (mySQL vs Postgres, vi vs. emacs), Microsoft is one of the combatants. (MS has funnelled $ to SCO, so they are in the SCO vs. *nix battle)

As the largest software firm in the world, MS probably might be expected to be in the forefront of many battles in the software industry.

But this many?

New Postgres

A new version of Postgres has been released – 7.4.

Of course, there was the usual banter on /. about the relative merits of Postgres vs. mySQL, but that’s to me expected. The banter was, for the most part, just that – less of the Holy RDBMS Wars rhetoric that these two tools usually spark.

Not certain why, exactly: Especially since mySQL has made such strides recently (finally getting some serious functionality, such as subselects and so on). Or maybe that’s quieted the mySQL crowd: The additional features being piled on make them more aware that these features were not only missing in the past, but that they are reeeealllly needed.

My stance? Same as ever: I run both. I prefer Postgres by a vast margin, even though I run both DBs at a much less than enterprise level – I really don’t need the higher-end (or even SQL standard) featues that are present in Postgres but not in mySQL. I could work around the shortfalls. But why not run the more complete one?

And I still think mySQL is the “Access” of OSS databases, but I’m not one who is shy about saying that Access has some extremely compelling features (large installed base, no-brainer to use, hides complexity [good for newbies] but provides SQL for queries etc.).

Both are tools. If mySQL was as unpopular – relatively – as Postgres, I would never touch it. I think it’s a vastly inferior database. But it does have the installed base, and it is powerful enough to do much of what is needed on Web sites (my specialty), so it behooves me to learn it.

And – as one /. comment put it – mySQL is to Postgres what Windows is to Linux: One is much more popular despite its (in some ways) perceived inferiority, but that gooses the underachiever to make better products and try harder.

The old competition is good argument.

What a Mickey Mouse Anniversary…

So, today is Mickey Mouse’s 75th anniversary – his first apprearance in the movies (Steamboat Willie) was 75 years ago this day.

Ironically, for all the bluster bloggers have made about the seemingly endless extension of copyrights – of which Mickey Mouse is the poster child – I haven’t seen any comments on this.

Even Lessig is silent on this. Update: This is a mention of the event, sans any rant, posted a few days ago by Prof. Lessing

Strange. Critics of the copyright extension act (pushed through with the help of then-senator Sonny Bono) often refer to the legislation as the “Mickey Mouse Extension Act.”

Maybe because Comdex is on, but strangely silent on the blogs regarding this (I think Mickey is still safe until ~2038, or something like that).

Odd.

Of Music and Micropayments

So, Microsoft is going to open a music store – what a surprise (not) there.

And now we’ll hear the caterwalling of Apple fan(atic)s, saying how the beast of Redmond is once again playing follow the (innovation) leader.

Whatever.

To me, what is interesting about this development – and all the music sites springing up now by heavy hitters – is that this is going to either force or ease the way for micropayments to really happen.

I just read an article today on micropayements on the MIT Technology Review. Followed by Gates’ admission today – at Comdex, but I don’t think it was part of his keynote – that MSN is going musical, where, there’s another big push to go micropayments.

On the other hand, there is the Microsoft tradition of doing it all themselves – it might leave micropayment companies – such as the start-up featured in the Technology Review article, Peppercoin – out in the cold.

Either way, it’s another sign that the time may finally be ripe for some – SOME – companies to take advantage of micropayments. It’s going to take a lot to get people pay for some things, simply because of the vast tapestry of the Web: Oh, you’re charging? I’ll go to one of 1,000 similar sites to get/read/browse this or that.

Web = free is currently hard-wired into us, and until there is more of a micropayment infrastructure in place and a demonstrated benefit of such, well, it might just be a tough sell.

Now What Do I Do?

This morning I work up without Internet access – my cable connection was dead (looking at my cron jobs, it looks like it died late last night).

It came up only a few hours after I noticed it (had non-techie stuff to do this AM), but for a second there, there was the big “Now what do I do, without a connection??”.

I felt lost.

That’s probably not a good thing.

CSS vs. Tables

Yes, the old battle, CSS vs. the traditional positioning tool: Tables.

As much as I hated to do it, I’ve ripped out the DIVs that defined the left-hand column (blogroll etc) and the main content area and made that into a table.

I didn’t want to do this, but I was having too much trouble across browsers getting things stable. This does it, and it does it in a very good way, the way we expect tables to behave.

I’m not giving up on CSS for positioning, but I just spent about five hours trying to get what I want (not much, really, two columns, full length color in each, fluid).

I know it can be done; I’ve done it a few different ways, but I’m looking for behavior that is, well, table-like. Specifically, I want the following (and remember this is just for the left-hand and main content column):

  • Two column layout, that maintains color/border for full-length of longest of the two columns (challenge in CSS; need to have a parent wrapper that holds the two child columns)
  • Layout must be fluid. One column can be a fixed width if necessary, but it must be fluid in the manner expected by table-based layouts.
  • Work in common browsers (IE 5-6; Netscape/Mozilla at minimum)
  • No absolute positioning (I plan to offer themes for the blog at some point; absolute positioning would complicate this).

That’s really not a lot to ask, but … it’s a challenge.

But that’s fun, too.

And – thank ROOT for the Web – there are a lot of resources out there. I just have to find the help I need somewhere and make it work. I’ve done this before on other projects; just having issues here and I’m not sure why, which is the wild card.

Onward.

Build vs. Maintenance – OSS vs. MS

Like anyone reading this dross, I spend my days getting a monitor tan.

Unlike most geeks, however, I don’t see the whole OSS vs. MS thing as a religion. Software are tools; use the proper tool for the proper job (if possible; often not but that’s a whole ‘nother entry).

I was thinking about this recently, having finished up quick Perl and ColdFusion demos for (different) clients.

With the work I’ve done and I’ve seen – and there has been more than a fair amount of each – I am starting to see a general pattern for the use of OSS vs. MS technologies. This is a great oversimplification, but bear with me.

I’m seeing the following:

  • MS tools/technologies: Used with tech groups that are not as skilled technologically; used to quickly launch applications/build sites for clients.
  • OSS tools/technologies: Used by tech-savvy and tech-skilled groups; tools used to simplify ongoing project work and to automate maintenance tasks (backups, weblog parsing…)

Yes, let the flames begin!

OK, let’s defend what I’ve said:

  • Skill level: Some users of MS products are people that can kick my tech butt all over the kernel; however, you don’t have to grok server/DB/code innards to use MS products. That’s part of their appeal. Let’s take MS SQL Server as an example: Beyond queries/stored procs, all other tasks are GUI driven: Add user, create DTS, drop table etc. Wizards and clickable/right-clickable icons are all that’s needed to keep this (pretty damn good) DB running. If you really know what you’re doing, it makes a world of difference, but the point is you don’t have to know what you’re doing. Ditto for IIS, InterDev and so on. On the other hand, even setting up Apache on Linux can be daunting – you might even have to use vi to manually edit a httpd.conf file?? What does that even mean?? With OSS, you pretty much have to know what you’re doing – there is the man file, but you can’t right-click on anything at the command line to get a nice dialog box with help. While this required knowledge is a good thing in most cases, it’s also a barrier to entry – a bad thing.
  • Use: Launch: If you want to get a database-driven site launched – say, for a demo – in the fastest time, I still maintain ColdFusion is the best (I’m lumping this in with MS, for this example ONLY – it’s a no-brainer tool). It eliminates all the database connectivity issues for you, and – in conjunction with MS SQL Server – allows you to bang a site out in record time. Also, there is the hosting issue: If you run on an NT server, it will support ASP; Unix sites will not necessarily support PHP (for example). Launching an OSS site is usually a little more complex: Often (usually) have to build the DB tables with scripts (not a GUI!), have to deal with the differences between, say, Perl and PHP as far as DBI is concerned and so on. Overall, slower. And if you go the Java route….way slower, be it servlets/EJB/JSP or some combo.
  • Use: Maintenance: As soon as you get into the maintenance mode – assuming there IS such a need/interest, OSS kicks MS butt all over the place. One word: Scripting. OSS is sorta based on this (CLI); MS is not (GUI). I run both NT (2000) and Linux boxes at home; all backups and other maintenance needs are handled where ever possible by Linux: Just more straightforward and flexible (Perl script, Bash shell script, flexible CRON…).
  • Caveats: Many caveats have been listed above; please note. Basically, this entry is to show how/why certain projects are begun in a given language (greatly simplified…). For demo or stuff that y0ou need to just launch and not extend much…duh! – Do it as easily as possible. If there will be a need/many needs to expand/extract/maintain the site, other tools – possibly complex – may be better suited. Again, this entry is a vast overview.

As noted above, this is a vast generalization, but I think it’s true.

And that doesn’t make either OSS or MS better/worse than the other.

And it doesn’t mean MS tools can’t be used for enterprise sites, or OSS is only for experts and so on. I’m just seeing trends…

The tool for the job, remember? I’m just seeing the job clearer now; before, I saw only the tools clearly.

The Scobleizer

One of the blogs I’ve been following for the last few months is Robert Scoble’s.

He really needs no introduction for most bloggers; if you’re clueless, just know that Scoble is a Microsoft higher-up who has a blog that touches on a lot of stuff, mainly Longhorn, as that is his area at MS. This is his personal blog, and he claims little interference from Gates/Ballmer et al, and it reads that way.

One of the interesting things I always take away from reading him is the notion that – first and foremost – MS is a business: It exists solely to make money. Everything else comes from this.

And I don’t write this in a negative way – it’s just reality.

MS is not out to help you or me; MS is out to make money. It’s called capitalism, and is often practiced in these United States.

OK?

But this capitalistic streak in MS means the following:

  • MS can’t fix things that even it wants to: As Scoble notes, he’d love to get IE back up to being the most standards-compliant browser. But as he shares, how can you make a business case for spending, say, $100M to fix an old tool when a new version (embedded in Longhorn) is underway? You can’t.
  • Other updates are tough to make: Simply because of the tight integration of tools and DLLs and all that, changes to anything is difficult – to change one DLL, for example, you have to make sure it works on all these platforms (Win 9x line, NT line, CE) – across all languages its deployed – and with all the tools that hit it (will this affect the print driver for the Epson123 printer with the Tablet OS blah blah…). Lots of dependancies. Remember the recent snafu with the Mac OSX update – Panther – that erased some users’ hard drives? That’s bad, but OSX users are (relatively) few. Imagine if the Windows XP Service Pack 2 (coming, I understand) did the same thing? Villagers with torches would be marching on Redmond!….
  • MS is going to make decisions that lock you in: Why should this be a surprise? Hell, it’s only after years of squawking that Sun has (sort of) released Solaris for Intel (i.e., non-Sun hardware). This allows the vendor (MS/Sun) to make more money, and also has a benefit for users: If you buy, say, MS Advanced Server, you know MS SQL Server will run on it without a hitch (in theory, OK?). Sure, you can slap Oracle or mySQL on the box, but you don’t have the tight integration to the OS that allows some cools stuff to happen.
  • Locked-in software is easier to support/extend (shared APIs etc) So you’re going to see an even bigger push for closed standards. Face it, open standards are great, but to get everyone on board with them is virtually impossible. And the standards formed are often weaker than a proprietary solution, simply because you can’t be all things to all people. You can, however, be all things to some (MS buyers) people much more easily. (NOTE: As indicated above, this integration can come at a cost)

Basically, Scoble frequently points out that MS is a business, a successful one at that. Part of the price users have to, as well as MS itself has to, pay for this success is that MS cannot be as nimble as small companies with a handful of products and one or two business targets. MS is all over the map, and even that small DLL change can effect a lot of stuff, which – in turn – affects the bottom line. MS != evil; MS == pragmatic.

I have to agree, at least to a degree.

Obviously, Scoble is talking from the point of view of a MS honcho, but he doesn’t sugarcoat things. He lightly slams MS in some cases, and in others – such as updating IE6.x – presents compelling arguments as to why that just can’t happen.

He does gloss over some issues – he does not really mention the whole security/lawsuit morass that the MS campus is sinking into, but I can excuse that. He is a MS honcho, and – his own blog or not – with that title comes responsibility.

And no, I don’t agree with him all the time. But he’s a nice counterpoint to all the anti-MS rants (see just about any thread on /.), and he frequently has interesting points of view.

I personally just don’t see how he has the time to write all he does – and he frequently responds in the comments threads, as well.

Information – biased or otherwise – is never a bad thing.

Tweakin’

Made a slight tweak to the gallery section today.

Before, if no gallery parameter was present in the URL – or this parameter turned out to be a bogus gallery name (typo of someone messin’ with my URLs…), it would default to the “All Pictures” gallery.

Thinking about it, it made more sense to default to the gallery index.

Which is currently what it does.

Makes URL typing easier, as well. Instead of typing: “….gallery.cgi?gallery=[whatever gallery]”, I can just drop all params to get users to the index, which is the jump off point, anyway. Simply “…gallery/gallery.cgi”

This is good.