IRC Log - 2025-02-26 - ##forth

Channel: ##forth
Total messages: 164
Time range: 06:55:29 - 23:45:31
Most active: cleobuline (47), ForthBot (27), xentrac (26)
06:55:29 ##forth <cleobuline> i corected some bugs ...
08:51:32 ##forth <veltas> Damn, my server's just been absolutely hammered with bruteforcing for a week
08:52:26 ##forth <veltas> Was already getting this before, but I'm getting enough now to keep my CPU consistently 6-7%
08:52:48 ##forth <veltas> Filled up my disk with logs in a few days, will have to clear it out every week at this rate
08:53:21 ##forth <veltas> Is there some massive increased campaign at the moment or am I just lucky / was I lucky before?
08:54:17 ##forth <pgimeno> ssh you mean?
08:54:31 ##forth <veltas> Mostly ssh yeah
08:54:42 ##forth <pgimeno> I changed the port, worked like a charm
08:54:53 ##forth <veltas> I'm not using the default port
08:54:58 ##forth <pgimeno> ugh
08:58:22 ##forth <veltas> I guess I need to change it again lol
08:59:16 ##forth <veltas> Maybe my open ports were scanned and that got shared somewhere? I've got no clue how these hackers operate
09:00:53 ##forth <pgimeno> I've had that once, so it may be a good idea
09:16:20 ##forth <veltas> It doesn't help that Ubuntu have made it so hard to change the port
09:16:58 ##forth <veltas> The config file now says essentially "Port doesn't do anything, see the man"; the man doesn't say anything about this
09:18:05 ##forth <veltas> It turns out Port does actually work, but you have to restart systemd's daemon and reload ssh.socket for it to take effect
09:21:23 ##forth <veltas> And then there's https://bugs.launchpad.net/ubuntu/+source/openssh/+bug/2087551
09:24:10 ##forth <veltas> Well it's back to normal after changing port, and at least that confirms what the traffic I'm seeing on my dashboard is for
09:24:40 ##forth <veltas> Thanks pgimeno
09:26:20 ##forth <pgimeno> np, glad it helped
09:26:41 ##forth <pgimeno> systemd_hatred++;
09:28:33 ##forth <veltas> No kidding
09:37:28 ##forth <veltas> Don't read this if you value your sanity https://serverfault.com/a/1159600
09:38:23 ##forth <veltas> The info's already out of date, but just the fact you have to add empty ListenStream= first to stop listening on port 22
13:25:16 ##forth <pgimeno> "Don't read this if you value your sanity" - no shit, that made my head blow
13:40:04 ##forth <pgimeno> as for identification to the bot commented earler, Libera cloaks could work - make it only work for user mask matching *!*@user/* and use user/* as ID
13:40:24 ##forth <xentrac> ugh
13:40:32 ##forth <xentrac> pgimeno: agreed
13:41:13 ##forth <pgimeno> that would void the need for registration, placing that burden on Libera
13:42:35 ##forth <pgimeno> but then it would work only on Libera, which isn't necessarily a problem
14:03:53 ##forth <veltas> https://ircv3.net/irc/#account-tracking
14:04:00 ##forth <veltas> That's what I was thinking of
14:04:27 ##forth <veltas> Specifically https://ircv3.net/specs/extensions/account-tag
14:09:58 ##forth <veltas> There are many ways to skin a cat
15:45:51 ##forth <deadmarshal_> How does one simulate something like 'defer' keywords of Zig or Go where it deallocates heap allocations on exit. Do I have to redeclare the 'bye' word and make it free a linked list of pointers for example?
15:46:30 ##forth <xentrac> on EXIT?
15:47:08 ##forth <xentrac> defer will run a cleanup function on return from a subroutine
15:47:21 ##forth <xentrac> (Golang defer, not Forth defer, which defines a function pointer)
15:47:57 ##forth <deadmarshal_> Right. I was thinking about the main function where it would be exit
15:49:02 ##forth <xentrac> van der Horst defined a word called co that can be used for cleanup (not original to him, but this is a good example)
15:50:52 ##forth <xentrac> !gforth : (let!) dup @ over swap 2r> rot >r rot >r >r >r ! ; : let! (let!) 2r> ! ; ( example usage: ) decimal : dec. 10 base let! . ; hex 53 dup dec. .
15:50:52 ##forth <gforth_eval_bot> redefined dec. 83 53
15:51:05 ##forth <xentrac> in this case the cleanup code is setting a temporarily reassigned value back to its original value
15:51:18 ##forth <xentrac> a temporarily reassigned *variable*, sorry
15:51:25 ##forth <xentrac> and in the example usage the variable in question is base
15:51:46 ##forth <xentrac> which is set to (decimal) 10 for the duration of the call to .
15:52:24 ##forth <xentrac> in this case I kind of inlined co into (let!)
15:52:58 ##forth <deadmarshal_> +
16:42:50 ##forth <deadmarshal_> xentrac: awesome, thanks
19:08:06 ##forth <user51> xentrac: jeez, all those stack manipulations rotated my brain a bit
19:50:53 ##forth <xentrac> user51: me too
19:54:44 ##forth <user51> xentrac: good thing it was a linear transformation!
20:18:59 ##forth <cleobuline> do you what tu experiment my forth-bot-irc ?
20:19:15 ##forth <cleobuline> with unlimited precision :)
20:19:36 ##forth <cleobuline> it works for now :)
20:19:52 ##forth <xentrac> yay!
20:20:19 ##forth <cleobuline> i need the IP of this irc server to configure
20:21:06 ##forth <cleobuline> this ? 51.161.82.214
20:21:27 ##forth <xentrac> dunno, Libera has a lot of IRC servers
20:23:37 ##forth <cleobuline> ForthBot: LOAD "test.fth"
20:23:38 ##forth <ForthBot> MOT DEFINIS :
20:23:38 ##forth <ForthBot> HELLO DOUBLE FACT POW FIBONACCI COUNTDOWN TUCK 2DROP
20:23:38 ##forth <ForthBot> Stack: 30
20:23:39 ##forth <ForthBot> MOTS DEFINI :
20:23:40 ##forth <ForthBot> HELLO DOUBLE FACT POW FIBONACCI COUNTDOWN TUCK 2DROP TRIPLE POW2 TEST-CASE
20:23:40 ##forth <ForthBot> test2.fth loaded !
20:23:47 ##forth <xentrac> bonjour ForthBot
20:23:53 ##forth <cleobuline> 100 FACT
20:24:06 ##forth <cleobuline> ForthBot: 100 FACT
20:24:10 ##forth <xentrac> you probably don't want it to output 8 lines when it starts
20:24:32 ##forth <xentrac> that's going to get annoying
20:24:38 ##forth <cleobuline> ForthBot: 1 2 3 4
20:24:42 ##forth <cleobuline> ForthBot: .S
20:24:42 ##forth <ForthBot> Stack: 9332621544394415268169923885626670049071596826438162146859296381 2 3 4
20:24:56 ##forth <xentrac> ForthBot: 3 4 + .
20:24:56 ##forth <ForthBot> 7
20:25:01 ##forth <cleobuline> ForthBot: FLUSH
20:25:18 ##forth <xentrac> sweet :)
20:25:28 ##forth <cleobuline> ForthBot: 1 2 3 4 2 ROLL .S
20:25:28 ##forth <ForthBot> Stack: 1 2 4 3
20:25:30 ##forth <xentrac> ForthBot: : 4a 4 + ; 3 4a .
20:25:31 ##forth <ForthBot> 7
20:26:17 ##forth <cleobuline> there are basic words
20:26:48 ##forth <cleobuline> ForthBot: : CARRE DUP * ;
20:27:01 ##forth <cleobuline> 3 CARRE .
20:27:12 ##forth <cleobuline> ForthBot: 3 CARRE
20:27:18 ##forth <cleobuline> ForthBot: .S
20:27:18 ##forth <ForthBot> Stack: 1 2 4 3 9
20:27:33 ##forth <user51> ForthBot: bye
20:27:33 ##forth <ForthBot> Unknown word: bye
20:27:36 ##forth <xentrac> ForthBot: * .
20:27:36 ##forth <ForthBot> 27
20:28:11 ##forth <user51> cleobuline: would rdrop hang it?
20:28:33 ##forth <cleobuline> no return stack words
20:29:09 ##forth <user51> hmm.. does it have DEPTH?
20:29:19 ##forth <cleobuline> yes
20:29:31 ##forth <user51> ForthBot: .s
20:29:31 ##forth <ForthBot> Unknown word: .s
20:29:38 ##forth <user51> ForthBot: .S
20:29:38 ##forth <ForthBot> Stack: 1 2 4
20:29:53 ##forth <cleobuline> ForthBot: DEPTH .S
20:29:53 ##forth <ForthBot> Stack: 1 2 4 3
20:30:55 ##forth <xentrac> ForthBot: 2.99 .
20:30:55 ##forth <user51> ForthBot: FACT .S
20:31:37 ##forth <cleobuline> not implemented begin again only DO LOOP
20:32:20 ##forth <cleobuline> ForthBot: .S
20:32:20 ##forth <ForthBot> Stack: 1
20:32:54 ##forth <user51> 10 fact 0 do i fact loop
20:32:55 ##forth <cleobuline> ForthBot: 2 1024 POW
20:33:27 ##forth <user51> ForthBot: -5 FACT
20:33:36 ##forth <user51> ForthBot: .S
20:33:36 ##forth <ForthBot> Stack: 1 1797693134862315907729305190789024733617976978942306572734300811
20:33:52 ##forth <cleobuline> ignore this case :)
20:34:09 ##forth <user51> ForthBot: -3 FACT .
20:34:10 ##forth <ForthBot> 1
20:36:09 ##forth <user51> ForthBot: QUIT
20:36:09 ##forth <ForthBot> Unknown word: QUIT
20:36:24 ##forth <user51> ForthBot: WORDS
20:36:24 ##forth <ForthBot> HELLO DOUBLE FACT POW FIBONACCI COUNTDOWN TUCK 2DROP TRIPLE POW2 TEST-CASE 4a CARRE
20:36:57 ##forth <user51> ForthBot: 1 4a . 2 4a .
20:36:57 ##forth <ForthBot> 5
20:36:57 ##forth <ForthBot> 6
20:38:06 ##forth <cleobuline> ForthBot: ." Hello World !"
20:38:06 ##forth <ForthBot> Hello World !
20:39:53 ##forth <cleobuline> i do not implement the Word "QUIT" yet :)
20:40:40 ##forth <cleobuline> ForthBot: FORGET HELLO
20:40:50 ##forth <cleobuline> ForthBot: WORDS
20:40:50 ##forth <ForthBot> Dictionary empty
20:41:36 ##forth <user51> ForthBot: : HELLO ;
20:41:43 ##forth <user51> ForthBot: HELLO
20:42:02 ##forth <cleobuline> your word does nothing
20:42:23 ##forth <user51> ForthBot: i think : : ; could cause problems
20:42:24 ##forth <ForthBot> Unknown word: i
20:42:24 ##forth <ForthBot> Unknown word: think
20:42:34 ##forth <user51> oh, sweetl
20:43:10 ##forth <user51> cleobuline: my bad, i wanted to ping you
20:43:12 ##forth <cleobuline> You have to vote betwin you to adopt this bot on yur channel now
20:43:37 ##forth <cleobuline> end of session :)
20:45:26 ##forth <cleobuline> i think it funny to get such a bot on this chanel
20:47:17 ##forth <user51> imo bots should accept pms, clutters the channel less
20:50:52 ##forth <cleobuline> i can modify the bot to work only in private messages
21:18:55 ##forth <vms14> !gforth ." :D" cr
21:18:55 ##forth <gforth_eval_bot> :D
21:19:10 ##forth <vms14> we already have one
21:23:29 ##forth <cleobuline> !gforth : test ." Hello World " ;
21:23:55 ##forth <cleobuline> !gforth test
21:23:57 ##forth <gforth_eval_bot> https://0x0.st/8AhN.txt
21:24:20 ##forth <GeDaMo> It all has to be on the same line
21:24:36 ##forth <GeDaMo> !gforth : test ." Hello World " ; test
21:24:37 ##forth <gforth_eval_bot> Hello World
21:24:49 ##forth <cleobuline> ha ok
22:27:19 ##forth <cleobuline> mon bot est mieux que gforth_eval_bot , il a son propre source
22:30:55 ##forth <xentrac> et on peut calculer avec précision arbitraire
22:31:16 ##forth <xentrac> (sorry, my French isn't very good)
22:39:11 ##forth <cleobuline> xentrac: oui mais c'est un oneliner :)
22:40:01 ##forth <cleobuline> xentrac: i push the source now :) https://github.com/cleobuline/some-c-sources/blob/main/forth_gmp_irc_bot.c
22:40:46 ##forth <cleobuline> there is less words than in gforth , but it is more interactive
22:41:21 ##forth <cleobuline> and it have its own source
22:41:35 ##forth <cleobuline> not depending of gforth
22:41:57 ##forth <cleobuline> anyone may add primitives to it
23:31:56 ##forth <cleobuline> you like this source xentrac ?
23:45:31 ##forth <cleobuline> sleeping