I downloaded it recently and found it to be quite useful for quick notes. And I can attest to its "fast" claim, using it on a heavily monitored corporate computer, with CrowStrike and what-not; curiously, and I may being hyperbolic here, but, I got the feeling that it was opening faster than MS Notepad, even with Copilot disabled.
The only thing missing is for me is the "save temporary file" behavior, as I have this habit of making a quick note, close to save up space, both in RAM and view, then later on, fire it up again. Will see if there's a Lua api for this later.
If I was malware, one of the first things I'd do is check that scratch files directory for secrets.
The default behavior of Notepad++ is a very real security risk. So many system admins and developers will throw passwords and API keys into there and just forget about it. The scratch files are all sitting there unencrypted and with easy to exploit permissions.
Alas, my first thought after seeing TextAdept was that it could serve as a more secure alternative to Notepad++.
Legitimately curious, how would you implement a “secure” scratch file functionality? Or is it just that the whole notion of scratch files is insecure?
The great thing about Textadept’s extensibility (and use of Lua specifically) is that it’s easy to pull in other Lua modules to add functionality. I don’t think it would be much work to modify the scratch file extension to prompt you for an encryption key on startup and then run the scratch files through libsodium (via luasodium) if you want to have your cake (scratch files) and eat it (some cursory level of security).
I use Joplin, which is a cross-platform FOSS notes app featuring E2EE. It's not a perfect solution and not much of a text editor, but it's the right direction.
Everything else is explicitly saved (without secrets) or just an ephemeral buffer in Neovim.
I have this view as well. After years of Notepad++, the last security problem made me want to switch, not because of just that, but that, overall, since the author has an active voice expressing his political views (which is totally fine), I have this unease feeling that it makes him, and his products, a notorious target.
Searching for alternatives, Textadept seemed to fill the gap between features, speed and simplicity.
The plugin mentioned by the parent is really easy to grasp and tailor to my needs, which would not be the case with Notepad++, well, not for me at least.
I wonder how Stoat will fare, and how it is currently maintained, in terms of "making money"; my fear is that it would steer into the direction of Discord itself.
Currently financed on user donations. The future plan is to intoduce further features which are costly to provide behind a paywall to remain sustainable.
Nevertheless, I don't like the new name either, oh well...
I like this comment though:
Imagine you make a free software project and it runs into trademark issues because people have more money than you to register in more classes than your project.
And then even though your project existed first, they still come after you anyway.
And from that an even more expensive rebranding from this as well.
I wish there was more info. Who sent the C&D? Did that entity seem likely to have enough money to actually sue, and did they seem immune to the negative press if they did sue? Is that company in an unrelated-enough industry that they could just call it "Revoltchat" or something and be safe? Did they at least show it to a lawyer? Why didn't they publish the C&D?
I'm not a lawyer, but this kind of thing happens enough that I've asked GPT to explain it to me, and I think most people roll over at the first legal demand, no matter how outrageous.
Calling it "stoat" seems like a form of self-destructive protest.
Really interesting results, not sure how well it is written but works. I was quite found of Rust syntax; it certainly is not as convoluted as C++ (in my opinion).
Then I read this article. Since I was already eye-balling Swift for some time, I decided to give it a try and port to it, using Rust implementation as reference, and this time, without much of A. I. assistance, if I could help it.
Unsupported Linux platform
Debian GNU/Linux 13 (trixie) is not an officially supported platform, but the toolchains for another platform may still work on it.
Please select the platform to use for toolchain downloads:
0) Cancel
1) Ubuntu 24.04
2) Ubuntu 22.04
3) Ubuntu 20.04
4) Ubuntu 18.04
5) Fedora Linux 39
6) RHEL 9
7) Amazon Linux 2
8) Debian GNU/Linux 12
Pick one of the available selections [0-8] :
8
Installing swiftly in /home/debby/.local/share/swiftly/bin/swiftly...
Creating shell environment file for the user...
Updating profile...
Fetching the latest stable Swift release...
Installing Swift 6.2.3
Downloading Swift 6.2.3
100% [========================================================]
Downloaded 947.6 MiB of 947.6 MiB
Verifying toolchain signature...
Extracting toolchain...
The file `/home/debby/ent/agateteper/.swift-version` has been set to `Swift 6.2.3`
The global default toolchain has been set to `Swift 6.2.3`
Swift 6.2.3 is installed successfully!
There are some dependencies that should be installed before using this toolchain.
You can run the following script as the system administrator (e.g. root) to prepare
your system:
apt-get -y install libicu-dev libcurl4-openssl-dev libedit-dev libsqlite3-dev
libncurses-dev libpython3-dev libxml2-dev pkg-config uuid-dev libstdc++-12-dev
I think I played Thief 1 & 2 over 15 times in total, no hyperbole. I really, really like the atmosphere, the world building and Hammerites old-english and tenets (https://youtu.be/1gnGITh1cw8)... all of it. I even created a question to understand a specific phrase construction: https://english.stackexchange.com/q/588796. Good times.
We've been using Mapperly (https://mapperly.riok.app/), after a migration from AutoMapper, in our production application. I'm having a good experience, and we kind of like the holistic of this library.
So far, there have been no surprises, and the library warns about potential issues very explicitly, I quite like it.
Of course, if it's just a handful of fields that need mapping, than write manually is the way to go, specially if said fields require a custom mapping, where the library would not facilitate.
Thanks for sharing. I've been off editor hopping for quite some time, nowadays I just use some pre-defined configuration like Doom Emacs, occasionally I try to build some environment, with AI help, from "scratch" for fun and curiosity.
I really like Emacs' flexibility + evil-mode and reactivity, recently I searched for something similar and found Lem: https://github.com/lem-project/lem, looks promising, I'll try it out and compare with Emacs when I have the chance and time.
We tried to use LISTEN/NOTIFY for notification purposes, or rather, a queue in which the order mattered (well, kind of, we were aiming for the best scenario where a customer would not perform a specific task in a matter of milliseconds, because we could afford this expectation), in a .NET application using Npgsql.
The listeners were scattered between replicas, so we took advantage of Advisory Locks (https://www.postgresql.org/docs/current/explicit-locking.htm...) by choosing a unique key (unique to the data being sent) and before performing any task on the JSON payload, that the notification would send, we would first check the lock and continue the routine.
The NOTIFY routine was triggered after an insert in an Outbox table, so we could replay it if it failed for some reason.
Unfortunately I don't remember the exact reason we didn't use it, but I was bit sceptical for 2 reasons:
- I had a feeling that I was use this feature in a wrong way; and
but to this day I'm still unsure. Anyway, since it was a complementary system, it didn't hurt to leave it out, we had another background job that would process the outbox table regardless, but I felt it could/would give something closer to "real time" in our system.
When I had a Macbook from work, I set up an Arch Linux VM using their basic VM image [1], and followed these steps (it may differ, since is quite old): https://www.youtube.com/watch?v=enF3zbyiNZA
Then, I removed the graphical settings, as I was aiming to use SSH instead of emulated TTY that comes ON by default with UTM (at that time).
Finally, I set up some basic scripting to turn the machine on and SSH into it as soon as sshd.service was available, which I don't have now, but the script finished with this:
(fish shell)
while not ssh -p 2222 arch@localhost; sleep 2; end;
Later it evolved in something like this:
virsh start arch-linux_testing && virsh qemu-monitor-command --hmp arch-linux_testing 'hostfwd_add ::2222-:22' && while not ssh -p 2222 arch@localhost; sleep 2; end;
I also removed some unnecessary services for local development:
etc. Xenophon is eloquent and straight to the point, I really like his approach in this narration.
Now, on the topic of "rereading", I've often thought that maybe I should (have) read other books; that perhaps I was "spending too much time" in one book, but I just don't care enough to ruminate on this thought, and besides, there's always something new to learn from it.
Concurrently I'm reading "Crime & Punishment", which I also recommend.
The only thing missing is for me is the "save temporary file" behavior, as I have this habit of making a quick note, close to save up space, both in RAM and view, then later on, fire it up again. Will see if there's a Lua api for this later.