Fork me on GitHub
#off-topic
<
2018-02-13
>
Ryan Radomski00:02:18

Does anybody know of any blogs/rants/books/papers/whatever on managing database systems in a maintainable/simple way?

qqq00:02:33

There is a 'pot of eth', a timer, and a cur-leader If timer runs out, cur-leader gets some portion of the pot of eth If anyone submits > some fraction of current pot, they become cur-leader, and timer resets. It's like those 'penny uactions', but with eth.

tcarls01:02:19

@derpocious, ...one can think of mysql in a negative light for its development team's behavior in the late 90s with complete justification, no matter what they've done with the product since. Anyone who tries to promote the idea that relational integrity is overblown for common use cases doesn't deserve to be taken seriously ever again.

tcarls01:02:08

(and then their series of about-faces on "feature X is unimportant" as soon as they incorporated X -- for views, for transactions, for relational integrity enforcement...)

tcarls01:02:21

then again, I had the misfortune of being hired to maintain a commercial product -- an accounting system for car dealerships -- which had last been refactored by someone who drank the MySQL team's kool-aid when they were in the "if you aren't a bank, you don't need any of that data-integrity %$@$" mode.

dpsutton02:02:25

Anyone know of some good clojure snippets? Trying to think what I would like but the syntax is so terse I'm not sure they are super necessary

tbaldridge02:02:18

I haven’t touched MySQL since it sold out to Oracle. I thought most devs were on postgresql these days

seancorfield03:02:35

@tbaldridge It always amazes me what I get asked about for java.jdbc -- Postgres is certainly popular among Clojure devs (of the JDBC users), but Oracle and Teradata (wat?) are also popular based on requests I get.

seancorfield03:02:43

@tcarls We went fairly hard in with MongoDB for a while and it was great at first -- until we got to scale! At that point I was going to "high-scale" talks at MongoDB conferences and they told all sorts of horror stories about what it took to a) maintain performance at scale and b) even keep the server running at all...

seancorfield03:02:57

We had one collection that had half a billion documents and several with a hundred million or so. We pulled everything back into MySQL over a few years and things have been much more consistent and easier to maintain 🙂

tcarls03:02:19

@seancorfield, nod, one of my recent former employers was in a similar place with Mongo. Granted, my preferred-for-better-semantics document store is CouchDB, and it doesn't always scale as well as one might hope (at least in some fairly particular scenarios -- one horror story I'm familiar with involves trying to host a separate database for each of thousands of customers), but... they didn't make hype in the same directions as Mongo.

tbaldridge03:02:18

Here here for couch! Used that years ago and loved it.

seancorfield03:02:47

If we were starting afresh now, I'd probably use Datomic for a lot of stuff and ... I'm not sure what I'd use for all the append-only stuff for reporting ...

seancorfield03:02:24

Using Datomic for our core business model stuff would mean we could get rid of a lot of additional machinery we currently have for tracking changes over time.

tcarls03:02:20

The principal thing that gives me a significant amount of pause in reaching for Datomic is the pricing. Very fond of Datalog-as-a-language, and I've had fun experimenting with Datascript in some toy projects. And of course the level of thought and rigor put into design -- as one would expect from Rich -- is something I appreciate in a datastore.

tcarls03:02:53

It's easy to justify the cost of tools if one has a revenue stream, or is sure to have one before needing to scale beyond free-tier, but that's not always the case.

tcarls04:02:07

@seancorfield, I've been an Oracle user (at a now-long-dead startup), but because we were shanghaied into it -- one of our early investors owned a lot of Oracle stock and was insistent that PostgreSQL couldn't be trusted (I think this was somewhere in the PG 7.4-8.0 era, to give a rough timeline). Which, years later when Oracle decided not to renew our cheap "embedded" license said investor arranged and instead wanted to start charging ~$15k per unit we shipped, became a Problem... albeit a smaller one on the scale of other Problems the company was having at the time.

tcarls04:02:00

(this was a medical software company; our founder literally told a local doctor who'd been so impressed he quit his practice to sell our product "I'll make sure you never work in this town again", after he refused to mislead potential customers about the release timeline for an upcoming feature. The resulting lawsuit's settlement obligated our founder to never work in that town (Austin) again, resulting in his departure -- and the company's obligations under that settlement incurred a debt load that made the company's failure to make its overoptimistic revenue targets fatal).

seancorfield04:02:55

For a startup, particularly one going after investors, I'd probably never go with commercial software for the MVP -- scaling it is a huge risk when you're growing an early stage company. And, yeah, speaking from experience with a startup where we pounded the pavement around Mountain View and Sand Hill Road and investor after investor criticized our choice of commercial software for one component.

makiten04:02:35

@tcarls I never hear those kinds of stories from Austin (I'm about 45 minutes south of there.), but I could believe it if someone said it happened here or Houston.

makiten04:02:09

@seancorfield That makes me perfectly content with using MySQL or Postgres. I've read all the "We used X RDBMS until we could afford Oracle" posts, but since I was already in enterprise land, I was already dealing with whatever came out of Redwood City.

tcarls04:02:44

@makiten, nod -- most of Austin's startup community is ex-Trilogy folks, so they actually have a clue about how to run a company -- and the idea that they're working with a talent pool that's going to remember their behavior in deciding whether to join their next venture.

makiten05:02:28

I tried to get in with the community there around this time last year. I met a few people who were ex-Tivoli people, but lately I haven't seen the people I remember seeing as a kid.

bja06:02:35

the more I have to work on my company's android app, the more my heart fills with hate.

bja06:02:58

this has nothing to do with java and everything to do with UIs/layouts/resources

qqq10:02:19

ttfs tend to look blurry on font size 10

qqq10:02:30

are there any good bit map programming fonts ?

andy.fingerhut10:02:34

I've not used it, but some people seem to like ProFont: http://tobiasjung.name/profont/

polymeris17:02:45

Has anyone read any of these books? Worth the time? I am relatively proficient in Clojure, so not so much interested in the Clojure titles, but maybe the other ones, e.g. "Functional Thinking" or "Introducing Elixir". https://www.humblebundle.com/books/functional-programming-books

gneissguise18:02:48

I haven't read any of their clojure books yet, but I went ahead and purchased them.. It goes towards a good cause! I believe most of these are available for free in html format on the publisher's page if you want to check them out before you pay. Basically you're paying for the books in PDF format and helping a charity.

fellshard18:02:07

O'Reilly is usually pretty sound in its curation, in my experience.

seancorfield18:02:35

@polymeris I already had Clojure Programming (which I liked a lot) and Clojure Cookbook (which has some really useful "recipes" for solving common problems in Clojure), plus Real World Haskell (which I found to be one of the more approachable Haskell books).

seancorfield18:02:09

I bought the full bundle to get Becoming Functional, Functional Thinking, and Living Clojure (mostly just to round out my large Clojure book collection!).

seancorfield18:02:05

I dropped $30 and adjusted it so Code for America got a bigger chunk (about equal to O'Reilly I think). I think even $30 is worth it for the use I'll get out of all those.

seancorfield18:02:18

Certainly $15 for the big bundle is an absolute steal!

seancorfield18:02:47

Mind you, I'm a bit of a language omnivore so I buy lots of books about "new" (to me) languages.

polymeris18:02:28

Oh, it's not about the money. I am happy to pay $30 or so, specially since it supports charity. It's just that for Black Friday I went overboard buying books, some of them a bit mediocre, and I regretted the time spent reading them. So now I am being a bit more cautious. But I'll get it and at least read Real World Haskell, which everyone seems to recommend.

gneissguise18:02:21

You usually wont go wrong with O'Reilly

fellshard18:02:04

They've selected a sound mix of languages, it seems. No bias here, clearly 🙂

fellshard18:02:27

A bit too Scala-heavy perhaps, though.

yogidevbear19:02:47

I thought it was pretty balanced between Clojure and Scala titles. The generic FP titles looked good and then throw in some Haskell, Elixer, Erlang, and Rust. It's a great bundle

noisesmith19:02:45

I have some books I would have likely read by now if they weren’t in Scala (the subject is interesting but the language bugs me)

noisesmith19:02:44

Scala implements at least 7 languages, 2 of which I am OK with (syntax and semantics) and the other 5 are a poorly designed mess 😄

noisesmith19:02:59

sadly I can’t keep other people (including book authors) from using the unappealing parts

dpsutton19:02:07

what do you mean implements 7 languages?

dpsutton19:02:15

(i know next to nothing about scala)

noisesmith19:02:27

@dpsutton it is a ball of mud of language features without an overarching design

noisesmith19:02:39

it’s OK if I only deal with code I wrote

bja19:02:52

scala is like c++ in that it is so large and supports so many paradigms that there exist distinct subsets of the language that are almost a language unto themselves

noisesmith19:02:55

(that’s my cranky opinion at least)

Ryan Radomski19:02:08

For me, the unappealing parts are the choice data structures and mutability I often see

noisesmith19:02:22

implicits are the devil

noisesmith19:02:28

and libraries can force you to deal with them

bja19:02:59

also like C++, it's rare to find two groups that agree with each other on which subset of Scala is fine to use

bja19:02:14

all the fun of style guide holy wars with library/calling convention inconveniences thrown in

tbaldridge19:02:42

@noisesmith I agree. I find Scala fun to contrast with Clojure sometimes.

tbaldridge19:02:20

One could say Clojure "suffers" (for some definition of suffers) from having the low throughput caused by a single gatekeeper of all patches.

noisesmith19:02:24

like bizarro clojure - illustrating what clojure does well by doing the opposite

tbaldridge19:02:27

Scala, apparently, has no gatekeeper at all.

tbaldridge19:02:33

In my cognicast interview with Nada Amin she mentioned that there's something like 3 type systems in Scala.

tbaldridge19:02:40

That blew my mind, lol

seancorfield20:02:33

We used Scala for about 18 months at World Singles before we switched to Clojure, back in the 2.7/2.8 days. I think if someone was trying to force me to use a different JVM language I could still put up with Scala but I have some pretty painful memories of it overall.

fellshard20:02:43

It's cool to read about those ecosystems, but I couldn't see myself actually using it in a real system, just because of that low cohesion.

tbaldridge20:02:43

Yeah, it's a interesting concept. I'll admit, there's places I think Clojure could benefit from more coding throughput. Some of the stuff could even be done by a smart student doing a GSOC project. But you don't want to end up on the other side of things where every last feature submitted by a student get into master.

tbaldridge20:02:38

But projects like Rust, Elixir, PyPy, Blender, LLVM, etc. have all had a fair amount of less-skilled involvement and somehow kept it under control.

tbaldridge20:02:57

I don't have answers there, I just enjoy looking at the differences.

bronsa20:02:12

a bit unrelated but it really saddens me that clojure hasn't partecipated in GSoC for the past couple of years

tbaldridge20:02:07

IIRC Clojure didn't get accepted one year, and that was it.

bronsa20:02:36

I think we got accepted last year but didn't end up participating for whatever reason

bronsa20:02:39

and didn't apply this year

Alex Miller (Clojure team)20:02:57

we did apply last year but didn’t get accepted

Alex Miller (Clojure team)20:02:19

I did not have time to put in the app this year and asked the Clojurists Together folks to do so but I don’t think they did

bronsa20:02:44

was this wrong?

Alex Miller (Clojure team)20:02:32

oh, maybe I’m thinking of 2 yrs ago

bronsa20:02:16

eugh so 3 years in a row :( oh well

bronsa20:02:28

being part of it opened up a lot of opportunities for me, I'll be forever grateful to everybody involved in it

Alex Miller (Clojure team)20:02:54

Daniel Solano Gomez gets a lot of credit for spending so much time on it over several years

bronsa20:02:05

absolutely

Alex Miller (Clojure team)20:02:20

I would love for it to happen, it’s just something that has some organization and accounting work associated and that’s not always feasible for Cognitect to take on

bronsa20:02:52

I think that's a bit symptomatic of the lack of an organized community

bronsa20:02:01

hopefully clojurist together will take that role

dominicm21:02:02

As often as I run into edge cases in Clojure and think "huh, that sucks, I wish I could do this somehow". I never run into that kind of mess.