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