Hacker Newsnew | past | comments | ask | show | jobs | submit | j-krieger's commentslogin

Even scarier when you consider that this entire technology has reached the public only three years ago.

> do we really need this when Javascript has template literals now

yea? JSX is much more than templating.


But then there are packages like htm that are doing basically the same thing with just tagged templates.

I still can not blacklist homeservers by domain instead of ever changing IPs. Great stuff.


This is untrue. A `?` operator would have done just fine here. I agree with you though that it should be possible to explicitely forbid unwraps.


I love Go and write a ton of it. I've had real segfaults quite a lot.


I would love to go further and explicitely forbid unwrap and similar calls using a `no_panic` attribute.


I actually have to do this for programs that runs in bare metal. You can't afford to have nondeterministic panic like this. If things really gone wrong you'd have a watchdog and health checker to verify the state of program.


How do you manage to do this?


There's a crate that prevents linking panic symbol in the final stage of the executable generation, forcing it to be undefined symbol, so while it is hard to find out where the panic is, it effectively requires me to inspect throughout the code to find out. Sometimes I have to disassemble the object file to see this


it's not the `no_panic` crate by david tolnay, is it?


While this is true, I wish that Rust had more of a first-class support for `no_panic`. Every solution we do have is hacky. I wish that I could guarantee that there were no panic calls anywhere in a code path.


After having worked extensively with both I still feel that Gitlab CI is miles better than GH actions. I'm a bit stunned that forgejo aims to reimplement GH actions..


They're aiming at making it near effortless to migrate off GitHub, and 99% of all GitHub users are using Actions... so there's that.

But yes, they also should work on making it super easy to integrate best of breed OSS CI/CD with their SCM and turn Actions off. If they manage that they are on their way making a product which blows GitHub and Gitlab right out of the water. Because while Gitlab allows to integrate third party CI/CD it really feels clunky. (at least at the time I've used it professionally)


I also feel like we as an industry should steer towards a state of "doneness" for OSS solutions. As long as it works, it's fine to keep using technologies that are only sparsely maintained.


Ingress-Nginx is commonly internet facing though; I think everyone wants at least base image and ssl upgrades on that component…


In which case it's even more important that the updates are not a huge amount of work.


This doesn't 'cast' anything. The compiler prevents this because it would allow references that outlive their owners. Freely 'casting' only works for data that is static in nature anyways, at which point a coercion is taking place. Any other way involves `std::mem::transmute` or `Box::leak` and the like.


Here is a nice segfault in perfectly legal safe Rust https://play.rust-lang.org/?version=stable&mode=debug&editio...

I'd call it casting thought technically maybe it's not you might want to call it something else? You don't need transmute or leak. The issue is only 10 years old now https://github.com/rust-lang/rust/issues/25860


Yes, that's an existing soundness hole in the compiler. You won't accidentally code it up yourself though.

If the bar is "deliberately malicious code results in a segfault", get back to me when they fix

  memcpy(0x10000, 0x20000, 0x10);
EDIT: and even that's being charitable; the Rust issue is viewed as a compiler bug which should be fixed.


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

Search: