Sammy Engineering
Sammy Engineering
  • 21
  • 85 045
I taught ChatGPT to play Mafia
to play the game: gptmafia.io
channel for project updates:
th-cam.com/channels/FeDob27AKy9FRA9oZ1NH_Q.html
channel for customizable news feed updates only:
www.youtube.com/@togglz
0:00 Intro
0:26 Rules
1:14 Design
2:57 Implementation
5:52 Gameplay Version 1
8:22 Revision and Refinement
10:52 Full Game of Mafia
17:37 Final thoughts
In this video I created a game where you can play the classic game of Mafia against ChatGPT. I give an overview of the design, and describe the implementation of how I built the game, as well as show off a few games of full gameplay.
#gamedev #clojure #clojurescript
มุมมอง: 153

วีดีโอ

Clojure and Clojurescript Setup and Installation Tutorial (+ emacs/cider/shadow-cljs!)
มุมมอง 1.2K3 หลายเดือนก่อน
Useful Links: 0:00 Clojure 17:47 ClojureScript github.com/sstraust wiki.leiningen.org/Packaging clojure.org/guides/install_clojure
How I used INFORMATION THEORY to choose better Keybindings
มุมมอง 1.2K6 หลายเดือนก่อน
code for this project: github.com/sstraust/shannonmax/tree/master Timestamps: 0:00 Intro 2:34 Overview 3:20 Keylogger, and Frequencies 5:18 Entropy 7:14 Huffman Encoding 8:58 Applying it in the Real World 12:00 Final Thoughts In this video I talk about how I use concepts from information theory to choose better keybindings for myself in emacs. In particular, I compute the entropy of my emacs co...
Lisp Tutorial Part 4: How to write Macros (Clojure)
มุมมอง 2208 หลายเดือนก่อน
This is it! This is the big day. We're going to talk about how to write Macros in Clojure. This is a lisp macro writing tutorial for beginners, that will show you how to create a macro from the ground up. In it we will cover the basics of symbolic execution, what s-expressions are, and how to write them. We'll see how clojure actually represents your program as a tree, and how we can use lisp's...
Lisp Tutorial Part 3: Functions, Symbols, and Namespaces
มุมมอง 2109 หลายเดือนก่อน
0:00 Functions 16:31 Symbols and Namespaces Tutorial Start: th-cam.com/video/hN0HTJXDBfI/w-d-xo.html In this tutorial I give an introduction to functions symbols, and namespaces in LISP and Clojure. I cover: - What are anonymous functions? - How do you use map and reduce in clojure? What are some examples? - How do symbols in Clojure work? What is a Clojure symbol? What's the difference between...
How GOOD Was Python ACTUALLY?
มุมมอง 3799 หลายเดือนก่อน
In this feature we talk about the strengths and weaknesses of Python. We discuss: - Why is Python so popular? - What sets Python apart from other languages? - How good is python in comparison to other languages? We talk about python for use in scripting and data science, the performance of Python, and uncover how it's neatness, accessibility, and ease of use powered its incredible performance.
How GOOD was React Actually?
มุมมอง 426ปีที่แล้ว
How good was react actually? I talk about reactjs and compare it to other libraries and frameworks like nextjs, php, and Mustache. reactjs vs nextjs reactjs vs angular reactjs vs php
I built the WORLD'S FIRST E-INK Macbook
มุมมอง 2.3Kปีที่แล้ว
I built an e-ink macbook I used a boox max lumi and an m2 macbook pro I used woodworking and a saw to actually assemble everything together. This is a physical construction video/arts and crafts project for people who like computers. I had troubles with eyestrain, so for me this was what to do if I have eyestrain when looking at a computer. It also fixed all of my problems with looking at blue ...
Lisp for Beginners (Part 2) - Lists, Hash Maps, and Data Structures
มุมมอง 441ปีที่แล้ว
How do Immutable Vectors Work?: th-cam.com/video/6Ggc1BKN8gw/w-d-xo.html I meant to discuss inheritance in more detail, but instead only got to interface implementation. Coming soon! In this tutorial I explain how to work with data structures in Clojure. In particular, I cover Lists, which use Cons, and are immutable linked lists. I cover Vectors, which are clojure's version of Java Arrays, and...
Lisp Tutorial for Beginners (Clojure)
มุมมอง 1.8Kปีที่แล้ว
In this video I give a tutorial on Clojure, targeted at beginners! I cover how to do really basic stuff in clojure, like write functions, define variables, call basic functions, write if statements and for loops, and just really basic stuff that will help programmers new to Lisp understand how this stuff works. part 2: th-cam.com/video/0VyclDr0Ifk/w-d-xo.html
Health and Nutrition for Lazy Engineers
มุมมอง 186ปีที่แล้ว
In this video I talk about how to create a simple diet, from the perspective of a lazy engineer that doesn't know much about cooking. This is a great video for people who are at a computer for 8 hours a day and don't know how to cook, or people who are just starting out cooking, and are eating a diet of mountain dew and doritos. I talk about: - Making sure that your plan is simple and achievabl...
I built an EMACS Package to SAVE Clojure Commands (w/implementation + github links)
มุมมอง 286ปีที่แล้ว
I built an emacs package for clojure! github.com/sstraust/save-clojure-command/blob/master/cider-save-command.el save a Clojure command in emacs emacs commands for clojure make editing clojure in emacs easier emacs packages for clojure development
Why big tech companies write so many unit tests
มุมมอง 380ปีที่แล้ว
In this video I talk about why big tech companies write so many unit tests, and about do you really need to write unit tests for your own personal projects. The concepts in this video also apply to other types of testing like integration testing and end2end testing. The video focuses on collaboration, which is an important concept you need to understand if you want to work at a big tech company.
How Does Functional Programming Work in Production?
มุมมอง 3.5Kปีที่แล้ว
This is the long awaited part 2 to th-cam.com/video/WYt-KSCMR7k/w-d-xo.html Link to my website: www.spronket.com In this video I talk about the tools functional programmers have to develop real-world production applications including: Immutable Data Structures - Immutable Arrays, Immutable Hashmaps, Immutable Sets - Linked Lists - Immutable Trees I also talk about how to structure real-world fu...
Is Functional Programming a Good Idea?
มุมมอง 18Kปีที่แล้ว
In this video I talk about the benefits and challenges of functional programming I compare functional programming versus imperative programming, and the maintainability benefits of having code written in a functional style. I talk about pure functions some of the key methods used in functional programming, including map, reduce, recursive methods, and higher order functions. I'm planning to mak...
[Demo Day] I built a customizable news feed
มุมมอง 545ปีที่แล้ว
[Demo Day] I built a customizable news feed
Why LISP Is The Language of Legends
มุมมอง 35Kปีที่แล้ว
Why LISP Is The Language of Legends
How to Build a Website in 10 Minutes (Ex-googler)
มุมมอง 1.3Kปีที่แล้ว
How to Build a Website in 10 Minutes (Ex-googler)
I made an EMACS PACKAGE with NO EXPERIENCE
มุมมอง 1.5Kปีที่แล้ว
I made an EMACS PACKAGE with NO EXPERIENCE
Choose a Programming Language as a Professional Engineer (Ex-Googler)
มุมมอง 8772 ปีที่แล้ว
Choose a Programming Language as a Professional Engineer (Ex-Googler)
How a Professional Sets Up Emacs (Ex-Googler)
มุมมอง 15K2 ปีที่แล้ว
How a Professional Sets Up Emacs (Ex-Googler)

ความคิดเห็น

  • @ninjaphillipe9070
    @ninjaphillipe9070 2 วันที่ผ่านมา

    Great explanation ! Thanks

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

    Hi! I'm a beginner. Great lesson, it was very helpful, thanks! Could you tell me what is the software that you are using for see the results of the code? Can I use in others IDEs with another language? I don't know if I'm expressing well... Sorry, english is not my mother language

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

      I'm using Emacs+Cider. I also made a detailed video about how i set up my environment if you're interested in that as well: th-cam.com/video/SqWxDklYS9s/w-d-xo.html you can get this behavior in some ides with some other languages (i.e. jupyter+python, emacs+python, i think also vim+clojure), but i like emacs+clojure the most!

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

      @@sammytalks7215 Thanks for the quick response. I'll check

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

    I am loving it

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

    Enjoyed that! Lots of other libraries have attempted to solve the same problem. KnockoutJS was an early one that went under the radar. Be curious how you think Svelte and SolidJS stack up.

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

      I'm not as much of a Svelte/SolidJS expert as I am with the other frameworks, but overall: - I like react better, especially the direction react is going with an emphasis on functional components. For me it's just a logically very simple way to think about the world, to have everything as a tree of components, and every component is (mostly) just something that inputs properties and outputs state. - From my understanding, Svelte provides a lot of like programming convenience/little syntax sugar over react, but this has never really been an issue for me as I use another library built on top of react, so I guess I just sort of avoided this problem entirely (reagent-project.github.io). - Svelte (and several alternatives to react) can have smaller bundle sizes, especially for small applications. React needs all this code in order to like set up it's representation of the DOM tree, and do all of this state management to get started, whereas other frameworks give many of the same features, but are a little bit more small and nimble. I admire the goal of having blazingly fast downloads and performance, and I wouldn't fault anyone for using a different framework (or even ignoring everything and using pure HTML/making a 1990s style website) if it made their website go fast on small hardware. - I think the idea of re-rendering variables that change rather than full components is neat, but it feels too constraining for me and the way I use react. I'd like to see something sort of in between, that uses more of a smaller/svelte style update when possible, but has the ability to re-render the react DOM when necessary, and then sort of implement the solidjs state machine as an optimization that runs under the hood, with no devX changes to react.

  • @Dogo.R
    @Dogo.R 2 หลายเดือนก่อน

    Wait till he learns about the communities that optimize what letters you put on which keys on the physical keyboard. Or the optimization of where the physical keys even are. Or comparing inputs via pressing a key down versus other alternative ways to interact with a key. Or alternatives to keys entirely. This is like, so surface level, in terms of optimization depth here. Not that that's a problem.

  • @Dogo.R
    @Dogo.R 2 หลายเดือนก่อน

    UI design is much more about making it easy to understand and learn than how physically fast it takes to navigate.

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

    🎉great more please

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

    how are your videos not having more and more views? I like your thought organization I too think about laziness and healthy easy food❤

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

    what's your opinion on f# for stats type of work? Is it worth using over python? what about ML?

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

      I don't have extensive experience with F#, but my gut reaction is no. python is absolutely cracked for data science/machine learning because it's what most of the practitioners use. As a result, you get very good tooling, and most ML libraries are built with python users in mind.

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

    This was cool :) If you intend to update it, if playing on mobile the text of the bots sometimes gets covered by the spot where you type and you cant read their entire message, changing layer order might be a "quick" fix. Very cool work!

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

      thanks for the feedback! that's a good suggestion for something to improve

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

    I have considered curating the deluge of web content utilizing some of the web feed technologies. (of which has unfortunately fallen out of favor from what I understand) What were your inspirations in building this? Were there similar kinds of software that got most of the way there? I think this idea of sharing these feed configurations and them being a proper programming language is quite powerful. (rather than YAML, JSON, or DSL)

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

      I was just spending too much time on the internet. Sometimes I would spend like 2 hours just scrolling the front page of reddit, and I started wondering: what am I doing? how did I wind up here? I kept trying to make good use of my time, but whenever I would go to one of these sites, even to look up tutorials, they were just like too distracting. What I realized is no matter what I looked for, these sites were _intentionally_ pushing me towards the most distracting content. I would read a tutorial about emacs, and then next day on my feed, I'd see things like "This one fact proves VIM users are losers". At some point I just got upset by the whole thing, and I wanted to just like, not be manipulated. RSS readers are good, but they lack the power of a real recommendation engine. You can follow a few feeds you like, but if you really want to be able to see everything that's important, you need something to sift through all the information and pick out the stuff that's relevant to you. I want recommendations, and I want the power of a real recommendation engine, I just want something that I have control over, so it's not super optimized for clicks/engagement time/time on site.

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

      @@sammytalks7215 I have a similar problem of unhelpful recommendations in the context of youtube content. I suppose the TH-cam recommendation algorithm did point me to you, so it's not that it can't provide some useful recommendations, but the fact that it is an opaque black box is quite disconcerting. I have found that subscriber or view count is by no means correlated to quality of content and ideas. I wasn't able to access the spronket link via web. I can still ping it and I do get back a server response, so maybe something with the web server? I would be interested in playing around with it. I'm no Clojure programmer but I have have an interest for some time of playing around with LISP-likes with resources lik eStructure and interpretation of computer programs as a starting point. Some of the ideas about viewing programming have interested me. (first class code-as-data and metaprogramming)

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

      @@sammytalks7215 I have a similar problem of unhelpful recommendations in the context of youtube content. I suppose the TH-cam recommendation algorithm did point me to you, so it's not that it can't provide some useful recommendations, but the fact that it is an non-configurable black box is quite disconcerting. I have found that subscriber or view count is by no means correlated to quality of content and ideas. I wasn't able to access the spronket link via web. I can still ping it and I do get back a server response, so maybe something with the web server? I would be interested in playing around with it. I'm no Clojure programmer but I have have an interest for some time of playing around with LISP-likes with resources lik eStructure and interpretation of computer programs as a starting point. Some of the ideas about viewing programming have interested me. (first class code-as-data and metaprogramming)

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

    The writing is so true. Instead of going straight to coding I find it better to write it out and brainstorm

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

    The comment about single line Perl programs is just stupid. "Perl golf" as it is called, is something programmers do for fun. It is not something you do when you write a Perl program of any significance. Usually this is an accusation by someone who has never done any non-trivial Perl programming (or just something they 'heard' about Perl, because they've never done any *actual* Perl programming themselves). Just because you *can* do something in a programming language doesn't mean you should, and it definitely doesn't mean that anyone who writes serious programs in that language *will* do that. If you want to criticize Perl for one of its weaknesses, at least pick a weakness that has meaningful consequences.

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

    What degenerate dialect of Lisp is this? Oh, it's Clojure, the not-Lisp that only has a small fraction of Lisp's power. The JVM is a ball and chain around Clojure's leg. At least it has macros. That means it's possible to implement async and await, which Java itself does not have.

  • @404errorpagenotfound.6
    @404errorpagenotfound.6 3 หลายเดือนก่อน

    Hi Sammy, just checking if you actually do read all your comments.

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

    is clojure maintained actively? great language tho

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

      clojure has a small, but active community! The thing that makes clojure more kind of like usable than other small languages is that it does a good job with interop/importing libraries written in other stuff. i.e. standard Clojure can import any Java library, and Clojurescript with Shadow can import NPM modules, so you're not missing key tools from the ecosystem in the same way as you might with haskell or other smaller languages.

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

    wow 🎉

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

    he sees that he's always about to laughing 😂😂 excelent video

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

    I have no real reason to use or learn clojure, but I have been interested in it for years. glad to see someone contribute some much needed clojure content!

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

    Hello there

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

    Man, your videos helped me, please don't stop upload it

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

    Lisp will never die. It’s too fundamental. Sure, dialects will change, Maclisp to Scheme to Common Lisp to Clojure, etc., but the core ideas are all still there.

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

    term is a much better shell built into emacs. I have it bound to a function that calls (term "/bin/zsh") so that I can use zsh.

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

      I prefer shell over term for most use cases, because it doesn't require you to C-c escape to switch buffers, and it also lets you treat it like a normal emacs buffer, so you can C-v/M-v around in it, and also search over the output of your terminal commands. I think term is better for more complex terminal applications, like running git log, or anything that gives you vim-style bindings by default, but I don't really use the terminal for that that much, and I find that shell is a little easier for getting in and out and running quick scripts. I think anything that works for you is good, and if you've found a setup you like, I won't stop you from enjoying it!

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

    Hi Sammy I think you can find a niche by doing videos around Clojure. Basics, Tutorials, Gotchas, Culture around it, Job market, comparisons, tooling, etc..

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

    Great video. Except that mathematical operators in Lisp are not operators, but functions themselves...

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

    I have doubts about the opinion that "Emacs out of the box sucks" I think of it more as a framework to make text driven applications with support for GUI, if you see the customize interface and the type of GUIs controls that allows is almost like a browser of the 1990s

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

    No

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

    The python shade haha great video.

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

    I've tried several times to get into Emacs (partly because it seems to work much better for integrating with REPLs than Vim/tmux). I'm a Vim user, so I can tolerate a certain degree of living in the 70s, but the Meta key is something that Emacs desperately needs to move on from, because it makes Emacs literally painful to use. Keyboards haven't had a Meta key since Lisp machines, and it was to the left of the Ctrl, not the thumb bendingly awful position of the Alt key on modern IBM keyboards. CUA mode is a step in the right direction, but still. And when the first thing you have to do is remap all the commands just to not experience pain... eh. I know one obvious solution is to remap the otherwise badly placed CapsLock to Alt, but I use the Colemak DH keyboard layout which remaps CapsLock to Backspace, and I cannot figure out how to undo that, so I just end up not using that key. However, if I ever do try again, I'll certainly take another look at your setup.

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

    I'm fascinated by FP, and have tried to incorporate aspects of it. Unfortunately, a lot of my work is stochastic simulation of epidemics, where you have a population that changes *randomly* over time, and you want to capture various bits of information about it (e.g. maybe poll the population at regular intervals, record the time(s) an individual gets infected and recovers etc.). This is so natural in procedural, e.g. population X=X0; t=0; while (t<t_end) {calculate stuff; update t and X; record poll; etc.}, but this state fiddling is anathema to FP. I have looked, but haven't really come across any examples of FP in these sorts of cases, to learn from. Guess when I do figure it out it'll be up to me to share my findings! Also I remember how Guido decided that TCO wasn't going to happen in Python. Given that he's not been the BDFL for almost 5 years now, maybe that might change in the future?

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

    Julia might fit the place where Python failed. It looks a lot like Python (although with end tags instead of syntactic whitespace, and n-dim arrays are easy to work with), but it has powerful macros, inspired directly by Lisp. Plus it has strong performance.

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

    Sound effect: eavesdropping in a public toilets in the 50's 👌🏻

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

    Coolio! Next you could analyze long repeating patterns and make new keybindings for those?

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

      yes! that's the plan. the hope is that these will turn out to be things that _should_ be emacs commands :D

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

    Very excellent! I'm excited to start collecting my data, we'll see how it goes ^^

  • @JH-pe3ro
    @JH-pe3ro 6 หลายเดือนก่อน

    I've converged on the "What They Teach In Harvard Business School/What They Don't Teach In Harvard Business School" approach to programming: Use Forth to talk to a real machine. Use Lisp to avoid talking to a real machine. Use both together and you have all of programming.

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

      You can have a readmacro that you can bind to a key on emacs or whatever editor to be able to change S-expressinos to postfix and back again. Postfix is nice if you see the stack so you can see the intermediate values, but LISP is better for reading. Also you can use Chinese symbols and put the words in a tiny ruby script and maybe change the ruby script to give you sample test values seeing how they move through your code.

  • @user-ui8my9zs7o
    @user-ui8my9zs7o 6 หลายเดือนก่อน

    Long formate is great!!

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

    wow thanks

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

    Super interesting! Very useful insight that the keys most needing re-binding were the ones that were most annoying, suggesting that annoyance-drive-reconfiguration isn't a bad approach. Great work :)

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

    This is awesome lol

  • @9s-l-s9
    @9s-l-s9 6 หลายเดือนก่อน

    Really cool :D Also like the idea of using information theory for UI analysis.

  • @tanko.reactions176
    @tanko.reactions176 7 หลายเดือนก่อน

    it feels like the compiler writer of lisp implemented the AST and then was too lazy to continue, called it a day.

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

      Good to know. I need to learn to make a C compiler next semester and I need a starting point for the subject. Working on a Forth but that's kinda too simple. Maybe I should learn a Lisp like Scheme and try to make one?

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

    This video is quite a while ago now, but if I may give my 2 cents here, I would like to say something about the old debate of purity. I believe the most important point about purity is that it's all about Separation Of Concerns. Pure languages as a whole like Haskell have some problems in how practical they are to use in real life software development. So what I believe is that at function level, you want to decide if it becomes a pure function or not, and express that clearly in the name and type of it. You can often keep most code in pure functions, which just yield values in predictable ways. Actual `work`, like modifying environmental things, files, stored data, etc. can be placed in decidated, centralized procedures in a program. And such a procedure may return void or unit (this depends on the language), or when applicable rather a success or error result status. So I strongly believe in well organized, mixed paradigm programming. I believe Rust does this totally right for example.

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

    I've always thought that FP can be achieved via any of the other programming paradigms if and only if you write them correctly. BUT the _point_ of FP is that a functional rubric is *enforced* by the grammar and runtime, therefore guaranteeing code safety. Does that sound right?

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

    But you can't create AI using lisp. yet.

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

    BTW: I like the addition "for better or for worse." Writing well in Lisp requires taste. It's way too easy to make a real dog's breakfast of ill-considered macros. N.B. I am by no means considering myself as exemplary here. I'd have to be firing on all cylinders if I were to contemplate writing a macro for anything but my own consumption; I'm generally too stupid to do better.

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

    "...we managed to create a language that accomplishes neither." Ouch! My sides! /me ∉ pythonistas

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

    The startup time comment is interesting. On my boxes, I often stop emacs, but my init does a lot with autoload, and chances are that the emacs files are cached in memory anyhow, so save for an inital cold load, emacs starts about one second. Since I run it via emacsclient, if I don't kill the session, the startup is basically instantaneous. I think if I had NVMe on my boxes, I wouldn't even find the cold-load time that painful. It certainly starts up much more quickly than a cold-load of firefox.

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

    there is no evidence that these properties are better. functional programs measurably have as many bugs as imperative and oo programs. If these things are not producing a benefit, why make things more difficult for you and for the computer?

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

    Great tutorial, don't stop make video like this, please

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

    Neo: "Woah... I know Macros!" Sammy: "Show me.." Sammy: "This is Emacs REPL. It's similar to the programming environment of the Matrix It has the same basic rules, rules like abstraction, compilation. What you must learn is that these rules are no different than the rules of the underlying assembly. Some of them can be bent. Some of them can be broken."