Readit News logoReadit News
newlisp commented on Ask HN: The government of my country blocked VPN access. What should I use?    · Posted by u/rickybule
pmlnr · a day ago
Android doesn't come with system wide socks proxy support, and i couldn't find an open source app for it either. Is anyone aware of one?

Nonetheless this is a surprisingly simple and bullet proof solution: SSH, that's not vpn boss, i need it for work.

newlisp · a day ago
For web browsing, Firefox lets you configure socks on android.
newlisp commented on Bookmarks.txt is a concept of keeping URLs in plain text files   github.com/soulim/bookmar... · Posted by u/secwang
politelemon · 2 days ago
Given that the aim is to still visit the URL, this appears to be browser bookmarks with extra steps. I am not seeing an advantage to the external storage mechanism and the overhead it brings.

Browsers have been doing an excellent job of managing bookmarks, you can tag and search for them from the address bar itself which is very convenient.

newlisp · a day ago
chrome doesn't have tags for bookmarks though.
newlisp commented on Bring Your Own Agent to Zed – Featuring Gemini CLI   zed.dev/blog/bring-your-o... · Posted by u/meetpateltech
greymalik · 2 days ago
Honest question - why use Zed, other than it is fast and “not VS Code”?
newlisp · 2 days ago
IME, it's not as polished as VSCode, too many rough little details here and there. But then, VSCode has been around for longer.
newlisp commented on QEMU 10.1.0   wiki.qemu.org/ChangeLog/1... · Posted by u/dmitrijbelikov
stinkbeetle · 2 days ago
> I've always wondered though how it works with KVM

Other people have given some more comprehensive explanations, but I'll try to put it as simply as possible.

Plain QEMU has a CPU emulation layer called TCG. The machine basically consists of memory (RAM and MMIO devices) and CPUs (CPU registers and state). When QEMU has set up the machine and is ready to run, it calls TCG to say "given this memory and this initial CPU register state, start running instructions". When you use QEMU with KVM, the TCG emulation layer is swapped out with KVM and it asks KVM to start running instructions. That's it. KVM exposes APIs that caller can specify guest memory and initial CPU register state, and a call to run that CPU with that memory.

Going a bit further, the hardware virtualization functions that KVM uses have the ability to map that memory with a second level of translation which lets KVM present it to the guest at the locations it expects, and to prevent the guest from accessing any memory that it should not. The hardware also has the ability to run the CPU in a mode where it has the normal set of registers (which is what QEMU wants), but it maintains some additional hypervisor control registers not available to the guest, and those can ensure the guest can't take complete control of the CPU (for example, the guest OS can "disable interrupts" with the usual MSR or similar bit and that does prevent the guest from getting interrupts, but that it does not disable hypervisor directed interrupts, so the hypervisor can always take back control of the CPU with a hypervisor-IPI or hypervisor timer interrupt).

Further still: when running in plain QEMU mode, devices are emulated by registering MMIO ranges in the memory address space and emulated loads and stores have code to detect these regions and instead of performing a simple load or store, they call into device model code which handles it accordingly. When you plug KVM in, you can still use these emulated devices. These are modeled by using that second level page table to put "not-valid" mappings in those MMIO ranges. These cause the CPU to trigger a page fault when it tries to access them, and KVM sees this, looks up the table of memory registered by QEMU, and sees that it is an address which QEMU wants to handle, so it returns from the KVM_RUN system call with result code that indicates there was an MMIO read/write that needs to be handled. QEMU then directs this into its emulated device model. Then when QEMU has performed that device emulation, it calls back into KVM to continue running the CPU.

It's all pretty clever. The really astounding thing is that most of the basic concepts for all this stuff were developed/discovered/invented like 50+ years ago.

newlisp · 2 days ago
The only comment that directly answers the original doubt about how QEMU can use and work with KVM. Hats off.
newlisp commented on Customizing tmux   evgeniipendragon.com/post... · Posted by u/EPendragon
godelski · 25 days ago
You mean like `window-save-state`[0]? (Windows and sessions are the same thing)

You don't need a server to handle this feature. Using a non-server solution even allows restoring after power cycles!

[0] https://ghostty.org/docs/config/reference#window-save-state

newlisp · 25 days ago
I mean having long processes(batch jobs, backups, compiling, etc...) or even your opened terminal apps like your code editor or claude code don't get interrupted/killed if you accidentally close your terminal, or you terminal/desktop environment crashes/freezes. While essential for doing dev on remote servers IMO cause of "networks", is useful for local stuff too.
newlisp commented on Customizing tmux   evgeniipendragon.com/post... · Posted by u/EPendragon
godelski · 25 days ago
Yes, of course. What I'm trying to communicate is that if you're just doing things locally you can get all the benefits (sin sessions) from modern terminal emulators. Most people are using panes and tabs but switching to another terminal emulator will get you these and much more. If you're using the default terminal emulator, you should probably switch (you're installing a program anyways, right?).

That said, I still use tmux. Almost every day in fact. Because all my work is being done on a machine I'm not sitting in front of. This even includes at home. My main desktop is connected to a TV for videogames and movies. When I want to do work on it there's no difference if I'm sitting in front of my laptop or it other than it sitting in my livingroom keeps it cooler and gives it better air flow.

Edit:

Locally: my terminal emulator (ghostty) can do everything tmux can. I can do sessions (windows), panes, tabs, and all that. But with ghostty I also get images, a lower memory footprint (than stock emulator), lower CPU usage (than stock emulator), ligatures, and everything else. It is strictly better.

But I can't do {widows,panes,tabs} with remote connections. Hence, tmux. Which in that case, I will frequently give up capabilities (like images) for that.

newlisp · 25 days ago
You don't mention the persistence of tmux sessions, which I find very useful for local development. Does ghostty have a client-server architecture too?
newlisp commented on Ergonomic keyboarding with the Svalboard: a half-year retrospective   twey.io/hci/svalboard/... · Posted by u/Twey
jerlam · a month ago
> Where are all the cheep rubber dome splits?

The only halfway decent player in this category was Microsoft, with its line of Natural Keyboards. I've used four or five of them, decent enough. I doubt Microsoft was making a lot of money.

The line was discontinued in 2023 and sold to Incase:

https://www.incase.com/pages/incase-designed-by-microsoft-co...

newlisp · a month ago
Kinesis now has https://kinesis-ergo.com/keyboards/mwave/ as a better(to me) Microsoft sculpt clone in a similar price range.
newlisp commented on Performance and telemetry analysis of Trae IDE, ByteDance's VSCode fork   github.com/segmentationf4... · Posted by u/segfault22
bobajeff · a month ago
The feature that keeps me from moving off of vscode is their markdown support. In particular the ability to drag and drop to insert links to files and images *. Surprisingly, no other editor does this even though I use it all the time.

* https://code.visualstudio.com/Docs/languages/markdown#_inser...

newlisp · a month ago
It's also a good alternative to Obisdian if you don't need smartphone support.
newlisp commented on Mwm – The smallest usable X11 window manager   github.com/lslvr/mwm... · Posted by u/daureg
newlisp · a month ago
This WM is too extreme but in linux desktop, the less GUI you use, the better.
newlisp commented on Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase   github.com/zserge/pennyba... · Posted by u/dcu
deepsun · 2 months ago
Just to be pedantic, SQLite is not really typed. I'd call them type-hints, like in Python. Their (bad IMHO) arguments for it: https://www.sqlite.org/flextypegood.html

u/newlisp

KarmaCake day94December 28, 2021View Original