279 sats \ 6 replies \ @orthzar 24 Sep 2023 \ on: Which desktop applications do you use the most? tech
Gui:
- Chromium (w/ uBlock Origin)
- Emacs (w/ SLIME)
- Mumble
- Musescore
CLI:
- sbcl (for when SLIME would take too long to startup)
- ssh
- mpv
- yt-dlp (almost entirely for downloading music from YouTube)
1337! I almost got into emacs when I was progamming in lisp but I got lazy.
reply
I think it took me a few months of using just Emacs to get comfortable with it. Two things helped in the process:
- I printed a cheatsheet and taped it next to my monitor; and
- I read tutorials whenever I couldn't figure out how to do something.
A side benefit to learning Emacs is that some of the key combinations are also used in Bash (e.g. C-/ for undo).
I would say that learning to use Emacs is like learning to ride a bicycle, but a bicycle can't act as your entire userland.
reply
My first ever programming mentor was a big emacs guy. A lot of our work involved several computers so we'd ssh around a lot and I was always jealous of him never losing his editing experience.
a bicycle can't act as your entire userland.
This. I want to be this crazy.
reply
A lot of our work involved several computers so we'd ssh around a lot and I was always jealous of him never losing his editing experience.
I wind up doing a bunch of editing in a browser, but I hadn't considered trying to do all that into Emacs. I should spend some time with this interactive REST client, since the system I'm working with also has a REST API.
a bicycle can't act as your entire userland.
This. I want to be this crazy.
Well shoot, half of my projects are at least that crazy. I guess I'm already half-way there.
reply
What are you doing in Lisp?
reply
Anything and everything, but most are ideas at the moment. Here's a cross-section:
I've started working on a Nostr library (very rough and non-functional at the moment). I plan to use this to make at least two things: a command-and-control library, and a browser/publisher to browse/post hypertext documents on Nostr relays (it's complicated).
I made a half-joke, half-serious password manager in Common Lisp. It's only somewhat useful, since many websites still have insane password requirements.
For my music project, I need some specialized music software, and I think Gsharp is the best candidate for that. I've looked at the source code for several music composition programs, and Gsharp appears to be at a sweet spot in terms of features and ease of modification. Unfortunately, it doesn't work with recent versions of CLIM, so I'd have to learn CLIM to fix it.
I've done some very preliminary work to put ECL inside of Quake 1 in order to make Quake moddable at runtime. I will probably abandon this project, because Quake is rather limited (e.g. it really doesn't want you to change the map after it's been loaded). So I've been thinking about a new engine that would use skiplists and an advanced 3d raycasting renderer.
I've been thinking about a compiler that would accept Common Lisp and output an FPGA bitstream. The compiler would be a constraint solver, because it would allocate resources inside an FPGA for performance and security. Once that works, I would feed it into itself so that it could run bare-metal on an FPGA, and be used to program other FPGAs on the same board -- essentially a computer made of just a bunch of FPGAs. Imagine a web browser running bare-metal inside one FPGA and the entire network stack running bare-metal in another FPGA connected to an RJ45 port. This is not a simple project, but it would make an entirely new class of computers possible.
I've got a bunch of notes on a portable security system for Common Lisp. It would provide a genuine capabilities system, using a specialized REPL that replaces symbols according to a rule set. The goal is to incorporate this system into a Lisp OS (e.g. Mezzano) to make it a secure multi-user OS. But this could also be used to run untrusted code in a secure way.
I have very little time to work on my projects, so most are stuck in the design phase. I need to start using PTO to focus on my projects, since (a) my current job is somewhat of a dead-end, and (b) a few of my projects could actually be useful to others.
I have considered paying someone else to work on my projects for me, but my income is not high enough to pay even for part-time work. Maybe I should pitch one of my project ideas to YCombinator and use VC money to pay for a programmer to work on my ideas. But, that would involve a lot of paperwork, which I really hate.
reply