Glut of Workflow Engines

A good measure of hype is the number of open source projects.  Light attracts moths.  Hype attracts open source developers.  From this perspective, it is disturbing to see how many open source workflow projects there are.  According to Carlos Perez's Open Source Workflow Engines Written in Java post, there are at least 14 in Java alone.

While some are just component-level projects, there are some starting to approach commercial level quality by providing user-friendly workflow design tools.  Regardless of their quality, I believe the noise they project into the workflow software market is substantial enough to affect commercial workflow software vendors like the way sea-level affects civilization.

Tough Choice: Stupid or Evil

Recent suckage by Google regarding their AdSense program (see Joi's post for latest set of links to related posts) brings to light an interesting choice in life.  If you had to choose, which would you rather be: Stupid or Evil?

Since Google's #1 rule is "Don't be Evil", I guess they would rather be Stupid than Evil.  Just in case, here is How Google can be Smart and Secretly Evil:

  1. Shut up about the secret monitoring technology that can detect mousy leech with 100% accuracy.  What is the point of bragging about something you can't show?  Besides, if secrecy is one of its secret sauce, it follows that cheats can be found when the details are revealed.  Also, you can't even reveal it to your advertisers to convince them that it works, can you?  Be smart and just shut up about it.
     
  2. Stop sending accusatory letters to well-connected troublemakers.  Yes, that means bloggers.  In your zeal to tap a potentially explosive market, you paid too much attention to the word market and not enough attention to the word explosive.  Keep poking the bear and you are gonna get Evil-branded like Microsoft.
     
  3. Stop listening to lawyers.  They are worse than righteous geeks and angry mothers when it comes to making trouble.  Yes, that means knocking off that stupid addition to the AdSense contract.
     
  4. Do apologize like a sniveling idiot.  Apologies don't show up on the balance sheet so spend it like a maniac.
     
  5. Do introduce account productivity level (percentage of good click-throughs over total click-throughs) which is multiplied to total amount owed.  So if my level is 50% and my AdSense accumulated $200, I get $100.
     
  6. Do introduce probation periods for new accounts.  Accounts on probation period are monitored more closely and may get canceled without pay.
       
  7. Do review AdSense accounts regularly and warn unproductive accounts.  If improvements are not made after initial warnings, account is placed on probation.
     
  8. Do hire someone who can sell ice-cream to Eskimos to write the cancellation letter instead of having some fool write something that falls just short of calling people thieves and liers.

Update #1:

I retracted Do pay in full item and reordered the list in response to fan mail (;-p).

Advancing Command-Line

I spent part of today playing with my dedicated server at ServerMatrix.  Unlike the difficulties I ran into earlier using cPanel at ServInt , I had no trouble at all setting up the server using command-line.  It was ironic considering that cPanel is supposed to help people control Linux using easy to use GUI instead of the command-line.

Command-line interface is pretty tedious to use though and I intend to address that by hacking together my own version of SSH2/SCP/SFTP client that will automate most of the repeated tasks.

For example, I want to be able to get a list of processes with a single mouse click and 'pin' it to the side so it can be updated every few seconds.  I also want each command I give to become a branch node in a tree.  Response back from the server will get inserted under the branch.

Later on, I drag several related branches to a new task branch to create a composite command.  To specificy parameters, I open up the task and 'punch holes' into the commands, assigning them names and specifying acceptable input formats.  Most of the information can be extracted from man pages automatically to automatically document the task, leaving the user to provide a descriptive name and description.

When the task is run, necessary parameters are either asked for using auto-generated forms or extracted from results.  Subclassed tasks and composite tasks should also be possible so one could be build meta-tasks like "Setup Linux Web Server".  Eventually, these tasks can be shared with other people.

Doing everything on the client-side can be slow, so large tasks can be automatically sent to the server-side to be executed there.  While I could keep a stable of hand-written server-side scripts, I believe this is the right way to evolve the administrative tool technology.  Documentation is very important also because I believe good UI should not only be easy to use, but help the user understand how the system works instead of just learning which buttons to press.

Anyway, the web server is configured and awaiting content to be poured in.  Tomcat installation is next.

Update #1:

I forgot to mention that command-line bots will be cool to have also considering how popular IRC bots are.  To remember some tasks to do, just tell the ReminderBot about it and it will remind you later.  Most of these new features should be implemented on the client side so the server is not burdened unnecessarily.  Besides, there are pleandy of CPU cycles to burn on the client-side and connectivity is better so you can add P2P-based features to the command-line.

Horny Cactus

Warning: This might be one mind expansion you might not want.

Wow.  One of our cactuses sprouted two flowers.  Well, I think they are flowers.  Desert plants tend to keep their flowers sheathed until the conditions are right to breed.  I am not sure if many people share my view, but I think flower is like penis for plants except, unlike mammals that run around to mate, plants just let it hang out.  Hey, that's one horny cactus we got here.

Helping my wife's garden work in my own way.
Whew.  Photography is hard work.

Fixing E-Mail

Ray and Ross are pointing to other communication technologies such as Groove and Wiki as possible solutions to the e-mail problem.  I disagree.  Vast millions are already familiar with e-mail and nothing but the e-mail will meet their needs.

Their suggestions amount to telling everyone in Asia to switch to bread because rice crops are infected with some harmful virus.  I do not believe fixing e-mail is beyond technological reach.  I also do not think the alternate technologies are problem free, particularly when they are deployed as widely as e-mail.

I think the world will choose to use minor variations of the e-mail technology instead because they just want e-mail to work better, not something else.  Ray point to the uncontrolled nature of e-mail as the fundamental weakness of e-mail.  Good point.  I believe the initially popular variations will be controlled e-mail services.

Since normal e-mail is noisy and unreliable, new businesses will spring up offering trusted e-mail service to corporate e-mail users.  They will form several co-op networks to apply the control necessary for limiting abuse.  Popularity and profitability of such businesses will force ISPs to join the co-op networks.  Eventually, the co-op networks consolidate into a single federation of trusted e-mail service providers spanning the globe.

Note that this trusted e-mail network will co-exist with current spam-choked e-mail infrastructure and none of the e-mail users will have to change their e-mail client.

I think this vision of the near-future is more reasonable than mass exodus to alternate technologies.  Still, I don't blame Ray and Ross for seeing everything as a nail, particularly since they have such nice hammers.

[Temporary] Thumb Down on ServInt VPS

I just e-mailed a request to close my ServInt VPS account.  In three days of trying to set it up, the server went down several times a day.  Not a good sign.  I think the company is a good company and have heard good things about them, but I think Virtuozzo, VPS implementation software they are using, has problems.  Since I don't have time to wait for the problems to be fixed, I am going to look elsewhere.

Update #1:

I just ordered a modest dedicated server from ServerMatrix.  2 Ghz Pentium 4, 1G of hopefully fast memory, and 40G IDE with Red Hat Linux 9.0 and no cPanel (sheesh).  Bandwidth is 750GB/month in both directions.  I guess the unusual bandwidth accounting is due to ServerMatrix's dedicated game server products.  Anyway, I am expecting to wait longer than usual to get the server up and ready for my newbie Linux administrator fingers.

Update #2:

I received an e-mail from Reed J. Caldwell, CEO of ServInt, apologizing and informing me that the VPS problems were indeed caused by a Virtuozzo bug which, fortunately, affected just the server I was on.  He assured me that his teams are working around the clock to fix the problem.

He offered me several very reasonable options, but since I already ordered a ServerMatrix server I had to cancel.  Thankfully, Reed promised a full refund.  Great.  As I mentioned before, ServInt is one of the best out there so my trouble shouldn't reflect too much on their reputation.  I also still think their VPS program is a great deal once the bugs are fixed.

Update #3:

My ServerMatrix server is up and ready to go.  Heehee.

According to Reed, CEO of ServInt, VPS problems are fixed:

The problems you were experiencing on smv5 have been stabilized. We had the Chief Software Architect from Virtuozzo on the server all day yesterday. They are now working on a patch which will be replicated to all Virtuozzo customers, courtesy of the joint work between ServInt and SW-Soft.

Cool.  When I get unhappy with ServerMatrix, I'll consider ServInt again.

Update Your OpenSSL-Dependent Apps

Oh, sh*t.  Several severe vulnerabilities were discovered in OpenSSL's ASN.1 parser code.  These bugs are really serious and widely spread.  Update Now!  Beside pathcing your own programs that use OpenSSL, don't forget about program you didn't write.  I'll have to scan my system to take stock of which programs I have to update.  Sheesh.

While the hole in OpenSSL might be patched, vulnerabilities in other applications using ASN.1 are likely to still exist and may come to light in the days to come.

Pass this news on to others so they can cover their ass too.

Human Nature and Metadata

In Metadata, Semiotics, and the Tower of Babel, Tim Oren rants against some of the assumptions behind the metadata bubblet which Joi Ito hinted at in his If I were Microsoft post.  It is kind of ironic that Tim used the Semiotic wand to blast the Shangri-la illusion off the Tower of Metadata Babel because people had many different interpretations of Joi's post.

Symbols are just containers for semantics.  If you put cookies in one, people know them as jar with cookies and identify it by its shape and location.  As soon as you have one jar, you will have many so people invented ways to refer to each jar by name (cookie jar) and distinguish it by sight (it has a picture of cookies carved on it).

Semiotics is all about problems of jar selection.  While size and shape of a jar limit what can be stored inside it, there are enough leeways for people to use the jars for wide variety of purposes.

In Korea, there is a specially shaped jar for urine so one doesn't have to go outside in the middle of the night to take a leak.  It's a beautifully shaped jar.  Now imagine what would happen if an American came upon the jar.  Chances are pretty good that he would see a cookie jar, a jarring example of semiotics.

So Joi was musing about Microsoft monopolizing the emerging jar market to gain an upper hand on Google which cornered the market on baskets.  Tim disagrees because people can put anything in jars regardless of the picture or label on the jar which will cause confusion like the Ecstasy test result mixup.

I am somewhere in between.  I believe two common forms of human nature, conformity and mimicry, allow sufficiently large and reasonably coherent set of metadata to be created, if not by design, then by popularity (see Emergent Markup Languages).

Web Server Performance Myths

Here is a recent semi-public paper on web server performance mentioned in a message to Tomcat developer mailing list.  Download article.zip and read the PDF file inside the zip file.  It has some interesting discussion about web server performance myths.  Here is an choice excerpt:

[…] yahoo gets 1.5 billion pageviews a day. […]

Yahoo uses 4,500 server to serve up 1.5 billion pageviews each day. If we divide that by the number of seconds in a day, we get 17,361 pageviews per second. Assuming the load is distributed evenly across the servers, each server handles 3-4 pageviews per second per system.

One of the key points the paper stresses is the performance/value offered by hardware XML accelerators for XML-happy web applications.  There are other choice bits in the paper, so check it out before the authors take it offline.

Getting Better

ServInt came back up and behaving much better than before.  I sure hope they solved the problem permanently.  Anyway, it was stable enough for me to go ahead and setup five accounts on them.  I had enough of playing admin for the day so created an amusing Under Construction page and closed shop for the day.

I am not looking forward to setting up Tomcat though.  Last version of Tomcat I used was a unstable, slow, and a resource leech.  cPanel has an installation package for Tomcat but there are some conflicting advices about whether to use it or not.  Maybe I'll just go for the latest Tomcat 5 beta after checking for stability issues on Tomcat mailing lists.  It's supposed to be much faster than Tomcat 4.  I did review Tomcat 4 JSP engine and it was pretty sloppy with resources, allocating objects left and right for trivial stuff.  Meanwhile, two domains in transit are still in transit.  Domain registars seems to be pretty slow at letting domain names go.

I did find some good dedicated server deals at ServerMatrix.  $79/month for a dedicated server is yummy even if its a 1.4 GHz Celeron box.  40G of storage is not that exciting but 750GB per month bandwidth sure is.  I like the SuperServer package more but the 2.4 GHz Pentium 4 it comes with is not the version with HyperThreading so I think I wait until that becomes available.  At $150 per box, I can setup two web servers, two application servers, and two database servers for $900/month.  Woohoo!

Update #1:

It turns out the cPanel Tomcat package is unsupported and hasn't been updated for a year.  There are also some confusion of mod_perl support also.  mod_perl is listed as being loaded but it didn't work.  So I tried installing it via RPM and got errors like Apache is not installed.  Huh?  When I went over to Update Apache section of cPanel to update Apache with mod_perl, there was this short note next to mod_perl checkbox:

not required to run .cgi scripts/not compatible with php

First part is pretty funny.  I'll bet some sales person put that up.  So I have to disable PHP to use mod_perl?  Pecking around various webhosting forums and cPanel forums, I found even more confusing messages.  It seems cPanel itself and mod_perl don't get along two well.  What kind of crazyness is that?  There were other weird problems too.  Perl is installed but PPM was not.  To install a Perl module, I have to use cPanel to do it.

cPanel is looking more and more like Kathy Bates in Misery.