The Most Amazing Software Ever Created

Поделиться
HTML-код
  • Опубликовано: 20 ноя 2024
  • НаукаНаука

Комментарии • 880

  • @ThePrimeTimeagen
    @ThePrimeTimeagen  Год назад +1961

    Tom is a genius

  • @dolorsitametblue
    @dolorsitametblue Год назад +2692

    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
      @sacredgeometry Год назад

      Toms a moron, you could have replaced him and his system in a couple of sprints (if that).

    • @HarshitSinha1102
      @HarshitSinha1102 Год назад +209

      Even GPT 13.5 can't replace Tom. Tom is a genius

    • @houstonbova3136
      @houstonbova3136 Год назад +40

      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
      @ErazerPT Год назад +46

      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
      @Innengelaender Год назад +29

      His sanity was a small price to pay for that job security.

  • @botondhetyey159
    @botondhetyey159 Год назад +941

    Tom's definitely a genius, I could be given a full year, and I wouldn't come up with a funnier production system.

    • @BusinessWolf1
      @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.

    • @nerfzinet
      @nerfzinet 4 месяца назад +6

      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
    @ayushchaudhari5655 Год назад +431

    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!"
    ---

    • @fromant65
      @fromant65 2 месяца назад +9

      LMAO

    • @xFlRSTx
      @xFlRSTx 2 месяца назад +8

      jakes hubris made all the more clear

  • @yannick5099
    @yannick5099 Год назад +1085

    Clearly Tom needs to modernize his JDSL by switching to YAML and Git.

    • @unstable-horse
      @unstable-horse Год назад +164

      YAML? Who uses YAML these days. TOML is the new tech, TOML is the future. It's jeeneous.

    • @whig01
      @whig01 Год назад +162

      @@unstable-horse Tom should definitely be using TOML.

    • @SimonBuchanNz
      @SimonBuchanNz Год назад +34

      ​@@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
      @yannick5099 Год назад +18

      @@SimonBuchanNz For Rust there is RON, it even supports comments so Tom can interpret that as well.

    • @SimonBuchanNz
      @SimonBuchanNz Год назад +4

      @@yannick5099 let me know when I can replace my cargo.toml

  • @Bulkje
    @Bulkje Год назад +1232

    Tom is a -100x engineer

    • @ImperiumLibertas
      @ImperiumLibertas Год назад +82

      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
      @bayrock1337 Год назад +46

      ​@@ImperiumLibertas job security

    • @alexandreg.1000
      @alexandreg.1000 Год назад +3

      Tom is not a engineer :)

    • @BusinessWolf1
      @BusinessWolf1 Год назад +32

      @@alexandreg.1000 no, tom is a genius

    • @JorgetePanete
      @JorgetePanete Год назад +7

      100ix engineer

  • @rasnauf
    @rasnauf Год назад +624

    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
      @Luredreier Год назад +42

      Yep, he's a genius alright...

    • @darekmistrz4364
      @darekmistrz4364 5 месяцев назад +31

      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.

    • @multivariateperspective5137
      @multivariateperspective5137 2 месяца назад

      Talk to the managers and MBAs

    • @PradyumnVij
      @PradyumnVij 27 дней назад

      Lol actually just happened to me this year.

  • @sadramohh
    @sadramohh Год назад +76

    "Svn checkouts on function calls"
    Such an atrocity hidden behind such few words...

  • @denissorn
    @denissorn Год назад +312

    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
      @TheNewton Год назад +14

      Missing ingredient it still needs produce some sort of workable result.

    • @La0bouchere
      @La0bouchere Год назад

      That only works if the people you work for are already dumb though. eg it only happens post bozo explosion

    • @denissorn
      @denissorn Год назад +15

      @@TheNewton depends on a position, but that's what I meant with unmaintainable clusterfuck that gets the job done

    • @MrDgf97
      @MrDgf97 Год назад +21

      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
      @JorgetePanete Год назад

      gets*

  • @patricknelson
    @patricknelson Год назад +409

    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
      @hfspace Год назад +33

      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
      @baetz2 Год назад +46

      @@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
      @opposite342 Год назад +16

      ​@@baetz2this makes a bunch of sense actually

    • @winnie8614
      @winnie8614 Год назад +8

      at least with GIT it wouldn't be so damn slow)

    • @romannasuti25
      @romannasuti25 Год назад +7

      @@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
    @TheNewton Год назад +355

    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
      @lightninginmyhands4878 Год назад +52

      The sheer malice in doing this overwhelms the sane mind

    • @morganjonasson2947
      @morganjonasson2947 Год назад +34

      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
      @isodoubIet Год назад +11

      @@morganjonasson2947 I mean it is based on JSON

    • @weeb3277
      @weeb3277 Год назад +17

      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"

    • @sourcerror
      @sourcerror 11 месяцев назад +1

      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
    @NdxtremePro Год назад +569

    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
      @LtdJorge Год назад +130

      He turned SVN into a database of stored procedures, that execute from a metadata file.

    • @TheNewton
      @TheNewton Год назад +63

      And made JSON into an AST config file format

    • @karmatraining
      @karmatraining Год назад +54

      He turned SVN into an unfathomable Eldritch portal

    • @hfspace
      @hfspace Год назад +18

      the analyses here are just gold :D

    • @user31415
      @user31415 10 месяцев назад +2

      Tom is a genius

  • @0bzen22
    @0bzen22 11 месяцев назад +31

    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
    @ea_naseer Год назад +280

    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
      @ouss Год назад +13

      Its tesla

    • @JeremyStreich
      @JeremyStreich Год назад +12

      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."

    • @vaibhavsingh8122
      @vaibhavsingh8122 9 месяцев назад +1

      @@JeremyStreich He was aiming for code security cause no one can break the security if they don't understand it

    • @samvdheisteeg
      @samvdheisteeg 2 месяца назад

      @@vaibhavsingh8122 Except that caused a cloudstrike

  • @ergis8004
    @ergis8004 Год назад +168

    Tom is the guy who gives free downvotes on SO in his free time

  • @zirize
    @zirize Год назад +63

    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.

  • @everythinggoes850
    @everythinggoes850 Год назад +465

    Tom is a 20X engineer

    • @Requiem100500
      @Requiem100500 Год назад +75

      Tom is √(−1)X engineer

    • @filiformis
      @filiformis Год назад +19

      @@Requiem100500 He works at Disney?

    • @tricky2014
      @tricky2014 Год назад +20

      20x job security.

    • @karmatraining
      @karmatraining Год назад +6

      More like -20x

    • @apollolux
      @apollolux Год назад +4

      If by 20x engineer you mean Tom's code probably took 20x the time to execute, then yea. XD

  • @cat-.-
    @cat-.- Год назад +129

    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
      @romannasuti25 Год назад +7

      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
      @PeterVerhas Год назад +5

      I did that as fun with xml. Hope nobody will use it. If anyone does, they deserve it.

  • @TheNewton
    @TheNewton Год назад +84

    8:33 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
    @klaudyw3 Год назад +263

    Tom was most definitely high on so many different things while having a fever dream.

    • @karmatraining
      @karmatraining Год назад +26

      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
      @yuliusseraph4973 Год назад +4

      ​@@karmatrainingalternative interpretation: Tom is a simple man who wants job security and more time to be lazy. Tom is a genius

    • @adammiller9029
      @adammiller9029 8 месяцев назад

      ​@@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
    @patrikfagard6525 Год назад +287

    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
      @ThePrimeTimeagen  Год назад +274

      The comments were in the JavaScript code. The JavaScript code somehow executed comments

    • @patrikfagard6525
      @patrikfagard6525 Год назад +102

      @@ThePrimeTimeagen Aah, that makes more sense. He must have implemented something like:
      /* load js file and feed it into eval() line by line */

    • @anlumo1
      @anlumo1 Год назад +58

      @@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
      @franciscopena7859 Год назад +18

      Regex for sql comments. Parse. Execute

    • @franciscopena7859
      @franciscopena7859 Год назад +8

      Anything is possible at that point

  • @sunderkeenin
    @sunderkeenin Год назад +130

    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
      @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
    @JustByteMe Год назад +221

    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
      @kristun216 Год назад +55

      Inventing your own wheels is the best job safety move in 2023 😂

    • @JustByteMe
      @JustByteMe Год назад +13

      @@kristun216 😂😂 facts, no one can replace you

    • @T1Oracle
      @T1Oracle Год назад +15

      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
      @JustByteMe Год назад +6

      @@T1Oracle Holy moly, I'm pretty sure all that was in their minds was "competitive advantage"

    • @T1Oracle
      @T1Oracle Год назад +7

      @@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
    @dandogamer Год назад +94

    Tom is a ducking genius 😂 he even managed to convince his teammates that it's a brilliant idea as well 😂😂😭

    • @mateoruiz1311
      @mateoruiz1311 Год назад +31

      His teammates love him because they have the perfect excuse to lie around and not do anything LMAO

  • @weatherwaxusefullhints2939
    @weatherwaxusefullhints2939 Год назад +91

    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

  • @nulltan
    @nulltan Год назад +52

    This is the most "WHY WOULD YOU DO THAT?!?" story i have ever heard.

  • @stubb1qaz
    @stubb1qaz Год назад +16

    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.

    • @sandersonstabo
      @sandersonstabo 11 месяцев назад +7

      what the hell did you meet the second coming of terry davis

  • @AnnaGottin
    @AnnaGottin Год назад +82

    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
      @Samstercraft77 Год назад +19

      now that is what we call a pro gamer move

    • @hemmper
      @hemmper Год назад +19

      If your data is precious, surely each row deserves it's own table😊

    • @AnnaGottin
      @AnnaGottin Год назад

      @@hemmperofc

  • @sahiljindal
    @sahiljindal Год назад +33

    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
    @chrisdaman4179 Год назад +70

    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
    @Innengelaender Год назад +29

    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.

    • @NotNotAsian
      @NotNotAsian 4 месяца назад

      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.

  • @davew2040x
    @davew2040x 10 месяцев назад +3

    “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
    @DevRel1 Год назад +50

    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.

  • @sacredgeometry
    @sacredgeometry Год назад +98

    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
      @8koi245 Год назад +16

      yeah!! bye bye toxic worker and embrace performance!

    • @sacredgeometry
      @sacredgeometry Год назад +16

      ​@@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
      @sacredgeometry Год назад +5

      @@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
      @TheNewton Год назад +6

      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
      @sacredgeometry Год назад +7

      @@TheNewton It sounded like he had enough of an understanding to know how fucked up it was.

  • @adamm450
    @adamm450 Год назад +47

    there is a thin line between being genius and insane, Im happy for Tom to have landed on the right side.

    • @hfspace
      @hfspace Год назад

      Yeah, good stories are needed :-)

  • @H4KnSL4K
    @H4KnSL4K Год назад +14

    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
    @sirhenrystalwart8303 Год назад +14

    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
    @Pariatech Год назад +70

    Poor Jake to have joined such a wtf company

    • @Eshelion
      @Eshelion 5 месяцев назад

      But what a story to tell he now has!

  • @anlumo1
    @anlumo1 Год назад +31

    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
      @dandogamer Год назад +12

      I've used git as a database for a CMS, works pretty good. In fact companies like netifly do the same thing

    • @michalkowalik89
      @michalkowalik89 Год назад +1

      FS with versioning and auditing, changes can be signed, easy to backup and cloud storage is free + great ssh based authentication

    • @y00t00b3r
      @y00t00b3r Год назад

      please elaborate@@michalkowalik89

  • @pizza-cat1337
    @pizza-cat1337 Год назад +31

    god, this is incredible lOl. can't imagine going to your new job and realize the mess you're in.

  • @josefjelinek
    @josefjelinek Год назад +17

    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.

    • @ra2enjoyer708
      @ra2enjoyer708 10 месяцев назад +1

      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
    @Chris-jm2gx Год назад +18

    "Is this an out of season April's Fool joke?"
    I hope this is a joke.

  • @alangamer50
    @alangamer50 Год назад +22

    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
      @gregorio87 Год назад +1

      Tom will never die

    • @tbkswagg
      @tbkswagg 8 месяцев назад

      "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

    • @Rppiano
      @Rppiano 7 месяцев назад +1

      Ok blood ​@@tbkswagg

  • @bkucenski
    @bkucenski Год назад +7

    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.

    • @ra2enjoyer708
      @ra2enjoyer708 10 месяцев назад

      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
    @disculpa Год назад +8

    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
    @CottidaeSEA Год назад +13

    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
    @vulcwen Год назад +17

    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

    • @tbkswagg
      @tbkswagg 8 месяцев назад

      Why it is exactly?

    • @crusaderanimation6967
      @crusaderanimation6967 Месяц назад

      At this point programing in redstone would be more sane.

  • @polyglotusamericanus4163
    @polyglotusamericanus4163 Год назад +8

    TEML: Tom's Esoteric Messy Language

  • @michaelbuckers
    @michaelbuckers 2 месяца назад +1

    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.

  • @GoodVolition
    @GoodVolition 5 месяцев назад +4

    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.R
    @Dogo.R 4 месяца назад +2

    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
    @Tekay37 Год назад +17

    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
    @pristinewebdev6680 Год назад +10

    "svn checkout took 2 days to complete", at that moment you should be running away from that company! wahaha🤣🤣🤣

    • @luvincste
      @luvincste Год назад +2

      even checking out chromium code base takes less time

  • @vehasmaa
    @vehasmaa Год назад +8

    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
    @karmatraining Год назад +8

    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
      @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
    @lukamiler5824 Год назад +5

    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
    @alexdegaston422 Год назад +5

    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
    @_ch1pset Год назад +6

    The crazy thing is this company might have had a patent on this system. You would be surprised at what companies patent.

  • @eugenebebs7767
    @eugenebebs7767 7 месяцев назад +16

    Are you winning json?

  • @max_ishere
    @max_ishere Год назад +11

    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

  • @manningfamilychronicles1601
    @manningfamilychronicles1601 Год назад +4

    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.

  • @mrmimeisfunny
    @mrmimeisfunny 3 месяца назад +1

    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
    @qbasic16 Год назад +7

    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".

  • @rookandpawn
    @rookandpawn 3 месяца назад +1

    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.

  • @svenb4475
    @svenb4475 2 месяца назад +1

    Tom is literally setting up traps so everyone working against him gets fired quickly

  • @garyduell3768
    @garyduell3768 8 месяцев назад +2

    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
    @mage3690 Год назад +3

    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
    @MrJejuni Год назад +5

    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
    @Mouradif Год назад +3

    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
    @torshepherd9334 Год назад +4

    You've heard of static dispatch, and dynamic dispatch, and even double dispatch. Now get ready for versioned dispatch.

  • @vikramkrishnan6414
    @vikramkrishnan6414 Год назад +1

    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
    @SirBearingtonSupporter Год назад +4

    The boss told him to familiarize himself with the code…
    Tom is in fact a genius. He knows how to generate job security.

  • @MeriaDuck
    @MeriaDuck Год назад +4

    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
      @MeriaDuck Год назад

      And then 8:30 came around and that story you read got a whole new turn😂😂😂

  • @Sindoku
    @Sindoku 11 месяцев назад +2

    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
    @elCamo12 Год назад +6

    gotta admit... you have to be a genius to conceptualise and implement JDSL :)

  • @sub-harmonik
    @sub-harmonik Год назад +2

    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
    @poakssa Год назад +3

    Tom should have been stopped by the time traveling Terminator

  • @aritark
    @aritark Год назад +5

    and still, the most shocking part of the video was prime trying to write the word genius

  • @hypergraphic
    @hypergraphic Год назад +11

    Omg that is the funniest programming react video ever!

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Год назад +14

      It's just a beautiful piece of software. I don't think people appreciate what Tom did out there

  • @utubekade
    @utubekade 11 месяцев назад +1

    by far my favorite prime video. Had to look it up to re-watch it. Hilarious stuff. Tom's a genius.

  • @myockey
    @myockey 13 дней назад

    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
    @kaizer-777 Год назад +2

    Tom is a genius when it comes to job security.

  • @idiota-w-swiecie
    @idiota-w-swiecie Год назад +4

    Isn't tom the same person that made Tom's obvious markup language?
    He is a genius he literaly made toml AND JDSL

  • @smnkumarpaul
    @smnkumarpaul Год назад +3

    It takes a genius to build a system like this and it takes a legend to conceive this idea.

  • @xslashsdas
    @xslashsdas Год назад +3

    Tom is short for TOML, right?
    no one will convince it's not the same guy

  • @Thect
    @Thect Год назад +3

    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.

  • @acestapp1884
    @acestapp1884 5 месяцев назад

    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.

  • @AzulaAlwaysLies2461
    @AzulaAlwaysLies2461 8 месяцев назад +1

    I’ve spent my whole life waiting to hear the words “you broke JDiesel”!

  • @ariseyhun2085
    @ariseyhun2085 Год назад +4

    How incredible would it be to get Tom on as a guest for an interview!

  • @thatJackBidenTalksAbout
    @thatJackBidenTalksAbout Год назад +1

    "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
    @OldKing11100 Год назад +1

    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
    @JackDespero Год назад +2

    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
    @SigmaTapion Год назад +12

    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
    @JoseAyerdis Год назад +1

    I got addicted to this channel, you looked like a mixed between Michael Scott and Bertram Gilfoyle

  • @WolfrostWasTaken
    @WolfrostWasTaken Год назад +7

    I refuse to believe this story is real.

    • @sammysheep
      @sammysheep Год назад +2

      Agree, this appears to be a work of fiction. Maybe it's satire, but I'm not sure which tech it is satiring.

    • @WolfrostWasTaken
      @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
    @CaleMcCollough Год назад +1

    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.

    • @Interpause
      @Interpause 5 месяцев назад

      I believe immutables should be in all caps

  • @gFamWeb
    @gFamWeb 10 месяцев назад

    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
    @andrearaimondi882 Год назад +2

    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
    @astronemir Год назад +1

    This is actually WAY WORSE than I imagined

  • @isaacdadams
    @isaacdadams Год назад +1

    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.