|
The UML, CMM (Capability Maturity Model), Blah BlahI noticed, reading Software Development Magazine 6/01, what these people are selling, which is (well okay maybe I already suspected) esoteric insider knowledge for the mystified. I mean, they’re at it hammer and tongs; there is no programming anymore, it’s all architecting modeling yammer yammer. And it probably sells, because there are a lot of frightened corporate types who are utterly clueless. There’s “Process for Sale” page 35 where they attempt to present exactly what it is that Rational (Rose no longer apparently) is doing these days, since the UML got too obviously pointless; it says they’re selling “process”. And then the ever-popular Larry Constantine “Methodological Agility” p 67: “At one end of the field, in scruffy jerseys of assorted color and stripe, lurk the unruly rabble representing the methodless chaos that all too often passes for programming in many organizations. ...” The other side is the high-minded UML etc. of course; they don’t even mention that Capability Maturity Model any more I gather, although there’s a letter “Indian Ascendancy” p 13 where some poor pilgrim chides the magazine for foolishly believing sub-continent claims in this regard, and the magazine says, essentially, never mind we’re much more esoteric than that, now. Anyway, the “scruffy jerseys” is me; actual people who write software. The ideal of, let’s call it the BS/SW Movement, is that all its practitioners get paid for telling the scruffy jerseys what to do. Since it’s true-enough nobody can figure-out how to tell them what to do, and someone who volunteers gets a certain amount of respect for free, it’s a scam that may well work. At the very least, each stupid corporation as it steps off the cliff may pay these people a bundle once or twice. It all fits into Owen’s Theory of American Marketing, just a tiny variation on “give them what they want”: “Pretend to give them what they want”. ...
When the software doesn’t work, the BS/SW practitioner’ll probably be long gone; but even if he gets to be the goat, he’ll be paid for it! The software may never actually be written, much less work, but the execs are covered, the BS/SW prac gets paid, and everybody’s happy! If only it weren’t for those dratted shareholders.... |
|
|
The End of the Guru Plague?But all things pass in time; maybe sooner than I thought. What with the failure of computer advertising and, consequently, computer magazines, the gurus are on the run. We may not see their like again! Without computer magazines, where can they run their resume enhancers? I’ll miss the magazines, but I just realized the unanticipated benefit: these guys’ll have to work for a living! ... Of course they can goto the web, but it’s not so easy there; you have to compete with any wandering blogger who may well be far more competent than you; your grandiose claims and important theories will have to stand alone, without four-color witnesses on all sides! Of course the web is at least as cute as any magazine presentation, so if you’ve got an idea, you’ve got just as much chance. But being a great buddy of the magazine’s management is totally unimportant. ... Bon voyage, arrogant know-it-all mystifiers; enjoy your retirement.... — Wednesday, August 9, 2006 1:23 pm
|
|
DirectMySQLObjects: Delphi Database Shortcut(But see “MySQL Considered Harmful” below....) DirectMySQLObjects, an open-source product available at http://sourceforge.net/projects/directsql, flies in the face of Delphi’s database tradition by not using the built-in database components, but instead communicating through two objects. To use it in Delphi (I think version 5 and up; I used it with Delphi 6), you just include the source provided in his zip file in your project, reference two of the source files, and use two classes he provides. One of the extremely cheery features of DMO is that it doesn’t use a DLL or anything; I gather it talks to the database directly through tcp/ip or whatever goes-on down there, but however it works, it is refreshingly-easy to get going.... I found one catch: DirectMySQLObjects113.zip (the version I got) does not include DemoObjectsSQL, and this latter package — a single source file plus a DPR to make-up a DirectMySQLObjects demo project in Delphi — I found essential for understanding how to use the classes. I could find it by clicking “files” on the sourceforge.net page above, and searching for DemoObjectsWin.zip. Or I could find it by googling for it. Fortunately I already had it from a beta version of the product I had downloaded a few months before, or otherwise I probably wouldn’t’ve found it, and wouldn’t’ve realized how EZ DirectMySQLObjects is.... But using the demo, I found DirectMySQLObjects an ideal way to connect to the database; the demo is really better than documentation (which as far as I can tell isn’t available). You just compile the demo in Delphi, do what you want with his buttons and stuff, and then trace through the source to see what you have to do in your program. Of course I decided a while ago (q.v.) the built-in Delphi database components aren’t much good for what I typically want to do — which is getting various machines chatting with each other and the database. The Delphi components, in contrast, seem useful for facilitating communication between human beings and the database, i.e. customer service rep types with head phones. But even there, Borland itself somewhere admits their cute components really aren’t ideal for dealing with SQL, which is really all that’s left standing in the database universe. And for that matter, the DMO demo includes a few Delphi string grid components which produce a pretty-elaborate presentation of SQL results, if that’s what you like.... |
MySQL Considered HarmfulSo sad. ... MySQL is the open-source database company which offers a highly-respected SQL server, until recently available in GPL (GNU Public License) and commercial-license versions. However, the company has adopted what might be described as the Predatory GPL License: basically, if you think about MySQL, and somehow make money, you must pay them a license fee....
And it gets worse: not content to foul their own nest, they claim their restrictions derive directly from the standard GPL (GNU Public License) which, if true, would mean that you couldn’t write any commercial Linux software — at least not without the possibility that some lunatic could sue and win. ... IANAL, but I just glanced at the GPL and I simply don’t see it.... But MySQL does, and I think it’s best to honor their bizarre intention — which is, apparently, to drive away anyone who thought they could bootstrap a commercial venture using a GPL product — i.e., like they did. ... Of course I should point out MySQL doesn’t preface every MySQL documen (or any, as far as I know) with a disclaimer like Please Note: Any Commercial Product That Connects In Any Way to a MySQL Database Must Pay a License Feebecause if they did, I and I imagine many others would have never bothered with the product.... |
Better Choices: Postgres; SQLiteThe BSD-licensed Postgres has made marvelous progress in learning to live with our favorite monopolistic operating system, and seems to be otherwise well-regarded in general. “BSD” means you can use the code anyway you like, and they’re unlikely to devolve into a MySQL predatory approach. And their Windows distribution comes-with the impressive pgAdmin3.exe frontend, so you don’t even have to scour the web for something decent. You understand, I like it when an open-source project has a supported Windows version, because (1.) it indicates they’re not lunatic fanatics and (2.) Windows is much easier for playing-with these things — not to mention that many real-world applications will require Windows clients, even if the server is probably better-off running on *nix. The Owen Version: So as my thoughtful contribution, I offer jgopg.zip, which is a demonstration program of theirs I managed to compile with Borland’s Builder 5. ... I mean, it seems to work; I make no claims that it works correctly, but it’s not complaining. ... Rather unsportingly, Postgres doesn’t include an already-compiled testlibpq.exe in the Windows release, so I can’t compare outputs. ... My next goal: Delphi 5 — and here it is: jgopgd.zip. Like the Builder version, all I can say is it looks OK, and doesn’t crash — and at least has output matching the Builder interpretation! ... I include Delphi translations of the PostGres files libpq-fe.h and postgres_ext.h; these are almost totally untested, not to mention incomplete; and I just looked at it again, and since the only thing the demo actually uses is a couple of anonymous pointers and the odd command string, I can’t emphasize how much it isn’t tested. ... But then again, that’s mostly what’s in there, with a few weird complexities; I added a test of PQconndefaults (see “else” menu) which uses an actual structure — and it works, or looks like it does. ... So, there it is. ... Oh yes, I should make it clear these have nothing to do with Borland database components — after a lengthy but essentially trifling acquaintance, I have sworn off those things. ... No, these two demos talk directly to the libpq.dll supplied by PostGres, and don’t use any database components.... SQLiteThe public domain SQLite consists entirely of a 213K DLL and directly manipulates files on the local computer; no internet, no server, no users, no passwords. The web site has numerous interfaces (search for “bindings”), including some for my poor decaying Delphi, and I even found a nice, if somewhat limited, public domain front-end at http:// sqlitebrowser.sourceforge.net/. ... I believe php 5 contemplates this one in preference to MySQL because of the latter’s licensing weirdnesses.... No Stinking SQLite TypesAn amusing SQLite quirk is typelessness: you can specify things (“employee integer, action text” etc.) but then you can stick anything in there, strings, numbers, whatever, and no complaints. They say it’s a feature, and types in “real” SQL are a mis-feature — and I must say I agree (ring the bells!). SQL typically chats with a machine running a program, and if the program gets an error for a bad type, it’s not likely there will be any plausible recovery; it’s a bug, and it should’ve been fixed in the program logic. The SQL type-error model seems to relate to some wretch typing directly into the SQL server, which of course happens — i.e., with browsers or the average awful command-line tool — but is hardly the norm.... — Monday, March 19, 2007 2:30 pm 1. Recently (~3/08) MySQL-Front rejoined the living with a brand new up-to-date version and even honored my pitiful registration code I paid-for so long ago! ... This probably in honor of the Sun purchase of MySQL which, I would guess, would make predatory licensing tricks less likely.... |