25 April 2008

Quotable

"The Ark was built by one man.
The Titanic was built by a team of professionals."

20 April 2008

Wizzards

Programming software is Magic.

I don't mean that there's something mystical about it, nor that it is intrinsically inaccessible to ordinary people. Nor (I emphatically add) do mean that it is like Magic. In every aspect I can think of, the act of Programming software meets all the criteria for performing Magic. Magic in the Swords and Sorcerers or Unseen University sense. "Alakazam!" and the Prince turns into a Frog. "Shazam!" and you're whisked away to a far, far place at high speed.

Just look at the facts: We (programmers) write programmes -- spells -- in arcane and cryptic symbol languages unknown to the common mob.  Get the slightest part of the spell wrong, and, at best, it fails utterly to do anything.  At worst it runs amok and fearful consequences ensue -- fires, floods, loss of money and even life!  Get it just right, in every teensy, tiny, ball-aching, nit-picking detail2, and Lo! out of nothing, stuff happens in the real world.  Gold changes hands.  Trains run on schedule.  Music plays and Feyries dance1.

Where nothing was before the spell was cast, something comes about solely because of the spell.  That's Magic.

And, just like in the fantasies where Wizards keep pet Dragons and dribbly candles set atop skulls are the acme of interior decoration, programmers frequently work at odd hours, with intense, monomanic concentration bordering on the inhuman.  And, like the traditional Wizardly Schools, programmers are admitted to different schools of various arts and degrees.  So we have Clerics -- programmers content to churn out the boilerplate code needed to keep the wheels of commerce (and most web applications) running, but lacking any true proficiency with martial weapons of higher degree; Monks -- who eschew the use of particular weaponry but, ninja-style, willingly embrace whatever comes to hand as combat fodder; Wizards -- capable of serious Magic, but forget their spells once cast, capable of wonderful stuff, but doomed to repeat it -- with minor variations -- time after time; and then there are the Sourcerers -- Masters of The Source3 whose code is so elegant and expressive, so parsimonious and pretty as to make brave Programmers weep with envy and admiration.

No, you can not deny.  Programming really is the realisation of the ancient idea of Magic.  Say the Magic Spell and Change Reality.

[1] Well, anybody who wants to dance, I suppose, really.
[2] ...and My God, there's an inordinate amount of crappy detail that all has to be Just So!
[3] Waves to Ken, Doug, Dave, Jason, Paul, Johan, Bob, Brian, John and several dozen others...

15 April 2008

Bad. Punctuation,

Tripped across this little quote on /. this morning:
A Linux machine! Because a 486 is a terrible thing to waste! 
-- Joe Sloan, jjs@wintermute.ucr.edu
Alas, I can clearly see that somebody screwed-up the punctuation.  Surely that should read
A Linux machine! Because a 486 is a terrible thing. To waste!

26 March 2008

SABC's website sucks

Email to info@SABC.co.za:
"Why does SABC's website suck so badly when viewed in Firefox?

"Not to mention that it is completely unusable with Javascript disabled, which renders it inaccessible to people using Braille readers or text-based browsers of any kind; this violates the constitutions provisions against discrimination."
BTW: if you leave off the "www." prefix, you get to see exaclty what software they're using to drive their (very b0rked) portal.  Now I'm not suggesting that this might render them susceptible to getting the portal cracked, but anybody who has set up a portal server that incompetently has quite possibly left some default logins/passwords in place.  Maybe?

Not that I'm suggesting anything, mind...

01 March 2008

User-interface Reboot

This article by Mr Mirchandani gets it exactly right: UI again ...don't pretty up, destroy!

I have never forgotten the experience of early last year. Our car had been stolen, and we were jumping through the licensing department's hoops to get the old car de-registered, and our new car registered.  Well, 10-year-old, 2nd-hand car, since that's all we could afford with what the insurance company deigned to pay out -- another saga for another day.

First we could not de-register the old car, because it was flagged on the licensing system as "stolen", so no changes to its details are permitted.  WTF?  We could not unflag it, since that would require the police to mark the car as recovered, complete with verification of engine, chassis, VIN and registration numbers.  Eventually we left the matter in the hands of one supervisor who took pity on us as I crumpled in the face of this actively-hostile "information" system.  She solved the impasse by going outside the system: phone calls to a special contact in Pretoria -- "high friends in low places."

Then we had to register the new car.  The details had to get captured no less than 5 times!  Twice, manually by myself, the remainder by the clerk punching a terminal.  And two of those instance involved recapturing the vehicle details from a form still-hot from their system's laser printer.  The system already had the details, yet they still had to be manually recaptured.  This is insane!  Weren't computers supposed to save us work?

23 February 2008

As BAD as Some can be, Others can be GREAT

We interrupt the on-going diatribe between my self and Datapro/Vox Telecom[1] to bring you Good News for Modern Persons.

In the supermortal words of Hubert Farnsworth, "Good News, Everyone!".

Last eve some mishap caused my DSL model/router to disconnect.  For some while it failed to reconnect: AUTH_FAIL, it said.

Now, my ISP, WebAfrica, whom I hold in very high regard, has been having an occasional little trouble in recent times with their authentication servers.  So: patience is the order of the day.  It was quite late in the day, so my bed called, nothing in my little local network really needed Internet access overnight, so I left matters until the morning, in the hopes that the problems would be resolved without any input on my part.

They were not.

So... Onto the phone this morning.  Less than two rings!  (Contrast this with giving up after an hour on hold last week with Telkom!)  Spoke to a chap who was remarkably candid: "Yes, we have had a problem, and a few accounts seem (for reasons we don't fully understand, yet) to have been stuck in an "inactive" queue.  We're terribly sorry.  I am sorting it out right now [clickety clickety clickety click]; would you like to hold?"

I declined to hold.  The pain of being on hold to Telkom being too fresh in my psyche, I suppose.  After suitable pleasantries I hung up.

A couple minutes later the phone rang.  Same chap from WebAfrica.  " I see that your modem seems to be having some trouble connecting.  Could we please confirm the password it is using to connect...?"

Well, Bugger Me Sideways With A Spoon!  Not only did WebAfrica's support guy sort the problem out instantly, with an ordinary, human-to-human acknowledgment that something had, indeed, gone wrong, but, after I had explicitly said "Ticket closed; I'll call you if there is any further problem." had monitored the situation to make sure that I -- The Lowly Customer -- had been properly sorted out, and called me back to make sure of it!

What am I saying, here?
  • I could have raved about not being kept on hold in some support-queue for an hour or longer.
  • I could have raved about the great service I received during the handling of my support call.
  • I could have raved all night in San Fransisco with the hot chick on her way to Hawaii (but that's another story!)
This guy -- unasked for -- stayed attentive to my little problem until he was as sure as he could be, that it had been solved to my satisfaction.  Not his.  Not Webafrica's.  Mine.

Here's a significant point: None of us (modulo the Absolutely Bloody Minded) is so stupid as to believe that everything Works Flawlessly All the Time.  Shit Happens.  We know this.  When it does, please don't lie to us and use phrasing designed to imply that we, the Customer, are Stupid, Insane and/or Lying!  Please don't pretend that it is Somebody Else's Fault or an Act Of (somebody's) God. (Hello, Telkom!)  If you've fucked up, admit it, apologise, and move on. Nobody will hold it against you.  In fact, given the current climate of Assumed Corporate Infalibilty, we'll sympathise and likely offer to help you fix it!

Just say "Yes.  We Had a problem.  We've fixed it. (OR: Here's what we're busy doing to Fix It.)  We're sorry."

If it is a significant proportion of the working day, offer a credit for the lost service time.  Not difficult, is it?  Not Rocket Science!
I cannot think of a way to praise this enough!

This most recent incident is the perfect exemplar of the sort of brilliant, attentive, honest service  I have unfailingly received from WebAfrica!  I have had a friend[2] phone me up especially to say, "Thank you for putting me on to WebAfrica as a service provider!  I've since recommended them to at least 15 other people!".

I kid you not!

If anyone in South Africa wants or needs ADSL service, Internet access or web-hosting, do yourself a favour: www.webafrica.co.za

Their rates are amongst the lowest around.  Their service is out of all proportion to what you pay!  (i.e. It's brilliant!) If they ever get bought out by Vox Telecom I shall probably have to leave the country -- and even then I won't find an ISP as good!

[1] A "keyboard/finger" interaction nearly made that "Pox Telecom", whIch would have been appropriate...


[2] We've known each other over 35 years, now... I think that qualifies as friendship, no?

22 February 2008

Taking on the Spammers: Datapro/Vox Telecom - Part 4

Mr Douglas Reed, CEO of Vox Spamacom Telecom, parent company to Datapro, replies:
We run an ISP with over 18,000 corporate customers and 180,000 SME's and
we have customers who utilise various services.  These include list
servers where customers use their own databases and we don't have full
control.  The DataPro and Vox databases are within our control and
consist of individuals and organisations who have provided their details
to us. The reason we have you on our Company database is because you are
obviously listed as a technical contact for some of our customers.  We
cannot offer opt in opt out facilities for our communication to our base
because the news letters communicate important information that the
technical contacts need to be aware of.  However if you want to be
excluded please give us the details and provide us with new technical
contact details.

The other choice is do what the rest of us do and add the user to your
junk mail list.

Interestingly enough this mail ended up in my junk mail folder which
basically means that I received unsolicited mail from this in the past
or you cc'd thousands of people.

Is it just me, or does this sound just a tad arrogant?  What I am hearing: "We're big; that means we can spam with impunity, since we're too big to get blocked." and "Shut up and eat your spam!"

My response:

Dear Mr Reed, On 18/02/2008, Douglas Reed <douglasr@datapro.co.za> wrote:

> The DataPro and Vox databases are within our control and
>  consist of individuals and organisations who have provided their details
>  to us. The reason we have you on our Company database is because you are
>  obviously listed as a technical contact for some of our customers.

The (many) spam emails that form the basis of my complaint to ISPA are directly from Datapro and Vox Telecom; this is not about spam from your customers.  One spam message bears your name as "signatory".

You will note from my earlier correspondence with Maggie Cubitt that I have tried repeatedly, using numerous channels, to "opt out" of these mailing lists, without any success.

Why don't your opt-out procedures work? (As required by the ECT Act.)

Although some of your technical staff are certainly in possession of my email address as "technical contact" for some of our mutual customers, this does NOT extend a license to your companies to send me unsolicited bulk email on ANY subject.

Further, I will note that I have never -- not even once -- receive a bulk message on any technical subject.  The emails forming the basis of my complaint have ALL been of a nature that can only be characterised as "marketing crap".  I did not, ever,  at any stage, give any person or system representing your companies, permission to send me marketing crap.  The fact the your companies have done so is known in the email management industry as "address repurposing" and is considered a sure sign of "spam spoor".

>  The other choice is do what the rest of us do and add the user to your
>  junk mail list. I will repeat what I wrote to Ms Cubbit:

<quote>
having my own email address removed from your mailing lists is of only limited interest to me in this matter.  The larger issue, which it is my main purpose to tackle, is that of Datapro and Vox Telecom blithely spamming, over an extended period of time, continuing in the face of numerous good-faith attempts to unsubscribe, and in direct violation of

1) their own Terms of Service,

2) the email provisions of the ECT Act, and

3) the ISPA's Code of Conduct.
</quote>

The point this: "adding Datapro/Vox Telecom" to my "junk mail list," as you suggest, fails to eliminate or mitigate the primary complaint against spam: the receiver has to pay for it. Putting Datapro/Vox Telecom into my "junk mail list" does not mean that Datapro/Vox Telecom cease being spammers.

To (attempt to) be completely clear on this: since you seem to have overlooked the point:

* This is not about Datapro and Vox Telecom spamming ME.

* This IS about Datapro/Vox Telecom spamming AT ALL.

>  Interestingly enough this mail ended up in my junk mail folder which
>  basically means that I received unsolicited mail from this in the past
>  or you cc'd thousands of people.

Nonsense.

No such conclusion can be inferred.

Having personally administered email and spam-filtering  systems, I can tell you that you cannot draw any such conclusion; thogh it /may/ call into question the competence of the people managing your spam-filtering systems.

>  We run an ISP with over 18,000 corporate customers and 180,000 SME's and
>  we have customers who utilise various services.  These include list
>  servers where customers use their own databases and we don't have full
>  control.

What I read into this is that you believe that your organisations are "too large for the rules to apply".  I have some bad news... There are other organisations far, FAR larger that manage to adequately, and to the full satisfaction  of the anti-spam community, police their customers' mailing lists and email activities.  I am pretty sure that both Outblaze and AOL are larger than your operations; both manage to maintain an impeccable reputation for managing the spam problem and speedily terminating spammy customers.

Of course, neither one spams their customers directly, as your organisations have done.

Part of your (companies') responsibility to the Internet community is to police your customers and their mailing lists.  Ways to do this include monitoring their behaviour, and maintaining and ENFORCING uncompromising Terms of Service.  Your response suggest an unwillingness to do so.  This is a slippery slope.  Next your sales-staff will be writing "pink contracts". (Google for it!)  Should you require access to better expertise than your organisations evidently possess, I shall be glad to forward my consulting rates.

All of this remains (largely) irrelevant.  The numerous spam messages I have received are from your organisations; not from your customers. Your unwillingness to eliminate spam from /within/ is, perhaps, indicative of your willingness to tolerate/profit-from spammy customers from without.

Here is the response I expect: As I see it (prove me wrong?), you have two choices:

1.  Throw away all mailing lists under your control, and start from scratch to build new mailing lists.  Of course you WILL follow established Internet procedures for building permission-base email lists. (Somehow, I doubt this one...)

OR

2.  Send a ONE TIME email to all addresses on your mailing lists, explaining (in full) the situation, expressing your companies' regret that such an unacceptable and untenable situation has come about through the action of a few misguided individuals, and asking the recipients to confirm that they WISH to be subscribed to the relevant mailing list.  Should recipients so confirm their desire to participate, your staff should proceed in the full confidence that those persons have positively opted-IN.  Any email address that fails to reply, or that expresses a desire to opt-OUT must be removed from your databases.

This (second) option should be followed-up with a comprehensive on-going (so that new-hi[r]es get the message, too) educational message from the organisation: "We don't tolerate spam in any shape, manner or form." (together with a detailed explanation of just what that means.)  Your marketing and sales staff may require particularly persistent education.

Forgive my lack of optimism.

Since you (read: your organisations) do not know the email address(es) being spammed, you may be sure that I am in a position to monitor your organisations' actions on this, and will report accordingly.

PS:  You, Mr Reed, might wish to consider that a small one-man consultancy such as myself, may frequently be in a position to make recommendations to customers concerning their choice  of service providers in the Internet Services industry.  Either to recommend providers, or, alternatively, to discourage use of any particular provider.  Your call...

If anybody out there thinks I am being irresponsible or unreasonable (obviously with the exception of any Datapro or Vox Telecom employees or agents!) please, please say so by leaving a comment on this blog.  I promise not to delete any relevant comments...

Let's just note for the record that he failed, completely, to address any single point of substance or question in my response...

16 February 2008

Taking on the Spammers: Datapro/Vox Telecom - Part 3 - email Ping Pong

Obviously the spammers thought they could just listwash me and be done.  Here's Datapro's latest response:
Subject: RE: Response to ISPA complaint
Date: Fri, 15 Feb 2008 12:55:45 +0200
From: "Maggie Cubitt" <maggiec@voxtelecom.co.za>
To: "Mike Morris" <me>

Hi Mike Apologies, as I can fully understand your frustration, which is why I am attempting to resolve it comprehensively and finally. I am unable to find the e-mail address mikro2nd@gmail.com on the Contacts database from the DataPro CRM.. and you have extracted the delivery address from your notepad doc. Can I please just confirm that the Newsletter was delivered to the e-mail address mikro2nd@gmail.com?
My response to them:
Maggie Cubitt wrote:

> Apologies, as I can fully understand your frustration, which is why I
> am attempting to resolve it comprehensively and finally.

Please understand that having my own email address removed from your mailing lists is of only limited interest to me in this matter.  The larger issue, which it is my main purpose to tackle, is that of Datapro and Vox Telecom blithely spamming, over an extended period of time, continuing in the face of numerous good-faith attempts to unsubscribe, and in direct violation of

  1) their own Terms of Service,
  2) the email provisions of the ECT Act, and
  3) the ISPA's Code of Conduct.

> I am unable to find the e-mail address mikro2nd@gmail.com on the
> Contacts database from the DataPro CRM.. and you have extracted the
> delivery address from your notepad doc. Can I please just confirm that
> the Newsletter was delivered to the e-mail address mikro2nd@gmail.com?

The spam was not delivered to that email address, but another one.

I am not willing to assist you in listwashing -- the much-loathed practise whereby spammers remove the addresses of the whiners, but continue to blast their unwanted spew out to the Silent Majority Who Just Hit Delete.

I never opted-in to any mailing list belonging to Datapro or Vox Telecom, but was placed on it without my knowledge or consent via person(s) with whom I had contact for purely technical purposes on behalf of my own clients.  This, in turn, means that my email address was repurposed for marketing spam.  In turn Datapro's mailing list was repurposed by Vox Telecom, a company with which I have certainly never had any business relationship.  (Yes, I do understand the relationship between the companies.  No explanation needed.)  Please take note that this is NOT the only list from which I get spammed by Datapro, so your problems are deeper and wider than listwashing a single whiny anti-spam "activist" from a single ill-constructed mailing list or database.

If your lists are NOT fully confirmed-opt-in (and clearly they are not,otherwise I wouldn't be bothering you), then they're spammy lists until you can verify, with a full audit trail, that each and every recipient has positively confirmed their wish to opt in.  Any addresses that cannot be so confirmed must be removed from your databases.  All databases.

The procedure for confirming mailing-list opt-in has been well-established, well-understood, standard practise in legitimate email management for at least the last 30 years, and is correctly implemented by every respectable mailing-list management system.  I would expect an ISP as large as Datapro to be conversant with such established, accepted, and widely-implemented industry-standard, and to have the resources to ensure compliance.  I realise that these practices are somewhat more stringent than required by SA law, but will point out that the ISPA Code of Conduct (para 28) mandates that "ISPA members must operate with due regard for established Internet best practices, as set out in the various request for comment (RFC) documents and as mandated from time to time by established and respected Internet governance structures."  That reads: "established Internet best practices", not "ineffective South African law".  I believe that mailing list operation is covered by RFC-3098 among other resources.

Furthermore, you will, no doubt, have noted that the sample email sent to you is in violation of even the very modest requirements of the ECT Act.  Not to mention the long-term on-going failure to heed good-faith removal instructions as required by the Act.

I trust that Datapro's forthcoming response to this will measure up to the full scope of the organisation's evident ignorance of, or unwillingness to implement, Internet standards and best practise.
Forgive me my skepticism... ;-)

Taking on the Spammers: Datapro/Vox Telecom - Part 2

Yesterday, 14 Feb, the following response to my complaint to the Internet Service Providers' Association about one of their member's spamming activities:

FYI: Mr Reed is the CEO of Vox Telecom (the parent company), so hopefully we've got the attention of a Big Shot.
From: "Maggie Cubitt" <maggiec@voxtelecom.co.za>
To: <me>
Cc: "Douglas Reed" <douglasr@datapro.co.za>

Hi Mike As a listed Telecommunications Company we do take any reports of this
nature extremely seriously. We were very concerned to receive the
notification of your complaint to ISPA, and are obviously anxious to get
this resolved as a matter of urgency.

As there are many companies in the Vox Telecom Group and as DataPro, as
an ISP, does provide a bulk mailing service to customers as well, there
is a possibility that you are on one of our customer's databases.

In order to investigate this properly I would really appreciate if you
could forward me the "February newletter" to which you refer so that I
can investigate this thoroughly for you.

I look forward to your response.

Regards,
Maggie

I have forwarded the most-recent offending email -- "signed" at the bottom by a Mr Gary Sweidan, Datapro's Managing Director, I am sure he is blissfully unaware of the content, or that it is being blasted to a who-knows-how-large list of unwilling , unconfirmed, not-opted-in recipients.

Sadly for them, I redacted out all the recipient email address details and message UUIDS that might server to identify the address it was sent to ;-)

One of the few spammer activities more loathsome than "address repurposing" is listwashing -- removing the whiners from your list whilst blithely continuing to spam the quite ones who Just Hit Delete.

15 February 2008

Taking on the Spammers: Datapro/Vox Telecom - Part 1

For well over a year now I've been getting spammed by Datapro (a Vox Telecom subsidiary) with sundry Friendly Newsletters, Product Offers and Special Crap We're Sure Will Interest You.  Now we're in a fight argument complaint-resolution discussion.

Background

Datapro is a fairly large supplier in SA of web and email hosting, ISP services, and all the myriad little bitty services around that.  They're also one of only 15 "Large" members of the Internet Service Providers' Association -- the industry's self-regulation watchdog in SA -- and hence a signatory to ISPA's Code of Conduct, which includes a clause saying, in effect, "members won't support spam or spamming."

I have never been one of Datapro's customers because I think their technical standards are... dodgy... to say the least.  But, I have had contact with some of their technical staff in the course making changes to email, web-hosting and DNS on behalf of some of my clients who do use Datapro as their service provider.  For whatever misguided reasons.  Evidently, some of Datapro's tech staff have had their email address-books "harvested" by The Marketroid Department.  Or Something.  How ever it happened, my email address got repurposed without my knowledge or prior consent.  A major point, here, is that I have never been in a business relationship with this company.

In the anti-spam world "repurposing" is considered a Very Bad Thing, and will result in instant and permanent blacklisting on some aggressively well-run mail servers.

I've lost count of the number of times I have emailed the sender asking, demanding, pleading or threatening legal action, in the interests of getting off their mailing lists.  Countless times I've clicked on the (rarely present) "unsubscribe" links and jumped through web-page hoops to get unsubscribed.  Nary a confirmation have I received.  Nor has any of this actually diminished the volume of crap I get from them.

To add insult to injury, Vox Telecom, the parent company, have in turn taken to spamming their subsidiary's lists.

A Lightbulb Moment

A short while ago, a contact on one of the local Internet-industry mailing lists I haunt, suggested that I lodge a complaint with ISPA.  I must confess that I had never seriously thought about it, but maybe worth a try...

I waited.  Made sure I gathered and archived the evidence.  Then, last Tuesday, I struck: lodged a complaint via the ISPA's webform:

Action The First: The Complaint
NameISP: Datapro/Vox Telecom
name: <redacted>
email: <redacted>
Address: <redacted>
Telephone: <redacted>
Cellphone: <redacted>
SectionCoC: E. Unsolicited bulk mail (spam)
Details:

I have never been a customer of Datapro.  My only interactions with them have been on behalf of my clients, in the course of managing clients' DNS, email, hosting, etc. technical requirements where those services have been provided (at the clients' choice) by Datapro.  As such my interactions have been with technical service personnel only.

During the course of such interactions Datapro staff have, without my consent or prior knowledge, added my email address to various mailing lists that they use to send marketing "newsletters" and advertisements (a.k.a. address repurposing.)

I have on numerous occasions requested that my details be removed from all mailing lists and databases under Datapro's control to no avail.  I have made such requests telphonically, by email, and by clicking through the (rare) unsubscribe links that some of this spam contains.

Finally I have records good enough to prove my point.  Their latest "February newletter", sent in duplicate today, 9 February 2008, is in clear violation of

1) my past instruction to them of 2 August 2007 (and subsequent, evidence-free removal-link-clicking)

2) the ECT Act itself, in failing to meet the information provision and opt-out requirements of the Act, and

3) the ISPA Code of ConductCopies of all relevant emails are available from myself.
Let's see what results...

15 December 2007

Quartz Crystal

A very trying couple of days...  Faced with a job that cries out for a decent scheduler (polling feeds), I turned to OpenSymphony's Quartz.  I mean, the ads look so good: Robustness, recoverability, scalability, blah, blah.

First hint of warning I should have paid attention to was a couple of developers' names that I long associate with Doomed Pieces of Shit.  But it all still looked so good.  Until I got closer to the code.  Quartz?  Quartz Crystals for accuracy?  More like Crystal Meth!  Documented methods that mysterious fail to exist.  Examples that aren't.  I thought the JavaDoc got generated from the source, no?  I guess we have here the penetrating stench of Configuration Mismanagement.

Then you enter a twisty little maze of undocumented dependencies.  You will use Commons Logging.  You will use a bunch of J2EE stuff, even though you application is a simple standalone with no hint of J2EE awfulness in sight.

No.  After a day or so of hacking at this steaming turdpile my brain feels like so much oatmeal porridge that I can't even work even work up enough bile for a decently vitriolic blog post.  For me, one of the surest signs of a dying opensource project is when their wikis and forums are filled with spam because nobody can be bothered to disallow Guest users from posting; when the version-control system shows six checkins in the past six weeks.

I'm outa here in favour of Doug Lea's concurrency stuff. What a pleasure by contrast.  I'll live without clustering for now...

29 November 2007

3 Apps I Really Want (Open Source Only!)

I'm full of ideas.  Aren't we all?  Eventually, when you reach a hairy old age like me, you realise that There Ain't No Way In The World you'll ever be able to do them all.  This is what makes ideas cheap.  Let me say it again.

Ideas Are Cheap. Implementation Is Everything!

Just occasionally, though, we have ideas that are so good that we really, really want to see them implemented.  But we know, deep down inside our souls, deep down in our secret heart, that we're never, ever going to have the time, energy and stick-with-it-ness to pull the thing off.

Here are three of my ideas:

1. I want a ToDo manager that works like this: Keep my top five ToDo items only. Don't even allow me to put more in.  I must be able to prioritize them.  And they should display at all times as my computer's desktop image.

2. A decent word-processor.  One that fails almost completely to concern itself with formatting.  Perhaps bold, italic and lists -- that's all that's really needed.  On the flipside, though, it should really understand document structure -- sentences, phrases, paragraphs and sections.  And allow me to collapse them.  If I move a heading, move all its subheadings and associated text, too.  In other words, focus me purely on prose, editing prose, tightening up my phrasing, reordering my own words.  Please don't make me fuck around with margins, fonts or colours.  I know that Lyx does something pretty close to this, but its far from pretty, and, frankly, TeX is dead.  Get over it.

3. A social-networky, Web2ish, Ajaxy, <insert-own-buzzword-here> website where people can list their ideas for systems they don't have time to write, and everybody else can vote on the ideas, comment, add/edit the spec (wiki style). Perhaps, just perhaps, some people might choose to pick up those projects and start implementing them.  No bounties.  Sorry, but I'm more broke than you!

Come to think of it, maybe I will implement that last one!  After all, don't the VC pundits all say "Get the simplest thing that functions out the door, and then listen to your user-base."  Here's a way of listening before you even get version 0.0 written!

19 November 2007

Object-Relational Event

At long last EoD SQL 1.0 is out! Congrats to Lemnik on this achievement. But what is lurgy?

EoDSQL
is an Object-Relational bridge -- an small library for getting (Java) objects in and out of relational databases. It is not an OR Mapper; that task is left to the developer. You get to specify how (Java) data elements correspond to which database columns handraulically, using annotations[1].  Not only that, but, as developer, you get to write all the SQL, too!  Good!  For me this is one of the best features of EoDSQL.  EoDSQL will never mess with your highly tuned SQL, will never get between you and your database.  I confess to finding myself far more comfortable with this sort of lightweight approach to the much-lamented "OR impedance mismatch" problem than other approaches I've seen to date.

The upshot of all this lightweight deliciousness is that it is screamingly fast!  Way faster than any of the heavyweight OR tools I've seen. And Lemnik is talking about implementing a compile-time tool to make it faster yet.

I have to confess to some bias, though: I was so impressed with the thing that I ended-up writing the tutorial for EoDSQL, so I'd welcome feedback on it, either here, or on the project's mailing list.


[1] So, yes, it is Java >=1.5 only. Anybody who is not already running 1.5 or better (production environments included!) has lost the plot (or has serious, perhaps fatal, legacy issues!)

06 November 2007

Scam, scam, scam, scam, scam!

You must have heard it before: "Is this Mike? You have won a Holiday In Florida!"

We've all had the emails. This evening was, I admit, The first time I got the Phone Call. Very American accented young lady. Fortunately my highly tuned sense of paranoia kicked in, perhaps aided by the fact that they quoted my using an email address not used in over ten years, and I simply put the young lady on hold for several minutes while pouring myself a small drop of a certain Scottish libation.  After a couple of minutes I asked her to hold while I considered the situation.

How did these scammers get my phone number?

The thing is, my phone number is unlisted, and I am certain I have never, ever typed it into any web form.  Ever.  Trust me on this.  I treat all forms with the abuse, hostility and contempt they deserve (thanks to a old boss I had, John Merry, who taught me The Fine Art of Form Contempt.)

A fairly obvious advance-fee fraud.  But how many people would fall for it?  A few weeks ago, an acquaintance called me, filled with jubilation:  He had Won The Lottery!  An email said so!

I sadly had to puncture his bubble, and enlightened him as to how these things work.  This is a man who worked in the IT industry as a senior manager for many years.  He is far from a fool; indeed he is a highly talented and intelligent individual.  But he fell for the scam and was about to (snail-)mail them a cheque!  I can only shudder at the thought of the outcome if they had called my Dear Old Dad with the same line of bullshit.

After about ten minutes of playing silly-buggers with the caller - mainly to cost them money - I asked the lady where they had obtained my phone number.

*click*  (The sound of the phone being put down.)

A couple of minutes later, the phone goes again.  This time a (very American accented) man, with the same line of bullshit.  "You filled in a form on the computer.  The Com-Pu-Ter!" (Like we Africans have never seen a computer before.) "Using the .  You've won a Holiday In Florida."

I repeated my question: "Where did you get this phone numer?"

"Off the Web Form you filled in."

"No. Really, where did you get this unlisted phone number never before typed into a web form in any shape manner or form?"

*click*

The only company who have somehow managed to get my unlisted phone number into a database somewhere were Standard Chartered Bank, with their spam phone calls.  Perhaps they're exacting a revenge now for all the pain I caused them over that.

The Unterste Schurrer (Non-Yiddish Readers: "The Bottom Line")
Who the fuck would want to holiday in Florida, anyway?

25 October 2007

31 May 2007

Kubuntu 7.04 Feisty Fawn

Hooray!  My free (in both senses) Kubuntu 7.04 CD has arrived.  Only a couple of weeks since I requested it.

A Thousand Thanks to Canonical and all who sponsor this stuff!  I'm in a space right now where the cost of the download really is significant for me, and I would probably have had quite a lot of hassle inobtaining the latest Kubuntu update if not for their free shipping program.

I've been using Kubuntu on my (HP) laptop ever since I got it, and it mostly "just works".  The only hassle I've had was over non-free video drivers, and that was quite easily solved.  I'll probably load Kubuntu onto my desktop machine, too, in the interests of reducing clutter in my life.  For about 5 or 6 years, now I have had Mandriva on my desktop machine. I have no complaints about Mandriva. It has served me extremely well through the years, but it is one more distro to obtain, update, download bits of, and maintain and I'm into extreme simplification right now.  If I do move the desktop box over to Kubuntu I'll have things about right: down to two distros -- Gentoo for servers (where I want complete control over everything that goes onto the box) and Kubuntu for desktop/office work (where I want everything to "just work" without having to think about things).

Anybody in the South Cape who wants a copy of the Kubuntu 7.04 (Feisty Fawn) CD, please drop me a line and we'll arrange something!

29 April 2007

5 Trust Points for Website Usability

For a while now I've been working (slowly) on a new web application; the details are unimportant; I'll talk about the specifics in a couple of months when I'm ready to show something.  I have about 60% of the backend written, and am just starting in on the web frontend.

I am far from being a good "web designer", having the graphic-design and artistic skills of a newt.  The best I can hope for is creative imitation.  It worked for the Japanese car manufacturers, didn't it?  Consequently, I am paying close attention to what works and what irks on other websites, particularly the flow around initial engagement and user sign-up.  Here are the most irritating and unnecessary five things I've figured out.  These are all prompted by stuff I see over, and over, and over again on website after website.  It's getting old.

1. Don't Make Me Jump Through Premature Hoops

Allow me to explore the website. I am entitled to poke about and get some reasonable idea of what the site does, the why and how, before you ask me (or require me) to create an account.

I grant its really not a big deal creating an account, especially since most/all of the details I'll give you initially will be bogus because I have no reason to trust you at first. IBM still, about ten years after filling in a webform on their site, send junk mail (the paper kind) to "Lord Mike" :-)  But there's still some small effort involved in entering a Login-ID, email address and whatever other bits and pieces you require me to fabricate before you allow me into your walled garden.

If I cannot fathom enough detail about the site, if it does not help me to figure out the value proposition it offers me, I will just walk (well, click) away to somewhere else.  The Web is, for all intents and purposes, infinite.  For me to have stumbled across your tiny patch of virtuality was nearly a miracle in the first instance.  Don't block me from finding out whether I want to actually give you my time and attention.

2.  Don't Assume a Trust You Haven't Earned Yet

When I actually do sign up for an account, don't ask me for my whole life history, food preferences, sexual orientation and DNA samples.  I'll just lie, anyway.  I don't really trust you yet.  I only think that your site may have something I want.  This ties into the previous point: The more information I am able to glean before signing-up, the less likely I am to lie to you about myself, the more trust you will have created between us.

For the site I am building, I will be asking for:
  1. Your choice of Login ID
  2. Your email address.
Nothing else.  I don't need to know anything more about you yet; why would I assume that you're willing to give me any more?  I will generate a password and send it to you; I need to confirm that your email address works anyway, and, since I want to be able to send you email, I need you to confirm that you're OK with that, so I may as well send you a password at the same time.  You can always change it to that standard password you use everywhere later, if your browser doesn't remember it for you, anyway.

Incidentally, I just made the sign-up process as quick and painless as it can possibly get, didn't I?  There's only one way to make the process shorter.  Do you really, really need people to sign-up?  I know its an attractive proposition to a certain mindset, but is it really, truly necessary?

As I gain confidence in the site, I may go back to my profile page and fill in missing details, and correct some of the more egregious inventions.  This may take months or even years.  This brings me to my next point:

3. I Am Human, Ergo I Forget.


OK, so you don't burden me by asking for too many personal preferences and details early on.  Well done!  On the downside of that, I will repay your consideration by almost instantly forgetting that I left out details, lied about my birthdate or typed jarblewarblefarble into that form-field.  I know that you can actually make your site more useful and usable to me if I do give you those details, I just was not ready yet.

I suggest that you remind me occasionally.  Perhaps every second or third time I sign in, put a little reminder message on my landing-page, and ask me to fill in one specific piece of missing data.  And make it dead easy for me to do so, either by linking to my profile-management page, or by placing a relevant edit-field right there on the page.  Don't get tiresome by nagging me every time.

And while we're talking about reminders, if you're running any kind of email service, do remind me that I am subscribed, together with my subscription details and your unsub-algorithm periodically -- not more than once a month, but not less than quarterly.  Perhaps in the form of a newsletter.  (You did get my explicit permission to send me email, didn't you?)

4.  Don't Make Me Sign In Again

I'm talking about the phase immediately after initial-sign-up.  I've made the emotional commitment (however small!) to sign-up with your site.  Don't immediately demand that I do more work by signing-in.  I've just told you all that stuff -- login-id, password (twice, no doubt) -- don't make me type it all in again.  You're just being tiresome.

What?  Did you think somebody may have hijacked my IP address in the intervening two second?  That some malware may have sucked your session cookie out of my browser for nefarious unpredictable purposes?  Get over it: you already know who I am (for some value of "know".)

And then, once I am "signed in", don't forget it. (Hello, Feedburner!)

5. Reciprocate My Trust


Having
  1. signed-up for an account, possibly
  2. jumping through the confirmation email hoop, and then
  3. signed-in to that new account
Don't pretend you don't know me!  Don't present me with a page that says

Get an Account with Us!
Here is how:
Step #1: Create an account at Flibertigibbet.com
Step #2: Blah, blah, blah.
Step #3: Blah, blah, blah.

That's it!! What are you waiting for? Get major benefits, make money, win friends, influence millions! Create your account now!
Didn't I just do this?  Who are these idiots?
You just trashed my tentative trust in you.  Goodbye.

26 April 2007

Netbeans Collab Modules

Installed the Netbeans Developer-Collaboration Module yesterday, and gave it a trial-run together with Jason.  Wow! 

The chat-client is pretty standard; not much to say there.  The only thing we both disliked was that you have to use "Control-Enter" (or "Alt-N") to send your text rather than plain "Enter".  Probably we could reconfigure the keybindings somewhere...

But!  The ability to drag a file, folder, Java package or, indeed, entire project into the collab area, and then have both people (and presumably everybody in the chat session) simultaneously able to edit the same files, seeing each other's edits live,... pretty cool.

The real OhMiGod Factor was when Jason hit "compile" on the shared file, to have it compile on my PC (since the original file came from there,) with both of us seeing the compile output.  Very, very cool!

We were speculating about some alternative form of development setup where all the code (and docs, web-pages, and other project components) get stored in a wiki-like (auto-versioned, of course) system so that its not just one developer's PC that gets to do the work...  Just daydreaming, really.  For now.

If you're working in Java, C/C++ or Ruby, and you work with other faraway developers (even occasionally -- the dowload is only a couple of meg) you owe it to yourself to explore the Netbeans Collab stuff.  I am pretty sure that what we're seeing now is only the start.

10 March 2007

Great Tools, Great Times

Just as much as some software is a pain in the arse to work with (even though it may be totally essential) on the other side of the coin we discover things like the CSS editor in the Firefox/Web-Developer Toolbar!

Working on a significant look&feel upgrade for the farm website, I tripped across this thing today.  "Oh!" says Jason, "I've known about it for ages -- can't work without it.  I thought you knew..."  Well, call me Mr Slow...

Despite its few quirks and oddities, the ability to fiddle with CSS -- especially the somewhat complex CSS I'm working with, where there is a cascade of CSS files, each one overriding another -- and see the results as you type...

That rocks!

06 March 2007

Software That Makes You Angry

Isn't it peculiar?  Some pieces of software are actually an almost physical pleasure to use.  Others make one actively angry.  Or is that just me?

I will refrain from mentioning a specific piece of software, here -- it would just be a distraction.  The software in question has been pissing me off the whole afternoon.  All I want is to make a simple change to some templates.  But it turns into a huge bloody performance: hoop jumping, contortions, hystrionics and hysterics, all resulting in a Resort to Strong Drink.

The software itself is not such a terrible piece of work.  In some places it is excellent, and the rest of it certainly gets the job done.  But the thing taken as a whole just makes me angry.  Microsoft Windows has much the same effect on me.

On the other side of the fence are pieces of software that just slide effortlessly into your life.  When you stop and bother to notice them, they're just... effortlessly there for you.  No muss, no fuss.  They just get out of your way and work.

So what's the key?  I would certainly only like to write the latter kind of software and avoid foisting the former on the world.  I think it boils down to "Do things my way or else" vs. "Let me serve you; here's what I do... I'll stay out of your face, now."

What software pisses you off?  What software do you love?

27 February 2007

The last 10% takes 90% of the Time

I guess its easy when it's a larger project.  There's a Project Manager, there are Account Managers, there are User Representatives.  They may or may not be actually doing much.  But they're there, pushing for completion.

When it's only two developers working together, it's hard!  How do you keep the focus, keep the energy going, especially on a short-term project that you have zero interest in...?

23 February 2007

Software Testing

OK, I confess: I'm a crap software tester.  I totally lack the nit-picky, step-by-step, over-and-over, document-each-step patience and discipline needed for the task.

Jason and I are just trying to finish-off the last 3% of a project.  You know!  The 3% that takes 50% of the time.  We're bored with the project, sour on the whole concept, and have much more exciting ideas we would rather be getting on with.  My job is to drive the testing, and I'm having a rough time knuckling down to it.  How I wish we had a good tester on the team!

Good testers are worth their weight in gold.

Old New Venture

Sometimes you just plain run out of energy.

That's what happened to us last year.  Bruised and sore from the sheer amount of energy we put into Flightwish, only to be repeatedly turned down, we gave up.  I even contemplated selling our domain names – a nice block of four closely-related names – on eBay.

But, as renewal date for the domains approaches, we have decided to give it a go once more.  After all, before we got involved with business plans, venture capital companies, bullshit artists, prototypes and minds-games, the idea really was cool, and targets a real need.  After all, the concept originated with my Dad -- a total non-techie, which gives it a lot more credibility than most of the web startups out there.

So we've started kicking the tyres again, and lo and behold! The fun is creeping back into it!  We've no idea whether we can make any money out of this, now or ever.  We don't care, right now.  We have a cool idea for a web community that we want to put together with some help from our friends, and we're going to have some fun doing it for as long as we can keep the lights on.  Drop me a line if you're at all interested...

We've put up a fun front-page so far, where we can drop a few hints as we work on the software.
Related Posts Plugin for WordPress, Blogger...