00:08:44 -!- mihow has quit (Quit: mihow). 00:15:12 Wasn't there a clever way for commands to be both kinds of things? <-- yes 00:15:41 `` yes # tndh hth 00:16:10 `echo hi 00:16:11 hi 00:16:38 `` ls bin/*arg* 00:16:40 bin/print_args_or_input 00:17:26 shachaf: I'm surprised we didn't get an infinite stream of y from your yes 00:17:36 `` yes | head -n 100 00:17:37 y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y \ y 00:17:43 ais523: maybe it's still running 00:17:50 i put a ^O in the beginning because I didn't want to spam the channel hth 00:18:07 `fiendish 00:20:20 -!- callforjudgement has joined. 00:22:29 http://function-of-time.blogspot.com/2009/04/pattern-does-not-hold.html is moderately fiendish hth 00:22:41 -!- ais523 has quit (Ping timeout: 244 seconds). 00:22:52 -!- callforjudgement has changed nick to ais523. 00:26:14 @tell boily tldr: int-e and ais523 managed to get `! c-intercal in HackEgo working; then elliott broke ais523 by imagining donald knuth coming to this channel looking for the other kind of esoteric then int-e linked http://www-cs-faculty.stanford.edu/~uno/316.html hth 00:26:14 Consider it noted. 00:27:20 -!- shikhout has joined. 00:29:17 "Then, I drew a circle on the Smartboard, --" nice product placement 00:30:36 -!- shikhin has quit (Ping timeout: 260 seconds). 00:45:34 -!- GeekDude has joined. 01:06:31 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41444&oldid=41443 * Darkgamma * (+131) 01:09:37 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 01:16:08 `cat bin/print_args_or_input 01:16:09 ​#!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi 01:17:05 Is there a difference between printf '"%s\n" "$*" and echo "$*" ? 01:17:22 Modulo the syntax error 01:17:28 '%s\n' 01:18:10 possibly if the argument starts with -n ? 01:18:27 Ah, good point 01:21:03 echo(1P) says "It is not possible to use echo portably across all POSIX systems unless both -n (as the first argument) and escape sequences are omitted. The printf utility can be used to emulate any of the traditional behaviors of the echo utility as follows [...]" 01:21:17 So I guess that's another reason to use it 01:22:05 Also, "new applications are encouraged to use printf instead of echo." 01:23:44 -!- __oren__ has quit (Read error: Connection reset by peer). 01:24:20 Additionally, GNU echo implements -e and -n as *flags*. 01:24:34 As well as -E and --help and --version. 01:24:54 -!- oren has joined. 01:25:02 POSIX echo --version prints "--version". GNU echo --version prints a lengthy message. 01:25:10 Because screw standards. 01:28:27 `run echo --version 01:28:28 ​--version 01:28:45 `echo --version 01:28:45 echo (GNU coreutils) 8.13 \ Copyright (C) 2011 Free Software Foundation, Inc. \ License GPLv3+: GNU GPL version 3 or later . \ This is free software: you are free to change and redistribute it. \ There is NO WARRANTY, to the extent permitted by law. \ \ Written by Brian Fox and Chet Ramey. 01:29:10 Yes, also the shell's echo is not GNU echo. 01:29:13 Because logic. 01:29:20 Precisely. 01:29:25 `run echo -n --version 01:29:25 ​--version 01:29:50 I think there's at least one version of echo that uses the "using -n is implementation-defined behaviour" to define it to turn on command-line option processing 01:30:02 actually that sounds like the sort of thing the BSDs would do 01:30:26 they already made rm not delete / on the technicality that that must necessarily delete the current directory, and rm's impl-defined on the current directory 01:30:31 That sounds right. 01:30:46 (however, I think it's possible for the current directory to be outside / via chroot tricks, so maybe that justification isn't quite right) 01:32:21 * pikhq is rather amused by how utterly huge common echo implementations are. 01:32:25 -!- axelcsep has joined. 01:32:48 I mean jeeze, here's the full XSI conformant echo: http://sprunge.us/BaeS 01:33:17 pikhq: ooh, it even has error handling that actually works 01:33:25 `run echo test > /dev/full 01:33:26 bash: line 0: echo: write error: No space left on device 01:33:31 `run /bin/echo test > /dev/full 01:33:32 ​/bin/echo: write error: No space left on device 01:33:47 /dev/full is one of the better UNIXoid inventions 01:34:37 ais523: Yeah, I'm a sucker for writing my "see, it's simple, stupid!" correctly. :) 01:35:03 pikhq: did you see me post about my discovery that printf doesn't actually report errors on Linux/glibc? 01:35:20 no matter what I did to try to get it to fail (although I didn't try turning off buffering, that might help) 01:35:27 I got the syscall to fail just fine, but printf wouldn't report it 01:35:30 I did not. 01:35:36 That's perverse. 01:35:42 Makes me all the happier with musl though. 01:35:43 oh well: I tried /dev/full, closing stdout, something else too, I think 01:35:57 my theory is that printf is being split into a fill-buffer and a flush 01:36:01 and the flush isn't reporting errors 01:36:26 try flushing stdout, maybe that will fail 01:36:34 Hopefully you atl east see an error if you check ferror? 01:36:44 Pretty sure that much is at least required. 01:36:45 -!- GeekDude has joined. 01:37:25 -!- axelcsep has quit (Ping timeout: 264 seconds). 01:38:00 glibc buffers all output until some set of conditions (which i am sure are stupid) are met 01:40:55 -!- callforjudgement has joined. 01:41:39 -!- ais523 has quit (Read error: Connection reset by peer). 01:41:45 -!- callforjudgement has changed nick to ais523. 01:41:55 know that it flushes output when input fn's are called, for example. 01:42:22 int main(){printf("prompt ");sleep(2);getchar();} 01:42:36 this waits two seconds and then the prompt shows up 01:42:47 huh, this is the libuncursed_wincon optimization 01:43:10 which violates libuncursed's API, and I say as much in the docs, but I do it anyway because the Windows console is that unperformant 01:43:15 -!- glguy has quit (Quit: Part). 01:44:40 [wiki] [[GERMAN]] http://esolangs.org/w/index.php?diff=41445&oldid=41387 * Oerjan * (+34) bit proofreading 01:44:56 One of the more ridiculous ones in glibc is that it flushes all streams whenever an input operation from a stream has input. 01:45:22 Yes, all 01:46:37 i think streams connected to a terminal should be treated specially. maybe one day i'll write an alternate stdio.h implementation... 01:47:38 that will buffer file output, file input, and terminal input, but not terminal output! 01:48:00 They are: a stream connected to a terminal is not fully buffered. 01:48:07 The buffering mode is unspecified. 01:48:24 An unbuffered output mode on terminals would be 100% valid. 01:48:31 well in glibc it is buffered until \n and i hate it 01:48:37 or input... 01:48:55 Until \n or you try reading. :) 01:49:51 really, so my version could be standard compliant... huh. 01:50:38 unlike BSD rand(), they changed it to ignore the seed it's given and just be cryptosecure 01:50:46 on the basis that this is what most programs actually wanted 01:50:49 err, OpenBSD 01:50:53 (obviously) 01:51:00 Yes. The requirement is that stdin and stdout are fully buffered if and only if they are not attached to a terminal. 01:51:21 Whether it's line buffering, unbuffered, or fucking crazy buffering, is up to you. 01:51:56 [wiki] [[قلب]] http://esolangs.org/w/index.php?diff=41446&oldid=41390 * Oerjan * (+36) I'd fix the external links more if my browser could actually edit this properly... 01:52:09 great. what i think most people want is line buffering on input and unbuffered output. 01:52:24 That certainly matches common expectations. 01:52:34 my expectation is that if I put unbuffered output into a pipe 01:52:39 it stays unbuffered through the pipe 01:53:07 although I just tested "cat | cat" and it's line buffering 01:53:11 so something screwy is going on 01:53:19 Cooked mode. 01:53:22 same with "cat | cat | cat" 01:53:30 pikhq: no, I expected full buffering on the interior pipes 01:53:40 and line buffering at the input due to cooked mode, and output due to being a terminal 01:54:14 testing with "cat | cat | cat" and control-D implies the whole thing is unbuffered 01:54:50 [wiki] [[Musical notes]] M http://esolangs.org/w/index.php?diff=41447&oldid=41420 * Oerjan * (+1) /* See also */ bullets 01:54:58 Note that GNU stdio flushes *all streams* when doing an input operation. 01:55:03 also I thought it might be due to a use of splice or the like 01:55:14 but it's just using old-fashioned read/write 01:55:28 [wiki] [[Dimensions]] M http://esolangs.org/w/index.php?diff=41448&oldid=41418 * Oerjan * (+1) /* See also */ bullets 01:56:09 [wiki] [[Quantum Dimensions]] M http://esolangs.org/w/index.php?diff=41449&oldid=41419 * Oerjan * (+1) /* See also */ bullets 01:56:44 is the cat the right cat? 01:57:02 the one called by strace has to be, strace can't randomly call shell builtins 01:57:11 Shell doesn't have cat as a builtin anyways. 01:57:15 (and if it somehow did, you'd be able to see the shell initializing on the trace) 01:57:49 also, it's a weird feeling being able to write "cat | cat | cat" and not have anyone shout at me for UUoC 01:58:05 UUoUUoC 02:01:38 the undivider in Perl that b_jonas gave me worked great when i translated it to C. thanks b_jonas! 02:02:47 [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=41450&oldid=41433 * CrazyM4n * (+16) changed a lot of formatting 02:03:00 [wiki] [[Talk:IDTM]] M http://esolangs.org/w/index.php?diff=41451&oldid=41412 * Oerjan * (+51) unsigned 02:07:06 https://github.com/matz/streem Looks somewhat interesting 02:07:20 [wiki] [[Treehugger]] M http://esolangs.org/w/index.php?diff=41452&oldid=41436 * Oerjan * (+4) link 02:07:50 -!- bb010g has joined. 02:08:16 Not too developed yet 02:14:11 So it's FRP Ruby? 02:14:49 No idea 02:14:56 -!- ais523 has quit. 02:15:22 -!- oerjan has quit (Quit: leaving). 02:44:02 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41453&oldid=41444 * Darkgamma * (+84) 02:50:04 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41454&oldid=41453 * Darkgamma * (+83) 03:01:17 -!- axelcsep has joined. 03:09:16 -!- CrazyM4n has quit (Ping timeout: 256 seconds). 03:37:22 -!- CrazyM4n has joined. 03:40:06 If the Windows console is too unperformant and you have to violate it like that, maybe is better way that on Windows you provide the program's own terminal emulator to come with it? 03:46:45 someone should write a windows version of stdio.h which does that... 03:47:41 (maybe using directx to draw fast? hmmm...) 03:49:27 Maybe, although I was suggesting just using a custom terminal emulator without changing any parts of the C library. 03:50:08 is that possible on Windows? iirc console apps on windows are linked to some term emu library 03:51:06 -!- MoALTz_ has joined. 03:53:25 I think it just uses standard I/O. 03:53:49 You will however need to use the Windows console APIs if you want to do colors and stuff like that. 03:53:57 (ANSI codes aren't accepted in Windows.) 03:54:04 -!- MoALTz has quit (Ping timeout: 260 seconds). 03:54:22 nope, you need to call AllocConsole from the win32 api to even have a textwindow. Windows apps by default do not have stdio. 03:55:02 the windows version of stdio calls it on prgram startup 03:56:48 the problems this causes are kind of stupid: 03:56:50 http://stackoverflow.com/questions/472282/show-console-in-windows-application 03:57:31 it is hard to have a program that does either but not both. 03:58:23 but windows has graphics built into kernel- therefore best bet is to create a more flexible terminal enu yourself 03:59:33 i might try my hand at it sometime this christmas break 04:04:19 Then you can tell Windows to not display it I suppose, or something like that; I know it is possible to make a Windows program to have standard I/O, at least if it is specified as not GUI subsystem; I don't actually how how the Windows API is supposed to called to get it to work! 04:06:20 I don't know if you would still need #ifdef in your program 04:06:49 yes, but it is NOT possible to have stdio.h and not have a terminal window. 04:07:15 i have tried. you can close it immediately but it still shows for a fraction of a second. 04:07:55 although perhaps this is due to cywin 04:10:29 oh i see... if you select non-console and then write to stdout, it just writes to nowhere... 04:12:21 admittedly it's been a while since i last wrote win32 programs 04:17:53 tldr: a 'console' process on windows, where the entry point is "main" always opens a console window even if you don't want one. A 'windows' process which starts with the "wWinMain" needs to call a special syscall or else stdout goes nowhere and stdin give eof all the time. 04:19:07 but this means i could write a library that has a wWinMain that sets stuff up and then calls "main" 04:20:38 -!- shikhout has quit (Ping timeout: 265 seconds). 04:23:19 -!- kenrube has joined. 04:29:02 -!- kenrube has left. 04:30:16 -!- kenrube has joined. 04:31:45 Yes, I think it does work that way. 04:33:22 But if you do make a window that shows for a fraction of a second, you should need to check if it is starting from an existing window; in such case it shouldn't close the existing window. 04:34:08 Hello everyone! I've wrote polyglot in 7 esoteric languages not long ago: http://esopoly.blogspot.ru/ Try it :) 04:35:08 -!- supay has quit (Ping timeout: 244 seconds). 04:35:51 -!- supay has joined. 04:36:48 kenrube, oh wow 04:38:21 That's nifty 04:38:33 Taneb, is it looks interesting? 04:38:46 That looks really amazing 04:40:53 :) Anybody tried this? 04:41:13 -!- zzo38 has quit (Ping timeout: 240 seconds). 04:47:58 I ... I think I fucking hate hygenic macros. 04:49:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)). 04:50:12 why? it'd be nice if C had them. 04:50:41 Because they are the Apple of macros. 04:51:03 They're wonderful right up until the point where you actually want to do something they don't want you to do. 04:51:18 well yeah. 04:55:40 I think really the reason why Racket has eleventy billion obscure macroing libraries is less to do with it being a magical language design playground, and more with a lot of those being insanely detailed workarounds for the hygeine system. 04:55:52 -!- zzo38 has joined. 04:58:14 that could very well be true-- but the phenomenon of 'created problems' is endemic to computer science because of the frequent difference between what language designers think you need and what you think you need 05:00:49 consider for example the "Callable" pattern in Java which is a workaround for the lack of function pointers 05:01:21 (well it's more powerful than that but most uses are equivalent to qsort) 05:03:34 function pointers themselves are often a workaround for the lack of lambdas... 05:06:21 Oh god yes. There are sooo many of the 'design patterns' and so forth that basically exist because one object or another in the language isn't a first-class value. 05:07:44 -!- CrazyM4n has quit (Quit: Leaving). 05:08:37 the other ones are caused by what i call philosophical problems: the Singleton for example. I really have no idea what it gains over a global variable... 05:09:17 it is global to the scope of the class, but a global variable can actually be less global than that. 05:11:50 but people say: "global struct var bad! singleton class good!" 05:12:26 XD 05:13:13 Yes. It also reminds me of all the weird data types in Clojure, some of which at least seem to just be hacks to make functional programming do non-functional things (something I'm admittedly guilty of in Heresy in a couple of places) 05:15:46 -!- MoALTz has joined. 05:17:24 -!- MoALTz_ has quit (Ping timeout: 255 seconds). 05:18:12 -!- MoALTz_ has joined. 05:21:18 What kind of weird data types on Clojure are they? 05:21:27 -!- MoALTz has quit (Ping timeout: 255 seconds). 05:22:05 I don't know. I think I lost count past the first ten or so when I was doing the koans ... 05:23:22 atoms and boxes are two that stood out especially, because they are literally mutable data hacked onto a functional language. 05:25:00 oh yeah i had to implement boxes for an assignment once. 05:26:01 you use a lambda that constructs lambdas which return the new value 05:26:15 How do those "atoms" and "boxes" work exactly? 05:54:05 -!- glguy has joined. 06:11:53 -!- glguy has quit (Quit: Quitting). 06:13:05 -!- glguy has joined. 06:30:13 Dear *Quil brand: I am not a parent 06:32:22 huh? 06:32:59 I got NyQuil/DayQuil/ZzzQuil ads that advertised as though I was a parent 06:33:05 While watching the Colbert Report 06:33:43 ah. well maybe it detected that you're old. 06:34:39 they think that >25 = parent in many countries 06:45:38 -!- glguy has quit (Quit: Computer has gone to sleep.). 06:46:08 -!- glguy has joined. 06:46:23 -!- glguy has quit (Client Quit). 06:47:28 `ftoc 60 06:47:29 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ftoc: not found 06:48:45 `run env perl 06:48:50 `run type -a perl 06:48:51 perl is /usr/bin/perl 06:49:16 No output. 06:50:03 `run >bin/ftoc echo $'#!/usr/bin/perl\n$f=0+$ARGV[0]; printf"%.2f°F = %.2f°C",$f,($f-32)*5/9;' 06:50:05 No output. 06:50:09 `ftoc 60 06:50:09 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: /hackenv/bin/ftoc: Permission denied \ /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: /hackenv/bin/ftoc: cannot execute: Permission denied 06:50:25 `run chmod a+x bin/ftoc 06:50:26 No output. 06:50:28 `ftoc 60 06:50:28 60.00°F = 15.56°C 06:50:38 `ctof 60 06:50:39 ​/home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ctof: not found 06:51:29 `run >bin/ctof echo $'#!/usr/bin/perl\n$c=0+$ARGV[0]; printf"%.2f°C = %.2f°F",$c,$c*9/5+32;' && chmod a+x bin/ctof 06:51:31 No output. 06:51:37 `ctof 15.56 06:51:37 15.56°C = 60.01°F 06:51:48 `ftoc 74 06:51:48 74.00°F = 23.33°C 06:51:49 `ftoc 71 06:51:50 71.00°F = 21.67°C 06:51:54 `ftoc 68 06:51:54 68.00°F = 20.00°C 06:51:54 `ftoc 66 06:51:55 66.00°F = 18.89°C 06:58:49 `ctof 18.89 06:58:50 18.89°C = 66.00°F 06:58:55 `ctof 18.89C 06:58:56 18.89°C = 66.00°F 07:01:02 Didn't we already have that unit converter thing, the name of which I forget. 07:01:10 I dunno 07:01:13 they had bad names 07:01:27 I already had these formulas elsewhere, just installed them to HackEgo 07:03:27 i am attempting to summarize my entire networking course on one sheet of paper 07:04:01 i have everything up to the midterm on one side so far 07:09:09 an estimate of the information content of the course (via gzip) is 6KB. 07:13:43 -!- MoALTz_ has quit (Quit: Leaving). 07:14:20 i just realized i am implementing a compression algorithm: given an english sentence, use the shortest synonym for each word, rephrase it in active voice, and strip out articles. 07:15:42 i wonder if the shannon metric of text processed in that way is lower 07:18:22 sorry, higher. i wonder if the information entropy per letter is higher. 07:23:24 I didn't know before about a lossy compression for texts 07:24:39 yeah it's interesting to think about how to fit the most info on one sheet, and how that relates to compression. 07:24:57 you can just use a smaller font, but i feel that's cheating 07:24:58 oren: you messed that up. s/realized/figured/;s/implementing/making/;s/rephrase/write/ 07:25:10 lololol 07:25:14 why does it have to be English text though? 07:25:26 can't you write or draw whatever on the paper? 07:25:55 i am printing it in 7pt courier font 07:26:37 are you allowed a magnifier glass? 07:27:08 -!- Patashu has joined. 07:27:17 and do you have a 2400 dpi printer? 07:27:36 that affects lookup time though 07:28:30 i might write topic names larger in margin after printing... 07:29:36 even with a magnifying glass and other advanced equipment, there are some physical limits though. you probably can't just take all the exponentially many possible exam question sheets, precompute the answer for them, write them on the paper, and photocopy the right one. that would have the fastest lookup time, but it wouldn't fit on the sheet. 07:31:52 right. so it is a a matter of: 1. write each fact/idea down as succinctly as possible. 2. organize facts into groups for easy retrieval. 3. label each group with succinc label 07:35:52 dropped packets tell TCP sender congestion. Keeps a window size of sendable unackd. 07:35:55 bytes. lose packet-decrease window. succss-increase window. 07:37:41 hmmm... lose packet-cut window half. 07:39:37 more summary make sound Orwell no? 07:51:47 -!- kenrube has quit (Quit: Page closed). 07:57:16 -!- Sgeo has quit (Read error: Connection reset by peer). 07:57:34 -!- Sgeo has joined. 08:00:57 -!- zzo38 has quit (Ping timeout: 260 seconds). 08:05:14 -!- J_Arcane_ has joined. 08:06:12 -!- Tod-Autojoined has joined. 08:13:45 -!- axelcsep_ has joined. 08:15:40 -!- axelcsep has quit (*.net *.split). 08:15:42 -!- J_Arcane has quit (*.net *.split). 08:15:43 -!- TodPunk has quit (*.net *.split). 08:54:02 -!- dts|pokeball has left. 08:58:04 -!- dts|pokeball has joined. 09:01:55 -!- S1 has joined. 09:02:05 -!- bb010g has quit (Quit: Connection closed for inactivity). 09:03:48 -!- dts_ has joined. 09:04:01 -!- dts|pokeball has quit (Quit: Leaving). 09:04:01 -!- dts_ has quit (Remote host closed the connection). 09:04:20 -!- dts|pokeball has joined. 09:05:40 -!- dts_ has joined. 09:05:49 -!- dts|pokeball has quit (Remote host closed the connection). 09:05:49 -!- dts_ has quit (Remote host closed the connection). 09:06:14 -!- dts|pokeball has joined. 09:06:39 -!- mr45_ has joined. 09:36:48 -!- b_jonas has quit (Ping timeout: 250 seconds). 09:37:24 -!- b_jonas has joined. 09:52:24 ok, today i learned something new. 09:53:23 apparently by pressing F9 i can type fullwidth roman letters. 09:54:09 Is it that one program? 09:54:19 it is my IME 09:54:27 starts with a 09:54:35 anthy? 09:54:49 Some Japanese input method, at any rate. 09:54:57 yeh, that. 09:55:06 I had that set up once. 09:55:23 Recently I tried to type fullwidth text and couldn't figure out how to do it. 09:55:27 Now I understand why. 09:56:05 半角カタカナはF8です。 09:56:38 apparently. i have no idea what use half-width katakana are tho 09:57:18 other than for the Matrix falling code... 10:00:11 imo xterm -e "echo -ne '\e#3whoa\n\e#4whoa\n'; read" 10:02:20 cool! it has big letters? 10:03:32 ummm... ok so... \e#3 makes the top half and \e#4 makes the bottom... 10:06:50 wowww Xterm supports a lot of sequences... 10:13:49 -!- S1 has quit (Quit: S1). 10:28:00 -!- ocharles_ has quit (Changing host). 10:28:00 -!- ocharles_ has joined. 10:28:03 -!- ocharles_ has changed nick to ocharles. 11:10:15 aww, the formatting is applied to a whole line though. echo -e '\e#3w\n\e#4w\e#3t\n\e#4 t\e#3f\n\e#4 f' did not quite do what I wanted. 11:14:04 but some fun can be had anyway. http://int-e.eu/~bf3/tmp/xwtf.png 11:15:20 but it doesn't work with scalable fonts. 11:16:13 -!- coppro has quit (Ping timeout: 245 seconds). 11:16:53 -!- coppro has joined. 11:30:58 Heh. pangoterm's implementation seems to work with scalable fonts: http://xen.firefly.nu/up/2014-12-12_122933.png 11:32:26 what about '\e#3w\n\e#4w\e#3t\n\e#4 t\e#3f\n\e#4 f' ? 11:32:50 -!- drdanmaku has quit (Quit: Connection closed for inactivity). 11:34:25 That failed spectactularly. It seems to assume proper use of the escape sequences 11:34:47 spectacularly* 11:37:42 http://xen.firefly.nu/up/2014-12-12_123558.png seems it cuts the \e#3 characters in half but leaves the \e#4 characters in full. 11:38:52 cute, though that could still make the wtf with one line offset per character work :) 11:40:47 I think it puts an entire line in either \e#3 or \e#4 mode 11:41:21 ok. makes sense, even though it is a wasted opportunity to have some fun :) 11:42:40 and actually, what about echo -e '\n\e#4w\n\e#4 t\n\e#4 f'? If it renders the lower halves with the upper halfs included, that might work... 11:44:48 hmm 11:45:03 I'm thinking of misusing stuff 11:45:51 int-e: heh, indeed it does. http://xen.firefly.nu/up/2014-12-12_124444.png 11:46:30 pretty! 11:48:54 Also cute: http://xen.firefly.nu/up/2014-12-12_124746.png 11:49:05 I bet oren would like that 11:56:31 hmm, pangoterm 11:56:35 does that get bidi right and so on? 11:56:38 well, as right as you can in a terminal 11:57:46 It seemed to behave reasonably well last I tried selecting something in it 11:57:54 something bidirectional, that is 11:59:36 Ah.. the UTF-8-demo.txt file doesn't seem to have any right-to-left text to test with 12:04:40 It seems to render correctly as far as I can tell, and selection seems to select characters in the right order, although they jump around when I change the selection so that all the selected characters fit in a rectangle.. which is a bit odd 12:07:07 It seems to ignore LRO and RLO, though 12:07:26 -!- Patashu has quit (Ping timeout: 258 seconds). 12:21:54 -!- sebbu has quit (Ping timeout: 244 seconds). 12:27:05 -!- sebbu has joined. 12:27:05 -!- sebbu has quit (Changing host). 12:27:05 -!- sebbu has joined. 12:37:08 [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41455&oldid=41441 * TomPN * (+115) /* Entropy */ 12:54:17 Firefly: that is cool. i was discussing writing a 'terminal emu' for windows earlier; e.g. you link with it and it hijacks the stdio to print stuff on a window instead of a real windows console. maybe it should support that stuff too... 12:55:23 a terminal emu is an emu that's going to die 12:55:44 btw, how does that differ from just using cygterm or such 12:55:45 Poor emu 12:55:57 mintty or whatever 12:56:04 you can run "dir" in one of those 12:56:08 full vt terminals 12:56:17 of course "graphical" stuff like EDIT will never work 12:56:38 https://code.google.com/p/mintty/ 12:56:41 the idea is you can just write as if you are on linux, with all ansi escapes, and then link with a library 12:56:45 basde on putty 12:56:48 *based 12:57:05 well, that's like a one line batch script or whatever that starts mintty running your program, but ok 12:57:26 (programs do not have to use cygwin to run under mintty and it's a native windows program) 13:00:49 well good... writing for win32 is way easier than writing for X. you always need a toolkit for X. 13:02:09 back in the days of XP i wrote a lot of C++ rpograms with visual studio 13:06:08 the problem with these toolkits that go on top of X is that there are many, not one. 13:10:19 -!- oerjan has joined. 13:15:10 oh! my networks exam is in room 404! 13:18:14 sounds like a bad omen if you ask me 13:25:44 -!- oren has quit (Quit: gtg exam). 13:25:58 402 could be more interesting. 13:27:55 -!- GeekDude has joined. 14:04:31 I might finally have some time to continue working on Burlesque this weekend :) 14:05:05 either that... or start a new project.... 14:06:51 "Whoa, I can nest footnotes!" ok randall 14:11:31 -!- shikhin has joined. 14:12:43 -!- Decensum|Zzz has joined. 14:14:24 oerjan: as in http://www.xkcd.com/1208/ ? 14:15:59 no, as in http://what-if.xkcd.com/121/ 14:23:29 -!- mr45_ has left. 14:54:16 -!- oren has joined. 14:54:22 easiest exam ever 14:54:56 my high school exams were way tougher 14:57:03 or maybe i'm just way smarter now... 14:58:16 -!- atslash has quit (Quit: This computer has gone to sleep). 14:58:22 -!- kenrube has joined. 15:02:07 -!- kenrube has left. 15:13:44 http://snag.gy/d3rmm.jpg 15:14:03 i have time to mess around now 15:16:46 -!- `^_^v has joined. 15:30:14 -!- atslash has joined. 15:30:49 -!- Koen___ has joined. 15:31:13 hello 15:32:19 Congress passed a secret law/ammendment that allows the the exectutive branch of all that secrecy stuff and police to have access to all your information 15:32:32 Also Gnight 15:35:27 thanks 15:37:17 really? well i don't live in america so wvr. 15:39:00 so.. 15:39:04 they can open your brain? 15:39:09 I mean 15:39:24 this technically means that they can force you to some invasive surgery as well. 15:40:20 they could already do that... by implanting some lead using a powder-actuated surgery tool. 15:41:14 and they won't be charged, especially if you have brown skin 15:41:56 Whatever 15:42:04 I can capture a plain with a plastic knife 15:42:08 *plane 15:42:18 :) 15:42:40 with sufficiently hard plastic 15:42:54 or a ceramic knife 15:43:21 ceramic knife? like in kaze no tani no nausicaa? 15:43:35 You can buy them in every kitchen store 15:43:39 so they are not hard to get. 15:43:56 Off topic 15:44:11 It also affects non us citizens 15:44:16 Btw 15:44:16 congress outlawed dogs 15:44:22 all dogs plese evacuate immediately 15:44:44 any sufficiently advanced terrorist can easily take down a plane. 15:44:57 So you kids have fun im going to the moon 15:45:04 sufficiently advanced terrorists are indistingusihabel from macrgic 15:45:10 *marmite 15:45:25 Marmite is terrible 15:45:36 and so is terrorism. 15:45:43 Meh 15:45:53 also why the hell would you want to take down a plane if they are so much easier targets anyway 15:45:58 -!- atslash has quit (Quit: This computer has gone to sleep). 15:46:00 *there are so much 15:46:28 did you know i actually like SPAM a lot. like the meat? 15:47:04 thanks 15:47:06 it is like bacon in a can that doesn't spoil 15:47:09 It was just recently discovered that people could enter nuclear facilities without having enough security credentials to be actually allowed to do so 15:47:13 Only on toasr 15:47:13 you can just walk in :) 15:47:25 do you know about jpegs? they keep me warm at night 15:47:28 Toast* 15:47:35 elliott: use bpg. kthxbye 15:47:46 I'm the vice president, mroman, and you can't stop me 15:48:13 Say that to my gun 15:48:15 I'm not having 15:48:17 but could have 15:48:31 I'm the vice president. 15:48:42 -!- ChanServ has set channel mode: +o elliott. 15:48:43 Well 15:48:44 I have been promoted to president 15:48:45 Do you not notice this effects you too 15:48:50 Not the vice president of the ESOSC 15:48:53 mroman: you can't have guns in Canada so easily. that is one of many reasons why Canada is better than aAmurica 15:48:54 So what do I care ;) 15:49:04 Decensum|Zzz: Being the president affects everyone. 15:49:07 President king madame 15:49:26 Laugh like the queen of France 15:49:27 -!- elliott has set channel mode: -o elliott. 15:49:30 I was fired 15:49:41 oren: Having easy access to guns doesn't really cause more gun related crimes? 15:50:02 Yes it does. there are no guns in Japan and they have no shootings 15:50:06 if #esoteric has a gun control debate I'm going to destroy freenode 15:50:11 just a heads up 15:50:17 alright :) 15:50:22 sorry, sorry. 15:50:32 !blsq 127 37B! 15:50:32 | "3g" 15:50:35 let's talk about text editors instead 15:50:39 yes 15:50:44 there are no 2D text editors! 15:50:46 for 2D languages 15:50:47 mcedit is the best 15:50:59 everyone should use nedit, pine-using scum pls leave 15:51:00 mroman yes there are 15:51:03 elvis allowed on weekends 15:51:03 !blsq 36 37B! 15:51:03 | That line gave me an error 15:51:13 er I meant pico 15:51:23 hmm 15:51:34 i used to use pico then i took an arrow to the knee 15:51:49 no 15:51:50 int-e: base works in misteyous ways 15:51:53 *misteryous 15:51:57 hm no 15:51:57 oren: which one did you find more painful? 15:51:59 misterious? 15:52:12 mysterious 15:52:13 there we go 15:52:21 I blame it on my meds 15:52:27 you used to make "took an arrow to the knee" jokes, but then I actually shot your knee with an arrow and you collapsed in pain and swore to never do so again 15:52:33 - my fanfiction 15:52:37 mroman : Crazym4n made a 2D IDE for fungeoids 15:53:04 Does it run on my android? 15:53:21 i dunno, can python run on android? 15:53:33 I wanna do some Befunge in the train on my smartphone if I'm bored. 15:54:00 and I have an extremely low threshold for being bored. 15:54:53 this is the editor i use: http://snag.gy/bYC1F.jpg 15:55:58 This font o_O 15:56:02 hahaha i found a cursive monospace font and it is hilarious 15:56:09 nice heart &s 15:56:15 oh 15:56:16 I guess they're ||s 15:56:25 btw, have you heard of switch statements 15:56:25 they are actually the or operator 15:56:40 do you have a macro ei for else if? 15:56:42 mr. "c is like assembly, I code to the machine". look at all those imaginary extra branches! 15:57:36 hey you already corrected me on that i get it. i am currently refactoring that code to make it more compliant btw 15:58:19 yes ei is else if, wh is while, and i have a few others 15:58:20 if it doesn't compile with --std=c89 -Wall --pedantic I won't even look at it . 15:58:28 seriously 15:58:33 what do you have against declarations in the middle of blocks 15:58:57 like where? 15:59:02 it's making coding too easy. 15:59:03 oh i see c89 15:59:27 (I'm just trolling you) 15:59:31 I was actually sincerely wondering why you were using else if changes 15:59:33 (just a heads up. I'm bored) 15:59:39 I guess break is kinda annoying 15:59:42 *chains 15:59:46 eaxtly 16:00:07 I however really do use -Wall --pedantic 16:00:11 i have now defined B as break 16:00:35 just not with c89 16:00:39 wait better idea: BC = break;case 16:00:46 don't worry just define #define ca(x, ...) case x: { __VA_ARGS__; break; } 16:01:09 #define p printf 16:01:16 elliott yes good idea 16:01:18 #define j int argc, char **argv 16:01:26 #define ff int ma 16:01:28 #define q in( 16:01:31 #define BEGIN { 16:01:33 #define END } 16:01:35 ok that is justsilly now.... 16:01:41 #define dog ff##q j) 16:01:42 dog { ... } 16:01:45 hope this helps 16:02:01 #define TInt int 16:02:07 #define PTR * 16:02:10 be aware that congress has in fact outlawed dogs so you could go to jail for this 16:02:11 #define int int_32 16:02:15 ah, C... 16:02:16 #define TChar char 16:02:44 wait i think you can't #define things that are keywords can you 16:02:45 TINT main(TInt argc, TCharPTRPTR argv) BEGIN puts("hi"); END 16:03:08 TInt 16:03:10 sorry. typo. 16:03:16 or is that just in C++? 16:03:22 it's UB to, yes 16:03:27 http://sprunge.us/MaFV?c 16:03:29 it "works in gcc", though! 16:03:50 int-e: beautiful 16:04:08 lol hopefully the only thing i will be using that is only gcc will be the weak symbol attribute... 16:04:08 `! c http://sprunge.us/MaFV 16:04:09 No output. 16:04:18 `fetch http://sprunge.us/MaFV 16:04:20 http://codepad.org/qwmAhtCR 16:04:21 2014-12-12 16:03:21 URL:http://sprunge.us/MaFV [1341] -> "MaFV" [1] 16:04:21 bleh 16:04:23 `run gcc -x c MaFV && ./a.out 16:04:24 MaFV: In function ‘s’: \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 mode \ MaFV:23:5: note: use option -std=c99 or -std=gnu99 to compile your code \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 mode \ MaFV:23:5: error: ‘for’ loop initial declarations are only allowed in C99 16:04:28 `run gcc -std=c99 -x c MaFV && ./a.out 16:04:31 880 16:04:38 ok 16:04:43 I *think* it's counting magic squares, up to symmetry. 16:05:12 http://golf.shinh.org/p.rb?Collatz+Parity I didn't realise collatz was so pretty 16:05:51 (I wrote it on a bus ride.) 16:06:26 how do you write code on a phablet? 16:06:37 use a laptop. 16:06:41 ;) 16:06:56 ohhh... good idea 16:07:10 with a phencil. 16:07:30 and a ephaser? 16:08:57 I think you lost trek of the subject there. 16:09:22 -!- drdanmaku has joined. 16:10:02 what about geo-esolangs . 16:10:24 where writing programs requires you to go outside and do stuff 16:10:33 anyway the font i am using is this: http://sana.s12.xrea.com/2_sanafonobi.html 16:11:22 We need a pharser of course 16:11:32 and an interphreter. 16:13:52 -!- oerjan has quit (Quit: phat). 16:14:46 ok 16:14:48 one gone 16:14:53 92 to go 16:16:20 mroman: you want the channel to yourself? 16:16:29 mroman: maybe you'll have better luck in another channel... 16:16:49 do I hear someone requiring my assistance 16:17:11 -!- oren has quit (Quit: Lunch time!!!). 16:17:51 int-e: nope 16:18:01 elliott: I'm just trying to be realistic. 16:18:48 and I'm wondering who the one entitity is that is allowed to stay. 16:19:06 fungot can stay 16:19:06 mroman: i put a few example programs there too now: what do you think i should apply for a part-time disability in the near future, sorry. i have a copy of spss using 16:19:35 -!- int-e has set topic: fungot supremacy | https://dl.dropboxusercontent.com/u/2023808/wisdom.pdf http://codu.org/logs/_esoteric/ http://tunes.org/~nef/logs/esoteric/. 16:22:15 you need a phaser? or a universal translator? 16:23:43 fungot: that's intriguing 16:23:43 int-e: or will i go to bed or something equally weird, than do something about that a few times 16:24:00 fungot: mindboggling 16:24:00 int-e: ( here are fnord ith it. that's the best entry so far. a lot of ppl were sleeping, when it was 16:24:16 fungot: but that's going to far. 16:24:17 int-e: but why not? 16:28:23 elliott: in the negative numbers, the collatz sequence has a couple of more interesting cycles instead of (conjecturally) 1-2-4. 16:28:32 err, 1-4-2. 16:29:12 -!- drdanmaku has quit (Quit: .). 16:30:00 > let f x | odd x = 3*x+1; f x = x `div` 2; q x = take 10 $ iterate f x in (q (-1),q (-5)) 16:30:01 ([-1,-2,-1,-2,-1,-2,-1,-2,-1,-2],[-5,-14,-7,-20,-10,-5,-14,-7,-20,-10]) 16:31:15 cool 16:31:51 > let f x | odd x = 3*x+1; f x = x `div` 2 in map abs $ iterate f (-50) -- this is a cycle of length 18... 16:31:53 [50,25,74,37,110,55,164,82,41,122,61,182,91,272,136,68,34,17,50,25,74,37,110... 16:32:21 instead of abs, just use 3x-1 ?! 16:32:34 tromp_: I did that in the golf version :P 16:35:30 -!- Sprocklem has joined. 16:35:37 (and I'm a bit annoyed that dc's division rounds towards 0) 16:36:59 Python, interestingly, gets it right. 16:50:45 -!- glguy has joined. 16:58:17 -!- glguy has quit (Quit: Part). 16:58:47 -!- glguy has joined. 17:04:12 -!- oren has joined. 17:08:22 Is it a weird idea to give a program a format string that results in something I can just read in Haskell? 17:09:32 no why would that be weird? 17:09:44 Isn't that just the same idea that underlies JSON? 17:14:39 programs interoperating? sounds a bit communist 17:16:10 elliott: let's call it outsourcing 17:33:51 ㍿ is a ridiculous unicode character. 17:34:38 why would you write public-traded corporation in a square? 17:35:49 and if you did, why not, y'know, just use a format to do so? 17:37:26 -!- axelcsep_ has quit (Ping timeout: 264 seconds). 17:44:48 Specifically, giving the syntax of a haskell record to time’s -f option. 17:45:28 sounds good. why would that be a problem? 17:45:32 I think that it's intended that you'll put the format you need in the -f field 17:47:09 Yeah, I just never heard of the way “use a format string resulting in what you already have a parser for” before. 17:48:14 Ironically, the universal format string standard is the one used in printf, but you can't actually use printf to parse the format string 17:49:18 huh? you mean produce a struct based on a format string? 17:49:48 `` printf "%'d" 1234567890 17:49:48 1,234,567,890 17:55:17 -!- Koen___ has quit (Quit: The struct held his beloved integer in his strong, protecting arms, his eyes like sapphire orbs staring into her own. "W-will you... Will you union me?"). 17:56:06 `` LANG=ar_SA.utf8 printf "%'Id" 1234567890 17:56:07 bash: line 0: printf: `I': invalid format character 17:56:41 That’s not a format character, that’s a flag. 17:57:04 `which cc 17:57:05 ​/hackenv/bin/cc 17:57:24 `file /hackenv/bin/cc 17:57:25 ​/hackenv/bin/cc: POSIX shell script, ASCII text executable 17:57:54 `! c int main(){printf("%Id",1234567890);} 17:57:55 1234567890 17:58:11 `! c int main(){printf("%'d",1234567890);} 17:58:13 1234567890 17:59:09 `` LANG=ar_SA.utf8 cc 'int main() {printf("%'Id", 1234567890);}' 17:59:09 bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file 17:59:55 `` LANG=ar_SA.utf8 cc 'int main() {printf("%'\''Id", 1234567890);}' 17:59:56 ​/tmp/a.c: In function ‘main’: \ /tmp/a.c:1:13: warning: incompatible implicit declaration of built-in function ‘printf’ [enabled by default] \ 1234567890 18:00:14 the %'d isn't a valid format string in C 18:01:07 `` LANG=ar_Sa.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}' 18:01:08 1234567890 18:01:17 >.> 18:01:19 oren: 18:01:20 `'' Decimal conversions (d, u, or i) or the integral portion of a floating point conversion (f or F) should be grouped and separated by thousands 18:01:23 using the non-monetary separator returned by localeconv(3). 18:01:50 in what version of C? 18:01:51 (BSD manpage. I don't know whether C specifies it, admittedly. tons of printf stuff is non-standard though :/) 18:01:56 `` LANG=ar_SA.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}' 18:01:57 1234567890 18:02:02 the real question is whether POSIX specifies it 18:02:21 `! c int main(){printf("% -d",1234);} 18:02:22 ​ 1234 18:02:23 http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html it does 18:02:57 SUSv2 18:03:11 Is what my manpage says specifies the ' flag. 18:04:24 `! c int main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);} 18:04:25 Does not compile. 18:05:04 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);} 18:05:05 No output. 18:05:20 hmmm 18:06:24 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US.UTF-8"); printf("%'d",123456789);} 18:06:25 No output. 18:06:39 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d\\n",123456789);} 18:06:40 No output. 18:09:00 `! c #include \nint main(){setlocale(LC_ALL,"en"); printf("%'d",123456789);} 18:09:01 No output. 18:09:18 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"C"); printf("%'d",123456789);} 18:09:20 No output. 18:09:50 `locale -a 18:09:51 aa_DJ \ aa_DJ.utf8 \ aa_ER \ aa_ER@saaho \ aa_ET \ af_ZA \ af_ZA.utf8 \ am_ET \ an_ES \ an_ES.utf8 \ ar_AE \ ar_AE.utf8 \ ar_BH \ ar_BH.utf8 \ ar_DZ \ ar_DZ.utf8 \ ar_EG \ ar_EG.utf8 \ ar_IN \ ar_IQ \ ar_IQ.utf8 \ ar_JO \ ar_JO.utf8 \ ar_KW \ ar_KW.utf8 \ ar_LB \ ar_LB.utf8 \ ar_LY \ ar_LY.utf8 \ ar_MA \ ar_MA.utf8 \ ar_OM \ ar_OM.utf8 \ ar_QA \ ar 18:10:33 On OS X you get the thousands separators with: setlocale(LC_ALL, ""); 18:11:04 -!- Decensum|Zzz has quit (Quit: Connection closed for inactivity). 18:11:04 `! c #include "locale.h"\nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);} 18:11:06 No output. 18:11:20 i dunno what's wrong... 18:11:40 `! c int main(){printf("Hello?");} 18:11:41 Hello? 18:11:58 `! c #include "stdio.h"\nint main(){printf("%'d",123456789);} 18:12:00 No output. 18:12:09 goddamn it 18:12:10 `! c #include \n#include \nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);} 18:12:11 Does not compile. 18:13:07 `! c #include "stdio.h"\nint main(){printf("hello",123456789);} 18:13:08 No output. 18:13:41 `` /lib/x86_64-linux-gnu/libc.so.6 | grep version 18:13:41 GNU C Library (Debian EGLIBC 2.13-38) stable release version 2.13, by Roland McGrath et al. \ Compiled by GNU CC version 4.4.7. \ crypt add-on version 2.1 by Michael Glad and others 18:13:50 EGLIBC! 18:23:40 -!- MoALTz has joined. 18:35:38 how did that trick go? 18:36:13 -!- shikhout has joined. 18:36:43 -!- shikhin has quit (Disconnected by services). 18:36:48 -!- shikhout has changed nick to shikhin. 18:39:42 -!- Sprocklem has quit (Ping timeout: 272 seconds). 18:50:19 -!- oren has quit (Ping timeout: 258 seconds). 18:52:12 trick? 18:53:33 * int-e shows his empty sleeves, pockets and hat. 18:56:58 -!- oren has joined. 18:58:11 -!- myname has quit (Ping timeout: 244 seconds). 18:58:52 -!- myname has joined. 19:00:12 -!- zzo38 has joined. 19:23:26 -!- shikhin has quit (Read error: Connection reset by peer). 19:24:56 -!- shikhin has joined. 19:53:32 -!- drdanmaku has joined. 20:03:01 -!- MoALTz_ has joined. 20:05:35 -!- MoALTz has quit (Ping timeout: 250 seconds). 20:11:39 [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41456&oldid=41454 * Darkgamma * (+76) 20:12:23 -!- GeekDude has quit (Ping timeout: 244 seconds). 20:15:52 -!- GeekDude has joined. 20:27:43 -!- shikhin has changed nick to shikhi. 20:30:17 -!- axelcsep has joined. 20:30:23 -!- shikhi has changed nick to shikhin. 20:30:37 [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41457&oldid=41338 * BCompton * (+309) /* Sample programs */ Factorial 20:35:17 Hehe, I love today's Gunnerkrigg Court :) 20:45:40 happiness all around 20:46:05 cue for Coyote to crash the party (but that seems unlikely) 20:54:32 -!- mihow has joined. 21:01:18 -!- Patashu has joined. 21:21:42 hmmm... poll for the sake of interest: how many full-scale programs do you use every day, which you wrote yourself? my answer: 3. 21:22:12 I'm not sure how to phrase this question but like, are there any languages which let you define specific operations on a given type. Say for example I had a day type. I could say that it is a simple range type with values of 1-365, with only modular arithmetic defined. But I'd also need to specify that every fourth "rollover" the range would be 366 21:22:58 C++, Ruby, and any other language with "operator overloading". 21:23:49 oren: hmm. . .yeah that makes sense I guess I was looking at it from the wrong direction 21:24:17 in C++ the + operator can call arbitrary code. 21:24:46 i guess it takes a lot more code to achieve this than it should tho 21:25:09 I guess the better way to do it would be to have the "day" type be a struct/record with two fields, one for the day number (which can be 1-366) and one for the leap year count, and then overload the + operator to check the year count field 21:25:46 and then you overload operator cast int or some such to give the day 21:25:58 yeah 21:26:09 funny how writing something in IRC can make it make sense all of a sudden 21:26:58 i have a picture of albert einstein on my wall which i explain my ideas to. it works in a similar way 21:27:11 I'm trying to design a little embeddable DSL specifically for dealing with calendrical/time calculations, and I'm trying to think of to best implement the typing system 21:28:37 remember to make separate types for "day of year" and "difference in days". 21:28:46 -!- nortti has changed nick to lawspeaker. 21:28:47 and so on for each other unit oftime 21:29:12 oren: yeah, that's a good idea, I was thinking along those lines myself 21:30:00 especially with months it matters a lot 21:30:06 yeah 21:30:39 -!- atslash has joined. 21:32:00 oren: I was thinking that converting between calendars is somewhat orthogonal (albeit much more complicated) to converting between bases. So I would use a julian day like system as a "pivot" in the same way that computers natively represent numbers in binary 21:33:15 in my spreadsheet program i used "days since/to" Jan 1 2000 as my native format 21:34:16 but i only implemented conversion to gregorian calendar 21:34:33 (proleptic gregorian that is) 21:35:41 -!- lawspeaker has changed nick to nortti. 21:37:52 http://pastebin.com/PtR5pg79 here is my horrible not-invented-here approach to dates and times 21:39:36 oren: interesting 21:40:29 note that there are 146097 days in every 400 year leap year cycle. 21:42:21 this allows 400 years to be the maximum number of iterations of the loops which count days 21:42:46 because you can do 400 years by simple multiplication 21:44:06 so my calendar code accepts years like 3000000 without stalling 21:46:55 -!- shikhin has changed nick to lawexec. 21:47:49 -!- lawexec has changed nick to shikhin. 21:50:14 obviously a 400 entry lookup table would be better than this code, but whatever... 21:50:14 -!- glguy_ has joined. 21:51:03 hi 21:53:02 -!- zzo38 has quit (Ping timeout: 264 seconds). 21:58:50 oren: interesting 21:59:02 yeah I knew there were 400 years in the leap year cycle 21:59:24 the year 2000 is great isn't it? convenient starting point for calendars, and the beginning of a new leap cycle! 22:02:13 mhm. other calendars would need other reference points, but if you calclulate the difference between 2000 and that reference point beforehand, you can add the difference at the start of the conversion. 22:02:29 yeah 22:02:36 e.g. what is the julian day number for Jan 1 2000 22:02:48 in my system, it would be 0 22:02:53 which feels weird 22:03:05 speaking of "year zero" makes me think of Pol Pol/Khmer Rouge 22:03:12 *Pol Pot 22:03:44 or a zero day exploit 22:04:08 that too 22:10:04 you could have a year zero problem 22:10:15 note that in my code, day zero is 31 Dec 1999 22:11:05 diginet: did you know that the number of days in 400 years is conveniently divisible by 7? 22:11:45 int-e: I did not! but that's even cooler! 22:11:52 i kenw that. but you can just find out the day of week for day 0 and take the mod 7 for your day number 22:11:54 `` factor $((365*400 + 97)) 22:11:54 146097: 3 3 3 7 773 22:12:08 oren: isn' that the domesday algorithm? 22:12:34 i dunno, as i said my code is "not-invented here" 22:12:57 i just extrapolated from my limited knowledge of the gregorian calendar 22:13:25 another neat trick for day of week calculation is to put the start of the year on march 1st. 22:13:42 that is what it was in rome iirc 22:14:34 the point being that the leap day will be inserted at the end of the year (which really makes a lot more sense than putting it in the middle.) 22:14:49 oren: I believe so too. 22:17:38 oh right, it makes sense too, that is why december (decem = 10) is now the 12th month. 22:18:36 same for september, october, november 22:20:25 oren: yes the roman new year was march 22:20:46 strangely the pre-julian calendar just didn't have months for a large part of the year 22:22:37 -!- oren has quit (Quit: eating dinner). 22:29:25 -!- `^_^v has quit (Ping timeout: 260 seconds). 22:34:28 -!- axelcsep has quit (Ping timeout: 244 seconds). 22:37:05 -!- glguy_ has quit (Quit: Computer has gone to sleep.). 22:41:23 -!- CrazyM4n has joined. 22:41:35 -!- GeekDude has quit (Ping timeout: 250 seconds). 22:49:33 -!- boily has joined. 22:50:18 -!- atehwa has joined. 22:51:06 hellørjan. 22:51:27 @massages-loud 22:51:27 oerjan said 22h 25m 11s ago: tldr: int-e and ais523 managed to get `! c-intercal in HackEgo working; then elliott broke ais523 by imagining donald knuth coming to this channel looking for the other kind of esoteric then int-e linked http://www-cs-faculty.stanford.edu/~uno/316.html hth 22:51:58 @tell oerjan hellørjan tdh tyvm hth 22:51:58 Consider it noted. 22:52:26 -!- atslash has quit (Ping timeout: 264 seconds). 22:52:29 boily: oerjan complained that you used 'vsdr' without explanation 22:52:49 boily: my guess was "very short; didn't read", was I close? 22:53:14 int-ello. it indeed was that. 22:53:52 @tell oerjan your evil twin guessed right about the vsdr htah 22:53:53 Consider it noted. 22:54:00 -!- oerjan has joined. 22:54:29 -!- Hasnot has joined. 22:55:06 @messages- 22:55:06 boily said 3m 7s ago: hellørjan tdh tyvm hth 22:55:06 boily said 1m 13s ago: your evil twin guessed right about the vsdr htah 22:55:11 yay 22:55:58 g'daily, i am not sure helloing someone not present is comme il faut hth 22:56:20 en effet. I wonder what the proper protocol in those cases is... 22:57:06 also that tldh was obviously from my _previous_ logreading. 22:57:11 @tell oerjan tell boily hello when you see him, please 22:57:11 Consider it noted. 22:58:10 @messages-clear that's more like comme il faux-pas 22:58:10 Unknown command, try @list 22:58:23 @clear-messages that's more like comme il faux-pas 22:58:23 Messages cleared. 22:58:31 i sense an inconsistency in naming here 22:58:41 bon point. 22:58:46 I sense a complaint. 22:58:51 although i guess without it, @messages- wouldn't work 22:59:03 so i retract it hth 22:59:54 @metar ENVA 22:59:54 ENVA 122250Z VRB02KT CAVOK M02/M07 Q0979 RMK WIND 670FT 16013KT 22:59:59 @metar CYUL 22:59:59 CYUL 122200Z 24011KT 6SM -SN FEW009 OVC024 M04/M05 A2995 RMK SF1SC7 SLP143 23:00:05 THIS EXPLAINS MY COLD FEET 23:00:16 OKAY 23:00:42 -!- glguy_ has joined. 23:03:47 oerjan: somehow that exchange (about retracting complaints) reminded me of http://www.gocomics.com/calvinandhobbes/1988/06/02 ... (arc starts at http://www.gocomics.com/calvinandhobbes/1988/05/30 ) 23:04:11 @metar LOWI 23:04:11 LOWI 122250Z AUTO 26007KT 220V340 9999 NCD M00/M03 Q1013 23:05:14 -!- glguy_ has quit (Ping timeout: 258 seconds). 23:05:57 int-e: i wish to state for the record that i have no reason to believe there is a bee on your shirt hth 23:08:24 `unidecode ㍿ 23:08:25 ​[U+337F SQUARE CORPORATION] 23:09:12 aww. "Your search - ㍿ - did not match any documents. " 23:10:09 aww. i was hoping it was something like TM is used in english 23:10:15 old name: SQUARED FOUR IDEOGRAPHS CORPORATION 23:10:31 more like Inc. 23:10:46 well obviously, but Inc. isn't turned into a character... 23:11:08 We could try reserving an unicode point for that purpose 23:11:20 a corporation of squares 23:11:32 four squares... oh I dingress 23:11:59 int-e: is that a pun 23:12:11 oerjan: "no." 23:12:23 * oerjan swats int-e -----### 23:12:34 sorry, i don't have a baseball bat 23:12:36 thanks, that got rid of the bee. I think. 23:13:07 good, good 23:13:38 meh. GG is late. 23:14:15 (not late late, they still have a couple of hours left... but later than usual.) 23:14:16 the foglios have not learned the ancient wisdom of the buffer 23:16:42 i suppose dmm has spoiled me 23:17:33 although he seems to have slipped up a bit lately 23:18:19 Schlock Mercenary, Freefall, Sinfest, there's really a lot of web comics that just update on time. 23:19:00 (of course there are even more that don't; some don't even pretend to have a regular schedule...) 23:19:14 -!- Hasnot1 has joined. 23:19:19 with freefall we have the upside that we get to hear about strange work accidents. 23:19:37 hm was it a nuclear plant he worked at 23:19:54 maybe freefall is secretly written by homer simpson 23:19:59 oh, new dresden codak today. 23:20:30 (that's one of those that doesn't have a schedule) 23:20:46 -!- Hasnot has quit (Ping timeout: 245 seconds). 23:20:46 i suppose it may be hard to resist the urge to let people see your new creation immediately 23:21:39 the ones i read with no schedule to speak of are oots and yafgc 23:22:45 well i suppose lightning made of owls has no schedule because it gets so few contributions. 23:23:00 -!- nys has joined. 23:28:08 -!- Hasnot1 has left. 23:41:27 -!- GeekDude has joined. 23:41:48 -!- oren has joined. 23:46:46 -!- MoALTz_ has quit (Quit: Leaving). 23:47:55 yeah, so like i said ㍿ is a ridiculous character. 23:48:21 OKAY 23:49:23 someone oughta make a new version of unicode without all these ridiculous characters that are only there for backward compatibility. 23:51:36 oren: what does that character mean? Google Translate's not giving me anything... 23:52:01 it is four character japanese word for public traded corporation 23:52:17 interesting 23:52:18 pronounced "kabushikigaisha" 23:53:22 these four characters: 株式会社 23:55:57 why do these exist??? fffiflffifflſtst 23:56:17 .window bare 23:56:22 sorry