A Byte of Code
A Byte of Code
  • 11
  • 769 415
The information war of the internet
Websites make available a lot of data, which scraping bots can download. These websites don't like you doing this, and thus started an arms race of better and better ways of detecting bots (and counteracting them)
BrightData lets you scrape websites easily by just adding a few lines of code to your project, and you can get $10 of free credit by signing up at brdta.com/abyteofcode
Переглядів: 1 319

Відео

How simple can a programming language be?
Переглядів 18 тис.11 місяців тому
Most programming languages give you a lot of nice features to help you write code, but how many of these features can we get rid of and still be capable of doing everything we could before? Subscribe :)
I made the worst javascript framework
Переглядів 11 тис.Рік тому
Deploy your meme apps now at hostinger.com/abyteofcode (get 10% off with code ABYTEOFCODE) Aren't you sick of having to use javascipt to make websites? Well wait no longer, with HTML.JS you can write both backend and frontend logic using just HTML. Repository: github.com/iWaroz/HTML.JS
How to loop in a loopless language (Y Combinator)
Переглядів 17 тис.Рік тому
In lambda calculus, you need recursion to do looping, and this is done using the Y Combinator formula. Lambda Calculus Video: ua-cam.com/video/m32kbFXBRR0/v-deo.html For those unaware, lambda calculus is a turing complete programming language invented before computers ever existed. It is extremely simple and has an esoteric feel while having been invented as a serious mathematical model.
Why functions are turing complete (Lambda Calculus)
Переглядів 74 тис.Рік тому
Functions are an extremely useful part of programming, but it turns out that they're all you need to calculate anything. No data types, no control flow, just simple functions. This is possible by using lambda calculus, a programming language and model of math invented by Alonzo Church in the 1930s which is capable of any computation with only one feature: the function.
A monad is a monoid in the category of endofunctors. Whats the problem? #SoMe2
Переглядів 96 тис.Рік тому
You may have heard that a monad is a monoid in the category of endofunctors, but what does that actually mean? In this video, you'll learn the basics of category theory and understand the infamous sentence! This is my entry to the summer of math exposition round 2 hosted by @3blue1brown.
I broke JavaScript (JSF**k)
Переглядів 91 тис.Рік тому
JavaScript is a dynamically typed programming language with implicit type casting which lets you write esoteric brainf*ck-like code runnable in JavaScript environments using just six characters. This is known as JSF*ck. 🔗 Links: Convert existing JS into JSF*ck: jsfuck.com Shout out to Siguza on Stack Overflow for providing a full recap of how all of this works. This video is pretty much an anim...
What is a monad? (Design Pattern)
Переглядів 316 тис.Рік тому
Programming often relies on combining functions in data pipelines. The monad is a design pattern which makes pipelines with effect much easier to write and maintain. Monads are often explained using haskell in complicated ways but I tried here to simply explain the pattern with javascript to build an intuition of them.
How do dictionaries (hashmaps) actually work?
Переглядів 67 тис.2 роки тому
The hashmap (aka dictionary or associative array) is a data format where keys are associated to values, but using a clever algorithm which works in O(1) time. But how do these actually work?
A brief Introduction to Flask (Python Web Framework)
Переглядів 47 тис.2 роки тому
Flask is a barebones python framework for handling HTTP requests. Create a responsive app easily with simple readable code. 🔗 Links Docs: flask.palletsprojects.com/ Pypi: pypi.org/project/Flask/ This video's style is inspired by Fireship. I believe in his mission to make programming content as concise as possible, and this is my attempt to contribute.
A brief introduction to APL (A Programming Language)
Переглядів 31 тис.2 роки тому
APL (A Programming Language) is a symbol based functional language for array processing. Even though it was made 60 years ago, it is still interesting to learn as it changes the way you think about problem solving. 🔗 Docs tryapl.org dyalog.com apl.wiki This video's style is inspired by Fireship. I believe in his mission to make programming content as concise as possible, and this is my attempt ...

КОМЕНТАРІ

  • @tanalbert7012
    @tanalbert7012 11 годин тому

    I watched this because someone power scaled monad and put it against gogito

  • @ooisee
    @ooisee 18 годин тому

    Still don't get it but less!

  • @Truttle1
    @Truttle1 2 дні тому

    My favorite thing about pop up box captchas is when the traffic light barely stretches into the neighboring box by a pixel or two, and I don't notice it and need to do another one where the question is "select all horses made of clouds"

  • @SpiritVector
    @SpiritVector 2 дні тому

    That code didn't really look that bad, I guess its because Im a game developer? I dont know.

  • @cppforeveryone
    @cppforeveryone 3 дні тому

    The problem with your video is that you spend 80 seconds establishing the problem to be solved, show the solution exacly 3 seconds (from 1:18 to 1:21) and then wrap up. You need to first focus on where you put the check, then explain why it's better there.

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w 8 днів тому

    Can you make more videos on category theory

  • @user-wr4yl7tx3w
    @user-wr4yl7tx3w 8 днів тому

    Wow really well explained.

  • @nuclearcatapult
    @nuclearcatapult 8 днів тому

    I wish Mathematicians used lambdas, currying, and partial applications more often, and were more familiar with type theory and proof assisting compilers such as Coq, Agda, and Lean4. Perhaps if highschools offered 4 years of programming in the same way schools offered four years of math, we could see more Mathematicians lean towards constructivism.

  • @tangentfox4677
    @tangentfox4677 8 днів тому

    I do find it funny that you mention how companies being able to scrape data is a problem, then advertise a company doing that. The only reason that company exists is because it can get more data this way than if they were just doing everything themselves. (Because users will choose targets they never would have.)

  • @hanswurschtms
    @hanswurschtms 9 днів тому

    Use Kotlin! There is null not the default.

  • @ConernicusRex
    @ConernicusRex 10 днів тому

    Neither Monads nor Functors are a design pattern.

  • @shyjukoppayilthiruvoth6568
    @shyjukoppayilthiruvoth6568 10 днів тому

    Very nice. Covered the basics in a very very short time. Keep it up.

  • @mgcmsn
    @mgcmsn 11 днів тому

    Just in cay you don't really know the topic already: 0,5 playback speed might help to reveal some sense.

  • @JackDespero
    @JackDespero 11 днів тому

    It is weird to put a precise mathematical name to my preferred pattern of programming. I always preferred monads over other type of functions such as functions that change given output parameters. Now I can sound very pedantic when talking about my program at work: "So the attribute function filter is a monad of the class. Any questions? Oh, of course, I will explain what a monad is. A monad of X is a monoid in the ..." My dream come true!

  • @alisertaccebeci6785
    @alisertaccebeci6785 11 днів тому

    I believe the exampled code is wrong syntatically. Given that it is conceptually also not a monad but a functor. This lefts us with a wrongly titled and wrongly coded video.

  • @noelgomile3675
    @noelgomile3675 12 днів тому

    In your JavaScript example, why didn't you make use of the null aware operator to safely access potentially null properties?

  • @blue_birb
    @blue_birb 12 днів тому

    that's just an antibody smh

  • @RenderingUser
    @RenderingUser 12 днів тому

    python cloud scraper seems enough

  • @avibank
    @avibank 12 днів тому

    So basically; %>%

  • @vinny-zebu
    @vinny-zebu 13 днів тому

    You were a single step from burst out laughing during the explanation 😂

  • @yassinesafraoui
    @yassinesafraoui 13 днів тому

    I wonder how useful this would be in a large project, idk I feel like it would be less useful and it would break at some point

  • @Onidrako
    @Onidrako 13 днів тому

    This... Is pretty cool, thanks!

  • @1____-____1
    @1____-____1 13 днів тому

    I just wanted to learn more about monads so I could write better Rust code. 45 min later I've subbed and am on my way to watching the entire video catalogue.

  • @sollybunn
    @sollybunn 14 днів тому

    Why is this superior to early return or ?. operator?

  • @krtirtho
    @krtirtho 14 днів тому

    Made a video Made JS dev love Haskell JS dev tried Haskell (or any FPL) and died Saved the programming community Left

  • @WolfxTV
    @WolfxTV 14 днів тому

    let firstFriendGender = database.fetch(username)?.friends?.first()?.gender; Here you go. Don't thank.

  • @fantasmashy
    @fantasmashy 15 днів тому

    i thought that title was just gibberish and the video was a shitpost

  • @federicoagustinsawadyoconn2716
    @federicoagustinsawadyoconn2716 16 днів тому

    And also, it's all about this: en.wikipedia.org/wiki/SKI_combinator_calculus

  • @alexmedoli
    @alexmedoli 17 днів тому

    I can't believe I finally understand the shit! I've come across this years ago. I can't believe it had always been so simple. You've made me feel like a moron and a genius at the same time, congratulations

    • @AByteofCode
      @AByteofCode 16 днів тому

      Thank you! I'm glad I could help!

  • @marttielvisto3519
    @marttielvisto3519 18 днів тому

    "fairly abstract"

    • @AByteofCode
      @AByteofCode 16 днів тому

      Maybe a slight understatement ;)

  • @jeremydepassorio664
    @jeremydepassorio664 19 днів тому

    more videos on DSA

  • @valcubeto
    @valcubeto 19 днів тому

    In my world, >>= is a shift-to-right assignment

    • @AByteofCode
      @AByteofCode 16 днів тому

      Good ol python :) (Probably some other languages too tbh)

  • @thevalarauka101
    @thevalarauka101 19 днів тому

    this category theory thing reminds me of group theory

    • @AByteofCode
      @AByteofCode 16 днів тому

      Something I forgot to mention is that in category theory, the "objects" are generally meant to be data structures like groups, as category theory can be vaguely described as group theory but the objects are groups (or replace group with any other structure). This is also why we talk about morphisms, they're the same ones!

  • @jungwisely1137
    @jungwisely1137 21 день тому

    Never met a Chanel this concise while remaining interesting and informational, btw I like your color schemes.

    • @AByteofCode
      @AByteofCode 16 днів тому

      I appreciate the kind words! A lot of thought went into the color scheme so I'm happy someone is finally pointing it out :D

  • @SmarketixKLG
    @SmarketixKLG 21 день тому

    three boys in france, dind't eveen understood a single word lol

  • @phat5340
    @phat5340 21 день тому

    nice vid but endo is greek

    • @Gordy-io8sb
      @Gordy-io8sb 21 день тому

      Pedantically correct.

    • @AByteofCode
      @AByteofCode 16 днів тому

      Thanks for pointing it out! I'll keep that in mind for the future :)

    • @Gordy-io8sb
      @Gordy-io8sb 16 днів тому

      @@AByteofCode Do you have any specific experience in pure mathematics? Most of your channel is just programming (except this tiny exception). By making this video, you're essentially trying to assert you're better than pure mathematicians (people like me, even though I'm a both pure and applied mathematician).

    • @AByteofCode
      @AByteofCode 16 днів тому

      @@Gordy-io8sb I made that video while still in high school, so basically zero at that point. Im in first year of uni now doing a pure math and CS course but not sure that really constitutes much experience. However, I was not trying to assert any dominance, just thought this was an interesting topic to make a video on :)

  • @deeplearningpartnership
    @deeplearningpartnership 24 дні тому

    Cool.

  • @camillapantoja873
    @camillapantoja873 25 днів тому

    Perfeito!

  • @Quasarbooster
    @Quasarbooster 27 днів тому

    I know I'm coming in late, but another nice minimal system is bitwise cyclic tag (BCT). Definitely worth checking out

    • @AByteofCode
      @AByteofCode 16 днів тому

      I'll definitively take a look! This sounds interesting :)

  • @federicoagustinsawadyoconn2716
    @federicoagustinsawadyoconn2716 28 днів тому

    A better explanation of a morphism maybe is like moving from a plumbing system of a city to the subway or electricity network, while mantaining some properties.

    • @AByteofCode
      @AByteofCode 16 днів тому

      That's a pretty good analogy, the different systems being structured pretty similarily but while still having differences as to not being the same thing. I like it!

  • @zainkhalid5393
    @zainkhalid5393 29 днів тому

    thank you

  • @uselessDev
    @uselessDev 29 днів тому

    Most clear and concise explanation of monads that I've seen - amazing stuff

  • @TruthNerds
    @TruthNerds Місяць тому

    stames2319 saved me a bunch of typing by previously pointing out that a monad is not _the_ category of endofunctors (of X) plus an associative operator and an identity element of said operator but _one_ endofunctor with said extras. Now, I want to explain how this applies to Haskell because Haskell relies heavily on monads. Every Monad is a Functor … shouldn't that be endofunctor? Well, a Functor in Haskell is effectively an "endofunctor in the category of Haskell types and functions", so that resolves the ambiguity. That is, a Functor is a unary type function (kind * -> *) and an operation fmap :: Functor m => (a -> b) -> (m a -> m b) (The parentheses on the right are superfluous but I left them to make it clear that the type function m transforms types and fmap transforms functions to work on the transformed types.) Then we add an associative operator to get a monad, which we call bind: (>>=) :: Monad m => m a -> (a -> m b) -> m b with associative law: (m >>= f) >>= g = m >>= \v -> f v >>= g Note the lambda syntax (with the backslash and the -> arrow). We also need an identity element, which is called return (or pure, doesn't really matter, in Haskell) return :: a -> m a We then require left identity: return v >>= f = f v and right identity: m >>= return = m

    • @TruthNerds
      @TruthNerds Місяць тому

      These laws, in my opinion, become a lot clearer if we use the notation for composition of Kleisli arrows (equivalent to monadic bind) (>=>) :: Monad m => (a -> m b) -> (b -> m c) -> (a -> m c) now, expressing the law of associativity is child's play: (f >=> g) >=> h = f >=> (g >=> h) and likewise for the identity laws: return >=> f = f f >=> return = f

  • @therealist9052
    @therealist9052 Місяць тому

    Finally someone cuts to the chase and just explains it. THANK YOU.

  • @Seltyk
    @Seltyk Місяць тому

    I think the biggest misstep in this otherwise flawless video is this: right at the end, you blaze through all that math you've carefully built up and just assert that it is what it is in code. It's not clear what makes map an endofunctor, what the category is (Box or the object it holds?), or why we can call that a category. The transformation undergone through that endofunctor is also vague. Oh, and on second thought, I'm docking 10 points for sticking an undefined and totally handwaved addition operation in there between a value of type Box and the value returned from func.

  • @3_14pie
    @3_14pie Місяць тому

    After watching this video again after months and others of countless explanations + category theory, I think I'm finally beginning to get it

  • @Quiltfish
    @Quiltfish Місяць тому

    I am filled with regret for the day I became curious about what a Monad is after a computerphile video, so I searched for it, and now my feed is filled with Monad explainers that don't help me understand Monads. I've long since stopped caring, but keep being recommended more or less accurate-according-to-comments and jargon-heavy videos, this is my new hell. Thanks for trying, though.

    • @AByteofCode
      @AByteofCode Місяць тому

      The classic monad experience :) Only way to escape it is to make your own monad video that noone else will understand!

  • @Quiipp
    @Quiipp Місяць тому

    Try and learn Haskell they said ... It will be fun they said ...

  • @reanwithkimleng
    @reanwithkimleng Місяць тому

    Merci de m’avoir aider ❤❤

    • @AByteofCode
      @AByteofCode Місяць тому

      Aucun problème! Ca me fait plaisir :)

  • @damonfernandez3051
    @damonfernandez3051 Місяць тому

    thank you that was so helpful