• Anders (unregistered)

    Chain him in the basement and only leave Lutefisk for him to eat!

  • (cs) in reply to Anders
    Anders:
    Chain him in the basement and only leave Lutefisk for him to eat!

    Ok now you are mean.... ;-)

    Yazeran

  • Robert (unregistered) in reply to Mark
    Mark:
    Joffrey:
    Jeff:
    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.

    It sounds like they valued productivity and shipping product. Additonally, they probably also valued teamwork and getting along with others. Just saying.
    Ahh, yes, the glorious team. I'm on one of those now. A team. With a whole bunch of people to help. Many hands make light work, right?

    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.

    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    Typically, those in (1) are arrogant and think they are far cleverer than they really are. They are the ones who believe the process holds them back from performing. The ones in (2) generally nod and smile and use phrases like "...can you remind me how to..." and are generally apathetic to change (provided it doesn't increase their workload). In some respects, the ones in group 2 are reasonably smart - they have created themselves a role where noone really knows what they do, yet they frequently point out that some stable system hasn't crashed for a while, proving that they are doing a good job (a deception propagated sufficiently to have at least most of the client believing they are a valuable member of the team). These people normally pull a reasonable salary (because they forever suggest that the system would somehow be less stable if they were to leave), and are usually capable of firing up Spider Solitaire (although "two suits" is advanced for them).

    As the people in group 1 (about a 1-5 ratio of 1s to 2s is the norm in most places, this blows out to about 1-15 or more in Govt departments) realise that the people in group 2 are useless yet attract a higher salary they become determined to prove their value and start proposing hair-brained updates and improvements. Sometimes, there is some merit to the suggestion, however too often in an attempt to revolutionise the world they lose sight of their objective and over-engineer a solution (which they are very proud of, and defend to the death). These are the people who use xargs a LOT for things like

    ls -1 | xargs grep -i 'temp'
    Their work is normally reasonable and functions, but tends to be overthought.

    Oh, and then there's people like me who are just friggin awesome!!!!

    Probably an urban myth, but... A group of "Software Engineers" were asked to design a bike for blind people (why Software Engineers? Because it makes it pertinent here). Most came up with all sorts of "clever" ways to make sure that bells would ring if they were getting close to an obstacle and all sorts of little tricks. One person analysed the requirements, and worked out that essentially the bike was needed for recreation, not travel. He bought an exercise bike and channeled the air produced by the spinning wheel back into the riders face to simulate the wind rushing past as you ride along...

    In a similar vein (although perhaps better demonstrating the point), there's a story about the people who were asked to design a system for keeping a bike riders hands warm in the winter. Again, a plethora of "clever" ideas came forward - pumping warm water through the handlebars and the like...Eventually, someone came up with the novel idea of giving the bike rider a pair of gloves.

    But I digress...my point is: You're probably not half as smart as you think you are.

    (Chico Marx: "...so? Your face is all painted, and you don't look half as good as the dog....yes you do...just about the half"

  • Mick (unregistered)

    Did I miss something?

    Why would you use a Software Development Kit to read files? Or does SDK mean something different in the world of genealogy?

  • Mark (unregistered) in reply to Robert
    Robert:
    Mark:
    ...So here I am doing it the slow stupid way so the other team members, who contribute absolutely nothing but talk, can understand.
    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    ...my point is: You're probably not half as smart as you think you are.

    Well clearly I am the stupidest one on the team because I have to do all the work while they draw five salaries for sitting in meetings.

  • Buddy (unregistered) in reply to Robert
    Robert:
    ...

    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    Typically, those in (1) are arrogant and think they are far cleverer than they really are. They are the ones who believe the process holds them back from performing. The ones in (2) generally nod and smile and use phrases like "...can you remind me how to..." and are generally apathetic to change (provided it doesn't increase their workload). In some respects, the ones in group 2 are reasonably smart - they have created themselves a role where noone really knows what they do, yet they frequently point out that some stable system hasn't crashed for a while, proving that they are doing a good job (a deception propagated sufficiently to have at least most of the client believing they are a valuable member of the team). These people normally pull a reasonable salary (because they forever suggest that the system would somehow be less stable if they were to leave), and are usually capable of firing up Spider Solitaire (although "two suits" is advanced for them).

    As the people in group 1 (about a 1-5 ratio of 1s to 2s is the norm in most places, this blows out to about 1-15 or more in Govt departments) realise that the people in group 2 are useless yet attract a higher salary they become determined to prove their value and start proposing hair-brained updates and improvements. Sometimes, there is some merit to the suggestion, however too often in an attempt to revolutionise the world they lose sight of their objective and over-engineer a solution (which they are very proud of, and defend to the death). These are the people who use xargs a LOT for things like

    ls -1 | xargs grep -i 'temp'
    Their work is normally reasonable and functions, but tends to be overthought.

    Oh, and then there's people like me who are just friggin awesome!!!!

    1. Superstar developers

    These are the rare ones. Very productive, very few errors, KISS, they "just get it", real keepers.

  • (cs) in reply to My Name Is Missing
    My Name Is Missing:
    The proper choices would be (1) quit or (0) write your own SDK against the file formats. After all Dinosaurs were all killed by a giant meteor so clr.bob.TMG can't exist.

    FTFY

  • (cs)

    I find myself thinking of Dune by Frank Herbert, and the neologisms coined therein. One was Giedi Prime, which I suddenly twigged was the pronunciation of GD'. Buoyed up by my epiphany (or maybe it was the efficacy of the leb I'd been smoking) I got wondering whether Sardaukar was just the letters SDK in some post-apocalyptic space-age mutated language. Got it. Bob The Dinosaur's surname is Harkonnen.

  • (cs) in reply to Joffrey
    Joffrey:
    Jeff:
    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.

    It sounds like they valued productivity and shipping product. Additonally, they probably also valued teamwork and getting along with others. Just saying.

    Still happens. Got parachuted into a project last Wednesday and have just released a progress report. Was told off for reporting a series of bugs. Apparently it's bad to report bugs because it discourages the inexperienced programmers who programmed them. Wankers.

  • asdfg (unregistered) in reply to Matt Westwood
    Matt Westwood:
    Joffrey:
    Jeff:
    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.

    It sounds like they valued productivity and shipping product. Additonally, they probably also valued teamwork and getting along with others. Just saying.

    Still happens. Got parachuted into a project last Wednesday and have just released a progress report. Was told off for reporting a series of bugs. Apparently it's bad to report bugs because it discourages the inexperienced programmers who programmed them. Wankers.

    Looks like we're restarting the great Windows debates of last week....

  • cam (unregistered) in reply to Leif

    It's going to break dinosaur bob's scaly reptilian heart when the meteor that is windows 8 is going to hit. just getting a foxpro application to run in windows 7 is a pain in the ass.

    TWTF is someone using a proprietary language the vendor doesn't even support or sell anymore.

  • Cyt (unregistered) in reply to Mark

    Who hasn't done a thing like this.

  • (cs) in reply to A. Non
    A. Non:
    PiisAWheeL:
    PedanticCurmudgeon:
    mott555:
    Iceman:
    The correct way to handle an API like this is to kidnap the author, lock him in your basement, and force him to eat Hot Pockets and listen to Rebecca Black while being beaten with a catfish, and then force him to write a new API that gives you a unified and consistent view.
    FTFY.
    But what if he likes Hot Pockets?

    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.

    No, you feed him Hot Pockets because death by starvation is too good for him.

    We aren't trying to starve him to death. We are trying to force him to re-write his api in an acceptible easy to use manner. Thats where the hot pockets come in. I think he will start getting really motivated on bowel movement 3 on day 2, and by day 7, he will probably have written the Unicorn of SDKs. It will be perfect. Logical, functional, bug free, and easy to interface with and expand. Hell you could probably just give the results of day 9 to the client and get paid.

    Then you have to figure out how to get this poor sod out of your basement without going to jail.

  • Simon Tewsi (unregistered) in reply to Comments

    I was thinking something along the lines of

    "Your business analysis lacks proper philosophy" "You lack sympathy for hard-working maintenance programmers" "You do not know how to use other people's programs (or even your own)"

  • Jerry (unregistered)

    Directive 666: SDKs are inflexible, contribute to project delays and lack flexibility. They have been deleted, and must not be reinstalled.

  • (cs) in reply to Joffrey
    Joffrey:
    Jeff:
    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.

    It sounds like they valued productivity and shipping product. Additonally, they probably also valued teamwork and getting along with others. Just saying.
    Return to underneath your bridge, sir!

  • Shinobu (unregistered)

    From the list of terse replies, I've heard all except the first, even from developers [names withheld to protect the guilty] who had enough sense to use to use a bug tracker. The basic problem is that due to the way human nature works, most developers instinctively treat a filed bug as a kind of attack. They start to behave like they're defending a palatial castle from a barbaric horde. As for the most sadistic SDK I've used, my votes go the the Windows API, especially if you intend to use it from C++. You have to include <windows.h> which will instantly pump the global namespace full with typedefs, functions and shudder preprocessor macros. It uses no namespaces at all and it's in most cases not workable to try to import only a part of it since the files <windows.h> includes all seem to be highly interdependent. I have to say though, that I don't share the hatred for Dispatch. Given what it needs to do and the state of compilers when it was designed, I can't imagine how it could have been any simpler. Yes, it has a lot of parameters to support everything necessary, but it is very straightforward and nothing is actually complicated. If you don't want to implement Dispatch yourself, read the documentation for CreateStdDispatch.

  • (cs) in reply to Robert
    Robert:
    In a similar vein (although perhaps better demonstrating the point), there's a story about the people who were asked to design a system for keeping a bike riders hands warm in the winter. Again, a plethora of "clever" ideas came forward - pumping warm water through the handlebars and the like...Eventually, someone came up with the novel idea of giving the bike rider a pair of gloves.
    Yeah, we've already heard that one around here: http://thedailywtf.com/Articles/The_Complicator_0x27_s_Gloves.aspx
  • bob (unregistered)

    You can laugh about foxpro, but you may not realize just how many 'large' companies are STILL using this over bloated abortion of a system. Many are legacy systems that have outlived their developers (a bit like C# is going to be in 10 years) In hong kong a foxpro developer can be 'had' for about $ 10,000HK a month so it is a really popular way of getting software written.

  • Nagesh (unregistered) in reply to Robert
    Robert:
    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    Typically, those in (1) are arrogant and think they are far cleverer than they really are. (...)

    Dunning and Kruger say otherwise.

  • Lord NotNorwegian (unregistered) in reply to Yazeran
    Yazeran:
    Anders:
    Chain him in the basement and only leave Lutefisk for him to eat!

    Ok now you are mean.... ;-)

    Yazeran

    Or "Norwegian Funny". It's hard to tell the difference.

  • Robert (unregistered) in reply to Nagesh
    Nagesh:
    Robert:
    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    Typically, those in (1) are arrogant and think they are far cleverer than they really are. (...)

    Dunning and Kruger say otherwise.

    Meh - lots of people say otherwise, but who you gonna believe, them or me?
  • Harrow (unregistered) in reply to PiisAWheeL
    PiisAWheeL:
    A. Non:
    PiisAWheeL:
    PedanticCurmudgeon:
    mott555:
    Iceman:
    The correct way to handle an API like this is to kidnap the author, lock him in your basement, and force him to eat Hot Pockets and listen to Rebecca Black while being beaten with a catfish, and then force him to write a new API that gives you a unified and consistent view.
    FTFY.
    But what if he likes Hot Pockets?

    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.

    No, you feed him Hot Pockets because death by starvation is too good for him.

    We aren't trying to starve him to death. We are trying to force him to re-write his api in an acceptible easy to use manner. Thats where the hot pockets come in. I think he will start getting really motivated on bowel movement 3 on day 2, and by day 7, he will probably have written the Unicorn of SDKs. It will be perfect. Logical, functional, bug free, and easy to interface with and expand. Hell you could probably just give the results of day 9 to the client and get paid.

    Then you have to figure out how to get this poor sod out of your basement without going to jail.

    Why? Just stop sending down Hot Pockets.

    -Harrow.

  • GEou (unregistered) in reply to Robert
    Robert:
    Nagesh:
    Robert:
    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    Typically, those in (1) are arrogant and think they are far cleverer than they really are. (...)

    Dunning and Kruger say otherwise.

    Meh - lots of people say otherwise, but who you gonna believe, them or me?
    Wow, you certainly make a powerfuil argument - you right, I'll believe you....
  • Earp (unregistered) in reply to Joffrey

    Sounds like you wouldn't have done well there.

  • Jeremy (unregistered) in reply to Mick
    Mick:
    Why would you use a Software Development Kit to read files? Or does SDK mean something different in the world of genealogy?

    Theoretically the role of the SDK would be to hide the details of the file format from your code, so that you don't have to reinvent that particular wheel, nor update/debug your code every time the file format changes or is extended. Instead you would just relink your code against the new version of the SDK.

    Of course that would assume the SDK code works correctly and is less work to use than just learning the file format and maintaining compatibility with it manually would be... it's not clear that's the case here. :^P

  • Neil Morrison (unregistered)

    Weinberg's Law again?

    (If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization).

  • The Axe (unregistered)

    This review of Family Tree Bulder using GenBridge (the GB in the article) might explain a bit more about the use of the "SDK".

    http://www.tamurajones.net/FamilyTreeBuilder5.1AddsDirectImport.xhtml

  • (cs) in reply to bob
    bob:
    You can laugh about foxpro, but you may not realize just how many 'large' companies are STILL using this over bloated abortion of a system. Many are legacy systems that have outlived their developers (a bit like C# is going to be in 10 years) In hong kong a foxpro developer can be 'had' for about $ 10,000HK a month so it is a really popular way of getting software written.
    Haha, good one! You almost had me, until I glanced at your name.
  • (cs)
    SIMPLEST_XD

    My reaction exactly.

  • (cs)

    The argument about philosophy is IMO a good one. "Dinosaur Bob" is one of the fathers of the Gentech Genealogy Data Model (google for "Gentech GDM", Akismet doesn't allow me to post links) which raises some very good points about the genealogy research process itself and how to best implement it in software.

    Anyone planning to develop a new genealogy program should read this document, rather than mindlessly go about implementing yet another "GEDCOM-compatible" piece of junk. It's really sad that genealogy programs still are built around a model that was said to be dead a very long time ago.

  • Grumpy Sysadmin (unregistered)

    This kind of software development fail is remarkably common in the Scientific software field, unfortunately. So much so that I looked at the WTF and said to myself "so what? I see worse daily".

    Most of the software is developed by people whose specialty is science first, writing papers second and developing code third. With the inevitable result. At some point, they discover that other people want to use the code too and realise they can make some money out of it (don't get me started on the licensing disaster that ensues).

    And then my life becomes a little bit worse, because I have to install it for one of our users.

    shudder

    Some of these packages we pay good money for.

  • (cs)

    A couple of weeks ago, I told a supplier (who's installing a rather expensive off-the-shelf product and doing all sorts of integration work around it) what I thought of the quality of the code of a Java program they provided to migrate some data.

    Their response was polite enough, but it was also the last e-mail about that program. Since they use it for their own stuff and I'm not directly involved, I don't care that much.

    Let's just say that all the work they did on the design and abstraction layers (really, it basically copies data from A to B) was offset by the quality of implementation.

  • Väyry Paavonen (unregistered)

    I have never actually seen a Hot Pocket but judging by what I know about American microwaveable victuals in general, feeding someone nothing but Hot Pockets would, indeed, starve them in a matter of months.

  • TheJonB (unregistered)

    Some of the commands worked like that (1 indicated reading the first record from the file, 0 meant read the next) Missing a few enum definitions perhaps?

  • L. (unregistered) in reply to Leif
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

  • L. (unregistered) in reply to Marnen Laibow-Koser
    Marnen Laibow-Koser:
    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.

    "Genealogy Software"

    I like the very idea that one would consider such a basic simple set of features a software category in itself . brilliant :)

  • (cs) in reply to TheJonB
    TheJonB:
    > Some of the commands worked like that (1 indicated reading the first record from the file, 0 meant read the next) Missing a few enum definitions perhaps?

    It's probably a consequence of how the FoxPro (DBase) tables are implemented as doubly linked lists, hence moving to the next record is simply done by reading its address pointer in the current record. The Perl DBD::XBase module does something very similar.

  • (cs) in reply to L.
    L.:
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

    I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.

  • L. (unregistered) in reply to Buddy
    Buddy:
    Robert:
    ...

    Here's a thought....

    There are 2 types of devs:

    1. competent ones
    2. not so competent ones

    Typically, those in (1) are arrogant and think they are far cleverer than they really are. They are the ones who believe the process holds them back from performing. The ones in (2) generally nod and smile and use phrases like "...can you remind me how to..." and are generally apathetic to change (provided it doesn't increase their workload). In some respects, the ones in group 2 are reasonably smart - they have created themselves a role where noone really knows what they do, yet they frequently point out that some stable system hasn't crashed for a while, proving that they are doing a good job (a deception propagated sufficiently to have at least most of the client believing they are a valuable member of the team). These people normally pull a reasonable salary (because they forever suggest that the system would somehow be less stable if they were to leave), and are usually capable of firing up Spider Solitaire (although "two suits" is advanced for them).

    As the people in group 1 (about a 1-5 ratio of 1s to 2s is the norm in most places, this blows out to about 1-15 or more in Govt departments) realise that the people in group 2 are useless yet attract a higher salary they become determined to prove their value and start proposing hair-brained updates and improvements. Sometimes, there is some merit to the suggestion, however too often in an attempt to revolutionise the world they lose sight of their objective and over-engineer a solution (which they are very proud of, and defend to the death). These are the people who use xargs a LOT for things like

    ls -1 | xargs grep -i 'temp'
    Their work is normally reasonable and functions, but tends to be overthought.

    Oh, and then there's people like me who are just friggin awesome!!!!

    1. Superstar developers

    These are the rare ones. Very productive, very few errors, KISS, they "just get it", real keepers.

    Quite unfortunately for businesses around the world and the human race as a whole, takes one to know one - and that's way beyond IT ..

    It's a bit like you can't ask someone with 100IQ to make the difference between someone w/ 130 and someone w/ 150 . although clearly the latter represents more than 100* more rarity.

  • L. (unregistered) in reply to Shinobu
    Shinobu:
    From the list of terse replies, I've heard all except the first, even from developers [names withheld to protect the guilty] who had enough sense to use to use a bug tracker. The basic problem is that due to the way human nature works, most developers instinctively treat a filed bug as a kind of attack. They start to behave like they're defending a palatial castle from a barbaric horde. As for the most sadistic SDK I've used, my votes go the the Windows API, especially if you intend to use it from C++. You have to include <windows.h> which will instantly pump the global namespace full with typedefs, functions and *shudder* preprocessor macros. It uses no namespaces at all and it's in most cases not workable to try to import only a part of it since the files <windows.h> includes all seem to be highly interdependent. I have to say though, that I don't share the hatred for Dispatch. Given what it needs to do and the state of compilers when it was designed, I can't imagine how it could have been any simpler. Yes, it has a lot of parameters to support everything necessary, but it is very straightforward and nothing is actually complicated. If you don't want to implement Dispatch yourself, read the documentation for CreateStdDispatch.

    When I receive a bug report, I laugh maniacally, fix it quickly and tell people it's fixed.

    Those who cannot accept failure are always hindered in their progression. more failure, less progression, and on they go.

  • L. (unregistered) in reply to Leif
    Leif:
    L.:
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

    I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.

    I seriously doubt anyone who can stand FoxPro /Dbase and the likes has the processing power to design decent data models - the fact that one is able to accept a clearly subpar retarded solution also means they are unlikely to produce anything less retarded.

    It's just like when someone tells me they're a MySQL DBA. First I laugh, then I laugh some more and then I tell them no real DBA would use MySQL and point them in the right direction.

    If you can't see the difference between bad good and better, there's no way you're going to design anything "better" -

  • L. (unregistered) in reply to Leif
    Leif:
    L.:
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

    I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.

    In short, anyone who can stand using FoxPro and DBase is incapable of doing anything remotely brilliant from a logical standpoint.

    A datamodel is something that can be profoundly refined and inherently beautiful in it's logic.

    No way someone who doesn't puke using FoxPro can be sensible enough to this beauty to create something actually beautiful.

  • (cs) in reply to PiisAWheeL
    PiisAWheeL:
    A. Non:
    PiisAWheeL:
    PedanticCurmudgeon:
    mott555:
    Iceman:
    The correct way to handle an API like this is to kidnap the author, lock him in your basement, and force him to eat Hot Pockets and listen to Rebecca Black while being beaten with a catfish, and then force him to write a new API that gives you a unified and consistent view.
    FTFY.
    But what if he likes Hot Pockets?

    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.

    No, you feed him Hot Pockets because death by starvation is too good for him.

    We aren't trying to starve him to death. We are trying to force him to re-write his api in an acceptible easy to use manner. Thats where the hot pockets come in. I think he will start getting really motivated on bowel movement 3 on day 2, and by day 7, he will probably have written the Unicorn of SDKs. It will be perfect. Logical, functional, bug free, and easy to interface with and expand. Hell you could probably just give the results of day 9 to the client and get paid.

    All this assumes that a week of listening to Rebecca Black won't turn his brains into mush.

  • (cs) in reply to L.
    L.:
    Leif:
    L.:
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

    I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.

    I seriously doubt anyone who can stand FoxPro /Dbase and the likes has the processing power to design decent data models - the fact that one is able to accept a clearly subpar retarded solution also means they are unlikely to produce anything less retarded.

    It's just like when someone tells me they're a MySQL DBA. First I laugh, then I laugh some more and then I tell them no real DBA would use MySQL and point them in the right direction.

    If you can't see the difference between bad good and better, there's no way you're going to design anything "better" -

    Back in the early 1990s, when a state of the art PC was a 20 MHz 80386 with maybe 4 MB RAM, FoxPro was considered a decent platform for database applications. The original TMG (up to version 2.1 I think) wasn't even a Windows application, it ran on MS-DOS.

    No sane person would ever develop a new FoxPro application today. But 20 years ago it made kind of sense.

  • Chris (unregistered)

    While TMG (The Master Genealogist) is a very powerful genealogical application it is definitely a dinosaur. Version 8 has been announced and based on the beta that I used is still written in FoxPro. I've been offering my assistance in moving the application off FoxPro for close to 10 years now but haven't had any response from Dinosaur Bob.

    Now I know why.

  • (cs) in reply to Väyry Paavonen
    Väyry Paavonen:
    I have never actually seen a Hot Pocket but judging by what I know about American microwaveable victuals in general, feeding someone nothing but Hot Pockets would, indeed, starve them in a matter of months.
    Dude, I totally agree, mostly based on the amount of waifish Americans I see flitting about.
  • L. (unregistered) in reply to Leif
    Leif:
    L.:
    Leif:
    L.:
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

    I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.

    I seriously doubt anyone who can stand FoxPro /Dbase and the likes has the processing power to design decent data models - the fact that one is able to accept a clearly subpar retarded solution also means they are unlikely to produce anything less retarded.

    It's just like when someone tells me they're a MySQL DBA. First I laugh, then I laugh some more and then I tell them no real DBA would use MySQL and point them in the right direction.

    If you can't see the difference between bad good and better, there's no way you're going to design anything "better" -

    Back in the early 1990s, when a state of the art PC was a 20 MHz 80386 with maybe 4 MB RAM, FoxPro was considered a decent platform for database applications. The original TMG (up to version 2.1 I think) wasn't even a Windows application, it ran on MS-DOS.

    No sane person would ever develop a new FoxPro application today. But 20 years ago it made kind of sense.

    Riiight . Like C didn't exist . or neither did SQL . or anything for that matter ....

  • (cs) in reply to L.
    L.:
    Leif:
    L.:
    Leif:
    L.:
    Leif:
    codemonkey73:
    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.

    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

    FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p

    I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.

    I seriously doubt anyone who can stand FoxPro /Dbase and the likes has the processing power to design decent data models - the fact that one is able to accept a clearly subpar retarded solution also means they are unlikely to produce anything less retarded.

    It's just like when someone tells me they're a MySQL DBA. First I laugh, then I laugh some more and then I tell them no real DBA would use MySQL and point them in the right direction.

    If you can't see the difference between bad good and better, there's no way you're going to design anything "better" -

    Back in the early 1990s, when a state of the art PC was a 20 MHz 80386 with maybe 4 MB RAM, FoxPro was considered a decent platform for database applications. The original TMG (up to version 2.1 I think) wasn't even a Windows application, it ran on MS-DOS.

    No sane person would ever develop a new FoxPro application today. But 20 years ago it made kind of sense.

    Riiight . Like C didn't exist . or neither did SQL . or anything for that matter ....

    Right. SQL at that time meant Oracle or DB/2, neither of which had a remote chance of running on a humble 80386, not to mention the licence fees.

    In any case, TMG was, AFAIK, the first commercial genealogy application to utilize junction tables. That enabled its extremely flexible persons <-> events <-> sources model. That, as well as generous memo fields attached to nearly everything, made it an application that really stood out from the competition in the Nineties.

    Even if those days are long gone, TMG obviously still has a fairly large following of devoted users. It's sad that it seems to go the way of the dinosaurs because of an owner/developer who doesn't hear the bells tolling.

  • Not Bob (unregistered) in reply to codemonkey73

    The GEDCOM standard is so outdated that no program can implement only GEDCOM and supprt the features that users want and that genealogists need.

    It's roughly the equivalent of using only static HTML 4 for a website. Everyone can understand it, but everyone wants more.

    There's something of a turf war going on right now with several different groups actively trying to define the next GEDCOM replacement.

Leave a comment on “S(adistic)DK”

Log In or post as a guest

Replying to comment #:

« Return to Article