- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
people whose comments are FRIST.flp
Admin
Bob's my uncle.
Admin
GbComment(1) // frist!
Admin
FoxPro anyone..?
Admin
The proper choices would be (1) quit or (2) write your own SDK against the file formats. After all Dinosaurs were all killed by a giant meteor so clear Bob can't exist.
Admin
“Your comment lacks proper philosophy.” “You lack sympathy for hard-working commenters” “You do not know how to read other people’s comments” “You are filing too many comments to keep up”
Admin
Reminds me of a system we're in the process if killing. It was written by a company in the US, from where it's hosted on their servers. We're based in the UK, and communicate with this thing via an undocumented and broken SOAP API. Nothing is logically or intuitively named, a search typically returns duplicate records, other records that shouldn't match the search criteria, and omits some that should match. Any modification to the configuration takes at least a few weeks, or else gets forgotten, although we always get promptly billed. The original developer quit the company before the system was complete, and it's now maintained sporadically by a guy in a completely different time zone to the vendor.
When I asked how such an unfit for purpose system got commissioned from a company who clearly had no track record in the market, I was told that the one of my company's directors got a free ski trip out of it (the vendor's based in Colorado). As a result, a cheaper system from a larger vendor who was well known in the market was ignored.
Admin
TMG is indeed a FoxPro based program.
Gb no doubt stands for GenBridge which is a quite widely used now SDK for reading in genealogy file formats and makes a complete mess doing so with some of them,
GenBridge is written by the TMG author IIRC.
Admin
Me, I'd flp out if someone was that terse and useless.
Of course, Dinosaur Bob is probably a one-man shop (or as near as damn-it) which has an SDK to read the data because that's what you have to have in the modern world. John is probably the only person really trying to use this SDK, especially if you consider only experienced developers with a sense of how software should be built.
None of this really excuses Bob's behaviour, of course. My fondest memory of software customer support was a guy (whose name now escapes me, this was almost 25 years ago, but goggle says it was D. P. Johnson) who provided an alternative floppy controller driver for Microware's OS9 (no relationship to MAC OS 9) on the TRS-80 Color Computer. It generally worked really well - the CoCo's floppy controller was a capable beast somewhat hampered by the computer it was connected to - but I had some problem or other (details are lost in the mists of time, sorry), and phoned him up directly. He was polite and technically-aware, and understood my problem immediately. A patched version of the driver arrived in the post (c'mon, this was 1987 or so, did you really think he emailed it to me?) shortly afterwards.
Admin
I am thinking he should have just learned to parse the files directly. I mean they can't be much more complex then Bob's API. As far as if that is safe or not, I can't imagine creating more bugs and corrupting file formats is any more likely than by using Bob's API.
Admin
TMG is the common abbreviation for The Master Genealogist. It's a somewhat outdated genealogy program, but with a very good data model. The "TMG" format is actually a zipped backup file of the dataset. I was a TMG user from 1997 to 2005 when I migrated all my data to a homegrown PostgreSQL database, and immediately recognized all the filenames.
And "Dinosaur Bob" must be Mr. Bob Velke himself ... a guy sticking with FoxPro in 2011. It doesn't even support Unicode.
There's a good article about the sorry state of TMG here:
http://www.tamurajones.net/TMG8PublicBeta.xhtml
Admin
I once worked for a company that built its DOS programs using a "graphics" library someone had purchased for the company. It was the typical collection of screen-clears, box-draws, text positioning, coloring, etc. However, for "convenience" everything was done through a single function call with parameters. It was torture to use this thing. For a simple screen clear, you still had to supply empty arrays of characters, ints and floats even though they were never used. For text on screen, supply your text, build an array with non-homogenous data. Sometimes you got lucky and the code would work. sigh I know it takes effort to write a good SDK, but I think it takes a special sort of stupid to sink below mediocre and write a really crappy one.
Admin
Admin
ROFL! The website (http://www.whollygenes.com/) for this is soooooo 2.0!
OMG! It costs 60 bucks!
Admin
I would have asked Bob where the SDK was after seeing that mess. Looks like he didn't do any work at all.
Admin
Admin
No wooden table... I'm disappointed.
Admin
Use Gedcom, it's a Mormon-Format and it's failry standard but you do need a state machine to read it properly. But do get ready to have several ways to express the same thing in one file. It looks like @INDI 256423 01 NAME Stefan Maier 02 BIRT 03071985 03 PLAC Frankfurt 02 MARR @234569 03 PLAC Heidelberg
Admin
lol
TMG => The Master Genealogist
Admin
The correct way to handle an API like this is to write your own API on top of the wierd one that handles all the crap and gives you a unified and consistent view.
Admin
When they clear that data, then we'll drink bee nectar. Truly.
Anyone see the fuse today? Zoe, my lob. What fools, we are, in this demented fay.
Kiss, kiss. Kadafi is easy.
Admin
Reminds me of Microsoft's IDispatch. Did they ever catch the guy who created that? Or is it a "cold case"?
Admin
Admin
Gedcom doesn't look like that at all. Try:
0 @I256423@ INDI 1 NAME Stefan /Maier/ 1 BIRT 2 DATE 03 JUL 1985 2 PLAC Frankfurt
would be the individual record you attempted to give.
MARR belongs on a FAM record, not an individual and would look something like
0 @F1@ FAM 1 HUSB @I256423@ 1 WIFE @I234569@ 1 MARR 2 PLAC Heidelberg
While there may be a standard the quality of following it by all genealogy programs is absolutely terrible. GenBridge is advertised as being a better alternative to Gedcom as it happens!
Admin
At one of my first dev jobs after getting up to speed on their software and workflow (read: bug fixing process) I was told that I was "finding too many bugs".
Apparently they would have liked me better if I was blind. Their superstar was a guy named "Dork" (well not really, but one letter different from that) that created 95% of the bugs I was finding.
So, actually, blind and sloppy. That's what management truly valued.
Admin
Admin
Admin
I'm not trying to defend it, merely to point out the fundamental underpinnings driving its design. A "Custom" interface (i.e. what any sane person would build for if designing an API to COM objects, more or less compatible with a reasonable definition of C++ virtual function tables) is hard to call from an interpreted language like that, while a combination of an invoke method and VARIANT parameters (evil one and all, granted) makes it fairly easy. To get the best of both worlds, derive your custom interface from IDispatch instead of IUnknown, and build the right invoke function (I think the MIDL compiler might do it for you...)
Admin
So I go to the meeting and explain the problem. Dumbed down, so they can understand it.
Well what do you think we should do?
So I explain the solution. Dumbed down, so they can understand it.
Well how can we do that?
I'd like to do it using a database and some scripts, which I could have already finished if I were working alone, but they don't understand databases and scripts. So I have to lead them painfully step by step through how to keep track of everything manually in a spreadsheet. "Well once we do step X for item Y we will want to remember that it is done so we don't choose item Y again later." "Oh, yeah, I didn't think of that. Can we (that means me) copy the row out of one spreadsheet and paste it into another so we will know which ones are done?" Yeah, we can do that.
So after months we come up with a workflow everyone can understand. Now, who should do it?
Me, of course.
So here I am doing it the slow stupid way so the other team members, who contribute absolutely nothing but talk, can understand.
Admin
Complete documentation for your new S. S. Titanic:
Admin
This is standard operating procedure for open source software.
Admin
Absolutely.
The real WTF (tm) is that he didn't learn to parse the format directly.
Admin
Admin
Admin
Admin
There are a few of these oddball one-man shops out there, making software for niche markets.
I use one such program. It has an appalling-but-powerful UI (in fairness, so do its few competitors). Bug reports are via email to the author. There are version numbers, but the only version available for download is the current release, they all have the same filename and often minor bugs will be fixed and released without a version number bump. I've taken to saving the "last known good" installer just in case a new update breaks anything important and I have to roll back.
Similarities to Dinosaur Bob, thankfully, end there. This software actually is fit for purpose and well worth dealing with the idiosyncrasies of its development and release cycle.
Admin
Make him eat them before they've been properly heated.
Admin
Use good old GEDCOM, with any extension tags prefixed with _.
Admin
I think the reason why they went with the receptioninst was because ticket system was also written using this SDK :)
Admin
Irrelevant. Nobody likes Hot Pockets.
Admin
Microwave them without using that little browning sleeve.
Admin
Thanks for bringing that pain back. You're a mean one Mr. Grinch.
Admin
Uncle Bob's my father.
Admin
Admin
You aren't feeding him hot pockets because you care about weather on not he likes them. You are feeding him hot pockets for the same reason they used to feed prisoners bread and water for weeks at a time. It really fucks with your guts.
Admin
Admin
No, you feed him Hot Pockets because death by starvation is too good for him.
Admin
Which is great, but it's SO much better to ignore bugs and ship a piece of crap than to properly document and track bugs, thereby risking hurting the feelings of the developer who coded them.
Admin
I think so. I don't know anything about FoxPro, but I do know a thing or two about genealogy software. I assume TMG is The Master Genealogist, which was indeed built on top of FoxPro.
Admin
Father Bob's my ... no, best not go there.