To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/GavinFreeborn . You’ll also get 20% off an annual premium subscription.
Great video! I would love to see another one of your own personal workflow and how you use orgmode to manage personal stuff like finances and synching tasks/calendar with your phone. Also, maybe how you use it for work projects, project management, and team communication.
There is a huge list of languages I would like to learn out of curiosity or principle, and there is small list of languages I should learn for practicality and the sake of my career. Haskell certainly has no place in the latter. Same for various LISPs. I learned Scheme through SICP, and that was pretty cool, and maybe I'll switch from Neovim to Emacs at some point and learn ELisp, but it's otherwise impractical to learn niche languages. I'll 100% jump at the opportunity to learn them on the clock though, but that seems unlikely to ever happen.
Ya I admit that learning most of these was driven by my desire to learn and a few ideas for side projects. I cant say I have used them directly at my day job but maybe one day I will. I still apply many things I learnt day to day. Especially the things I learnt from haskell.
while PERFORMANCE is top notch with a plain text interface, the Lack of a Gui and being at the mercy of a keyboard, is what is keeping this thing from going viral. It is absurdly suppressing its power. The first man who will turn it into a Gui, will make a NAME for himself in the world of PIM 😍😍 Believe it or Not, he is the PERSON who will become the FAMOUS Bill Gates for it (org-mode). WouldNT you guys agree that . . . it is a BIGGG mistake (huuuge blunder), to Not have a Gui whatsoever for this thing at a time when the ENTIRE world is now living in the multimedia realm of 4k resolution on mobile-phone screens. And No, the Gui is NOT about now THROWING away the text interface ! It is about giving a FACE to it, whereby the interface will be SLOWED down a little bit (Gui's are slower), but will suddenly become intuitively-VISIBLE and SUDDENLY APPEALING . . . to the world at large (including the lucrative ENTERPRISE/Business world that is STARVING from the LACK of effective tools and means to MANAGE the EVER-PROLIFERATING COMPLEXITY in enterprises!! They'll be willing to put down DOLLARS for enterprise versions of this !!).
from my experience, language which let you construct a language "inside" of it (be it with macros or other things) either: - end up barely used in the wider industry - the construct isn't used to actually do this in practice (be it because people forbid each other from doing so or other reasons) the main reason is because these languages turn very quickly into some sort of barely maintainable mess (for other people) if these constructs are used to do that so, I am quite wary of things like macros btw, one small things about Zig: I wouldn't say that Zig's comptime are macros. And if, it's a very limited form of it (which is good imo). In comptime you just say 1. the code gets run at compile time and 2. types are also values. So it's a form of compile time reflection.
From what I've seen zig uses comptime for far more than reflection though that is one use I've seen. I've seen it used similar to constexpr in c++. I may have given zig a bit too much credit. I more wanted to relate the concept of a compile time function. Templates also make a similar attempt but comptime is far closer to what you get in common lisp. Another example of a language that mimics some of lisps macros that has gained a lot of adoption would be rust with its proc macros. You will see tons of libraries making use of them to simplify code. If you ask me features like this often don't sell a language to people for good reason though they will be used as an example to sell its power. That is just my opinion though not a fact.
@@GavinFreeborn Imo there is just a big difference between code which gets executed at compile time and macros. The deciding factor imo is that macros work on a level a above the language, be it at AST level or something else, while code which gets executed at compile time does not.
I'd say that is part of the problem though with macros a lot of these pain points could have been resolved. Unfortunately even the modern revisions suffer from those implicit type conversions
Anyone checking this out, beware that kmonad lacks mouse emulation support, which is a dealbreaker for me. After some research, kanata looks like a promising alternative
A little late to the game, but recently stumbled on your Common Lisp content (which is great by the way). This video is a great explanation of the "force" that comes with the Common Lisp way. Just started learning CL to start writing a chemistry based application (choosen b/c of the extensibility of macros), I use StumpWM and Nyxt (on Guix) and was great to learn how to quickly interface with Nyxt from Emacs (an additional gold nugget for me in this video)!
This really does look great. Been using Doom Emacs for a while, but I'm still hesitant to write my own Emacs config as I'd spend an ungodly amount of time to make it work.
Nice overview, thank you. May I ask how you get the special 'kanban' view in your agenda? I'm not able to see how to set that up. (The closest I found was the org-kanban package, but that seems to be outside of the agenda).
The main problem with org-mode is the fact that I can’t really sync it with all the other tools I need for client work (Google calendar, Clickup, Teams etc) and collaboration with other team members. It is just for personal stuff.
How do you update or synchronize your org files outside of your computer? Maybe with your phone? Edit: Oh woops, you start talking about that at some point.
Oh, well, I had a great teacher (!) at the university. He was a Russian-French-American. He was also a poet-computer scientist. I just loved LISP when I first met her ;o) However, I have been using C/C++/C# ever since. Because I was the only one who was into LISP in my hood ;o)
Oh the happiness. Young übermensch prodigy Gavin has released a new video to make my addiction to org-mode even worse. Now if you could just make a video on how to talk to people about org-mode without sounding like a crack-head, that would be great 😅
You asked for ideas. I don't like the readability of the long strings in your templates. I suggest you do as I have done and backtick the parenthesis to be able to split the strings up with ,(concat... At every I then start a new string on the next line. It will make the code easier to read and understand.
To try everything Brilliant has to offer-free-for a full 30 days, visit brilliant.org/GavinFreeborn . You’ll also get 20% off an annual premium subscription.
I like your color scheme, it's very readable, what is it? This was useful video for me, even though I fell asleep at some point due to unrelated reasons, as I use org-mode tables to write down financial stuff but my spreadsheet skills in emacs are still somewhat lacking. Need to rewatch this with more fresh eyes.
i am learning lisp. Do you have any notes/tutorial on how to build non-web simple application. For example- i want to create a package, add calculator class with basic operations.. and make a executable from it. ?
I know it sounds a bit blasphemous but cloud it be possible to install VS code or Sublime, Notepad++ keybindings into Emacs instead of Vim keybindings? Can you do this with modern keybindings. Most of us are not a huge fan of Vim keybinding and not even Emacs that is why we staying with VS Code and other modern code editors. But if there were a script for our favorite keybindings many people would give a second shout to Emacs.
Outstanding video thanks! I have been getting more into tables and lately writing an exporter. Tony Aldon's series on tables is also excellent and covers different material.
Having written a lot of parsers, compilers, hot-reloading for video games, and other things of that nature, I can say that Lisp has good ideas that everyone else has stolen from. The lowest-level example of that is Forth: Forth has a REPL, macros, and image-based development, while also having no garbage collection or types(just fixed-size cells, a linked-list dictionary, and stacks for data and control flow). Forth's REPL is immensely useful for hardware bringup(it's also what UEFI is based on). Many Forth systems use images in the form of "screens" that are literally the amount of code that fits on a screen. However, I don't work with image-based development because it has some problems with checkpointing and archival: Sometimes you need a single source of truth, a historical record of changes, or a safe default, so I approach my coding with the mindset of "If I want it to stick, I need to write a file". I've examined Lisp at a distance for some time, but it was actually Forth that got me to start investigating actually developing in CL this year, because the two go together like peanut butter and jelly. Both of them have very little syntax and are made to be extended, both of them got a standard in 1994. Basically, Forth acts as a generic low-level target with a built-in debugger. Lisp is the compiler for that target code. While SBCL is certainly fast enough to be used for whole projects, Forth makes me write with much higher precision and to think in terms of a real machine, so this is a way of pushing myself to make very tight specifications - I'm using Forth to make retrogames on the "neo-retro" Agon Light platform, and it needs that kind of precision to have things fit in 512kB of RAM and a 20Mhz processor. Interactive mode is used to "bottom-up" the things that need it, which are more on the Forth side of things than Lisp; Lisp provides the compiler to generalize that code. For example, I'm making fixed-point math code, which is generalizable, but within the target app, I'm only likely to ever need one fixed-point form. Therefore, compile that down into a reconfigurable math library. That only gets easier if you start with minimal syntax.