Fork me on GitHub
#off-topic
<
2016-02-26
>
johnjelinek05:02:36

does someone have a gif of upside_down_parrot ?

echristopherson13:02:11

@johnjelinek: you can get it in Chrome's dev tools, if you're using Slack through Chrome

heow14:02:33

oh god, goodbye productivity

jcromartie14:02:54

Agree or disagree: when you add or remove a business object from your system, you may create or drop some unknown number of tables from your RDBMS.

conormcd15:02:30

It depends. If the business object was synthesised from others, then no. If it was a primitive that was stored in the DB, then maybe.

conormcd15:02:30

You may also need the data to remain in the DB for accounting/auditing/reporting reasons.

conormcd15:02:55

It's highly context sensitive and can't be generally agreed or disagreed with.

jcromartie16:02:29

I don’t mean a type of business object, I mean a record

jcromartie16:02:44

say you have vehicle types, makes, and models

jcromartie16:02:46

that’s a bad analogy hold on

jcromartie16:02:59

OK how about music

jcromartie16:02:03

Artists, Albums, Songs

jcromartie16:02:20

when we add an Artist, we create tables for their albums and songs

jcromartie16:02:30

and then when we delete an artist, we delete their tables and songs

jcromartie16:02:50

you have “bon_jovi_albums” and “bon_jovi_songs"

jcromartie16:02:04

and of course a table “artists” with “bon_jovi” in it

jcromartie16:02:33

I’m 100% just bitching here BTW

jcromartie16:02:58

now let’s say we add a new type of thing that artists can have, like “concerts” or “merch"

jcromartie16:02:06

well, let’s just multiply out those tables!

jcromartie16:02:12

one for each artist

jcromartie16:02:13

or maybe not

jcromartie16:02:22

because maybe some artists don’t have a lot of stuff

jcromartie16:02:26

if they are “small” artists

jcromartie16:02:43

so we have “small_artists_albums” and “small_artists_songs” tables

jcromartie16:02:55

but maybe a concert doesn’t belong to an artist

jcromartie16:02:59

so it belongs to the system

jcromartie16:02:15

so those go in “system_concerts” where “system” is considered an artist

jcromartie16:02:36

bah, I’m done I just need to buckle down and do this

jcromartie16:02:23

oh and when we create IDs for songs and albums we need to bake the artist ID into it so we know which table it came from

jcromartie16:02:25

that’s a thing

jcromartie16:02:04

so the song Livin' on a Prayer might get an id in the database of “A342S1342_bon_jovi"

conormcd16:02:33

My answer still stands: It depends. 😛

jcromartie16:02:14

what if I told you that the only reason the schema is designed this way is because the DBA thinks that otherwise the tables might be too big and he doesn’t know how to set up partitioning?

jonahbenton18:02:41

@jcromartie heh, i have seen schemas like that, i suspect they are pretty common.

jcromartie18:02:12

where records of the same type are stored in various tables?

jcromartie18:02:01

Good news and bad news: we won’t be using invisible ASCII character 29 to delimit different values crammed into the ID of certain records, but this was the plan at one point.

jcromartie18:02:25

id fields are probably not where you should use invisible characters right?

jcromartie18:02:40

gah, I really have to stop bitching about this architecture

jcromartie18:02:00

I don’t know if this is a public channel archived somewhere on the internet for someone to find and get upset about

jonahbenton19:02:37

yeah- no kidding. couple of different reasons, in the old days, pre-widespread orm, lots of strange decisions arose out of the challenge of persisting object data with deep inheritance trees. more recently, have seen a few companies organized around independent teams moving with high velocity but all building a common application, naturally with a shared schema. the schema winds up being a kind of tragedy of the commons situation

jonahbenton19:02:50

i can see a dba, caught in the middle of a high velocity whirlwind, feeling the need to do what may be called pre-sharding 😉

michaellopez19:02:01

http://cap.virginia.edu/sites/cap.virginia.edu/files/Webinar-flyerv2.pdf - wondering in the back of my mind if this would be good for fp someday.

echristopherson19:02:22

@jcromartie: I just found an archive of this slack today, but I'm not sure it's supposed to exist

jcromartie19:02:52

nice, as if “leiningen” weren’t hard enough to spell simple_smile

jcromartie19:02:13

oops, wrong window

echristopherson19:02:04

Trying to start a new BASIC program, are we?

eggsyntax20:02:17

@borkdude: (belatedly) Python together with iPython is really nice for doing interactive shell stuff. https://ipython.org/ipython-doc/3/interactive/shell.html

eggsyntax20:02:27

There's also Plumbum, which I haven't used: https://plumbum.readthedocs.org/en/latest/

eggsyntax22:02:13

@echristopherson, "the people who harvest the flowers.” Nice simple_smile

slester23:02:32

I wonder if Clojure is the right language for a chat server, or if rust or some other language may be better