devyn changed the topic of #elliottcable to: yorickpeterse is undergroin
<joelteon> hey guys, i have a question that i desire advice on
<alexgord_> joelteon: hi
Sgeo has joined #elliottcable
<devyn> jesus ~$12 trillion worth of bitcoins in existence
<devyn> whitequark: cool
<devyn> whitequark: haha, I thought about doing that, but then I remembered that it takes fucking ridiculously long to get money between exchanges and the fees involved are crazy in many circumstances
<joelteon> ok
<joelteon> hang on a sec
yorick has quit [Remote host closed the connection]
<whitequark> devyn: hi!
<devyn> whitequark: hi!
<whitequark> devyn: wanna continue?
<devyn> sure. I suppose I should make the candlestick chart
* whitequark nods
<whitequark> hm, I leak memory somewhere. :/
<whitequark> up to 36M from 10M yesterday
<devyn> valgrind it?
<whitequark> er, no
<whitequark> it doesn't use malloc of course, it has a generational gc
<whitequark> moving even
<devyn> er, yeah, lol
<purr> lol
<whitequark> but there's a variant of runtime with memory profiling, I'll install that
<devyn> ok
<devyn> GHC has pretty comprehensive profiling if you compile with rtsopts and profiling enabled
<devyn> so OCaml should have something similar I guess?
<whitequark> well, there's heap profiling and cpu profiling
<whitequark> ocaml's builtin cpu profiling frankly sucks, but it doesn't matter very much, because there's amazing linux perf tools
<whitequark> so you just compile a native executable and profile it as you would a C program
<whitequark> heap profiling is done with this custom runtime, I've never used it in the past
niggler has quit [Quit: Computer has gone to sleep.]
<whitequark> ocaml's tooling is not so amazing, but it has improved *a lot* recently
<whitequark> mainly due to a company (janestreet) dedicating a lot of very qualified people to production-quality software in ocaml
<whitequark> fun fact: "Jane Street is a quantitative trading firm with a unique focus on technology and collaborative problem solving."
<devyn> well, this firm seems to use Haskell too
<devyn> 65,000 LOC of Haskell is a lot though
<whitequark> true
<devyn> wow, litecoin really went high today
<devyn> it's back down roughly to what it was yesterday now
<devyn> but
<devyn> got up to 36.12
<whitequark> huh
wudofyr has quit [Ping timeout: 264 seconds]
alexgord_ has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
wudofyr has joined #elliottcable
eligrey has quit [Quit: Leaving]
<devyn> asjd;lkajs;ldkj <canvas> starts everything at 0.5
<joelteon> why
<devyn> guess their reasoning is your point of origin should be in the middle of the pixel, and it draws the whole pixel around it
<devyn> >.>
<whitequark> hahaha
<joelteon> oh right
<devyn> I'm thinking I should just translate(0.5,0.5) lol
<purr> lol
<whitequark> google for any best practices?
<devyn> oh, can't even do that
<devyn> so I have to add 0.5
<devyn> >_>
<devyn> huh
<devyn> I should be able to...
<whitequark> why can't you?
<devyn> I am, and it's having no effect
<devyn> meh.
<devyn> well, just adding 0.5 manually gives me nice, crisp lines
<devyn> so,
<devyn> whatever
<devyn> whitequark: cursor deployed.
PLejeck has quit [Changing host]
PLejeck has joined #elliottcable
PLejeck is now known as Nuck
<devyn> -nuck
<purr> devyn: shut up nuck you are a nuck
<Nuck> -nuck @ devyn
<purr> devyn: shut up nuck you are a nuck
<Nuck> devyn: I don't think canvas starts at 0.5, I think you're just supposed to add 0.5 on line drawing :U
<Nuck> To get crisp lines
<devyn> no, pixels literally start in the middle of the pixel
<Nuck> I've worked in <canvas> for the past... 5 years? at least
<Navarr> :| pixel fight?
<Nuck> I've never had anything start in the middle of a pixel
<Nuck> Except in line drawing with width an odd number
<devyn> pretty well every shape is the same, I think...
<Nuck> But that's because your values describe the line, not the stroke itself
<devyn> yes, and it draws the stroke around the line
<Nuck> the stroke is centered around the line
<Nuck> yeah
<Nuck> Which is why for crisp linework you're supposed to att 0.5
<Nuck> That's standard practice
<whitequark> devyn: awesome
<Nuck> origin should be 0,0 unless you've done a weird transform to it
<Nuck> :/
<devyn> it's ok I didn't end up translate(0.5,0.5)'ing
<devyn> because it didn't work anyway
<devyn> lol
<purr> lol
<Nuck> lol
<devyn> even though it should have...
<joelteon> so why do routers have range
<joelteon> but more specifically
<joelteon> why is mine bad
<Nuck> I'm telling you you're probably doing something funny devyn
<devyn> wireless signals have range joelteon
<Nuck> <canvas> works quite logical I'll have you know
<joelteon> but why
<whitequark> dissipation
<Nuck> Then again I'm mostly a graphics dev these days. Yay cairo!
<whitequark> inverse square law
<joelteon> oh
<joelteon> rats
<Nuck> joelteon: Why does yours have shitty range? I've heard placing the router away from other 2.4GHz devices helps for some people
<Nuck> Also stop building things out of cement
<joelteon> no idea where it is
<devyn> mine has fantastic range, but we've also got shitty drywall with wood frames
<Nuck> My house has pretty solid range, but we're wood framed lath and plaster
<whitequark> devyn: sounds like it would burn well
<Nuck> I think we need a bigger switch though. Damn solarcity demanding a port
<Nuck> whitequark: pyromaniac
<whitequark> Nuck: no I just like to watch things burn
<Nuck> "I'm not a pyro, I just like watching things burn"
<Nuck> Not creepy at all
<whitequark> exactly
<whitequark> Nuck: pot, kettle, etc
<Nuck> I retired from being creepy
<Nuck> Now I'm a boring programmer
<devyn> I like to watch things burn too
<whitequark> quick, set your house on fire!
<whitequark> *g*
<devyn> I'm rather attached to it, unfortunately
<devyn> it's also not exactly mine
<Nuck> devyn: Your family ties you up?
<devyn> Nuck: there's a reason I never leave
<Nuck> I assumed you were just a hikkikomori
<devyn> hikikomori*
<whitequark> cue ec splashing acid around
<devyn> (to make ec happy: 引きこもり)
<Nuck> ec moonrunes now what
<devyn> Nuck: he associates romaji with weeaboos
<Nuck> ah
<Nuck> It's okay, all my variable names are in kanji
<devyn> lol
<purr> lol
<whitequark> haha
<devyn> 車二百五十六 = 車二百五十六("こんにちは、世界");
<Nuck> 100% valid Ruby :D
<whitequark> true:
<whitequark> $ ruby-parse -e '車二百五十六 = 車二百五十六("こんにちは、世界");'
<whitequark> (lvasgn :車二百五十六
<whitequark> (send nil :車二百五十六
<whitequark> (str "こんにちは、世界")))
<devyn> and yes, I did just use 車 to mean SHA
<devyn> (it actually means wheel, but is read sha :p)
<joelteon> what's ruby-parse, whitequark
<joelteon> i want it
<joelteon> it's pretty
<whitequark> joelteon: github.com/whitequark/parser
<Nuck> heh
<joelteon> a ruby parser in ruby
<whitequark> the ruby parser
<joelteon> hey, it's only 2131 lines
<joelteon> the yacc source
<joelteon> or whatever that is
<joelteon> is that yacc
<whitequark> racc
<whitequark> ruby's yacc lookalike
<whitequark> also see lexer.rl
<Nuck> I really ought to learn yacc and stop writing shit by hand
<Nuck> I shouldn't enjoy handwriting things like that
<Nuck> but I do
<joelteon> wow
<joelteon> so today I learned that top-level function calls in ruby are sent to nil
<whitequark> joelteon: they're not
<whitequark> cf. ruby-parse -e 'nil.foo'
<Nuck> I was about to say aren't they sent to the whatsitcalled global
<devyn> er, no, they're sent to whatever the object is
<whitequark> devyn: that guy is really amazing translator
<devyn> [devyn] ~ - ruby -e "p self"
<devyn> main
<devyn> (fyi)
<Nuck> main? But that's not a constant in ruby
<joelteon> self
<joelteon> ok
<Nuck> i-is it?
<joelteon> self at the toplevel is main
<devyn> no, it's just an Object that inspects as 'main'
<Nuck> ah
<devyn> [devyn] ~ - ruby -e "p self.class"
<devyn> Object
<whitequark> devyn: it's an incredibly complicated technical text in japanese and he asked like two questions about it and I didn't edit it at all
<whitequark> except formatting
<whitequark> I don't think he has ever seen ruby or bison before
<devyn> whitequark: seriously very impressed
<whitequark> twitter.com/TranslatorDude
<whitequark> also this:
<whitequark> This is actually a pretty high-level technique – generously (ab)using [活用\逆用 :)] the LALR(1) up to the (1).
<devyn> hm, why was it necessary to include the japanese words? that's basically exactly what that means
<whitequark> can't quite remember now
* devyn ♪ Maximum The Hormone - Rei Rei Rei Rei Rei Rei Rei Rei Ma Ma Ma Ma Ma Ma Ma Ma Ma
<devyn> lol
<purr> lol
<whitequark> I remember that band name from somewhere
<whitequark> ooh right, death note
<devyn> I've decided it's a parody metal band
<devyn> because they're impossible to take seriously
<Nuck> devyn: Better parody is GWAR
<Nuck> whitequark: I figured as much
<devyn> Nuck: omg this is amazing
<whitequark> ewwww
<whitequark> hahahhaa
<whitequark> that's disturbing. and hilarious.
<Nuck> ... I think the guy in back isn't even wearing pants
<Nuck> I think he's just in briefs and some weird ropes on his legs
<Nuck> OH GOD THEYU ZOOMED IN ON HIS BUTT
<Nuck> He's not wearing anything to cover his bum D:
<Nuck> ... he's wearing nothing but a codpiece
<devyn> I love the giant green dick
<Nuck> I'm sure you do
<devyn> devyn: wat.
<purr> beep.
<devyn> (I had to.)
<Nuck> It needed it
<devyn> > I think it was the part where the lead singer screamed about getting a job and waved around an enormous phallus.
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
<devyn> hahahahaha
<whitequark> what the hell
<devyn> we have
<devyn> an interesting parliament
<whitequark> that's... not a parody?
<devyn> nope
<whitequark> oh
<whitequark> oh.
<devyn> ikr
<whitequark> devyn: our one: http://www.youtube.com/watch?v=UIi3qelegr0
<devyn> wow
<whitequark> yeah.
<devyn> that poor lady, too :(
<whitequark> there's a few ladies who deserve that *shrug*
<purr> ¯\(º_o)/¯
<devyn> the world would be better off if arguments didn't get to that point
<whitequark> there's a sad joke about it
<whitequark> "everything is bad in Russia, so people deserved to resurrect Stalin. the scientists did a good job, so here he stands, more alive than ever. people: everything is bad, what do we do, Stalin?
<whitequark> Stalin: execute everyone in the government and paint Kremlin blue
<whitequark> people: but, why blue?
<whitequark> Stalin: so there's no objections to execution"
<devyn> because blood is red, or...?
<whitequark> no. the idea is that no one doubts the absolute incompetency of government, so it's not even a question
<whitequark> or rather, even less of a question than something so insignificant as the color of kremlin
<devyn> oh, I get it haha
<whitequark> you know what pisses me off
<whitequark> storing money in float
<devyn> especially bitcoins :/
<whitequark> worst of all, btc-e seems to actually serialize floats to json
<whitequark> (you technically can serialize bigdecimal to json without quotes. ocaml's yojson can do that)
<whitequark> because of visible rounding errors
<whitequark> >0.01000994
<whitequark> it's not even double?..
<devyn> well, it could have been someone's bot that did that
<whitequark> mhm, perhaps
<devyn> I know for a fact that there are people making simple bots with limited programming experience
<whitequark> I think bitcoins are divisible down to 8 decimal places
<whitequark> and all derivatives seem to work the same way, since they all share codebase
<devyn> at the moment, though I believe that's subject to change
<devyn> potentially
<devyn> idk
<whitequark> that's... 27 binary digits
<whitequark> so I could conceivably store them as fixed point, 32.31 numbers in ocaml's 63-bit ints on amd64
<whitequark> how the fuck do you convert fractional part of a fixed-point number to string
<devyn> iteration
<whitequark> meh
<devyn> so, yes you could, but nothing else seems to be that accurate anyway and it would just make all of your math and everything slower
<devyn> well, the official bitcoin client I think is fixed point
<whitequark> well, fixed point math won't be slower
<whitequark> in fact it will be as fast or faster
<whitequark> serializing and deserializing, however...
<whitequark> ah, bitcoin internally uses 64-bit integers
<whitequark> I should fix that sometime
<whitequark> devyn: okayyy so
<whitequark> I wrote market depth sampler
<whitequark> how's you?
<devyn> tired and struggling lol
<purr> lol
<whitequark> why struggling?
<devyn> canvas was being stupid
<devyn> fill()ing a path
<devyn> doesn't work
<devyn> lol
<whitequark> huh
<whitequark> wrong point order ?
<devyn> anyway, switched do fillRect
<devyn> to*
fwg has joined #elliottcable
<devyn> whitequark: well, I'm going to have to stop here; I have an exam tomorrow. but check it out - I have a demo up of what I've done so far
<whitequark> devyn: nice, thanks!
Sorella has joined #elliottcable
Sorella has joined #elliottcable
Sorella has quit [Changing host]
fwg has quit [Ping timeout: 245 seconds]
fwg has joined #elliottcable
<cuttle> “I like putting uplifting elements in something that’s moody as fuck. Make them appear for a moment, and then take them away. That’s the sound I love…like embers in the tune…little glowing bits of vocals…they appear for a second, then fade away and you’re left with an empty, sort of air-duct sound…something that’s eerie and empty. Like you’re waiting just inside a newsagent in the rain…a little sanctuary, then you walk out in it. ...
<cuttle> ... I love that.”
_whitelogger has joined #elliottcable
fwg has quit [Ping timeout: 250 seconds]
alexgord_ has joined #elliottcable
Sgeo has quit [Read error: Connection reset by peer]
<whitequark> ARGGHGHWEWSDfsjkdlsdf
<whitequark> fucking internet dance
<whitequark> my landline is (hopefully temporarily) out of order, so I'm sitting on 4G
<whitequark> but there is barely any signal
<whitequark> the dongle can rx/tx quite well with just 1dB SINR
<whitequark> but, of course, it just randomly walks between -1dB and 1dB
<whitequark> you could sometimes get better results by repositioning it in space, presumably changing pattern of multipath interference or something, but
<whitequark> it's definitely not the only thing which matters, because I can unplug it, then plug it back and it's down to -3dB from 1dB
<whitequark> which means it also tries to automatically choose modulation and doesn't even report it
fwg has joined #elliottcable
<whitequark> devyn: do you ever clear the trade logs inside frontend?
<whitequark> after a while, switching takes ages
alexgord_ has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
alexgord_ has joined #elliottcable
yorick has joined #elliottcable
niggler has joined #elliottcable
fwg has quit [Ping timeout: 246 seconds]
<joelteon> ok, quick sanity check
<joelteon> if i build a binary on ubuntu 12.04 x64, will it run on centos 6.4 x64
eligrey has joined #elliottcable
fwg has joined #elliottcable
eligrey has quit [Quit: Leaving]
eligrey has joined #elliottcable
<alexgord_> joelteon: maybe
<alexgord_> joelteon: depends which dynamic libraries it's linked against
<joelteon> see, why didn't i think of that before
<joelteon> am i retarded
* alexgord_ is working on bilingual paragraph alignment again
<alexgord_> punctuation actually works pretty well
<alexgord_> like, question marks generally stay question marks
<alexgord_> and quotation marks are also kept
<alexgord_> this is by far the most interesting algorithm I've ever written though
Sorella has quit [Quit: Ex-Chat]
<joelteon> god i'm stupid
<dnyy> joelteon: i still ly
<joelteon> ty
duckinator has quit [Quit: Nickname collision due to Services enforced nickname change, your nick was overruled]
duckinator has joined #elliottcable
<devyn> whitequark: yeah, I limit it to 100 entries... I'll have to look into optimizing that bit. probably has to do with how I've arranged the array or something
<devyn> (I had noticed it before, btw)'
fwg has quit [Ping timeout: 250 seconds]
fwg has joined #elliottcable
<joelteon> chrome canary is a lot more useless than it used to be
<joelteon> so guys
<joelteon> turns out
<joelteon> i completely forgot about this, but
<joelteon> i can just use swap on digitalocean to build stuff using GHC
<yorick> EW
<yorick> EWEWEW
<joelteon> what
<yorick> swap
<joelteon> well, it's on SSD
<joelteon> i'd say it's a net positive based on how long it takes to set up an appropriate centos VM
<joelteon> also since I don't have to build, gzip, and upload
<devyn> that last part really should be automated lol
<purr> lol
<joelteon> well, it is
<joelteon> it's still a pain in the ass
<devyn> 'k
<alexgord_> holy shit this is working
<devyn> ?
<alexgord_> IT
<alexgord_> it's... working
<devyn> you got laid?
<alexgord_> haha
<alexgord_> no...
<alexgord_> but I SHOULD get laid for an algorithm this cool
<alexgord_> whitequark is the expert on that though
<joelteon> getting laid or algorithms
<alexgord_> getting laid by algorithms
<alexgord_> I can't remember the details
<joelteon> oh
<devyn> whitequark wrote a compiler; there's a lot of sex involved in that
<devyn> whitequark: optimized it. the optimal solution was, happily, the more elegant one
<alexgord_> omg it's actually working perfectly
<alexgord_> !!!!!!
* purr scolds alexgord_ and puts them in a time out.
<alexgord_> :(
<alexgord_> purr: I LOVE YOU
<purr> alexgord_: thank you! ^_^
<alexgord_> <3
<alexgord_> soooo ridiculously cool
<alexgord_> I've taught a computer to read
fwg has quit [Ping timeout: 240 seconds]
<cuttle> ELLIOTTCABLE: oh shit you're listening to because the internet?