The Real 100x Dev

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

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

  • @tom-delalande
    @tom-delalande Месяц назад +116

    Thank you for the feature! Thibault is a legend & Lichess is awesome.
    Here as some additional information based on what Prime said in this video:
    2:42 - For top level Chess players, a simple nudge in a critical position to let them know they should use their time is enough to swing a game in their favour
    9:00 - Bare metal may not be a great word here. I was trying to differentiate from the cloud, and to say that they manage everything on the machines (down to the Linux distro)
    20:55 - Storage makes up 40-50% of the overall server costs, or about $2000 USD a month. There is a spreadsheet with all costs breakdown linked on the Lichess site (or at 32:11)
    21:11 - I think picking a DB can be very scary when starting a project. What I meant here is that as long as your choice has robust and scalable it's not that critical to building a successful product.
    25:00 - What I meant by raw Javascript was DOM manipulation
    30:34 - Not sure about this one since Thibault still uses Arch on his personal computer
    32:50 - It all runs off donations and it is registered as a not-for-profit

    • @PraiseYeezus
      @PraiseYeezus Месяц назад +2

      picking a DB based on pertinence to the problem > picking a DB because you like it and know it well

  • @AScribblingTurtle
    @AScribblingTurtle Месяц назад +714

    Welcome to MongoDB, where every field of every dataset is basically Schrödingers Datafield. You only truly know if it exists and what type it is, once you observe it.

    • @samarnagar9699
      @samarnagar9699 Месяц назад +23

      My god that's soo good Imma sc it

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

      I prefer stored procedures in relational databases myself. 🥸

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

      LMAO

    • @Arunnn241
      @Arunnn241 Месяц назад +2

      And half the time it's dead and doesn't exist

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

      I'm not a programmer. What is the $jsonSchema validation for?

  • @orionh5535
    @orionh5535 Месяц назад +35

    A real 100x dev makes a 10 hour reaction video from 6 minutes of content.

  • @demolazer
    @demolazer Месяц назад +329

    Whenever I hear the number of engineers at any large company, I do often wonder wtf they all do

    • @zishiwu7757
      @zishiwu7757 Месяц назад +41

      Each team of engineers at a big company owns a few widgets on the site, or a service or collection services, or internal tool or whatever. Can be very silo’ed

    • @XDarkGreyX
      @XDarkGreyX Месяц назад +8

      Overly specialized. Often enough more than needed?

    • @ebenezerkouakou3869
      @ebenezerkouakou3869 Месяц назад +35

      This is why companies are firing people because they see comments like this

    • @catmaxi2599
      @catmaxi2599 Месяц назад +18

      Theres also a shit ton more bureaucracy to deal with at larger comapnies. Younneed to alogn more people to amke decisions. You need deal woth a lot more secuirity reviews for any small features. You need workwith all the tech debt we have

    • @cucumberwithketchup
      @cucumberwithketchup Месяц назад +7

      The bigger company I work in because, the less of actual work I have to do

  • @OwenIngraham
    @OwenIngraham Месяц назад +100

    for completeness: it was the Omega Star team that still doesn't support ISO timestamps (even though they said they would, like a month ago)

    • @wlockuz4467
      @wlockuz4467 Месяц назад +11

      I'll die alone. Without ever knowing love.

    • @peterkerj7357
      @peterkerj7357 Месяц назад +4

      ​@@wlockuz4467So will I. You're not special.

    • @qlx-i
      @qlx-i Месяц назад

      can anyone explain wtf is an omega star team

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

      @@qlx-i It's a joke in the Microservices video from KRAZAM

  • @neruneri
    @neruneri Месяц назад +54

    3:00 you wouldn't need to do anything that complicated. Just having a boolean that answers if the player is in an advantaged position or not is enough to drastically improve chess between grandmasters. It's arguably the hardest thing at that level of chess, simply analyzing whether your strategy is working or if there's a massive hidden threat. If you can just have the answer in yes or no form, that's enough of an advantage to change how you play those positions.

    • @neruneri
      @neruneri Месяц назад +16

      Another way to think about it is that at that skill level of chess, you can presume that anything that is findable will be found if the player is told to look for it. So it would be an effective method to just have it be quiet until an imbalance occurs on either side, and then it tells you to pay attention.

  • @BosonCollider
    @BosonCollider Месяц назад +118

    Scala is pretty neat for a long-term one-man project, where advanced language features are not a downside, while types are amazing.

    • @ederolima
      @ederolima Месяц назад +1

      Scala is like Rust with GC

    • @DlacremeFR
      @DlacremeFR Месяц назад +4

      @@ederolima I don't think so, they don't serve the same purpose

    • @sizur
      @sizur Месяц назад +2

      @@DlacremeFRGC is the difference that dictates the difference of purpose between the two.

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

      @@ederolimaI’m gonna start using scala, huh

    • @AgustinusLaw
      @AgustinusLaw 13 дней назад +1

      I am coming from Java 8 (old legacy customers) background doing a one-off Scala project for large data transformation. I tried to do it the proper Scala-way (everything immutable and FP) from the EPFL Effective Scala course. It was such a delight to use and I just love it. Later on I learned Java copied/mimicked a bunch of the Scala features over to the modern Java like case class -> records, pattern matching, etc.

  • @Telhias
    @Telhias Месяц назад +77

    Regarding the vibrations question. The answer is simple. The beads would vibrate when there is a great move on the board that can give the player an advantage. Given enough time, top chess players will find it. The problem is with knowing whether it exists because if it doesn't then you are just wasting your time and the move you thought of in 5 seconds is the move you will play after wasting 5 minutes. The time on the clock is the single most important resource you have. If you waste it on the wrong moves, then you won't have it when it matters.

    • @AkilanNarayanaswamy
      @AkilanNarayanaswamy Месяц назад +11

      Funny enough I actually watched the origin of that rumor. Eric Hansen made a joke about it on the chessbrah channel covering the scandal and then mainstream media ran with it as a real possibility 😂

    • @AkilanNarayanaswamy
      @AkilanNarayanaswamy Месяц назад +3

      Also you could just encode the moves and have it vibrate it

    • @bryangomez5951
      @bryangomez5951 Месяц назад +1

      assencoding

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

      How can you know for sure if they're cheating? Don't worry, they'll let you know. If they moan or leave a wet spot on their chair, it's their prostate being milked for hours. Wait, he's playing chess? I didn't know that, I thought he was just gooning in public.

    • @asdfghyter
      @asdfghyter Месяц назад +1

      i think the origin of the meme is that when someone was asked about how someone could’ve cheated, one possible answer was “using a hidden vibrating device”, at which point the jump to beads was very obvious

  • @somniad
    @somniad Месяц назад +35

    A manager went to the master programmer and showed him the requirements document for a new application. The manager asked the master: "How long will it take to design this system if I assign five programmers to it?" "It will take one year," said the master promptly. "But we need this system immediately or even sooner! How long will it take if I assign ten programmers to it?" The master programmer frowned. "In that case, it will take two years." "And what if I assign a hundred programmers to it?" The master programmer shrugged. "Then the design will never be completed," he said.
    - The Tao of Programming

  • @meltygear5955
    @meltygear5955 Месяц назад +31

    I hate to say it but the "feature is a liability" talked about at 35:20 will never be realized for the majority of professional devs, because there's too much jumping around from company to company, while speedrunning features to impress their bosses for the sake of miniscule gains, therefore most people don't actually ENGINEER the thing they work on.
    Ornicar2 is an inspiration!

    • @elcapitan6126
      @elcapitan6126 Месяц назад +5

      there's no coordinated engineering as long as large companies treat employees as interchangeable and ignore skills and knowledge that can't be immediately transferred as employees come and go due to the plug and play mentality of managers.

  • @naxsis_1Ki1game
    @naxsis_1Ki1game Месяц назад +19

    When the 1000x engineer vid come up, we are WAITING DAMN VIDEOOOOOOOOOOOO

  • @mage3690
    @mage3690 Месяц назад +58

    When I hear "a bare metal server", I think "MacBook under the stairs".
    Also, lag compensation and optimistic client-side rendering are _not_ unique to turn-based games. I play a lot of first-person shooters. Optimistic client-side rendering is what causes rubber-banding on high ping when the server decides your inputs are invalid for whatever reason (e.g. packet loss). One form of lag compensation known as server-side movement prediction is what causes the models of disconnected players to continue on their last course at their last speed until they hit a wall, and can mitigate a lot of peeker's advantage. Another form of lag compensation known as ping rollback (or rollback frames in fighting games) is what causes you to get shot around a corner, because it gives the guy who fired the shot preferential treatment over movement. Overwatch 1 in particular had a fairly strong ping rollback system, and that game felt fantastic to play even on 250 ping (although I think ping rollback capped out at maybe 100 ms).
    Now, what _is_ true, is that turn-based games can crank all these dials up to 11. 1-5 second ping times could go wholly unnoticed in chess, while an FPS player would likely start screaming the instant they see triple digit ms.
    Thank you for coming to my TED talk
    -a guy who has never written a letter of netcode

    • @asdasdv7540
      @asdasdv7540 Месяц назад +4

      People do play fast games of chess where lower latency does matter (I play a lot of bullet where each player starts with 1 min on their clock, some people even play ultrabullet which is normally 15 seconds). Or they sometimes get low on time while playing slower games. Lichess does compensate for ping, and I think that you get more time to think if you're on higher ping/can premove in a longer window, but it would be excessive to compensate a full second per move. The servers are in France, and I typically get a bit under 300ms ping, which feels noticeably more lenient than when I watch some streamers play (who I assume have lower latency because of their location).

    • @mage3690
      @mage3690 Месяц назад +3

      @@asdasdv7540 the way I imagine lag compensation for bullet chess games working is that you get more time to think, sure, but not when it matters. The instant your computer gets the enemy move, your clock is running, and you only have the time on the clock to react to the current enemy move. So does it really matter if you're desynced by up to 5 seconds? You get 10 more seconds per move to imagine what your enemy is going to do and general strategy, sure, but no additional time to react to anything.

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

      I'm open to being wrong here, though -- I don't play online chess, so I don't know how much it would matter.

    • @asdasdv7540
      @asdasdv7540 Месяц назад +2

      @@mage3690 An extra 10 seconds (or even 1 second) per move would matter a massive amount in bullet. You have extra time to anticipate the enemy moves/calculate lines, and see any flaws in the moves you were considering to do. You just have more time to generally process the board. Keep in mind that the 1 min is not per move, it's for all your moves over the entire game. Thinking on your opponents time is very important in general. When in a time scramble (when both players are low on time), you barely have time to think, you just have to make legal moves, while maybe going for some plan/tricks to win, but playing fast enough to not run out of time. If you can have that extra time to think about your opponents threats, it is a big deal (for both players, since your opponent would also be thinking on your time).

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

      I find it amazing that Overwatch was such a great piece of software, ECS, latency system, design, playability. But in the end what killed the game was Blizzard's bad decisions because the game did not enough money to be "worth it"

  • @smort123
    @smort123 Месяц назад +16

    "So youre a scala dev? Enumerate all possibilities."

  • @CropCircleSystems
    @CropCircleSystems 19 дней назад +1

    every sufficiently complex and highly available system evolves to either install or reinvent the wheels that are Erlang/OTP. every sufficiently performant system evolves to approach the limit that is Awk/NC.

  • @Jebusankel
    @Jebusankel Месяц назад +12

    Dude's raw dogging transistors out here

  • @tehbunnymaster
    @tehbunnymaster Месяц назад +3

    Regarding "passing a message via vibration" a common take from grandmasters is that even a single bit of information (specifically buzzing once when the engine thinks there exist one move that is much better than all others) would be a huge advantage in competitive play between pros.

  • @georgehelyar
    @georgehelyar Месяц назад +31

    This is written by 1 person...
    The next 2 people with 3000 and 1000 commits that probably aren't getting paid at all..

    • @dodibtw
      @dodibtw Месяц назад +7

      the guy with 50000 commits is being paid 58k a year. How much do you think they're able to pay the 3000 and 1000 commits guys?

  • @milseq
    @milseq Месяц назад +14

    Enum is short for electronic number

  • @micahshellhamer3794
    @micahshellhamer3794 Месяц назад +8

    They need to do a cavity search before each match.

  • @o1-preview
    @o1-preview Месяц назад +194

    well well well, if it isn't a-skill-issue-agen

    • @Tymon0000
      @Tymon0000 Месяц назад +9

      Are you a human?

    • @djjean85
      @djjean85 Месяц назад +16

      @@Tymon0000we are cooked

    • @seif9923
      @seif9923 Месяц назад +4

      dead internet fr

    • @VanjeAv
      @VanjeAv Месяц назад +1

      what's happening

  • @AnthonyBullard
    @AnthonyBullard Месяц назад +6

    Scala is great, used it at a startup for 4 years. And while Play has downsides, their Twirl template language is very very good. Typesafe and very fast

  • @pablorepetto7804
    @pablorepetto7804 Месяц назад +4

    Re 34:15:
    > My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent".
    -- EWD 1036

  • @m-ok-6379
    @m-ok-6379 Месяц назад +14

    React is amazing for SPAs but it turns into a mess once the whole site starts running with React.

    • @masterflitzer
      @masterflitzer Месяц назад +2

      what if the whole site is an spa? i like vue or solid more than react anyway

  • @bonsairobo
    @bonsairobo Месяц назад +3

    I remember wanting to learn Scala like 10 years ago and I just couldn't bare the compile times. Hopefully it's improved significantly since then!

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

      yes it has! I learned Scala for a one-off project with Apache Spark. I noticed that if I used Jave 8 to compile it the time is horrendously slow. But if I use Java 21 to compile it, then something that takes 2 minute compile goes down to something like 4-10s. Note I use Gradle for my build.

  • @Gornius
    @Gornius Месяц назад +37

    Let's not forget about Peppy - author of osu!, dev who created one of the most popular if not the most popular ranked rhythm game almost entirely himself.

    • @InXLsisDeo
      @InXLsisDeo Месяц назад +14

      That's not anywhere close as impressive as what the author of lichess did, at least in terms of IT infrastructure.

    • @Fafr
      @Fafr Месяц назад +4

      @@InXLsisDeo Peppy also doesn't work alone by far. Though to me it still is impressive

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

      btw the next update to use osu lazer, it's a complete rewrite and opensource and his philosophy is "while players aren't switching to lazer on their own, we have work todo to improve it" and i think that's beautiful, btw osu lazer exists since 2017 and still isn't the default

  • @neilhatly
    @neilhatly Месяц назад +1

    Agreed about using frameworks at the start, then as time goes on, the enterprise demands to the codebase make them a liability. I think its still the correct path though, as going enterprise from the start introduces complexity which is counter-productive to maintaining a smaller codebase with non-domain developers.

  • @mrpocock
    @mrpocock Месяц назад +24

    In cs history, enums were literally just types with named integer type constants counting up from 0.

    • @chonchjohnch
      @chonchjohnch Месяц назад +1

      I like both typical numerical enums, but also more Java style enums that act as compile time constants
      They both have utility

    • @moonasha
      @moonasha Месяц назад +5

      still that way in C#, just integers with names attached. I didn't even know enums were fancier in other languages with constructors and whatnot until recently.

    • @Ancantus
      @Ancantus Месяц назад +3

      And the 'tag' of the tagged union is a 'normal enum'.

    • @Sandromatic
      @Sandromatic Месяц назад +1

      Zig I think does this the best way. For a tagged union, you do union(enum), and it creates a classical enum for the tag of the union. You can also define the enum separately and pass it in. Basically, it's a union with an enum as a tag in a position.

  • @mrpocock
    @mrpocock Месяц назад +7

    Scala is the best jvm language imho. Typeclasses, higher kinded type inference. Good interop with the test of the JVM ecosystem.

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

      Nah Flix gets the clear win as a language itself because it's newer and does not have technical debt and backward compatibility to worry from. Flix needs however a plan to get enough people to make libraries in it.

  • @mikhailgromov5223
    @mikhailgromov5223 Месяц назад +1

    Primeagen and chess in one video - not something I expected to see in my YT recommendations but clearly something I am happy to see

  • @cefcephatus
    @cefcephatus Месяц назад +5

    I want to draw everyone's attention to the humbleness presented. Guys, he literally says "product of years of evolution". But, instead of evolving new features, he evolves the system for less footprints. I know that product team has to come up with new features every month, and your enterprise package allows customers to request for "customization". But, a lot of the time, these additions are abstraction of existing product. So, if it is absolutely the case, UX is the problem.

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

      The user interface of Lichess is actually pretty good, very fast and it has lots of features like links to live streams, views of up to 15 games in real time, lists of problems, analysis, etc.

  • @Zodiacman16
    @Zodiacman16 Месяц назад +4

    i’m upset that he missed the “react is my favourite Meta framework” joke

  • @kylebroussard5952
    @kylebroussard5952 21 день назад +1

    *The epitome of the corporate world:* ayyo I need a full stack engineer who maintains our entire site. Pay: $58,000/yr plus we have pizza parties every Tuesday.

  • @georgerogers1166
    @georgerogers1166 Месяц назад +16

    High IQ wizards exist. 2 wizards out perform an army of Muppets.

  • @kuhluhOG
    @kuhluhOG Месяц назад +9

    4:05 Look at China. All of China is one timezone instead of at least 2, maybe 3.
    Or Nepal, they are UTC + 5¾.
    Or look at the International Date Line. We have UTC - 14 ffs.

    • @InvalidPersistentName
      @InvalidPersistentName Месяц назад +1

      @kuhluhOG Could you please expand on this? I’m confused

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

      @@InvalidPersistentName These a just a few example where time zones are more f'ed up than what Prime pointed out

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

      India is one timezone .not sure about china

  • @ireonus
    @ireonus Месяц назад +1

    For cheating in chess via vibration, I think what is important to know is that on the professional level, the games come down to one or two critical moments, where a critical moment is where you only have one possible winning move, where any other move makes you throw away the win, or a situation where there is only one defensive move, where any other move makes you loose the game. One of the most important (and hardest) part of this when you are playing, is to know exactly when this moment is ( and here is were a simple vibration hint can assist). This will allow you to invest a great deal of your limited time trying to find the correct move, compared to you not having a vibrator, and not knowing it is a critical position, and just making a move within a few minutes, since you don't want to run out of time in the long run.
    I would also like to point out, that this way of cheating wont make a amateur beat a professional, but for players of similar strength, if would definitely give one player the edge.

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

    Beautiful video. Ty so much for this content.

  • @tannerr-dev
    @tannerr-dev Месяц назад +4

    globe doesnt ever translate well to flat map. i wonder if the timezones would make more sense if plotted on a globe

    • @xXx_Regulus_xXx
      @xXx_Regulus_xXx Месяц назад +5

      they make more sense if you consider it's sane for a country that's small enough to exist in one time zone even if it intersects an imaginary line. Imagne driving across town and needing to change time zones because of it!

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

    I really like your last take. thanks for covering the story!

  • @neilhatly
    @neilhatly Месяц назад +1

    These sort of retro-viability of platforms created by one guy often ignore the fact it is more likely that it was chosen due to personal capability and preference over anything else.

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

    About the butt plug thing, at the highest level it's enough to send a single signal whenever there's a critical move on the board, that alone would be enough to decide victory especially across multiple matches, while also not tripping any cheat detection algorithms or even skewing statistics in a significant way

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

    I just watched this yesterday so glad you’re doing this one! I tried to go down a Scala hole afterward but it just didn’t seem to be there content wise

  • @t1nytim
    @t1nytim Месяц назад +1

    At a Grandmaster level, if you can highlight a single square, that's generally considered good enogh for a grandmaster to figure out what they are being advised. So a learning a simplified set of notifications to be able to given them that would be all that's required normally.

    • @burdenedbyhope
      @burdenedbyhope 10 дней назад

      or just telling them “this one is tricky”, improve the accuracy by a lot already

  • @ynokenty
    @ynokenty Месяц назад +1

    You know why he was so fast and productive? He didn’t have a team to sync with and stakeholders to cater to. Two devs is not a 2x speedup. Four devs feels like 2 devs most of the time. More devs is a burden.

  • @ikirachen
    @ikirachen Месяц назад +3

    ENUMERATION cause the cases can be enumerated !!!

  • @foxescanlearn
    @foxescanlearn Месяц назад +4

    I think that the enums are called enums because the enumerable set. Numerable sets are a set that have 1:1 correspondence with the natural numbers, so that, for every element exists a natural number that maps the element.
    In this case, the enum represents the mapping between the cases and a natural number, I think.
    en.wikipedia.org/wiki/Computably_enumerable_set

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

    Re: messaging via vibrations. For a good chess player you really only need to send the destination square, which can easily be coded as two integers between 1 and 8. So if you are OK doing it quite slowly then just vibrate the number of times for the first digit then the number of times for the second digit. If you can vary the vibration in two ways then it could easily be changed to 1-4 with each type of vibration meaning a different half of the board.

  • @bariole
    @bariole Месяц назад +1

    As long as a dependency is as reliable as your standard library, it shouldn't be a problem to include it. I would even prefer it to your own code.
    The issue with dependencies is the "have a bug -> upgrade" cycle. If libraries A and B have transitive dependencies on C, those transitive dependencies can conflict. Even if A and B cooperate well today, that doesn't guarantee they will tomorrow. Also, dependencies can be intrusive, which is both a value and a blessing. Something like Spring Boot or Ruby on Rails is very "intrusive" to the point that they *are* your architecture. Not using them isn't an option-you wouldn't have software without them. Using them means waiting for a new version to have a bug fixed.
    At the end of the day, handling binary dependencies is a mess, which is why solutions like distro package management and Docker were built. If there were a simple solution, we would already be using it. Taking a stance of "not using dependencies" means not using systems like Linux.
    So, that's that.

  • @IsZomg
    @IsZomg Месяц назад +1

    You don't need a morse code to cheat. You just need to know that there's a tactic or non obvious move and a good chess player will find it.

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

      More often, you just don't see a good strategy

  • @JF7SWE
    @JF7SWE Месяц назад +1

    Less is more - The number one thing I'll teach any new developer

  • @fiffy326
    @fiffy326 Месяц назад +10

    its time 2 rise and grind

    • @mohd-arz
      @mohd-arz Месяц назад

      What did you mean ?

    • @youtubeenjoyer1743
      @youtubeenjoyer1743 Месяц назад +1

      @@mohd-arzhe is a yogurt male. The more sophisticated version of a sigma male. Always on the ground, but does not forget to eat his protein-packed Greek yogurt.

  • @caioleonhardt
    @caioleonhardt Месяц назад +1

    For the cheating part, I've seen a lot of videos of Caruana and others, they say that a simple signal indicating critical positions give them a lot of advantages. Then the player would do the thinking in the position.

  • @duemez618
    @duemez618 Месяц назад +1

    Never thought I would hear MongoDB and resilient mentioned in the same sentence :D

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

    3:07 numbered coordinates, first the piece to move, second where it goes. saw a video where a guy created one

  • @davidjrb
    @davidjrb 23 дня назад

    This video made me realize how much I love programming

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

    Scala is great, especially when you keep it relatively simple and level up your team gradually. Performance and Type Safety are right up there, but it doesn't read like hieroglyphics the way Haskell can to a newcomer.

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

    3:10 You could do it N times to specify the column of something, and then N times again to specify the row.
    As just knowing the location to place something is enough for a good chess player to figure out what to do.
    If you weren't that good of a player, you could maybe do this twice, and so you first specify the start square, and then the end square. There are probably better ways of compressing this, maybe taking from inspiration from morse code with short and long signals, you can for example specify which side of the board it is on, so you only to at most 4 pulses, rather than 8.

  • @symbally
    @symbally Месяц назад +1

    You dropped some good wisdom bombs today

  • @yayinternets
    @yayinternets Месяц назад +6

    I did Scala from 2012-2018 or so. Great language and has totally changed the way I think about writing software.
    I switched to working on Go at a startup after that. It just so happened that a couple of other guys that got hired soon after me were also Scala devs. At first it was hard for us to wrap our heads around and appreciate something that had ignored the last 30 years of Computer Science, but we all eventually came to appreciate it's simplicity, fast builds, and small executable sizes. Keep in mind that go modules didn't exist at the time so there were competing ways to deal with dependencies.
    I still wish there were some way to work in Go treating data as immutable that was natural, but I digress.
    In the early days of Scala there wasn't really other ways to build projects sanely other than SBT. You almost had to actually understand a bit of Scala before being able to build it.

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

      have you used the scala-cli

    • @yayinternets
      @yayinternets Месяц назад +1

      @@awful999 It doesn't sound familiar, so I don't think so. At the time I worked on services for a video streaming platform for a cable company, so no cli stuff really.

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

      @@yayinternets with scala-cli you can compile and run scala way easier than using SBT.

  • @michaelrobb9542
    @michaelrobb9542 Месяц назад +1

    Regarding semantic type systems when applied to game's rules that can not change. Rust is perfect. Would you want to encode business logic into Rust's type system you will be refactoring every quarter, just to compile.

  • @gustavcoetzee5018
    @gustavcoetzee5018 Месяц назад +1

    you look at the map but fail to see. this is the world anomaly;

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

    Great video, thanks for the enlightening

  • @TheAndiKurz
    @TheAndiKurz Месяц назад +1

    42:26 But isn't that also the issue of "Batteries Included"? That the creaters of the language also have to implement the standard library, so creating a dependency system, they essentially don't need to anymore?
    Also I am a big fan of "Batteries Included", but I can understand the other approach aswell.

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

    standard library is also a dependency - can have faults and tradeoffs just like a third party library

  • @David_Groves
    @David_Groves Месяц назад +5

    To cheat you really do only need a boolean signal. At the high end being told that a particular position has a significant tactic and you need to switch your brain into “puzzle solving” mode is enough to gain a huge advantage.

  • @fennecbesixdouze1794
    @fennecbesixdouze1794 26 дней назад

    @40:30 I think it's nice to have community crates, but the best world is when the most successful projects that have become de-facto standards are folded into more of first-party support, whether that's being adopted into the standard library or first-party modules, or inspiring first-party APIs in the standard library.
    The worst thing is for crates to become de-facto standards where everyone is always pulling it into every project, but it is never absorbed into first-party support and the maintainers may eventually disappear suddenly and without warning.

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

    "I always want more types" omg that's exactly how i feel but i'm afraid to say it

  • @empyrionin
    @empyrionin 16 часов назад

    How to spot the average dev: "Devs don't need to know"

  • @tanner0397
    @tanner0397 Месяц назад +1

    Scala's great.

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

    There is a video of a channel called Mike Boyd named "Actually making THAT chess cheat device". He actually uses it against a guy really good at chess in the video and wins. Worth watching

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

    Tagged unions are called "enums" these days because there's no other satisfying concise keyword for what they actually are. At least, I have yet to either find one or come up with one myself. Haskell uses the keyword "data" and OCaml calls them "variants" neither of which express what they're about as well as "tagged union" or "sum type" do.

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

    I was on his stream while watching this video, he said the video from Tom and Prime's reaction are exaggerated. Im not sure if he is being humble, or these are just too easy for him and we are just all --100x engineers.

  • @nekogami87
    @nekogami87 Месяц назад +11

    The salaries are quite good for France, living cost is not what you might have in highly populated zone in the US.

    • @tahayassine7435
      @tahayassine7435 Месяц назад +5

      It’s triple the minimum wage, which is alright but still underpaid for someone with 5+ years of experience in development

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

      @@tahayassine7435 for a project that's community backed ? Where you are your own boss and don't need to convince higher ups that tech debt needs to be solved ? Where tech wise you do whatever you want ? Yeah I take that slight cut sorry.

    • @unixtreme
      @unixtreme Месяц назад +3

      Nah I know people in France in way easier IT jobs making a lot more, and they don't even have to write a line of code.

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

      @@unixtreme and I know a lot of them who get less and write more, your point is ?

    • @crusher-p6284
      @crusher-p6284 Месяц назад

      58 000 c'est le super brut attardé. Ça fait 2000€ par mois en super net

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

    On the chess vibrator, I believe someone has gone ahead and made it as a proof of concept 😂

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

    eyre/color-eyre are not "duplicates" of anyhow, they're wrappers with pretty colors and nicer UI over anyhow.

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

    Sumtype/"enum"/tagged unions are great. It's not true that Java has no sumtype nowadays: Java 21 has sealed classes that can act as sumtype (you can even do pattern matching on them)

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

    I love flutter and dart, I wish I worked more with it

  • @Microphunktv-jb3kj
    @Microphunktv-jb3kj Месяц назад +1

    scala makes sense ,since its data science language...
    chess is math and a lot of "data science" , numbers...

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

    maybe the 100x dev are the friends we made along the way

  • @user-pe7gf9rv4m
    @user-pe7gf9rv4m Месяц назад +1

    scala mentioned! lfg!

  • @SeriousGamer-pi7kw
    @SeriousGamer-pi7kw Месяц назад

    The wrong synchronidstion happened because kramniks brand new pc at the tournament wasnt correctly setup. It was an Windows problem

  • @BoutDatFitLife
    @BoutDatFitLife Месяц назад +1

    Poor accountant.

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

    I love Scala when I need to use a weird, eastern tuning on a MIDI instrument.

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

    10:54, I also love enums, @prime how do you deal with Go not having a real built in enum system? I was a little surprised finding I sort of had to roll my own - is this expected or am I doing something wrong?

  • @nothassy784
    @nothassy784 3 дня назад

    8:24 Pretty sure that's religious attire, if he's in the religion of the flying spaghetti monster

  • @BlackFlux22
    @BlackFlux22 Месяц назад +1

    Rather than https/http couldn't you use RTP & NTP for time synchronization?

  • @KoRnFactory
    @KoRnFactory Месяц назад +1

    about the Rust for Linux thing and encoding kernel semantics in Rust:
    It's okay to have doubts about enforcing them in the type system, but what are the alternatives?
    Documents, comments and dev knowledge aren't reliable, require first-hand experience and cannot be automated.
    Are we choosing a sub-par solution just because that's what we did in the last 30 years?
    I'm not saying the type system is enough, but why can't we just have both?

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

      because it mess many things than giving many benefits. and they that works on linux kernel are very advanced programmers, type isnt problem for them

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

    timecode 3:10
    its weird and unexpected that we are talking about this anyway, but we've already started
    delivering message with vibration:
    Chess field is a 8x8 square
    if there are 3 distinct vibrating sources its 8 combinations
    2 pulses uniquely identify a cell
    another 2 pulses uniquely identify a second cell
    this way in 4 pulses every move available in any position may be uniquely messaged
    How realistic it is to be able to differentiate it all during a real game I dont know, but if you're cheating this way already, I think its within reasonable expected effort

  • @Valerius123
    @Valerius123 Месяц назад +9

    two beads. one that's in shallow denotes letter. one that's in deep denotes number. 3 shallow vibrations and 4 deep vibrations and a pause would mean select piece on C4 and then after the pause you could repeat vibrations to say where to move piece to.

    • @reoseah
      @reoseah Месяц назад +2

      I don't think that's a possibility, there are not many nerve endings deep, so I don't think one would be able to distinguish deep vibrations well. Talking from my encyclopedic knowledge, not experience

    • @BerkayCeylan
      @BerkayCeylan Месяц назад +1

      @@reoseah sure buddy, encyclopedic knowledge it is

  • @spfy
    @spfy Месяц назад +12

    around 41:00, talking about rust reaching JS status because of duplicate competing dependencies. i tried reading the rust book, and i think either chapter 2 or 3 was telling me to use cargo to install dependencies so i can generate a random number. i immediately got npm vibes and decided maybe i shouldn't get into rust after all.

    • @bearwolffish
      @bearwolffish Месяц назад +2

      The cargo philosophy is bad in my opinion, there is no way of getting around in some cases unless you want to write custom wrappers for the c libraries. But the language is very strong, as someone who shit talk it for a while, its worth taking some time to avoid cargo and get a feel for the language.

    • @Hellbending
      @Hellbending Месяц назад +1

      And I might be biased because I write a fairly decent amount of rust myself but, I think the primary reason for getting you to use a crate in that instance was both getting a handle on the fact that cargo is the main build tool and it does all the major stuff (ie: “plz don’t use rustc to compile your program”) And also the fact that writing a random number generator inside rust itself might be rather overwhelming for a newbie right off the rip (type system and all) you gotta remember, the book itself is aimed at like, complete plebs.
      Well, that being, the guy above me has a solid take, it’s pretty accurate too. Getting a handle on the base language itself is pretty important and using the language has changed how I interpret and interact with other languages as a whole (for the better. Especially performance wise from teachings of borrow checker etc. forcing things)

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

    The windows timing delay was caused by Windows update operating on a new just unpacked system. Duh

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

    Society is a framework for reality, but its very convoluted so I prefer to interface with reality through pure QASM code.

  • @todd.mitchell
    @todd.mitchell Месяц назад

    Morse code by vibration. Been using CW (Morse code) for 46 years, but I've never quite imagined that. Yeah that would work.

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

    i would argue that you could have used PostgreSQL elixir ecto and phoenix live view

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

    There are dozens of us, DOZENS

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

    Batteries included also comes with a cost of maintainence in the long run no? It can't be that easy of a decision to make.

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

    Rust, lots of deps = small std lib - think about embedded stuff etc.
    Or think of lots of deps as a modular std lib.
    Flutter, multi platform front end - web, desktop, android, ios.

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

    ididathing has a full video on how they communicate using vibrations during chess

  • @amotriuc
    @amotriuc Месяц назад +7

    I did not like Scala, as language it is complicated as C++, has the same big issue as C++ to many ways to the same thing.

    • @Entropy67
      @Entropy67 Месяц назад +5

      Ah yes, the problem of having choices. Do you like Go?

    • @UnidimensionalPropheticCatgirl
      @UnidimensionalPropheticCatgirl Месяц назад +2

      that issue of having too many ways of doing things is being adressed by scala 3, if you haven’t looked at it since scala 2 it might be worth revisiting in future

    • @thewhitefalcon8539
      @thewhitefalcon8539 Месяц назад +1

      Scala is to java what c++ is to c

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

    4:15 - And thats why the /usr/share/zoneinfo is 4.5MB of data to describe just timezones...
    /usr/share/zoneinfo-leaps is another 1.5MB.

  • @ikirachen
    @ikirachen Месяц назад +1

    ahhh TOM the JDSL genius :)