The Most Amazing Software Ever Created

Sdílet
Vložit
  • čas přidán 20. 05. 2023
  • Recorded live on twitch, GET IN
    / theprimeagen
    MY MAIN YT CHANNEL: Has well edited engineering videos
    / theprimeagen
    Discord
    / discord
    Have something for me to read or react to?: / theprimeagenreact
  • Věda a technologie

Komentáře • 719

  • @ThePrimeTimeagen
    @ThePrimeTimeagen  Před rokem +1604

    Tom is a genius

  • @janAkaliKilo
    @janAkaliKilo Před rokem +2103

    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 Před rokem

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

    • @HarshitSinha1102
      @HarshitSinha1102 Před rokem +171

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

    • @houstonbova3136
      @houstonbova3136 Před rokem +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 Před rokem +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 Před rokem +22

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

  • @Bulkje
    @Bulkje Před rokem +878

    Tom is a -100x engineer

    • @ImperiumLibertas
      @ImperiumLibertas Před rokem +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 Před rokem +32

      ​@@ImperiumLibertas job security

    • @alexandreg.1000
      @alexandreg.1000 Před rokem +1

      Tom is not a engineer :)

    • @BusinessWolf1
      @BusinessWolf1 Před rokem +21

      @@alexandreg.1000 no, tom is a genius

    • @JorgetePanete
      @JorgetePanete Před rokem +5

      100ix engineer

  • @botondhetyey159
    @botondhetyey159 Před rokem +655

    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 Před rokem

      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.

  • @yannick5099
    @yannick5099 Před rokem +797

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

    • @unstable-horse
      @unstable-horse Před rokem +131

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

    • @whig01
      @whig01 Před rokem +132

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

    • @SimonBuchanNz
      @SimonBuchanNz Před rokem +24

      ​@@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 Před rokem +14

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

    • @SimonBuchanNz
      @SimonBuchanNz Před rokem +3

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

  • @ayushchaudhari5655
    @ayushchaudhari5655 Před 10 měsíci +61

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

  • @everythinggoes850
    @everythinggoes850 Před rokem +425

    Tom is a 20X engineer

    • @Requiem100500
      @Requiem100500 Před rokem +72

      Tom is √(−1)X engineer

    • @filiformis
      @filiformis Před rokem +15

      @@Requiem100500 He works at Disney?

    • @tricky2014
      @tricky2014 Před rokem +18

      20x job security.

    • @karmatraining
      @karmatraining Před rokem +4

      More like -20x

    • @apollolux
      @apollolux Před 9 měsíci +2

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

  • @denissorn
    @denissorn Před rokem +234

    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 Před rokem +13

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

    • @La0bouchere
      @La0bouchere Před rokem

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

    • @denissorn
      @denissorn Před rokem +13

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

    • @MrDgf97
      @MrDgf97 Před rokem +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 Před rokem

      gets*

  • @klaudyw3
    @klaudyw3 Před rokem +232

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

    • @karmatraining
      @karmatraining Před rokem +20

      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 Před 7 měsíci

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

    • @adammiller9029
      @adammiller9029 Před 2 měsíci

      ​@@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 Před rokem +271

    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 Před rokem +38

      The sheer malice in doing this overwhelms the sane mind

    • @morganjonasson2947
      @morganjonasson2947 Před rokem +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 Před 11 měsíci +10

      @@morganjonasson2947 I mean it is based on JSON

    • @weeb3277
      @weeb3277 Před 8 měsíci +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 Před 5 měsíci +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.

  • @patricknelson
    @patricknelson Před rokem +295

    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 Před rokem +25

      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 Před 11 měsíci +29

      @@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 Před 11 měsíci +7

      ​@@baetz2this makes a bunch of sense actually

    • @winnie8614
      @winnie8614 Před 11 měsíci +5

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

    • @romannasuti25
      @romannasuti25 Před 10 měsíci +5

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

  • @rasnauf
    @rasnauf Před rokem +422

    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 Před 9 měsíci +24

      Yep, he's a genius alright...

  • @NdxtremePro
    @NdxtremePro Před rokem +492

    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 Před rokem +108

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

    • @TheNewton
      @TheNewton Před rokem +52

      And made JSON into an AST config file format

    • @karmatraining
      @karmatraining Před rokem +45

      He turned SVN into an unfathomable Eldritch portal

    • @hfspace
      @hfspace Před rokem +15

      the analyses here are just gold :D

    • @user31415
      @user31415 Před 4 měsíci +1

      Tom is a genius

  • @ea_naseer
    @ea_naseer Před rokem +221

    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 Před rokem +10

      Its tesla

    • @JeremyStreich
      @JeremyStreich Před 10 měsíci +6

      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 Před 3 měsíci +1

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

  • @ergis8004
    @ergis8004 Před rokem +133

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

  • @sadramohh
    @sadramohh Před rokem +15

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

  • @cat-.-
    @cat-.- Před rokem +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 Před 10 měsíci +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 Před 10 měsíci +3

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

  • @zirize
    @zirize Před rokem +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.

  • @patrikfagard6525
    @patrikfagard6525 Před rokem +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  Před rokem +224

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

    • @patrikfagard6525
      @patrikfagard6525 Před rokem +84

      @@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 Před rokem +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 Před rokem +15

      Regex for sql comments. Parse. Execute

    • @franciscopena7859
      @franciscopena7859 Před rokem +7

      Anything is possible at that point

  • @JustByteMe
    @JustByteMe Před rokem +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 Před rokem +52

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

    • @JustByteMe
      @JustByteMe Před rokem +13

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

    • @T1Oracle
      @T1Oracle Před rokem +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 Před rokem +6

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

    • @T1Oracle
      @T1Oracle Před rokem +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.

  • @dandogamer
    @dandogamer Před rokem +77

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

    • @mateoruiz1311
      @mateoruiz1311 Před rokem +26

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

  • @sunderkeenin
    @sunderkeenin Před rokem +108

    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.

  • @TheNewton
    @TheNewton Před rokem +67

    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.

  • @weatherwaxusefullhints2939

    I'm only starting out as an intern, but I already know that I will never be able to hold the water to Tom #genious

  • @adamm450
    @adamm450 Před rokem +40

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

    • @hfspace
      @hfspace Před rokem

      Yeah, good stories are needed :-)

  • @sahiljindal
    @sahiljindal Před rokem +25

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

  • @AnnaGottin
    @AnnaGottin Před rokem +70

    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 Před rokem +13

      now that is what we call a pro gamer move

    • @hemmper
      @hemmper Před 9 měsíci +15

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

    • @AnnaGottin
      @AnnaGottin Před 9 měsíci

      @@hemmperofc

  • @chrisdaman4179
    @chrisdaman4179 Před rokem +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.

  • @Innengelaender
    @Innengelaender Před rokem +27

    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.

  • @DevRel1
    @DevRel1 Před rokem +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 Před 11 měsíci +3

      🤣😂🤣😂🤣

    • @tangiblewaves3581
      @tangiblewaves3581 Před 11 měsíci +3

      ABSML! 😂😂🤣🤣😂👌👌

    • @minastaros
      @minastaros Před 6 měsíci +2

      use the blockchain to store your code. Way safer.

  • @Pariatech
    @Pariatech Před rokem +68

    Poor Jake to have joined such a wtf company

  • @vulcwen
    @vulcwen Před rokem +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 Před 3 měsíci

      Why it is exactly?

  • @Chris-jm2gx
    @Chris-jm2gx Před rokem +16

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

  • @anlumo1
    @anlumo1 Před rokem +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 Před rokem +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 Před 6 měsíci

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

    • @y00t00b3r
      @y00t00b3r Před 6 měsíci

      please elaborate@@michalkowalik89

  • @alangamer50
    @alangamer50 Před 11 měsíci +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 Před 6 měsíci +1

      Tom will never die

    • @tbkswagg
      @tbkswagg Před 3 měsíci

      "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 Před měsícem

      Ok blood ​@@tbkswagg

  • @sirhenrystalwart8303
    @sirhenrystalwart8303 Před 11 měsíci +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.

  • @josefjelinek
    @josefjelinek Před rokem +14

    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 Před 4 měsíci +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.

  • @stubb1qaz
    @stubb1qaz Před 7 měsíci +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 Před 5 měsíci

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

  • @pizza-cat1337
    @pizza-cat1337 Před rokem +31

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

  • @CottidaeSEA
    @CottidaeSEA Před rokem +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 Před rokem +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 Před 4 měsíci

      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.

  • @sacredgeometry
    @sacredgeometry Před rokem +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 Před rokem +15

      yeah!! bye bye toxic worker and embrace performance!

    • @sacredgeometry
      @sacredgeometry Před rokem +14

      ​@@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 Před rokem +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 Před rokem +5

      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 Před rokem +7

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

  • @lukamiler5824
    @lukamiler5824 Před 11 měsíci +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.

  • @polyglotusamericanus4163

    TEML: Tom's Esoteric Messy Language

  • @davew2040x
    @davew2040x Před 4 měsíci +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”.

  • @0bzen22
    @0bzen22 Před 5 měsíci +2

    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.

  • @Tekay37
    @Tekay37 Před rokem +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.

  • @alexdegaston422
    @alexdegaston422 Před 8 měsíci +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.

  • @pristinewebdev6680
    @pristinewebdev6680 Před rokem +7

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

    • @luvincste
      @luvincste Před rokem +2

      even checking out chromium code base takes less time

  • @karmatraining
    @karmatraining Před rokem +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 Před rokem

      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.

  • @vehasmaa
    @vehasmaa Před rokem +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.

  • @_ch1pset
    @_ch1pset Před 11 měsíci +5

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

  • @hypergraphic
    @hypergraphic Před rokem +11

    Omg that is the funniest programming react video ever!

    • @ThePrimeTimeagen
      @ThePrimeTimeagen  Před rokem +14

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

  • @manningfamilychronicles1601

    I don't know if I've ever watched one of your videos where you didn't forget to turn off notifications... It's beautiful. Genius strat. At a certain point in every video, I ask myself... "Have I watched this already", but then remember that you always forget to turn off alerts, so I watch it anyway... even if I've seen it already. What a psychological smokescreen.

  • @kaizer-777
    @kaizer-777 Před 7 měsíci +2

    Tom is a genius when it comes to job security.

  • @max_ishere
    @max_ishere Před 11 měsíci +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

  • @torshepherd9334
    @torshepherd9334 Před rokem +4

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

  • @utubekade
    @utubekade Před 6 měsíci

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

  • @disculpa
    @disculpa Před rokem +3

    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.

  • @MrJejuni
    @MrJejuni Před rokem +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.

  • @-Jason-L
    @-Jason-L Před 11 měsíci +4

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

  • @usergroupX
    @usergroupX Před rokem

    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

  • @poakssa
    @poakssa Před rokem +3

    Tom should have been stopped by the time traveling Terminator

  • @elCamo12
    @elCamo12 Před rokem +6

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

  • @mage3690
    @mage3690 Před rokem +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.

  • @user-sv3dc5nz8w
    @user-sv3dc5nz8w Před 11 měsíci

    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 😂

  • @MeriaDuck
    @MeriaDuck Před rokem +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 Před rokem

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

  • @qbasic16
    @qbasic16 Před rokem +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".

  • @aritark
    @aritark Před rokem +5

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

  • @SirBearingtonSupporter
    @SirBearingtonSupporter Před rokem +3

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

  • @TheKub1s
    @TheKub1s Před rokem +4

    C# is love, C# is life

  • @CaleMcCollough
    @CaleMcCollough Před 9 měsíci +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.

  • @Thect
    @Thect Před rokem +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.

  • @JoseAyerdis
    @JoseAyerdis Před rokem +1

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

  • @vikramkrishnan6414
    @vikramkrishnan6414 Před 10 měsíci +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 Před 3 měsíci +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.

  • @smnkumarpaul
    @smnkumarpaul Před 11 měsíci +3

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

  • @ariseyhun2085
    @ariseyhun2085 Před rokem +3

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

  • @Mouradif
    @Mouradif Před rokem +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

  • @michaeldere2892
    @michaeldere2892 Před 6 měsíci

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

  • @canyonblue7735
    @canyonblue7735 Před 10 měsíci +1

    Billy upgraded from PHP and changed his name to Tom!

  • @user-jj2tr4pi3z
    @user-jj2tr4pi3z Před rokem +12

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

  • @AzulaAlwaysLies2461
    @AzulaAlwaysLies2461 Před 2 měsíci +1

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

  • @darioabbece3948
    @darioabbece3948 Před rokem +6

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

  • @Sindoku
    @Sindoku Před 6 měsíci +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!!!!!

  • @isaacdadams
    @isaacdadams Před rokem +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.

  • @WolfrostWasTaken
    @WolfrostWasTaken Před rokem +5

    I refuse to believe this story is real.

    • @sammysheep
      @sammysheep Před rokem +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 Před rokem

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

  • @jamesjenkins9480
    @jamesjenkins9480 Před rokem +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 Před rokem +2

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

  • @Zynh0722
    @Zynh0722 Před rokem

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

  • @thatJackBidenTalksAbout
    @thatJackBidenTalksAbout Před 7 měsíci +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."

  • @pesterenan
    @pesterenan Před 11 měsíci +1

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

  • @xslashsdas
    @xslashsdas Před rokem +2

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

  • @scottfranco1962
    @scottfranco1962 Před měsícem

    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.

  • @TristanBailey
    @TristanBailey Před 6 měsíci

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

  • @JackDespero
    @JackDespero Před 10 měsíci +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.

  • @sub-harmonik
    @sub-harmonik Před 8 měsíci +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.

  • @danielcoats713
    @danielcoats713 Před rokem +1

    Tom seems to have turned an unsuspecting company's IT department into a pet project for his curiosities he'll lose interest in a few months after starting. Absolute gigachad.

  • @DannyGlobal
    @DannyGlobal Před 2 měsíci +1

    Mechanical Engineering FTW. I knew we had something in common.

  • @chm10323
    @chm10323 Před rokem +4

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

  • @SigmaTapion
    @SigmaTapion Před rokem +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