HNHacker News
TopNewBestAskShowJobs

matthewbauer

1,888 karma · joined October 30, 2013

Vendored dependencies are the root of all evil.

https://matthewbauer.us/

[ my public key: https://keybase.io/matthewbauer; my proof: https://keybase.io/matthewbauer/sigs/Dqhg8uy67zik_x6jYvk541dbJtMDvZAG8V_RcLSoQyw ]

submissionscomments
matthewbauer··on Gist Is Down
Looks like it is now. Must not be automatic tho.
matthewbauer··on A Chapter from the FBI's History with OpenBSD and an OpenSSH Vuln
Reply by Jason Wright:

https://marc.info/?l=openbsd-tech&m=129244045916861&w=2

matthewbauer··on Rust compiler added to Android tree
I don't think these are all necessarily required. At least I would be very very surprised if both avr-libc, mingw, and go were needed.
matthewbauer··on Not So Fast: Analyzing the Performance of WebAssembly vs. Native Code
It would almost certainly kill WASM
matthewbauer··on Declined Proposal: A built-in Go error check function, “try”
Found it: https://github.com/golang/go/issues/20803
matthewbauer··on Declined Proposal: A built-in Go error check function, “try”
This is underappreciated! I suppose you are less likely to care about errors if you aren't getting values from a function, but not always. I wonder if there is a proposal to force this case to be handled, like Haskell's -Wunused-do-bind?
matthewbauer··on Alan Turing to feature on new £50 note
Going from convicted criminal to celebrated on bank notes by the SAME government in less than 100 years is pretty notable!
matthewbauer··on Catching use-after-move C++ bugs with Clang's consumed annotations
It's certainly up to them if they want to rewrite everything in Rust. I'm just saying the net benefit just does not exist for stable software like librsvg or bzip2.

> Is there something intrinsic to Rust that would lead them to this error? (no, I think not).

There is nothing intrinsic to Rust that creates this kind of problem, besides it being a different language than the project was originally written in. I'm sure Go, Swift, Haskell, Java, or any other language (with the possible exception of C++) would have similar issues. No other language community is quite as arrogant as the Rust community though.

matthewbauer··on Catching use-after-move C++ bugs with Clang's consumed annotations
They do, but that doesn't mean the decision is wise. The point is you are creating more bugs than you could ever possible fix in this kind of refactor.
matthewbauer··on Catching use-after-move C++ bugs with Clang's consumed annotations
Rewriting stable software in Rust is a very bad idea. Especially in open source, where we don't have enough maintainers, it ends up hurting the ecosystem. A certain prominent GNOME maintainer has been trying this recently and breaking things along the way:

https://gitlab.gnome.org/GNOME/librsvg/issues/456

Apparently, GObject Introspection doesn't even work in Rust, yet it is expected to be a perfectly valid replacement:

https://github.com/gtk-rs/gir-files/issues/35

Please don't be like these people! Keep the stable software we have, and maybe write new software in Rust.

matthewbauer··on Catching use-after-move C++ bugs with Clang's consumed annotations
Perhaps the future of software isn't "rewrite everything in Rust", but instead we end up annotating existing C/C++ with borrow checking information. This would be similar to how there is a push in JavaScript to add TypeScript annotations everywhere. It gives you the flexibility of the existing language and ecosystem while still allowing you to use new techniques in programming languages.
matthewbauer··on Vulnerability in the Mac Zoom client allows malicious websites to enable camera
If you want to be taken seriously, don't include these dumb images in your post.
matthewbauer··on Foliate – A simple and modern GTK eBook viewer
But then you can't make changes to the app! You're stuck with a read-only copy.
matthewbauer··on People who care most about politics have least understanding of their opponents
This is a good rebuttal to the study:

https://twitter.com/jbenton/status/1142891539598852102

matthewbauer··on JSON Resume – 5th Birthday and New Features
LaTeX + ORG mode is an easy way to get some literate programming features while also still using a real typesetting engine. You can reuse my setup here:

https://github.com/matthewbauer/resume

matthewbauer··on Doing work locally minimizes problems with Electron apps
I would discourage libui… The bus factor is 1 right now. There is now guarantee it’s going to be around in a few years. Qt5 on the other hand has a large community around it.
matthewbauer··on “I’m sorry we’ve given the impression that we're dropping support for i386 apps”
I think a few distros still support all the way back to i486. Debian and Ubuntu only support i686 though. Too bad too because i586 CPUs were on the market as recently as 2015 (Intel Quark).

https://www.phoronix.com/scan.php?page=news_item&px=Debian-6...

matthewbauer··on “I’m sorry we’ve given the impression that we're dropping support for i386 apps”
It sounds like they expect everyone to use Snap for 32-bit binaries. This might make sense for very popular apps like Steam, but is bound to break for legacy binaries that won't have any Snaps available.

What's been missing here is the rationale for removing these libraries, though. Glibc, and most other base libraries still support 32-bit intel without any problems. The cost of Ubuntu providing them seems very low here. Since they even use APT still, I suspect they could even reuse the Debian repos for i386!

matthewbauer··on HarfBuzz is now available on Emacs master
Does this mean macOS users get their Emojis back?
matthewbauer··on i386 architecture will be dropped starting with Ubuntu 19.10
This is very confusing, but is standard naming convention for Debian/Ubuntu. Basically i386 means x86_32 and amd64 means x86_64. Why they can't use the latter is beyond me. True i386 doesn't even work with recent Linux kernel and Glibc. i386 in Debian-speak is actually i686.
matthewbauer··on OpenMandriva, the first Clang-built Linux distribution
They still use libgcc, ld.bfd, and libstdc++ though.
matthewbauer··on What’s New in Apple Filesystems [pdf]
/sw isn't provided by Apple either, but they provide it so that Fink will work.
matthewbauer··on What’s New in Apple Filesystems [pdf]
I don't think it's as easy as crouton. There's no chroot or user namespace equivalent for XNU.
matthewbauer··on What’s New in Apple Filesystems [pdf]
It's interesting that /usr/X11 isn't in that list!
matthewbauer··on SCons: A Software Construction Tool
This doesn’t exactly shine well on mongo’s development practices. Why go through all of this trouble when you could use something that works well out of the box like CMake? Maybe they like wasting money.
matthewbauer··on Plot to steal cryptocurrency foiled by NPM
This same thing is done anywhere semver is used or any other version range system. This includes python, rust, go, and many more.
matthewbauer··on Plot to steal cryptocurrency foiled by NPM
You’re still vulnerable if you lock down dependencies during the period the malicious code is wild though. You have to actually audit your locked dependencies to consider yourself safe.
matthewbauer··on Plot to steal cryptocurrency foiled by NPM
Dependency ranges mean package updates happen automatically. So a minor release could contain malicious code without anyone noticing. I still think semver is worthwhile even if it a little bit more vulnerable to this kind of attack.
matthewbauer··on Plot to steal cryptocurrency foiled by NPM
Semver probably makes the problem worse though.
matthewbauer··on Plot to steal cryptocurrency foiled by NPM
I don’t think it’s fair to single npm out here. The truth is any package manager that lets anyone publish package updates is vulnerable to this type of attack.
← PreviousPage 5 of 17Next →