00:08:44 -!- mihow has quit (Quit: mihow).
00:15:12 <oerjan> <shachaf> Wasn't there a clever way for commands to be both kinds of things? <-- yes
00:17:26 <ais523> shachaf: I'm surprised we didn't get an infinite stream of y from your yes
00:17:37 <HackEgo> 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 <oerjan> ais523: maybe it's still running
00:17:50 <shachaf> i put a ^O in the beginning because I didn't want to spam the channel hth
00:20:20 -!- callforjudgement has joined.
00:22:29 <shachaf> 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 <oerjan> @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:27:20 -!- shikhout has joined.
00:29:17 <fizzie> "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 <HackEgo> [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 <FireFly> `cat bin/print_args_or_input
01:16:09 <HackEgo> #!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi
01:17:05 <FireFly> Is there a difference between printf '"%s\n" "$*" and echo "$*" ?
01:18:10 <oerjan> possibly if the argument starts with -n ?
01:21:03 <FireFly> 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 <FireFly> So I guess that's another reason to use it
01:22:05 <FireFly> 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 <pikhq> Additionally, GNU echo implements -e and -n as *flags*.
01:24:34 <pikhq> As well as -E and --help and --version.
01:24:54 -!- oren has joined.
01:25:02 <pikhq> POSIX echo --version prints "--version". GNU echo --version prints a lengthy message.
01:25:10 <pikhq> Because screw standards.
01:28:27 <Taneb> `run echo --version
01:28:45 <HackEgo> echo (GNU coreutils) 8.13 \ Copyright (C) 2011 Free Software Foundation, Inc. \ License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. \ 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 <pikhq> Yes, also the shell's echo is not GNU echo.
01:29:25 <ais523> `run echo -n --version
01:29:50 <ais523> 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 <ais523> actually that sounds like the sort of thing the BSDs would do
01:30:26 <ais523> 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 <pikhq> That sounds right.
01:30:46 <ais523> (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 <pikhq> I mean jeeze, here's the full XSI conformant echo: http://sprunge.us/BaeS
01:33:17 <ais523> pikhq: ooh, it even has error handling that actually works
01:33:25 <ais523> `run echo test > /dev/full
01:33:26 <HackEgo> bash: line 0: echo: write error: No space left on device
01:33:31 <ais523> `run /bin/echo test > /dev/full
01:33:32 <HackEgo> /bin/echo: write error: No space left on device
01:33:47 <ais523> /dev/full is one of the better UNIXoid inventions
01:34:37 <pikhq> ais523: Yeah, I'm a sucker for writing my "see, it's simple, stupid!" correctly. :)
01:35:03 <ais523> pikhq: did you see me post about my discovery that printf doesn't actually report errors on Linux/glibc?
01:35:20 <ais523> 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 <ais523> I got the syscall to fail just fine, but printf wouldn't report it
01:35:42 <pikhq> Makes me all the happier with musl though.
01:35:43 <ais523> oh well: I tried /dev/full, closing stdout, something else too, I think
01:35:57 <ais523> my theory is that printf is being split into a fill-buffer and a flush
01:36:01 <ais523> and the flush isn't reporting errors
01:36:26 <oren> try flushing stdout, maybe that will fail
01:36:34 <pikhq> Hopefully you atl east see an error if you check ferror?
01:36:44 <pikhq> 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 <oren> 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 <oren> know that it flushes output when input fn's are called, for example.
01:42:22 <oren> int main(){printf("prompt ");sleep(2);getchar();}
01:42:36 <oren> this waits two seconds and then the prompt shows up
01:42:47 <ais523> huh, this is the libuncursed_wincon optimization
01:43:10 <ais523> 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 <HackEgo> [wiki] [[GERMAN]] http://esolangs.org/w/index.php?diff=41445&oldid=41387 * Oerjan * (+34) bit proofreading
01:44:56 <pikhq> One of the more ridiculous ones in glibc is that it flushes all streams whenever an input operation from a stream has input.
01:46:37 <oren> 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 <oren> that will buffer file output, file input, and terminal input, but not terminal output!
01:48:00 <pikhq> They are: a stream connected to a terminal is not fully buffered.
01:48:07 <pikhq> The buffering mode is unspecified.
01:48:24 <pikhq> An unbuffered output mode on terminals would be 100% valid.
01:48:31 <oren> well in glibc it is buffered until \n and i hate it
01:48:55 <pikhq> Until \n or you try reading. :)
01:49:51 <oren> really, so my version could be standard compliant... huh.
01:50:38 <ais523> unlike BSD rand(), they changed it to ignore the seed it's given and just be cryptosecure
01:50:46 <ais523> on the basis that this is what most programs actually wanted
01:51:00 <pikhq> 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 <pikhq> Whether it's line buffering, unbuffered, or fucking crazy buffering, is up to you.
01:51:56 <HackEgo> [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 <oren> great. what i think most people want is line buffering on input and unbuffered output.
01:52:24 <pikhq> That certainly matches common expectations.
01:52:34 <ais523> my expectation is that if I put unbuffered output into a pipe
01:52:39 <ais523> it stays unbuffered through the pipe
01:53:07 <ais523> although I just tested "cat | cat" and it's line buffering
01:53:11 <ais523> so something screwy is going on
01:53:22 <ais523> same with "cat | cat | cat"
01:53:30 <ais523> pikhq: no, I expected full buffering on the interior pipes
01:53:40 <ais523> and line buffering at the input due to cooked mode, and output due to being a terminal
01:54:14 <ais523> testing with "cat | cat | cat" and control-D implies the whole thing is unbuffered
01:54:50 <HackEgo> [wiki] [[Musical notes]] M http://esolangs.org/w/index.php?diff=41447&oldid=41420 * Oerjan * (+1) /* See also */ bullets
01:54:58 <pikhq> Note that GNU stdio flushes *all streams* when doing an input operation.
01:55:03 <ais523> also I thought it might be due to a use of splice or the like
01:55:14 <ais523> but it's just using old-fashioned read/write
01:55:28 <HackEgo> [wiki] [[Dimensions]] M http://esolangs.org/w/index.php?diff=41448&oldid=41418 * Oerjan * (+1) /* See also */ bullets
01:56:09 <HackEgo> [wiki] [[Quantum Dimensions]] M http://esolangs.org/w/index.php?diff=41449&oldid=41419 * Oerjan * (+1) /* See also */ bullets
01:56:44 <oren> is the cat the right cat?
01:57:02 <ais523> the one called by strace has to be, strace can't randomly call shell builtins
01:57:11 <pikhq> Shell doesn't have cat as a builtin anyways.
01:57:15 <ais523> (and if it somehow did, you'd be able to see the shell initializing on the trace)
01:57:49 <ais523> also, it's a weird feeling being able to write "cat | cat | cat" and not have anyone shout at me for UUoC
02:01:38 <oren> the undivider in Perl that b_jonas gave me worked great when i translated it to C. thanks b_jonas!
02:02:47 <HackEgo> [wiki] [[Simplefunge]] http://esolangs.org/w/index.php?diff=41450&oldid=41433 * CrazyM4n * (+16) changed a lot of formatting
02:03:00 <HackEgo> [wiki] [[Talk:IDTM]] M http://esolangs.org/w/index.php?diff=41451&oldid=41412 * Oerjan * (+51) unsigned
02:07:06 <FreeFull> https://github.com/matz/streem Looks somewhat interesting
02:07:20 <HackEgo> [wiki] [[Treehugger]] M http://esolangs.org/w/index.php?diff=41452&oldid=41436 * Oerjan * (+4) link
02:07:50 -!- bb010g has joined.
02:14:56 -!- ais523 has quit.
02:15:22 -!- oerjan has quit (Quit: leaving).
02:44:02 <HackEgo> [wiki] [[User:Darkgamma/SB3]] http://esolangs.org/w/index.php?diff=41453&oldid=41444 * Darkgamma * (+84)
02:50:04 <HackEgo> [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 <zzo38> 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 <oren> someone should write a windows version of stdio.h which does that...
03:47:41 <oren> (maybe using directx to draw fast? hmmm...)
03:49:27 <zzo38> Maybe, although I was suggesting just using a custom terminal emulator without changing any parts of the C library.
03:50:08 <oren> 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 <zzo38> I think it just uses standard I/O.
03:53:49 <zzo38> You will however need to use the Windows console APIs if you want to do colors and stuff like that.
03:53:57 <zzo38> (ANSI codes aren't accepted in Windows.)
03:54:04 -!- MoALTz has quit (Ping timeout: 260 seconds).
03:54:22 <oren> 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 <oren> the windows version of stdio calls it on prgram startup
03:56:48 <oren> the problems this causes are kind of stupid:
03:56:50 <oren> http://stackoverflow.com/questions/472282/show-console-in-windows-application
03:57:31 <oren> it is hard to have a program that does either but not both.
03:58:23 <oren> but windows has graphics built into kernel- therefore best bet is to create a more flexible terminal enu yourself
03:59:33 <oren> i might try my hand at it sometime this christmas break
04:04:19 <zzo38> 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 <zzo38> I don't know if you would still need #ifdef in your program
04:06:49 <oren> yes, but it is NOT possible to have stdio.h and not have a terminal window.
04:07:15 <oren> i have tried. you can close it immediately but it still shows for a fraction of a second.
04:07:55 <oren> although perhaps this is due to cywin
04:10:29 <oren> oh i see... if you select non-console and then write to stdout, it just writes to nowhere...
04:12:21 <oren> admittedly it's been a while since i last wrote win32 programs
04:17:53 <oren> 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 <oren> 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 <zzo38> Yes, I think it does work that way.
04:33:22 <zzo38> 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 <kenrube> 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:38:33 <kenrube> Taneb, is it looks interesting?
04:38:46 <Taneb> That looks really amazing
04:41:13 -!- zzo38 has quit (Ping timeout: 240 seconds).
04:47:58 <J_Arcane> I ... I think I fucking hate hygenic macros.
04:49:26 -!- GeekDude has quit (Quit: {{{}}{{{}}{{}}}{{}}} (www.adiirc.com)).
04:50:12 <oren> why? it'd be nice if C had them.
04:50:41 <J_Arcane> Because they are the Apple of macros.
04:51:03 <J_Arcane> They're wonderful right up until the point where you actually want to do something they don't want you to do.
04:55:40 <J_Arcane> 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 <oren> 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 <oren> consider for example the "Callable" pattern in Java which is a workaround for the lack of function pointers
05:01:21 <oren> (well it's more powerful than that but most uses are equivalent to qsort)
05:03:34 <oren> function pointers themselves are often a workaround for the lack of lambdas...
05:06:21 <J_Arcane> 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 <oren> 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 <oren> it is global to the scope of the class, but a global variable can actually be less global than that.
05:11:50 <oren> but people say: "global struct var bad! singleton class good!"
05:13:13 <J_Arcane> 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 <zzo38> What kind of weird data types on Clojure are they?
05:21:27 -!- MoALTz has quit (Ping timeout: 255 seconds).
05:22:05 <J_Arcane> I don't know. I think I lost count past the first ten or so when I was doing the koans ...
05:23:22 <J_Arcane> atoms and boxes are two that stood out especially, because they are literally mutable data hacked onto a functional language.
05:25:00 <oren> oh yeah i had to implement boxes for an assignment once.
05:26:01 <oren> you use a lambda that constructs lambdas which return the new value
05:26:15 <zzo38> 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 <Sgeo> Dear *Quil brand: I am not a parent
06:32:59 <Sgeo> I got NyQuil/DayQuil/ZzzQuil ads that advertised as though I was a parent
06:33:05 <Sgeo> While watching the Colbert Report
06:33:43 <oren> ah. well maybe it detected that you're old.
06:34:39 <oren> 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:29 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ftoc: not found
06:50:03 <b_jonas> `run >bin/ftoc echo $'#!/usr/bin/perl\n$f=0+$ARGV[0]; printf"%.2f°F = %.2f°C",$f,($f-32)*5/9;'
06:50:09 <HackEgo> /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:39 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: ctof: not found
06:51:29 <b_jonas> `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
07:01:02 <fizzie> Didn't we already have that unit converter thing, the name of which I forget.
07:01:27 <b_jonas> I already had these formulas elsewhere, just installed them to HackEgo
07:03:27 <oren> i am attempting to summarize my entire networking course on one sheet of paper
07:04:01 <oren> i have everything up to the midterm on one side so far
07:09:09 <oren> an estimate of the information content of the course (via gzip) is 6KB.
07:13:43 -!- MoALTz_ has quit (Quit: Leaving).
07:14:20 <oren> 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 <oren> i wonder if the shannon metric of text processed in that way is lower
07:18:22 <oren> sorry, higher. i wonder if the information entropy per letter is higher.
07:23:24 <zzo38> I didn't know before about a lossy compression for texts
07:24:39 <oren> 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 <oren> you can just use a smaller font, but i feel that's cheating
07:24:58 <b_jonas> oren: you messed that up. s/realized/figured/;s/implementing/making/;s/rephrase/write/
07:25:14 <b_jonas> why does it have to be English text though?
07:25:26 <b_jonas> can't you write or draw whatever on the paper?
07:25:55 <oren> i am printing it in 7pt courier font
07:26:37 <b_jonas> are you allowed a magnifier glass?
07:27:08 -!- Patashu has joined.
07:27:17 <b_jonas> and do you have a 2400 dpi printer?
07:27:36 <oren> that affects lookup time though
07:28:30 <oren> i might write topic names larger in margin after printing...
07:29:36 <b_jonas> 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 <oren> 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 <oren> dropped packets tell TCP sender congestion. Keeps a window size of sendable unackd.
07:35:55 <oren> bytes. lose packet-decrease window. succss-increase window.
07:37:41 <oren> hmmm... lose packet-cut window half.
07:39:37 <oren> 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 <oren> ok, today i learned something new.
09:53:23 <oren> apparently by pressing F9 i can type fullwidth roman letters.
09:54:49 <shachaf> Some Japanese input method, at any rate.
09:55:23 <shachaf> Recently I tried to type fullwidth text and couldn't figure out how to do it.
09:56:38 <oren> apparently. i have no idea what use half-width katakana are tho
09:57:18 <oren> other than for the Matrix falling code...
10:00:11 <shachaf> imo xterm -e "echo -ne '\e#3whoa\n\e#4whoa\n'; read"
10:02:20 <oren> cool! it has big letters?
10:03:32 <oren> ummm... ok so... \e#3 makes the top half and \e#4 makes the bottom...
10:06:50 <oren> 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 <int-e> 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 <int-e> but some fun can be had anyway. http://int-e.eu/~bf3/tmp/xwtf.png
11:15:20 <int-e> 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 <FireFly> Heh. pangoterm's implementation seems to work with scalable fonts: http://xen.firefly.nu/up/2014-12-12_122933.png
11:32:26 <int-e> 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 <FireFly> That failed spectactularly. It seems to assume proper use of the escape sequences
11:37:42 <FireFly> 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 <int-e> cute, though that could still make the wtf with one line offset per character work :)
11:40:47 <FireFly> I think it puts an entire line in either \e#3 or \e#4 mode
11:41:21 <int-e> ok. makes sense, even though it is a wasted opportunity to have some fun :)
11:42:40 <int-e> 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:45:03 <b_jonas> I'm thinking of misusing stuff
11:45:51 <FireFly> int-e: heh, indeed it does. http://xen.firefly.nu/up/2014-12-12_124444.png
11:48:54 <FireFly> Also cute: http://xen.firefly.nu/up/2014-12-12_124746.png
11:49:05 <FireFly> I bet oren would like that
11:56:35 <elliott> does that get bidi right and so on?
11:56:38 <elliott> well, as right as you can in a terminal
11:57:46 <FireFly> It seemed to behave reasonably well last I tried selecting something in it
11:57:54 <FireFly> something bidirectional, that is
11:59:36 <FireFly> Ah.. the UTF-8-demo.txt file doesn't seem to have any right-to-left text to test with
12:04:40 <FireFly> 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 <FireFly> 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 <HackEgo> [wiki] [[IDTM]] http://esolangs.org/w/index.php?diff=41455&oldid=41441 * TomPN * (+115) /* Entropy */
12:54:17 <oren> 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 <elliott> a terminal emu is an emu that's going to die
12:55:44 <elliott> btw, how does that differ from just using cygterm or such
12:56:04 <elliott> you can run "dir" in one of those
12:56:17 <elliott> of course "graphical" stuff like EDIT will never work
12:56:38 <elliott> https://code.google.com/p/mintty/
12:56:41 <oren> the idea is you can just write as if you are on linux, with all ansi escapes, and then link with a library
12:57:05 <elliott> well, that's like a one line batch script or whatever that starts mintty running your program, but ok
12:57:26 <elliott> (programs do not have to use cygwin to run under mintty and it's a native windows program)
13:00:49 <oren> well good... writing for win32 is way easier than writing for X. you always need a toolkit for X.
13:02:09 <oren> back in the days of XP i wrote a lot of C++ rpograms with visual studio
13:06:08 <oren> 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 <oren> oh! my networks exam is in room 404!
13:18:14 <oerjan> sounds like a bad omen if you ask me
13:25:44 -!- oren has quit (Quit: gtg exam).
13:25:58 <int-e> 402 could be more interesting.
13:27:55 -!- GeekDude has joined.
14:04:31 <mroman> I might finally have some time to continue working on Burlesque this weekend :)
14:05:05 <mroman> either that... or start a new project....
14:06:51 <oerjan> "Whoa, I can nest footnotes!" ok randall
14:11:31 -!- shikhin has joined.
14:12:43 -!- Decensum|Zzz has joined.
14:14:24 <b_jonas> oerjan: as in http://www.xkcd.com/1208/ ?
14:15:59 <oerjan> no, as in http://what-if.xkcd.com/121/
14:23:29 -!- mr45_ has left.
14:54:16 -!- oren has joined.
14:54:22 <oren> easiest exam ever
14:54:56 <oren> my high school exams were way tougher
14:57:03 <oren> 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 <oren> http://snag.gy/d3rmm.jpg
15:14:03 <oren> 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:32:19 <Decensum|Zzz> 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:37:17 <oren> really? well i don't live in america so wvr.
15:39:04 <mroman> they can open your brain?
15:39:24 <mroman> this technically means that they can force you to some invasive surgery as well.
15:40:20 <oren> they could already do that... by implanting some lead using a powder-actuated surgery tool.
15:41:14 <oren> and they won't be charged, especially if you have brown skin
15:42:04 <mroman> I can capture a plain with a plastic knife
15:42:40 <mroman> with sufficiently hard plastic
15:43:21 <oren> ceramic knife? like in kaze no tani no nausicaa?
15:43:35 <mroman> You can buy them in every kitchen store
15:43:39 <mroman> so they are not hard to get.
15:44:22 <elliott> all dogs plese evacuate immediately
15:44:44 <mroman> any sufficiently advanced terrorist can easily take down a plane.
15:45:04 <elliott> sufficiently advanced terrorists are indistingusihabel from macrgic
15:45:53 <mroman> 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:28 <oren> did you know i actually like SPAM a lot. like the meat?
15:47:06 <oren> it is like bacon in a can that doesn't spoil
15:47:09 <mroman> 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 <mroman> you can just walk in :)
15:47:25 <elliott> do you know about jpegs? they keep me warm at night
15:47:35 <mroman> elliott: use bpg. kthxbye
15:47:46 <elliott> I'm the vice president, mroman, and you can't stop me
15:48:42 -!- ChanServ has set channel mode: +o elliott.
15:48:44 <elliott> I have been promoted to president
15:48:50 <mroman> Not the vice president of the ESOSC
15:48:53 <oren> mroman: you can't have guns in Canada so easily. that is one of many reasons why Canada is better than aAmurica
15:49:04 <elliott> Decensum|Zzz: Being the president affects everyone.
15:49:27 -!- elliott has set channel mode: -o elliott.
15:49:41 <mroman> oren: Having easy access to guns doesn't really cause more gun related crimes?
15:50:02 <oren> Yes it does. there are no guns in Japan and they have no shootings
15:50:06 <elliott> if #esoteric has a gun control debate I'm going to destroy freenode
15:50:35 <elliott> let's talk about text editors instead
15:50:44 <mroman> there are no 2D text editors!
15:50:47 <oren> mcedit is the best
15:50:59 <elliott> everyone should use nedit, pine-using scum pls leave
15:51:00 <oren> mroman yes there are
15:51:03 <blsqbot> | That line gave me an error
15:51:34 <oren> i used to use pico then i took an arrow to the knee
15:51:50 <mroman> int-e: base works in misteyous ways
15:51:57 <int-e> oren: which one did you find more painful?
15:52:27 <elliott> 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:37 <oren> mroman : Crazym4n made a 2D IDE for fungeoids
15:53:04 <mroman> Does it run on my android?
15:53:21 <oren> i dunno, can python run on android?
15:53:33 <mroman> I wanna do some Befunge in the train on my smartphone if I'm bored.
15:54:00 <mroman> and I have an extremely low threshold for being bored.
15:54:53 <oren> this is the editor i use: http://snag.gy/bYC1F.jpg
15:56:02 <oren> hahaha i found a cursive monospace font and it is hilarious
15:56:25 <elliott> btw, have you heard of switch statements
15:56:25 <oren> they are actually the or operator
15:56:40 <mroman> do you have a macro ei for else if?
15:56:42 <elliott> mr. "c is like assembly, I code to the machine". look at all those imaginary extra branches!
15:57:36 <oren> 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 <oren> yes ei is else if, wh is while, and i have a few others
15:58:20 <mroman> if it doesn't compile with --std=c89 -Wall --pedantic I won't even look at it .
15:58:33 <elliott> what do you have against declarations in the middle of blocks
15:59:02 <mroman> it's making coding too easy.
15:59:27 <mroman> (I'm just trolling you)
15:59:31 <elliott> I was actually sincerely wondering why you were using else if changes
15:59:33 <mroman> (just a heads up. I'm bored)
15:59:39 <elliott> I guess break is kinda annoying
16:00:07 <mroman> I however really do use -Wall --pedantic
16:00:11 <oren> i have now defined B as break
16:00:39 <oren> wait better idea: BC = break;case
16:00:46 <elliott> don't worry just define #define ca(x, ...) case x: { __VA_ARGS__; break; }
16:01:16 <oren> elliott yes good idea
16:01:18 <elliott> #define j int argc, char **argv
16:01:35 <oren> ok that is justsilly now....
16:02:10 <elliott> be aware that congress has in fact outlawed dogs so you could go to jail for this
16:02:11 <oren> #define int int_32
16:02:44 <oren> wait i think you can't #define things that are keywords can you
16:02:45 <mroman> TINT main(TInt argc, TCharPTRPTR argv) BEGIN puts("hi"); END
16:03:16 <oren> or is that just in C++?
16:03:27 <int-e> http://sprunge.us/MaFV?c
16:03:29 <elliott> it "works in gcc", though!
16:04:08 <oren> lol hopefully the only thing i will be using that is only gcc will be the weak symbol attribute...
16:04:08 <elliott> `! c http://sprunge.us/MaFV
16:04:18 <elliott> `fetch http://sprunge.us/MaFV
16:04:20 <mroman> http://codepad.org/qwmAhtCR
16:04:21 <HackEgo> 2014-12-12 16:03:21 URL:http://sprunge.us/MaFV [1341] -> "MaFV" [1]
16:04:23 <elliott> `run gcc -x c MaFV && ./a.out
16:04:24 <HackEgo> 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 <elliott> `run gcc -std=c99 -x c MaFV && ./a.out
16:04:43 <int-e> I *think* it's counting magic squares, up to symmetry.
16:05:12 <elliott> http://golf.shinh.org/p.rb?Collatz+Parity I didn't realise collatz was so pretty
16:05:51 <int-e> (I wrote it on a bus ride.)
16:06:26 <oren> how do you write code on a phablet?
16:06:56 <oren> ohhh... good idea
16:07:30 <oren> and a ephaser?
16:08:57 <int-e> I think you lost trek of the subject there.
16:09:22 -!- drdanmaku has joined.
16:10:02 <mroman> what about geo-esolangs .
16:10:24 <mroman> where writing programs requires you to go outside and do stuff
16:10:33 <oren> anyway the font i am using is this: http://sana.s12.xrea.com/2_sanafonobi.html
16:11:22 <mroman> We need a pharser of course
16:13:52 -!- oerjan has quit (Quit: phat).
16:16:20 <int-e> mroman: you want the channel to yourself?
16:16:29 <int-e> mroman: maybe you'll have better luck in another channel...
16:16:49 <elliott> do I hear someone requiring my assistance
16:17:11 -!- oren has quit (Quit: Lunch time!!!).
16:18:01 <int-e> elliott: I'm just trying to be realistic.
16:18:48 <int-e> and I'm wondering who the one entitity is that is allowed to stay.
16:19:06 <fungot> 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 <b_jonas> you need a phaser? or a universal translator?
16:23:43 <int-e> fungot: that's intriguing
16:23:43 <fungot> int-e: or will i go to bed or something equally weird, than do something about that a few times
16:24:00 <int-e> fungot: mindboggling
16:24:00 <fungot> 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 <int-e> fungot: but that's going to far.
16:28:23 <int-e> elliott: in the negative numbers, the collatz sequence has a couple of more interesting cycles instead of (conjecturally) 1-2-4.
16:29:12 -!- drdanmaku has quit (Quit: .).
16:30:00 <int-e> > 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 <lambdabot> ([-1,-2,-1,-2,-1,-2,-1,-2,-1,-2],[-5,-14,-7,-20,-10,-5,-14,-7,-20,-10])
16:31:51 <int-e> > 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 <lambdabot> [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 <tromp_> instead of abs, just use 3x-1 ?!
16:32:34 <int-e> tromp_: I did that in the golf version :P
16:35:30 -!- Sprocklem has joined.
16:35:37 <int-e> (and I'm a bit annoyed that dc's division rounds towards 0)
16:36:59 <int-e> 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 <Melvar> 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 <oren> no why would that be weird?
17:09:44 <int-e> Isn't that just the same idea that underlies JSON?
17:14:39 <elliott> programs interoperating? sounds a bit communist
17:16:10 <int-e> elliott: let's call it outsourcing
17:33:51 <oren> ㍿ is a ridiculous unicode character.
17:34:38 <oren> why would you write public-traded corporation in a square?
17:35:49 <oren> 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 <Melvar> Specifically, giving the syntax of a haskell record to time’s -f option.
17:45:28 <oren> sounds good. why would that be a problem?
17:45:32 <glguy> I think that it's intended that you'll put the format you need in the -f field
17:47:09 <Melvar> 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 <Jafet> 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 <oren> huh? you mean produce a struct based on a format string?
17:49:48 <Melvar> `` printf "%'d" 1234567890
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 <Melvar> `` LANG=ar_SA.utf8 printf "%'Id" 1234567890
17:56:07 <HackEgo> bash: line 0: printf: `I': invalid format character
17:56:41 <Melvar> That’s not a format character, that’s a flag.
17:57:25 <HackEgo> /hackenv/bin/cc: POSIX shell script, ASCII text executable
17:57:54 <oren> `! c int main(){printf("%Id",1234567890);}
17:58:11 <oren> `! c int main(){printf("%'d",1234567890);}
17:59:09 <Melvar> `` LANG=ar_SA.utf8 cc 'int main() {printf("%'Id", 1234567890);}'
17:59:09 <HackEgo> bash: -c: line 0: unexpected EOF while looking for matching `"' \ bash: -c: line 1: syntax error: unexpected end of file
17:59:55 <Melvar> `` LANG=ar_SA.utf8 cc 'int main() {printf("%'\''Id", 1234567890);}'
17:59:56 <HackEgo> /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 <oren> the %'d isn't a valid format string in C
18:01:07 <Melvar> `` LANG=ar_Sa.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}'
18:01:20 <elliott> `'' 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 <elliott> using the non-monetary separator returned by localeconv(3).
18:01:50 <oren> in what version of C?
18:01:51 <elliott> (BSD manpage. I don't know whether C specifies it, admittedly. tons of printf stuff is non-standard though :/)
18:01:56 <Melvar> `` LANG=ar_SA.utf8 \! 'c int main() {printf("%'\''Id", 1234567890);}'
18:02:02 <elliott> the real question is whether POSIX specifies it
18:02:21 <oren> `! c int main(){printf("% -d",1234);}
18:02:23 <elliott> http://pubs.opengroup.org/onlinepubs/9699919799/functions/fprintf.html it does
18:03:11 <Melvar> Is what my manpage says specifies the ' flag.
18:04:24 <oren> `! c int main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);}
18:05:04 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d",123456789);}
18:06:24 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US.UTF-8"); printf("%'d",123456789);}
18:06:39 <Melvar> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"en_US"); printf("%'d\\n",123456789);}
18:09:00 <oren> `! c #include <locale.h>\nint main(){setlocale(LC_ALL,"en"); printf("%'d",123456789);}
18:09:18 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,"C"); printf("%'d",123456789);}
18:09:51 <HackEgo> 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 <glguy> 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 <oren> `! c #include "locale.h"\nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);}
18:11:20 <oren> i dunno what's wrong...
18:11:40 <int-e> `! c int main(){printf("Hello?");}
18:11:58 <oren> `! c #include "stdio.h"\nint main(){printf("%'d",123456789);}
18:12:10 <glguy> `! c #include <locale.h>\n#include <stdio.h>\nint main(){setlocale(LC_ALL,""); printf("%'d",123456789);}
18:13:07 <oren> `! c #include "stdio.h"\nint main(){printf("hello",123456789);}
18:13:41 <int-e> `` /lib/x86_64-linux-gnu/libc.so.6 | grep version
18:13:41 <HackEgo> 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:23:40 -!- MoALTz has joined.
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: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 <HackEgo> [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 <HackEgo> [wiki] [[Tag]] http://esolangs.org/w/index.php?diff=41457&oldid=41338 * BCompton * (+309) /* Sample programs */ Factorial
20:35:17 <Taneb> Hehe, I love today's Gunnerkrigg Court :)
20:45:40 <int-e> happiness all around
20:46:05 <int-e> 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 <oren> 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 <diginet> 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 <oren> C++, Ruby, and any other language with "operator overloading".
21:23:49 <diginet> oren: hmm. . .yeah that makes sense I guess I was looking at it from the wrong direction
21:24:17 <oren> in C++ the + operator can call arbitrary code.
21:24:46 <oren> i guess it takes a lot more code to achieve this than it should tho
21:25:09 <diginet> 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 <oren> and then you overload operator cast int or some such to give the day
21:26:09 <diginet> funny how writing something in IRC can make it make sense all of a sudden
21:26:58 <oren> 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 <diginet> 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 <oren> 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 <oren> and so on for each other unit oftime
21:29:12 <diginet> oren: yeah, that's a good idea, I was thinking along those lines myself
21:30:00 <oren> especially with months it matters a lot
21:30:39 -!- atslash has joined.
21:32:00 <diginet> 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 <oren> in my spreadsheet program i used "days since/to" Jan 1 2000 as my native format
21:34:16 <oren> but i only implemented conversion to gregorian calendar
21:34:33 <oren> (proleptic gregorian that is)
21:35:41 -!- lawspeaker has changed nick to nortti.
21:37:52 <oren> http://pastebin.com/PtR5pg79 here is my horrible not-invented-here approach to dates and times
21:40:29 <oren> note that there are 146097 days in every 400 year leap year cycle.
21:42:21 <oren> this allows 400 years to be the maximum number of iterations of the loops which count days
21:42:46 <oren> because you can do 400 years by simple multiplication
21:44:06 <oren> 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 <oren> obviously a 400 entry lookup table would be better than this code, but whatever...
21:50:14 -!- glguy_ has joined.
21:53:02 -!- zzo38 has quit (Ping timeout: 264 seconds).
21:59:02 <diginet> yeah I knew there were 400 years in the leap year cycle
21:59:24 <diginet> the year 2000 is great isn't it? convenient starting point for calendars, and the beginning of a new leap cycle!
22:02:13 <oren> 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:36 <oren> e.g. what is the julian day number for Jan 1 2000
22:02:48 <diginet> in my system, it would be 0
22:03:05 <diginet> speaking of "year zero" makes me think of Pol Pol/Khmer Rouge
22:03:44 <oren> or a zero day exploit
22:10:04 <int-e> you could have a year zero problem
22:10:15 <oren> note that in my code, day zero is 31 Dec 1999
22:11:05 <int-e> diginet: did you know that the number of days in 400 years is conveniently divisible by 7?
22:11:45 <diginet> int-e: I did not! but that's even cooler!
22:11:52 <oren> 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 <int-e> `` factor $((365*400 + 97))
22:12:08 <diginet> oren: isn' that the domesday algorithm?
22:12:34 <oren> i dunno, as i said my code is "not-invented here"
22:12:57 <oren> i just extrapolated from my limited knowledge of the gregorian calendar
22:13:25 <int-e> another neat trick for day of week calculation is to put the start of the year on march 1st.
22:13:42 <oren> that is what it was in rome iirc
22:14:34 <int-e> 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 <int-e> oren: I believe so too.
22:17:38 <oren> oh right, it makes sense too, that is why december (decem = 10) is now the 12th month.
22:18:36 <int-e> same for september, october, november
22:20:25 <diginet> oren: yes the roman new year was march
22:20:46 <diginet> 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:27 <lambdabot> 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 <boily> @tell oerjan hellørjan tdh tyvm hth
22:52:26 -!- atslash has quit (Ping timeout: 264 seconds).
22:52:29 <int-e> boily: oerjan complained that you used 'vsdr' without explanation
22:52:49 <int-e> boily: my guess was "very short; didn't read", was I close?
22:53:14 <boily> int-ello. it indeed was that.
22:53:52 <boily> @tell oerjan your evil twin guessed right about the vsdr htah
22:54:00 -!- oerjan has joined.
22:54:29 -!- Hasnot has joined.
22:55:06 <lambdabot> boily said 3m 7s ago: hellørjan tdh tyvm hth
22:55:06 <lambdabot> boily said 1m 13s ago: your evil twin guessed right about the vsdr htah
22:55:58 <oerjan> g'daily, i am not sure helloing someone not present is comme il faut hth
22:56:20 <boily> en effet. I wonder what the proper protocol in those cases is...
22:57:06 <oerjan> also that tldh was obviously from my _previous_ logreading.
22:57:11 <int-e> @tell oerjan tell boily hello when you see him, please
22:58:10 <oerjan> @messages-clear that's more like comme il faux-pas
22:58:23 <oerjan> @clear-messages that's more like comme il faux-pas
22:58:31 <oerjan> i sense an inconsistency in naming here
22:58:46 <int-e> I sense a complaint.
22:58:51 <oerjan> although i guess without it, @messages- wouldn't work
22:59:54 <lambdabot> ENVA 122250Z VRB02KT CAVOK M02/M07 Q0979 RMK WIND 670FT 16013KT
22:59:59 <lambdabot> CYUL 122200Z 24011KT 6SM -SN FEW009 OVC024 M04/M05 A2995 RMK SF1SC7 SLP143
23:00:05 <oerjan> THIS EXPLAINS MY COLD FEET
23:00:42 -!- glguy_ has joined.
23:03:47 <int-e> 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 <lambdabot> LOWI 122250Z AUTO 26007KT 220V340 9999 NCD M00/M03 Q1013
23:05:14 -!- glguy_ has quit (Ping timeout: 258 seconds).
23:05:57 <oerjan> 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:25 <HackEgo> [U+337F SQUARE CORPORATION]
23:09:12 <int-e> aww. "Your search - ㍿ - did not match any documents. "
23:10:09 <oerjan> aww. i was hoping it was something like TM is used in english
23:10:15 <int-e> old name: SQUARED FOUR IDEOGRAPHS CORPORATION
23:10:46 <oerjan> well obviously, but Inc. isn't turned into a character...
23:11:08 <int-e> We could try reserving an unicode point for that purpose
23:11:32 <int-e> four squares... oh I dingress
23:12:34 <oerjan> sorry, i don't have a baseball bat
23:12:36 <int-e> thanks, that got rid of the bee. I think.
23:14:15 <int-e> (not late late, they still have a couple of hours left... but later than usual.)
23:14:16 <oerjan> the foglios have not learned the ancient wisdom of the buffer
23:16:42 <oerjan> i suppose dmm has spoiled me
23:17:33 <oerjan> although he seems to have slipped up a bit lately
23:18:19 <int-e> Schlock Mercenary, Freefall, Sinfest, there's really a lot of web comics that just update on time.
23:19:00 <int-e> (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 <oerjan> with freefall we have the upside that we get to hear about strange work accidents.
23:19:37 <oerjan> hm was it a nuclear plant he worked at
23:19:54 <oerjan> maybe freefall is secretly written by homer simpson
23:19:59 <int-e> oh, new dresden codak today.
23:20:30 <int-e> (that's one of those that doesn't have a schedule)
23:20:46 -!- Hasnot has quit (Ping timeout: 245 seconds).
23:20:46 <oerjan> i suppose it may be hard to resist the urge to let people see your new creation immediately
23:21:39 <oerjan> the ones i read with no schedule to speak of are oots and yafgc
23:22:45 <oerjan> 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 <oren> yeah, so like i said ㍿ is a ridiculous character.
23:49:23 <oren> someone oughta make a new version of unicode without all these ridiculous characters that are only there for backward compatibility.
23:51:36 <paul2520> oren: what does that character mean? Google Translate's not giving me anything...
23:52:01 <oren> it is four character japanese word for public traded corporation
23:52:18 <oren> pronounced "kabushikigaisha"
23:53:22 <oren> these four characters: 株式会社
23:55:57 <oren> why do these exist??? fffiflffifflſtst