ChanServ changed the topic of #elliottcable to: drugs
sharkbot has quit [Remote host closed the connection]
sharkbot has joined #elliottcable
<devyn> 14:35:23 <@purr> <joelteon> you don't realize how much pressure there is for the cool kids to rub their faces in poop these days
<devyn> wat
<joelteon> dunno
<joelteon> i was probably making a point
yorick has quit [Remote host closed the connection]
<purr> <elliottcable> I'm going to do something to abstract my ANAL approach; and then tie in JSON-streaming / real-time updating.
<joelteon> I got the WORST
<joelteon> haircut ever
<joelteon> today
<devyn> joelteon: pics or it didn't happen
<joelteon> no lol
<purr> lol
<joelteon> that's not cool
<devyn> :p
<devyn> federal government is retarded
<joelteon> classic government
cloudhead has quit [Ping timeout: 240 seconds]
silentbicycle_ is now known as silentbicycle
alexgordon has quit [Quit: My iMac has gone to sleep. ZZZzzz…]
<joelteon> nice
eligrey has quit [Quit: Leaving]
<devyn> okay, this is my new favorite comic
<devyn> it's not very wordy, and the comedy is great
<joelteon> so many beat panels.
<devyn> yep, I like that though haha
<devyn> it's unusual
<joelteon> interestingly i can relate to it more than any other comic strip i've read
<joelteon> this one is hilarious
<devyn> joelteon: I don't get it
<devyn> lol
<purr> lol
<joelteon> that's the point
<joelteon> it's not a joke
<joelteon> but i think it's my favorite so far
silentbicycle has quit [Ping timeout: 240 seconds]
silentbicycle_ has joined #elliottcable
gozala has quit [Ping timeout: 240 seconds]
gozala has joined #elliottcable
<purr> <yrashk> super async MMORPG
gozala has quit [Quit: Connection closed for inactivity]
<devyn> gliiiiiiitch
yorick has joined #elliottcable
<purr> <vil> I don't actually wear my rug much anymore
prophile has joined #elliottcable
prophile has quit [Client Quit]
cloudhead has joined #elliottcable
alexgordon has joined #elliottcable
<purr> * whitequark read that as "dick-shaped break-down"
eligrey has joined #elliottcable
yorick has quit [Remote host closed the connection]
cloudhead has quit [Quit: Lost terminal]
<joelteon> so guys
<joelteon> if I wanted to do a chat server type thing
<joelteon> what's the best way to store messages
<joelteon> should i just shove them in a relational database
<glowcoil> joelteon: i don't see a problem with that
<joelteon> ok
<glowcoil> i think relational dbs provide much more flexibility for future changes than say key value stores
<glowcoil> haven't used either very much in practice though so maybe don't listen to me :p
<joelteon> sounds good
PragCypher has joined #elliottcable
<glowcoil> i think relational dbs represent kind of an ideal
<glowcoil> you like, throw each thing into a pot
<glowcoil> and just have efficient ways to get all things of a certain kind
<glowcoil> so, any and all structures and shapes are equally viable in the long run on the same dataset
<glowcoil> whereas key-value enforces a particular structure/shape
<glowcoil> so adding features is a crapshoot whether it fits right in or requires radical restructuring
<joelteon> yeah but document store
<joelteon> sum types in a database...
<joelteon> postgres isn't good at that
<joelteon> but it's "things that need to be messages" but they can look very different
<whitequark> glowcoil: what.
<purr> beep.
<whitequark> er scratch that purr
<joelteon> too late whitequark
<whitequark> you sound like you've just reversed "key-value" and "relational db"
<whitequark> joelteon: use postgres
<whitequark> it can do both relational and schemaless
<whitequark> bonus point, it can actually build indexes on schemaless data
<whitequark> a strict superset of some crap like mongodb ;)
<joelteon> i'm using postgres at the moment
<whitequark> well then stop worrying
<joelteon> ok
<joelteon> learn to love the bomb
<whitequark> if you want schemaless, take a look at hstore
<joelteon> yeah, that sounds good
<joelteon> but i'm pretty sure persistent is not able to read/update hstore values
<joelteon> damn impotence mismatch
<joelteon> maybe esqueleto can do it
<whitequark> use sql?
<whitequark> prepared queries
<joelteon> yeah, esqueleto can do raw sql
yorick has joined #elliottcable
yorick has quit [Remote host closed the connection]
<glowcoil> whitequark: how
<glowcoil> whitequark: how have i reversed them
<glowcoil> whitequark: key value supports one direction of lookups, from keys to values
<glowcoil> whitequark: rdbs are like just sets
<glowcoil> joelteon: did you mean impotence? :p
<glowcoil> (bc impedence)
<joelteon> yes
<joelteon> i absolutely did
<glowcoil> ok :p
<glowcoil> want to see my todo list
<glowcoil> to do:
<glowcoil> - end life
yorick has joined #elliottcable
<glowcoil> i'm going to build a tonality/harmony system around sqrt(2)
<glowcoil> because it's halfway between octaves
<glowcoil> it's like the platonic tritone
PragCypher has quit [Remote host closed the connection]
<glowcoil> whitequark: really though i'd like to hear your arguments re key/value
PragCypher has joined #elliottcable
<whitequark> glowcoil: well I mean, key-value is usually treated as a subset of nosql
<whitequark> and main difference between sql and nosql from structural point of view is that sql has schema and nosql is usually schemaless
<joelteon> ok i am right now working on getting hstore working with persistent
<alexgordon> hi glowcoil
<alexgordon> hi whitequark
<alexgordon> hi joelteon
<joelteon> hi alexgordon
<glowcoil> whitequark: yes, but you haven't really answered why you think i have it the opposite
<glowcoil> hi alexgordon
<glowcoil> whitequark: i think that schemas free you
<alexgordon> glowcoil: talk to me about brainy stuff
<joelteon> so i ran mtr all day yesterday
<glowcoil> alexgordon: so i just read some rudimentary dft explanations
<joelteon> the worst latency i got was 82 seconds
<glowcoil> alexgordon: and i want to do some dsp
<alexgordon> WHAT'S WITH THE ACRONYMS GUYS
<alexgordon> dft? oh discrete fourier transform
<glowcoil> alexgordon: and also i want to like, construct some tonalities
<glowcoil> yeah that seemed like something you'd be knowledgeable about :p
<joelteon> it's their fault, not mine
<alexgordon> glowcoil: I was thinking it sounded like a train line
<glowcoil> seems like it would be pretty simple to do a non-intelligent pitch-shifting algo
<whitequark> glowcoil: I'm too lazy to lay it out and tired of sql/nosql holywar anyway
<alexgordon> "I rode the DFT until I got to Mission"
<glowcoil> whitequark: i thought you were a fan of like static analysis stuff
<whitequark> glowcoil: I am
<PLejeck> There's an ways answer to "nosql or sql" and it's called "use a flat text file"
PLejeck is now known as nuck
<glowcoil> whitequark: also schemas are implicit in any data thing anyway
<nuck> s/ways/easy/
<whitequark> glowcoil: yes yes yes I know
<glowcoil> nuck: haha
<whitequark> 99% of what nosql crowd says is bullshit
<glowcoil> whitequark: it just does not seem like a thing you have to invest time in, at all
<alexgordon> you know reddit's is nosql
<whitequark> the rest postgres does as well
<alexgordon> based on postgres
<alexgordon> :P
<nuck> I store all my users passwords in DONT_LOOK.TXT
<whitequark> yes exactly
<alexgordon> they have a table with "keys/values"
<alexgordon> ...in postgres
<glowcoil> like here's an example
<whitequark> I bet they migrated to hstore already
* glowcoil digs up example
<glowcoil> so it's really nice
<alexgordon> thing about these nosql things is, I'd use them, but I don't trust them as far as I can throw them
<nuck> alexgordon: You're joking right?
<glowcoil> they use sets of coordinates
<alexgordon> nuck: nope
<nuck> They built a key-value store in a table?
<alexgordon> nuck: was well documented somewhere
<glowcoil> it's the same philosophy as rdbs
<alexgordon> nuck: yeeeeep
<joelteon> 50% packet loss
<joelteon> this is a little aggravating, i'm gonna be completely honest
<glowcoil> when you don't do things with like, one-way relationships like hashes or wahtever
<nuck> I can understand hstore as a field, but if you want key-value there's much better systems
<glowcoil> you get this freedom
<glowcoil> and that's what rdbs give you
<whitequark> nuck: like what
<whitequark> mongodb?
<joelteon> oh hey, you guys changed topics
<joelteon> now i know
<whitequark> *audience laughter*
<nuck> ... That's actually kind of valid now that I really think
<nuck> Nothing that would run at Reddit scale yet
<nuck> hrm
<whitequark> well I mean, if mongodb worked well you could probably run it at "reddit scale"
<whitequark> but what's the point?
<nuck> I mean, Redis will eventually have Cluster
<whitequark> hstore has *indexes*
<nuck> for key-value
<alexgordon> what I want is a redis that isn't so caviller with user data
<whitequark> nuck: hardly
<alexgordon> there's sqlite4 I guess
<whitequark> I mean, redis has clustering already but it's shit
<joelteon> kuhvalier
<nuck> And I'd argue Redis would be better than Postgres if you *just* had key-value
<whitequark> nuck: no
<nuck> Yeah the new Redis Cluster system seems pretty solid from the documents on the design
<whitequark> read up on how redis does replication
<alexgordon> nuck: thing is, you can basically take an axe to your motherboard and postgres won't lose data
<alexgordon> nuck: redis? not so much
<nuck> mmm
<whitequark> or aof compaction
<whitequark> it's like a very shitty rdbms
<whitequark> in that regard
<alexgordon> it's great for caching though
<nuck> I'd argue it's shit for caching
<alexgordon> LOL
<purr> LOL
<alexgordon> ok it's shit for everything
<whitequark> huh?
<nuck> Having used it for a cache a number of times, it's really quite crap at that
<whitequark> nuck: why?
<alexgordon> nuck: depends, if you want to cache complex data structures it's pretty good
<nuck> Last I checked it was essentially impossible to do an efficient rotating-log kind of cache
<alexgordon> for page caches, maybe it's overkill
<nuck> All you could do was fake it with TTL
<nuck> Which is, for all intents and purposes, useless on a site where you don't expect cache hits every few seconds
<alexgordon> that's true
<joelteon> i kinda like using postgres because it makes you almost instantly immune to absolutely any insult
<alexgordon> joelteon: Hahahaha
<nuck> memcached is probably a better option imo
<alexgordon> joelteon: "Nobody ever got fired for using postgres"
<glowcoil> joelteon: hahaha
<glowcoil> is postgres free in in the different ways you can be free
<joelteon> "hey guys, I wrote a web server entirely in postgres" "awesome, postgres rocks"
<nuck> I think I've used almost every database available at this point. Still hate them all
<joelteon> "hey guys, i'm gonna plan my wedding with postgres" "excellent, you'll never lose any data"
<alexgordon> nuck: sqlite3 <3
<nuck> Last night I tried to import my bookmarks from Chrome to Firefox
<nuck> And then I realized I just did 30,000 simultaneous INSERTs into a sqlite db
<nuck> And I went "oh fuck" and waited an hour for the query to complete
<alexgordon> nuck: use a transaction :P
<joelteon> use your mother
<joelteon> no but seriously, expression indexes are cool
<nuck> alexgordon: Doesn't fix the fact that it had hit a wall in I/O
<joelteon> i tried to make it so users can put basically any character in their usernames
<joelteon> but avoid visual confusion
<glowcoil> ok so postgresql is free beer & speech
<glowcoil> neat
<joelteon> learned a lot about unicode that week
<glowcoil> i had it as some form of proprietary/money in my brain
<whitequark> nuck: use a transaction, duh
<nuck> I can't help what Firefox uses
<joelteon> okay i think i've nailed it down
<whitequark> if you don't have to fsync every single query, it's way faster
<joelteon> i can watch youtube videos just fine
<whitequark> like orders of magnitude
<nuck> go send a patch to Mozilla, to prevent the entire process from locking up
<whitequark> think about it, each fsync implies at least one seek
<joelteon> if i try to do anything else, the router will COLLAPSE
<nuck> Yeah it probably wasn't a good query on their part
<joelteon> fuck
<whitequark> joelteon: 1) throw it out 2) buy something cheap with openwrt support (tplink?) 3) install openwrt
<nuck> All I know is that Firefox half stopped functioning for an hour
<whitequark> nuck: I think there was a recently fixed firefox bug about that
<nuck> I got a $30 router that I crammed dd-wrt on
<nuck> whitequark: oh thank god
<nuck> I should probably install Aurora so I can play with australis
<whitequark> $30? meh too much
<whitequark> I use a $20 router
<nuck> I think it was like $25 tbh
<whitequark> it was the cheapest one ever
<whitequark> openwrt barely fits in. I don't think I have a place for tcpdump
<nuck> Ours is just a Linksys N900
<joelteon> ours was provided by comcat
<whitequark> tl-wr841nd
<joelteon> comcast
<whitequark> I think
<nuck> oh no wonder
<whitequark> joelteon: so?
<whitequark> who the fuck cares
<nuck> Lemme guess joelteon, combination modem and router?
<nuck> Those combo boxes are notoriously bad
<joelteon> well i'm not the one that pays for internet
<joelteon> maybe i should
<whitequark> 1) get a shell 2) pry out the network parameters (usually VPI/VCI and maybe endpoints too) 3) buy non-shit one 4) use recorded parameters
<nuck> heh
<whitequark> 5) stab the comcast guy if he tries to protest
<nuck> Or, you could just ask comcast nicely
<whitequark> aim for liver
<nuck> For a simple modem
<nuck> And buy your own router
<nuck> Because they'll do that
<nuck> Or buy your own router, save $7 a month or something
<joelteon> the woman who owns the house
<nuck> er, own modem
<joelteon> she's sort of like my manager at work
<joelteon> you give her suggestions
<joelteon> and she says "yeah, that sounds good"
<joelteon> and you never hear about them again
<joelteon> she's /dev/null
<nuck> ouch
<glowcoil> i seriously really like this photo http://i.imgur.com/NicllDX.jpg
<whitequark> joelteon: I have a very simple way of dealing with such people
<whitequark> call every single day
<nuck> Until they get annoyed
<whitequark> until they realize it's easier to do whatever is done
<joelteon> "let's stop using comcast, i could send packets faster via carrier pigeon"
<whitequark> *needs to be done
<nuck> Yep, great system
<joelteon> ok
<joelteon> i'm on it
<whitequark> it's really very simple, you just need to show them that it is easier for you to pester them than for them to ignore you
<whitequark> a simple cost/benefit equation they understand very well
<nuck> glowcoil: Damn that kid is awesome
<whitequark> and possibly has OCD
<nuck> It's 100% true and actually I can say does work
<glowcoil> nuck: right?
<nuck> glowcoil: would highfive
<glowcoil> ya
<glowcoil> smokin on the finest dope
<glowcoil> aye aye aye aye
<glowcoil> drink until i can't no mo
<glowcoil> aye aye aye aye
<glowcoil> any other kendrick fans...?
<purr> <alexgordon> she sells csh by the C shore
<glowcoil> hahaha
<whitequark> hahahaha
* whitequark writes a gcode program
<whitequark> imagine an API for controlling a huge, fast, dangerous machine
<whitequark> and instead of functions named say rapid_move, feed_move or change_tool
<whitequark> you have G0, G1, G2, G3 and Tn M6
<whitequark> numbers are assigned with a fair dice roll
<whitequark> oh and some of the G-words are modal, for example G20/G21 switch between metric and imperial
<whitequark> and G90/G91 switch between interpreting X/Y coordinates as absolute or relative (!)
<whitequark> oh and there's no "reset" word to get a known configuration
<whitequark> ELLIOTTCABLE__ should get a stroke from this design
<whitequark> to change the coordinate system (another global mutable state) you need to invoke G10 L2 P1 Xn Yn Zn
<glowcoil> whitequark: shit
<whitequark> or L10 if you want those XYZn to be interpreted relative to current position
<whitequark> also P1 means it changes the G54 coordinate system
<whitequark> er L20
<whitequark> I don't think any values except L2 or L20 are ever used
<whitequark> now, surprise
<whitequark> this language also has subroutines with proper lexical scoping and recursion (!!), arbitrary expressions, variables, trigonometric functions, loops, etc, etc
<whitequark> it's not a turing tarpit by any measure, in fact it's about on par with C
<whitequark> typical program
<whitequark> well, a typical complex one
PragCypher has quit [Remote host closed the connection]
<whitequark> glowcoil: you'll enjoy this sentence
<whitequark> "G10 L11 is just like G10 L10 except that instead of setting the entry according to the current offsets, it is set so that the current coordinates would become the given value if the new tool offset is reloaded and the machine is placed in the G59.3 coordinate system without any G92 offset active."
<whitequark> this is basically the main UI for 95% of CNC machines in existence
<whitequark> awesome isn't it
<whitequark> oh and the other 5% are significantly more user-hostile
<devyn> glowcoil: yes! the girl! that's awesome
<devyn> whitequark: haha wow ugh
eligrey has quit [*.net *.split]
silentbicycle_ has quit [*.net *.split]
Sgeo_ has quit [*.net *.split]
eligrey has joined #elliottcable
Sgeo_ has joined #elliottcable
silentbicycle_ has joined #elliottcable
<devyn> check it outtt
<whitequark> devyn: what it is
<devyn> VGA text mode style console
<whitequark> oh okay
<whitequark> cool beans
<devyn> ^_^
<joelteon> rats, my websocket keeps closing