Opublikowałem dziś #PyCargoEBuild 0.11. Nowa wersja w końcu radzi sobie z plikami crate z gita, które używają przestrzeni roboczych. Niestety, kod jest paskudny, a ja jestem zbyt wypalony, żeby to zrobić lepiej. Ale powinno działać.
> Fixed a possible crash during the trophy cutscene that could happen if the stadium did not have a scheduled match and was not associated with an owning club.
Orientujecie się może, jak rozpoznać czy dana binarka zawiera skompilowany kod #RustLang? Chciałbym ulepszyć #Gentoo Portage tak, by automatycznie wykrywało programy pisane w Ruście i nie zwracało dla nich raportów "zignorowanych CFLAGS".
What prior art are you aware of for cache management, especially for build systems?
Wanting to make sure we build on the work of others when designing #rustlang cargo's cache management. We expect it to include:
Automatically and manually invoked garbage collection
Global and project-specific caches
EDIT: To clarify, we are looking for information, especially pointers to documentation, for cache management policies and how cache management control is exposed to users.
A blog post about my experience teaching #Rust at my university 🎓
Highlight from the summary:
"If students without much experience (some of them had only one lecture about #Python) can learn the basics in 5 days, then I think that developers should stop calling Rust complicated"
The ownership and borrowing model in #Rust prevents having a mutable and an immutable reference at the same time.
This doesn't only contribute to the fact that data races are impossible in Rust.
It also prevents mistakes in sequential code like iterator invalidation!
The screenshots show two examples of iterator invalidation in #Python
Właśnie opublikowałem #PyCargoEBuild 0.12 dla #Gentoo. Nowa wersja wprowadza opcję --crate-tarball, która przepakowuje wszystkie zależności w formacie crate w jedno archiwum, które można wykorzystać z ebuildem.
Po co to? Spójrzmy na liczby.
Fractal z normalnymi plikami crate:
15 KiB ebuild
180 KiB Manifest
1 min 10 s ściągania (przez serwery lustrzane Gentoo, które są znacznie szybsze niż crates.io)
597 pobranych plików
76 MiB pobranych plików
15 s wypakowywania
Fractal z przepakowanym archiwum:
4 KiB ebuild
1.5 KiB Manifest
2 s pobierania
4 pobranych plików (nie przepakowujemy GIT_CRATES)
45 MiB pobranych plików
6 s wypakowywania
I wyszła poprawiona wersja #PyCargoEBuild, 0.12.1. Poprzednia wersja nie uwzględniała licencji z przepakowanych plików crates — poprawiłem to. Przy okazji w szablonie nowego ebuilda (ale nie przy aktualizacjach) uwzględniamy teraz nazwę przepakowanego archiwum.