00:12:16 <wob_jonas> fungot, have you seen tom7's recent long video?
00:12:16 <fungot> wob_jonas: try manually creating the fsdbm db first,
00:12:57 <int-e> wob_jonas: did you ever link to it?
00:13:51 <wob_jonas> int-e: no. it's https://youtu.be/8_npHZbe3qM linked from most recent entry in http://radar.spacebar.org/ (damned thing doesn't have anchors for posts)
00:15:06 -!- jaboja has quit (Remote host closed the connection).
00:16:20 <int-e> wob_jonas: I may have a look, maybe next week.
00:20:11 <int-e> > let pal xs = reverse xs == xs in pal "stats"
00:21:33 -!- wob_jonas has quit (Quit: http://www.kiwiirc.com/ - A hand crafted IRC client).
00:29:51 <int-e> TIL about retpolines. Ugly stuff.
00:30:53 <shachaf> > let pal xs = reverse xs == xs in pal "Ørjan Johansen"
00:33:03 <lambdabot> *** "pal" wn "WordNet (r) 3.0 (2006)"
00:33:03 <lambdabot> n 1: a close friend who accompanies his buddies in their
00:33:03 <lambdabot> activities [syn: {buddy}, {brother}, {chum}, {crony},
00:33:05 <lambdabot> v 1: become friends; act friendly towards [syn: {pal}, {pal up},
00:33:26 <HackEgo> bø:Bø is not just one, but _two_ municipalities in Norway. And not just three, but at least _four_ farms. Ah ah ah ah ah! \ fisherman's friend:Fisherman's Friend is the friend of the palate that is more sore than discerning. \ ghast:A ghast is a palette-swapped higher level copycat of ghoul. \ gray:Gray is e common misspalling of grey. \ ii:Ii is
00:33:58 <int-e> Yeah, I got it. I was checking the names for pals... but there don't seem to be any.
00:34:16 <int-e> iovoid is a close miss
00:35:10 <fizzie> I'm a pal if you increment me by one.
00:43:02 <oerjan> <int-e> `` mv {bin,lib}/morse-decode; echo '#!/hackenv/bin/shebang_args_or_input /hackenv/lib/morse-decode' > bin/morse-decode; chmod +x bin/morse-decode <-- wait, that works?
00:43:22 <oerjan> `cat bin/shebang_args_or_input
00:43:23 <HackEgo> #!/bin/bash \ interp="$1"; script="$2"; shift 2; if [ "$#" -eq 1 ]; then printf '%s\n' "$1"; elif [ "$#" -eq 0 ]; then cat; fi | { shift; $interp "$script" "$@"; }
00:43:25 -!- Phantom_Hoover has quit (Ping timeout: 255 seconds).
00:43:57 <oerjan> it's not the intended use case, but i guess it works when /hackenv/lib/morse-decode ignores its arguments
00:48:58 <boily> `` find wisdom -type f -iname '*vention*'
00:48:59 <HackEgo> wisdom/shavention \ wisdom/invention \ wisdom/tanebvention \ wisdom/tanebventions: math \ wisdom/tanebventions: food
00:49:01 -!- relrod has quit (Quit: .).
00:49:16 <int-e> oerjan: it was inspired by rainwords (sp?)
00:49:48 <HackEgo> #!/hackenv/bin/shebang_args_or_input python \ import random; w=[l.split() for l in open("/dev/stdin").read().split("\n")]; r=[4,7,8,9,2,6,13]; print "\n".join((lambda s: " ".join(chr(3) + "%02d"%r[(i+s)%len(r)] + l[i] for i in range(len(l))))(random.randrange(0, len(r))) for l in w)
00:50:27 <oerjan> int-e: yes, although it's intended for adjusting shebang scripts
00:50:55 <oerjan> `cat bin/print_args_or_input
00:50:56 <HackEgo> #!/bin/bash \ if [ "$#" -gt 0 ]; then printf '%s\n' "$*"; else cat; fi
00:51:05 <oerjan> this one is for shell scripts
00:51:23 <oerjan> and is what i've used in at least one similar case.
00:51:54 <int-e> yeah, I would've used that if I had found it first
00:53:10 <oerjan> `` grep -l -r args_or_input bin/
00:53:18 <HackEgo> bin/h \ bin/noping \ bin/rainwords \ bin/unhex \ bin/morse-decode \ bin/aaaaaaaaa \ bin/döts \ bin/orenbow \ bin/ordu \ bin/rainbow \ bin/lowercase \ bin/scriptadd \ bin/shmify \ bin/sanetemp \ bin/ümläüt \ bin/dedot \ bin/ord \ bin/poulet \ bin/rainbow.old \ bin/zalgo \ bin/rot13 \ bin/insanetemp \ bin/complain
00:53:20 <int-e> ... `` cd bin; grep -rl shebang_args_or_input .
00:53:36 <HackEgo> Culinary tanebventions include automatic squirrel feeders, weetoflakes, mushrooms, nutella, and cognac.
00:53:52 <HackEgo> cat: nutella: Is a directory
00:54:23 <int-e> `` cd bin; grep -rl shebang_args_or_input .
00:54:24 <HackEgo> ./h \ ./rainwords \ ./morse-decode \ ./rainbow.old \ ./zalgo \ ./rot13
00:54:38 <int-e> (actually I just realized that I was looking for something slightly different)
00:54:58 <HackEgo> nutella/nutetlla? ¯\(°_o)/¯
00:55:06 <HackEgo> 11279:2017-12-19 <oerjän> learn nutella//Nutella is a nutty substance. Taneb invented it for use in his automatic squirrel feeders.
00:55:07 <HackEgo> nutella//Nutella is a nutty substance. Taneb invented it for use in his automatic squirrel feeders.
00:55:41 <HackEgo> patching file wisdom/nutella/nutella
00:56:07 <oerjan> `learn Nutella is a nutty substance. Taneb invented it for use in his automatic squirrel feeders.
00:56:10 <HackEgo> Learned 'nutella': Nutella is a nutty substance. Taneb invented it for use in his automatic squirrel feeders.
00:56:18 <int-e> `` echo '#! /bin/bash' > bin/morse-decode; echo 'args_or_input | /hackenv/lib/morse-decode' >> bin/morse-decode # for sanity
00:56:42 <HackEgo> /hackenv/bin/morse-decode: line 2: args_or_input: command not found
00:56:46 <shachaf> oerjan: `learn should detect // in the key twh
00:57:17 <oerjan> . o O ( He sometimes pranks without noticing it. )
00:58:25 <int-e> `sled bin/morse-decode//s=^a=print_a=
00:58:27 <HackEgo> bin/morse-decode//#! /bin/bash \ print_args_or_input | /hackenv/lib/morse-decode
00:59:13 <int-e> `sled bin/morse-decode//s=^p[^ ]*=& "$@"=
00:59:15 <HackEgo> bin/morse-decode//#! /bin/bash \ print_args_or_input "$@" | /hackenv/lib/morse-decode
01:01:08 -!- variable has joined.
01:02:25 -!- erkin has joined.
01:02:53 <int-e> `` cp bin/slwd bin/slbd; sed -i 's=wisdom=bin=;s=wb=bb=' bin/slbd; cat bin/slbd
01:02:55 <HackEgo> bin/slbd//cd bin; sled "$1" | sed '1s/^Rosebud!$/Rosbbud!/' \ cd bin; sled "$1" | sed '1s/^Rosebud!$/Rosbbud!/'
01:05:59 <HackEgo> #!/bin/bash \ /bin/sed "$@" && if [[ $# == "3" && "/$1" == "/-i" ]]; then echo -n "$3//"; cat "$3"; fi
01:07:07 <oerjan> i did that to get sled output for people insisting on using sed -i instead.
01:07:23 <oerjan> (mainly boily at the time)
01:07:55 <HackEgo> [[ "$1" == ?*//* ]] || { echo 'usage: sled file//script'; exit 1; }; key="${1%%//*}"; value="${1#*//}"; [[ -f "$key" ]] || { echo 'Rosebud!'; exit 1; }; sed -i "$value" "$key" ;
01:08:05 <int-e> "We have decided to power cycle the building. That's easier than resetting each remote device individually."
01:12:20 <int-e> Pity, no Seidenstraße report this year, those were entertaining the last few times.
01:14:12 <HackEgo> int-e är inte svensk. Hen kommer att spränga solen. Hen står för sig själv. Hen gillar inte färger, men han gillar dissonans. Er hat ein Hipster-Spiel gekauft.
01:14:31 <int-e> (Seidenstraße is the codename for a pneumatic tube network that they have had at the last couple of C3s)
01:17:06 <fizzie> They should have more pneumatic tube networks in general.
01:17:33 <int-e> ah but they do have a (sub)wiki https://events.ccc.de/congress/2017/wiki/index.php/Projects:Seidenstrasse
01:18:03 <oerjan> german for silk road, eh
01:20:14 <int-e> I didn't translate it because it could be confused for that drug marketplace.
01:21:08 <int-e> https://twitter.com/c3seidenstrasse?lang=en has a few pictures.
01:25:24 <fizzie> Some large Finnish grocery stores use those.
01:25:42 <fizzie> The image on http://www.pneumatictubesystems.in/cash_pneumatic_tube_systems.htm is from a Prisma supermarket in Helsinki.
01:27:31 <int-e> I like the safe with the pre-drilled hole :P http://www.pneumatictubesystems.in/IsoKa1.GIF
01:29:00 <fizzie> Actually I thought they use those for the cigarette-buying machine they have at the checkouts. Finnish law says you can't market smoking paraphernalia (including having them displayed for sale), so usually there's a nondescript grid of number buttons (like 1 .. 80), and you need to know the mapping; when you press one, a few seconds later the product drops on the belt.
01:30:07 <fizzie> https://fi.wikipedia.org/wiki/Suomen_tupakkalaki#/media/File:Tupakka-automaatti.jpg
01:30:21 <shachaf> fizzie: does fizzif have anything to do with Tanea twh
01:31:03 <fizzie> shachaf: I don't really use "fizzif" for anything hth
01:33:15 <shachaf> sounds suspiciously similar to Tanea so far tdh
01:33:19 <HackEgo> Tanea plays Minecrafs, Dware Fortresr, and lives in Cambridgd.
01:34:41 -!- variable has quit (Quit: /dev/null is full).
01:35:03 <fizzie> I guess there's variants like that of everyone, then.
01:35:23 <shachaf> but how many of them are pals
01:36:04 -!- sprocklem has joined.
01:39:11 -!- relrod has joined.
01:39:14 -!- relrod has quit (Changing host).
01:39:14 -!- relrod has joined.
02:29:48 <Sgeo> Just received and signed the Magic Arena NDA
02:29:58 <Sgeo> Two more weeks until I'm in?
02:31:07 <Sgeo> New Magic: the Gathering online game
02:31:34 <Sgeo> https://magic.wizards.com/en/mtgarena
02:31:41 <shachaf> Is it going to replace MODO?
02:33:42 <Sgeo> Not for now. Currently only Standard. Future unclear.
02:34:02 <shachaf> If it's only Standard then clearly it doesn't have Future Sight.
02:55:52 * boily lightly mapoles shachaf. 0.83 FP.
03:00:32 -!- boily has quit (Quit: TICKET CHICKEN).
03:05:47 -!- erkin has quit (Quit: Ouch! Got SIGABRT, dying...).
03:07:51 -!- relrod has quit (Quit: .).
03:10:37 -!- relrod has joined.
03:10:38 -!- relrod has quit (Changing host).
03:10:38 -!- relrod has joined.
03:12:27 -!- doesthiswork1 has joined.
03:14:23 -!- doesthiswork has quit (Ping timeout: 268 seconds).
04:02:24 -!- variable has joined.
04:06:20 -!- variable has quit (Client Quit).
04:46:52 <zzo38> I had previously written a program "har" for Hamster archiver, but now I also wrote a new program "harex", which executes a shell command for each lump of input. (The lump name is placed in an environment variable so that shell expansion does not interfere with it.)
04:53:35 -!- sprocklem has quit (Ping timeout: 252 seconds).
04:58:28 -!- ais523 has quit (Quit: quit).
05:26:21 -!- GautamS has joined.
05:28:47 -!- variable has joined.
05:36:24 -!- oerjan has quit (Quit: Nite).
06:01:44 -!- variable has quit (Quit: Found 1 in /dev/zero).
06:13:52 -!- sdfgsdfg has quit (Remote host closed the connection).
06:17:13 -!- sdfgsdfg has joined.
06:18:08 -!- sdfgsdfg has quit (Remote host closed the connection).
06:18:22 -!- sdfgsdfg has joined.
06:21:52 -!- sdfgsdfg has left.
06:32:21 -!- GautamS has quit (Read error: Connection reset by peer).
06:34:12 -!- GautamS has joined.
06:34:53 -!- C0ckG0bbler has joined.
06:35:08 -!- C0ckG0bbler has quit (Read error: Connection reset by peer).
06:35:46 -!- C0ckG0bbler has joined.
06:36:52 -!- C0ckG0bbler has left.
06:37:17 -!- sprocklem has joined.
06:39:27 -!- GautamS has quit (Ping timeout: 248 seconds).
06:42:47 -!- asdfyasyolo has joined.
06:43:38 -!- asdfyasyolo has quit (Read error: Connection reset by peer).
06:43:52 -!- asdfyasyolo has joined.
06:44:53 -!- asdfyasyolo has left.
06:45:23 -!- asdfyasyolo has joined.
06:47:08 -!- asdfyasyolo has left.
06:56:14 -!- sdfgsdfg has joined.
06:56:57 -!- sdfgsdfg has changed nick to sdfsfdg.
07:00:20 -!- sdfsfdg has quit (Client Quit).
07:50:08 -!- garit2 has quit (Ping timeout: 252 seconds).
07:50:47 -!- garit has joined.
07:50:47 -!- garit has quit (Changing host).
07:50:47 -!- garit has joined.
07:55:22 -!- sdfgsdfg has joined.
07:56:10 <Sgeo> shachaf, Add X mana of any one color to your mana pool, where X is your life total.
07:56:50 -!- sdfgsdfg has quit (Remote host closed the connection).
07:57:10 -!- sdfgsdfg has joined.
07:57:29 -!- sdfgsdfg has quit (Max SendQ exceeded).
08:03:15 <Sgeo> https://www.reddit.com/r/magicTCG/comments/7o3q2b/rix_azors_gateway_sanctum_of_the_sun/
08:20:00 -!- GeekDude has quit (Ping timeout: 246 seconds).
08:21:40 -!- GeekDude has joined.
08:49:14 -!- heroux has quit (Ping timeout: 268 seconds).
08:50:49 -!- heroux has joined.
10:27:05 -!- sleffy has quit (Ping timeout: 240 seconds).
11:17:04 -!- doesthiswork1 has quit (Quit: Leaving.).
11:29:06 <b_jonas> `eheroeslist http://eheroes.smackjeeves.com/comics/2550285/im-keeping-my-ion-you/
11:29:07 <HackEgo> /home/hackbot/hackbot.hg/multibot_cmds/lib/limits: line 5: exec: eheroeslist: not found
11:29:28 <b_jonas> after more than half a year of a break, he posted another page
11:29:32 <b_jonas> he's had long breaks before
11:32:34 <b_jonas> int-e: look at the bottom of http://eheroes.smackjeeves.com/archive/
11:32:51 <b_jonas> int-e: one page in 2016, six in 2017
11:33:12 <HackEgo> The word "bimonthly" has at least two meanings, although this wisdom only gives about half of one. No matter which expert you follow, you're 50% likely to misinterpret it, or doubly so, depending on the phase of the moon.
11:34:10 <b_jonas> int-e: mind you, I can't complain because I wasn't very productive either this year, and I don't have the excuse of my wife having died recently
11:34:57 <b_jonas> (I mean 2017. 2016 was decent.)
11:35:03 <int-e> `learn biweekly/The word "biweekly" is half synonymous with the word --> "bimonthly".
11:35:05 <HackEgo> Learned 'biweekly/the': biweekly/The word "biweekly" is half synonymous with the word --> "bimonthly".
11:37:56 <int-e> (Better ideas welcome, my main objective here was to have a better chance of discovering the "bimonthly" entry)
11:54:24 -!- boily has joined.
12:00:31 -!- GautamS has joined.
12:28:31 -!- boily has quit (Quit: SCRY CHICKEN).
12:37:33 -!- GautamS has quit (Ping timeout: 264 seconds).
13:30:00 <int-e> wtf, firefox automatically reloads modified local files, in a new tab?!
13:41:03 -!- garit2 has joined.
13:41:06 -!- garit2 has quit (Excess Flood).
13:42:23 -!- garit has quit (Ping timeout: 248 seconds).
13:48:15 -!- mniip has quit (Ping timeout: 248 seconds).
13:50:05 -!- Gregor has quit (Ping timeout: 240 seconds).
13:50:23 <b_jonas> I'm still thinking of this tom7 thing and whether there's a simpler proof that there's an algorithm.
13:50:50 -!- mniip has joined.
13:51:30 <b_jonas> In fancy terms (you know, wisdom/monad style), his problem is the word problem on commutative monoids presented with a finite set of relations.
13:53:32 -!- Gregor has joined.
13:54:32 <int-e> Okay, it wasn't the firefox, it was emacs, somehow...
14:00:26 -!- doesthiswork has joined.
14:06:29 -!- garit has joined.
14:06:29 -!- garit has quit (Changing host).
14:06:29 -!- garit has joined.
14:06:31 -!- garit has quit (Excess Flood).
15:01:03 -!- `^_^v has joined.
15:02:18 -!- `^_^v has quit (Client Quit).
15:02:31 -!- `^_^v has joined.
15:05:09 -!- garit has joined.
15:05:09 -!- garit has quit (Changing host).
15:05:09 -!- garit has joined.
15:24:51 -!- GautamS has joined.
15:30:52 -!- ais523 has joined.
15:36:29 -!- ais523 has quit (Remote host closed the connection).
15:36:43 -!- ais523 has joined.
15:38:59 -!- ais523 has quit (Remote host closed the connection).
15:39:11 -!- ais523 has joined.
15:54:02 <int-e> I've completed my Moebius transformation based shader: http://int-e.eu/~bf3/tmp/moebius.html
16:00:40 <int-e> the underlying texture is far more boring: http://int-e.eu/~bf3/tmp/moebius.png
16:02:52 <APic> int-e: It crashes my System ☹
16:02:57 <APic> Or hangs it completely, at least
16:04:00 <int-e> APic: uh, that wasn't expected or intended... bad graphics drivers perhaps (it's a webgl thing)
16:04:30 <APic> 01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1)
16:04:31 <fizzie> int-e: Now I'm suspicious you put in some Spectre/Meltdown code in there.
16:04:33 <APic> It is darn old
16:05:31 <ais523> fizzie: it's going to take time to have a useful POC that works from JS, I think
16:05:33 <int-e> APic: http://int-e.eu/~bf3/tmp/moebius_shot.png
16:06:02 <APic> Graphics-Driver seems to be „nouveau“
16:06:04 <ais523> combining the two exploits would probably work best?
16:06:10 <fizzie> ais523: https://www.react-etc.net/entry/exploiting-speculative-execution-meltdown-spectre-via-javascript
16:06:40 <APic> int-e: Yes, it produces two or three Frames or so here too before it locks up
16:06:45 <ais523> you could use spectre to break the speculative executor out of the JS sandbox via JITting some code that's protected only by a bounds check
16:07:12 <int-e> APic: that's even more unexpected... am I doing something wrong with binding/unbinding stuff, I wonder...
16:07:26 <int-e> APic: but regardless, it shouldn't crash :)
16:07:51 <fizzie> FWIW, Chrome security announcements implied the site isolation feature would mitigate at least some hypothetical things.
16:08:34 <int-e> maybe 2018 is the year where timing properties finally make it into processor specifications...
16:09:00 <ais523> int-e: huh, they always /used/ to be part of the specification
16:09:02 <int-e> (beyond maximal interrupt service times for embedded processors)
16:09:15 <ais523> if you look at, say, a 6502 manual it'll give the exact timing properties of every instruction
16:09:22 <ais523> and these were often exploited in practice for precise delays
16:10:10 <APic> My Kernel Syslog shows a _Lot_ of „nouveau 0000:01:00.0: fifo: INTR 00010000: 00000002“ before the Hang
16:10:20 <APic> Maybe it just spams the dmesg
16:10:21 <int-e> ais523: the latest processor where I've seen exact timing descriptions like that in the intel world was the 486. Everything beyond had cycle counts for the best possible case, i.e. everything cached.
16:11:10 <APic> Seems to be several Hundreds of that Message per Second
16:12:08 <int-e> Basically what happens is that timings for accesses outside the first level cache are unspecified, but people figure out how to extract information from those unspecified timings. That's been going on for several years already, but meltdown/spectre have made it very clear that this isn't just of theoretical interest.
16:13:58 <ais523> that general sort of issue has been around for ages
16:14:05 <ais523> this is more interesting, especially spectre variant 2
16:14:18 <ais523> which basically runs arbitrary code in the speculator via chaining together gadgets using hash collisions in the branch predictor
16:15:14 <int-e> But it's still a timing sidechannel at its core.
16:15:48 <ais523> the timing sidechannel is basically just used to get output from the code as it can't output the usual way
16:15:54 <ais523> I'm not even sure it's the only such sidechannel
16:16:29 <fizzie> "The Speculator" sounds like a superhero/villain name.
16:19:16 <APic> Jan 5 16:59:39 Zarniwoop kernel: [ 173.713097] nouveau 0000:01:00.0: fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
16:19:19 <APic> Jan 5 16:59:39 Zarniwoop kernel: [ 173.713106] nouveau 0000:01:00.0: fifo: gr engine fault on channel 5, recovering...
16:19:23 <APic> Jan 5 16:59:39 Zarniwoop kernel: [ 173.713852] nouveau 0000:01:00.0: fifo: INTR 00800000
16:19:26 <APic> Jan 5 16:59:39 Zarniwoop kernel: [ 173.714007] nouveau 0000:01:00.0: fifo: INTR 00010000: 00000002
16:19:29 <APic> Then it goes on spamming the last Message endlessly
16:20:02 <ais523> looks like the code was too complex for the GPU but there's a bug in the codepath that would recover from that
16:20:33 <int-e> ais523: I'm under the impression that it is the only one that purely depends on the CPU. Hardware that snoops busses may see interesting stuff as well.
16:21:32 <ais523> performance counters, perhaps?
16:24:45 <int-e> (and they do share the property of being woefully underspecified)
16:24:56 <b_jonas> random link http://www.gwern.net/Turing-complete
16:25:53 <ais523> I can also see the possibility of tying up an execution unit and then determining the fact that that's happened by seeing how a race condition resolves
16:26:08 <ais523> which is not technically the same thing as timing
16:28:25 <b_jonas> ais523: right. you can sort of do timing by quickly increasing a counter in memory from one cpu thread and reading it from another cpu thread. not very reliable unless hyperthreading is enabled and you choose two cpu threads that share their L1 cache, but still works.
16:28:46 <b_jonas> that's abusing multi-thread memory access nondeterminism
16:29:55 <b_jonas> and there are other cpu-dependent ways to detect if something is in some level of cache, without timing or race conditions, like when some instruction sets have an instruction to throw away a cache line without writing it back to the slower cache or ram
16:30:52 <ais523> maybe you could do something similar with self-modifying code
16:31:25 <b_jonas> ais523: hmm... that would be harder in practice IMO
16:33:59 <b_jonas> ais523: you could also abuse the x86 transactional memory instructions, which make some internal details observable (though generally you're supposed to write code in a way that those details cancel out in the end)
16:34:12 <b_jonas> obviously that only works on new enough cpus that have them
16:34:42 <b_jonas> and yes, performance counters are obviously the easiest way
16:34:54 <b_jonas> intel cpus have a rich set of them
16:37:15 <b_jonas> but generally only the people who work on optimizing low-level stuff use them
16:57:00 -!- GautamS_ has joined.
17:01:15 -!- GautamS has quit (Ping timeout: 260 seconds).
17:18:15 -!- GautamS_ has quit (Quit: Leaving).
17:23:22 -!- oerjan has joined.
17:34:38 -!- Guest58342 has changed nick to Slereah.
17:41:12 <esowiki> [[Numberwang/Implementations]] https://esolangs.org/w/index.php?diff=53750&oldid=53749 * Unt * (-3) The interpolation algorithm was incorrect. Also, it's spelled "interpolate".
17:42:35 -!- rodgort has quit (Quit: Leaving).
17:46:56 -!- rodgort has joined.
18:05:17 -!- jaboja has joined.
18:22:49 <esowiki> [[Numberwang/Implementations]] https://esolangs.org/w/index.php?diff=53751&oldid=53750 * Unt * (+28) Well, this is no good for programs with lots of decimal places, but otherwise floating-point precision error would mess up with everything. Note also that int(x) truncates floats towards 0.
18:25:26 <int-e> another variant: http://int-e.eu/~bf3/tmp/moebius8.html
18:45:33 -!- Phantom_Hoover has joined.
18:45:33 -!- Phantom_Hoover has quit (Changing host).
18:45:33 -!- Phantom_Hoover has joined.
18:49:23 -!- oerjan has quit (Quit: Later).
19:53:02 <HackEgo> H4!b5at+kWls-8yh4Guq? ¯\(°_o)/¯
19:53:18 <ais523> somehow I'm not surrpised there were no results for that
19:53:44 <shachaf> Even though HackEgo is case-insensitive?
20:14:49 -!- `^_^v has quit (Quit: This computer has gone to sleep).
20:22:03 -!- `^_^v has joined.
20:34:45 -!- doesthiswork has quit (Ping timeout: 260 seconds).
20:54:40 <HackEgo> markdown//The markdown flavor of the day is nutella.
20:58:56 <zzo38> Is there a way to emit messages to the "dmesg" in user mode in Linux?
21:01:21 <ais523> zzo38: look at the man page syslog(3)
21:01:51 <ais523> that should explain how it works
21:03:03 <ais523> huh, this thing has a parameter value specfically for use by Usenet servers
21:04:19 <ais523> however I don't think dmesg specifically reads syslog output; it might be the other way round, e.g. dmesg is one of the inputs to syslog
21:06:23 <zzo38> I would think Usenet would have a separate log file
21:06:45 <ais523> right, actually syslog(3) is probably responsible for writing mail.log
21:06:54 <ais523> which explains how all the email-related programs can write to the same file
21:10:05 <zzo38> It says dmesg is for kernel ring buffer. Is it possible for user programs to write to that?
21:14:19 <zzo38> What is a good way to run a NNTP server? I would want to find a suitable one, and run a Unusenet server (I could run Usenet as well, although as far as I know, I am not authorized to do that).
21:22:17 -!- sleffy has joined.
21:49:24 -!- fungot has quit (Ping timeout: 272 seconds).
21:57:45 -!- contrapumpkin has quit (Quit: My MacBook Pro has gone to sleep. ZZZzzz…).
22:03:03 <zzo38> Do some computer programs that use punch cards to allow later columns of the card to override earlier columns in order that you can alter the data without needing a fresh card until it is full?
22:04:41 <int-e> flash card technology
22:05:18 <ais523> zzo38: they normally use a different method: if you punch every hole in a column then the column is treated as not existing, then you can put more data on the rest of the card to override it
22:07:31 <zzo38> Ah, OK. (Still, some programs may require specific columns to be used, in which case that doesn't help so much)
22:08:21 <ais523> this is why ASCII has a DEL character with code 127
22:08:22 <zzo38> (And MIX does not even have the mechanism you mentioned)
22:08:40 <zzo38> ais523: Yes, I have read before, that is why ASCII has that. (Still, punch cards don't normally use ASCII, though)
22:08:51 <ais523> right, ASCII was more for tape than card
22:13:04 <zzo38> The calendar program I write for MIX, allows you to override the year number (and only the year number) by punching additional holes into more columns; you do not need to repunch the entire columns previously used for the year (which may damage the structure of the cards maybe; but even if it doesn't, the computer is not necessarily compatible with punching an entire column, since MIX doesn't require that to work)
22:16:14 <zzo38> Actually you can do this for the text as well, just due to how it is working; later text on the same line of the same day will override previous texts, so it does do that too (without any special logic to deal with this).
22:32:12 -!- `^_^v has quit (Quit: This computer has gone to sleep).
22:35:37 -!- MrBismuth has joined.
22:39:08 -!- MrBusiness has quit (Ping timeout: 265 seconds).
22:41:47 -!- moony has joined.
22:52:01 -!- boily has joined.
22:52:08 <lambdabot> CYUL 052200Z 26020G30KT 1 3/4SM -SN BLSN BKN018 OVC030 M20/M24 A2969 RMK SF5SC3 SLP058
22:54:08 <lambdabot> CYVR 052239Z 08007KT 7SM -RA FEW008 SCT014 BKN018 OVC025 08/08 A2993 RMK SC1SC2SC4SC1 SLP138
22:54:43 <zzo38> Please tell me if you think anything important I may have missed in my printer protocol document
22:55:13 <boily> hezzo38. probably nothing?
22:59:34 <zzo38> Do you know if Microsoft Word will pay attention to page-break CSS properties when importing a HTML file?
23:08:17 <zzo38> The protocol I made up is a simple protocol, which could be used in many places including at a hotel to allow people who stay at a hotel to print from their computer on the hotel's internal network. (I can also recommend having an internal fax line, which is an alternative protocol that can also be used for printing.)
23:23:27 -!- jaboja has quit (Ping timeout: 256 seconds).
23:38:18 -!- jaboja has joined.
23:57:58 -!- jaboja has quit (Quit: Leaving).