Commentaire du code pour un service de lecture over ssh (et je me la pĂšte au passage avec plein de liens #C ) : https://si3t.ch/log/2023-11-13-txtoverssh.c.txt gopher://si3t.ch/0/log/2023-11-13-txtoverssh.c.txt gemini://si3t.ch/log/2023-11-13-txtoverssh.c.txt http://6gvb6fzoxv72mtlpvr2fgj7ytpeggwuerdawspt24njlkwfxir6jncid.onion/log/2023-11-13-txtoverssh.c.txt gopher://of2w2p5f4hsslk63hmo6tid6r7inhlxuxviq4pb5cxg45enswpbrfjad.onion/0/log/2023-11-13-txtoverssh.c.txt gemini://b2khgkvb2wn4avjshjp63kknsjwikgwff5dwwydldia6qwf4kdnueyad.onion/log/2023-11-13-txtoverssh.c.txt ou encore âssh lire@si3t.châ numĂ©ro 45.
Anyone else keeping personal .log files updated through basic shell commands?
AprĂšs avoir trouvĂ© un trĂ©sor, un singe me vole ma robe brĂ»lĂ©e par un parchemin puis un yĂ©ti meâĂ©clate la tĂȘte avant quâun jaguar ne mâachĂšve pendant mon repos: https://si3t.ch/log/2023-10-21-nethack-16.txt #nethack
Mission terroriste réussie #blog : https://si3t.ch/log/2023-10-16-mission-terroriste-reussie.txt
soulcoud, un script pour garder dans un mail les pages Ă lire + tard: https://si3t.ch/log/2023-10-10-a-lire-+-tard.txt
à quoi peut me servir #openbsd (édition serveur)? https://si3t.ch/log/2023-10-02-octopenbsd-server.txt #octopenbsd
Ă quoi peut me servir #openbsd ? https://si3t.ch/log/2023-10-02-octopenbsd-desktop.txt #octopenbsd
Musical Scales
â Read more
@prologic@twtxt.net closed as in you have to be an account on their service to interact with others. And canât communicate cross service. Some require you to be logged in to view content. Others will pop up annoying overlays after scrolling some content to sign up for more.

From my small experience in writing an event database, I am inclined to agree with this.
TenĂa medio olvidado el archivo .txt en español. Tengo el acceso al phpub2txt en el telĂ©fono, aunque no lo uso mucho pues queda como un log sin la interacciĂłn que ofrecen otras plataformas.
Me hace mucho pensar en lo curioso del microblogging como plataforma de micro expresiĂłn con rĂĄpida interacciĂłn.
Did something chchange with how the discover feed is generated? My pods logout mode now only shows my twts. It used to be all twts from watcher observation like my logged on discover tab. @prologic@twtxt.net
Great! You added 140 burned calories to your log
Come again soon!
140 calorĂas hoy. Quiero superar la liga Esmeralda que me ha costado trabajo por falta de constancia. ÂĄVamos!
Logged in using new argon2i password hash! 
$name$ and then dispatch the hashing or checking to its specific format.
Here is an example of usage:
func Example() {
pass := "my_pass"
hash := "my_pass"
pwd := passwd.New(
&unix.MD5{}, // first is preferred type.
&plainPasswd{},
)
_, err := pwd.Passwd(pass, hash)
if err != nil {
fmt.Println("fail: ", err)
}
// Check if we want to update.
if !pwd.IsPreferred(hash) {
newHash, err := pwd.Passwd(pass, "")
if err != nil {
fmt.Println("fail: ", err)
}
fmt.Println("new hash:", newHash)
}
// Output:
// new hash: $1$81ed91e1131a3a5a50d8a68e8ef85fa0
}
This shows how one would set a preferred hashing type and if the current version of ones password is not the preferred type updates it to enhance the security of the hashed password when someone logs in.
https://github.com/sour-is/go-passwd/blob/main/passwd_test.go#L33-L59
TenĂa un rato sin escribir acĂĄ en el Log/twtxt
Ha sido una semana un poco extraña aunque empieza a verse que irå todo mejor!
TenĂa un rato sin escribir acĂĄ en el Log/twtxt
Ha sido una semana un poco extraña aunque empieza a verse que irå todo mejor!
Ahora estoy pensando en hacer una versiĂłn como Progressive Web App, aunque ahora este twtxt es mĂĄs como un log. Me gustarĂa ver si desde Web podrĂamos hacer una interfaz mĂĄs social (en el espĂritu de microblogging cĂłmo Twitter)
looking at my crawlerâs log scrolling on the screen, randomly copying feeds with an interesting-looking name into my browser. what a nice way to discover new things #twtxt
looking at my crawlerâs log scrolling on the screen, randomly copying feeds with an interesting-looking name into my browser. what a nice way to discover new things #twtxt
With respect to logging.. oh man.. it really depends on the environment you are working in.. development? log everything! and use a jeager open trace for the super gnarly places. So you can see whats going on while building. But, for production? metrics are king. I donât want to sift through thousands of lines but have a measure that can tell me the health of the service.
@prologic@twtxt.net Error handling especially in Go is very tricky I think. Even though the idea is simple, itâs fairly hard to actually implement and use in a meaningful way in my opinion. All this error wrapping or the lack of it and checking whether some specific error occurred is a mess. errors.As(âŠ) just doesnât feel natural. errors.Is(âŠ) only just. I mainly avoided it. Yesterday evening I actually researched a bit about that and found this article on errors with Go 1.13. It shed a little bit of light, but I still have a long way to go, I reckon.
We tried several things but havenât found the holy grail. Currently, we have a mix of different styles, but nothing feels really right. And having plenty of different approaches also doesnât help, thatâs right. I agree, error messages often end up getting wrapped way too much with useless information. We havenât found a solution yet. We just noticed that it kind of depends on the exact circumstances, sometimes the caller should add more information, sometimes itâs better if the callee already includes what it was supposed to do.
To experiment and get a feel for yesterdayâs research results I tried myself on the combined log parser and how to signal three different errors. Iâm not happy with it. Any feedback is highly appreciated. The idea is to let the caller check (not implemented yet) whether a specific error occurred. That means I have to define some dedicated errors upfront (ErrInvalidFormat, ErrInvalidStatusCode, ErrInvalidSentBytes) that can be used in the err == ErrInvalidFormat or probably more correct errors.Is(err, ErrInvalidFormat) check at the caller.
All three errors define separate error categories and are created using errors.New(âŠ). But for the invalid status code and invalid sent bytes cases I want to include more detail, the actual invalid number that is. Since these errors are already predefined, I cannot add this dynamic information to them. So I would need to wrap them Ă la fmt.Errorf("invalid sent bytes '%s': %w", sentBytes, ErrInvalidSentBytes"). Yet, the ErrInvalidSentBytes is wrapped and can be asserted later on using errors.Is(err, ErrInvalidSentBytes), but the big problem is that the message is repeated. I donât want that!
Having a Python and Java background, exception hierarchies are a well understood concept Iâm trying to use here. While typing this long message it occurs to me that this is probably the issue here. Anyways, I thought, I just create a ParseError type, that can hold a custom message and some causing error (one of the three ErrInvalid* above). The custom message is then returned at Error() and the wrapped cause will be matched in Is(âŠ). I then just return a ParseError{fmt.Sprintf("invalid sent bytes '%s'", sentBytes), ErrInvalidSentBytes}, but that looks super weird.
I probably need to scrap the âparent errorâ ParseError and make all three âsuberrorsâ three dedicated error types implementing Error() string methods where I create a useful error messages. Then the caller probably could just errors.Is(err, InvalidSentBytesError{}). But creating an instance of the InvalidSentBytesError type only to check for such an error category just does feel wrong to me. However, it might be the way to do this. I donât know. To be tried. Opinions, anyone? Implementing a whole new type is some effort, that I want to avoid.
Alternatively just one ParseError containing an error kind enumeration for InvalidFormat and friends could be used. Also seen that pattern before. But that would then require the much more verbose var parseError ParseError; if errors.As(err, &parseError) && parseError.Kind == InvalidSentBytes { ⊠} or something like that. Far from elegant in my eyes.
My Gemini log posts have been getting very long recently.
There are some Gemini feeds that Antenna is failing to connect to, and it looks like itâs clogging up the log pretty badly. I hope itâs not putting too much strain on the server.
âIRS.gov is now using ID.me to log in!â Awesome, the credetials for US taxpayers are passing through a registrar located in Montenegro.
Only 1 day of activity so far, but Iâve started a new project log for whatever the heck I end up doing to this Monroe 425 I got. http://a.9srv.net/monroe425
I am not launching it with a specific file right now, but Iâll likely have it default to my daily work log shortly.
@lyse@lyse.isobeef.org Hmm, weird, it loads fine for me. Not logged in, âanonymousâ upload, no cookies.
Test to generate more logging.
Based on spam logs, I am (again) considering banning a bunch of TLDs at the server level. Has anyone ever gotten legitimate email from a .work, .casa, or .today domain, for example?
Cleaned up a bit, with installation instructions for Plan 9 and p9p, tiny character tweaks, and a change log.
Sadly I believe the world managed to make us feel guilty when weâre not doing something that makes someone else rich I logged my activities at 15-minute intervals for the whole year | Hacker News
Iâm posting this from ~ an old 3G iPhone and have logged it into my tilde club shell a/c.
I re-read my script that updates my gemini log automatically
Making a bash gemlog script to maintain my gemini log
Added double log to the diary maybe that would be easier to maintain than creating daily files
Logging off. Good night
Proud of myself for achieving a 10 day streak of writing a daily journal log entry.
Discovered some new twtxt followers by glancing at my web server logs.. Feeling so l33t now.