2023-04-04 03:47:51 KipIngram: There's a little dial above the hairspring you can push different directions to go faster or slower 2023-04-04 03:48:13 But it's incredibly sensitive, I'm pushing it less than I can see to adjust it right now 2023-04-04 03:48:46 I'm basically tapping it with my tweesers 2023-04-04 03:49:21 I calculated based on two different settings where the optimal position would be if the change is linear over distance, which it probably is roughly 2023-04-04 03:49:59 It's about 1% away from where it was from factory, so on scale of 0.1mm, about the size of a plant cell, which is beyond my eyesight 2023-04-04 03:50:55 I've currently got it more accurate than it was from factory but will continue tapping until it's within about 1s drift, preferably 1s ahead so I can adjust it easier each day 2023-04-04 03:53:34 I think it essentially changes the length of the hairspring that can move, and the length of the hairspring determines the period (among over things) 2023-04-04 03:59:03 vms14 has made a bot, awesome! Hopefully you read this log or I'll have to catch you and ask for a manual lol 2023-04-04 03:59:35 I want to try it out 2023-04-04 08:46:05 vms14: Interested in learning how to interact with your bot if you bring it back 2023-04-04 08:46:15 :0 2023-04-04 08:46:42 it's missing a lot of words 2023-04-04 08:46:58 Maybe in future then 2023-04-04 08:47:07 but here it is 2023-04-04 08:47:13 oh: : oh 1 2 3 ; oh 2023-04-04 08:47:14 [1 2 3] 2023-04-04 08:47:18 xd 2023-04-04 08:47:23 What can it do? 2023-04-04 08:47:30 Just interpret lists 2023-04-04 08:47:35 if you want a word you can ask for it, I can make it in no time 2023-04-04 08:48:03 oh: [ 1 2 3 [ 45 6 ~flatten ] [ 7 8 ] [ 9 1 2 ~reverse ] ] 2023-04-04 08:48:03 [] 2023-04-04 08:48:06 fuck 2023-04-04 08:48:21 What's wrong? 2023-04-04 08:48:25 oh: [ 1 2 3 ] 2023-04-04 08:48:25 [[1 2 3]] 2023-04-04 08:48:31 Is it not meant to run everything? 2023-04-04 08:49:00 oh, it's flatten 2023-04-04 08:49:10 [ 1 2 3 [ 45 6 ] ~flatten [ 7 8 ] [ 9 1 2 ~reverse ] ] 2023-04-04 08:49:21 oh: [ 1 2 3 [ 45 6 ] ~flatten [ 7 8 ] [ 9 1 2 ~reverse ] ] 2023-04-04 08:49:21 [[1 2 3 45 6 [7 8] [2 1 9]]] 2023-04-04 08:50:01 you have do.list and map for lists 2023-04-04 08:50:27 but it's quite different from forth 2023-04-04 08:50:36 " builds a string and ` does too 2023-04-04 08:50:40 oh: [ 1 2 3 [ 45 6 ] [ 7 8 ] [ 9 1 2 ~reverse] ~flatten ] 2023-04-04 08:50:40 [] 2023-04-04 08:50:54 veltas: ~reverse] needs a space 2023-04-04 08:51:00 oh: [ 1 2 3 [ 45 6 ] [ 7 8 ] [ 9 1 2 ~reverse ] ~flatten ] 2023-04-04 08:51:00 [[1 2 3 [45 6] [7 8] 2 1 9]] 2023-04-04 08:51:18 this is mainly why reverse and flatten exist 2023-04-04 08:51:41 they are to be used together 2023-04-04 08:52:00 there's also a way to insert values in a list, but not nice 2023-04-04 08:52:10 oh: 1 2 3 [ # # # ] # 2023-04-04 08:52:10 [[3 2 1]] 2023-04-04 08:52:24 reverse and flatten would be useful there 2023-04-04 08:52:46 ah no, they're useless 2023-04-04 08:52:47 xD 2023-04-04 08:53:08 ~reverse is a directive for [ 2023-04-04 08:53:16 Ah 2023-04-04 08:53:33 reverse is a word, so it would work taking a list from the stack 2023-04-04 08:53:46 oh: 1 2 3 [ # # # ] # reverse 2023-04-04 08:53:47 [[3 2 1]] 2023-04-04 08:53:57 oh: 1 2 3 [ # # # ] # 2023-04-04 08:53:58 [[3 2 1]] 2023-04-04 08:53:59 xD 2023-04-04 08:54:04 oh does not exist 2023-04-04 08:54:11 oh: [ 1 2 3 [ # # # ] # ~flatten ~reverse ] 2023-04-04 08:54:12 [] 2023-04-04 08:54:28 sorry xd I'm rewriting it and it's missing stuff 2023-04-04 08:55:01 Well it's useful to have it, so you can demonstrate your stuff more directly and people can interact without downloading anything 2023-04-04 08:55:17 yeah, but I have to improve it 2023-04-04 08:55:24 mainly protect it about bad usage 2023-04-04 08:55:31 endless loops, file access, etc 2023-04-04 08:55:41 it can execute perl and sh code xD 2023-04-04 08:55:49 you could write a c program and execute it 2023-04-04 08:55:50 Yeah might want to fix that first 2023-04-04 08:56:03 now the lack of documentation protects it xD 2023-04-04 08:56:19 'Challenge accepted' someone just thought lol 2023-04-04 08:56:24 but yeah is handy for demonstrations 2023-04-04 08:56:28 Be careful! 2023-04-04 08:56:39 oh: : // source.line drop ; // this is a comment 2023-04-04 08:56:39 [] 2023-04-04 08:56:47 xD 2023-04-04 08:57:11 also needs to print errors and output 2023-04-04 08:57:18 I can private message it too 2023-04-04 08:57:40 You should log the activity locally so you can see who's messing with it 2023-04-04 08:58:13 nah 2023-04-04 08:58:22 well yes 2023-04-04 08:58:23 xD 2023-04-04 08:58:35 but my main problem is security 2023-04-04 08:58:42 That's part of security 2023-04-04 08:58:45 you can do almost everything 2023-04-04 08:58:51 it's even running as my user 2023-04-04 08:59:45 Wow arbitrary length integers? 2023-04-04 09:00:14 it's perl 2023-04-04 09:00:19 it uses perl data types 2023-04-04 09:00:31 it even has oop which is the perl oop xd 2023-04-04 09:00:40 You should distinguish strings 2023-04-04 09:00:43 in the output 2023-04-04 09:00:47 you are literally creating perl packages and adding stuff 2023-04-04 09:00:57 Can't tell difference between "1" and 1 2023-04-04 09:01:01 yeah, there's a word represent.scalar 2023-04-04 09:01:12 this is what represents numbers and strings 2023-04-04 09:01:20 you can mess with it 2023-04-04 09:01:38 oh: : represent.scalar drop 'haha ; 1 2 3 2023-04-04 09:01:38 [haha haha haha] 2023-04-04 09:01:40 xD 2023-04-04 09:01:48 oh: : represent.scalar ; 2023-04-04 09:01:48 [] 2023-04-04 09:01:52 oh: 1 2 3 2023-04-04 09:01:52 [1 2 3] 2023-04-04 09:02:04 for any type there's a word like that 2023-04-04 09:02:19 or better said, if one of those words exists for a type, it's used 2023-04-04 09:02:28 if not recognized the type represent.unknown is called 2023-04-04 09:03:09 .s uses represent.element which calls all those words 2023-04-04 09:04:04 https://termbin.com/3f5ej 2023-04-04 09:04:11 this is the definition of those words 2023-04-04 09:04:38 .s is using represent.element : .s stack represent.element . cr ; 2023-04-04 09:05:39 oh: [ 1 2 3 ] 2023-04-04 09:05:40 [[wut wut wut]] 2023-04-04 09:05:55 xD 2023-04-04 09:06:09 Is the state shared for everyone? 2023-04-04 09:06:14 the dictionary 2023-04-04 09:06:26 the stack is reset every time 2023-04-04 09:06:39 I was going to have a stack for every channel/user 2023-04-04 09:06:41 but meh 2023-04-04 09:07:04 it has packages and some weird scope 2023-04-04 09:07:14 Do you have any flooding prevention? 2023-04-04 09:07:18 no 2023-04-04 09:07:33 So it will just get kicked if someone gets it to print loads out 2023-04-04 09:07:44 Or banned from the network 2023-04-04 09:07:54 https://termbin.com/509w this is the code of the bot 2023-04-04 09:07:57 I don't know how seriosuly they take that 2023-04-04 09:08:00 written also in the lang 2023-04-04 09:08:17 oh: "hello" 2023-04-04 09:08:17 [wut] 2023-04-04 09:08:24 XD 2023-04-04 09:08:28 Very good! Well my work here is done 2023-04-04 09:08:45 Fun diversion from work 2023-04-04 09:09:15 oh: : represent.scalar drop '42 ; 2023-04-04 09:09:16 [] 2023-04-04 09:09:23 oh: 5 2023-04-04 09:09:23 [42] 2023-04-04 09:09:45 you can make new types and define their representation 2023-04-04 09:10:02 oh: : represent.meh 'hahaha ; 2023-04-04 09:10:02 [] 2023-04-04 09:10:16 oh: 'xd 'meh bless 2023-04-04 09:10:16 [hahaha] 2023-04-04 09:10:31 it's perl oop 2023-04-04 09:11:03 you bless a value, no matter what it is, and ties it to a name 2023-04-04 09:11:15 oh: 1 'meh bless 2023-04-04 09:11:15 [hahaha] 2023-04-04 09:11:24 People were moaning at me the other day for saying I used %n, but this is worse :P 2023-04-04 09:11:35 you can add methods for it 2023-04-04 09:12:11 'meh 'do.something [ " I refuse" ] method 2023-04-04 09:12:20 oh: 'meh 'do.something [ " I refuse" ] method 2023-04-04 09:12:20 [] 2023-04-04 09:12:34 oh: 1 'meh bless -do.something 2023-04-04 09:12:35 [hahaha 42] 2023-04-04 09:12:58 xD that 42 would be I refuse 2023-04-04 09:13:07 but represent.scalar says its a 42 2023-04-04 09:13:18 oh: 1 2023-04-04 09:13:33 I've found out how recursion works 2023-04-04 09:13:37 You might need to kill it 2023-04-04 09:13:52 xD 2023-04-04 09:13:55 you killed it 2023-04-04 09:13:56 :/ 2023-04-04 09:14:13 but yeah it has no tco 2023-04-04 09:15:03 I think you should improve security a little before bringing it back because I don't want to stereotype or anything but a lot of hackers hang out on IRC and enjoy challenges like this 2023-04-04 09:15:16 yeah 2023-04-04 09:15:28 is the first thing you want to do when you see a bot evaluating code 2023-04-04 09:15:44 and it has access to files xD 2023-04-04 09:15:56 Absolute madman 2023-04-04 09:16:17 You're ready to start managing passwords now 2023-04-04 09:16:34 nah, documenting it is what would kill me 2023-04-04 09:16:39 :D 2023-04-04 09:17:17 also the goal is to put it on my phone 2023-04-04 09:17:35 Do you have a hard limit on memory usage? 2023-04-04 09:17:41 I have termux + andronix which makes a fake debian distro and I can install stuff 2023-04-04 09:17:54 no, perl will eat as memory as it needs until there's no more 2023-04-04 09:18:10 well I could limit it in some way I suppose 2023-04-04 09:18:16 Otherwise I can crash your server with one line of code, barely knowing your language 2023-04-04 09:18:17 I'll have to 2023-04-04 09:18:42 yeah, there's almost infinite ways of doing bad stuff 2023-04-04 09:18:56 you can even call gcc and start writing c programs 2023-04-04 09:19:04 also eval perl code and bash xD 2023-04-04 09:19:18 it's mainly a shell 2023-04-04 09:19:23 well it's my shell actually 2023-04-04 09:19:51 Yes but this one method doesn't require understanding much about your language other than what you've already shared today 2023-04-04 09:19:52 you can launch commands for me 2023-04-04 09:20:25 oh: pdf forth.pdf 2023-04-04 09:20:37 haha it was exec 2023-04-04 09:21:14 it opened xpdf 2023-04-04 09:22:29 that seems dangerous 2023-04-04 09:24:09 vms14: Can you send raw \r\n to the TCP stream from the bot? 2023-04-04 09:24:21 Because then you can send any IRC command you want as the bot 2023-04-04 09:24:42 I'm using a module that handles irc for me 2023-04-04 09:24:45 so no idea 2023-04-04 09:24:54 Ah yes security by abstraction :P 2023-04-04 09:24:56 this is in part why I'm not proud of the bot 2023-04-04 09:25:13 the way should be learning the irc protocol properly 2023-04-04 09:25:38 but I'm using a perl module from the language 2023-04-04 09:26:03 and making a package that inherits from it, as it's how the module works 2023-04-04 09:26:28 'Bot::BasicBot use 'bot 'Bot::BasicBot inherit 2023-04-04 09:26:40 makes a bot class that inherits from basicbot 2023-04-04 09:26:48 then I just add methods xD 2023-04-04 09:28:03 https://metacpan.org/pod/Bot::BasicBot that's the module 2023-04-04 09:35:50 Looks like it splits messages up and that sends different lines under different commands 2023-04-04 09:36:20 So as far as I can tell they've escaped it partially, although I don't think they're protecting against sending naughty control characters, null character etc 2023-04-04 09:39:37 :0 veltas do you know perl? 2023-04-04 11:04:34 No I don't know perl but all languages look the same eventually :P 2023-04-04 11:06:04 all c-like 2023-04-04 11:06:31 although perl is a weird c-like 2023-04-04 11:06:32 xD 2023-04-04 13:37:14 I think the first time I read Perl was trying to understand the algoritm irssi's color script used to assign nick colors 2023-04-04 13:38:28 It's one of the weirder ones to read 2023-04-04 13:38:53 I've never tried 'learning' it though, maybe I should. I like awk so it should be right up my street 2023-04-04 13:58:56 I was looking at irssi perl scripting just now, lol 2023-04-04 13:59:18 I was considering if adding bindings to the lang, but meh 2023-04-04 13:59:50 I'm making a way to send files xD 2023-04-04 13:59:54 : send.file client.socket swap [ #file.string ] # ~print* ; 2023-04-04 14:00:16 'ah.oh '127.0.0.1 1424 send.file 2023-04-04 14:01:09 I need to pass stuff to the phone and since they use the same wifi I can use netcat directly to receive files 2023-04-04 14:02:09 i've changed # and now also can execute words 2023-04-04 14:02:45 and it's recursive cause it wasn't working properly with nested lists 2023-04-04 14:03:37 also the reason I learned perl was because I was considering to learn awk 2023-04-04 14:04:07 but saw perl was like the evolution of awk, being able to do what awk does and also being a general purpose lang 2023-04-04 14:04:27 so decided to learn it, and ended being much more useful than what I've expected 2023-04-04 17:09:17 awk is a general purpose lang, kicking and screaming 2023-04-04 17:09:57 veltas: yeah it often is a bit awkward 2023-04-04 20:20:12 ACTION nerdsnipes with https://www.youtube.com/watch?v=dgt1kWq2_7c