quine-relay
nixpkgs
quine-relay | nixpkgs | |
---|---|---|
49 | 975 | |
13,794 | 15,753 | |
- | 2.8% | |
6.2 | 10.0 | |
5 days ago | 5 days ago | |
Ruby | Nix | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
quine-relay
- Quine Relay: An uroboros program with 100 programming languages
- Quine Relay – An uroboros program with 100 programming languages
-
Radiation-hardened Quine: A quine that works after any one character is deleted
If there were more languages, then it'd be `console.log("System.out.println({python_source})")`, etc. The problem then becomes quoting and escaping inner quotes. I managed to avoid the problem by using both single and double quotes, and relying on Python's `repr` also giving valid JS strings, but if I had to add one more language I'd have problems.
I still think the Quine Relay is a tour de force, but for different reasons. It's not 128 quines in different languages, but an incredibly robust system for quoting and escaping strings in 128 different languages.
[1] https://github.com/mame/quine-relay/blob/master/src/code-gen...
-
JavaScript forbidden practices. Part 4: self-documenting code
One of the most impressive works I've seen: https://github.com/mame/quine-relay
-
High Te/Ti users, explain to me a fact (scientific/business/practical...) in stupid terms.
"Quine" is a type of program, when executed, will output itself (it's actually it's source code). It's very hard to write one. And this guy wrote a loop quine. It supposed to work like this: * A program in language A output a program in language B * The program in language B output a program in language C * The program in language C output the same program in language A which we started with
-
What do you do to achieve this catastrophy?
Or a Quine relay.
-
It’s worse on mondays for some reason…
Why use a couple of languages, when you can use 128 of them simultaneously? https://github.com/mame/quine-relay
- 😈
-
Weird Ones: 30 years of Brainfuck
Quine relay [1] is to this day the most "I will never understand this" brainfuck project I have ever seen.
[1] https://github.com/mame/quine-relay
-
AI Artist
Go look at a programming quine and tell me it isn't art.
nixpkgs
-
Nix: The Breaking Point
I don't think so. The article is probably intended for the Nix community, so the author doesn't need to convince HN that something is going on. If as an outsider you are interested then you need to look into it yourself, the community has no obligation to make their internal conflicts legible to the outside world.
As an outsider myself, it certainly looks like something is going on as more than 20 Nixpkg maintainers left in a week: https://github.com/NixOS/nixpkgs/issues?q=label%3A%228.has%3...
- Maintainers Leaving
-
Air Force picks Anduril, General Atomics to develop unmanned fighter jets
https://github.com/NixOS/nixpkgs/commits?author=neon-sunset
-
Eelco Dolstra's leadership is corrosive to the Nix project
I see two signers in the top 6 displayed on https://github.com/NixOS/nixpkgs/graphs/contributors
-
3rd Edition of Programming: Principles and Practice Using C++ by Stroustrup
For a single file script, nix can make the package management quite easy: https://github.com/NixOS/nixpkgs/blob/master/doc/languages-f...
For example,
```
- NixOS/nixpkgs: There isn't a clear canonical way to refer to a specific package
-
NixOS Is Not Reproducible
Yes, Nix doesn't actually ensure that the builds are deterministic. In fact it works just fine if they aren't. There are packages in nixpkgs that aren't reproducible: https://github.com/NixOS/nixpkgs/issues?q=is%3Aopen+is%3Aiss...
-
The xz attack shell script
I'm not familiar with Bazel, but Nix in it's current form wouldn't have solved this attack. First of all, the standard mkDerivation function calls the same configure; make; make install process that made this attack possible. Nixpkgs regularly pulls in external resources (fetchUrl and friends) that are equally vulnerable to a poisoned release tarball. Checkout the comment on the current xz entry in nixpkgs https://github.com/NixOS/nixpkgs/blob/master/pkgs/tools/comp...
-
Debian Git Monorepo
NixOS uses a monorepo and I think everyone's love it.
I love being able to easily grep through all the packages source code and there's regularly PRs that harmonizes conventions across many packages.
Nixpkgs doesn't include the packaged software source code, so it's a lot more practical than what Debian is doing.
https://github.com/NixOS/nixpkgs
-
From xz to ibus: more questionable tarballs
In this specific case, nix uses fetchFromGitHub to download the source archive, which are generated by GitHub for the specified revision[1]. Arch seems to just download the tarball from the releases page[2].
[1]: https://github.com/NixOS/nixpkgs/blob/3c2fdd0a4e6396fc310a6e...
[2]: https://gitlab.archlinux.org/archlinux/packaging/packages/ib...
What are some alternatives?
WLED - Control WS2812B and many more types of digital RGB LEDs with an ESP8266 or ESP32 over WiFi!
asdf - Extendable version manager with support for Ruby, Node.js, Elixir, Erlang & more
ox - An independent Rust text editor that runs in your terminal!
Home Manager using Nix - Manage a user environment using Nix [maintainer=@rycee]
chinese-poetry - The most comprehensive database of Chinese poetry 🧶最全中华古诗词数据库, 唐宋两朝近一万四千古诗人, 接近5.5万首唐诗加26万宋诗. 两宋时期1564位词人,21050首词。
git-lfs - Git extension for versioning large files
Deep Java Library (DJL) - An Engine-Agnostic Deep Learning Framework in Java
easyeffects - Limiter, compressor, convolver, equalizer and auto volume and many other plugins for PipeWire applications
cp-ddd-framework - 轻量级DDD正向/逆向业务建模框架,支撑复杂业务系统的架构演化!
spack - A flexible package manager that supports multiple versions, configurations, platforms, and compilers.
OpenCorePkg - OpenCore bootloader
waydroid - Waydroid uses a container-based approach to boot a full Android system on a regular GNU/Linux system like Ubuntu.