Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
brandur
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
34 ms
·
121.
▲
by
brandur
9y ago
Author here. I want to apologize a bit for the tone of this article — it was written from a place of frustration, and this part of the site is very much akin to a development journal — these are short articles without a lot of concrete fact
122.
▲
by
brandur
9y ago
(Author here.) I wrote this piece hastily, and it really wasn't intended for this broad of an audience — I won't redact the existing wording I still think it's roughly right, but I do regret a lot of it. Rust's docs are
123.
▲
Fun with SQL: generate_series in Postgres
(citusdata.com)
1 points
by
brandur
9y ago
|
0 comments
124.
▲
Amazon Aurora Postgres: First Thoughts
(linkedin.com)
100 points
by
brandur
9y ago
|
17 comments
125.
▲
A step by step guide for building multi-tenant web applications with .NET Core
(citusdata.com)
2 points
by
brandur
9y ago
|
0 comments
126.
▲
by
brandur
9y ago
There's a pretty similar discussion happening downthread: https://news.ycombinator.com/item?id=16169803 The short version is that I don't think it's fair to compare Go's stability to that of a "bare
127.
▲
by
brandur
9y ago
(I wrote TFA.) > But for a fair comparison you'd need to include a lot of C libraries to match Go's standard library. How much have those libraries changed over the years? Yes, exactly. Something like C isn't a fair comp
128.
▲
by
brandur
9y ago
> The "Go is one of the most actively developed projects in the world" line is also complete bullshit; I think this is a pretty uncharitable interpretation of what I said. I didn't say "the most", but rather &q
129.
▲
by
brandur
9y ago
(I wrote this.) > Also, instead of updating the `users` table with the LSN of the commit - which creates extra write load - why not store it in the session cookie, then you can route based on that. The article's a little long, but
130.
▲
by
brandur
9y ago
(I'm the author.) I'm storing `min_lsn` directly to the database, so anything connecting to it and loading a user record should be able to take advantage of the information. I have a note in there about this as well, but although
131.
▲
by
brandur
9y ago
> This post reads like it's vaguely implementing what should be in a queue backend. There's a locked_at field in the schema, furthermore should this not be performed via ...FOR UPDATE? Yeah, I'm relying on transactional
132.
▲
by
brandur
9y ago
I'm not sure that the movie analogy works all that well from the position of either the article's author or your parent. For years theaters have been losing their edge as their experience degrades with price increases and the addi
133.
▲
by
brandur
9y ago
I appreciate the writeup! One thing that I probably should have been clearer on: I used Sidekiq as a queue example here, but this pattern generalizes to anything. RabbitMQ is just as plausible. > Background jobs are just one part of wha
134.
▲
by
brandur
9y ago
> Doesn't this just mean bunch of lost jobs when redis fails. You need to be a little careful about configuration, but believe it or not, as long as Redis is configured with an append only file [1] it will provide you with a durab
135.
▲
by
brandur
9y ago
> Given that you're lobbing the job outside of the DB transaction boundary, why have that transaction at all? It's not clear to me why all the jobs should share the same fate. Good question. I should have probably put a comme
136.
▲
by
brandur
9y ago
Note the code snippet is mostly meant as a demonstration rather than something that's really production-grade. Using `LISTEN`/`NOTIFY` is certainly workable. It's worth considering though that once you've got non-trivial
137.
▲
by
brandur
9y ago
> Just be sure to run your enqueueing process as a singleton, or each worker would be redundantly enqueueing lots of jobs. This can be guarded with a session advisory lock or a redis lock. Yeah, I'd forgotten to mention that in th
138.
▲
by
brandur
9y ago
> This also allows for transactionally consistent error handling as well. If a job is repeatedly failing you can transactionally remove it from the main queue and add it to a dead letter queue. Totally. This also leads to other operati
139.
▲
by
brandur
9y ago
(Author here.) I've taken fire before for suggesting that any job should go into a database, but when you're using this sort of pattern with an ACID-compliant store like Postgres it is so convenient . Jobs stay invisible until th
140.
▲
by
brandur
9y ago
I've always been a little curious how North Korea is able to produce hackers that are competitive on a global scale. It's not only that an average North Korean would grow up with access to fewer resources compared to many countrie
141.
▲
by
brandur
9y ago
Likewise, we should have seen the rise of middlemen who put up the capital to buy medallions, rehire drivers at suppressed wages, and proceed to collect rent forever, as bad. This is essentially the same problem that we see reoccurring ever
142.
▲
by
brandur
9y ago
> The US owes it's "walkability" or lack of due to Blockbusting by property developers in the 50s that used racism to drive the middle classes out of the cities into the newly built suburbs. No such thing happened anywher
143.
▲
by
brandur
9y ago
I don't think Have I been Pwned will be of much use unless Troy's able to get a dump of the leaked information from somewhere.
144.
▲
by
brandur
9y ago
> As a new grad I often times find myself frustrated with setting up postgres or other rdbms so I usually opt for easier systems like amazon RDS, firebase or mongo. Yeah, I know exactly what you mean. Everything in Postgres is supremel
145.
▲
by
brandur
9y ago
> I think the most interesting question though is would they be able to get MVP and initial customers that set off this if they were moving (slightly) slower due to SQL and slight overhead that comes with? I've used Postgres and M
146.
▲
by
brandur
9y ago
Fascinating — I had no idea the technique had a name (the Ruby source isn't very heavy on comments). I'll update the article to include it.
147.
▲
by
brandur
9y ago
I wrote this one. I've been working with Ruby roughly six years, but didn't understand its memory internals at all beyond the surface level until I started doing the research for this one. If there's one takeway/point of
148.
▲
by
brandur
9y ago
Your best bet might be to be less responsive on Slack — not only by not responding to everyone immediately, but by not responding to some Slack messages at all. If it's important, the person who pinged you can submit their request via
149.
▲
by
brandur
9y ago
Author here with just a quick note that writing this was a pretty great learning experience. Postgres has always been the ultimate black box — it does some amazing things, but I generally have no idea how. I read a lot of Postgres code to g
150.
▲
by
brandur
9y ago
As an SF resident of ~5 years, I agree with this. $130k - $150k isn't really big money around here. You'll be able to live, but I suspect that you'll start to feel pretty quickly that your quality of life has been overall com
More ›