I've been trying to think of how to create very dynamic plugins in my editor. I tried a whole bunch of things, but I think I settled on something insane: Just use C! Through the magic of TCC, I can offer just that in a portable way: https://t.co/67R6qgGz6G
This Saturday I will be talking about fred at the first Handmade Expo!
I will be revealing some very exciting work I've been doing on the editor along with some insights into the tech behind it.
HM folks are cooking! @antovsky@nicbarker@gdechichi Leddoo @struc_ture@frogtoss
It is going to be an inspiring week for programmers in Vancouver. I'll live code with Grain DDL in front of an audience at Handmade Network Expo hosted by @handmade_net at 10 sharp, with video published for everyone later.
Live coding on a language you implemented is a type of performance art only a programmer can pull off.
Going first means I get to hang back and watch demos from @antovsky, @nicbarker, @gdechichi, Leddoo, @starfreakclone and @struc_ture afterwards. Let's go.
After seeing @starfreakclone's FRED editor in action, I had to try integrating the Undo Graph into my own editor..
It's so cool, not as cheap as in FRED yet, but a proper Piece Tree is on the way!
@ZH1YGD@rfleury OSS is even more of a losing proposition now when so many companies believe they can build everything through vibe coding. Your OSS becomes training data, leaning further into the idea bankruptcy as you create more OSS.
@ZH1YGD@rfleury If you give everything away for free then you bankrupt yourself of ideas that could have led to actual financial success. Most OSS can't make money, that's demonstrably true. The few projects which break that mold do so through, like Ryan said, some other avenue to build success.
@starfreakclone@marktyrkba most ide's are open source... vim, emacs, acme, vscode, eclipse, notepad++, i mean countless of ide's xD really depends what you want out of an ide
@waozixyz@marktyrkba There's a balance here. I am just one guy trying to develop a productivity tool. It would be very difficult for me to gather feedback on this system if it were open source—there's not enough of a paper trail. I offer the editor for free, but the trade-off is that...
It was such an honor to have joined Lukasz! I had a ton of fun and I got to talk about what I really enjoy working on: fred.
Also, give him a follow because he's a gold mine of spectacular programming content if you don't already know.
Had a great honor to chat with @starfreakclone about his FRED - friendly editor.
Cameron gave me a tour of his code editor built for a special purpose - to aid in his work, which means working with often 1M loc C++ files.
FRED is not only extremely responsive and works flawlessly on Debug build, but has a couple of sweet features, like a spectacular Undo/Redo tree view
We start off with the FRED tour from the product perspective, and then we dive into the code, to see how it's built from the inside!
@starfreakclone, thank you so much!
https://t.co/QSOWAXmU40
@Jonathan_Blow@wookash_podcast Choosing the right data structure for the problem is critical. I'm sure as Jai evolved certain pieces of the underlying data structure needed to change. In turn that probably opened more opportunities for features later on.
@Jonathan_Blow@wookash_podcast What actually matters are the operations you perform on the data structure. Those operations should have appropriate performance characteristics and this is the point of replacing the buffer. As an added benefit the new buffer afforded an entirely new feature for free: undo graph
@Jonathan_Blow@wookash_podcast One other piece here is that because I designed the experience around the UI and not the buffer, the replacement of the underlying buffer becomes trivial. Any properly designed editor should be able to do that.
@Jonathan_Blow@wookash_podcast The motivation for my data structure was driven by the category of text files I like to edit/inspect. I had already developed a good UI from first principals, so this post was about how I solved a discrete problem independently of the rest of the system.