Hacker Newsnew | past | comments | ask | show | jobs | submit | cypherpunk666's commentslogin

some theoretical thoughts along similar lines, but both Qt & Gnome.

https://docs.google.com/document/d/15jnIEIfvBu87tn688-lhwcSi...


also: why not use fil-c to improve cython, and the ffi.


the only reason to use cython (in my experience) is to write quick numpy extensions without a tonne of extra baggage from having a complete compiled extension in C/C++/Rust. Often, you explicitly want to avoid the compiler offering you any kinds of additional checking because you want to get maximum throughput. Most of the functions I’ve written in cython explicitly opt out of bounds checking etc since the memory access is sequential and bounded by construction and very obvious when you mess things up by writing simple unit tests. Given that, it doesn’t seem useful to me to add any kind of memory safety as additional overhead. YMMV I mostly do scientific computing and signal processing.


If you want a slow, garbage collected language in the Python ecosystem, why not just write Python?


you would. python and ffi would have runtime sanity checks a la fil-c. better error messages too. ask your favorite LLM how it would look.


indeed, the ideas could be used more widely.

fil-c runs on linux.

what if linux ran on fil-c?


Do you want your kernel to be 2x slower and use 4x as much memory?


A computer spends the vast majority of its time and memory in userspace, so this tradeoff isn't as bad as it sounds.


The benefit also isn’t as big as you might expect. Most of Linux’s recently found security vulnerabilities were due to ToC/ToU bugs. Fil-C would not magically fix these problems.

It would sometimes be a good trade off, for some users. But I don’t think many regular users would choose to pay this cost.


a fun exercise is to ask an LLM how it might be applied.


You can run your Fil–C userland on provably–secure seL4.

(Left as an exercise for the reader)


If you’re using SeL4, userland processes are already strictly sandboxed. There’s still some benefit to Fil-C, since the added memory safety would make it much more difficult to take over a process. But the blast radius of a compromised program in SeL4 is much smaller because of the capability model.


I was under the impression that fil-c's memory management (gc?) wouldn't work on a kernel? Be sweet if you could, ofc


This is a myth that seems to never die. OS kernels can and have been written in GC languages. Watch the video maybe? The whole presentation was running on a distro fully compiled with FillC.


The video has a slide which says,

> I'm running on an OS where the entire userland is compiled with Fil-C/C++

(emphasis mine)

Looking up https://fil-c.org/pizlix , that says,

> The kernel is compiled with Yolo-C. So that you can compile the kernel, a copy of GCC is installed in /yolo/bin/gcc.

Where do you see anything saying the Linux (the kernel) can be built with Fil-C?


Ok, I stand corrected: only the kernel userland was compiled with Fil-C.

However, I don't see why the full Linux kernel could not be compiled with Fil-C. It would be nice if Fil himself could explain what limitations there are, but the documentation does not list missing C/C++ features as far as I know, it only says it's "fanatically compatible" which I take to mean mostly everything should work?!

But to my point in general, here's a osdev.org wiki explaining how high level languages can and have been used for OS development (with the caveat that some Assembly code is required, which I believe is also true of kernels written in C): https://wiki.osdev.org/Languages


what if fil-c could draw pelicans?


Write python code that works "everywhere". (Except, of course, if you use any libraries at all. Ha ha.)

As used by github.com/raould/shelldsl.

Early days.



I keep day-dreaming about how to leverage the ideas in Fil-C. (a) use it for both Python interpreter and all C libs i want to call from there. (b) use the ideas for extra security in the OS kernel.

https://drive.google.com/file/d/1yVlKs_GPspxTq95MXLPgj5QuggT...

https://drive.google.com/file/d/14HG52S0TrrBbqwzisTupebCD1Im...


for me i want more semantics. the top level thing we read and maintain and apply should be "roles".

https://docs.google.com/document/d/1oIb025h3UcHMJA1zPtk1kauo...


not enough buttons maybe but these have a version called "L LEFT"

https://www.logitech.com/en-us/shop/p/m650-signature-wireles...


It has one problem: buttons not swapped physically! Yes, leftmost button is primary one (first), and rightmost is secondary (third).

I have this one and use it, with software swapping, but each time I login to remote computer via RDP I need to un-swap in settings again and then back :-(

It is striking, that Logitech forgot how to make proper left-handed mouse. Their older models (discontinued for long time) were perfectly Ok!

Also, it very small for my hand. But better than nothing.


Fwiw this is how cars work when you change to a country that drives on the other side of the road. It seems like mirroring the car would make sense. But really everything is shifted to the opposite side as a translation without reflection. It's easier to manufacture, but as many of you will know and is apparent to all rental agencies, adapting doesn't take long for the average driver, even on manual transmission.


[Show HN]


Browser shoot-em-up, 80s style.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: