ELLIOTTCABLE changed the topic of #elliottcable to: #ELLIOTTCABLE — “do something cool, shove it into throats, everyone thinks it's crap, then it's all amazing.” “everything else is just details.”
<jvulc>
I guess.
<jvulc>
Entire event was "meh" outside of free Mavericks.
<purr>
<alexgordon> micahjohnston: eboyjr: 'it turns out that' clang doesn't support grapefruits
<whitequark>
wat
<accumulator>
jvulc: yeah
<accumulator>
jvulc: best thing to come out of it will be 1. the siracusa, 2. some posts by mikeash
<accumulator>
because OMG NEW OS X
<jvulc>
I don't even know what the fuck Mavericks is other than the billion Top Gun references and the fact it's newer. Haven't followed it.
<jvulc>
Hold on while I jizz in a cup over OpenGL 4.0.
<accumulator>
jvulc: it's really good actually
<jvulc>
I downloaded it and will either install it tonight or tomorrow.
<accumulator>
they've done a lot of work on power usage minimisation
<accumulator>
and other kernel things
<jvulc>
It's free, so props to Apple for doing Service Pack pricing.
<accumulator>
compressed memory!
<accumulator>
jvulc: heh when steve turned the company around he introduced a kind of "CHARGE FOR EVERYTHING" mentality, which was good because it worked...
<whitequark>
compressed memory?
<accumulator>
but what makes sense when you're a failing company doesn't make sense when you're one of the biggest companies by market cap
<accumulator>
whitequark: what it says on the tin
<jvulc>
This is basically a better, meaner, Forstall-free Mac OS .
<whitequark>
accumulator: so you mean basically what linux had in... 2005? *trollface*
<jvulc>
They basically throw all the underlying stuff that Mavericks does on one slide at their keynote ... basically they don't know what that shit does either.
<accumulator>
whitequark: pfft, tell me when linux gets coreaudio ;)
accumulator is now known as alexgordon
<whitequark>
alexgordon: dunno, what's good about coreaudio?
<alexgordon>
1. there's only 1 core audio
<alexgordon>
2. core audio works with every piece of pro equipment ever due to apple's monopoly on pro audio
<alexgordon>
3. core audio has low latency
<whitequark>
mmm
<alexgordon>
don't get me wrong, there's some serious technical debt in it :P
* jvulc
forgot what Linux audio is called ... fuck, I hate when I forget names of shit.
<whitequark>
no comment on 2), but a guy I know uses OSS4 (I think) and an rt kernel for audio
<alexgordon>
working with core audio is a bitch
<whitequark>
so the latency part is not exactly applicable
<whitequark>
drivers, I dunno. could be good could be bad.
<jvulc>
RetroArch and emulator developers rave about audio latency vs. Android.
<whitequark>
oh, Android is an entirely different thing
<jvulc>
It's true. Core Audio's got their shit together on iOS.
<whitequark>
it has a mixing layer in software above kernel
<whitequark>
that's pretty fucking bad
<whitequark>
alexgordon: it's a problem of software in general
<alexgordon>
particularly linux audio though
<whitequark>
I mean, fucking look at Microsoft
<jvulc>
If Caustic even remotely reports audio latency correctly, best case scenario, Android gets about 40ms latency.
<whitequark>
they *do* have a near-monopoly, or at least had
<whitequark>
and they have the same shit with standards.
<alexgordon>
because audio isn't particularly glamorous per se
<whitequark>
(if deliberate!)
<whitequark>
jvulc: that sounds about true
<alexgordon>
it's also hard as hell
<alexgordon>
so the only reason you're going to work on it is if you get your name at the top of the credits
<alexgordon>
i.e. you make your own incompatible audio layer
<whitequark>
something something pulseaudio
<whitequark>
aka the most moronic thing after (or is it before?) systemd
<alexgordon>
(or you get paid to do it)
<whitequark>
alexgordon: well, you get a lot of hard parts for free in linux
<alexgordon>
also servers don't need audio usually
<alexgordon>
it's more a desktop/workstation thing
<whitequark>
linux is by far not only servers
<alexgordon>
and all the pro people use OS X (or perhaps windows)
<whitequark>
you forget about tons of industrial control applications
<alexgordon>
so nobody is going to fund work on linux audio
<whitequark>
and that's where you really need latency
<whitequark>
including, surprise, actual audio equipment, what do you think it fucking uses
<whitequark>
but I sure agree that apple's monopoly and consistent funding gives it quite a bit of advantage.
<jvulc>
Pulseaudio ... that's it! That's what I couldn't remember the name too. Having a series of "duh" moments here.
<whitequark>
jvulc: it's poettering.
<whitequark>
poettering, adj.: bloat, bugs, extreme case of NIH.
<alexgordon>
whitequark: there's also a chicken/egg because there's no drivers for linux audio eqipment which means nobody uses linux for audio, which means it doesn't get improved
<whitequark>
alexgordon: that's not true
<jvulc>
Apple's captured the niche market of people wanting $3000 machined aluminum trashcans and there's no escape.
<alexgordon>
jvulc: 7 teraflop trashcans
<alexgordon>
whitequark: for example RME makes the gold standard of audio interfaces. do they support linux? nope
<alexgordon>
which kind of defeats the purpose of spending thousands of dollars on RME's magical drivers
<alexgordon>
(plus some magic equipment that works with it ;)
<alexgordon>
anyway, I forget why we were even talking about this
<whitequark>
I think you spend thousands of dollars on RME's magical FPGA firmware
<whitequark>
but whatever
<joelteon>
oh my god
<joelteon>
you pronounce "gyarados" "garados"
<alexgordon>
whitequark: kind of a mix :P
<alexgordon>
joelteon: lol
<purr>
lol
<joelteon>
i thought it was gyro-dos or something
<joelteon>
what the fuck is the Y for
<alexgordon>
yeah that's how I want to say it
<alexgordon>
but
<alexgordon>
I haven't felt the need to pronounce "gyarados" for many years
cloudhead has quit [Ping timeout: 272 seconds]
<jvulc>
How'd we get on Pokemon?
<jvulc>
Also, X and Y are awesome games.
<joelteon>
oh somebody said gyarados in a video i was watching on youtube
<joelteon>
and I was like "hey, that can't be right"
<joelteon>
but it was
alexgordon has quit [Quit: Computer has gone to sleep.]
<purr>
<gqbrielle> damn.
eligrey has quit [Quit: Leaving]
<whitequark>
devyn: btw
<whitequark>
recall the simulator discussion?
<whitequark>
I just remembered how I had a carpet with city infrastructure drawn on it
<whitequark>
and my brain wanted more, and more flexibility of it
<whitequark>
stupid brain. it knows it doesn't have the capacity to perform city planning on any kind of major scale neither the willpower to actually learn the underlying theory, yet it desires.
<prophile>
I'm looking at implementing an STL compiler (slightly too late)
<prophile>
it watches the way your code actually runs, then compiles it to something that would have been fast once it's finished
<whitequark>
yorick: well exactly!
<whitequark>
the JIT is so smart you have no idea what it's actually doing unless you are *specifically a developer of that JIT*
<whitequark>
even just understanding JITs in general doesn't work
<yorick>
the proposed solution is stop caring about performance :)
<whitequark>
oh and don't even think about memory usage
<whitequark>
well
<whitequark>
that's where it's generally headed
<whitequark>
and fuck that. the culture of worse is better. seriously, fuck it so much.
<yorick>
I mean you should still not do stupid things, but writing |0 instead of Math.floor are things that are stupid and outsmarted by the JIT
<yorickpeterse>
FUCKING HIGHLIGHTS, I THOUGHT I FIXED THEM
<prophile>
|0 looks almost like a perlism
* prophile
evaporates
<yorick>
ohi yorickpeterse :D
<whitequark>
yorick: outsmarted by *one specific* jit
<whitequark>
and have basically no guarantees for other jits
<whitequark>
also consider that e.g. webkit has *four tiers* of them
<yorick>
whitequark: generally changing your algorithm has a far greater effect than micro-optimizations
<whitequark>
yorick: what about when you already use an optimal algo?
<whitequark>
which is, majority of the cases.
<whitequark>
think about all those guys writing games in webgl. if you can improve render loop by 50%, it means the difference between 40fos and 60fps.
<yorick>
whitequark: they made asm.js for less moving parts
<yorickpeterse>
lol asm.js
<purr>
lol
<whitequark>
don't even ask me about asm.js
<yorick>
whitequark: also, around 20:15 the video has an example optimization
<yorickpeterse>
whitequark: you seen that thing that compiles JS to Lua for microcontrollers or something?
<yorickpeterse>
I thought that was pretty funny, going from JS to Lua
<whitequark>
tessel?
<yorickpeterse>
Yeah I think that's the one
<whitequark>
I think it's good tech
<whitequark>
and seemingly a very strong team
<yorickpeterse>
idea wise maybe, but the whole "EVERYBODY KNOWS JS" mantra is getting on my nerves
<whitequark>
well, they've got quite a bit of things together apart from js
<whitequark>
and on mine too
<whitequark>
prophile: (fewer) thanks btw, I always forget that
<yorickpeterse>
whitequark: also
<yorickpeterse>
GIVE US FOUNDRY ALREADY DAMN IT
<yorickpeterse>
I DON'T LIKE C/C++/D ENOUGH
<yorickpeterse>
Though D is a hell of a lot better than C/C++
<whitequark>
well
<whitequark>
go learn ocaml and/or rust
<whitequark>
imagine the same but with ruby object model and metaprogramming
<whitequark>
decide if you wanna it
<yorickpeterse>
Rust is too young, ocaml I'm not really sure about yet
<yorickpeterse>
Not a huge fan of the ML inspired syntax
<yorickpeterse>
My only real issue with D so far is that it doesn't have any proper runtime reflection
<yorickpeterse>
or a system similar ro Ruby's Object#send
<yorickpeterse>
you can only do that using static strings that are known during compilation
PragCypher has joined #elliottcable
<whitequark>
foundry doesn't have runtime reflection either
Cypher has joined #elliottcable
Cypher is now known as Guest77102
<yorickpeterse>
does it have something similar to Object#send that works on non static input?
<yorickpeterse>
that is, something like `herp_derp = 'user input here ....' send(herp_derp)`
PragCypher has quit [Client Quit]
Guest77102 has quit [Client Quit]
<whitequark>
yorickpeterse: nope
<whitequark>
and it's by design.
<yorickpeterse>
boooo
<yorickpeterse>
In D as far as I currently understand you either end up with a gigantic switch or you have to start throwing function pointers around (if you want some kind of list of "callbacks" or w/e)
<ELLIOTTCABLE>
These are, before anything else, a replacement for exceptions. Error-handling.
<ELLIOTTCABLE>
They're *meant* to be non-local flow-control, because non-local flow-control is necessary to handle errors that didn't occur locally, but first *affect* you locally;
<ELLIOTTCABLE>
and most importantly, the goal is to integrate this mechanism with time-travel in such a way as to bring error handling *back* to locality.
<yorickpeterse>
yorick: ALAS POOR WHO?
<yorickpeterse>
ELLIOTTCABLE: are you high?
<ELLIOTTCABLE>
yorickpeterse: what?
<ELLIOTTCABLE>
yorickpeterse: sure hope not, 'cause I'm doing 124 on the highway while IRC'ing
<yorickpeterse>
get off IRC nerd
<ELLIOTTCABLE>
yorickpeterse: why do you ask?
<yorick>
ur a nerd
<yorickpeterse>
ELLIOTTCABLE: because of the whole "if insane code touches your code your code is insane" thing
<ELLIOTTCABLE>
Why's that make me high?
<yorickpeterse>
because it's a pretty dumb statement
<yorickpeterse>
"if somebody uses your bike and breaks their neck it's your fault"
<alexgordon>
hi ELLIOTTCABLE
<ELLIOTTCABLE>
Hi
<purr>
ELLIOTTCABLE: hi!
<ELLIOTTCABLE>
yorickpeterse: happy to discuss later. Driving.
<ELLIOTTCABLE>
Only came in to shoot my new API refinements at cuttle
erinspice_ is now known as erinspice
<erinspice>
hallo
<alexgordon>
hi erinspice
<jvulc>
Hi
<purr>
jvulc: hi!
<purr>
<Nuck> I love the feeling of blood on my dick
<yorickpeterse>
wat
cloudhead has quit [Ping timeout: 245 seconds]
<alexgordon>
yorickpeterse: what type of blood though o_O
<alexgordon>
A+? B-?
eligrey has joined #elliottcable
<purr>
<eboy> We need some command to murder the person who created the aforementioned command.
<purr\Paws>
[Issues] ELLIOTTCABLE comment on issue #6: Hint of an idea … using the execution *itself* as aforementioned mutex. (But doesn't staging something require ownership of it?) https://github.com/Paws/Issues/issues/6#issuecomment-26919766
<cuttle>
hi ELLIOTTCABLE
<cuttle>
yorickpeterse: look. say you have an expression 3 + x. if x is insane, 3 + x is also insane.
<cuttle>
yorickpeterse: additionally, if some code becomes insane and calls some function, that call of that function is also insane.
<joelteon>
oh so it's undefined behavior
<cuttle>
joelteon: not at lal
<cuttle>
all*
<joelteon>
no it has the same effect though
<cuttle>
you track the contagion of insanity
<cuttle>
so you can retry exactly what you need to
<cuttle>
yorickpeterse: it's not a question of fault and morality, so talking about using a bike and breaking their neck is entirely irrelevant
<cuttle>
yorickpeterse: insanity flows only in the direction of dependencies, so if you use a bike, the bike is sane, but you become insane, the bike doesn't become insane as well
<alexgordon>
cuttle: lolwat
<purr>
lolwat
<cuttle>
alexgordon: ...
<alexgordon>
insane?
<cuttle>
alexgordon: breaks invariants
<alexgordon>
pretty sure that's not a compiler term of art
<cuttle>
alexgordon: Something Is Wrong™
<cuttle>
...we've been calling this insanity for literal months
<alexgordon>
TIL that anodizing is tattoos for metal
<cuttle>
ELLIOTTCABLE: when you call a library, the library itself doesn't become insane; that particular call of the library is insane
<cuttle>
ELLIOTTCABLE: the thing though that may be problematic about this whole thing is that
<cuttle>
once you know something is insane why not just stop it spreading all together
<cuttle>
altogether*
<cuttle>
unless you like find out it's insane after the fact, in which case you can't ever throw away any data ever
<alexgordon>
reading this I get the impression that the reason apple is assembling stuff in the US is because jony ive wanted to make a Really Fucking Cool Factory
* alexgordon
goes on youtube to look at videos of pick and place machines
<cuttle>
ELLIOTTCABLE: also take a look at common lisp restars
<cuttle>
ELLIOTTCABLE: restarts
<ELLIOTTCABLE>
<alexgordon> TIL that anodizing is tattoos for metal
<alexgordon>
did you read the description of it
<alexgordon>
"Electrical current is run through aluminum in an acid bath, causing oxygen molecules to bond to aluminum producing a thin, uniform layer of aluminum oxide (basically: aluminum rust). Because this surface layer is porous, dye can be used to add nearly any color to the aluminum part before the surface is sealed."
<ELLIOTTCABLE>
<alexgordon> reading this I get the impression that the reason apple is assembling stuff in the US is because jony ive wanted to make a Really Fucking Cool Factory
<ELLIOTTCABLE>
Lol'ing
<purr>
Lol
<ELLIOTTCABLE>
So. Driving. But.
<alexgordon>
ELLIOTTCABLE: the most important question is ARE YOU GOING TO BUY ONE OF THESE?!
<ELLIOTTCABLE>
The library you call *may* become insane, if it has some global state that is touched/mutated by the insanity
<ELLIOTTCABLE>
It's just a light-cone, guys
<ELLIOTTCABLE>
Nothing to see here, move along and eat a dick
<ELLIOTTCABLE>
@ yorickpeterse, cuttle
<cuttle>
ELLIOTTCABLE: sure if it has global state
<ELLIOTTCABLE>
Re: stop it altogether … you CAN, but SHOULDN'T
<ELLIOTTCABLE>
Insanity is a bit erlangy.
<yorick>
ELLIOTTCABLE: you should totes make #elliottcableacademy a thing with subjects *I* want to know
<ELLIOTTCABLE>
Except instead of continuance by copious giving-up … it's continuance by copious trying-harder
<ELLIOTTCABLE>
yorick: wat
<yorick>
like haskell.
<yorick>
or erlang
<yorick>
or zfc set theory
<cuttle>
yorick: ELLIOTTCABLE doesn't know any of those
<cuttle>
haha
<cuttle>
i know haskell pretty well
<yorick>
or complexity theory
<cuttle>
but not the others in any detail
<ELLIOTTCABLE>
#IRCinacupholder
<yorick>
dammit ELLIOTTCABLE
<ELLIOTTCABLE>
yorick: wat i do
<yorick>
cuttle: where am I supposed to learn these things now? do I need to read *books* or something?
<cuttle>
haha
<cuttle>
wikipedia is wonderful
<cuttle>
and so are online things like learn you a haskell and irc and mailing lists
<cuttle>
:p
<cuttle>
that's how i learn
<alexgordon>
yep
<cuttle>
well i am going to get lunch
<cuttle>
bye everyone
<cuttle>
o7
<cuttle>
it's ridiculous how like
<cuttle>
the continuum hypothesis is such an everyday example of godel's incompleteness theorem
<cuttle>
alexgordon: you know?
<cuttle>
anyway be back in a bit
<yorick>
the continuum hypothesis is any kind of everyday example?
<yorick>
but yeah it is something you can't prove/disprove