Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
cosmos0072
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
cosmos0072
4mo ago
Found: it's a sentence from 2020, and PG decided not to appeal (!?) Full story (in Italian) at https://www.wired.it/internet/web/2020/06/30/progetto-gutenb...
2.
▲
by
cosmos0072
4mo ago
From Italy, https://www.gutenberg.org/ gives a 404 error and https://gutenberg.org/ opens a very official-looking page stating "police notice. This site is under judicial seizure" and references a
3.
▲
by
cosmos0072
6mo ago
> I am not familiar with the Scheme ecosystem but see you are implementing a lot within your shell (http client, sqlite support) what is great. Yes. Initially, I wanted to integrate http client, sqlite client etc. directly in the main sh
4.
▲
by
cosmos0072
6mo ago
Yes, they are similar at first glance. As I wrote: > If you know nushell, they will feel familiar as they are inspired by it - the implementation is fully independent, though. Looking deeper, there are two main differences: - Nushell str
5.
▲
by
cosmos0072
6mo ago
First stable release appeared on HN one year ago: https://news.ycombinator.com/item?id=43061183 Thanks for all the feedback! Today, version 1.0.0 adds structured pipelines: a mechanism to exchange (almost) arbitrary objects
6.
▲
Schemesh – Unix shell and Lisp REPL, now with structured pipelines
(github.com)
30 points
by
cosmos0072
6mo ago
|
5 comments
7.
▲
by
cosmos0072
6mo ago
Parents already have a lot of control on children' education. Examples: most children believe in the same religion as their parents, and can visit friends and places only if/when allowed by their parents. This is simply extending
8.
▲
by
cosmos0072
6mo ago
I am from EU, and contrary to age verification laws in general. My stance is that if somebody is a minor, his/her/their parents/tutors/legal guardian are responsible for what they can/cannot do online, and that the
9.
▲
by
cosmos0072
11mo ago
I need this *so* often that I programmed my shell to execute 'cd ..' every time I press KP/ i.e. '/' on the keypad, without having to hit Return. Other single-key bindings I use often are: KP* executes 'ls
10.
▲
by
cosmos0072
11mo ago
The math looks suspicious to me, or at least how it is presented. If, as stated, accessing one register requires ~0.3 ns and available registers sum up to ~2560 B, while accessing RAM requires ~80 ns and available RAM is ~32 GiB, then it me
11.
▲
by
cosmos0072
1y ago
For me it's more about "feeling" badly written code, as if it stinks and is unpleasant to look at, and conversely enjoying nicely written one, and seeing its elegance and beauty. Especially when I have to familiarize with cod
12.
▲
by
cosmos0072
1y ago
> So, people who use native REPLs, what do you do with them? In my case, I use my interactive shell https://github.com/cosmos72/schemesh every day as login shell. You can look at it as heavily customized Scheme REPL
13.
▲
by
cosmos0072
1y ago
I tried compiling https://github.com/panzi/ansi-img and running it inside the truecolor branch of twin, i.e. https://github.com/cosmos72/twin/tree/truecolor and it correctly displayed an
14.
▲
by
cosmos0072
1y ago
You can choose the font with `twin --hs=X11,font=X11FONTNAME` or `twin --hw=xft,font=TRUETYPEFONTNAME` I will have a look too, the terminal should not crash or stop being responsive
15.
▲
by
cosmos0072
1y ago
If you mean the Unicode glyphs listed at https://en.m.wikipedia.org/wiki/Block_Elements they are supported - you just need a display driver that can render them. For example, `twin --hw=xft` (it's the default) or
16.
▲
by
cosmos0072
1y ago
Yep, I am well aware of the `;` vs `:` confusion in both 256 color and 24-bit color control sequences. Short of hand-coding "which terminal supports which variant" I do not know any standard mechanism to detect that (beyond the we
17.
▲
by
cosmos0072
1y ago
Author here :) I've been using Twin as my everyday terminal emulator and terminal multiplexer since ~2000, slowly adding features as my free time - and other interests - allowed. As someone pointed out, the look-and-feel reminds Borlan
18.
▲
by
cosmos0072
1y ago
For optimal speed, you should move as much code as possible outside the closures. In particular, you should do the `switch op` at https://github.com/skx/simple-vm/blob/b3917aef0bd6c4178eed0c... outside the
19.
▲
by
cosmos0072
1y ago
The core idea is simple: do a type analysis on each expression you want to "compile" to a closure, and instantiate the correct closure for each type combination. Here is a pseudocode example, adapted from gomacro sources: https:&
20.
▲
by
cosmos0072
1y ago
Compiling an expression to a tree of closures, and a list of statements to a slice of closures, is exactly how I optimized [gomacro]( https://github.com/cosmos72/gomacro ) my Go interpreter written in go. There are more
21.
▲
by
cosmos0072
2y ago
You mean a command or builtin `(` inside a traditional shell as bash or zsh? It would be quite limited: internal status would not persist between invocations, and it would only be able to exchange unstructured data (a stream of bytes) with
22.
▲
by
cosmos0072
2y ago
That's true. In shells, "test" and "[" are often used after "if", as for example if test -f "some_file" do_something fi if [ "$FOO" != "" ] do_something_else
23.
▲
by
cosmos0072
2y ago
[UPDATE] (shell-expr) is ready and kicking :) Now you can write (import (schemesh all)) (shell-expr (lisp-expression-writing-to-sh-fd-stdout)) | some-shell-command-and-args | (shell-expr (lisp-expression-reading-from-sh-fd-stdin))
24.
▲
by
cosmos0072
2y ago
Yes, that's definitely feasible. I am currently working on it, the macro will be named (shell-expr) and replace the current experimental (shell-test)
25.
▲
by
cosmos0072
2y ago
Porting to a different Scheme implementation requires some effort: schemesh needs a good, bidirectional C FFI and an (eval) that allows any Scheme form, including definitions. For creating a single `schemesh` executable with the usual shell
26.
▲
by
cosmos0072
2y ago
Nice! then my point 3. above is wrong and should be deleted
27.
▲
by
cosmos0072
2y ago
Rash and schemesh start from similar ideas: create a shell scriptable in some dialect of Lisp. Rash has several limitations, sometimes due to design choices, that schemesh solves: 1. no job control 2. multi-line editing is limited 3. from w
28.
▲
by
cosmos0072
2y ago
I found another, possibly simpler solution. The functions (sh-fd-stdin) (sh-fd-stdout) and (sh-fd-stderr) return the integer file descriptors that a schemesh builtin should use to perform I/O. With them, you can do true (lambda ()
29.
▲
by
cosmos0072
2y ago
[REWRITTEN FOR CLARITY] Yes, although the current syntax is cumbersome - I am thinking how to improve it. The first part is easy. If you want to run something like (lisp-expr1-produces-a-string) | grep foo the current solution is
30.
▲
by
cosmos0072
2y ago
Eshell looks really powerful :) Does it also have job control, and jobs as first-class objects? In schemesh, you can do things like find / -xdev -type f | ls -l --sort=size CTRL+Z bg 1 and also (define j {git log
More ›