The Pure State
The Pure State
  • 8
  • 51 284
Programming A Pixel Clock for Devs using Python, JavaScript, C#, Rust and others!
Help us to make our PXL Clock a reality!
In this episode, we demonstrate how fun and simple programming can be with our custom device. We’ll create an impressive animation in just 50 lines of code, perfect for both seasoned programmers and beginners.
What you’ll learn:
• animations
• triggers and rule evaluation
• a blend of imperative and functional programming
• state-aware functions, similar to React but for frames and pixels
We’ll delve into "magic functions", enabling state-aware functions that retain their state. Learn to animate properties over time and use built-in animation functions for smooth results.
We Need Your Help!
===
We need your help! To bring this innovative frame to life, we’re launching a Kickstarter campaign and need backers from day one. Your support is crucial-share our project, spread the word, and join us in this exciting journey. By backing us, you’ll help turn this dream into reality, creating a device that makes programming fun and accessible for everyone. Together, we can make this frame a success!
Chapters
===
00:00 What We Will Do In This Video
00:21 Can I Buy the PXL Clock?
00:40 Use The PXL Simulator!
00:54 Drawing a Static Background and Circle
04:24 Motion! Animate Display Properties by "useState"
08:40 Using Spceial Animation Functions
09:38 Mixing Imperative And Functional Programming
12:34 Composability And Components (with State-Aware Functions)
13:41 WE NEED YOUR HELP (Make The Frame A Reality)
Links
===
Repo: github.com/SchlenkR/ThePureState_09_A_Hackable_Frame
Scott Wlaschin: "Pipeline Oriented Programming": th-cam.com/video/ipceTuJlw-M/w-d-xo.html
Socials
======
Twitter / X: SchlenkR
GitHub: github.com/SchlenkR
👉 Don't forget to like, share, and subscribe for more content on modern programming concepts. Drop your questions and feedback in the comments section below and join our growing community of innovative programmers!
===
#csharp #pixelart #dotnet #functionalProgramming #functionalCSharp #fsharp #dotnetconf #csharptutorial #csharpprogramming #typescript #react #python
มุมมอง: 18 976

วีดีโอ

Programming Language Extension Without Obfuscation (BOBKonf 2024)
มุมมอง 1.3Kหลายเดือนก่อน
Granted: A good programming language is typically much more than just the sum of its individual features. And yet, sometimes it’s worth taking a closer look: “Computation Expressions” (CEs) from F# are an existing language element that manages to combine flexibility and simplicity in an amazing way. Sounds like a nice, theoretical little game? They certainly are - and much more: A practical and...
Pipe Forward: A Kick-Start into Functional Programming
มุมมอง 21K3 หลายเดือนก่อน
A good language is not bloated with features. It is based on a handful of simple ideas, that - mixed together - unleash an incredible power. Modern programming concepts is thus much more than putting things on top of existing things without having the big picture in mind. Learn how some simple concepts like infix notation, currying, partial application and type inference play together, and leve...
FsHttp: The Programmable Alternative to Postman and VSCode Rest Client
มุมมอง 8K4 หลายเดือนก่อน
Leave a ⭐ for FsHttp on GitHub: github.com/fsprojects/FsHttp Code ⌨️: github.com/SchlenkR/ThePureState_HackableHTTPClient ⭐🌟⭐🌟 Welcome to our latest programming tutorial where we delve into the world of functional programming using FsHttp, VsCode and Ionide. This video, titled 'Post Postman: Effectful Functional Programming with FsHttp', is designed for both beginners and seasoned programmers l...
REST In Peace ...a Programmable Postman Alternative
มุมมอง 8174 หลายเดือนก่อน
Dive into a real-world functional development tool with "FsHttp", the game-changing HTTP client! In this video, we explore how FsHttp (aka 'The Postman Killer') helps you with your daily HTTP work - all in a hackable fashion. Perfect for developers seeking advanced programmability and versatility. Say 'Word Up' to a new era of HTTP tools! 🛠️💻 👉 Don't forget to like, subscribe, and hit the bell ...
Roll Your Own „For“-Comprehension: Column-Wise, Not Nested
มุมมอง 1.4K5 หลายเดือนก่อน
For loops (using comprehensions) are usually nested. But what if you want to combine values in a column-wise way? This video will show how this is possible, using a technique called "state-aware function composition", incorporating a sort-of "local-state monad". The principle of "composing state-aware functions" represents a versatile and powerful approach in programming, particularly suitable ...
Amplifying F#: The Essential Lectures Announcement
มุมมอง 1.7K5 หลายเดือนก่อน
Level up your skills as a programmer and join the live sessions. Together with Ian Russell you'll learn the very basics of F# and quickly become an experience F# developer. The Sessions ⏲️The countdown is on 🚀 amplifying-fsharp.github.io/fsharp-essentials/ Free Online Book "Essential F#" As a solid foundation for the sessions, read Ian's book "Essential F#": "This is a practical book aimed at e...
.Net Result Type in only THREE Lines of Code?!?
มุมมอง 2285 หลายเดือนก่อน
A .Net result type in just 3 lines of code? Yeah, that works. And I tell you how. Follow me on Twitter: SchlenkR Follow me on GitHub: github.com/SchlenkR

ความคิดเห็น

  • @PanMaciek
    @PanMaciek 14 วันที่ผ่านมา

    Nice code, didn't see F# used in a while. I remember using it tho, it was a nice experience

    • @ThePureState
      @ThePureState 13 วันที่ผ่านมา

      Then this might be a good chance to restart your journey! F# is super simple, and so easy to learn and use :)

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

    Where is the link to David's video??

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

      Davids Part was not recorded

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

    The video I was waiting for! Many thanks

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

    Awesome thanks!

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

    I love when I find a great channel and I'm one of the first 1000 subs. And thanks to this particular video, I'll be able to speak enthusiastically at length about curried functions if an interviewer tries to stump me.

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

    It doesn't make sense to say "that's not a problem AT ALL" and then "here's how we fix it".

  • @coder_one
    @coder_one 3 หลายเดือนก่อน

    Beautiful language F#. Too bad there are no job offers in this language, so it's just a curiosity ;(

  • @kacperkwasny3848
    @kacperkwasny3848 3 หลายเดือนก่อน

    You've earned a subscriber ;D Can't wait for upcoming videos

  • @jongeduard
    @jongeduard 3 หลายเดือนก่อน

    I just came across this video, but really great explanation and makes a couple of things clear! Because I have actually done some things with F# and I know I noticed how I could pass one parameter left of the pipe operator, while I could place other parameters still right of a function which I using. But I did not really know about the actual theory behind this, and now I do. So thanks a lot for that! Professionally I work with C# mostly, but actually I touch in many languages, especially also Rust, which regardless of very different syntax is also inspired by the OCaml, ML and friends, from which F# is a direct derivative by the way, with a very similar syntax.

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      Poking your nose into new things can only be valuable - even if it just means rethinking your habits and daily work. F# is a very practical language, with full access to all .Net libs, great tooling in VSCode (Ionide), Visual Studio and Rider. It's mature, performant, compiles also to JS, and for me, it's the choice for "getting things done".

  • @MaxJM711
    @MaxJM711 3 หลายเดือนก่อน

    I don't really use functional programming but I got this video recommended and man I'm so happy I decided to watch it. Love the content man! Always great to see some problems through other PoV like the ones functional programming offers :D

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      Happy to hear that you find it valuable, and have fun trying it out.

  • @trejohnson7677
    @trejohnson7677 3 หลายเดือนก่อน

    this is a reminder that javascript is just lisp

    • @jongeduard
      @jongeduard 3 หลายเดือนก่อน

      Hmm, funny that you mention Lisp! Because if I am right Lisp does not use infix notation. It's quite an old language I know, with lots of dialects. Really old calculators in the past also used prefix. Infix came later. I would not really call it like JS though, unless you look at the deep level of nesting how some people code. 🤐

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      Propably LISP-inspired? In case you have a lot of time, there's a HOPL paper for JS: dl.acm.org/doi/pdf/10.1145/3386327

  • @codeman99-dev
    @codeman99-dev 3 หลายเดือนก่อน

    F# is the language that just makes sense. I only wish that interop with the .NET family were easier.

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      Easier interop in which way - which direction - which field?

    • @codeman99-dev
      @codeman99-dev 3 หลายเดือนก่อน

      @@ThePureState Specifically, using a C# library in F#. I don't really remember the pain points at the moment to be honest - this was at a past employer and it has nearly been a year.

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      @@codeman99-dev Give it a try - my experience is a really good one - especially for C# -> F# interop.

  • @Exilum
    @Exilum 3 หลายเดือนก่อน

    2:05 Edit: I pretty much describe what's next in the video... Was coincidental enough (as I don't do F# at all) and funny to me that I kept the comment up. This reminds me how much I like the C# way, which is operator overloading. Its limits as an object-oriented language can be felt in the way it's done at the class level, but you could imagine that concept used more closely to the functional way. An ideal functional implementation of this in my opinion would allow you to define operators just like you'd define a variable, then use it just like any operator. Reusing the example, you could imagine something like that: let (+) = appendString let example = 2 + 3

  • @fabricehategekimana5350
    @fabricehategekimana5350 3 หลายเดือนก่อน

    Finally someone talking about piping in programming language like typescript ! Thanks for this useful video👍

  • @GdeVseSvobodnyeNiki
    @GdeVseSvobodnyeNiki 3 หลายเดือนก่อน

    Scott Wlaschin made huge influence on developers. A lot of functional bros are mentioning him in their videos. I finally started to understand how it all sticks together in a functional world thanks to his videos.

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      Scott Wlaschin is King! Deep respect for all of his work, and a definite recommendation.

  • @reynardlee3667
    @reynardlee3667 3 หลายเดือนก่อน

    THIS IS SOOOO GOOD!! please make more

  • @faanross
    @faanross 3 หลายเดือนก่อน

    lovely dude! subbed.

  • @daymannovaes
    @daymannovaes 3 หลายเดือนก่อน

    oh that's a really well made video, 10/10! Thanks for creating it.

  • @trubiso
    @trubiso 3 หลายเดือนก่อน

    incredible video, you deserve way more subs :)

  • @anon_y_mousse
    @anon_y_mousse 3 หลายเดือนก่อน

    Personally, I find that one of the more annoying aspects of most functional programming languages is the syntax. Partly it's that they use a bunch of symbols in ways that only make sense for functional languages, and partly it's the placement of terms. In my opinion, the best language to really demonstrate functional concepts would be LISP. The overuse of parentheses is really annoying but it's incredibly simple to understand due to the form that it takes on. Of course, I'd rather use brackets than parentheses, but mostly because they're easier to type, and the shape of them appeals to my OCD. Though, the fact that they would make sense as the symbol for a "list" of objects doesn't hurt.

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      LISP is of course a thing on it's own :) In F#, there aren't many operators to be known (less than in imperative languages I'd say), and although it's possible to define a bunch of custom operators, I wouldn't recommend that, and I don't know many libraries that make use of it - maybe Saturn for composing web parts, or Parsec-like libraries like FParsec, where it's an important part of the vocabulary one has to learn, are exceptions that I use in my work.

    • @anon_y_mousse
      @anon_y_mousse 3 หลายเดือนก่อน

      @@ThePureState What all do you use F# for, and do you use it for fun too?

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      I use it for almost everything: For my clients, BE + FE (Transpiled to JS using Fable), fun projects, embedded and IOT stuff, and so on...

    • @anon_y_mousse
      @anon_y_mousse 3 หลายเดือนก่อน

      @@ThePureState Are any of those fun projects games? If so, do you write things from scratch or do you have a specific toolkit/engine that you use?

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      @@anon_y_mousse Ah, that you mean with "fun" projects :) I'm not really into games, but you can use F# with Unity and Godot somehow, or Monogame for 2D, or ... You can ask in the unofficial F# Discord server.

  • @lemosep.-kd5yr
    @lemosep.-kd5yr 3 หลายเดือนก่อน

    TH-cam randomly recommended me this. I love it.

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      Glad you love it! It's always a benefit to learn F# I'd say, and to dig into the concepts behind it.

    • @TheRhopsody
      @TheRhopsody 3 หลายเดือนก่อน

      Same here :D

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

      Exactly the crisp and clear presentation that I like - no background music or annoyances, just well-spoken expert imparting his knowledge with perfect audio and superb visuals. And a nice coat!

  • @nojaf
    @nojaf 3 หลายเดือนก่อน

    Happy the plant is back!

    • @ThePureState
      @ThePureState 3 หลายเดือนก่อน

      But the form follows function - (in that case: content)

  • @coder187
    @coder187 3 หลายเดือนก่อน

    I have started using F# one month ago and the language is very interesting (no semi-colons, currying, very strong type inference, discriminated union, pattern matching, pipes, etc...) after looking at a FParsec video. Integration with C# is very good, which make migrating some part of your code very easy. I have already migrated all my functional code from C# to F# (for clean, succinct and performant code 😉). I am considering migrating all my complicated C# ADO.NET datalayer access to F# SQL type providers. F# community looks great and sharp! I will watch all your lectures so please keep the good work. Thank you guys.

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

    Awesome work Ronald!

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

      Thanks man! Keep sharing :)

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

    Really cool, I've just started to try and use this setup instead of Postman for a little personal project I just started working on. Have you considered packaging up some of this common "Postman-like" functionality into a module in FsHttp, or in a separate Nuget packge? It's easy enough to copy-paste, but it might lower the barrier even further to using this great library.

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

      Sounds like an idea. Maybe create an issue for it? github.com/fsprojects/FsHttp/issues Thanks you :)

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

    Great video, especially the authentication approach - is the source code available ?

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

      Here it is: Leave a ⭐ for FsHttp on GitHub: github.com/fsprojects/FsHttp Code ⌨️: github.com/SchlenkR/ThePureState_HackableHTTPClient

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

      ​@@ThePureState Hm, that GitHub link seems to return a 404.

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

      @@ThePureState, unfortunately it says Github 404 Page Not Found when looking for the code.

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

      @@naxels Look here: github.com/SchlenkR/ThePureState_HackableHTTPClient

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

      Now it works, thank you

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

    Will these sessions be uploaded somwhere?

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

      The sessions will be a) Live: see amplifying-fsharp.github.io/fsharp-essentials for more infos, how to join and when b) Recorded: An edited version of the sessions will be available online Feel free to share to everyone who wants to learn something new - not just a new syntax, but also a new way of thinking about how to write modern software in 2024.

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

    Utterly fantastic as always, Ronald! I'm totally new to web dev in any way, I have almost zero idea how it all works, however, I can tell this is all very simple and elegant done this way. What do you suggest for me to learn fsharp web dev from the completely unaware to the expert level?

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

      I usually have a hard time with recommendations. It depends on so many subjective things. For basic F# things in general, have a look at the "F# Essential Lectures" from my friends of Amplifying F#: amplifying-fsharp.github.io/fsharp-essentials/ Then, I thing web dev is a fields that's vast, and requires skills independent from the language used. For frontend stuff, have a look at Vide-4-Fable (vide-dev.io/) (disclosure: I've developed it), ot all the Fable resources in general. WebSharper might also be a cool thing, because it provides a full-stack experience. Although I've never used it in production, I guess it's worth a try.

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

    These sessions will be really interesting.

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

      It's hosted by @amplifyingfsharp, and will be brought to you by Ian Russell, who wrote the book "Essential F#" (leanpub.com/essential-fsharp). They will rock - that's for sure! Stay tuned, and visit amplifying-fsharp.github.io to get more infos soon!