- 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
Chain him in the basement and only leave Lutefisk for him to eat!
Admin
Ok now you are mean.... ;-)
Yazeran
Admin
There are 2 types of devs:
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
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"
Admin
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?
Admin
Admin
These are the rare ones. Very productive, very few errors, KISS, they "just get it", real keepers.
Admin
FTFY
Admin
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.
Admin
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.
Admin
Admin
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.
Admin
Who hasn't done a thing like this.
Admin
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.
Admin
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)"
Admin
Directive 666: SDKs are inflexible, contribute to project delays and lack flexibility. They have been deleted, and must not be reinstalled.
Admin
Admin
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.
Admin
Admin
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.
Admin
Admin
Or "Norwegian Funny". It's hard to tell the difference.
Admin
Admin
-Harrow.
Admin
Admin
Sounds like you wouldn't have done well there.
Admin
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
Admin
Weinberg's Law again?
(If builders built buildings the way programmers wrote programs, then the first woodpecker that came along would destroy civilization).
Admin
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
Admin
Admin
My reaction exactly.
Admin
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.
Admin
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.
Admin
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.
Admin
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.
Admin
Admin
FoxPro, No SQL and very good datamodel .. all in one sentence ! congrats :p
Admin
"Genealogy Software"
I like the very idea that one would consider such a basic simple set of features a software category in itself . brilliant :)
Admin
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.
Admin
I was of course referring to the logical data model, not its physical implementation in a shitty FoxPro database.
Admin
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.
Admin
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.
Admin
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" -
Admin
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.
Admin
Admin
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.
Admin
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.
Admin
Admin
Riiight . Like C didn't exist . or neither did SQL . or anything for that matter ....
Admin
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.
Admin
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.