2013-12-29 06:55
devyn changed the topic of #elliottcable to: 22:53:14 <+whitequark> also there was a fragment about Swiss embassy being located on top of a 1000-ft pole, inside which there was a gigantic arms exhibit
00:24
<
devyn >
whitequark: excellent. I miss flash animations
00:28
<
devyn >
whitequark: lol why the SO link… are you just amused that so many people didn't know what .PHONY was?
00:30
<
joelteon >
it's a weird name
00:31
<
devyn >
yes, I'm not really sure why "phony" was chosen when they could have said something more descriptive
00:31
<
devyn >
or just like
00:31
<
devyn >
even then, "fake target" isn't all that specific
00:31
<
whitequark >
devyn: no
00:31
<
joelteon >
or ignore
00:31
<
joelteon >
or virtual
00:31
<
devyn >
perhaps virtual
00:31
<
whitequark >
it has 256 votes and 64 favorites
00:32
<
whitequark >
I found that oddly satisfying
00:32
<
devyn >
also that 64*4 = 256
00:32
<
devyn >
and 64 ends in 4
00:37
<
whitequark >
hah I just learned one weird trick
00:37
<
whitequark >
there's a peripheral, it has memory-mapped I/O area and a enable bit in a register
00:38
fwg has joined #elliottcable
00:38
fwg has quit [Changing host]
00:38
fwg has joined #elliottcable
00:38
<
whitequark >
if you just know its base address, you can determine which bit enables it by doing (1 << ((addr - 0x4000_0000) >> 10))
00:39
<
whitequark >
basically the whole MMIO address space is delimited into slots (which, incidentally, correspond to bus matrix ports)
00:39
<
whitequark >
and each bit is carefully laid out to be associated with the corresponding slot
00:39
<
devyn >
that makes sense then
00:40
<
whitequark >
it's not documented tho
00:40
<
whitequark >
at all.
00:40
<
devyn >
until you encounter some peripheral that doesn't follow it ;)
00:40
<
whitequark >
I've accidentally stumbled upon it in someone's else code
00:40
<
whitequark >
it's preserved in all of STM32's chips
00:41
<
whitequark >
they actually do this shit incredibly carefully, for example they have
*compatible registers* across series with different
*CPU architectures*
00:41
<
whitequark >
with different word width.
00:41
<
whitequark >
ie, stm8 and stm32
00:47
<
devyn >
this is a bizarre nop or something o_O
00:48
<
devyn >
55:66 66 2e 0f 1f 84 00 data32 nopw %cs:0x0(%rax,%rax,1)
00:48
<
devyn >
5c:00 00 00 00
00:58
<
whitequark >
it's used as padding
00:58
<
whitequark >
and yes, it is
00:58
<
devyn >
but it's still odd
00:58
<
whitequark >
eh not really
01:00
<
devyn >
also, I can't seem to get clang to generate a 'rep stos' type instruction for this for loop rather than a generic loop
01:00
<
devyn >
is 'rep stos' not as fast anymore?
01:00
<
whitequark >
what's your clang incantation?
01:01
<
devyn >
code or command line invocation?
01:01
<
whitequark >
cmdline
01:01
<
devyn >
optimization wise, just -O2
01:02
<
whitequark >
set -mcpu=core2 or i7 or something
01:06
<
devyn >
hm clang doesn't appear to support that
01:08
<
whitequark >
does it not?..
01:09
<
whitequark >
-mtune
01:10
<
devyn >
yeah, that worked, but clang is still generating a branch loop
01:10
<
whitequark >
llvm version?
01:10
<
whitequark >
then it's either not faster, or clang just can't do shit
01:10
<
whitequark >
try gcc
01:11
<
whitequark >
then compare cycles with perf
01:11
<
devyn >
okay I shall
01:12
<
whitequark >
... the fuck
01:12
<
whitequark >
I ran perf top
01:12
<
whitequark >
why do my music player spend 10% in libspeexdsp?!
01:12
<
whitequark >
it's decoding fucking mp3s
01:16
<
joelteon >
good lib name
01:17
<
whitequark >
joelteon: what's about it?
01:18
<
devyn >
wow, dat optimization... I
*thought* I was forcing clang to actually produce the memory clearing loop by printf()-ing an offset of the piece of memory
01:18
<
devyn >
but instead clang just deduced that it would be equal to the constant
01:18
<
devyn >
so just printf'd the constant
01:19
<
whitequark >
scalar evolution
01:19
<
whitequark >
ask llvm to print scev info for loops, it's rather insightful
01:22
<
devyn >
I love LLVM
01:22
<
whitequark >
I love it too
01:22
<
whitequark >
let's have a threesome
01:28
<
devyn >
whitequark: holy shit, clang just optimized my for loop into a memset() call
01:29
<
joelteon >
devyn: i wonder if I would get good performance on unscramble with my old algorithm if I used logicT
01:30
<
devyn >
I don't know, it seems to clever to be performant
01:31
<
devyn >
see performance-related answer
01:33
<
whitequark >
... the fuck should that even do
01:34
<
devyn >
whitequark: ok, if I compile with -ffreestanding to avoid the memset() invocation it generates the branch loop as before. I'll try GCC now
01:35
<
joelteon >
good old maybe
01:35
<
devyn >
GCC generates an even less optimal branch loop
01:35
<
devyn >
I think inline assembly might be the way to go here
01:36
<
whitequark >
waitwaitwait
01:37
<
whitequark >
why the fuck are you using -O2 for optimizing tight loops which are likely parallelizable with SIMD?!
01:37
<
whitequark >
and -mtune.
01:37
<
devyn >
I don't have the FPU initialized yet in my environment
01:37
<
whitequark >
SSE* arent dependent on FPU afaik
01:37
<
devyn >
hmm, osdev.org said to use -mno-sse* though
01:37
<
devyn >
I can try I guess
01:37
<
whitequark >
actually
01:38
<
whitequark >
initializing fpu is one instruction
01:38
<
whitequark >
fninit
01:38
<
whitequark >
why the fuck do you even bother
01:39
<
devyn >
haha really? there's nothing more to it?
01:39
<
devyn >
I honestly hadn't looked into it
01:39
<
whitequark >
well, yeah, I assume you don't want to detect it
01:40
<
whitequark >
because fuck <=486
01:40
<
devyn >
it's x86_64 anyway so an FPU is guaranteed
01:40
<
whitequark >
there may be some relevant cr4 bits
01:40
<
whitequark >
CR4.OSFXSR enables SSE
01:40
<
whitequark >
CR4.OSXMMEXCPT enables its exceptions
01:40
<
devyn >
yeah looking at that page now
01:41
<
devyn >
good to know
01:41
<
whitequark >
>To distinguish a 287 and a 387 FPU
01:41
<
whitequark >
necrophiliacs
01:42
<
devyn >
some people on there really do try to support extremely old hardware though
01:42
<
devyn >
some of them even have old machines to run on
01:42
<
whitequark >
well I do need a pentium I
01:42
<
whitequark >
by the way can you send me one?
01:42
<
whitequark >
maybe II or III would also suffice
01:42
<
devyn >
send you a pentium I?
01:42
<
whitequark >
three words: hardware lpt port
01:42
<
devyn >
why can't you get one?
01:42
<
whitequark >
well idk, I can
01:43
<
whitequark >
maybe you have one though
01:43
<
devyn >
well I mean unless there's another reason, I don't have one, so I'd have to go looking for one, and then it would be the same, just with another level of indirection
01:43
<
whitequark >
then don't :)
01:44
<
devyn >
"This was Intel's very first processor"
01:44
<
whitequark >
*facepalm*
01:46
<
devyn >
gensym-name-stickiness:like-teflon
01:46
<
whitequark >
exactly
01:47
<
devyn >
I guess the "like teflon" part was just an amusing subtitle
02:13
yorick has quit [Remote host closed the connection]
02:17
<
cuttle >
my compiler so far:
02:17
<
cuttle >
main = putStrLn "hi"
02:21
listogib has joined #elliottcable
02:23
listogib was kicked from #elliottcable by devyn [listogib]
02:24
<
devyn >
jesus I don't know whether this is some kind of spam op or what
02:24
<
devyn >
but random nicks from the Ukraine and Czech Republic are joining every channel
02:24
<
devyn >
random words, one channel per nick
02:26
fwg has quit [Quit: gone]
02:29
listogib has quit [Remote host closed the connection]
02:36
<
devyn >
seems to be pretty widespread according to #freenode
02:37
<
devyn >
I guess someone's just testing out their botnet
02:37
<
devyn >
not sure what they're going to do though
02:39
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
02:51
eligrey has quit [Read error: Connection reset by peer]
02:51
eligrey has joined #elliottcable
03:04
<
devyn >
sweet, we have vectorization
03:05
<
devyn >
that was really quite painless
03:06
eligrey_ has joined #elliottcable
03:07
eligrey has quit [Ping timeout: 240 seconds]
04:12
<
joelteon >
I am officially
04:12
<
joelteon >
mining dogecoin
04:13
<
joelteon >
because the exchange rate with btc is improving
04:13
<
devyn >
litecoin is still more worthwhile to mine, if you're in it for the money
04:13
<
joelteon >
does that uses scrypt
04:13
<
joelteon >
so thats GPU
04:14
<
devyn >
um, most things are GPU mined
04:14
<
devyn >
well bitcoin is ASIC now
04:14
<
devyn >
almost entirely
04:14
<
devyn >
but that's because there are so many good SHA256 ASICs
04:14
<
joelteon >
i really don't know anything about coin
04:15
<
joelteon >
i've just picked up random factoids
04:15
<
joelteon >
from the internet
04:15
<
devyn >
I know quite a bit
04:15
<
devyn >
so, ask me stuff if you want to
04:15
<
joelteon >
okay, well, i'm not in it for the money
04:15
<
joelteon >
but i'm interested in namecoin
04:15
<
joelteon >
how do I get started with that
04:16
<
devyn >
I believe namecoins have to be mined alongside bitcoins
04:16
<
devyn >
and since you can't really mine bitcoin with a GPU
04:16
<
devyn >
it's probably better to just mine litecoin or something
04:16
<
devyn >
exchange to bitcoin
04:16
<
devyn >
and buy namecoins
04:16
<
joelteon >
or i could buy an asic
04:16
<
devyn >
nah, by the time you get it it won't be very profitable anymore
04:16
<
devyn >
that's how it generally works
04:17
<
joelteon >
how should I mine litecoin
04:17
<
devyn >
like I said just mine litecoin
04:17
<
devyn >
get on a pool
04:17
<
joelteon >
so that uses my GPU
04:17
<
devyn >
I use wemineltc
04:17
<
devyn >
and use that with cgminer
04:17
<
joelteon >
ok joining
04:18
<
joelteon >
it asks for a security question
04:18
<
joelteon >
I like this already
04:18
<
joelteon >
Getting Started
04:19
<
joelteon >
ok, stratum auth failed
04:19
<
joelteon >
what am I doing wrong
04:20
<
joelteon >
register new worker
04:20
<
joelteon >
i could read the setup guide
04:20
<
devyn >
reading is good
04:20
eligrey_ is now known as eligrey
04:21
<
joelteon >
there we go
04:21
<
joelteon >
that was easy
04:21
<
joelteon >
wow, 10.84Kh/s
04:21
<
joelteon >
that sounds like shit
04:22
<
devyn >
uh... yeah that is shit
04:22
<
devyn >
what are you using
04:22
<
joelteon >
I think I'm using my macbook...
04:22
<
joelteon >
gpu management
04:22
<
joelteon >
0 is producing 6.991Kh/s, 1 is producing 8.284
04:22
<
devyn >
threads yes
04:23
<
joelteon >
only one thread in use, it says
04:23
<
devyn >
what kind of hardware does your macbook have
04:23
<
devyn >
CPU and GPU
04:23
<
joelteon >
2.6GHz core i7
04:23
<
joelteon >
Intel HD Graphics 4000 1024 MB
04:23
<
joelteon >
whatever the fuck that is
04:24
<
devyn >
no dedicated graphics?
04:24
<
joelteon >
i have a geforce gt 650M
04:25
<
joelteon >
i don't know how to tell which GPU it's using, or anything
04:26
<
devyn >
you have both
04:26
<
joelteon >
integrated and dedicated
04:26
<
joelteon >
which is why it lists 2
04:26
<
devyn >
the Intel graphics are built in to the CPU
04:26
<
joelteon >
that doesn't explain why the performance is so bad though
04:27
<
joelteon >
it explains why the integrated graphics are shit
04:27
<
devyn >
yes it does; the GeForce GT 650M is low end
04:27
<
devyn >
and it's also NVidia
04:27
<
devyn >
NVidia cards are great for graphics but not so good for non-floating-point compute
04:27
<
joelteon >
KHash rates may appear too low if they're under 500 KH/s
04:27
<
joelteon >
yeah a little bit
04:27
<
joelteon >
I give up
04:27
<
devyn >
in fact they're really shitty for integer compute
04:27
<
joelteon >
i'm retiring
04:28
<
joelteon >
i'm going home
04:28
<
devyn >
I have a Radeon HD 7950
04:28
<
devyn >
it can do 600 kH/s
04:28
<
cuttle >
1 up-to 16 with-step: 4
04:28
<
devyn >
cuttle: wat
04:28
<
devyn >
what is that
04:30
<
cuttle >
devyn: it might be the syntax of my language but i have no idea
04:31
<
devyn >
cuttle: look, enabling SSE is so easy o_o
04:31
<
devyn >
I thought it was hard
04:32
<
joelteon >
how much does a single namecoin name cost
04:32
<
joelteon >
is 1nc = 1btc
04:32
<
cuttle >
what's sse
04:33
<
devyn >
joelteon: no, look at btc-e
04:33
<
devyn >
a single namecoin is like $5 atm I think
04:33
<
joelteon >
i didn't want to pay fucking $700 for a domain name
04:34
<
joelteon >
someone sell me 1nmc worth of btc
04:34
<
devyn >
joelteon: get a namecoin wallet and let it sync (will probably take the whole night)
04:34
<
devyn >
and then I can send you one
04:34
<
joelteon >
how do I do that
04:36
<
devyn >
...download namecoin
04:36
<
devyn >
let it sync
04:36
<
joelteon >
from dot-bit?
04:36
<
joelteon >
the SSL certificate expired over a year ago
04:36
<
joelteon >
i'm scared
04:37
<
devyn >
seriously I just googled 'namecoin'
04:37
<
joelteon >
so I get to build it too
04:37
<
devyn >
that was first result
04:37
<
joelteon >
yeah, i'm using duckduckgo
04:37
<
devyn >
so what are you talking about
04:37
<
joelteon >
turns out
04:37
<
joelteon >
its results are useless
04:37
<
joelteon >
in the general case
04:37
<
joelteon >
i have to already know about 70% of what i'm asking
04:37
<
joelteon >
sooo that's a bad idea
04:42
<
joelteon >
I should make a native OSX namecoin client
04:42
<
joelteon >
that'll be nice
04:43
<
devyn >
surely there's a port of bitcoin-qt somewhere that you can just apply the namecoin-related patches to
04:43
<
devyn >
pretty well all of the *coin software is just bitcoin-qt + patches
04:47
<
joelteon >
good idea
04:47
<
joelteon >
and they're all gross
04:48
<
devyn >
I think you can live with qt
04:48
<
joelteon >
not like i have a choice
04:56
<
joelteon >
believe it or not
04:56
<
joelteon >
namecoin-qt doesn't build on OSX
04:56
<
joelteon >
i'm astonished
04:57
<
devyn >
lots of things don't build on OS X lol
04:57
<
joelteon >
i'll go ask #namecoin
04:57
<
devyn >
probably a good idea
05:02
<
joelteon >
oh is THAT what that's doing
05:02
<
joelteon >
dogecoin is a patched version of bitcoin-qt too
05:02
<
joelteon >
no wonder
05:02
<
joelteon >
nothing wrong with qt-based apps, other than the fucked up text boxes and progress bars
05:02
<
joelteon >
and the fact that they don't support retina
05:02
<
joelteon >
and that the fonts are wrong
05:02
<
devyn >
wrong, dogecoin is a patched version of litecoin-qt, which is a patched version of bitcoin-qt :)
05:03
<
joelteon >
but on linux, you're used to that sort of thing
05:03
<
devyn >
lack of retina, sure, fonts being wrong, no
05:03
<
devyn >
qt looks fine on linux
05:04
<
joelteon >
yeah lol
05:04
<
devyn >
it's actually pretty easy to get font antialiasing set up so it doesn't look awful on linux
05:04
<
devyn >
I don't know why everyone always complains about that
05:05
<
devyn >
honestly I used OS X for development for quite a while
05:05
<
devyn >
a few years
05:05
<
devyn >
but I'm actually really enjoying my current setup on linux
05:05
<
devyn >
with xmonad
05:06
<
devyn >
at least with Arch I can install something and it takes like 10 seconds
05:06
<
devyn >
I don't have to worry about compiling anything
05:06
<
devyn >
or whether it will be compatible
05:06
<
joelteon >
i liked that about arch
05:06
<
joelteon >
didn't like a bunch of other stuff though
05:06
<
devyn >
well anything graphical is your own fault, generally; you can do anything you want
05:07
<
joelteon >
yeah, I guess I could patch Qt
05:07
<
joelteon >
can't be that hard
05:07
<
devyn >
lol not what I mean
05:07
<
joelteon >
I hope not
05:07
<
devyn >
that would probably take a lot of work, though I'm actually not certain
05:07
<
joelteon >
i think it would, based on qt's build time
05:07
<
devyn >
Qt might actually support high-dpi screens by now
05:08
<
joelteon >
i hope so
05:08
<
joelteon >
I want to like it
05:08
<
joelteon >
unlike java
05:08
<
devyn >
yes, Qt 5.0 added support for higher DPI displays, and Qt 5.1 is supposed to further refine it
05:09
<
joelteon >
devyn, if you try to send me btc now, will something break since my wallet isn't up to date
05:09
<
devyn >
but I don't know whether it instantly works or whether applications have to support it
05:09
<
devyn >
no, nothing will break, you just won't get it until it's up to date
05:09
<
devyn >
you've got the bitcoin client right?
05:09
<
joelteon >
i have the namecoin client
05:09
<
joelteon >
do i need the bitcoin one
05:09
<
devyn >
joelteon: why don't you just sign up for btc-e
05:10
<
devyn >
never mind?
05:10
<
devyn >
I'm not sure
05:10
<
joelteon >
you didn't say to
05:10
<
joelteon >
i'm confused
05:10
<
joelteon >
just tell me what to do
05:10
<
joelteon >
i want a nmc domain
05:10
<
joelteon >
that's all
05:10
<
joelteon >
i'll pay you five dollars if that's what it takes
05:11
<
joelteon >
devyn, what do i do now
05:11
<
devyn >
a namecoin domain costs 0.01 NMC apparently
05:11
<
joelteon >
do i continue synchronizing my namecoin wallet
05:11
<
joelteon >
or should i stop
05:11
<
devyn >
yes just leave it synchronizing
05:11
<
devyn >
I think you need it
05:15
<
devyn >
registration is done like this, I guess
05:15
<
joelteon >
yeah you use namecoind to register it yourself
05:15
<
joelteon >
>using a third party
05:16
<
devyn >
the whole point is that third parties should be entirely unnecessary with this :p
05:16
<
devyn >
obviously it's not the most user friendly thing
05:16
<
devyn >
it's not that popular either
05:16
<
devyn >
so I don't think that's a huge concern at the moment
05:17
<
joelteon >
ok so nmc costs 5 cents
05:17
<
joelteon >
it's gonna be way more expensive in awhile
05:17
<
joelteon >
or maybe not
05:17
<
devyn >
no, nmc does not cost 5 cents
05:17
<
devyn >
a namecoin
*domain* costs 5 cents
05:17
<
devyn >
which is 0.01 NMC
05:18
<
joelteon >
and then renewal is free
05:18
<
devyn >
well technically it renews any time you update it at all
05:56
<
devyn >
god I love jazz
06:32
<
devyn >
> The i487SX was marketed as a floating point unit coprocessor for Intel i486SX machines. It actually contained a full-blown i486DX implementation. When installed into an i486SX system, the i487 disabled the main CPU and took over all CPU operations. Although Intel took measures to require the presence of an i486SX for i487SX to function properly, Intel admits that some systems can function with i486SX absent. Intel however cautions that such configura
07:10
<
cuttle >
devyn: yeah re jazz
07:11
<
devyn >
it's just so fantastic
07:11
<
cuttle >
what stuff have you been listening to
07:11
<
devyn >
basically all of Hiromi Uehara's stuff
07:11
<
devyn >
amazing jazz pianist
07:11
<
devyn >
really good
07:17
<
cuttle >
i haven't checked out really any japanese jazz but i've heard it's big there
07:17
<
devyn >
and she tends to use neat synthesized instruments a bit sometimes
07:19
<
cuttle >
have you listened to like
07:19
<
cuttle >
miles davis
07:20
<
devyn >
possibly, I can't remember
07:20
<
devyn >
I only just rediscovered jazz
07:20
<
devyn >
I listened to it a lot when I was young
07:21
<
cuttle >
miles davis is an absolute genius; the album "kind of blue" is like top all time albums
07:21
<
cuttle >
ooh this is bluesey
07:21
<
devyn >
yeah, some of her stuff is
07:32
<
cuttle >
i just love how improvisational and human jazz is
07:32
<
cuttle >
like look at them laughing at each other
07:32
<
cuttle >
conversing through the music
07:33
<
devyn >
I'm listening to "Keytalk" right now, and half way through she sort of discovers a middle eastern riff
07:33
<
devyn >
and expands on it
07:33
<
devyn >
I love it when that happens
07:33
<
cuttle >
yeah it's way cool
07:34
<
cuttle >
where are you listening to it?
07:35
<
devyn >
yeah I was going to show it to you but I couldn't find it on YouTube
07:36
<
cuttle >
cool thanks
07:40
<
cuttle >
devyn: have you listened to any uk garage
07:40
<
cuttle >
been listening to a ton the past few days
07:40
<
cuttle >
and more generally just a bunch of futurey beat music
07:41
<
devyn >
possibly, but not recently
07:41
<
devyn >
I've been listening to softer music lately because I find it helps with concentration
07:43
<
devyn >
ah yeah I've heard this kind of stuff before
07:43
<
devyn >
I'm really not good with genre names :p
07:43
<
cuttle >
it's kind of where burial came out of
07:45
<
devyn >
funny enough Wikipedia actually has a full song
07:45
<
devyn >
as an example
07:45
<
devyn >
Visions by Ascent
07:45
<
devyn >
pretty good
07:47
<
devyn >
I love how visual this is
07:47
<
devyn >
the comments have little diagrams
07:51
<
cuttle >
haha nice ascii art
08:04
eligrey has quit [Quit: Leaving]
12:17
yorick has joined #elliottcable
13:13
alexgordon has joined #elliottcable
13:43
Sgeo has quit [Read error: Connection reset by peer]
14:25
niggler has quit [Ping timeout: 272 seconds]
15:02
<
alexgordon >
type? geddit?
15:07
<
devyn >
how do I red black tree @_@
15:09
<
alexgordon >
devyn: that font is UGLY
15:10
<
alexgordon >
the kerning is ALL WRONG
15:10
<
devyn >
alexgordon: yes, it is the BIOS font, what do you want
15:10
<
devyn >
did you notice the kernel/ bit
15:10
<
devyn >
this is running right on top of nothing
15:11
sharkbot has quit [Remote host closed the connection]
15:11
<
alexgordon >
well get a better motherboard
15:11
sharkbot has joined #elliottcable
15:11
<
devyn >
it's standard and it's QEMU :p
15:11
<
alexgordon >
then it's not running on top of nothing!
15:11
<
devyn >
well, emulated nothing
15:15
<
devyn >
I haven't slept yet.
15:16
<
devyn >
this is driving me insane
15:16
<
devyn >
FUCKIN' TREES
15:17
<
devyn >
I have one of those clocks that projects on the ceiling
15:18
<
whitequark >
I'll publish it when I'll have an HTTP server working over CDC-ECM
15:30
Nuck has quit [Quit: Nuck Off]
15:37
<
devyn >
sun is rising.
15:37
<
devyn >
guess I'm not sleeping
15:46
<
devyn >
I should really get around to writing a printf()
15:46
<
devyn >
not having it makes you miss it a lot
15:49
tabany has joined #elliottcable
15:50
tabany was kicked from #elliottcable by devyn [tabany]
16:05
<
yorickpeterse >
wat
16:05
<
yorick >
devyn is not good at banning.
16:06
<
yorick >
or he's high
16:06
<
yorick >
alexgordon: that's monospace, it looks like that
16:07
<
yorickpeterse >
yorick: so you're gonna set off massive fireworks tonight like a true Dutch man?
16:08
<
yorick >
I'm going to enjoy watching other people light their expensive things on fire, like a true Dutch man.
16:08
<
yorickpeterse >
I had a party in Amsterdam but the trains stop at 20:00 and don't go until 05:00 and ofc nobody has a couch left over
16:08
<
yorickpeterse >
so I"m probably going to code/play vidya
16:08
<
yorickpeterse >
like usual
16:08
<
yorick >
is your company still enjoyable?
16:08
<
yorickpeterse >
which reminds me that I need to hustle down to Albert Heijn to get snacks
16:08
<
yorick >
and is it doing well?
16:09
<
yorickpeterse >
so far we are
16:09
<
yorick >
excellent :)
16:09
<
yorickpeterse >
didn't you write Prolog or something?
16:10
<
yorick >
I know some prolog
16:10
<
yorick >
but a lot of things written in it are shit
16:10
<
yorickpeterse >
that's a mix of prolog, bash, Tcl/tk, bundled shared linux extensions and 2GB training files
16:10
<
yorickpeterse >
lawl
16:10
<
yorickpeterse >
typical researchers crap
16:10
<
yorick >
the drawings are bad enough
16:10
<
yorickpeterse >
I probably have to stuff that in a Gem ._.
16:11
<
yorickpeterse >
even though I already said "lol no way"
16:14
<
yorick >
yorickpeterse: this is terrible, do I get paid for this? :P
16:14
ELLIOTTCABLE___ has joined #elliottcable
16:15
<
yorickpeterse >
haha
16:16
<
yorickpeterse >
I probably have to fix that pos myself at some point
16:16
<
yorickpeterse >
that's the only way I can probably get it going
16:16
<
yorickpeterse >
but I would not be surprised if the author was like "Lol fuck off this works for me"
16:16
<
yorickpeterse >
grrr researchers
16:16
<
yorick >
you could hire me, I have experience getting research POS prolog code to work on linux
16:16
<
devyn >
yorick: no I banned the whole range because there's bots from that range joining random channels on freenode every few hours
16:16
<
yorick >
the things I have seen
16:16
<
devyn >
it's kind of annoying
16:16
<
yorick >
I had to install an old version of eclipse classic!
16:16
<
yorick >
because things were only available in its plugin system!
16:23
ELLIOTTCABLE__ has quit [Ping timeout: 240 seconds]
16:23
ELLIOTTCABLE___ is now known as ELLIOTTCABLE__
16:23
duckinator has quit [Ping timeout: 240 seconds]
16:24
sharkbot has quit [Ping timeout: 240 seconds]
16:24
duckinator has joined #elliottcable
16:24
<
whitequark >
oh god the drawings
16:24
<
devyn >
whitequark: drawings?
16:25
<
whitequark >
on yorickpeterse's page
16:26
duckinator is now known as Guest57701
16:26
<
yorick >
whitequark: those are typical dutch drawings from the 1930s
16:27
Guest57701 has joined #elliottcable
16:27
Guest57701 has quit [Changing host]
16:31
<
whitequark >
(apt-get install xmp to play)
16:31
fwg has joined #elliottcable
16:33
Guest57701 is now known as duckinator
16:34
<
devyn >
if those are XMs, I believe timidity will play them if you have that installed, and so should VLC
16:36
<
whitequark >
iirc timidity doesn't play it right
16:36
<
whitequark >
and vlc simply can not
16:36
<
whitequark >
ah, no, vlc works just fine
16:36
<
whitequark >
I last tried that several years ago
16:37
<
devyn >
of course, if you really want the whole experience, you play it in an actual GUI tracker
16:37
<
whitequark >
the one from Orion also had an excellent picture of Chuck Norris
16:37
<
whitequark >
*that* is the whole experience.
16:38
<
whitequark >
gotta find it.
16:38
<
whitequark >
wow, a 30MB Nero setup file
16:38
<
whitequark >
that's... almost unbelievable
16:41
<
devyn >
that is fantastic
16:41
<
whitequark >
I've actually found the executable too, but can't download it (no seeders).
16:41
<
whitequark >
it is.
16:42
<
whitequark >
I know for a fact it runs fine under Wine.
16:42
<
devyn >
keygens bloody should
16:42
<
devyn >
if they don't, they're doing something malicious :p
16:43
<
whitequark >
other things with good 8-bit music: civilization 1
16:43
<
whitequark >
it's a rather good game in general, too.
16:43
<
whitequark >
don't forget to run it in DOSBox and select the PC Speaker emulation, not some pesky AdLib or Soundblaster
16:43
<
whitequark >
those are way more inferior
16:45
niggler has joined #elliottcable
16:55
sharkbot has joined #elliottcable
16:58
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
17:33
eligrey has joined #elliottcable
17:42
alexgordon has joined #elliottcable
18:09
<
devyn >
I mean obviously it's bender from futurama
18:09
<
devyn >
but what's he saying
18:10
<
niggler >
devyn it must involve his shiny metal ass
18:24
<
whitequark >
devyn: crap
18:24
<
whitequark >
this is... exceptionally hard to translate
18:25
<
whitequark >
okay. so you know that at winter, rivers are covered with ice
18:25
<
whitequark >
and at spring, that ice breaks and starts to float downstream
18:26
<
whitequark >
there's an idiom, "лёд тронулся", which, taken literally, means exactly that process
18:26
<
whitequark >
"тронулся" is a verb meaning "to start going", you could apply it to, for example, a train
18:27
<
whitequark >
it is especially applicable in a context where the train has been standing for an extended period of time, and you've been waiting, and it has
*finally* started to go
18:27
<
whitequark >
in other words, you can apply it to the very start of some promising process, eagerly waited for
18:28
<
whitequark >
(it) the verb itself, but especially the idiom
18:29
<
whitequark >
now, another meaning of "тронулся", somewhat vernacular, is "to go mad"
18:29
<
whitequark >
this explains that weird picture of ice at the top right corner: it's a wordplay on literal interpretation of idiom
18:30
<
whitequark >
I've barely scratched the surface, though!
18:31
<
whitequark >
there's a russian satirical novel "the twelve chairs" by ilf and petrov, an excellent one, it has produced quite a few expressions which entered the general vocabulary
18:31
<
whitequark >
you could say "memes", except it was about a century ago
18:33
<
whitequark >
so that explains the outfit. now the text.
18:33
<
whitequark >
he quotes (of course) that novel, saying "лёд тронулся, господа присяжные заседатели, лёд тронулся"
18:35
<
whitequark >
that
*could* be used in a context of law proceedings; literally that means "ice was broken, gentlemen jurors, ice was broken"
18:36
<
whitequark >
meaning something very interesting or important to the process was discovered
18:36
<
whitequark >
Ostap, however, does not say that in a court! he's a rather talented fraudster (not unlike Bender! they do have somewhat similar personalities)
18:37
<
whitequark >
and he uses that phrase as an exclamation while discussing his latest idea with his accomplices.
18:39
<
whitequark >
by the way, in the english translation the phrase is translated as "Things are moving, gentlemen of the jury."
18:39
<
whitequark >
you should read it.
18:39
* whitequark
is done
18:53
<
cuttle >
alexgordon: hm, for no rational reason i've never really gotten into f# or ocaml or anything
18:53
<
cuttle >
rubs me the wrong way for some reason
18:53
<
cuttle >
probably mostly syntactic. idk
18:55
<
whitequark >
f# is cute
19:03
<
cuttle >
one thing i dislike is the whole
19:03
<
cuttle >
statements thing
19:04
<
cuttle >
or iow assignments being expressions
19:04
<
cuttle >
and there being assignments
19:20
<
cuttle >
and rec let and shit
19:20
<
whitequark >
what about let rec?
19:21
<
alexgordon >
hi cuttle
19:21
<
alexgordon >
cuttle: I've played around with F#
19:21
<
alexgordon >
yeah there's something off about it
19:21
<
alexgordon >
I think it's the .NET :P
19:22
<
alexgordon >
whenever I see a MS technology all I think is "oh well that'll be gone in 5 or 10 years"
19:30
<
devyn >
whitequark: wow.
19:30
<
devyn >
I was not expecting that
19:30
<
devyn >
thank you for translating
19:31
<
devyn >
alexgordon: I feel that F# is just a way for all of the MS Research folks to use a functional language when they want to
19:32
<
devyn >
and I'm sure it was interesting to develop too
19:38
eligrey has quit [Ping timeout: 240 seconds]
20:18
vil has quit [Quit: Go, take flight.]
20:55
<
devyn >
ok, nap time
21:24
<
cuttle >
whitequark: I really don't like let rec
21:24
<
cuttle >
whitequark: it's a functional language, why not just fucking allow forward referencing
21:25
<
whitequark >
it's actually present more for syntactical reasons
21:25
<
whitequark >
let x = x + 10
21:25
<
whitequark >
can't do that with let rec
21:26
<
cuttle >
that's what i don't like about it
21:27
<
cuttle >
solutions: single assignment and having some other method of mutable state when you need it
21:28
<
whitequark >
um, let x = x + 10 is not mutable state
21:28
<
whitequark >
ocaml doesn't have mutable variables at all, you've got to use cells
21:28
<
cuttle >
I feel like having slightly uglier assignment is much less of a pervasive ugliness than slightly uglier recursion in a
*functional language*
21:28
<
cuttle >
oh ok what is it
21:28
<
whitequark >
it's
*not* assignment
21:28
<
whitequark >
it's rebinding
21:29
<
cuttle >
what's the important difference
21:29
<
whitequark >
let x = 1 in (let x = 2 in print x); print x
21:29
<
whitequark >
prints 2 1
21:30
<
cuttle >
you can do that in haskell
21:30
<
cuttle >
like, haskell has single assignment and no let rec
21:30
<
cuttle >
and you can absolutely do that
21:30
<
whitequark >
sure, it's a choice
21:30
<
cuttle >
no I'm saying, this doesn't get you anything
21:31
<
cuttle >
I don't see what your point is
21:31
<
whitequark >
this allows you to structure code in a particular way
21:31
<
cuttle >
what particular way
21:31
<
whitequark >
lemme find an example
21:40
<
cuttle >
you can indeed do that without rec let
21:40
<
cuttle >
haskell allows that
21:41
<
cuttle >
haskell just lets you have a block of definitions in every let
21:41
<
cuttle >
like lisps do
21:41
<
cuttle >
like, my problem is that
21:41
<
cuttle >
ocaml/f# view a definition as an event there is a before and after of
21:41
<
cuttle >
rather than viewing a program as a platonic set of definitions
21:42
<
whitequark >
what? no
21:42
<
whitequark >
it's just lexical scope
21:43
<
cuttle >
but you can't forward reference
21:43
<
cuttle >
unless you can in which case idk what i'm complaning about
21:43
<
cuttle >
but still why is rec necessary
21:43
<
whitequark >
ask #ocaml
21:43
<
whitequark >
they will explain it better
21:43
<
cuttle >
i'm wary of asking a language channel to defend their language
21:44
<
whitequark >
naw they're cool
21:44
<
whitequark >
also, don't phrase it in the way which requires defense
21:44
<
whitequark >
just "why is let rec necessary while you could avoid it"
21:52
vil has joined #elliottcable
22:03
<
cuttle >
whitequark: a question, becuase I'm not sure if I know what I'm talking about:
22:03
<
cuttle >
can you say
22:03
<
cuttle >
let x = y + 1
22:03
<
cuttle >
or does that error
22:03
<
cuttle >
at the top level
22:07
<
cuttle >
i don't like how it treats a whole program as a list of instructions
22:07
<
cuttle >
i like haskell's approach a lot better
22:07
<
cuttle >
like, defining a function should not be an operation
22:07
<
cuttle >
like, even c doesn't do that
22:07
<
cuttle >
c just needs forward delcarations because it's got a shitty syntax
22:07
<
whitequark >
cuttle: toplevel is special in ocaml
22:09
<
whitequark >
but no, you can't say that either way
23:10
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
23:30
eligrey has joined #elliottcable
23:37
eligrey has quit [Quit: Leaving]
23:57
PLejeck has joined #elliottcable