00:22:06 [wiki] [[Loader]] N http://esolangs.org/w/index.php?oldid=43856 * SuperJedi224 * (+704) Created page with "'''Loader''' is an upcoming esolang by SuperJedi224, where recursive module loading is the principal mode of recursion and iteration. A load statement loads a module on a cop..." 00:29:25 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43857&oldid=43856 * SuperJedi224 * (-24) 00:38:33 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43858&oldid=43857 * SuperJedi224 * (+346) 00:38:54 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43859&oldid=43858 * SuperJedi224 * (-36) 00:42:08 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43860&oldid=43859 * SuperJedi224 * (+16) 00:43:54 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43861&oldid=43860 * SuperJedi224 * (+62) 00:45:23 "I have time enough to drag you down to meet Nergal with me!!" 00:46:15 it occurs to me that malack clearly expected to go to some afterlife. which means he didn't simply stop existing entirely. 00:46:20 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43862&oldid=43861 * SuperJedi224 * (+4) /* Count down from 10 */ 00:47:30 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43863&oldid=43862 * SuperJedi224 * (+121) /* Example Programs */ 00:47:46 which leads to another shocking prediction: he might show up to help durkon one last time. 00:48:44 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43864&oldid=43863 * SuperJedi224 * (-127) 00:52:27 The caps lock and num lock light on my computer is broken; how can I make it to display on the screen instead? 00:53:13 hezzo38. what kind of OS/WM/DE/GUI are you using? 00:53:15 There is the program "xkbvleds" but I want to put in the status bar where it is displayed the time and system load 00:53:58 I am using OEM Ubuntu Linux, with i3-wm, a custom status bar program, and no desktop environment. 00:55:40 sounds like the sort of custom status bar program you can pipe in stuff from scripts. 00:56:47 It is; I wrote the C program to output the JSON data which i3 uses to display the status bar. 01:03:21 But how can I put the keyboard status display on there? 01:07:23 `unicode UPWARDS WHITE ARROW FROM BAR WITH HORIZONTAL BAR 01:07:36 ...? 01:07:38 No output. 01:07:44 * boily mapoles HackEgo 01:08:49 `unicode U+21EC 01:08:50 ​⇬ 01:08:53 ah! 01:08:58 `unicode U+21ED 01:08:59 ​⇭ 01:09:14 zzo38: something like that, or am I completely misunderstanding your problem? 01:09:43 No I mean how to put it on there. I can use ASCII characters just fine, I mean how to make it even display it there! 01:10:31 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43865&oldid=43864 * SuperJedi224 * (-138) /* "Hello, World!" */ 01:12:52 there's 'xset q' that you can grep for caps/num/scroll lock status? 01:13:18 * boily feels like there's some vital information he's not grasping at all 01:16:41 I hope to do it without making it to execute other programs, because I want to do it per second, or preferably, when the key is pushed only. 01:17:38 lightbulb! 01:18:53 http://stackoverflow.com/a/8429021 ? 01:26:57 -!- edtoast_46 has joined. 01:28:12 please try joining #edtoast .I would greatly appreciate it 01:28:14 -!- edtoast_46 has left ("Leaving"). 01:30:27 -!- boily has quit (Quit: CROISSANT CHICKEN). 01:32:03 -!- grotewold has joined. 01:45:25 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 01:46:25 -!- Phantom_Hoover has quit (Read error: Connection reset by peer). 01:46:26 -!- edtoast_46 has joined. 01:47:24 -!- edtoast_46 has left ("Leaving"). 01:52:11 -!- edtoast_46 has joined. 01:53:06 edtoast_46: i hope you're not advertising that everywhere or your channel may soon be ... you know what. 01:53:43 -!- Leo1 has joined. 01:54:03 where's that swatter when you need it twh 01:54:15 IN A SAFE PLACE 01:55:00 -!- edtoast_46 has left ("Leaving"). 01:55:23 shachaf: you're around. is e spamming generally? 01:55:39 I'm less around than I used to be. 01:55:48 But I haven't seen them elsewhere. 01:55:53 me neither 02:11:27 -!- Leo1 has left. 02:14:28 -!- MDude has changed nick to MDream. 02:18:37 I made up a simple kind of virtual machine and this is one example code that can be used with it: http://sprunge.us/SSbY 02:43:15 is there any valid regex that has no possible match? 02:43:37 izabera: depends on what regex operators you allow 02:44:11 I'm inclined to say no if you're restricted to the usual set, because you can recursively build up a string that matches via taking the first possible option with each operator 02:44:20 but in various sorts of extended regexes it's easy 02:44:34 let's start with the basics 02:44:37 e.g. if you have lookahead or lookbehind you can easily place two contradictory assertions on the same character 02:44:40 (a|b) x* x+ x? x{a,b} 02:44:50 all such regexes have a match 02:44:58 ofc 02:45:06 replace all x* and x? with the null string, x+ with x, x{a,b} with a copies of x, and (a|b) with a 02:45:16 sure 02:45:36 is $^ a valid regex? 02:45:51 depends on the regex parser, I think 02:46:09 many would allow "a^" with no matches 02:46:29 ok 02:49:24 I wish regular expressions supported intersection and complement. 02:51:09 your shell supports extended globs, they're a different flavour of regular expressions 02:52:08 !(a|b) not a nor b @(a|b) a or b +(a) 1 or more a *(a) zero or more a ?(a) zero or one a 02:52:41 What's the complement of /ab/ expressed as a regex? 02:52:51 !(ab) 02:53:13 That is not regex syntax. 02:53:24 oh sorry i misunderstood the question 02:53:41 there's no complement of /ab/ in the classic regex 02:53:48 I'm sure there is. 02:53:50 there's that lookahead thing 02:53:54 It's just awkward to write it. 02:54:07 ^(?:ab)*$ something like this 02:54:25 No, not fancy Perl regex. 02:54:36 OK, I shouldn't say "sure". I think there most likely is. 02:54:38 there's no complement in BRE or ERE 02:54:49 /([^ab]|a[^b]|b)+/ 02:54:50 There's no operator, but you can manually compute the complement. 02:55:05 that doesn't count -_- 02:55:05 er, or maybe 02:55:08 /([^ab]|a[^b]|b)*/ 02:55:21 well, if you're allowing [^] 02:55:27 actually simpler 02:55:30 you could just do a character class containing every single character 02:55:32 and negate it 02:55:34 /([^a]|a[^b])*/ 02:55:40 [^] doesn't give you anything, does it? 02:55:42 [^\x0-\x{10ffff}] 02:55:57 Oh, you're still talking about that. Yes. 02:56:01 (Perl syntax, other regexes use slightly different escape syntaxes) 02:56:07 oren: doesn't match bla 02:56:10 What about /[]/ -- is that valid? 02:56:16 ais523 is talking about the previous question. 02:56:26 /([^a]|a[^b])*a?/ 02:56:42 in terms of negating regexes, I believe it's always possible but often blows them up exponentially 02:56:58 yeah probably 02:57:01 proof: convert regex to state machine; negate state machine (via swapping the success and failure states); convert state machine to regex 02:57:01 I think it might even be double-exponential. 02:57:09 Yep. 02:57:28 Oh, maybe just exponential. Not sure. 02:58:10 my guess is just exponential 02:58:24 well the most basic case is /abcdef/ in which you have 02:58:41 [^abcdef]|a[^bcdef].... 02:58:57 it gets way harder if the regex isn't anchored 02:59:10 try negating .*abc.* 02:59:28 (this came up in #esoteric a few months/years ago, there were tons of attempts at it and they were nearly all wrong) 02:59:34 isn't that the same as /abc/ in terms of what matches? 02:59:49 yes 02:59:54 I was just making the lack of anchors clearer 03:00:52 I once tried to write a regex match function that didn't build a state machine 03:01:09 backtracking is easier to write than the state machine version 03:01:14 but less efficient worst-case 03:01:27 My regular expression was a full match. 03:01:33 no, no data structure at all 03:01:38 ais523: That depends on the worst case. 03:01:56 I mean it simply went character by character through the two strings 03:02:04 I'm not sure which method is more efficient average-case 03:02:11 oren: how does it handle regexes like aab|aac? 03:02:15 Backtracking can handle things like (([ab]{99}){99}){99} better, someone mentioned. 03:02:33 oren: Well, that's the same as the state machine approach. 03:02:40 Assuming you have multiple "cursors" in the regex. 03:02:48 no only one 03:02:51 And you split when you see | and so on. 03:03:00 OK, then it sounds like backtracking. :-) 03:03:24 yeah except way more inefficient than most implementations 03:03:26 I feel like "backtracking vs. NFA" is a continuüm, not a choice of one of the other. 03:04:06 ooh, correctly used diaeresis 03:05:23 The NFA approach to regular expressions is like dynamic programming. You have a graph that you walk one step in each time you see a character, but when two paths through the graph reach the same node, you collapse them. 03:05:49 The backtracking approach keeps the full path, which means you can use backreferences and so on. 03:07:31 But maybe you can keep some amount of state associated with a node, but still not have it be the full path used to reach that node. 03:08:26 try negating .*abc.* <-- your approach (convert to state machine, negate, convert back) would work fine, wouldn't it? 03:08:42 mauris: yes, but it's really hard to do in your head 03:08:54 I'm not claiming it's impossible (it's definitely possible) 03:09:04 just that nearly all the attempts at it in practice get it wrong 03:09:06 oh, sure 03:09:21 I think I eventually came up with a correct solution, but after something like ten failures 03:09:40 OK, I think regexes that support intersection and complement need an double-exponential number of states. 03:09:57 As opposed to just exponential, for regregexes. 03:10:13 (DFA states, I mean.) 03:10:43 But it would be so useful that I'm annoyed that there are hardly any implementations around. 03:10:58 shachaf: regex inversion, or regex-to-DFA? 03:11:23 regex-to-DFA 03:11:28 hmm, I wonder if anyone's build a regex impl using yacc 03:11:35 regexes are a special case of context-free grammars, after all 03:11:37 The problem is that (P&Q) is multiplicative rather than additive. 03:17:48 isn't P|Q also multiplicative, in the general case? (you mean in # of DFA states, right?) 03:20:13 It's additive in the number of NFA states. 03:21:34 `? mauris 03:21:37 maur is the correct spelling 03:22:00 oh, sure 03:22:22 i said that three lines ago too, help am i a robot?? 03:24:23 relatedly i'm TAing a class on finite automata and regular expressions, and i get to come up with multiple choice questions for the exam! 03:24:43 They have multiple choice questions in .be? 03:24:54 I thought those only existed here. 03:26:13 super easy to grade, i guess 03:26:23 ("so easy a DFA could do it") 03:27:17 mauris: Does your class talk about how to implement intersection and complement efficiently? 03:30:44 mauris: are you a deterministic finite robot 03:31:21 `learn Robots are deterministic finite Belgians that repeat themselves. Taneb invented them. 03:31:27 Learned 'robot': Robots are deterministic finite Belgians that repeat themselves. Taneb invented them. 03:31:50 can you help meh? ;-; http://arin.ga/R4N7lx/raw why does this not match a(b|c)d ? 03:32:20 i'm trying to match regex with regex 03:33:16 izabera: the regex language you're using is insufficiently powerful to nest parens 03:33:31 so I already know that whatever you've come up with is wrong 03:33:50 thanks for the hint, i know that 03:34:04 i don't plan to match recursively only with regex 03:35:55 ah! i found it! 03:37:06 it needed an extra group (\|x|y) -> (\|(x|y)) 03:37:08 -!- dramforever has joined. 03:49:47 oerjan: 20:46 -!- edtoast_46 [~Brandon@2602:306:3876:370:9dbe:f358:9656:99fc] has joined #haskell 03:49:50 hth 03:51:44 did e mention eir channel 03:52:09 a different channel with a certain five-character substring hth 03:52:36 hi there =) 03:53:08 `relcome dramforever 03:53:08 I'm trying to design a code golf PL using Chinese characters 03:53:10 ​dramforever: Welcome to the international hub for esoteric programming language design and deployment! For more information, check out our wiki: . (For the other kind of esoterica, try #esoteric on EFnet or DALnet.) 03:53:26 Yes I know there exists some 03:53:41 but I'm kinda having fun reinvening the wheel 03:54:01 just as long as you don't make it a round wheel, they're so old hat 03:54:13 hmm... 03:54:23 i've never heard of a round wheel being used as an old hat hthib 03:54:38 I'm pretty sure some common unicode symbols + Chinese could beat APL easily 03:56:14 how many characters are there? 03:56:47 dunno, but surely a lot 03:56:58 I'll make all operations one-char 03:56:59 > maxBound :: Char -- hth 03:57:01 '\1114111' 03:58:03 https://en.wikipedia.org/wiki/Plane_%28Unicode%29 wtf 03:58:06 shachaf: apparently "wheel hat" is a disappointingly unrelated thing. 04:00:09 um 04:00:25 ok so there are 1,114,112 valid characters 04:00:30 looks like the majority of the BMP is Unified CJK Han 04:01:18 Chinese characters are so sophisticated that a character is basically a word 04:01:21 build a huge lookup table with as many combiantions as possible of these: ><+-.,[] 04:01:57 izabera: why don't you just code in brain***k and 7z your code or something 04:03:08 No, there aren't 1114112 code points in Unicode. 04:03:43 "The 17 planes can accommodate 1,114,112 code points[...]" from that page 04:03:55 and lambdabot knows it 04:04:11 Maybe they could, but they don't. 04:04:20 Not every number between 0 and 1114111 corresponds to a code point. 04:05:23 For example 0xD800 - 0xDFFF 04:05:33 -!- Wright has quit (Read error: Connection reset by peer). 04:05:45 -!- Wright has joined. 04:06:29 boring <.< 04:06:50 -!- dramforever has quit (Ping timeout: 272 seconds). 04:07:16 -!- dramforever has joined. 04:07:38 -!- oerjan has quit (Quit: Nite). 04:08:28 -!- edtoast_46 has joined. 04:09:01 -!- edtoast_46 has left ("Leaving"). 04:09:13 Join #ToastIRC Today 04:09:49 ooh, it's our first -n spam 04:10:30 -n? 04:10:42 shachaf: channel mode that lets people not in the channel send to it 04:10:48 (look at the timing of the part versus the message) 04:10:54 Oh, the channel mode. 04:11:03 we had a debate a while back about whether -n would increase the amount of spam we got 04:11:22 -n is great because it confuses you about whether HackEgo is in the channel. 04:11:32 that was months ago, this is the first spam we've got 04:19:50 (Warning: nand2tetris spoilers) my assembly code could probably be clearer, maybe some newlines: http://pastie.org/private/lbxz7yz6d5fqe2kavpgq 04:20:05 nan2dtetris has spoilers? 04:20:06 -!- edtoast_46 has joined. 04:20:19 -!- ChanServ has set channel mode: +o ais523. 04:20:21 -!- ais523 has set channel mode: +b edtoast_46!*@*. 04:20:22 -!- ais523 has kicked edtoast_46 spammer. 04:20:23 If you consider project solutions to be spoilers 04:20:25 -!- ais523 has set channel mode: -o ais523. 04:21:00 http://arin.ga/DFEDo3/raw uhm can you try to run this? what am i doing wrong? in the second example i want to keep b\|c together 04:21:00 hmm...idris-bot is here 04:21:01 why? 04:21:11 To run Idris code. 04:21:16 Or maybe type-check it. 04:21:19 that's not very...esoteric 04:21:24 -!- Frooxius has joined. 04:22:10 * dramforever feels great so far 04:22:16 there's this satan.spawn() function in the idris standard library 04:23:25 -!- Froox has joined. 04:25:28 -!- Froo has joined. 04:26:30 -!- Frooxius has quit (Ping timeout: 255 seconds). 04:28:21 -!- Frooxius has joined. 04:28:45 -!- Froox has quit (Ping timeout: 255 seconds). 04:30:02 -!- Froox has joined. 04:30:38 -!- Froo has quit (Ping timeout: 265 seconds). 04:31:06 -!- dramforever has quit (Ping timeout: 240 seconds). 04:32:45 -!- Wright has quit (Ping timeout: 256 seconds). 04:33:14 -!- Frooxius has quit (Ping timeout: 246 seconds). 04:34:59 -!- Froox has quit (Ping timeout: 246 seconds). 04:35:38 -!- Froox has joined. 04:41:37 whoa, there are all sorts of different types of grapes 04:42:36 -!- Froox has quit (Ping timeout: 244 seconds). 04:42:53 -!- Froox has joined. 04:44:59 -!- Froo has joined. 04:47:31 -!- grotewold has joined. 04:47:59 -!- Frooxius has joined. 04:48:03 -!- Frooxius has quit (Read error: Connection reset by peer). 04:48:31 -!- Froox has quit (Ping timeout: 265 seconds). 04:48:48 -!- Frooxius has joined. 04:49:08 -!- Frooxius has quit (Read error: Connection reset by peer). 04:50:27 -!- Froo has quit (Ping timeout: 265 seconds). 04:53:14 mauris: Does your class talk about how to implement intersection and complement efficiently? <-- sadly, no; it talks about making the DFAs you end up with efficient through state elimination but the algorithms to get there are all naive 04:53:49 if you want to make ais523 ooh or aah, you can say naïve hth 04:58:54 -!- Frooxius has joined. 05:00:44 -!- Froox has joined. 05:03:20 -!- Frooxius has quit (Ping timeout: 246 seconds). 05:15:35 shachaf: 05:15:50 you'd have to ask a wine-lover about grapes 05:16:19 apparently they make wine with grapes that taste like other fruit or something 05:20:11 These grapes taste like delicious grapes. 05:20:15 Is that a kind of fruit? 06:20:27 You discuss whether -n would increase the amount of spam you got. Although you got the spam with the -n it still doesn't make much difference because they did join anyways! So, it is a bit strange kind of a example, kind of. 06:21:17 yes, it's not the sort of -n spam I expected 06:21:24 -!- Daniel01 has joined. 06:21:27 they joined, then parted, then sent the message 06:22:23 Yes 06:22:54 -!- anonymous777 has joined. 06:22:59 -!- Daniel01 has left. 06:23:01 Well, how else would they know that the channel is -n? 06:23:14 With the MODE command 06:23:40 hola 06:24:04 There is no even #ToastIRC channel as far as I can see (MODE tells me no such channel) 06:24:46 -!- Daniel01 has joined. 06:25:19 aski 06:25:27 -!- Daniel01 has left. 06:25:51 -!- anonymous777 has left. 06:26:08 ciao 06:26:10 !list 06:44:55 Remember: Make every program a filter! 06:46:03 even if i 'ardly know 'er? 06:46:14 What is a filter? 06:47:15 A UNIX-style-filter, where it uses stdin/stdout so you can use it with pipes and redirection and so on. 06:47:40 zzo38: what's your opinion of NetHack, in that respect? 06:47:41 A lot of modern programs don't, but ought to, in my opinion. 06:47:46 it takes input from stdin and produces output on stdout 06:48:03 but it also uses other files of its own, and generates and loads save files 06:48:15 and if stdin (or maybe stdout?) is not a terminal it refuses to run 06:48:16 Well, it is reasonable to do that in that case, to use stdin/stdout and various files 06:48:30 Although it ought to work even if they are not a terminal 06:48:39 What's your opinion of programs that seek in stdin, or mmap it? 06:48:45 So that you can use filters to make macros and character conversion and so on 06:49:08 shachaf: Normally it shouldn't, you should try to avoid it. But sometimes it seems like necessary anyways 06:50:12 But you could just use a file and make a `...` to capture a temporary filename perhaps, in the command-line argument, then it won't be a problem to be seeked even if it is a pipe. 06:50:15 zzo38: I think that shells shouldn't have < and > 06:50:22 Instead, there should be commands to read from files and write to files. 06:50:32 shachaf: Yes, you could do it without; use cat to read and make another program to write 06:50:37 shachaf: there's ready a command for reading from a file 06:50:39 You would use readfile f | filter | writefile g instead of filter < f > g 06:50:49 also, tee can be used to write to a file but it also copies output to stdout 06:50:51 ais523: I didn't say there wasn't. 06:50:56 Yes, tee works. 06:51:03 shachaf: I know, I'm trying to help you implement your idea 06:51:05 Sort of. 06:51:19 The other issue is that going through a pipe can be inefficient. 06:51:24 I'm not sure how to solve that. 06:52:27 If they are shell-builtins, that might solve it 06:52:36 The point is that they aren't shell builtins. 06:52:53 But maybe a different API would let you attach a file descriptor directly to a pipe. 06:53:41 Yes, I know it isn't, but if they are just shell-builtin command called < and > then it can still be use with syntax of pipe to be consistent even though it isn't 06:53:43 this reminds me of revcat 06:53:53 which I'm not sure I ever got working 06:53:56 it pipes its stdout to its stdin 06:54:01 I also want it to be easy to write to the network and so on. 06:54:13 Right now bash implements TCP sockets as a shell builtin or something, which is ridiculous. 06:54:24 so you can do revcat < a.txt | revcat | revcat >> b.txt, and it copies b.txt to a.txt 06:54:38 You can also write | tee (> nc ...) | ... in bash, or somehting along those lines. 06:54:39 also I think bash implements TCP sockets as a fake device file 06:54:49 Yes, that's what I meant. 06:54:56 For TCP connect you could use netcat, it probably shouldn't be a shell built-in 06:54:57 ais523: Another command that writes stdin to a file is sponge. 06:55:13 But I think sponge does it delayed? Sometimes this is useful though 06:55:17 I think sponge's behavior should just be an option to the command that writes a file. And so should tee's behavior. 06:55:46 But not so good if you want to write immediately, such as may be useful if you are writing to a device. 06:55:59 The point of sponge is that it's delayed, because people rely on the shell when they don't want it delayed. 06:56:31 hmm, /me looks at sponge 06:56:39 there are some other interesting-looking programs in the same package 06:56:47 Yes, I know, it is the point sometimes is useful for delayed but sometimes when it isn't. 06:57:04 Yes, that package has all sorts of jams. 06:57:53 oh, sponge seems to be designed for atomic output 06:58:00 Yes, that's the point of sponge. 06:58:11 cat file | sed ... | sponge file 07:00:31 -!- aretecode has quit (Read error: Connection reset by peer). 07:00:32 It can be useful for use with hamarc too I suppose, if you want to delete a lump from a Hamster archive for example 07:00:58 sponge is a terrible idea... 07:01:34 The people who invented cat apparently think that concatenating files is its main use and displaying them is secondary. 07:02:14 x | y | z <- z starts writing when it receives EOF, which means that y is not writing anymore to the pipe, but x can still be active and doing stuff with that file 07:02:32 be doing stuff* 07:02:52 shachaf: I think they are both primary (although the -v option still ought to be a separate program in my opinion) 07:03:24 The primary feature is to copy zero or more files, and possibly stdin, to stdout. 07:04:11 zzo38: Should grep mmap stdin if it's a file? 07:04:29 gnu grep used to mmap it 07:05:05 https://lists.freebsd.org/pipermail/freebsd-current/2010-August/019310.html 07:05:06 I don't know 07:07:30 zzo38: Do you think programs should check if stdout is a terminal and behave differently? 07:08:53 shachaf: Depends on the program I suppose, but even then probably there should be the way to override it (even if it is a different program which is used to override it; for example cat changes it into a non-terminal, and perhaps another program could be made to do the opposite) 07:18:58 Many of my program I have written is filter, including "hamarc", "bamtovgm", "amigamml", "playmod", "xisynth", "utftovlq", and others. 07:20:03 (You can even do a "echo | amigamml | playmod | aplay" pipeline in order to preview a .XI file, although the .XI already has to be in a (seekable) file for this to work.) 07:23:01 I would want also .NSF player that is acting as a filter program, but one program execute the .NSF and puts the register writes to stdout (although it still has to process some registers internally due to the .NSF program can read status of some registers), and another program will process the register write data into audio, and then you use a third program to output the audio to the speaker (or compress it into Vorbis or whatever). 07:33:37 -!- AnotherTest has joined. 07:34:09 -!- AnotherTest has quit (Client Quit). 07:35:32 Therefore you can replace the parts easily with other stuff, such as instead of rendering the register writes to audio you can make it convert to .VGM or speed up or slow down or transpose the music or replace the renderer with an experimental one or wire it to an actual Famicom cartridge or put a program that tries to make up a optimized .NSF that produces the same output, or something else. 07:39:20 You could also replace the first part with netcat or with the reverse conversion of .VGM or some other format, or to read MIDI input, etc. Even, the last part you can add special effects, write to a compressed file, etc 07:39:37 -!- mauris has quit (Ping timeout: 265 seconds). 07:46:54 Do you like this? At least I believe it is good idea 07:47:27 I don't know about NSF or VGM formats. 07:50:12 The NSF format is a file that contains a 6502 program to write registers for various sound chips used with Famicom. VGM is one format that is used to record the register writes for many different kind of sound chips. 08:04:36 -!- tromp has quit (Ping timeout: 264 seconds). 08:25:20 -!- J_Arcane has quit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]). 08:30:28 -!- J_Arcane has joined. 08:34:28 -!- Walpurgisnacht has joined. 08:45:04 -!- Walpurgisnacht has quit (Quit: Waka flaka). 08:45:22 -!- zadock has joined. 08:47:10 -!- Skin has joined. 08:48:38 -!- J_Arcane has quit (Quit: ChatZilla 0.9.92-rdmsoft [XULRunner 35.0.1/20150122214805]). 08:52:47 -!- Skin has quit (Quit: Fuck me). 08:53:13 -!- Walpurgisnacht has joined. 08:53:26 -!- dramforever has joined. 08:55:58 -!- zadock has quit (Quit: Leaving). 09:08:24 -!- llue has joined. 09:10:46 -!- lleu has quit (Ping timeout: 240 seconds). 09:43:52 https://github.com/izabera/reggen/blob/master/reggen first attempt at regex parsing with regex... for those who said that it's not possible... 09:47:04 -!- dramforever has quit (Read error: Connection reset by peer). 09:54:27 i don't understand :P 09:54:55 it takes a regex and prints a string that matches it 09:55:09 ok, and who said that was impossible? 09:56:39 ais523 | izabera: the regex language you're using is insufficiently powerful to nest parens 09:56:41 ais523 | so I already know that whatever you've come up with is wrong 09:57:10 that sounds like a different problem 09:57:16 I guess the difference is that you're running a regex in a loop, so it's not a regex any more? 09:57:34 >.> 09:58:08 the usual way of writing down regular expressions is not a regular language 10:06:05 -!- grotewold has quit (Quit: My Mac has gone to sleep. ZZZzzz…). 10:08:33 -!- Walpurgisnacht has quit (Remote host closed the connection). 10:27:55 -!- |f`-`|f has quit (Ping timeout: 246 seconds). 10:28:28 -!- |f`-`|f has joined. 10:48:01 -!- boily has joined. 10:51:17 `` sed -i 's/the reals,/the reals, robots,/' wisdom/tanebventions 10:51:26 sed: can't read wisdom/tanebventions: No such file or directory 10:51:48 `` ls wisdom/*anebv* 10:51:49 wisdom/tanebvention 10:51:53 `` sed -i 's/the reals,/the reals, robots,/' wisdom/tanebvention 10:51:55 No output. 10:52:14 `? robot 10:52:16 Robots are deterministic finite Belgians that repeat themselves. Taneb invented them. 10:58:54 hellint-ello. 10:59:07 I moved the tanebventions over to a new chapter. 11:04:08 * int-e checks the repo 11:34:13 -!- ais523 has quit. 11:40:17 -!- boily has quit (Quit: PANAMERICAN CHICKEN). 11:43:58 `` echo hi 11:43:58 hi 11:44:13 it allows arbitrary commands? :/ 11:47:02 yea, but it's sandboxed and under version control 11:47:08 That is how it works yes (although there are limits and sandbox and so on) 11:47:34 what kind of sandbox ooi 11:51:12 `` uname -a 11:51:13 Linux umlbox 3.13.0-umlbox #1 Wed Jan 29 12:56:45 UTC 2014 x86_64 GNU/Linux 12:07:00 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43866&oldid=43865 * SuperJedi224 * (-4) 12:13:39 Linux puppypc1015 3.9.11 #1 SMP Sat Jul 27 19:40:54 GMT-8 2013 i686 i686 i386 GNU/Linux 12:13:56 32 bit 4eva 12:14:42 or at least until purolator decides to deliver my damn computer 12:15:07 sorry, but 4GB address space simply aren't enough. 12:15:23 mine has only 2GB 12:15:52 (and the kernel takes between 0.5 and 2GB of that address space away for itself...) 12:16:50 if linux gets too bloated maybe I'll get minix or freebsd 12:16:59 32 bit 4eva 12:17:55 actually I have no clue whether the freebsd kernel is bigger or smaller 12:18:44 Is it possible to get gzip(5) manual page, or is only gzip(1) available? 12:19:41 -!- Trioxin has joined. 12:20:40 you're saying you want to know about the file format? 12:21:03 Yes, I would want the man page of the file format 12:21:20 how the hell did i wind up here 12:21:42 http://www.redblobgames.com/articles/visibility/ cool thingy 12:21:46 Trioxin: a series of bad life choices 12:22:12 Trioxin: Just because it does; that's all. 12:22:21 presumably you wanted to write unnecessarily complex solutions to simple problems for the sake of fun? 12:22:22 I guess you could convert RFC 1952 to a manpage 12:22:35 so brainfuck stands at the pinnacle of these languages? 12:22:55 brainfuck is too simple 12:23:24 which (if any) are actually useful? 12:23:39 Trioxin: Useful for what? That is what it need to depend on! 12:23:40 fungot: are you useful? 12:23:40 int-e: ( i'm not familiar with the repl, but 12:23:43 brainfuck, befunge-98, dc, and funciton are my favorites 12:24:08 fungot is written in befunge 12:24:08 oren: little kids should not be reached" etc. is that where your family is too?) and there i have to admit 12:24:29 it just vomits random quotes <.< 12:24:29 oren: dc the calculator? 12:24:38 they're not quotes 12:24:43 (most of the time) 12:24:52 ^help 12:24:52 ^ ; ^def ; ^show [command]; lang=bf/ul, code=text/str:N; ^str 0-9 get/set/add [text]; ^style [style]; ^bool 12:24:55 ok it just vomits something that looks like random quotes 12:24:57 (fungot is a bot who normally responds when spoken of but seems to be offline right now) 12:24:57 oren: i don't know how to switch keyboard leds in c? _o. 12:25:09 ^rerere and fungot does other things as well 12:25:09 anadna dnf duf nufgnuogntog tod tod eodseo seo sto htoehtreh ret rht ihtnihgnisgn sga ssa saw sew lewllelll 12:25:20 oren: unignore it 12:25:31 anyway also i use dc at my work on a regular basis for calculating bitfields 12:26:21 does ed count as an esoteric language? 12:26:23 oren: i am surprised by brainfuck 12:26:23 ed the editor 12:26:24 I sometimes use dc to calculate stuff 12:26:37 so befunge-98, dc are both actually useful 12:26:38 izabera: I don't know, maybe TECO does instead? 12:27:19 zzo38: i wrote this yesterday to delete the trailing empty lines: ?.?+,$d is it esoteric? <.< 12:27:33 I don't know. 12:28:26 it's not turing complete... :C 12:28:29 Is it possible to make vim to not use the alternate screen buffer when it is in ex mode, and use alternate screen only for vi mode? 12:28:40 -!- oren has quit (Quit: leaving). 12:28:59 uhm why? 12:29:14 -!- oren has joined. 12:29:26 oren: fungot 12:29:26 izabera: why does. have a happy one then :) seems ok 12:29:46 hmm 12:29:54 Some things may be disputed and argue if it is esoteric programming, including dc and FurryScript and a few others? 12:30:16 wow there are a ton of these langs. are any actually suitable for making any manor of general purpose applications? 12:30:18 i dunno dc is pretty much line noise 12:30:39 Trioxin: befunge-98 definitely is 12:30:52 ^source 12:30:52 https://github.com/fis/fungot/blob/master/fungot.b98 12:31:09 that's the source of fungot in befunge-98 12:31:09 oren: x1 x2 x3) instead of ( truncate 1.1) i want it 12:31:54 I still like dc for a kind of desk calculator I suppose like 12:32:05 Trioxin: well someone wrote an irc bot in brainfuck, not sure if that counts... https://github.com/SirCmpwn/bf-irc-bot/blob/master/irc-bot.bf 12:33:51 Yes, such things are possible. 12:34:00 lol befunge-98 looks like something already processed 12:34:17 or perl 12:35:49 well, I can say that this is the first time since I was 9 that I looked at a programming language and saw gibberish 12:36:00 Trioxin: it's a two-dimensional language with one-character commands. control flow proceeds across the text in any direction 12:36:11 did you ever saw malbolge code? 12:37:16 weirdness 12:37:49 there should be a category on the wiki for languages with file and network IO capabilities 12:37:53 Other ideas can be like befunge but different kind of geometry or different number of dimensions; there are some other multidimensional esolangs too 12:37:56 is funcitonnfeatured yet? 12:38:17 oren: Yes maybe it should be, in case of any ones. 12:38:41 funciton is a good one to feature 12:38:44 i actually came here after searching around considering a new programming paradigm to learn 12:38:59 well ... 12:39:06 do you know haskell? 12:39:13 out of curiosity. i don't think I would use any of these 12:39:22 no I don't know haskell 12:39:30 go learn it 12:39:37 why 12:39:58 another good one to learn is assembler 12:40:13 `? mips 12:40:14 MIPS Is Popular in Schools. 12:40:32 what about pips 12:40:36 I know 6502 assembly programming 12:41:08 i know enough nasm to actually write stuff 12:41:44 Do you know Forth programming? 12:41:50 x86 (outdated), AVR... 12:41:56 Do you know 6502 assembly language programming? 12:42:08 i've not seen funciton before 12:42:25 funciton id beautyful 12:42:35 I don't. I mean I've read a bit of code, but I need an instruction reference to do that. 12:42:36 i want to write a compiler for it 12:43:37 I use mostly procedural, oop, and some functional if you count c# and c++. I've been considering things like haskell, lisp, python. sometimes it's difficult to group languages into paradigms. some hybrid would be nice 12:43:52 well, oop doesn't have to be procedural 12:44:25 how the hell is c# or c++ functional? 12:44:50 also: rust is a nice serious language 12:44:51 c++11 is 12:45:08 nice? 12:45:17 oh, functional. 12:45:17 they have some functional attributes 12:45:43 template programming has been sort-of-functional all these years 12:45:53 ew 12:46:53 i thought a new paradigm or some hybrid might excite my imagination in machine learning applications 12:47:18 or help me write less code 12:48:03 how come haskell is much more popular than curry? 12:48:24 for instance functions/code being treated as a data type 12:48:41 i know there's always eval functions but still 12:48:48 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43867&oldid=43866 * SuperJedi224 * (+41) 12:49:02 Trioxin: prolog or lisp? 12:49:08 or easier ways of inference 12:49:16 [wiki] [[Loader]] http://esolangs.org/w/index.php?diff=43868&oldid=43867 * SuperJedi224 * (-41) 12:49:48 prolog seems a bit antiquated. lisp is old but still has a lot of contribution 12:49:54 and idk what to make of python 12:50:24 i tried to get into D but there's just not enough code out there to play with 12:50:38 I have used many different programming languages including BASIC, SQL, Forth, TI-92, and others including ones I invented by myself for various purposes 12:50:44 there is a saying in the rust channel 12:51:11 D is for C++ developers that like C++ and Rust is for C++ programmers that hate C++ 12:51:58 I prefer C 12:52:52 sometimes though, I yearn for the simple days of Visual Basic 6 12:53:16 I have used VB6 as well 12:53:22 dito 12:53:29 i didn't like it, though 12:53:30 it's interesting how everyone got by without libraries in the olden days 12:53:32 i always hated vb 12:53:50 the only nice thing about vb is the with keyword 12:54:16 they should make a IDE like VB for Python tk 12:54:38 and i do think the most hilarious one is "ON ERROR RESUME NEXT" 12:54:50 where you can drag and drop to create dialogues 12:55:32 that IDE made it simpler to write a GUI than a CLI 12:55:55 indeed 12:56:31 There's that generalised variant of "ON ERROR RESUME NEXT" where you register a segfault/etc handlers that just skip the faulting instruction, maybe setting some result registers to zero. 12:56:49 No more crashes. 12:57:13 these days I make cross platform programs in HTML5 (node-webkit) and do backend heavy lifting in native languages where necessary 12:57:27 Once (in year 2000 actually) I made a program in GWBASIC to allow making program in GWBASIC without line numbers, but you can add line labels into some lines. 12:57:40 But mostly these days I prefer to write program in C 12:58:00 that way I can port lots of code to mobile via cordova/phonegap 12:58:48 I generally write command-line programs though; they are generally better than GUI 12:59:10 command line is good. ncurses is better 12:59:14 i write a lot of CLI as well but mostly for server-side 12:59:29 That's why I wrote AmigaMML; I couldn't find any better program to make .MOD/.XM musics 12:59:40 server with command line and ncurses clients is best 13:00:16 i usually make web interfaces 13:00:25 though ncurses is cool 13:00:53 I prefer to use command-line for both server and clients (as well as the standalone programs which don't use a server and client, which would be most of them) 13:02:23 I'm talking about programs for consumers. i've only rolled one for sale that was CLI 13:02:34 for the client 13:03:05 for users the best option these days is indeed usually a web service, 13:03:36 yeah. even when I make a desktop app I always do most of the work server-side. no stealing 13:03:44 but only because Java is such a painful language to use 13:03:45 Wrappers with GUI or whatever can be done, but better computer programming design should be with command-line program in the general 13:04:09 no stealing... 13:04:09 and python/perl don't really work on windows 13:04:40 stops piracy 13:05:06 py works on windows 13:05:22 i don't code in it but i've seen windowing apps in it 13:05:24 Trioxin: how many people have python installed though 13:05:32 I prefer to make it local, it is faster, it can be use even if you do not have internet connection on that computer, and you can modify the program if needed to, and also privacy if that is also what you wanted 13:05:38 they don't have to have py installed 13:06:04 Some programs is useful to use by internet, such as email for example, but most don't 13:06:05 there are bundlers you could call compilers 13:06:17 oh? is there a .py compiler for win64 I don't know about 13:06:47 oh just a bundler. lame 13:07:03 there's a PHP compiler for .net 13:07:09 phalanger 13:07:19 PHP?!! NOOOOOOOOOO 13:07:48 PHP is cancer in the bones of the internet 13:08:12 php is fine these days whereas it used to be a disaster 13:08:28 I did write this IRC client in PHP, and also wrote FurryScript in PHP, but later may redo them in C possibly 13:09:07 oh it's fine... if you like horrible inconsistency and type autoconversions 13:09:31 a lot of languages have type casting 13:09:43 D even has it 13:09:44 type casting is one thing 13:09:58 autoconversions are something very different 13:09:58 Actually there is many bad thing with PHP; I don't like it much 13:10:06 auto somevar = "sfsdfs"; in D 13:10:42 there are some bad things but the security concerns of old are no longer present as far as I'm aware 13:10:51 I'm talking about when you pass a string to a function expecting a number, and it converts it 13:11:00 rather than throwing an error 13:11:13 that wouldn't happen 13:11:39 unless you did it wrong 13:12:03 PHIRC and FurryScript aren't even webapps (although FurryScript supports being wrapped with another PHP file that is used on a webpage) 13:12:07 treat it as a string, its a string 13:12:07 -!- Patashu has quit (Ping timeout: 260 seconds). 13:12:07 in php, $a == $b && $b == $c && $a != $c is possibly 13:13:00 Yup 13:13:12 At my previous job that could happen in prod 13:13:31 caused hard-to-find bugs 13:13:39 !== evaluates type 13:13:51 i know that 13:14:15 Trioxin: yes, the solution was to replace a lot of == and != with === and !== respectively 13:14:15 the question is: why is == and != even there? 13:14:40 the answer is of cojrse shitty legacy code 13:15:16 At least Perl has separate string and number compares, as does Bash 13:15:44 error_reporting(E_STRICT|E_ALL); 13:16:19 but I won't go far into defending php. it's useful to me though 13:16:39 oh it is useful 13:16:45 but horrible 13:17:05 https://blog.whitehatsec.com/magic-hashes/ -- I like the term "magic hash" 13:17:07 I prefer programming in C and SQL though, if it can be used 13:17:21 oren: Yes, I think so 13:17:35 I wrote the CGI code in my website in bash and C 13:18:42 WWW is a mess. 13:18:52 horrible is a bit of an overstatement depending on use-case. I've written thousands of lines in a project with no problems. Javascript seems to be expanding enormously to try to do everything now though and I find myself writing a lot of it. I still refuse to use node server-side though. 13:19:47 I find JavaScript is better programming language than PHP, although I don't like using it for webpages 13:19:52 which sounds terrible (writing desktop apps in javascript) but it's really not with things like webgl, webcl, webrtc 13:20:30 and like I said when I use nw.js if I need heavy lifting on the backend of the app just write some native code 13:21:14 javascript is better but still bad. the fact that you need all these libraries that get downloaded over and over again from every website is proof of crappiness 13:21:25 nothing is easier for a GUI. you basically make a responsive web site in the style of a program and you've got both a desktop and mobile app 13:22:16 oren, libraries downloaded over and over? 13:22:59 libraries are downloaded once with npm and executed locally 13:23:09 I generally prefer to make command-line program though; it is a much better way of working the computer, especially if it is the UNIX command-line rather than the Windows command-line. 13:23:15 yes. Jquery, jquery-ui, angular-js etc. each one, each programmer puts a minifd version of it on their own server, which is independent of the copied on every other server 13:24:00 [wiki] [[REGXY]] http://esolangs.org/w/index.php?diff=43869&oldid=41343 * 190.23.223.48 * (-19) The generated source code of the implementation reads form STDIN and prints to STDOUT. 13:24:22 so hundreds of identical jquery.min.js files end up being downloaded 13:24:47 which is why I use a javascript whitelist 13:25:09 that's the nature of using a library 13:25:13 no. 13:25:28 unless you want to blame the browser 13:25:40 the nature of using a library (in normal languages) is that the same .so file is used by many programs 13:25:53 (or .dll on windows) 13:25:57 Even with command-line program you can do the programs over the internet, such as with nc and curl and ssh 13:26:02 same goes for JS 13:26:53 download jquery, include in project, get's executed in implementation 13:27:26 I use sprunge for pastebin service since it can be use by command-line and doesn't need to use web-browser (although it can be used with web-browser too) 13:27:29 zzo38, I've done that before 13:27:31 but on the user's system, he has 50 jquery.min.js files in the broswer cache 13:28:22 oren, I suppose that's true and the fault of the browser if it isn't hashing the cache and reusing the files but I'm talking about JS for desktop and mobile apps 13:28:38 whereas he only has one, for example zlib.so 13:29:48 -!- tromp has joined. 13:29:59 Trioxin: if a user has several apps made by you, do you reuse the same jquery.js file for all of them 13:30:04 oren, that is one thing that I don't like about browser implementations of javascript. some libs are so used they should probably be distributed with the browser but the browser cache can be hashed as to not redownload the same files 13:30:15 Synchronet door programs can also be written in JavaScript (it also supports door programs written in DOS for compatibility) 13:31:14 ideally there should be a browser extension for chrome or mozilla that has a tag like <> 13:31:21 oren, I could do that 13:31:29 do I? no 13:31:47 Trioxin: No, the real problem is that webpages use a lot of JavaScripts and other stuff 13:32:07 would be extra coding for something of little consequence in terms of a desktop app 13:33:05