Skip to content

Instantly share code, notes, and snippets.

@sogaiu
sogaiu / gist:c165ce74698e31d95615c60c2d2f448d
Created January 27, 2026 08:57
janet-sh limits according to ianthehenry's book chapter
> but Bash still has a lot to recommend it: there’s no equivalent of trap EXIT in Janet, nor is there an analog of the extremely-useful cp foo.bar{,.bup} expansion shorthand. It’s a lot more verbose to set and reference environment variables in Janet, and there’s no ~/foo or ~user/foo shorthand for specifying home directories. You can’t spawn background jobs at all, and Janet has no job control facilities.
* there’s no equivalent of `trap EXIT` in Janet
* there is no analog of the extremely-useful `cp foo.bar{,.bup}` expansion shorthand
* It’s a lot more verbose to set and reference environment variables in Janet
* there’s no `~/foo` or `~user/foo` shorthand for specifying home directories
* You can’t spawn background jobs at all
* Janet has no job control facilities
@sogaiu
sogaiu / gist:58a86e29e584d0f24397b19e0be6eb61
Last active January 16, 2026 09:50
veqq naming and import response fragments
i do also happen to think that there are conditions under which english (/ human language) name being changed would be better for reasons i mentioned before, but this is less of an issue from the perspective of api breakage / use in codebases.
i think not changing english names can lead to a kind of confusion that i think it would be nice to avoid (cf. firefox situation) in communication as well as being potentially misleading.
searching for things later can also become more complicated by not changing names because one can end up with more stuff to sift through.
---
to clarify a bit of why i don't want to talk in terms of `import` so much is at least partly because it has complexities that make discussion and thought more cumbersome. listed at [this page](https://janet-lang.org/docs/modules.html) are relative imports, working directory imports, @-prefixed imports, and imports can be customzied a fair bit as well.
@sogaiu
sogaiu / gist:5ffeb2b969fda83836b3b967a25b8921
Created January 16, 2026 01:10
signal installation on debian-based
# NOTE: These instructions only work for 64-bit Debian-based
# Linux distributions such as Ubuntu, Mint etc.
# 1. Install our official public software signing key:
wget -O- https://updates.signal.org/desktop/apt/keys.asc | gpg --dearmor > signal-desktop-keyring.gpg;
cat signal-desktop-keyring.gpg | sudo tee /usr/share/keyrings/signal-desktop-keyring.gpg > /dev/null
# 2. Add our repository to your list of repositories:
wget -O signal-desktop.sources https://updates.signal.org/static/desktop/apt/signal-desktop.sources;
cat signal-desktop.sources | sudo tee /etc/apt/sources.list.d/signal-desktop.sources > /dev/null
* description
create and run certain "tests" that live in comment forms -
"comment-hidden expression tests".
* rationale
* want some meaningful "tests" / "usages" to co-evolve with
development from as early as desired with little activation
effort.
* before "redoing" a project, find whether any projects are being used
as dependencies. if it isn't, easier to just change things.
* use jipper to get at :dependencies value in declare-project in
project.janet? is this a bit like querying?
* also scan for files where something might be vendored?
* could apply to determine how often each project (of all collected
projects) is being reused across all collected projects?
$ cat sample.janet
(def a 1)
$ janet
Janet 1.40.1-7d672f43 linux/x64/gcc - '(doc)' for help
repl:1:> (import ./sample)
@{_ @{:value <cycle 0>} sample/a @{:private true}}
repl:2:> (import ./sample :export true)
@sogaiu
sogaiu / jeep-vendor-transition.txt
Created December 24, 2025 02:08
jeep vendor transition
deps number of projects
1 22
2 4
3 5
4 1
5 2
6 1
----
todo