There’s a name for that: DEVELOPMESTUCTION
There’s a name for that: DEVELOPMESTUCTION
I learned it while at the same time learning (or really enhancing my previous knowledge of) javascript, thanks to an insane mostly-Finnish app development platform known as Qt Creator, which for no rational reason uses C++ for the under-hood-stuff and javascript for the UI front end. Just an absolutely horrible mismatch of mental states. For bonus points, the company that I worked for that used this monstrosity for its suite of apps got purchased by a huge west coast company and the apps were shut down and everybody was fired, after two years of my working on this shit.
Save a slap for the dude who invented slaps!
c-suite
CEO, CTO, CFO etc. In a '90s Internet startup like the company I worked for, the “C” really stood for “clueless”.
giant printouts of insanely over-normalized databases
Over-normalization is a database thing - a simple example of normalization would be a “People” table where instead of having the “Salutation” field just contain text like Mr, Mrs. etc., you have a separate “Salutations” table with all the possibilities listed and keyed with an ID (usually just a sequential number), and then the “People” table stores a Salutation ID for each entry instead of the actual text. It’s a valid and standard thing to do with database design, but it can be taken to extremes where absolutely every possible trivial thing that can be normalized is, producing an overcomplicated mess that is extremely difficult to work with programmatically.
Printing out this over-normalized mess of a database on multiple sheets of paper which are then taped to the wall is utterly useless.
How is a database a trick?
The printout is the trick - it fools the bosses into thinking you’re doing something amazing and productive when you’re really just fucking around. It only works on the technically incompetent, of which there was no shortage in '90s Internet startups (or today).
Yeah, BeOS was awesome. I remember a coworker showing it to me in 1996 - he also taught me how to wow the c-suite with giant printouts of insanely over-normalized databases, a parlor trick that has served me well over the years.
As I recall, Gasse was offered something like $440 million for BeOS by Apple and he turned them down. Not sure it would have made any difference in anything by this point, but at least Objective-C wouldn’t have been littered with classes with the “NS” prefix.
Is BeOS still floating around?
They have the close, minimize and full screen buttons in the upper left corner instead of the upper right.
/s just in case.
They get taken over by sales & marketing types
Like Steve Jobs lol.
Many places I worked the recent college grads were paid as much as (or more than) the senior developers, so this strategy didn’t work. They still did it, though.
Years ago I got a copy of MSDN which had apparently been put together by developers who all had giant monitors. On a normal laptop screen none of the text wrapped properly so every article had a horizontal scrollbar which you had to work left and right to read every fucking line. I eventually had to start copying the contents into a Notepad instance just to be able to read the damn things normally.
This is why I think developers should always have to work on 10-year-old laptops with 800x600 screens.
I don’t understand why they don’t just put “My” on it: MyMail, MyOutlook etc.
I solved this dilemma by quitting and becoming a school bus driver. Now I only have to worry about middle-schoolers threatening to shoot me.
Makes sense. Human beings don’t actually need proteins or fats.
Took me too long to understand this, you unt.
I remember once writing a classic ASP application that used a Visual Basic DLL on the back end to generate HTML that included Javascript code that saved what the user had entered as another Javascript function that was saved in an Access database BLOB field and re-included in the HTML by the VB DLL every time the user reloaded the page. That pigeoncopter looks pretty sensible by comparison.
Well, I have a rule now which is “never test your shit on Little Leaguers” and nobody I’ve worked with has any idea what that means.
It happened because the programmer changed the API from a call that accepted integer values between 0 and 32767 (minimum and maximum wheel speeds) to one that accepted float values between 0.0 and 1.0. A very reasonable change to make, but he quick-fixed all the compiler errors that this produced by casting the passed integer parameters all through his code to float and then clamping the values between 0.0 and 1.0. The result was that formerly low-speed parameters (like 5000 and 6000, for example, which should have produced something like a 20 mph ball with topspin) were instead cast and clamped to 1.0 - maximum speed on both throwing wheels and the aforesaid 125 mph knuckleball. He rewrote his tests to check that passed params were indeed between 0.0 and 1.0, which was pointless since all input was clamped to that range anyway. And there was no way to really test for a “dangerous” throw anyway since the machine was required to be capable of this sort of thing if that’s what the coach using it wanted.
The only projects I’ve ever found interesting in my career was the stuff where nobody had any idea yet how the problem was going to be handled, and you’re right that starting with tests is not even possible in this scenario (prototyping is what’s really important). Whenever I’ve written yet another text/email/calling/video Skype clone for yet another cable company, it’s possible to start with tests because you already know everything that’s going into it.
One thing I always liked about the various flavors of BASIC was that nobody ever pushed that shit as a religion.