ELLIOTTCABLE changed the topic of #elliottcable to: a _better_ cult ˙ ͜ʟ˙ embrace, extend, extinguish.
<incomprehensibly> hi ELLIOTTCABLE i like your pokemon a lot
yrashk_ has joined #elliottcable
manveru_ has joined #elliottcable
ohhmaar_ has joined #elliottcable
russfrank has quit [*.net *.split]
yrashk has quit [*.net *.split]
audy- has quit [*.net *.split]
manveru has quit [*.net *.split]
ohhmaar has quit [*.net *.split]
ohhmaar_ is now known as ohhmaar
russfrank has joined #elliottcable
manveru_ is now known as manveru
<alexgordon> incomprehensibly: TYPE THEORY
* alexgordon has rediscovered his love of abstract algebra
<incomprehensibly> alexgordon: <3
<incomprehensibly> alexgordon: i am in an analysis class and liking it a lot
<incomprehensibly> alexgordon: proving that 0 < 1
sharkbot has quit [Remote host closed the connection]
<incomprehensibly> haha
<alexgordon> incomprehensibly: pfft analysis is for physicists
sharkbot has joined #elliottcable
<alexgordon> :P
<alexgordon> _real_ mathematicians work from first principles xD
<incomprehensibly> huh?
<alexgordon> incomprehensibly: it's a joke :P analysis is less pure than algebra
<alexgordon> waaaay into the blue http://xkcd.com/435/
<incomprehensibly> right
<incomprehensibly> i'm having trouble seeing the differences sometimes
<incomprehensibly> since like, the first thing we did was talk about fields and rings and prove things from the field axioms
<alexgordon> incomprehensibly: well fields are definitely important to analysis :P
<incomprehensibly> like, analysis is about details and algebra is about generalizing
<incomprehensibly> is that a correct description
<incomprehensibly> i've always heard "groups, rings, fields" as the domain of basic abstract algebra :P
<alexgordon> incomprehensibly: the one I usually hear is that analysis is about change and algebra is about structure
<incomprehensibly> ok
<alexgordon> limits are fundamental to analysis, I guess you could call that details
<alexgordon> really the difference is though that analysis deals with structures too complicated to understand
<alexgordon> i.e. the real numbers
<alexgordon> ever read the definition of the real numbers? with dedekind cuts and all that
<incomprehensibly> yeah
<alexgordon> in analysis you say "ok, now that we know that, we'll NEVER speak of it again"
<incomprehensibly> like the first thing my book did was construct naturals, construct rationals, and then construct reals from dedekind cuts
<alexgordon> in algebra you say "ok, now that we know that, let's generalize it to the point where we don't care about such nonsense"
<incomprehensibly> mhm
<incomprehensibly> the reals are ridiculous
<incomprehensibly> python is such a great language
<alexgordon> incomprehensibly: just wish it had proper typing
<incomprehensibly> sure but it's pretty sensible though
<incomprehensibly> like it doesn't give me the creeping sense of panic that JS does
<incomprehensibly> it catches errors a lot earlier than a lot of other dynamic languages
<alexgordon> ya
<incomprehensibly> the best thing about python is the consistently of the standard library and the excellent docs
<incomprehensibly> consistency*
<alexgordon> I use python for a ton of stuff
<alexgordon> but
<alexgordon> 1. it sucks for making websites
<alexgordon> 2. static typinggggggggg
<alexgordon> I need it
<alexgordon> 1 is related to 2 :P
<alexgordon> I want a language with the elegance of python, the asynchronicity of node and the type system of haskell
<alexgordon> incomprehensibly: this is my new favourite website http://www.math.niu.edu/~beachy/abstract_algebra/study_guide/contents.html
<alexgordon> often with mathematics the core facts are hidden behind a mountain of prose and proofs
<alexgordon> when sometimes I just want to see the "header file"
<incomprehensibly> alexgordon: should i use c++, go, rust, or swift
<alexgordon> incomprehensibly: for what?
<incomprehensibly> generating audio
<incomprehensibly> potentially live, eventually
<incomprehensibly> but for now not live
<alexgordon> mmm
<alexgordon> not go
<alexgordon> go sucks
<incomprehensibly> you know what for live i'll eventually just use like fucking max or something
<alexgordon> not swift, swift sucks (for now)
<alexgordon> so it's between rust and C++
<alexgordon> personally I'd go for C++ because I'm biased
<alexgordon> rust is probably just as good
<incomprehensibly> ok going with c++
<incomprehensibly> iostreams are very overblown but like not bad
<alexgordon> oh I don't use iostreams
<alexgordon> that solves that :P
<alexgordon> printf ftw
<incomprehensibly> haha
<incomprehensibly> using fwrite for audioooo
<incomprehensibly> and then sox to play things
<alexgordon> I mostly try to follow the llvm style guide
<alexgordon> which is written by people who wrote a fucking C++ compiler, so surely they know what they're talking about
<incomprehensibly> haha yeah
<alexgordon> if THEY say iostreams suck, then iostreams suck
<incomprehensibly> going to use classes to represent like, samples or streams or something
<alexgordon> have you ever done any core audio?
<incomprehensibly> no
<alexgordon> good for you
<alexgordon> :P
<incomprehensibly> haha aight
<alexgordon> core audio has the messiest API, like an angry toddler sat down and decided to implement a low latency audio subsystem
<alexgordon> but, it's good experience if you want to write audio code
<incomprehensibly> hahaha
<incomprehensibly> i feel like low latency things are always gross
<incomprehensibly> :p
<incomprehensibly> that's why i'm doing this all .raw files instead
<incomprehensibly> fuck doing things is hard
<alexgordon> yeah if you're not doing live stuff audio is way easier
<incomprehensibly> so should i still do fwrite
<incomprehensibly> no iostream
<alexgordon> if you use iostream, remember to turn off "go slowly" mode
<alexgordon> which is on by default
<incomprehensibly> oh ok
<alexgordon> :P
<incomprehensibly> urgh how am i going to structure my t/radians/whatever stuff
<alexgordon> std::sync_with_stdio
<alexgordon> incomprehensibly: radians? in my audio?
<alexgordon> what are you making again?
<incomprehensibly> sine waves
<alexgordon> just that? lol
<purr> lol
<alexgordon> some inspiring music :P
<incomprehensibly> well like
<alexgordon> "reminiscences of a tone generator in autumn"
<incomprehensibly> they're a good ingredient in all kinds of music
<incomprehensibly> lol
<incomprehensibly> i just want a way to write things like "a sawtooth wave at this frequency"
<incomprehensibly> guh, i want to do have like easy stream connection stuff, but also the power of dropping down to some algorithms
<incomprehensibly> and pure data/max seems like it doesn't ahve the second and c++ doesn't have the first
<incomprehensibly> i want tempus ;+;
<alexgordon> incomprehensibly: why not haskell?
<incomprehensibly> i suppose haskell
<alexgordon> sounds like something haskell would be really great at
<incomprehensibly> yeah i guess
<alexgordon> play C
<incomprehensibly> i want python's generator comprehensions
<incomprehensibly> ok haskell is definitely a good idea for this
<incomprehensibly> i'll just do lazy lists, and then an IO thing for outputting that as audio
<incomprehensibly> lists of doubles or something
<alexgordon> so
<alexgordon> what is haskell's concept for IO without the I?
<incomprehensibly> what do you mean
<alexgordon> like in this there's no input, right?
<incomprehensibly> yeah
<alexgordon> so you're just generating a series of "play frequency X for time T" instructions
<incomprehensibly> well it's lower level than that
<alexgordon> it would seem that IO would be too heavyweight for that
<incomprehensibly> right?
<alexgordon> incomprehensibly: lower level?
<incomprehensibly> as in, not freuqency x for time t, just literal pcm data
<incomprehensibly> time series of amplitudes
<incomprehensibly> but anyway haskell has nothing but IO
<incomprehensibly> even in this case you use IO
<alexgordon> but don't you want a maximally pure core?
<alexgordon> if I were doing it, I'd take the list of (freq, t) instructions and have a function that generates the pcm for that
<alexgordon> which is easy enough
<alexgordon> but what is the correct tool for writing the abstractions over (freq, t)
<incomprehensibly> well i'm not just generating *a* sine wave
<incomprehensibly> so a list of (freq, t) seems to be the wrong thing to be generating
<incomprehensibly> also fuck purity, i just want to generate some fucking 24 bit samples :p
<alexgordon> LOL ok
<purr> LOL
<alexgordon> incomprehensibly: so you're doing different wave types?
<incomprehensibly> like i can definitely have pure like, midi-style score representations
<incomprehensibly> that i serialize down into pcm via some sort of voice
<incomprehensibly> like, note begin & end fed to synthesizers
<incomprehensibly> i can make a pure lofty framework for that
<incomprehensibly> alexgordon: how do you mean?
<alexgordon> waveforms
<incomprehensibly> well that's one thing i want to do i guess
prophile has joined #elliottcable
<alexgordon> incomprehensibly: so I had an idea, you can represent a rhythm as a list of positive and negative numbers. [1, -1, 1, -1] would be a rhythm on 1 and 3
<incomprehensibly> oh interesting
<alexgordon> you'd need a scaling factor
<incomprehensibly> there is a lot of cool stuff i can explore with this
<alexgordon> so you might have a scaling factor 1/2 so that each takes up half a beat
<alexgordon> or a non-power of two would give you more interesting rhythms
<incomprehensibly> ok haskell is going to be so great to write this with
<alexgordon> haha
<alexgordon> I knews it
<incomprehensibly> hmm now do i just go all out and use an frp library :p
<alexgordon> LOL
<purr> LOL
<alexgordon> clave = [1, -2, 1, -2, 1, -3, 1, -1, 1, -3]
<alexgordon> something like that anyway, maybe I should have used the 12/8 one
<incomprehensibly> man i want to model rhythmic things as like, multiple discrete waves with different phases and frequencies
<alexgordon> abstract, man
<incomprehensibly> well it's like how i think about rhythm a lot of the time
<incomprehensibly> like, something is either on beat or off beat, and sometimes switches at certain points
<incomprehensibly> hm idk
<alexgordon> I dunno, something can be between beats
* alexgordon zzzzzzz
alexgordon has quit [Quit: Textual IRC Client: www.textualapp.com]
<incomprehensibly> aw
nuck has quit [Quit: Nuck Off]
nuck has joined #elliottcable
nuck has quit [Excess Flood]
nuck has joined #elliottcable
oldskirt has joined #elliottcable
oldskirt has quit [Ping timeout: 246 seconds]
audy has joined #elliottcable
eligrey has quit [Quit: Leaving]
yrashk_ has quit [Changing host]
yrashk_ has joined #elliottcable
manveru has joined #elliottcable
manveru has quit [Changing host]
oldskirt has joined #elliottcable
oldskirt has quit [Ping timeout: 272 seconds]
Sorella has joined #elliottcable
Sorella has joined #elliottcable
prophile has quit [Quit: The Game]
oldskirt has joined #elliottcable
oldskirt has quit [Ping timeout: 272 seconds]
audy has quit [Changing host]
audy has joined #elliottcable
Cheery has joined #elliottcable
<Cheery> whoops
<Cheery> were on a wrong channel
Sgeo_ has quit [Read error: Connection reset by peer]
<katlogic_> YAY SCIENCE
oldskirt has joined #elliottcable
oldskirt has quit [Ping timeout: 246 seconds]
alexgordon has joined #elliottcable
<alexgordon> hmmmm
<alexgordon> HMMM
<alexgordon> I had been working on the assumption in furrow that "a + b" would mean the same as add(a, b)
<alexgordon> however it occurs to me that while that works for lists (which use append() not add()) it doesn't work for sets
<alexgordon> add({1, 2, 3}, 4) makes sense
<alexgordon> {1, 2, 3} + 4 does not
katlogic_ has quit [Ping timeout: 240 seconds]
katlogic has joined #elliottcable
oldskirt has joined #elliottcable
oldskirt has quit [Ping timeout: 272 seconds]
oldskirt has joined #elliottcable
Sorella has quit [Quit: Ex-Chat]
eligrey has joined #elliottcable
Sgeo has joined #elliottcable
eligrey_ has joined #elliottcable
oldskirt has quit [Ping timeout: 255 seconds]
eligrey has quit [*.net *.split]