Live data from Hacker News

What Happened to Lee

wired.com

291–299 of 299 posts

Re: What Happened to Lee

#291
post #276

Earlier quoted context omitted.

That only covers errors that occur inside the sproc, not errors that are caused by the sproc. For example: What if the new version of the sproc succeeds, but the data it returns causes the application code to fail in some way? The sproc metrics would report 100% success and the application error rate wouldn't get above noise until a significant fraction of traffic was using the new buggy version of the sproc. It's po…

@ggreer, the grand-grand...parent, wrote: > there's no way to do a gradual deploy of the code There could be version numbers? some_procedure_v1() some_procedure_v2() and new v2 version application server code calls v2 stored procedures. And if v2 app server code gets rolled back / cancelled, then, the v2 stored procedures automatically won't be used any more.

Exactly this. Treat the DB schema as you would any typical API schema. A lot of the techniques used for evolving application APIs can be used for sprocs and views as well, e.g. versioning for breaking changes, adding optional parameters or new result fields for non-breaking changes. Fundamentally I don't think there's much difference between say, a DB schema defined with sprocs/view or an HTTP schema defined with OpenAPI. Both describe an API contract between two remotely communicating processes, the former case just happens to use a SQL dialect/transport to do it.

Re: What Happened to Lee

#292

Earlier quoted context omitted.

After reading this I had to do a quick self-assessment. For the last few years or so (I'm 33, also a software engineer) I've noticed a pretty big decline in my mental state. I can't focus. I immediately forget what I just looked at, read or did. I completely zone out when people talk to me. I am just not present in any situation. What is strange is that I can actually notice it, not in real-time however. It's been wo…

Honestly that just sounds like a mix of ADHD and depression. I wouldn’t worry about it too much.

That sounds like something to worry about the appropriate amount. Mostly by going to a doctor and getting a physical.

Re: What Happened to Lee

#293

While reading this, I could not stop thinking about how much it parallels the story of Ravel. RadioLab did an episode on it: https://www.wnycstudios.org/podcasts/radiolab/articles/unrav...

Thank you for referring to this episode, I found it really resonated with the article.

Re: What Happened to Lee

#294
post #291

Earlier quoted context omitted.

@ggreer, the grand-grand...parent, wrote: > there's no way to do a gradual deploy of the code There could be version numbers? some_procedure_v1() some_procedure_v2() and new v2 version application server code calls v2 stored procedures. And if v2 app server code gets rolled back / cancelled, then, the v2 stored procedures automatically won't be used any more.

Exactly this. Treat the DB schema as you would any typical API schema. A lot of the techniques used for evolving application APIs can be used for sprocs and views as well, e.g. versioning for breaking changes, adding optional parameters or new result fields for non-breaking changes. Fundamentally I don't think there's much difference between say, a DB schema defined with sprocs/view or an HTTP schema defined with Ope…

Interesting that you mention doing this (version numbers) with views too, I didn't think about that ...

... Maybe that could be a way to "perview" a database migration, before running the migration for real. There could be a table 'Some_table_view_v2' that shows how that table would look, after an upcoming data migration. And then v2 app server code, would use that new view. — Then one could be more certain that the data migration, will work fine.

(At the same time, one might need to be careful to let just a small a fraction of the requests, use the new View, if the view is a bit / a-lot slower than the real table.)

Re: What Happened to Lee

#295

Earlier quoted context omitted.

Neuroplasticity is an extraordinary thing. With proper consistent mental exercise and training, you can improve your working memory and focus back to what it used to be if not better.

Inspirational messages are good, and there's certainly a good chance that you're right in this case, but I also don't think it's a great idea to speak with such certainty. I mean, they had a brain tumor which could've been causing damage itself, plus radiation to the brain, invasive brain surgery, altered brain blood flow during the surgery, general anesthetic... That's serious stuff affecting the most complex machin…

Sorry, I didn't see this until just now. I wish HN had some kind of notification feature (cough dang save us please cough).

I don't think I'm sugarcoating, at least not in the sense of how the word is usually defined. We know neuroplasticity is real. It isn't just some placebo. Regardless of what part of the brain was affected, because of neuroplasticity, he/she can recover functionality through exercise and training. I agree with you that this won't always be the case, and at some point, brain dead is pretty much brain dead like in the case of survivors of gunshot wounds to the head for example. But given the eloquence of the poster's comment, I think the kind of situation we're looking at here is of a different class.

Re: What Happened to Lee

#296
post #276

Earlier quoted context omitted.

That only covers errors that occur inside the sproc, not errors that are caused by the sproc. For example: What if the new version of the sproc succeeds, but the data it returns causes the application code to fail in some way? The sproc metrics would report 100% success and the application error rate wouldn't get above noise until a significant fraction of traffic was using the new buggy version of the sproc. It's po…

@ggreer, the grand-grand...parent, wrote: > there's no way to do a gradual deploy of the code There could be version numbers? some_procedure_v1() some_procedure_v2() and new v2 version application server code calls v2 stored procedures. And if v2 app server code gets rolled back / cancelled, then, the v2 stored procedures automatically won't be used any more.

Version numbers work great as schemas. You could have v1.proc and v2.proc.

Also, for an API schema, only exposing views + stored procedures and hiding tables in private schemas makes the SQL easier to refactor. This is something we recommend at postgrest.org: http://postgrest.org/en/v7.0.0/schema_structure.html#schema-...

Sharing in case this is useful to you.

Re: What Happened to Lee

#297

Earlier quoted context omitted.

@ggreer, the grand-grand...parent, wrote: > there's no way to do a gradual deploy of the code There could be version numbers? some_procedure_v1() some_procedure_v2() and new v2 version application server code calls v2 stored procedures. And if v2 app server code gets rolled back / cancelled, then, the v2 stored procedures automatically won't be used any more.

Version numbers work great as schemas. You could have v1.proc and v2.proc. Also, for an API schema, only exposing views + stored procedures and hiding tables in private schemas makes the SQL easier to refactor. This is something we recommend at postgrest.org: http://postgrest.org/en/v7.0.0/schema_structure.html#schema-... Sharing in case this is useful to you.

Interesting idea — I had never thought about that (I mean, looking at tables as internals, and procedures + views as the public interface). I'll think about that the next time I'm doing a data migration.

Thanks for sharing, Postgrest looks like intended for people building a web app, and who don't want to write application server code, instead, they install just a database?

Also, I imagine Postgrest is nice for internal admin apps? then one "just" needs to write Javascript and connect to Postgrest via REST?

Actually, it'd be nice if https://postgrest.org homepage explained some different use cases :-) I had to think for a little while, still not sure if I understand all cases when Postgrest can be useful.

Edit: Now I see there're explanations here: https://postgrest.org/en/v7.0.0/ " Motivation Using PostgREST is an alternative to manual CRUD programming" etc, if I just scroll down ab bit. — I didn't do that until now, I probably stopped reading at the "Sponsors" text & images previously, or I thought it was a documentation page.

This is quite cool: "Creating new views happens in SQL with known performance implications. A database administrator can now create an API from scratch with no custom programming".

It looks a bit like GraphQL also: https://postgrest.org/en/v7.0.0/api.html#resource-embedding

Nice that it's written in Haskell, was my favorite language long ago :- )

(PS. http://postgrest.org redirect to: http://postgrest.org/en/v6.0/ which is not the latest version (& not https), maybe you'd like to redirect to: https://postgrest.org/en/v7.0.0/ instead)

Re: What Happened to Lee

#298

Earlier quoted context omitted.

Version numbers work great as schemas. You could have v1.proc and v2.proc. Also, for an API schema, only exposing views + stored procedures and hiding tables in private schemas makes the SQL easier to refactor. This is something we recommend at postgrest.org: http://postgrest.org/en/v7.0.0/schema_structure.html#schema-... Sharing in case this is useful to you.

Interesting idea — I had never thought about that (I mean, looking at tables as internals, and procedures + views as the public interface). I'll think about that the next time I'm doing a data migration. Thanks for sharing, Postgrest looks like intended for people building a web app, and who don't want to write application server code, instead, they install just a database? Also, I imagine Postgrest is nice for inter…

> Postgrest looks like intended for people building a web app, and who don't want to write application server code, instead, they install just a database?

Besides usual webapps, I've also used it for building an IoT project(sensors logic in the db) and a GIS project(postgis/pgrouting). Some users have also used it for open data projects(OpenAPI is provided).

It's also great for internal admin apps and there are ready-made libs like https://github.com/Wellers0n/react-admin-postgrest-client.

Those are some of the use cases off the top of my head. In general, I think it's good for cases where you'd like to use the database as a "processing engine" instead of a "dumb storage".

The docs definitely need a lot of improvement. Thanks a lot for your feedback!

Re: What Happened to Lee

#299
post #7

This is horrifying. Conversations soon became impossible. Lee started chattering in repetitive, unceasing loops. He would tell Kristin: “We met at Cloudflare. We got engaged in Rome. We got married in Maui, Hawaii.” He repeated it hundreds of times a day. Then the loops got shorter, more cryptic. He spoke fewer sentences, instead muttering sequences of numbers or letters. At the same time, given the flashes of lucidi…

It was incredibly sad to watch. The last time I saw him while he was still speaking — he is still alive but doesn’t speak or seem to recognize me anymore — he would repeat the same questions from the same conversation in the same order on a 30-minute loop. Over and over. I’ve really struggled to wrap my mind around his condition. I don’t think it’s frustrating for him. He seems to have lost the emotion to be frustrat…

That’s what I wondered too. If it was all part of a particular kind of brain. He reminded me too much of my ex-husband, also a high level programmer, and his sleep habits and growing apathy and irritability while we were together (though he might point to me as the cause). Not to say my software engineer ex has the same condition, but maybe he has a touch of it. So many of us have just a touch of something that is clinical in someone else.
Post reply on HN