Conversation
Notices
-
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 22:51:38 UTC Ruby Rhod fuck it's bigger than my entire OS
root@rustwarden:/ # pkg install rust
Updating local repository catalogue...
local repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The following 4 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
rust: 1.36.0_1
libssh2: 1.8.2,3
libgit2: 0.28.1
libedit: 3.1.20190324,1
Number of packages to be installed: 4
The process will require 696 MiB more space.-
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 22:52:34 UTC Ruby Rhod Are you telling me that Rust apps won’t even work with stable releases of the language? How is this acceptable?
error[E0554]: #![feature] may not be used on the stable release channel --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.1.2/src/lib.rs:1:1 |1 | #![feature(crate_visibility_modifier)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^error[E0554]: #![feature] may not be used on the stable release channel --> /root/.cargo/registry/src/github.com-1ecc6299db9ec823/pear_codegen-0.1.2/src/lib.rs:2:1 |2 | #![feature(proc_macro_diagnostic, proc_macro_span)] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^error: aborting due to 2 previous errorsFor more information about this error, try `rustc --explain E0554`.The following warnings were emitted during compilation:warning: Pear was unable to check rustc compatibility.warning: Build may fail due to incompatible rustc version.
-
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 22:59:28 UTC Ruby Rhod oh wait I know how it's acceptable: NOBODY COMPILES RUST APPS, THEY DEPLOY WITH DOCKER
That's why nobody complains about this stuff. Building and packaging it is someone else's problem. Doesn't matter if it takes 128GB of RAM and 2 years of wall time, it's someone else's problem. You put on your DevOps shades and smash that docker deploy button and move on with your life ignoring that you have no idea how this software even works or if anyone will ever be able to build a new version -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:01:52 UTC Ruby Rhod Why are there duplicate dependencies of different versions being compiled? How does that even work? Does Rust not have symbol collisions?
```
Compiling parking_lot_core v0.4.0
Compiling parking_lot_core v0.6.2
Compiling parking_lot v0.9.0
Compiling parking_lot_core v0.5.0
Compiling parking_lot v0.8.0
Compiling hyper v0.12.33
Compiling aho-corasick v0.7.4
Compiling buf_redux v0.8.2
Compiling twoway v0.1.8
Compiling generic-array v0.7.3
Compiling generic-array v0.12.3
Compiling url v1.7.2
Compiling url v2.0.0
Compiling mime v0.2.6
``` -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:06:06 UTC Ruby Rhod “Heh, well we solved the memory safety problems but you’ll never know which version of of the mime type library is actually in the fast path if there’s every a vulnerability”
Compiling mime_guess v2.0.0-alpha.6 Compiling mime_guess v1.8.7
“Base64 is so complicated we have made dozens of crates for it. Of course they’re not ABI compatible, so we need both.”
Compiling base64 v0.10.1 Compiling base64 v0.9.3
-
Elias Mårtenson (loke@functional.cafe)'s status on Monday, 12-Aug-2019 23:10:49 UTC Elias Mårtenson @feld
Every time I decide to try out Rust I have similar revelations. On one hand, everything looks like a joke. On the other, you have lots of people who claim they build real software with it. It looks very similar to JS, actually.Ruby Rhod repeated this. -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:13:21 UTC Ruby Rhod @jeff :munch: -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:14:19 UTC Ruby Rhod @lain you must bundle the entire toolchain (1GB) with your app of course
It's the new java -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:15:01 UTC Ruby Rhod @lain although I'm dunking on Elixir/Erlang too but that's slightly different because it's actually a VM not a compiled lang :bernchloe: -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:21:18 UTC Ruby Rhod In case you’re wondering here’s the entire list of dependencies sorted so you can see the duplicates
Now I’d like someone to explain why there’s openssl and rustls and nativetls and hyper-tls all in the same app toolchain. Is the community drunk? Can nobody decide on a canonical TLS library for this fancy new language? How many CVEs are lurking in this cesspool?
Compiling rand v0.4.6 Compiling rand v0.6.5 Compiling rand v0.7.0 Compiling rand_chacha v0.1.1 Compiling rand_chacha v0.2.1 Compiling rand_core v0.3.1 Compiling rand_core v0.4.0 Compiling rand_core v0.5.0
This is scary. Is something linking to an older random implementation that’s not so random?
Compiling sha-1 v0.3.4 Compiling sha-1 v0.8.1
Seems to be taking rust folks a while to figure out how to make a stable sha-1 implementation
-
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:22:18 UTC Ruby Rhod @brainblasted this is like trying to write code that requires GCC 10 and expecting everyone to be fine with that.
Don't do that. Ever. -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:22:30 UTC Ruby Rhod @jeff :popeye: -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:24:14 UTC Ruby Rhod @brainblasted Yeah or you write your own code to solve your problem now and rely on a language feature implementation later.
Like a sane programmer would. -
Ruby Rhod (feld@bikeshed.party)'s status on Monday, 12-Aug-2019 23:26:45 UTC Ruby Rhod @brainblasted This is the ultimate definition of relying on "undefined behavior" which I thought we were trying to get away from. You don't know if things will change before release. Never rely on nightly toolchains. E V E R :bahgawd: -
Ruby Rhod (feld@bikeshed.party)'s status on Tuesday, 13-Aug-2019 00:00:27 UTC Ruby Rhod @caseyp I did get it working. It's running great. I just don't know if this ecosystem is viable long term if this is the level of maturity they're displaying.
-