Linux on the Desktop

News.com ran a story today titled Plugging the Linux holes, which discusses how there are some serious problems with missing apps in Linux that make it difficult for some/many users to switch.

The article touched on the big three app gaps: Tax software (Quicken, Intuit), games and Photoshop.

A good cursory overview of what we’ve all read about before; nothing remarkable, really.

However, one sentence caught my eye:

GIMP (GNU Image Manipulation Program), an open-source graphics program similar to Photoshop, is widely considered to be close to the “good enough” status achieved by OpenOffice and Mozilla.

I just don’t agree with this. There are three issues, to me:

  • Photoshop is a killer app. While GIMP has some tools that Photoshop doesn’t have (or are part of the not-yet-integrated ImageReady), such as batching, it’s not Photoshop. And until that Photoshop functionality is there, it’s going to be a tough sell.
  • People don’t like learning: This is where OpenOffice has done well – while the interface is a little clunkier than MS Office, it’s similar enough. The GIMP, however, is different enough to scare folks off. This is huge, even though it seems trivial. Mozilla is – again – enough like IE with a slightly different look (but very similar functionality – type in address and page displays) – to not scare the average user.
  • I’m not sure about the whole GIMP installation process, but I think PSD support is a plug-in. WTF? What’s a plug-in? Where do I plug it? How do I use it? Translation: Until GIMP supports PSDs [quasi-]natively or the GIMP becomes the de facto standard Photoshop is today, it’s going to get beat up by Photoshop. Really. Not for the average Linux user – who, today, is pretty geeked out – at least. But we (the few, the pimpled, the Geek) are not the real target of the desktop Linux supporters: The non-geeks (in other words, the masses) are desired, as they are the largest group, and they haven’t been convinced yet.

My two cents.

What I’ve Been Up To

I guess this can be split into two sections – what I’ve been up to, and what I haven’t.

Onward…

What I’ve Been Up To:

  • No good.
  • Work on a batch of Perl parsers – screen scraping, processing and using Perl DBI to load MySQL. Learning a bunch. The more I use Perl, the more I admire it. The more I learn Perl, the more I realize I don’t know about the language.
  • Reading about the whole Google IPO thingee. The are a different company. Hope they stay that way.
  • Continuing my love-hate relationship with MySQL. I’m using it more and more – actually, it’s the database I’ve pretty much been using exclusively for development over the past few months – and really haven’t changed my mind about it that much. Sure, it’s fast, cross-platform (*nix and Windoze) and pretty easy to use, but its lack of power still grinds on me. Subselects (coming in 4.1 in November) and stored procs are the big rubbing point to me; I’m still confused on how this beat out Postgres in the OSS database battle. It’s unfortunate, but I understand why MySQL is so widely deployed today: Because it is so widely deployed. The chicken vs. egg battle is over.
  • Lots of PHP – it’s usually the back-end for whatever feeds I get/process with Perl. PHP is just a great Web language. I know a lot of folks are starting to use PHP as a command-line scripting language; I see the reasoning (only one language to learn), I find Perl and/or shell scripts more appropriate for command-line type tasks. That said, I do have a handful of “exec($someCode)” imbedded in my PHP pages. Just easier to do this call vs. the whole page in Perl or what-have-you (I’m currently on PHP 4.1.2, so I have to use the “exec()” function; I think 4.3 and up makes it more transparent to do system calls via PHP).
  • A lot more template-driven work. Right now, I have several tools/processes that run and all pull in the same damn TXT template. Load template, replace etc and spit out finished pages. Set those processes on timers (CRON) and life is sweet. Change template and – by the next day – a whole swath of a site is automagically updated. Very sweet.
  • Getting back into – in a very small way – photography. God I love pics…

What I’ve Been Missing:

  • I did a solid week or two of Java – trying to get my hand back into that game – but have currently put it on the back burner. I’m more of a Web development guy, and Java – while there are JSPs, servlets and so on – is more for heavy lifting on the backend. While I’ve done – in very small bites – most of what Java has to offer, I still have to find a project that I can code a full app/backend with so I can better learn the language. Like Perl, I’m impressed with how well thought out Java seems to be (with notable exceptions: AWT, some primitive types and so on…). But Java really is not a good tool for getting work done – it’s for getting work done that will last and scale. In many cases, the Web is moving too fast for that.
  • I’m stuck on what book to read next. It’s coin toss between a doorstopper of a non-fiction book and a older fiction work. My guess? My next read will be neither…
  • SQL Server – as mentioned, I’ve been focusing on MySQL lately (actually, the only Windows work I do is to used my Win2000 box for various tools [editors, GUIs] that point at my Linux box(es] ). The only SQL Server work I’ve done in the last couple of months have been either maintenance or very incremental updates. Nothing new or major.
  • Ditto preceding point, but ignoring ColdFusion and instead working on PHP/Perl. The whole Windoze vs. Linux statement holds here, as well.
  • Not as much CSS as I’ve done in the past. Partly that’s because I’m getting a little better at it, so a CSS event that would have taken a day a year ago takes 10 minutes today. I still need to get better at it, but I do have a broad part of the basics down pretty well. I’ll give myself that.

Brushwacked!

You know all those shots/videos of former President Reagan and current President Bush clearing brush on their respective ranches? You know, they’re clearing brush just to relax, take their minds off of work and so on.

OK.

I’m out in the backyard doing the same right now. Not exactly brush, but tree limbs, trimming/removing bushes and so on.

It’s not fun.

It’s not relaxing.

I don’t want to do it anymore!

On the other hand, Bush or Reagan probably wouldn’t understand the therapeutic powers of crafting a really fast Perl parser…

GMail

GmailWell, I just signed up for Google’s GMail. It’s currently in beta, but – as a Blogger user – I get first crack at it.

So far very sweet. There is still the privacy issue (which, as I’ve noted, I find blown out of proportion by the media and privacy advocates), but this is already looking like a winner.

The big buzz about Gmail is the size of the account – 1 Gig! – but, to me, that’s just window dressing. The search, threading and key bindings are all much more impressive than a large bin.

I think this is Google’s first attempt to become what they are trying to be: They are not a search company, they are an application company.

You read it here first…

The Windows to Hell

Or – better yet – the hell with MS Windows.

Well, I’m just being cranky.

For some reason, scheduled tasks die on Windows for some unknown reason. I’ll have scheduled tasks – such as virus downloads – automated and it’ll work fine for months and then … just stop working.

I delete the task, reset it and … all is well again.

That is, until it dies again.

It seems to have something to do with the addition of other scheduled tasks; I have noticed that.

But I really can’t figure out what happens, exactly. And the event log is a joke. Events fail and are not logged as such. What’s with that?

And don’t get me started on the Add Scheduled Task wizard. While it is a nice way to easily add tasks one at a time, it’s…one at at time.

And it’s hard to get a list – a good view – of what happens when. Sure, there is a list of tasks, but have to open properties of each individually to get the full picture.

Give me a CRONTAB anyday. Fast, comprehensible – but a little daunting at first. Agreed. For administrative tasks, why shouldn’t an OS give the option for a less “wizardy” tool. Again, these are task and administrator is doing, not the kids or your mom.

End rant. Let’s hope things run well tonight.

[Ir]regular Expressions

PerlYou know, one of the reasons I like Perl so much is that there seems to be no end to what one can do with it. As soon as you muse to yourself “Hmm…wish I could do [whatever],” you stumble across that [whatever] and suddenly it’s a daily part of your Perl arsenal.

In addition, one of the reasons I sometimes hate Perl so much is that there seems to be no end to what one can do with it – which means, in many ways, I constantly feel stoooopid when I work with it.

Regular expression are an example – while not at all unique to Perl, Larry Wall’s language enables you to used them for a plethora of tasks, reducing lines of code to often only one clump of code (clump is a good word; tight Perl often looks like a cat has walked across your keyboard).

Yet the more you want to do with RegEx, the more you have to teach yourself.

In other words, first you have to feel stupid, and then (usually) a breakthrough gives you the payoff.

It can be frustrating, but … that’s also the fun. Yeah, color me geek…

Hit Me With Your Clueless Stick!

A news.com story about an open-source routing product – one its creators hope can eventually do for routing what Linux did for operating systems.

So far, Cisco doesn’t see the open-source code as a threat.

‘There have always been pieces of open-source routing code on the market,’ said Jayshree Ullal, senior vice president at Cisco. ‘It is an important community that helps continue the development and innovation of the technology. But the software coming out of this community should not be confused with business-class software.’

Researchers envision the Linux of routing

OK, maybe this project won’t set the world on its ear, but how many times have we heard this type of pronouncement?

  • Ballmer and Gates dissin’ Linux
  • Microsoft dissin’ MySQL
  • MS dissin’ the ‘Net
  • Oracle dismissing the SQL Server threat
  • Sun ignoring Linux

Do I really have to continue?

It’s just that everytime I read such a pronouncement, a bell just goes off in my head: Ding! This might be something!

Like Lear on the Moors

Blow, winds, and crack your cheeks! rage! blow!

– William Shakespeare, King Lear


  

Before wind (left); after (right)

Had access to a digital camera this weekend, and so I made the most of it by taking pics of this and that.

Glad I made the effort because the winds we had last night left the magnolia tree in the front yard looking like fall had come. (See today’s photo, right. Same tree, roughly same shot, less than 24 hours later…)

White bracts (the so-called blossom petals) strewn all over the yard (in back, as well) and the branches almost naked, just a blossom here and there and the small green leaves starting to push out.

The Power of Shower

Why is it that a simple shower often opens the floodgates for mental acuity?

I can’t tell you how many times I’ve been in the shower and – out of nowhere – a solution to an algorithm I’ve been working on pops in.

Weird.

This moring was the same – last night I had tried to think of how a TV series (Monk) had ended it’s season; I knew there was some twist, it wasn’t a normal show.

But I couldn’t grasp it.

In the shower – after not thinking about it for approximately 12 hours – bing! – I remembered the ending (he flies to NYC to track down his wife’s killer).

Why did it pop in like that? This happens all the time. Maybe I should set up an office in there…

I’m Missing the Point

Like a lot of techies and/or Penguin-heads out there, I’ve been following the whole SCO-vs.- [well, everyone] battle that has pitted the small Utah-based Unix company against…well, the entire, global Linux community and beyond.

For those not familiar with the whole mess, here is an encapsulated summary:

SCO says it owns the rights to Unix; SCO says this same Unix code is in Linux, so SCO is busy suing a lot of Linux vendors/users (IBM, Daimler-Chrysler, Autozone) and being sued by others (RedHat, Novell) for same actions.

Yes, that is a greatly over-simplified version of the whole mess. But necessary for what follows.

There was a very good story on Salon.com today (subscription or “view ad get daily pass” required) about the SCO frontal – and the OSS backlash – titled Making the world safe for free software.

In the article, a short summary (far better than mine) outlines the whole issue of SCO vs. [everyone], and what is happening – pre-legal outcome[s] – to combat this issue. In general, it addresses how Linux – or any such non-company product – can survive our litigious times.

The focus of the article is on Open Source Risk Management (OSRM), a company that is trying to act as an independent – yet OSS-friendly – insurance agency for companies using Linux. Notable among OSRM’s hires is Pamela Jones, the Head WebMistress of Groklaw, the simple blog turned open-source legal defense for Linux. Groklaw – the Anti-FUD.

It’s an interesting article and OSRM has an interesting tack on the whole indemnification issue, but – to me – this should be only a first step. Maybe it is; however, neither the article (nor anything else I’ve written) seem to indicate otherwise.

Bear with me, as I’m not a lawyer and just not that bright (obviously…), but here are some of the issues/contradictions I see, as well as comments on the current condition:

  • SCO will fail in its lawsuits: However, the whole lawsuit thing was a good wake-up call for the OSS industry/users. This stuff (nuisance lawsuits) – as Pamela Jones notes in the Salon article – are not ever going to go away.
  • Copyright laws don’t work for software: Read (Prof.) Lawrence Lessig’s blog at any point for more on this, but there are too many issues with U.S. copyright and software to easily reconcile. If I’m in possession of stolen hard goods (TV, stereo), it can be seized, but – unless I knew it was stolen – I can’t be prosecuted. However, I’m running Linux – legally, I can be prosecuted for buying Linux from a valid company and using it according to the terms set by company even if I have no clue about contested code. That seems…odd…
  • Why Insurance?: The whole OSRM concept (as I’ve read it) seem to be to scour the code (what code? Not clear) and then indemify companies that use such. OK, I get it, but this feeds nuisance lawsuits in two ways:

    • It gives the potential plaintiffs “deeper pockets” (insurance dough) for nuisance lawsuits to target.
    • It puts the burden (cost) on the end user (say, me, a Linux user) rather than the provider (RedHat, SuSE etc.).

  • Why not an Underwriter’s Laboratory (UL Listed) concept?: This is the logical extension of what OSRM is doing, but they don’t seem interested in doing such. How would it work?

    • Linux vendor (RedHat, SuSE etc.) grabs a certain Linux tarball, attaches some of it’s own stuff (maybe) and submits it for approval. Pays for this review. (Also an incentive for competing companies to at least agree upon a base kernel so the cost can be shared; added libraries or proprietary code is extra).
    • OSRM does the code review; pronounces it clean if OK; sends it back with “issues” if such are found.
    • If issues are found in OSRM-approved code in the future, that’s OSRM’s problem – upon approval, they give indemnification.
    • NOTE: The above does not address the issue of folks who grab the raw Linux code and compile.

I’m sure I’m missing something, but why not some sort of move where a third-party (OSRM, for example) can give blanket indemnification? Instead of each RedHat client (for example) having to apply for this insurance Yes, it could be a bundled cost, but doesn’t that point to the need for something “UL-like” as I’ve pointed out?

People who run Linux that is not UL-listed, well, same as building your own power strip.

Your house may burn down.

If it does, you don’t have a recourse.

Which is fine – keeps choice open, but protects those (yes, at some cost) who want protection.