coupling the code to svn is indeed very creative :D
@FaZekiller-qe3uf Жыл бұрын
How long did it take you to type that?
@dolorsitametblue Жыл бұрын
Tom was just securing his position. They can't fire or replace him, because almost no one else can understand and maintain his convoluted infrastructure. Tom is a genius.
@sacredgeometry Жыл бұрын
Toms a moron, you could have replaced him and his system in a couple of sprints (if that).
@HarshitSinha1102 Жыл бұрын
Even GPT 13.5 can't replace Tom. Tom is a genius
@houstonbova3136 Жыл бұрын
Sounds like if they want to grow to a level that need more developers they’ll have to fire him though xD If I was the execs I might see this happen 1-2x before realizing I have to let Tom go because his system is too impractical.
@ErazerPT Жыл бұрын
Sad part is that business won't let it go as long as they can string along enough idi... customers to justify the expense of running and maintaining a sh*t system. Smart route would obviously be "ok, system is sh*t, this guy seems smart, let's 'fire' him to make Tom happy and keep him on the side away from everyone while he reworks this crap into something that resembles something decent". But, as we all know, until the $$$ dries up, nothing will be done, and when the $$$ dries up, it's too late.
@Innengelaender Жыл бұрын
His sanity was a small price to pay for that job security.
@botondhetyey159 Жыл бұрын
Tom's definitely a genius, I could be given a full year, and I wouldn't come up with a funnier production system.
@BusinessWolf1 Жыл бұрын
you know, I fucking bet, somewhere deep down in JDSL, there is one specific comment syntax and string combination that will compile to a normal comment and it's something along the lines of "/* Fuck You */". Or maybe the binary version of the ASCII table index of those letters.
@nerfzinet4 ай бұрын
So much of a genius that he didn't even think to inform the new kid about the pitfalls of his system before giving the new kid access to everything... Of course in a system this stupid it would probably take half a year just to enumerate all the possible pitfalls.
@ayushchaudhari5655 Жыл бұрын
This is what I found in the comments section of the article: --- An analogy to the enormity of what Jake did: “You polluted the water supply!” Tom screamed. “I’m reporting you to the bosses and having you fired!” “I don’t think I did anything,” Jake answered. “I’ve only been to the bathroom once ...” "You excreted into the toilet! You can't excrete into the toilet! I plumbed it into the water supply!" ---
@fromant652 ай бұрын
LMAO
@xFlRSTx2 ай бұрын
jakes hubris made all the more clear
@yannick5099 Жыл бұрын
Clearly Tom needs to modernize his JDSL by switching to YAML and Git.
@unstable-horse Жыл бұрын
YAML? Who uses YAML these days. TOML is the new tech, TOML is the future. It's jeeneous.
@whig01 Жыл бұрын
@@unstable-horse Tom should definitely be using TOML.
@SimonBuchanNz Жыл бұрын
@@unstable-horse I hate TOML. I hate it so much. It's like someone thought up every mistake you could make and built the format around it. All the problems of JSON and INI combined, then add the problems from combining them. It makes me so angry every time I have to use editor support to expand a Rust dependency so I can add a feature, or mark it optional, etc., because it's a nightmare to do manually. And of course there's no way to provide a flat string array, so those long features lists are garbage JSON, mixed in with totally different rules. I hate it so much. Yaml is too complicated, but you can just define a subset, like everyone else. Or make your own, you're Rust! It's not hard!
@yannick5099 Жыл бұрын
@@SimonBuchanNz For Rust there is RON, it even supports comments so Tom can interpret that as well.
@SimonBuchanNz Жыл бұрын
@@yannick5099 let me know when I can replace my cargo.toml
@Bulkje Жыл бұрын
Tom is a -100x engineer
@ImperiumLibertas Жыл бұрын
Worked with so many of these types. They think their convoluted solutions to simple problems are the only way. They build these huge systems from scratch and since they're the only ones who can "understand" what's going on the documentation inevitably goes stale and major bugs become common. Since they're the only ones knowledgeable enough about the system to fix it the company is left with no choice but to wait for that single individual to patch the code while everyone else waits around wasting company dollars. Anyone who calls that guy a genius is either an idiot or too new to software engineering to know better.
@bayrock1337 Жыл бұрын
@@ImperiumLibertas job security
@alexandreg.1000 Жыл бұрын
Tom is not a engineer :)
@BusinessWolf1 Жыл бұрын
@@alexandreg.1000 no, tom is a genius
@JorgetePanete Жыл бұрын
100ix engineer
@rasnauf Жыл бұрын
The sad part about writing high-quality code, easily modifiable by any developer, is that your company sees you as expendable. Maybe Tom has the right idea.
@Luredreier Жыл бұрын
Yep, he's a genius alright...
@darekmistrz43645 ай бұрын
Oh this is so true. I have seen our clients fire us to be replaced by cheap developers from other side of the world because all the changes were going so smoothly and there were basically no bugs and code was readable even to him when he never did any CS classes. Guess who showed up with shitshow of a system a year later. We said that we can either revert whole code to the last commit we worked on, or he can try finding someone else. He went to find someone else and we didn't hear of him again.
@multivariateperspective51372 ай бұрын
Talk to the managers and MBAs
@PradyumnVij27 күн бұрын
Lol actually just happened to me this year.
@sadramohh Жыл бұрын
"Svn checkouts on function calls" Such an atrocity hidden behind such few words...
@denissorn Жыл бұрын
This is one of the big problems in the industry. You don't have to be 'good' to become a boss, CTO, whatever. You just need to convince someone in charge, who's completely clueless, that you're an expert. Or you just have to build a system which is an unmaintainable clusterfuck, but get's the job done. Short sighted greed takes care of the rest.
@TheNewton Жыл бұрын
Missing ingredient it still needs produce some sort of workable result.
@La0bouchere Жыл бұрын
That only works if the people you work for are already dumb though. eg it only happens post bozo explosion
@denissorn Жыл бұрын
@@TheNewton depends on a position, but that's what I meant with unmaintainable clusterfuck that gets the job done
@MrDgf97 Жыл бұрын
It’s all about branding. You can be the most competent and intelligent person in your field, but if others perceive you as incompetent for whatever reason, then that’s what you are.
@JorgetePanete Жыл бұрын
gets*
@patricknelson Жыл бұрын
This entire time, I was just wondering: What problem were they solving with this JDSL? But yeah, I eventually just concluded that Tom was just angling for job security.
@hfspace Жыл бұрын
the problem that tom might wanted to solve is that svn just sucks for productivity. Like this they don't have to merge and can develop new functionalities quite fast, i assume, but at a trade off that is really not worth it
@baetz2 Жыл бұрын
@@hfspace They probably also have very fickle clients who want to switch back and forth to different revisions of the same functions and quickly hot plug-unplug them by simply modifying json
@opposite342 Жыл бұрын
@@baetz2this makes a bunch of sense actually
@winnie8614 Жыл бұрын
at least with GIT it wouldn't be so damn slow)
@romannasuti25 Жыл бұрын
@@opposite342It’s this idea that kinda spurred on the creation of the Unison language, which does something similar but with superior language features, stability, site reliability, and probably performance by doing some absolute black magic f**kery with a dialect of Haskell. It turns the entire CI/CD pipeline into a few seconds of Haskell compilation with syntax-aware versioning, intelligent collision management, and language-agnostic source control (seriously, they plan to make multiple different syntaxes that can be reversed). Pretty sure the only reason it hasn’t gotten much of anywhere is it’s insanely complicated, esoteric feature set and currently lackluster performance (normal Haskell is many times faster, it’s more like JS in performance).
@TheNewton Жыл бұрын
Tom is a 500iq move game-of-thrones genious, he purposefully set a trap with comments being able to delete production. So inevitably when HR hired some person he didn't approve of all he had to do was say nothing of the comments during the new person training window. Then he could step in and clean house , re-establishing his dominance for his genius understanding of the system in identifying the problem as something someone else caused.
@lightninginmyhands4878 Жыл бұрын
The sheer malice in doing this overwhelms the sane mind
@morganjonasson2947 Жыл бұрын
I am jusr completely shocked that the company just fired jake instead of suing tom for millions of dollars. Can you imagine building a programming language that does not support comments? That is like, the absolutely easiest syntax support to implement. Then a noob comes in, and do a change in the code that should work but didnt because the system didnt work properly. If i were the boss, i would fire tom immediately, and tell jake that he can come back when they have a better system in place. However, in this case i have to say the company didnt have any choice. They were too deep into the whole and even though they know that tom made a shitty system they never should have bought into, they couldnt have any person involved who didnt understand the (shitty) system. So fine, i call him a genius, but the thing that saved him was that the company was stupid.
@isodoubIet Жыл бұрын
@@morganjonasson2947 I mean it is based on JSON
@weeb3277 Жыл бұрын
I'm sure Tom had a back db somewhere. once they fired the newb, I'm certain Tom was like "Oh hey look it just so happens I have an entire db dump that I created earlier this morning while doing some work"
@sourcerror11 ай бұрын
I mean, JSON doesn't support comments, so of course it breaks things. It would have broken things even without the whole SVN shenanigans.
@NdxtremePro Жыл бұрын
So Tom turn SVN into a database of functions? No, wait, I just figured out it is worse. He literally made SVN into a library file format.
@LtdJorge Жыл бұрын
He turned SVN into a database of stored procedures, that execute from a metadata file.
@TheNewton Жыл бұрын
And made JSON into an AST config file format
@karmatraining Жыл бұрын
He turned SVN into an unfathomable Eldritch portal
@hfspace Жыл бұрын
the analyses here are just gold :D
@user3141510 ай бұрын
Tom is a genius
@0bzen2211 ай бұрын
This is straight from Office Space : Genius Programmer edition. 1) Tom designs an arcane system he only can fully understand and maintain. 2) His co-worker's, once having enough experience and avoided all the traps, are now initiated, and can negotiate good job security with management 3) Said Senior Programmer Initiates praise Gigabrain Tom to everyone, especially upper management, and tell them how lucky they are to have Tom as Invaluable Lead Architect. 4) Meanwhile, Senior Programmer Initiates can spend two day writing and commiting a small procedure, and then 're-compiling' everything, while playing Solitaire. 5) when a newbie gets so confused he wrecks the system by writing comment or entering the wrong revision number, Tom can threaten to quit, and further consolidate his position as The Invaluable Lead Architect. 6) Only newbies who understand Tom's Genius (or depravity, but who's judging) can remain and work their way towards Senior Programmer Initiate. Tom is indeed a genius.
@ea_naseer Жыл бұрын
When you failed compiler class in uni so you created JDSL to prove you earned that A. Edit: Tom definitely failed compiler class.He also failed Database class. It's crazy to think that I might be interacting with an app built in this hell.
@ouss Жыл бұрын
Its tesla
@JeremyStreich Жыл бұрын
Right! When json is your database and your code is in SVN... not "checked in to SVN" nor "uses SVN" mor "uses CI/CD with SVN" but actually in JS checked out of SVN in realtime.... You done something terribly wrong. Or super duper right, and we non-genus people just "don't get it."
@vaibhavsingh81229 ай бұрын
@@JeremyStreich He was aiming for code security cause no one can break the security if they don't understand it
@samvdheisteeg2 ай бұрын
@@vaibhavsingh8122 Except that caused a cloudstrike
@ergis8004 Жыл бұрын
Tom is the guy who gives free downvotes on SO in his free time
@zirize Жыл бұрын
I feel a sense of dread after watching this video. I think I'll have a nightmare about Tom chasing me with VP tonight. And I'll wake up in a cold sweat.
@ThePrimeTimeagen Жыл бұрын
A real m night shyamalan ending hopefully
@everythinggoes850 Жыл бұрын
Tom is a 20X engineer
@Requiem100500 Жыл бұрын
Tom is √(−1)X engineer
@filiformis Жыл бұрын
@@Requiem100500 He works at Disney?
@tricky2014 Жыл бұрын
20x job security.
@karmatraining Жыл бұрын
More like -20x
@apollolux Жыл бұрын
If by 20x engineer you mean Tom's code probably took 20x the time to execute, then yea. XD
@cat-.- Жыл бұрын
The first thing that came to my mind when I first laid eyes on "JDSL" is an entire abstract syntax tree encoded in a json file. I didn't realize the reality is much worse. Tom is such a genious
@romannasuti25 Жыл бұрын
People think this is insanity, but it’s conceptually very similar to lisp. I remember a person explaining Clojurescript to JS devs by going from JS, explaining a safe, serializable way to send JS code as function calls stored in JSON and improving the idea until it was literally just Clojurescript.
@PeterVerhas Жыл бұрын
I did that as fun with xml. Hope nobody will use it. If anyone does, they deserve it.
@TheNewton Жыл бұрын
<a href="#" class="seekto" data-time="513">8:33</a> SVN revision links is like the twist reveal in a horror movie for programmers. They even foreshadow SVN in the opening. And that's just the 2nd act before the 3rd acts deeper reveal about comments being executed.
@klaudyw3 Жыл бұрын
Tom was most definitely high on so many different things while having a fever dream.
@karmatraining Жыл бұрын
I disagree. Tom is what happens when an engineer with a massive ego, bad social skills and zero desire to learn best practice is given completely free rein over a project's management for years on end.
@yuliusseraph4973 Жыл бұрын
@@karmatrainingalternative interpretation: Tom is a simple man who wants job security and more time to be lazy. Tom is a genius
@adammiller90298 ай бұрын
@@yuliusseraph4973 Nah, i've dealt with an engineer like Tom before. My 'Tom', I gave him a form and that had a tab i labeled "Do Not Edit". He edited the section I said not edit, and it broke everything. My manager told me to help Tom understand this. I flatly said, "I cannot help an engineer understand that they should not edit something I told them not edit, that labeled, do not edit. You can tell him or you can fire him, but I'm not teaching him to read." My 'Tom' consistently refused help from any one who wanted to collaborate with him or who wanted share documentation with him. If there was existing documentation for how to do something, you could be sure 'Tom' was re-writing that documentation and was refusing to include input from the existing SME. Whenever Tom did requirements gathering, you would give him very specific, almost psuedo code levels of requirements, and he would inevitably not understand. Tom would always demand global admin/root access to everything without reading documentation only to break things. When Tom didn't get what he wanted he would throw temper tantrum even though he never bothered even ASKING anyone for it or creating a ticket for it, but he sure would throw a temper tantrum. The Tom's of the world have yacht sized egos, refuse help, do everything on their own and refuse to talk to any one. The close themselves off from every other engineer and demand constant praise. As a result the only people who are willing to work at such company are the people who submit to Tom's ego and call Tom genius, otherwise Tom cries. Tom is a man baby engineer who causes worthwhile enigneers to flee from a company because management refuses to wrangle his planetary ego and insulting stupid deployments.
@patrikfagard6525 Жыл бұрын
json doesn't support comments, so I am surprised the parser didn't through any errors... unless... did Tom write his own json parser? Tom is a genius.
@ThePrimeTimeagen Жыл бұрын
The comments were in the JavaScript code. The JavaScript code somehow executed comments
@patrikfagard6525 Жыл бұрын
@@ThePrimeTimeagen Aah, that makes more sense. He must have implemented something like: /* load js file and feed it into eval() line by line */
@anlumo1 Жыл бұрын
@@patrikfagard6525 Yes, I didn't think that far ahead. There were only two options: either Tom implemented his own JS parser (very unlikely, given his level of expertise), or what you wrote. Thanks to you, I won't be able to sleep at night.
@franciscopena7859 Жыл бұрын
Regex for sql comments. Parse. Execute
@franciscopena7859 Жыл бұрын
Anything is possible at that point
@sunderkeenin Жыл бұрын
This is way too oddly specific to not be real. It reminds me of when I had to submit a premier to Microsoft and found out that they were contradicting themselves internally and publicly on Sharepoint search behavior and that some fuzzy search behaviors related to dashes couldn't be escaped and other things which are only real because someone has experienced them. Tom is truly a beacon of hope in this world, genius unparalleled. He is an inspiration which proves that even someone's cat can architect "enterprise grade" software if you keep the keyboard properly heated for maximum comfort.
@leandroteles7857Ай бұрын
Being "too oddly specific" is not a guarantee that it's real. Movies, books, and other fictional stories are all very specific and full of details. Writers have the talent to imagine and create such convoluted stories, and if a programmer also has the talent of a writer, they could create such a story. Or maybe this is just me being incredulous, trying to come up with a reason just to convince myself, that this absurdity can't possibly be real.
@JustByteMe Жыл бұрын
I once worked at a company that had a home built PHP framework with zero documentation, adding a simple button could even require adding a whole method 😂
@kristun216 Жыл бұрын
Inventing your own wheels is the best job safety move in 2023 😂
@JustByteMe Жыл бұрын
@@kristun216 😂😂 facts, no one can replace you
@T1Oracle Жыл бұрын
I invented a framework at a job. They wouldn't let me open source it. I taught 12 people how to use it and I documented it. Eventually I had to leave because they didn't need me anymore. But mostly because that part of the app didn't need work anymore.
@JustByteMe Жыл бұрын
@@T1Oracle Holy moly, I'm pretty sure all that was in their minds was "competitive advantage"
@T1Oracle Жыл бұрын
@@JustByteMe Yeah, well now its obsolete because I doubt anyone there was talented enough to keep up with all the competing frameworks. Not open sourcing it, pretty much guaranteed that fate though. Oh well, it was good while it lasted and I'll never forget what I learned.
@dandogamer Жыл бұрын
Tom is a ducking genius 😂 he even managed to convince his teammates that it's a brilliant idea as well 😂😂😭
@mateoruiz1311 Жыл бұрын
His teammates love him because they have the perfect excuse to lie around and not do anything LMAO
@weatherwaxusefullhints2939 Жыл бұрын
I'm only starting out as an intern, but I already know that I will never be able to hold the water to Tom #genious
@ThePrimeTimeagen Жыл бұрын
Geneous unparalleled
@canyonblue7735 Жыл бұрын
@@ThePrimeTimeagen This was a Never Ending Story.... FAAAALLLLCOOOOOOOOOOOORRRR!!!!!!!!
@Jabberwockybird10 ай бұрын
Gene yus
@nulltan Жыл бұрын
This is the most "WHY WOULD YOU DO THAT?!?" story i have ever heard.
@stubb1qaz Жыл бұрын
I have inherited legacy code written by one person over 6 years. It was written in C, he wrote his own operating system in his own programming language: all memory management was custom, everything was a void pointer, keeping track of types was programmer responsibility. If I was given this code base as a fresh out or intern, I would quit Software Engineering. Having 10 years of experience, I was able to put it where it belongs: trash.
@sandersonstabo11 ай бұрын
what the hell did you meet the second coming of terry davis
@AnnaGottin Жыл бұрын
Speaking of evils of humanity, in college I made a database that made a set of tables for each user using prepare, execute and deallocate. Not only I didn't understood NoSQL, I also sucked at normalizing data, the expression of my teacher when I show her my genius made everything worth. She was so confused I passed.
@Samstercraft77 Жыл бұрын
now that is what we call a pro gamer move
@hemmper Жыл бұрын
If your data is precious, surely each row deserves it's own table😊
@AnnaGottin Жыл бұрын
@@hemmperofc
@sahiljindal Жыл бұрын
Tom is a f**king genius. He convinced so many people who were on so many levels, that his solution is better than anything else, and got so much "creative control" over the project, that is beyond my comprehension. 😂😂
@chrisdaman4179 Жыл бұрын
I got scared of terrible computer science, went to mechanical, then ended up teaching before returning to cs. It is amazing how much college helped me in the field, but also tried it's damnest to keep me out.
@Innengelaender Жыл бұрын
My programming teacher had to make sense of a very obtuse php-sql-monstrosity, after the original creator, quit to escape that nightmare. The original creator was the sys-admin (who didn't know much about coding) who only tried to make his life a little easier and didn't intend for anyone to see it ever but it got out and adopted company-wide. My teacher didn't dare to touch some SQL-snippets that had syntax-errors that could never have worked. Because the app as a whole was still more or less doing its job and he didn't know what would happen down the line if that broken code suddenly started working.
@NotNotAsian4 ай бұрын
I've been told programming horror stories about stuff like that. Apparently "best practice" is to add assert(false) before the broken code to secure it after logging the event of course.
@davew2040x10 ай бұрын
“Just ask if you have any questions” is often just a way of saying “we have this really complex codebase and we haven’t really thought about how to introduce people to it so good luck”. It’s up there with “just play around with it”.
@DevRel1 Жыл бұрын
This has inspired me to stop all work and write a DSL at my job tomorrow to ensure job security as well to immortalize myself through code like the genius virtuoso I have always known was deep inside me. I'm calling it ABSML and it will utilize JSON of course, and execute functions at runtime, not using arrays, but instead, an array of dictionaries deep linking into an array of mobile apps to run code that is distributed on other people's devices. I've also changed my name after further idea jisms I've been jisming ideas for about 17 hours. I'm coming down off my Adderall high now, I'll check the code in next week when it's done compiling.
@MrKogarou Жыл бұрын
🤣😂🤣😂🤣
@tangiblewaves3581 Жыл бұрын
ABSML! 😂😂🤣🤣😂👌👌
@minastaros Жыл бұрын
use the blockchain to store your code. Way safer.
@guyincognito1406Ай бұрын
Another genius is born.
@sacredgeometry Жыл бұрын
Holy shit. If that happened to me I would have made it very clear that Tom was a moron for trying to use SVN as a call stack! I would have advised them that they were haemorrhaging money through this needless and stupid system which had no reason to exist and that if they didnt believe me they should hire an independent team to audit the solution because I guarantee they will agree.
@8koi245 Жыл бұрын
yeah!! bye bye toxic worker and embrace performance!
@sacredgeometry Жыл бұрын
@@nisonatic It wouldn't be the first time I or colleagues have had to fight for similar cases with businesses. Yes there is minimal capital if I have been there for 2 weeks but its also enough of a cluster fuck that any business minded person (even if they are not technically minded) would be curious to listen to. They have created an unnecessary system that eats days of dev effort. I would be saving them potentially millions annually. God knows what their other systems are like if thats anything to go on. Thats enough of an attention grabber and its not like I cant prove that its doing that. I can show them that the suggested tactic for dealing with the 2 day build times was to twiddle my thumbs. "But Tom knows this, so he's going to threaten to quit, and the other devs will back him! Imagine what a cush job they have: they literally get to paid to mostly wait around doing nothing." And that is exactly why they should all be fired. Its not much of a threat. It is not like the system they built is particularly complex that was made clear, it has been complicated. It would probably be less effort to completely rewrite it even in the short term than it is to maintain it. My advice btw would be to get the audit regardless of if they fire me (especially if they did). If they ignored that advice then they deserve everything they get.
@sacredgeometry Жыл бұрын
@@nisonatic Thank you and oh, I am fully aware of that. I have seen so much of the integrity drain out of this industry in the last decade. Some companies are practically entirely staffed by people who have no idea what they are doing and no motivation to learn to do it properly. The ratio of actual engineers/ developers to career opportunists is far too high, as can be seen by the layoffs in the large tech companies. Its stifling our industry
@TheNewton Жыл бұрын
The entire situation is because the new guy was inexperienced. So by default you would not be able to explain or communicate the problem. Especially to non-technical people in a culture built on familiarity where 1 guy's got an entire business thinking he's a genius. Even the idea that production shouldn't be delete-able by 1 person is foreign concept to newbies because of how bad compsi/soft-dev educaiton is fundamentally flawed. Even amazon has gotten that wrong.
@sacredgeometry Жыл бұрын
@@TheNewton It sounded like he had enough of an understanding to know how fucked up it was.
@adamm450 Жыл бұрын
there is a thin line between being genius and insane, Im happy for Tom to have landed on the right side.
@hfspace Жыл бұрын
Yeah, good stories are needed :-)
@H4KnSL4K Жыл бұрын
So it is like each function and each version of each function is published separately, so the JDSL is like an opaque list of all the package dependencies for each class at a specific version. Sounds like a maintenance nightmare
@sirhenrystalwart8303 Жыл бұрын
This made me feel much better about the code base I work on. Nothing like seeing how bad it could be to make you appreciate what you have.
@Pariatech Жыл бұрын
Poor Jake to have joined such a wtf company
@Eshelion5 ай бұрын
But what a story to tell he now has!
@anlumo1 Жыл бұрын
I'm usually the programmer who's known for weird solutions. For example, one of my projects uses git as the database backend via libgit2 (don't do that!). But this one is so convoluted that even I wouldn't have thought of it.
@dandogamer Жыл бұрын
I've used git as a database for a CMS, works pretty good. In fact companies like netifly do the same thing
@michalkowalik89 Жыл бұрын
FS with versioning and auditing, changes can be signed, easy to backup and cloud storage is free + great ssh based authentication
@y00t00b3r Жыл бұрын
please elaborate@@michalkowalik89
@pizza-cat1337 Жыл бұрын
god, this is incredible lOl. can't imagine going to your new job and realize the mess you're in.
@josefjelinek Жыл бұрын
I heard similar stories from colleagues working in banks using Enterprise Java. The main difference was that half of the code was in XML.. with no compile time checking... Mixing camel case and snake case seems to be more rather than less common as it got spread from C++ into protobuf and infected all languages in some form.
@ra2enjoyer70810 ай бұрын
tfw have a mix of camel case and snake cases on frontend code simply because it's way easier to work with snake cases in the database and I am not assed to transform the names at every single API call on the front (or db calls on the back). Any automatic solution instead would fuck up with static analysis and can introduce the problems such as ambiguity of having `"created_at"` and `"created_At"` fields on the same object.
@Chris-jm2gx Жыл бұрын
"Is this an out of season April's Fool joke?" I hope this is a joke.
@alangamer50 Жыл бұрын
Blud created the ultimate 500iq move by creating a huge code base with no documentation and so chaotic that he is the only one that can fix it. May god have mercy on whoever has to take it once he dies lmao
@gregorio87 Жыл бұрын
Tom will never die
@tbkswagg8 ай бұрын
"Blud" is so fucking cringe I always imagine some cargo shorts nike air max hoodie zoomer saying it in real life like some fucking gangster and no one cares enough to say to his face that he's cringe af. Jesus Christ have mercy on our souls
@Rppiano7 ай бұрын
Ok blood @@tbkswagg
@bkucenski Жыл бұрын
Code generation is great. When it's built from a database. My full featured ORM spits out classes for every table in every database with links and everything. It doesn't have to ask questions, it just reads the schema. If tables are linked by a foreign key, you'll get the properties with the correct types. It also generated the API endpoints for CRUD and since it has a change log built in, you also get the history end point. And it generated the management pages so if you had dinky tables for setting core system values, you didn't need to waste your time. Code generation makes sense when you are joining two systems together and only want to describe it once. I wrote the ORM after having to manually create classes for awhile. It's fine when your projects have a few tables. Not fine when your project has hundreds of tables.
@ra2enjoyer70810 ай бұрын
And then a person sometimes after you reads that `GENERATE ALWAYS AS IDENTITY` is a preferable way to declare ID fields and finds out he has to write a custom parser logic (with no documentation or even guidelines) to just declare those fields, let alone run migrations on existing tables. Gladly, no person who knows databases will bother to learn every flavour of ORM and the usual outcome is the codebase is locked to specific versions of a database engine with no further support. Or ORM becomes a DSL monstrosity.
@disculpa Жыл бұрын
Geez, i had almost identical experience to this at my first job. Too much stupidity to even express. One example is this "Tom" insisted every variable be initialized from memcached because that means it's coming from memory, so that means it should be fast? Is you set the value in code then that's gonna be slow since it's coming from the Hard drive. I was fired after the first month for not getting it.
@CottidaeSEA Жыл бұрын
That last story is something that reminded me of my first work in Rust. Far from as insane, I'd say sanest code to ever be written. I made a programmatic way to generate custom scripts for a project. It was basically a bunch of enums and match statements. The reason? I was tired of subtle bugs due to spelling mistakes in the scripts.
@vulcwen Жыл бұрын
This is the business equivalent of "Can I room doom on minecraft redstone?". Tom is a genius for bending a company to go along with something so crazy XD
@tbkswagg8 ай бұрын
Why it is exactly?
@crusaderanimation6967Ай бұрын
At this point programing in redstone would be more sane.
@polyglotusamericanus4163 Жыл бұрын
TEML: Tom's Esoteric Messy Language
@michaelbuckers2 ай бұрын
Hot diggity dang. When he said "adding comments broke it" I knew, that this was one helluva insidious job security racket if I ever seen one. Instant realization. I would've quit right there, but also notify the VPs about the shenanigans.
@GoodVolition5 ай бұрын
Oh god. I was one of those people that started working in programming rather young when I was a teenager. I recall working at a small local IT shop that worked for a few local construction companies one summer. While it wasn't *so* bad it was C# on a server with a Windows service sort of like a daemon that used subversion to checkout functions/files/modules/classes (I can't recall precisely what or how at this point). I have no idea why people do this. I tried to convince them that they *really* didn't need to do that. I think a lot of companies in small places have *no* local talent to pull from. So the first person that makes something that works is hailed as a genius.
@Dogo.R4 ай бұрын
This is the same as prepending a unique number in front of every function name and increasing the number every time you update the function, except done in a more complicated way.
@Tekay37 Жыл бұрын
FIrst I thought the system was a sweet revenge from Tom because someone in the company rejected him, but now I think Tom ackshually just tried to do backwards compatibility.
@pristinewebdev6680 Жыл бұрын
"svn checkout took 2 days to complete", at that moment you should be running away from that company! wahaha🤣🤣🤣
@luvincste Жыл бұрын
even checking out chromium code base takes less time
@vehasmaa Жыл бұрын
I get chills on this. Reminds me couple years ago doing New userinterface to system that's was written in mix of C#, vba, etc... No comments anywhere and code was generated some in-house code generator bu company that delivered this back in 2007.. Of course i was given 6 months to do this. Not consulting me if it was possible in such time frame... Ended up using old app to see whats this view uses, and track it back to database, literally documenting every table in there and there was a lots of them.. Im surpised i got parts that were still in use to run acceptably without any data loses. But just barely and not really happy how i had to implement it in background in all points.
@karmatraining Жыл бұрын
Bruh I knew this wasn't going to be a nice bedtime story when you said "based on Subversion". All my internal spidey senses began screaming at once.
@karmatraining Жыл бұрын
I revise my estimation. It is now evident that multiple war crimes were committed in this code-base. This needs to go to The Hague.
@lukamiler5824 Жыл бұрын
Tom is the spiritual successor to Nedry from Jurassic park. Makes millions of lines of code that no one else can comprehend and is the single most valuable asset to the company just because they can't do anything without him anymore. Life truly imitates art. Tom is a geneous.
@alexdegaston422 Жыл бұрын
The reason why we do code reviews, Pull Request approvals, QA deployment approvals, and other built-in checkpoints is to make sure that we have plenty of people with skin in the game on any deployment so the risks of something going wrong is greatly reduced and just in case anything goes wrong then you will have a lot of people who have skin in the game and huge incentive to focus on solving the problem instead of playing the Blame Game. I haven't see @ThePrimeTimeagen doing any videos on the Blame Game but I'd be shocked if he hasn't seen this game played during his career. If he hasn't then he needs to be marched to the office of Karen in H/R to get transferred to the Internship program now.
@_ch1pset Жыл бұрын
The crazy thing is this company might have had a patent on this system. You would be surprised at what companies patent.
@eugenebebs77677 ай бұрын
Are you winning json?
@max_ishere Жыл бұрын
You don't understand why tom is a genius tho. He made the EQQF (Employee quiet quit framework), commonly referred to as JDSL. This framework allows all employees to waste as much of their time as they want without management having any bases for their "unproductiveness". As I said Tom is a genius
@ThePrimeTimeagen Жыл бұрын
genious
@manningfamilychronicles1601 Жыл бұрын
I don't know if I've ever watched one of your videos where you didn't forget to turn off notifications... It's beautiful. Genius strat. At a certain point in every video, I ask myself... "Have I watched this already", but then remember that you always forget to turn off alerts, so I watch it anyway... even if I've seen it already. What a psychological smokescreen.
@ThePrimeTimeagen Жыл бұрын
haha, GOTEM
@mrmimeisfunny3 ай бұрын
Tom is such a genius he didn't make a backup of a production database because with JDSL you don't need to... for some reason.
@qbasic16 Жыл бұрын
This sounds oddly familiar... I know a company of 20+ years which fuctions like that, but in PHP with their own custom "Content Management Framework".
@rookandpawn3 ай бұрын
fun story @ThePrimeagen i was at Uber and my friend worked on an javascript RPC layer when go services published THRIFT and protobuf IDLs. The devs who made it derived it from Netflix's Falkor, and since they were "piggybacking" on Falkor they knew Atreyu rode atop Falkor, so they named it Atreyu (circa 2015). Atreyu has been in production ever since. Also the same devs who wrote Atreyu regarded it terribly lol.
@ThePrimeTimeagen3 ай бұрын
it ... hurts reading this
@svenb44752 ай бұрын
Tom is literally setting up traps so everyone working against him gets fired quickly
@garyduell37688 ай бұрын
I have never wtf harder. It's so crazy it's amazing. Every commit is its own function... It's genius, truly. Then have a separate dictionary of all the "active commits". I'm in awe.
@mage3690 Жыл бұрын
To your last story about creating horrendous software, I think it's a basic requirement for all new programmers to-at some point-decide that fancy things like function calls are for losers, and implement everything with JMP or goto, whichever your current language supports, only for everything to break horribly. I did it back when I was in college, learning robotics programming on specialized processors that could only be programmed by some _very_ expensive enterprise software. That software gave me a JMP instruction, and boy did I abuse it. I abused it so hard, in fact, that I accidentally created an infinite loop, which promptly SEGFAULTed the processor and apparently unspooled the OS into spaghetti code. That made my professor mad, mostly because he spent the next good fishing weekend trying to figure out what the hell happened to his thousand-dollar processor. I learned a valuable lesson that day: never JMP to a label behind the JMP instruction in ladder logic unless your loop exit condition is measured in clock cycles rather than ms. As in, for loops only, no while(robotArmMoving) {wait} loops.
@MrJejuni Жыл бұрын
The whole time I was waiting for the part of the story where everyone stood up and clapped for Tom. Sad that wasn't included.
@Mouradif Жыл бұрын
Honestly I get it, but once you realize that SVN is being used for something like that, no one in their right mind would push code to that repo
@torshepherd9334 Жыл бұрын
You've heard of static dispatch, and dynamic dispatch, and even double dispatch. Now get ready for versioned dispatch.
@ThePrimeTimeagen Жыл бұрын
subversioned dispatch
@vikramkrishnan6414 Жыл бұрын
When this started I thought this was going to be something like Jsonnet. This, however, is beautiful. The sheer perverse ingenuity of Tom is what the gnostics recognised in the demiurge.
@SirBearingtonSupporter Жыл бұрын
The boss told him to familiarize himself with the code… Tom is in fact a genius. He knows how to generate job security.
@MeriaDuck Жыл бұрын
Numeric programs remind me of a business with a cobol department, where all programs were named numbers. So youd hear "Yes, the 6630 has to run before the 3380, otherwise 2341..." 😂 Asking one guy about how he remembers the meaning, he had created a program called 911 or so with list of numbers to names.
@MeriaDuck Жыл бұрын
And then 8:30 came around and that story you read got a whole new turn😂😂😂
@Sindoku11 ай бұрын
Sad enough, I actually think I understand what Tom was trying to do. With SVN, instead of changes being repository based like git, each change is done at the file level, so simply adding a new function to the one JS file and then calling its position in the JSON function via “JDSL” would sort of make sense in some mad version of the world. It makes it so that you only ever need to update one file for each class. The problem with that approach is the same thing could have been accomplished by simply updating one function at a time via inside of a JS class . That completely removes the need of JDSL. If you need to see a previous revision you can just step back sequentially and see the versions. With Tom’s the geniuses way, you end up having all versions of the functions in a class in a single file, and that’s not a good thing. That file is going to eventually be ungodly large for a class that requires lots of changes. The fact that Tom immediately went to blame him though shows that Tom is not only an inefficient developer, but is a proper rotten person to their core. It couldn’t have been his fault, it had to be the new guy. My guess is Tom probably had other problems going on in the past at the company with JDLC failing and causing database loses, etc., and before management could get around to blaming him, he was quick to blame anyone else under the bus, and who better than the new guy, right? I freaking HATE people like Tom. They are the literally the worst people in the world!!!!!
@elCamo12 Жыл бұрын
gotta admit... you have to be a genius to conceptualise and implement JDSL :)
@sub-harmonik Жыл бұрын
tom is a genius. Create the most esoteric dsl ever, that causes things to take days to build so basically everyone gets paid to sit around and play solitaire lol.
@poakssa Жыл бұрын
Tom should have been stopped by the time traveling Terminator
@aritark Жыл бұрын
and still, the most shocking part of the video was prime trying to write the word genius
@hypergraphic Жыл бұрын
Omg that is the funniest programming react video ever!
@ThePrimeTimeagen Жыл бұрын
It's just a beautiful piece of software. I don't think people appreciate what Tom did out there
@utubekade11 ай бұрын
by far my favorite prime video. Had to look it up to re-watch it. Hilarious stuff. Tom's a genius.
@myockey13 күн бұрын
I once worked in an environment where an architect had written what he called “polymorphic Bash scripts” that implemented a framework for deploying software projects. He was definitely a genius.
@kaizer-777 Жыл бұрын
Tom is a genius when it comes to job security.
@idiota-w-swiecie Жыл бұрын
Isn't tom the same person that made Tom's obvious markup language? He is a genius he literaly made toml AND JDSL
@ThePrimeTimeagen Жыл бұрын
Everybody loves Toml
@smnkumarpaul Жыл бұрын
It takes a genius to build a system like this and it takes a legend to conceive this idea.
@xslashsdas Жыл бұрын
Tom is short for TOML, right? no one will convince it's not the same guy
@Thect Жыл бұрын
I'm literally working on a project just like this. Everything is connected by ton's of json files, so you can't use actual relative paths to import.
@acestapp18845 ай бұрын
Lol I knew this would be an experience when I saw "Subversion" and it brought back my memories (and dry heaves) of reading this article the first time. So much anticipation as you waffled about with "Whenever something makes a function call..." sitting there just waiting to be read.
@AzulaAlwaysLies24618 ай бұрын
I’ve spent my whole life waiting to hear the words “you broke JDiesel”!
@ariseyhun2085 Жыл бұрын
How incredible would it be to get Tom on as a guest for an interview!
@thatJackBidenTalksAbout Жыл бұрын
"Everyone getting this so far? So what? I guess they just don't make them like they used to." "No! Nobody ever made them like this! The architect was either a certified genius or an authentic wacko! The whole codebase is a huge super-conductive antenna that was designed and built expressly for the purpose of pulling in and concentrating spiritual turbulence."
@OldKing11100 Жыл бұрын
Elden Ring Melania: "You will witness true horror." I'm a simple person who does simple things. It's fun to utilize what other people have created especially if it's good, but at the same time you're tying yourself to them. I think that's why I like SvelteKit (frontend) and Go (API). They allow for not having to install a billion libraries and to do it yourself. If Rust does async well for std in the future I'll probably revisit it, but I'm also never tied down to anything because there will always be separation of concerns. Pinocchio: "There are no strings on me."
@JackDespero Жыл бұрын
Clearly, the best way is my Python way: - Title case for classes. - Snake case for everything else. def this_function(): class ThisClass(): normal_variable=10 etc.
@SigmaTapion Жыл бұрын
This is the greatest article I've every had the pleasure of seeing you react to. What a monstrous genius Tom is Edit: Or, maybe the one where they used javascript functions to build classes rivals this
@JoseAyerdis Жыл бұрын
I got addicted to this channel, you looked like a mixed between Michael Scott and Bertram Gilfoyle
@WolfrostWasTaken Жыл бұрын
I refuse to believe this story is real.
@sammysheep Жыл бұрын
Agree, this appears to be a work of fiction. Maybe it's satire, but I'm not sure which tech it is satiring.
@WolfrostWasTaken Жыл бұрын
@@sammysheep Idk, it seems like JDSL is a parody of those weird ass DSL that boomers LOVE to use in large corpos (because they can't program for shit, they are just not capable to because they lack the mental capacity). JDSL can't exist in the real world because you can literally just write a class in JS (as prime correctly pointed out)
@CaleMcCollough Жыл бұрын
Chimera case is the best when all immutable items are UpperCameCase and all mutable items are lower_snake_case. It's easier to read and it looks more aesthetically pleasing. It's also consistent.
@Interpause5 ай бұрын
I believe immutables should be in all caps
@gFamWeb10 ай бұрын
Two weeks ago, I would have told you that this story was either exaggerated or a very uncommon case. Then I got brought onto a project that was previously written by mostly one developer. Now I understand.
@andrearaimondi882 Жыл бұрын
The saddest thing about this is that I believe every single word in that post: I’m certain that such software sweatshops exist and are even profitable
@astronemir Жыл бұрын
This is actually WAY WORSE than I imagined
@isaacdadams Жыл бұрын
Thank you, Prime. This was needed therapy for my soul. I really hope the super geniuses of the programming world watch this video and squirm with anger.