Readit News logoReadit News
IshKebab commented on Linux Sandboxes and Fil-C   fil-c.org/seccomp... · Posted by u/pizlonator
jart · 6 hours ago
WASM sandboxes don't do much to guarantee the soundness of your program. It can hose your memory all it wants, it can just only do so within the confines of the sandbox.

Using a sandbox also limits what you can do with a system. With stuff like SECCOMP you have to methodically define policies for all its interactions. Like you're dealing with two systems. It's very bureaucratic and the reason we do it, is because we don't trust our programs to behave.

With Fil-C you get a different approach. The language and runtime offer a stronger level of assurance your program can only behave, so you can trust it more to have unfettered access to the actual system. You also have the choice to use Fil-C with a sandbox like SECCOMP as described in the blog post, since your Fil-C binaries are just normal executables that can access powerful Linux APIs like prctl. It took Linux twenty years to invent that interface, so you'll probably have to wait ten years to get something comparable from WASI.

IshKebab · 3 minutes ago
> It can hose your memory all it wants, it can just only do so within the confines of the sandbox.

True, although as I understand it the WASI component model at least allows multiple fine-grained sandboxes, so it's somewhere in-between per-object capabilities and one big sandbox for your entire program. I haven't actually used it yet so I might be wrong about that.

> so you'll probably have to wait ten years to get something comparable from WASI

I think for many WASI use cases the capability control would be done by the host program itself, so you don't need OS-level support for it. E.g. with Wasmtime I do

  WasiCtxBuilder::new()
        .allow_tcp(false)
        .allow_udp(false)
        .allow_ip_name_lookup(false)
But yeah a standard WASI program can't itself decide to give up capabilities.

IshKebab commented on Using E-Ink tablet as monitor for Linux   alavi.me/blog/e-ink-table... · Posted by u/yolkedgeek
sgt · an hour ago
What's the cheapest eInk display one can get, like phone sized or tablet sized? I mean just for experimentation.
IshKebab · 13 minutes ago
I'd look for an Inkplate on ebay. I got the 10 inch one for about £60 which is very good.
IshKebab commented on Go Proposal: Secret Mode   antonz.org/accepted/runti... · Posted by u/enz
steveklabnik · 6 hours ago
Zeroing memory is trickier than that, if you want to do it in Rust you should use https://crates.io/crates/zeroize
IshKebab · an hour ago
He was pretty close tbf - you just need to use `write_volatile` instead of `write_bytes`.
IshKebab commented on Go Proposal: Secret Mode   antonz.org/accepted/runti... · Posted by u/enz
purplesyringa · 10 hours ago
You can try to write it in Rust, doesn't mean you'll succeed. Rust targets the abstract machine, i.e. the wonderful land of optimizing compilers, which can copy your data anywhere they want and optimize out any attempts to scramble the bytes. What we'd need for this in Rust would be an integration with LLVM, and likely a number of modifications to LLVM passes, so that temporarily moved data can be tracked and erased. The only reason Go can even begin to do this is they have their own compiler suite.
IshKebab · an hour ago
I'm pretty sure you could do it with inline assembly, which targets the actual machine.

You could definitely zero registers that way, and a allocator that zeros on drop should be easy. The only tricky thing would be zeroing the stack - how do you know how deep to go? I wonder what Go's solution to that is...

IshKebab commented on Workday project at Washington University hits $266M   theregister.com/2025/12/1... · Posted by u/sebastian_z
alephnerd · 11 hours ago
Spending roughly $38M per year (as per the Register article) for HRM, EPM, IBP, and CRM in an organization with roughly 22,000 employees [0] and 16,000 students [1] is a fair amount.

HNers really underestimate the complexity of software projects in organizations as divided as a large private research university that is also a major healthcare network [2].

[0] - https://governmentrelations.wustl.edu/economic-impact-st-lou...

[1] - https://washu.edu/about-washu/university-facts/

[2] - https://physicians.wustl.edu/

IshKebab · 10 hours ago
Spending $2k/year/student on it sounds pretty insane to me. At that price it would be cheaper just to hire an army of secretaries and do it on paper.
IshKebab commented on VPN location claims don't match real traffic exits   ipinfo.io/blog/vpn-locati... · Posted by u/mmaia
Beijinger · 11 hours ago
Yes, I don't understand the advantage or disadvantage of this. Let's say I need a Colombian IP address, I would figure it out pretty quickly it this was not genuine, except if the geo-block protection would be fooled too.

Most of the "problem" countries are tiny places. Monaco, Andorra etc. It might be tough to rent a server there. And your list of clients should be minimal.

IshKebab · 11 hours ago
> I would figure it out pretty quickly it this was not genuine, except if the geo-block protection would be fooled too.

It would (unless the blockers use this company's database I guess):

> The IP registry data also says “Country X” — because the provider self-declared it that way.

That could be good or bad depending on what you're using the VPN for. E.g. if you only care about evading stupid local laws like the UK's recent Think of the Children Act, then it's actually great because you can convince websites you're in Mauritius while actually getting London data centre speeds.

But if you want to legally be sending your traffic from another country then it's less great because you actually aren't. To be honest I can't really think of many situations where this would really make a difference since the exit point of your network traffic doesn't really matter legally. E.g. if a Chinese person insults their dear leader from a VPN exit node in the UK, the Chinese authorities are going to sentence them to just as much slavery as if they did it from a local exit point.

IshKebab commented on VPN location claims don't match real traffic exits   ipinfo.io/blog/vpn-locati... · Posted by u/mmaia
ramity · 11 hours ago
Contrasting take: RTT and a service providing black box knowledge is not equivalent to knowledge of the backbone. To assume traffic is always efficiently routed seems dubious when considering a global scale. The supporting infrastructure of telecom is likely shaped by volume/size of traffic and not shortest paths. I'll confess my evaluation here might be overlooking some details. I'm curious on others' thoughts on this.
IshKebab · 11 hours ago
> I'll confess my evaluation here might be overlooking some details.

Yeah like... physics. If you're getting sub-millisecond ping times from London you aren't talking to Mauritius.

IshKebab commented on I tried Gleam for Advent of Code   blog.tymscar.com/posts/gl... · Posted by u/tymscar
WJW · 13 hours ago
Gleam is really quite a nice language. I did AoC in it this year as well and came away with the following: (incomplete list for both positive and negative, these are mainly things that come to mind immediately)

Positive:

- It can be pretty performant if you do it right. For example, with some thought I got many days down to double digit microseconds. That said, you do need to be careful how you write it and many patterns that work well in other languages fall flat in Gleam.

- The language server is incredibly good. It autoformats, autocompletes even with functions from not-yet-imported-but-known-to-the-compiler packages, shows hints with regarding to code style and can autofix many of these, autofills missing patterns in pattern matches, automatically imports new packages when you start using them and much much more. It has definitely redefined my view of what an LSP can do for a language.

- The language is generally a joy to work with. The core team has put a lot of effort into devex and it shows. The pipe operator is nice as always, the type system is no haskell but is expressive enough, and in general it has a lot of well-thought out interactions that you only notice after using it for a while.

Negative:

- The autoformatter can be a bit overly aggressive in rewriting (for example) a single line function call with many arguments to a function call with each argument on a different line. I get that not using "too much" horizontal space is important, but using up all my vertical space instead is not always better.

- The language (on purpose) focuses a lot on simplicity over terseness, but sometimes it gets a little bit much. Having to type `list.map` instead of `map` or `dict.Dict` instead `Dict` a hundred times does add up over the course of a few weeks, and does not really add a lot of extra readability. OTOH, I have also seen people who really really like this part of Gleam so YMMV.

- Sometimes the libraries are a bit lacking. There are no matrix libraries as far as I could find. One memoisation library had a mid-AoC update to fix it after the v1.0 release had broken it but nobody noticed for months. The maintainer did push out a fix within a day of realizing it was broken though. The ones that exist and are maintained are great though.

IshKebab · 12 hours ago
Re argument formatting, I'd guess it's because it uses the Prettier algorithm which works like that.

However in my experience it's much better than the alternative - e.g. clang-format's default "binpack"ing of arguments (lay them out like prose). That just makes them hard to read and leads to horrible diffs and horrible merge conflicts.

IshKebab commented on Go Proposal: Secret Mode   antonz.org/accepted/runti... · Posted by u/enz
leoh · 12 hours ago
Kind of stupid it didn’t have something like this to begin with tbh. It really is an incredible oversight when one steps back. I am fully ready to be downvoted to hell for this, but rust ftw.
IshKebab · 12 hours ago
Rust doesn't have anything like this either. I think you misunderstood what it is.
IshKebab commented on Go is portable, until it isn't   simpleobservability.com/b... · Posted by u/khazit
pjmlp · 18 hours ago
Not at all, cross platform means executing the same application in many platforms, regardless of the hardware and OS specific features of each platform.

Cross-compilation is useless if you don't actually get to executed the created binaries in the target platform.

Now, how do you intend to compile from GNU/Linux into z/OS, so that we can execute the generated binary out from the C compiler ingesting the code written in GNU/Linux platform, in the z/OS language environment inside an enclave, not configured in POSIX mode?

Using z/OS, if you're feeling more modern, it can be UWP sandboxed application with identity in Windows.

IshKebab · 16 hours ago
> cross platform means executing the same application in many platforms, regardless of the hardware and OS specific features of each platform.

That is a better definition yes. But it's still not synonymous with cross-compilation, obviously. Most cross-platform apps are not cross-compiled because it's usually such a pain.

u/IshKebab

KarmaCake day19057August 23, 2014View Original