Open PedroRegisPOAR opened 3 years ago
TODO: document this! https://github.com/landley/mkroot Toybox vs BusyBox - Rob Landley, hobbyist, start=700&end=787 https://github.com/tianon/dockerfiles/blob/master/toybox/Dockerfile
Really interesting: https://codegolf.meta.stackexchange.com/a/1071
TODO: try to run it and check if it works, if it is reproducible in reality. https://stackoverflow.com/a/50747830, https://nix-tutorial.gitlabpages.inria.fr/nix-tutorial/first-package.html#a-first-nix-package-definition
1672 out of 1673 (99.94%) paths in the minimal installation image are reproducible!
git clone https://github.com/nixos/nixpkgs.git
cd nixpkgs
git checkout 1fab95f5190d087e66a3502481e34e15d62090aa
nix-build ./nixos/release-combined.nix -A nixos.iso_minimal.x86_64-linux
TODO: NixOS is not reproducible
$ find ~ -name result -exec rm -v {} \;
...
find: ‘/home/pedro/.local/share/containers/storage/overlay/d8ffcb94132459fb44678359f1f3bc8bd5bd2445177cf9b5b3208f076be13c2b/diff/home/nixuser’: Permission denied
...
$ stat /home/pedro/.local/share/containers/storage/overlay/071167dcb5ade561ab45b6cb67be263e89dc0327e389661a28e30718e79b77eb/diff/home/nixuser
File: /home/pedro/.local/share/containers/storage/overlay/071167dcb5ade561ab45b6cb67be263e89dc0327e389661a28e30718e79b77eb/diff/home/nixuser
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: 811h/2065d Inode: 3301934 Links: 2
Access: (0700/drwx------) Uid: (106788/ UNKNOWN) Gid: (112344/ UNKNOWN)
Access: 2021-04-28 23:24:29.625569982 -0300
Modify: 1979-12-31 21:00:00.000000000 -0300
Change: 2021-04-28 23:24:29.619569947 -0300
Birth: 2021-04-28 23:24:21.701524902 -0300
TODO:
If you have nix
and $DISPLAY
:
nix \
run \
nixpkgs#okular \
-- \
"$(NIXPKGS_ALLOW_UNFREE=1 \
nix \
build \
--print-out-paths \
--no-link \
--impure \
github:math-comp/mcb)"/share/book.pdf
If you have only nix
(not $DISPLAY
):
nix \
build \
--print-out-paths \
--no-link \
--impure \
github:math-comp/mcb
If you have nix
and $DISPLAY
:
nix \
run \
nixpkgs#okular \
-- \
"$(NIXPKGS_ALLOW_UNFREE=1 \
nix \
build \
--print-out-paths \
--no-link \
--impure \
github:hmemcpy/milewski-ctfp-pdf/3d74afa90c90d4898d593e9765a9c67f3e541a27#ctfp)"/ctfp.pdf
If you have only nix
(not $DISPLAY
):
nix \
build \
--print-out-paths \
--no-link \
github:hmemcpy/milewski-ctfp-pdf/3d74afa90c90d4898d593e9765a9c67f3e541a27#ctfp
nix \
build \
--impure \
--no-link \
--print-build-logs \
--print-out-paths \
github:serokell/nixcon2020-talk/a946d0c0cb40d688ef1503a04392b7995ac041e0
Refs.:
Do you want to do crazy stuff with fonts? Use XeLaTeX. Do you want to do crazy stuff with scripting? Use LuaLaTeX. Do you want just regular LaTeX output? Use pdfLaTeX. https://www.reddit.com/r/LaTeX/comments/e5gtjm/which_latex_compiler_should_i_use/
Main references:
https://github.com/NixOS/nixpkgs/issues/24485#issuecomment-407294403
Extra references:
TODO: make it work
Is it possible to produce a PDF with un-copyable text?. Stallman quote about the first time he hacked passwords Revolution OS, start=306&end=422
Why does xelatex produce different files from the same deterministic sources? and SOURCE_DATE_EPOCH specification and Reproducible LaTeX builds - compile to a file which always hashes to the same value
https://discourse.nixos.org/t/fonts-in-nix-installed-packages-on-a-non-nixos-system/5871/9
Give us the XML (Why publishers should publish an XML file and nothing else) (the presenter was the first in his university to user LaTeX), related Intro to PDF - Leonard Rosenthol start=15&end=31, Linus Torvalds saying that XML was a bad idea in DebConf 14: QA with Linus Torvalds, start=1194&end=1201; https://en.wikipedia.org/wiki/YAML#Criticism.
Cool example: From: https://www.instagram.com/p/CPw7teODyhu/?utm_medium=copy_link
The Dennis Ritchie's PhD Thesis:
https://www.bcb.gov.br/pom/spb/estatistica/port/ASTR003.pdf, TODO: add some thing about brasil.io project
Related: https://en.wikipedia.org/wiki/Zero-width_space, https://en.wikipedia.org/wiki/Word_joiner use pandas to process this .csv
.
Section tool.poetry.authors
does not accept umlauts (ä, ö, ü)
TODO: with nix + home-manager
Related: the best documentation style of copy/paste block! Really interesting the copy thing in the Vault's site:
https://tex.stackexchange.com/questions/616588/plotting-a-smooth-function
What are the academic references for ATLAS?
Citing my work (it’s David A. Wheeler, please)
TODO: this site has a lot of articles with json bibtex to download: https://api.ncbi.nlm.nih.gov/lit/ctxp/v1/pmc/?format=csl&id=8050319&download=true
Marcelo Kimura in AD 04 - Joker
FYI
getopts
only works for UTF-8 strings, so you can’t process non-UTF-8 filenames with it. It looks likeSafeStyle
only accepts&str
arguments though anyway. From: https://github.com/samuela/rustybox/pull/32#discussion_r445116643You can move the ISO files directly into the root folder or organize them in subfolders. The only conditions are that the file names can only contain ASCII characters and spaces can't be used. https://www.linux-magazine.com/Issues/2021/243/Saving-Steps
This is an RFC: UTF-8, a transformation format of ISO 10646
After my experience with TeXLive binaries I don't trust copying binaries... Refs.: https://github.com/NixOS/nixpkgs/issues/6768#issuecomment-78890664
Neat AI does Recurrent Connections
TODO:
How To Solve A Crime With Graph Theory
He should do a tutorial on how to customize his environments to do this stuff. From: https://www.youtube.com/watch?v=pkCLMl0e_0k&lc=UgweACsLOMcI0l2mdj14AaABAg
@No Boilerplate you should make testable videos! :D From: https://www.youtube.com/watch?v=Z3xPIYHKSoI&lc=UgzkiTD6Wul4h8lfgiV4AaABAg.9dTkTC5llIa9dUg4LgxVLL
TODO:
DebConf 14: QA with Linus Torvalds, start=1801&end=1867
I'm on a mission to make it easy to reuse free and liberal and open source software, I maintain or contribute to many project. Refs.: Debug your build by tracing and reversing stracing your build from sources to binaries, start=40&end=47
Neil deGrasse Tyson with Bill Nye — COSMOS: Possible Worlds, start=1425&end=1445
Cosine: The exact moment Jeff Bezos decided not to become a physicist, start=39&end=139
26 Heuristics For Effective Software Development – Allen Holub, start=2316&end=2331
Amjad Masad: How I Founded Replit; Zuck's Famous Saying; Will TikTok be banned? | E987, start=702&end=726
Chris Burr - Nix for software deployment in high energy physics (NixCon 2018), start=38&end=52
Day in My Life as a Quantum Computing Engineer!
Why why should you care about understanding your build? There's several reasons first and foremost is you want to have a fine-grained understanding what gets in your binary and you would say well of course I know that's my code I know exactly what gets built and it also pretty much until you have more than one CN header file now think about something like wheeled building a full Android device that means a whole stack from the kernel app this build typically involves multiple language compilers some people binaries scripts there's about four hundred thousand steps which are executed when you build another iDevice roughly that gives you a bit of an idea of the the complexity of the problem and that scale this is no longer fully deterministic now even if you don't do system programming's but do application level programming you create two node package talking about JavaScript and you say npm install and well guess what you have now 200 or 300 dependencies that were installed from left and right and that's only go large bill orbit like magic we know that work eventually they do most of the time they do but it's really hard to understand exactly what happens especially like in this case of NPM or maven or application and language specific package managers things are faction provision at Build time so they come from the network I remember long From: Debug your build by tracing and reversing stracing your build from sources to binaries, start=78&end=283
TODO: fix spelling!
This is an ad which is why I came here of course we're always looking for help to work on new things volunteers for example to port programs, porting programs, you know I don't know everybody here is probably taking a course in software engineering somewhere along the line and all of you forgot it the day after the exam, that it's just amazing how much free software is so crappy. It's not portable, you know, you run
./configure
and it always fails, always! You know, you know what happens it was looking for I don't know Perl 5.2.3.26.9.4b and if that wasn't there it gives up even though the application you're trying to install doesn't use Perl at all! Okay you know these configure scripts of configure strips of twenty thousand lines of incomprehensible code generated by a program which itself was generated by our program it's just not the way to do things when the application questions did even need this facility so porting programs you know it's typically as one or two lines have degree and move from it but it takes some effort to figure them out so it's a problem porting libraries of all kinds would be useful we have a wiki adding documentation to the wiki would be you know fantastic all kinds of things are not well documented translating the wiki into other languages is very welcome. From: MINIX 3: a Modular, Self-Healing POSIX-compatible Operating System, start=2295&end=2376, who is Andrew Stuart Tanenbaum.
Replacing the Unix tradition, start=595&end=1091
TODO: O Que Ninguém Fala Sobre Minerar Bitcoin - Resultado 3 Meses Depois, start=270&end=326
TODO: It misses toybox stuff
Thinking about running Docker on M2?, start=452&end=731 Thinking about running Docker on M2?, start=552&end=731
About declarative code be better than imperative code: 100+ Web Development Things you Should Know, start=550&end=559
We are in an huge mess:
TODO: there many of them
20??, Hydra: A Declarative Approach to Continuous Integration
2018, Chris Burr - Nix for software deployment in high energy physics (NixCon 2018), start=38&end=52
2019, Software packaging and distribution for LHCb using Nix, https://www.epj-conferences.org/articles/epjconf/abs/2019/19/epjconf_chep2018_05005/epjconf_chep2018_05005.html
https://indico.cern.ch/event/712739/contributions/2927853/attachments/1613818/2578668/chris_burr.pdf
Nix in a scientific environment bringing together Nix's reproducibility with computational chemistry
In memoriam: Eelco Visser (1966-2022), by Sander van der Burg
1Password Developer Fireside Chat: An Overview of Nix & NixOS
NYLUG Presents: Sneaking in Nix - Building Production Containers with Nix
Where mobile-nixos is going, and what's going on (NixCon 2019)
2008, Maximal Laziness: An Efficient Interpretation Technique for Purely Functional DSLs
A Reference Architecture for Distributed Software Deployment
Dependency Solving Is Still Hard, but We Are Getting Better at It
2022, Sustainable packaging of quantum chemistry software with the Nix package manager https://talks.nixcon.org/nixcon-2022/talk/MYHSKT/
2022, Reproducible High Performance Computing without Redundancy with Nix
2014, Tracing software build processes to uncover license compliance inconsistencies
A sack full of angry snakes: Taming your python dependencies with Nix, start=529&end=596
"These days, launching applications means navigating an endless sea of complexity. We felt this pain at Google, so we started Project IDX" Google: https://idx.dev/blog/article/nix-on-idx
"Our mission Empower the next billion software creators." Replit: https://replit.com/site/about
Uber For Brains, start=0&end=79
Canvas: Supporting GPU-accelerated Machine Learning with Kubernetes and Nix, By Jonathon Belotti from Canva Engineering
The D. E. Shaw group seeks a DevOps engineer with impressive Linux skills, along with an interest in and experience with NixOS and/or the Nix package manager, to join our Quant Systems team in New York.
Searched about the job in https://discourse.nixos.org/t/the-d-e-shaw-group-quant-systems-build-and-release-engineer/13686 in the Wayback Machine and found it (the original link is offline):
https://web.archive.org/web/20220112092835/https://www.deshaw.com/careers/quant-systems-build-and-release-engineer-new-york-4225 Systematic Strategies (The D. E. Shaw Group)
Feb 7, 2021: Nix Friday - [interview] floxdev
flox was born of our team's experience in deploying Nix tooling in enterprise and our difficulties with the state of developer tooling today. https://flox.dev/about https://theorg.com/org/flox/org-chart
Almost every discipline of engineering - from frontend to backend, cloud operations and data engineering - is experiencing the growing pains of complexity, over-engineering, and multiple platforms, languages and supporting frameworks. Interoperability is becoming a nightmare to manage, and the modern web developer is no stranger to these pains. https://flox.dev/blog/nitw-idx
Flox Launches a Version of Nix for the Enterprise
Determinate Systems is the Nix company, where cutting-edge technology meets unmatched expertise in Nix and flakes. https://determinate.systems/about/
"Devbox creates isolated, reproducible development environments that run anywhere. No Docker containers or Nix lang required" https://www.jetpack.io/devbox
Others:
People convinced:
Curricula:
Technical:
Philosofical:
Videos:
Some draws:
Follow standard capitalization for software, particularly for the Nix ecosystem (NixOS, Nix, Nix Language, Nixpkgs, NixOps and Hydra). https://nixos.wiki/wiki/NixOS_Wiki:Contributing https://nixos.wiki/wiki/Contributing
Memes:
Images:
Positive Affirmations for Site Reliability Engineers, start=132&end=143
Does not need root to install programs:
List:
Texts:
TODO: filter/sort this
Puppet, Ansible, Chef,
Vagrant, Docker, Docker Compose,
kubernetes
all have the same base problems because they use the same GNU/Linux foundations, like FHS that leads to global state, conflicts.
Videos:
Texts:
https://github.com/NixOS/rfcs/pull/153#issuecomment-1595856177
Refs.:
NixOS: A purely functional Linux distribution
Quotes:
NixOS differs from something like Ansible in that it’s inherently declarative, through and through. If you remove the
services.sshd.enable = true;
line from your configuration, NixOS will tear down the OpenSSH server upon a rebuild. It’ll be as if it was never there (subtracting any leftover data), because there isn’t a practical difference between installing NixOS for the first time and building it again. Ansible has the notion of “idempotency”, but Nix (and NixOS) is idempotent by nature. https://www.slice.zone/blog/nix-in-practice
nix-ecossistem.pdf Refs.:
Nix - The Best Package Manager
Is declarative code better!? Yes, at least in some sense. 100+ Web Development Things you Should Know, start=542&end=559
NixOS Is The Power User Distro (Now With An Easy Installer!), start=0&end=80
About snap in Linux Mint: Run macOS on Linux with 1 COMMAND, start=215&end=223
POR QUE EU NÃO USO SNAP, start=225&end=252
The usual mess: OS hacking: Porting the Bash shell, start=173&end=192
Nix vs Docker Using Nix for Repeatable Python Environments | SciPy 2019 | Daniel Wheeler, start=1974&end=2024
Nix: A Deep Dive, start=3&end=227
Replacing the Unix tradition, start=595&end=1091
Franz Pletz: NixOS, start=3123&end=3134
Franz Pletz: NixOS, start=2428&end=2551
CppCon 2017: Adrien Devresse “Nix: A functional package manager for your C++ software stack” start=100&end=140
I was WRONG! This is the BEST Package Manager., start=610&end=620
Nix, you'll be wondering why you haven't been using it before,start=255&end=296
What do I mean when I say functional programming. So I don't mean, you know a buzz already fuzzy kind of thing like "oh I'm doing functional programming because I'm doing maps and filters" I mean, you know programming where your entire program is a single referentially transparent expression composed of other referentially transparent expressions. Functional Programming is Terrible, start=57&end=77
NYLUG Presents: Charles Strahan -on- Introduction to NixOS, start=345&end=608
In particular, in our own version of the system, there is a directory "/usr" which contains all user's directories, and which is stored on a relatively large, but slow moving head disk, while the othe files are on the fast but small fixed-head disk. https://www.bell-labs.com/usr/dmr/www/notes.html 15 March, 1972
Understanding the bin, sbin, usr/bin, usr/sbin Split, By ROB LANDLEY, 2002?
Tutorial: Building the Simplest Possible Linux System - Rob Landley, se-instruments.com, start=4921&end=5023
The real reason we kept it is tradition. The execuse [sic] is that the root partition contains early boot stuff and /usr may get mounted later, but these days we use initial ramdisks (initrd and initramfs) to handle that sort of thing. The version skew issues of actually trying to mix and match different versions of /lib/libc.so. living on a local hard drive with a /usr/bin/ from the network mount are not pretty.
I.E. The seperation is just a historical relic, and I've consolidated it in the name of simplicity.
The one bit where this can cause a problem is merging /lib with /usr/lib, which means that the same library can show up in the search path twice, and when that happens binutils gets confused and bloats the resulting executables. (They become as big as statically linked, but still refuse to run without opening the shared libraries.) This is really a bug in either binutils or collect2, and has probably been fixed since I first noticed it. In any case, the proper fix is to take /lib out of the binutils search path, which we do. The symlink is left there in case somebody's using dlopen, and for "standards compliance".
On a related note, there's no reason for "/opt". [ ... ] Then Linux distributors wanted a place to install optional packages, and they had /bin, /usr/bin, and /usr/local/bin to choose from, but the problem with each of those is that they were already in use and thus might be cluttered by who knows what. So a new directory was created, /opt, for "optional" packages like firefox or open office.
It's only a matter of time before somebody suggests /opt/local, and I'm not humoring this. Executables for everybody go in /usr/bin, ones usable only by root go in /usr/sbin. There's no /usr/local or /opt. /bin and /sbin are symlinks to the corresponding /usr directories, but there's no reason to put them in the $PATH. https://busybox.net/%7Elandley/firmware/design.html
And almost 2 decades later:
https://github.com/plantuml/plantuml/issues/469#issuecomment-1553528505
It’s just too bad that no one actually cares about the FHS, and places their files wherever they want. Not only do different operating systems use different implementations of the FHS, but even different Linux distributions use different implementations. On top of that, the standard itself isn’t strict, and allows for exceptions to its own rules (X11R6 being placed in /usr, anyone?). What good is a standard nobody adheres to? Why Do We Hold on to the FHS? 2009
I just uploaded a new version of systemd into F15, which establishes a directory /run in the root directory. Most likely you'll sooner or later stumble over it, so here's an explanation what this is and why this is. What's this /run directory doing on my system and where does it come from?, Lennart Poettering, Wed, 30 Mar 2011 04:55:27 -0700
Since 1993, the Filesystem Hierarchy Standard (HS) [1] has been the guideline for Unix-like directory structures. It requires the root directory partition to contain all the files the system needs for booting and mounting additional partitions.
This results in 14 directories or symbolic links to them: /bin, /boot, /dev, /etc, /lib, /media, /mnt, /opt, /run, /sbin, /srv, /tmp, /usr, and /var. Only the /opt, /usr, and /var folders can be located on other partitions. In addition, FHS considers the home directory to be optional, along with /root, /lib32, and /lib64.
In 2015, FHS was integrated into the Linux Standard Base (LSB). FHS is now maintained under the umbrella of the Linux Foundation.
Starting in 2012, several distributions have chosen to merge the /usr directories [2], thus modifying the FHS (and are therefore no longer LSB-compliant). Starting with Debian 10 Buster, Debian has now joined the /usr merge ranks. https://www.linux-magazine.com/Issues/2019/228/Debian-usr-Merge
In my opinion it is "insane", but we can agree in disagree:
Can someone describe a scenario where this (name of the binary not clearly indicating it's related postgres) causes issues in practice? On my system, there are ~1400 binaries in /usr/bin, and for the vast majority of them it's rather unclear where do they come from. https://lwn.net/Articles/784508/ https://www.linux-magazine.com/Issues/2019/228/Debian-usr-Merge/(offset)/3#article_i6
A second attempt to re-enable /usr merge by default happened in June 2018, with debootstrap version 1.0.102. Since June 25, 2018, new default installations of Debian testing from the "daily" builds of the install CD have a merged /usr, and that has not been reverted so far.
Happy ending? Not so fast ... [ ... ] Problems with R [ ... ] On November 20, the change was reverted — build daemon chroots were recreated without a merged /usr. https://lwn.net/Articles/773342/
Extra references, may check/read it too:
TODO: it was done in different moments, try to merge this.
Which of those just does not exists or even is not listed in?!
echo {,/usr,/usr/local}/{bin,sbin,lib,share,etc}
echo {,/usr,/usr/local}/{bin,sbin,lib,share,etc} | tr ' ' '\n' | sort
man hier
https://linux.die.net/man/7/hier and in most if not all UNIX/POSIX systems man hier
The gist is that neovim is just a C project, therefore doesn't link against C++. However, many plugins do use C++. And when the > plugins are downloaded as pre-compiled binaries, there was no previous loading of C++ libraries and no good "convention" on where to find them. This wouldn't be an issue on FHS systems, as the library in question libstdc++.so.6 is likely to exist.
Ultimately, it's an anti-pattern to try and distribute binaries outside of a system-compatible package manager. The issue of C++ abi is just waiting to blow off someone's foot. It's "works on my computer today", tomorrow it could be "can't run any C++ application". Refs.:
As in FHS systems, we make some assumptions regarding our system which includes that all the libraries will be in /lib or relevant directories. It’s, then, easier to fix the issue.
In FHS standardized / compliant Linux distributions it can be easily solved by installing the relevant library’s package. Refs.:
+
I made an entire OS that only runs Tetris, start=100&end=265
Toybox vs BusyBox - Rob Landley, hobbyist, start=700&end=787
[ ... ] This may be fine when the default is lookup in
$PATH
but we do not have that for all binaries. Distros have different rules around where to place files, e.g./usr/lib
vs/usr/libexec
. It would be impossible to have upstream defaults that work for everyone unless we start lookup a list of default locations. [ ... ] https://github.com/containers/podman/issues/18560#issuecomment-1547712113
Interview with Senior JS Developer in 2022, start=187&end=209
Is NixOS Actually Incredible!?!, start=85&end=140
Mentions binary cache: Nix Friday - NixOS modules, start=3031&end=3332
https://fzakaria.com/2021/06/28/java-nix-reproducibility.htm
CppCon 2017: Adrien Devresse “Nix: A functional package manager for your C++ software stack”
Comparing the Docker's model NYLUG Presents: Sneaking in Nix - Building Production Containers with Nix
NYLUG Presents: Sneaking in Nix - Building Production Containers with Nix, start=1009&end=1043
NYLUG Presents: Sneaking in Nix - Building Production Containers with Nix, start=1043&end=1058
https://github.com/containers/podman/issues/18250#issuecomment-1513185126
How Nix-Shell Saved Our Team’s Sanity
I have been using flakes to keep my projects contained. Rather than installing neo4j globally I use it as a dependency within another flake. Refs.: https://discourse.nixos.org/t/where-to-put-a-packages-variable-data/14391/4
Real Initial Thoughts As A New ❄️ NixOS User | Day 1, start=1786&end=1795
Test ALL the Things – On improving the nixpkgs testing story by Profpatsch (NixCon 2017), start=1210&end=1275
https://intj.com.br/why-nixos.html
TODO: re watch https://youtu.be/pfIDYQ36X0k?t=1096 https://youtu.be/pfIDYQ36X0k?t=1129 https://youtu.be/pfIDYQ36X0k?t=1147 https://youtu.be/pfIDYQ36X0k?t=1186 https://www.youtube.com/watch?v=pfIDYQ36X0k&t=1190s https://youtu.be/pfIDYQ36X0k?t=1303
List:
Why does nix need to wrap AppImages? Answer: https://github.com/AppImageCommunity/pkg2appimage/blob/33690a213ede3db00dd9ee7f403706dca8f8e63b/excludelist
How we went from supporting 50 languages to all of them
Verifying Build Reproducibility
After installing Fedora, can I remove some programs without breaking the system? In nix it is solved by design!
Nix flakes (NixCon 2019), start=190&end=275
How Much Do You Trust That Package? Understanding The Software Supply Chain
George Smith was from a working-class background; he was self-educated; he had been apprenticed, at the age of 14, to a firm of banknote engravers, but he became absolutely passionate, and obsessed, and I think, in a way, you do have to be obsessed to make any kind of major breakthrough, which is what he did. Why an ancient Mesopotamian tablet is key to our future learning | Tiffany Jenkins | TEDxSquareMile
TODO:
Stop searching for your passion | Terri Trespicio | TEDxKCstart=590&end=641
TODO: Mapping a Universe of Open Source Software
From: https://blog.container-solutions.com/step-towards-future-configuration-infrastructure-management-nix
The hidden networks of everything | Albert-László Barabási What is a hypergraph in Wolfram Physics?
Knowledge Graphs - Computerphile, start=223&end=231
TODO: "try to re-see all and think about how to sort"
NP and refactoring:
Text:
/* Technical details
make-disk-image
has a bit of magic to minimize the amount of work to do in a virtual machine. https://github.com/NixOS/nixpkgs/blob/d89fdbfc985022d183073cb52df4d35b791d42cf/nixos/lib/make-disk-image.nix#L1-L3
The ability to learn:
Try and leave this world a little better than you found it. By Robert Stephenson Smyth Baden-Powell, the father of scouting. Refs.: https://www.oreilly.com/library/view/97-things-every/9780596809515/ch08.html
"The only way to learn programming..." by George Hotz
The Great Debate: THE STORYTELLING OF SCIENCE (OFFICIAL) - (Part 1/2) TODO: https://www.youtube.com/watch?v=e77a-SweV9o&t=460s StarTalk Podcast: The Code of Life and CRISPR with Jennifer Doudna and Walter Isaacson, start=1130&end=1178
What COVID Revealed About Science
CLUBLIFE by Tiësto Episode 711, 1490 until CLUBLIFE by Tiësto Episode 711, 1529
TODO:
What is an function, by Elon Lajes Lima (TODO: find the original video):
List:
The real difference between humans and all other animals is not on the individual level; it's on the collective level. Humans control the planet because they are the only animals that can cooperate both flexibly and in very large numbers. Why humans run the world | Yuval Noah Harari
[...] Much like in distributed systems, timeouts are needed to avoid spending resources monitoring tasks that will never complete. https://github.com/NixOS/rfcs/tree/e364d5f0cddc03d164f0d7dfc8d6c4f1616364b7#unhappy-cases
DIFERENÇA DO "OU" EM PORTUGUÊS E MATEMÁTICA | Ledo Vaccaro
Cortella - Sabe com quem você está falando?, 10min
Bruce Lee Philosophy Bruce Lee Ping Pong (Full Version) Bruce Lee Lighting Matches with Nunchucks
MIGUEL NICOLELIS, PETRIA CHAVES e OSCAR ULISSES - Flow #182, start=3527&end=3544
"I speak without exaggeration when I say that I have constructed three thousand different theories in connection with the electric light, each one of them reasonable and apparently to be true. Yet only in two cases did my experiments prove the truth of my theory. My chief difficulty, as perhaps you know, was in constructing the carbon filament, the incandescence of which is the source of the light." Refs.: https://www.quora.com/How-many-times-did-Thomas-Alva-Edison-fail-exactly
"I said: 'Isn't it a shame that with the tremendous amount of work you have done you haven't been able to get any results?' Edison turned on me like a flash, and with a smile replied: 'Results! Why, man, I have gotten lots of results! I know several thousand things that won't work!'" Refs.: https://www.quora.com/How-many-times-did-Thomas-Alva-Edison-fail-exactly
FÍSICO faz ALERTA para INTELIGÊNCIA ARTIFICIAL e Elon Musk, start=306&end=322
Python: A "Toy" Language, start=273&end=293
Learn Reverse Engineering (for hacking games), start=164&end=171
Feynman: Take the world from another point of view (1/4), start=412&end=497
Team Topologies, Software Architecture & Complexity • James Lewis • GOTO 2022, start=2272&end=2299
Prioritizing Technical Debt as If Time & Money Matters • Adam Tornhill • GOTO 2022, start=46&end=303
"Program testing can be used to show the presence of bugs, but never to show their absence!" ― Edsger W. Dijkstra https://www.goodreads.com/quotes/506689-program-testing-can-be-used-to-show-the-presence-of
O problema é o que você não sabe que não sabe! "What UNIX Cost Us" - Benno Rice (LCA 2020), start=18&end=84
There are only two hard things in Computer Science: cache invalidation and naming things. https://martinfowler.com/bliki/TwoHardThings.html
“An idiot admires complexity, a genius admires simplicity, a physicist tries to make it simple, for an idiot anything the more complicated it is the more he will admire it, if you make something so clusterfucked he can't understand it he's gonna think you're a god cause you made it so complicated nobody can understand it. That's how they write journals in Academics, they try to make it so complicated people think you're a genius” ― Terry Davis, Creator of Temple OS
TODO:
TODO:
What Would a Truly 3D Operating System Look Like? Will technology make us SUPERHUMAN? | Jody Medich | TEDxKlagenfurt
List:
TODO:
TODO: test it!
-device virtio-rng-pci tells qemu to provide an emulated hardware random number generator for use by the guest. https://mstone.info/posts/qemu-aarch64-hvf-20210831/
List:
Embedded Linux Conference 2013 - Toybox: Writing a New Command Line From Scratch, 322&end=361
Buffer Overflows: A Symphony of Exploitation + Find All the Memory Leaks
On Mac we also use
LD_LIBRARY_PRELOAD
, but that technique is blocked for security reasons on system binaries, notably the system C/C++ compiler. Installing a C/C++ compiler from another source (e.g. Nix (Dolstra et al. 2004)) overcomes that limitation.
Refs.:
TODO:
https://github.com/NixOS/nixpkgs/issues/182890#issuecomment-1196808530
List:
List:
Texts:
pt-BR:
https://github.com/utmapp/UTM/discussions/2465#discussioncomment-5335485
Modern:
Big:
Classic:
Texts:
After the basics:
Other:
More:
How long?
The best algorithm I’ve learned so far for transforming a technical time estimate, including my own, into a measure of reality, is to double the estimate’s number, and bump its time unit by an order of magnitude. Refs.: The Nix Fix
More:
I'm on a mission to make it easy to reuse free and liberal and open source software, I maintain or contribute to many project. Refs.: Debug your build by tracing and reversing stracing your build from sources to binaries, start=40&end=47
TODO: better sort it
Shorts:
I'm gonna have to write some C code and one thing that I do remember from my kind of days of writing C is how painful. it can be to install compilers and install tool chains so that's kind of scary... From: Liz Rice in DockerCon19: eBPF Superpowers, start=421&end=432
https://github.com/containers/common/issues/723#issuecomment-897895043
List:
How did the "Slackware has no package management" myth originate?
I think the definition of package management just came to include dependency resolution. So what was perfectly acceptable package management one day became an obvious lack of "real" package management the next. [...]
What people refer to as "package management" now includes dependency checking.
You can argue that isn't the classic usage of the term, but people have decided that a "package manager" should include dependency resolution; like it or not. https://www.reddit.com/r/slackware/comments/24vo9e/how_did_the_slackware_has_no_package_management/
Install docker without a package manager https://blog.aktsbot.in/install-docker-linux.html
Dark Days Before Docker #javascript #python #web #coding #programming Entendendo Pacotes com Slackware | Deb, Apt, Tarbals
Compressed archives are not supported by Nix. They hide dependencies and don't work with hash rewriting. (I've been thinking about adding an option to enable hash rewriting for all builds, to catch builds that do hide dependencies.)
https://github.com/NixOS/nix/issues/1971#issuecomment-375324792
Texts:
Refs.:
Long:
pt-BR:
List:
Nix:
https://www.youtube.com/watch?v=XpFsMB6FoOs&t=224s
TODO: must check! https://chrishayward.xyz/dotfiles/
Other python:
Lista:
https://docs.flutter.dev/data-and-backend/state-mgmt/declarative
Types?
Clássicos:
Outros:
Textos:
Entendendo Funcionamento de Containers
The meme is real: https://superuser.com/a/443409 https://xkcd.com/1654/
Python VENV — why I ALWAYS use it, start=1861&end=2550
Eu em 2017 perdi pelo menos 2 dias por conta disso: https://stackoverflow.com/questions/53546775/overly-function-from-geopandas-not-working/54166065#54166065
Others:
ufw
is at least partially an snap packageMemes:
About cargo and lock files and updates: cargo deny Fearlessly update your dependencies
Should you use RUST as your FIRST programming language? strace feels like magic — let’s fix that (with Rust), start=471&end=476
List:
TODO: cut it in some moments that he is fast, in the second video he says he started to be blazing fast
TODO: filter
man hier
Texts:
TODO: filter
TODO: explain the taxonomy
10x:
Merkle Trees:
List:
nix shell
is just the tip of the Nix ecossitem!Unfortunately nothing is working, and it’s really worrying that such a simple task is so complicated and error prone on nixos :confused: https://discourse.nixos.org/t/how-to-install-a-specific-version-of-a-package-from-my-configuration-nix/18057/8
In fairness, this is not a simple task. It’s actively impossible to do on any other Linux distro, specifically because of the things you’re running into (i.e., no guarantee of backwards compatibility between distro versions).
You can always download a binary version of the package and patchelf it, if that is the “simple” you’re looking for.
Unfortunately, I think in this case what you’re trying to achieve is very difficult without a downstream package, or some active upstream maintenance - it isn’t always, but packages that don’t build easily or change frequently are subject to issues like this. https://discourse.nixos.org/t/how-to-install-a-specific-version-of-a-package-from-my-configuration-nix/18057/3
Why so many distros? The Weird History of Linux, start=331&end=377
Canais:
Texto:
en:
Long ones:
pt_BR:
pt_BR:
List:
How Replit is using AI to supercharge IDEs with Amjad Masad | E1814, start=857&end=957
Our mission Is to bring the next billion software creators online. https://replit.com/site/about
Podcasts:
History:
Apps replit:
The list:
Time line
Other stuff
Combatting Anti-Science with Richard Dawkins
https://reproducible-builds.org/
https://wiki.debian.org/ReproducibleBuilds
Is NixOS Reproducible?, the minimal ISO is "1671 out of 1683 (99.76%) paths in the minimal installation image are reproducible!", from Generated at 2021-03-09 05:30:36.667870816 UTC from https://github.com/grahamc/r13y.com. Related: How to build a minimal example that replicate an minimal example of "It is possible there is nondeterminism in a package source, waiting for some specific circumstance." Are there some known impurities in builds in NixOS?
Replacing the Unix tradition, start=595&end=1091
Aalto Talk with Linus Torvalds [Full-length], start=2890&end=3053
Aalto Talk with Linus Torvalds [Full-length], start=3056&end=3137
Borderless development via freedom culture: Jon "Maddog" Hall at TEDxBerlin, start=458&end=950
How robots are getting sick kids back to school | Megan Gilmour | TEDxCanberra, start=212s&end=227
you need to learn Kubernetes RIGHT NOW!!, start=281&end=285
Reproducible Research in Python, start=226&end=377
A sack full of angry snakes: Taming your python dependencies with Nix, start=529&end=596
Reality: https://blog.sakuragawa.moe/run-multigarment-network-under-conda/
Even Rust :/ https://github.com/rust-lang/rustup/issues/1908#issuecomment-504524479
It is broken!
Ad from DataCamp Better Way to Learn. No, thanks, i want to have the control of what i am doing. Imagine that i want to build my code to run in, for example, some hardware like https://www.raspberrypi.org/, or https://franzininho.com.br/.
All over the internet people having trouble to reproduce state/bugs:
TODO: https://github.com/containers/fuse-overlayfs/issues/311#issuecomment-892488111
POR QUE EU NÃO USO SNAP, start=225&end=252
Its other world to test/work with javascript: https://stackoverflow.com/a/76593122
TODO: add the transcript. DebConf 14: QA with Linus Torvalds - (00:30:01, 00:31:07), start=1801&end=1867
You Can't Unit Test C, Right?, start=760&end=801
No! To the following:
Nix solves this problem!
O Resultado do Modelo do Imperial College sobre a COVID-19 pode estar ERRADO
https://twitter.com/vquaiato/status/1259462708698677248
https://github.com/mrc-ide/covid-sim
.. it's got the wrong license and it's lost a lot of the simplicity okay another thing if def considered harmful the Linux kernel guys already know this is there's a famous paper called
#ifdef
considered harmful you know busybox is full of if deaths now you don't want your code to be full of if deaths because it makes it really hard to audit and see what it's doing Embedded Linux Conference 2013 - Toybox: Writing a New Command Line From ScratchAbout conda do not solve the dependency hell wikipedia, https://xkcd.com/754/, https://xkcd.com/1987/, https://xkcd.com/1579/, https://xkcd.com/2347/, problem. Related: https://xkcd.com/1406/.
https://math.stackexchange.com/a/4418199
TODO: add the transcript of: Nix Friday - poetry2nix part 2, start=316&end=377
TODO: 1. What is Computation?, sorry but do not agree. Example a
sudo
call in a bash script, that is it, enough to break your system!glibc -> gcc -> binutils -> glibc? How is this dependency hell possible?
Devops for Data Science: Making your Python Project Reproducible, TL;DR use nix + flakes + poetry2nix, if it is no enough use nix + flakes + podman rootless + oci image with nix statically compiled and toybox statically compiled, TODO, document this!
https://www.channable.com/tech/nix-is-the-ultimate-devops-toolkit
Is there an official answer on why SELinux isn't installed on official Amazon Linux AMIs?
TODO: better pin it and add transcript, Building a distro with musl libc Why and how Alpine Linux did it
An Introduction to Helm - Matt Farina, Samsung SDS & Josh Dolitsky, Blood Orange about https://semver.org/
TODO: show/prof it, may be using containers?
Using docker in unusual ways, start=64&end=75
A sack full of angry snakes: Taming your python dependencies with Nix, start=682&end=694
Under the Hood of Replit with Amjad Masad, start=1621&end=1721
Nix and NeoVim, start=59&end=75
Under the Hood of Replit with Amjad Masad, start=1559&end=1690
Nix and NeoVim, start=32&end=91
https://research.nccgroup.com/wp-content/uploads/2020/07/ncc_group_understanding_hardening_linux_containers-1-1.pdf
Science need this!
https://www.reddit.com/r/NixOS/comments/nsk5kg/whats_the_current_state_of_nixos_mobile/h0shlwr/?utm_source=reddit&utm_medium=web2x&context=3
https://nixos.mayflower.consulting/blog/2020/06/17/windows-vm-performance/
Do Old Viruses Work on Modern PCs? | Nostalgia Nerd, start=100&end=134
https://nixos.org/manual/nixpkgs/stable/#sec-overlays-alternatives-blas-lapack
TODO: Test Driven Development vs Behavior Driven Development, start=167&end=213
CppCon 2017: Adrien Devresse “Nix: A functional package manager for your C++ software stack” start=100&end=140
TODO: add transcript Toybox vs BusyBox - Rob Landley, hobbyist, start=777&end=787
TODO: Jim Coplien and Bob Martin Debate TDD, start=167&end=309
TODO: add links A Real World Example of BDD
TODO: add quote A Real World Example of BDD
TODO: find the original one and add transcript:
TODO: go down the rabbit hole and find the original quote: https://www.instagram.com/p/CQQJG6pjwNa/?utm_medium=copy_link
TODO: about minimal-reproducible-example https://github.com/containers/podman-compose/issues/36#issuecomment-529154761
TODO: really cool, https://www.debian.org/doc/manuals/project-history/project-history.en.pdf
TODO: https://www.rockpapershotgun.com/amp/heres-why-steamos-switched-from-debian-to-arch-linux
Aalto Talk with Linus Torvalds [Full-length], start=2965&end=3053
Aalto Talk with Linus Torvalds [Full-length]
Criativo Docker 01, start=7&end=20
O MELHOR sistema operacional para programação com Fabio Akita | #HipstersPontoTube, start=181&end=221
From: Why so many distros? The Weird History of Linux, t=349
https://linuxiac.com/linux-distribution-types/ https://unix.stackexchange.com/a/216606
Should you waste your life with systems programming?
TODO: it should be
apk
notapt-get
Building Helm Charts From the Ground Up: An Introduction to Kubernetes [I] - Amy Chen, HeptioTODO: make a nix flake repo that is more portable and has an one liner that runs an example. https://github.com/ivanovitchm/mlops_nd_c3