The Most Amazing Software Ever Created

แชร์
ฝัง

ความคิดเห็น • 723

  • @ThePrimeTimeagen
    @ThePrimeTimeagen  ปีที่แล้ว +1592

    Tom is a genius

    • @ronakmehta8106
      @ronakmehta8106 ปีที่แล้ว +27

      All hail TOM, he is a genius

    • @ElectroLiets
      @ElectroLiets ปีที่แล้ว +9

      1

    • @robnauticus
      @robnauticus ปีที่แล้ว +8

      Super genious!

    • @hfspace
      @hfspace ปีที่แล้ว +25

      coupling the code to svn is indeed very creative :D

    • @FaZekiller-qe3uf
      @FaZekiller-qe3uf ปีที่แล้ว +3

      How long did it take you to type that?

  • @janAkaliKilo
    @janAkaliKilo ปีที่แล้ว +2079

    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 ปีที่แล้ว +171

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

    • @houstonbova3136
      @houstonbova3136 ปีที่แล้ว +27

      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 ปีที่แล้ว +33

      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 ปีที่แล้ว +22

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

  • @Bulkje
    @Bulkje ปีที่แล้ว +866

    Tom is a -100x engineer

    • @ImperiumLibertas
      @ImperiumLibertas ปีที่แล้ว +60

      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 11 หลายเดือนก่อน +32

      ​@@ImperiumLibertas job security

    • @alexandreg.1000
      @alexandreg.1000 11 หลายเดือนก่อน +1

      Tom is not a engineer :)

    • @BusinessWolf1
      @BusinessWolf1 11 หลายเดือนก่อน +21

      @@alexandreg.1000 no, tom is a genius

    • @JorgetePanete
      @JorgetePanete 11 หลายเดือนก่อน +5

      100ix engineer

  • @yannick5099
    @yannick5099 ปีที่แล้ว +788

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

    • @unstable-horse
      @unstable-horse ปีที่แล้ว +129

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

    • @whig01
      @whig01 ปีที่แล้ว +130

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

    • @SimonBuchanNz
      @SimonBuchanNz ปีที่แล้ว +23

      ​@@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 ปีที่แล้ว +14

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

    • @SimonBuchanNz
      @SimonBuchanNz ปีที่แล้ว +3

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

  • @botondhetyey159
    @botondhetyey159 ปีที่แล้ว +638

    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 11 หลายเดือนก่อน

      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.

  • @ayushchaudhari5655
    @ayushchaudhari5655 9 หลายเดือนก่อน +45

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

  • @rasnauf
    @rasnauf ปีที่แล้ว +410

    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 8 หลายเดือนก่อน +24

      Yep, he's a genius alright...

  • @everythinggoes850
    @everythinggoes850 ปีที่แล้ว +421

    Tom is a 20X engineer

    • @Requiem100500
      @Requiem100500 ปีที่แล้ว +72

      Tom is √(−1)X engineer

    • @filiformis
      @filiformis ปีที่แล้ว +15

      @@Requiem100500 He works at Disney?

    • @tricky2014
      @tricky2014 ปีที่แล้ว +18

      20x job security.

    • @karmatraining
      @karmatraining ปีที่แล้ว +4

      More like -20x

    • @apollolux
      @apollolux 8 หลายเดือนก่อน +2

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

  • @denissorn
    @denissorn ปีที่แล้ว +227

    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 ปีที่แล้ว +13

      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 ปีที่แล้ว +13

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

    • @MrDgf97
      @MrDgf97 11 หลายเดือนก่อน +15

      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 11 หลายเดือนก่อน

      gets*

  • @NdxtremePro
    @NdxtremePro ปีที่แล้ว +489

    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 ปีที่แล้ว +107

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

    • @TheNewton
      @TheNewton ปีที่แล้ว +53

      And made JSON into an AST config file format

    • @karmatraining
      @karmatraining ปีที่แล้ว +45

      He turned SVN into an unfathomable Eldritch portal

    • @hfspace
      @hfspace ปีที่แล้ว +16

      the analyses here are just gold :D

    • @user31415
      @user31415 4 หลายเดือนก่อน +1

      Tom is a genius

  • @patricknelson
    @patricknelson ปีที่แล้ว +287

    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 ปีที่แล้ว +26

      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 11 หลายเดือนก่อน +28

      @@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 11 หลายเดือนก่อน +6

      ​@@baetz2this makes a bunch of sense actually

    • @winnie8614
      @winnie8614 10 หลายเดือนก่อน +4

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

    • @romannasuti25
      @romannasuti25 10 หลายเดือนก่อน +4

      @@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).

  • @klaudyw3
    @klaudyw3 ปีที่แล้ว +232

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

    • @karmatraining
      @karmatraining ปีที่แล้ว +19

      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 6 หลายเดือนก่อน

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

    • @adammiller9029
      @adammiller9029 2 หลายเดือนก่อน

      ​@@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.

  • @TheNewton
    @TheNewton ปีที่แล้ว +265

    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 ปีที่แล้ว +38

      The sheer malice in doing this overwhelms the sane mind

    • @morganjonasson2947
      @morganjonasson2947 11 หลายเดือนก่อน +27

      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 หลายเดือนก่อน +10

      @@morganjonasson2947 I mean it is based on JSON

    • @weeb3277
      @weeb3277 8 หลายเดือนก่อน +8

      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 5 หลายเดือนก่อน +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.

  • @ea_naseer
    @ea_naseer ปีที่แล้ว +219

    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 ปีที่แล้ว +10

      Its tesla

    • @JeremyStreich
      @JeremyStreich 9 หลายเดือนก่อน +5

      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 3 หลายเดือนก่อน +1

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

  • @sadramohh
    @sadramohh ปีที่แล้ว +15

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

  • @ergis8004
    @ergis8004 ปีที่แล้ว +132

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

  • @cat-.-
    @cat-.- ปีที่แล้ว +101

    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 10 หลายเดือนก่อน +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 10 หลายเดือนก่อน +3

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

  • @TheNewton
    @TheNewton ปีที่แล้ว +66

    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.

  • @zirize
    @zirize ปีที่แล้ว +51

    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
      @ThePrimeTimeagen  ปีที่แล้ว +17

      A real m night shyamalan ending hopefully

  • @patrikfagard6525
    @patrikfagard6525 ปีที่แล้ว +239

    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  ปีที่แล้ว +224

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

    • @patrikfagard6525
      @patrikfagard6525 ปีที่แล้ว +82

      @@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 ปีที่แล้ว +46

      @@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 ปีที่แล้ว +15

      Regex for sql comments. Parse. Execute

    • @franciscopena7859
      @franciscopena7859 ปีที่แล้ว +7

      Anything is possible at that point

  • @JustByteMe
    @JustByteMe ปีที่แล้ว +209

    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 ปีที่แล้ว +52

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

    • @JustByteMe
      @JustByteMe ปีที่แล้ว +13

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

    • @T1Oracle
      @T1Oracle ปีที่แล้ว +13

      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 ปีที่แล้ว +6

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

  • @sunderkeenin
    @sunderkeenin ปีที่แล้ว +107

    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.

  • @dandogamer
    @dandogamer ปีที่แล้ว +78

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

    • @nisonatic
      @nisonatic ปีที่แล้ว +47

      Everyone who realized what garbage it was left, and everyone else loves playing video games waiting for this incredibly slow system.

    • @mateoruiz1311
      @mateoruiz1311 ปีที่แล้ว +27

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

  • @chrisdaman4179
    @chrisdaman4179 ปีที่แล้ว +65

    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.

  • @weatherwaxusefullhints2939
    @weatherwaxusefullhints2939 ปีที่แล้ว +78

    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
      @ThePrimeTimeagen  ปีที่แล้ว +41

      Geneous unparalleled

    • @canyonblue7735
      @canyonblue7735 9 หลายเดือนก่อน +1

      @@ThePrimeTimeagen This was a Never Ending Story.... FAAAALLLLCOOOOOOOOOOOORRRR!!!!!!!!

    • @Jabberwockybird
      @Jabberwockybird 4 หลายเดือนก่อน

      Gene yus

  • @adamm450
    @adamm450 ปีที่แล้ว +40

    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 :-)

  • @AnnaGottin
    @AnnaGottin ปีที่แล้ว +69

    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 11 หลายเดือนก่อน +13

      now that is what we call a pro gamer move

    • @hemmper
      @hemmper 8 หลายเดือนก่อน +15

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

    • @AnnaGottin
      @AnnaGottin 8 หลายเดือนก่อน

      @@hemmperofc

  • @Innengelaender
    @Innengelaender ปีที่แล้ว +26

    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.

  • @sahiljindal
    @sahiljindal ปีที่แล้ว +24

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

  • @Gorgutzdaboss
    @Gorgutzdaboss ปีที่แล้ว +68

    Poor Jake to have joined such a wtf company

  • @DevRel1
    @DevRel1 ปีที่แล้ว +40

    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
      @MrKogarou 11 หลายเดือนก่อน +3

      🤣😂🤣😂🤣

    • @tangiblewaves3581
      @tangiblewaves3581 11 หลายเดือนก่อน +3

      ABSML! 😂😂🤣🤣😂👌👌

    • @minastaros
      @minastaros 6 หลายเดือนก่อน +2

      use the blockchain to store your code. Way safer.

  • @Chris-jm2gx
    @Chris-jm2gx ปีที่แล้ว +16

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

  • @alangamer50
    @alangamer50 11 หลายเดือนก่อน +17

    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 6 หลายเดือนก่อน +1

      Tom will never die

    • @tbkswagg
      @tbkswagg 2 หลายเดือนก่อน

      "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 หลายเดือนก่อน

      Ok blood ​@@tbkswagg

  • @josefjelinek
    @josefjelinek ปีที่แล้ว +13

    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 4 หลายเดือนก่อน +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.

  • @anlumo1
    @anlumo1 ปีที่แล้ว +26

    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 6 หลายเดือนก่อน

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

    • @y00t00b3r
      @y00t00b3r 6 หลายเดือนก่อน

      please elaborate@@michalkowalik89

  • @vulcwen
    @vulcwen ปีที่แล้ว +15

    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 2 หลายเดือนก่อน

      Why it is exactly?

  • @stubb1qaz
    @stubb1qaz 7 หลายเดือนก่อน +4

    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 5 หลายเดือนก่อน

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

  • @sacredgeometry
    @sacredgeometry ปีที่แล้ว +91

    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 ปีที่แล้ว +15

      yeah!! bye bye toxic worker and embrace performance!

    • @nisonatic
      @nisonatic ปีที่แล้ว +67

      How are you realistically going to make all that clear to some VPs who have no idea what SVN is, let alone a call stack?
      _hire an independent team to audit the solution_
      Put yourself in their shoes. The guy who broke the database is not accepting responsibility for his screw-up, insulting your star employee, and insisting you hire a team of auditors.
      _I would have advised them that they were haemorrhaging money..._
      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.
      Tom really is a genius.

    • @sacredgeometry
      @sacredgeometry ปีที่แล้ว +15

      ​@@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.

    • @nisonatic
      @nisonatic ปีที่แล้ว +14

      @@sacredgeometry Though I think this place is definitely a lost cause, your inclination to push back on such a ridiculous situation is definitely something sorely needed in the industry.
      _I can show them that the suggested tactic for dealing with the 2 day build times was to twiddle my thumbs._
      That's a good point that hadn't occurred to me. They'd definitely have some explaining to do.

    • @sacredgeometry
      @sacredgeometry ปีที่แล้ว +6

      @@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

  • @sirhenrystalwart8303
    @sirhenrystalwart8303 11 หลายเดือนก่อน +13

    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.

  • @davew2040x
    @davew2040x 4 หลายเดือนก่อน +1

    “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”.

  • @CottidaeSEA
    @CottidaeSEA ปีที่แล้ว +11

    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.

  • @bkucenski
    @bkucenski ปีที่แล้ว +5

    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 4 หลายเดือนก่อน

      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.

  • @polyglotusamericanus4163
    @polyglotusamericanus4163 ปีที่แล้ว +5

    TEML: Tom's Esoteric Messy Language

  • @vehasmaa
    @vehasmaa ปีที่แล้ว +7

    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.

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

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

  • @lukamiler5824
    @lukamiler5824 11 หลายเดือนก่อน +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.

  • @pristinewebdev6680
    @pristinewebdev6680 ปีที่แล้ว +7

    "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

  • @_ch1pset
    @_ch1pset 11 หลายเดือนก่อน +5

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

  • @karmatraining
    @karmatraining ปีที่แล้ว +6

    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.

  • @max_ishere
    @max_ishere 11 หลายเดือนก่อน +10

    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

  • @alexdegaston422
    @alexdegaston422 8 หลายเดือนก่อน +4

    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.

  • @usergroupX
    @usergroupX 11 หลายเดือนก่อน

    Yo! So glad to see a computer science dude with personality! I loved that 'bit' when you found out about nesting P TAGS ! Your assumptions were wrong but still posted the video. Mad Kudos my dude. Keep on keeping on friend

  • @utubekade
    @utubekade 5 หลายเดือนก่อน

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

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

  • @kaizer-777
    @kaizer-777 6 หลายเดือนก่อน +2

    Tom is a genius when it comes to job security.

  • @manningfamilychronicles1601
    @manningfamilychronicles1601 ปีที่แล้ว +3

    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.

  • @qbasic16
    @qbasic16 ปีที่แล้ว +6

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

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

  • @torshepherd9334
    @torshepherd9334 ปีที่แล้ว +4

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

  • @0bzen22
    @0bzen22 5 หลายเดือนก่อน +1

    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.

  • @user-sv3dc5nz8w
    @user-sv3dc5nz8w 10 หลายเดือนก่อน

    Oh, i saw this story few light years back... It was funny as hell. Today I've just seen a new bar of "great show" has been established. Can't stop smiling man thx fir your reaction, what a gem 😂

  • @poakssa
    @poakssa ปีที่แล้ว +3

    Tom should have been stopped by the time traveling Terminator

  • @-Jason-L
    @-Jason-L 11 หลายเดือนก่อน +4

    Nothing is more dangerous than an ambitious dev who knows enough to be dangerous

  • @michaeldere2892
    @michaeldere2892 6 หลายเดือนก่อน

    Dude! Fist Bump! Likewise, I quit Comp Sci and did Mech Eng. and loved every bit of it!
    Keep up with this content!

  • @user-jj2tr4pi3z
    @user-jj2tr4pi3z ปีที่แล้ว +12

    Wait, isn't this just how web3 works? I think tom was ahead of his time.

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

  • @disculpa
    @disculpa ปีที่แล้ว +2

    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.

  • @aritark
    @aritark ปีที่แล้ว +6

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

  • @Mouradif
    @Mouradif 11 หลายเดือนก่อน +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

  • @chm10323
    @chm10323 ปีที่แล้ว +4

    JDSL., it seem similar to webpack handling, packing in one file, and all function pack in a array....

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

  • @CaleMcCollough
    @CaleMcCollough 8 หลายเดือนก่อน +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.

  • @elCamo12
    @elCamo12 ปีที่แล้ว +6

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

  • @MeriaDuck
    @MeriaDuck ปีที่แล้ว +3

    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😂😂😂

  • @SirBearingtonSupporter
    @SirBearingtonSupporter ปีที่แล้ว +3

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

  • @ariseyhun2085
    @ariseyhun2085 ปีที่แล้ว +3

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

  • @jamesjenkins9480
    @jamesjenkins9480 ปีที่แล้ว +2

    I feel seen in my pain. I worked at a company that had a JDSL, not quite as bad as this but... Yeah. And it was a 1B AUM hedge fund, I'll have you know. And they kept it in SVN too lol

    • @jamesjenkins9480
      @jamesjenkins9480 ปีที่แล้ว +2

      Eerily... I worked with a guy named Tom too, and he loved this JDSL... 😬

  • @TheKub1s
    @TheKub1s ปีที่แล้ว +4

    C# is love, C# is life

  • @JoseAyerdis
    @JoseAyerdis ปีที่แล้ว +1

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

  • @Sindoku
    @Sindoku 5 หลายเดือนก่อน +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!!!!!

  • @TristanBailey
    @TristanBailey 6 หลายเดือนก่อน

    That is mind blowing. To think of using revisions as a sort of branching file system is magic 🎉

  • @Waitwhat469
    @Waitwhat469 8 หลายเดือนก่อน

    Had a moment as a sys admin like this. A workstation was frozen, I sshed in to check running services for usual culprits, tried killing some services that I knew could die, etc. No luck. Had to reboot the system. User was able to log back in, and everything worked as expected.
    Turns out the user app made unsafe database connections directly to the backend, and if not closed properally could cause a multi-day effort to restore. I got in trouble despite being made responsible for these systems with no documentation or training, and just aggressively trying to document as I went. I tried to push for an engineering fix for what was a clearly bad design and got told to "not make this worse for myself". Glad I left there too.

  • @nisonatic
    @nisonatic ปีที่แล้ว +3

    Eh, not super worried about Zig's weird casing. That reminds me of Python's snake_case for variables and then UserDefinedTypes; a bit jarring, but you get used to it.
    On a scale of evil, where 0 is "ordinary malice" and 10 is "social media influencer", how evil is snake_case_for_values and Capital_Snake_Types? I have a reason for this, just curious about opinions.

  • @darioabbece3948
    @darioabbece3948 ปีที่แล้ว +6

    I guess the real problem was to cope with the SVN, not the jdsl

    • @sacredgeometry
      @sacredgeometry ปีที่แล้ว

      SVN as awful as it is was the least of it.

  • @smnkumarpaul
    @smnkumarpaul 11 หลายเดือนก่อน +3

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

  • @Zynh0722
    @Zynh0722 ปีที่แล้ว

    I can read the text!! Thank you so much Prime!

  • @monad_tcp
    @monad_tcp ปีที่แล้ว +1

    7:46 oh, I almost did that one time when I was 14yo. The metaprogramming hell, but I did it with TSQL, so it was actually debuggable, and wasn't an entire DSL.
    Usually when I need a DSL I create it using function calls in the host language directly, so it can be run and executed and debugged in the same environment.
    The only programming language that has a good support for DSL is F# , and only in a very specific context, and it was created for doing Linq. DSL for SQL is kinda okay, despite needing a ORM.
    And you really shouldn't make the Database Model be the Domain Mondel of the system, so Linq is fine.

  • @pesterenan
    @pesterenan 11 หลายเดือนก่อน +1

    I'm so happy that I finally got to know Tom's story, he is truly a genius!

  • @scottfranco1962
    @scottfranco1962 21 วันที่ผ่านมา

    I have had many times when I couldn't get the environment setup for whatever reason. You don't go play games. You find a nice coworker who will let you view their setup while you are trying to get yours to work.
    Oh, and Tom is a genius.

  • @H4KnSL4K
    @H4KnSL4K 9 หลายเดือนก่อน

    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

  • @vikramkrishnan6414
    @vikramkrishnan6414 9 หลายเดือนก่อน +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.

  • @garyduell3768
    @garyduell3768 2 หลายเดือนก่อน +1

    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.

  • @canyonblue7735
    @canyonblue7735 9 หลายเดือนก่อน +1

    Billy upgraded from PHP and changed his name to Tom!

  • @isaacdadams
    @isaacdadams 11 หลายเดือนก่อน +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.

  • @thatJackBidenTalksAbout
    @thatJackBidenTalksAbout 6 หลายเดือนก่อน +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."

  • @reconquista1911
    @reconquista1911 9 หลายเดือนก่อน

    This is awesome. I'll implement it in my project.

  • @sortof3337
    @sortof3337 ปีที่แล้ว +3

    i m creating a json parser for embedded sys at my job.

  • @andrearaimondi882
    @andrearaimondi882 11 หลายเดือนก่อน +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

  • @sub-harmonik
    @sub-harmonik 7 หลายเดือนก่อน +1

    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.