Live data from Hacker News

Cold Showers: For when people get too hyped up about things

github.com

171–180 of 243 posts

Re: Cold Showers: For when people get too hyped up about things

#171
post #79

Earlier quoted context omitted.

I can assure you that I live on the same planet as everyone else posting here. Whether or not I could perform this miracle depends entirely on your specific use cases. Many people who have this sort of reaction are coming from a place where there is heavy use of the vendor lock-in features such as SSIS and stored procedures. If you are ultimately just trying to get structured business data to/from disk in a consisten…

Is SQLite likely to be faster than postgres? In terms of ease of use / admin overhead I consider them mostly equivalent. I thought the main problem with SQLite was it was slow tih concurrent writers. Whereas the "bigger" SQL databases have code that allows concurrent writes.

The issue with SQLite and concurrent writers isn't that it's slow, it's that it just can't do it. WAL mode lets you have as many readers as you want concurrent with a single writer, but it doesn't give you multiple concurrent writers. If you really need concurrent writes, use PostgreSQL or another RDBMS.

In my experience, SQLite is likely to be faster when you have lots of reading. Being in-process gives SQLite a natural advantage in read-heavy situations.

Re: Cold Showers: For when people get too hyped up about things

#172
>Researchers had programmers fix bugs in a codebase, either with all of the identifiers were abbreviated, or where all of the identifiers were full-words. They found no difference in time taken or quality of debugging.

I would not have expected that. Still, I prefer to use full(er) identifiers. I don't like to guess how things were abbreviated, especially when consistency isn't guaranteed. If I were using a different language and IDE, this might be better.

Re: Cold Showers: For when people get too hyped up about things

#173

Hillel (the editor of this list) is one of the people in this industry that is going to make a tremendous difference to the world. His ability to make formal verification understandable, and therefore useful in practice, is unparalleled.

We'll have AGI before we have usable formal verification. Just let the AGI write the code.

Re: Cold Showers: For when people get too hyped up about things

#174
post #50

Earlier quoted context omitted.

How is stoicism a SV thing? It's kinda been around for a while...

Everyone I know who identifies as a stoic is an emotionally stunted software engineer who realistically isn't tasked with stoically shouldering very much of anything.

That probably says more about the composition of your social circle than anything else.

Re: Cold Showers: For when people get too hyped up about things

#175

I love that sqlite article. It seems like "everyone" is certain that sqlite can only be used for up to a single query per second, anything more and you need to spin up a triple sharded postgres or Hadoop cluster because it 'needs to scale'. I love being able to show that study, if you properly architect your sqlite system and am willing to purchase hardware, you can go a long long way, much further than almost all co…

I'd certainly believe sqlite can be taken very far. Never done it so far.

But what does "properly architect your sqlite system" mean and how does this compare to just spinning up a postgres service (nothing sharded or fancy otherwise)?

Re: Cold Showers: For when people get too hyped up about things

#176
post #167

Earlier quoted context omitted.

You certainly can throw errors away in Go -- in various ways. It's one of the notable flaws in a largely cohesive, sensible language. (Which I use daily.) success, err := fail() do(success) success, _ := fail() fail()

The second one is pretty intentional - it'd be annoying it were downright impossible. The first and third one fails on go vet. The first one also fails to compile if you never read from err in the entire function.

Vet accepts the third, and may (I forget) accept the first if err is redeclared or simply assigned.

Re: Cold Showers: For when people get too hyped up about things

#177
post #86

Earlier quoted context omitted.

> At the end of the day, you still have to go to disk on writes, and this must be serialized against reads for basic consistency reasons. No, absolutely not. That's why modern databases use a thing called multi version concurrency control. You can run (multiple) queries on the same table that is updated by multiple transactions at the same time without one blocking the others (assuming the write transactions don't bl…

"serialized" here doesn't really mean processed in serial, it means "serializable" in the context of database information theory. Databases have special concurrency control requirements in order to create hard guarantees on database consistency. You can process queries in parallel and still have a serializable result, because of transaction coordination. Doing this on one server is much easier than doing this across…

There are MVCC systems with serializable, strictly serializable, and even externally consistent transactions. FoundationDB and Spanner are both externally consistent (with geo-replication in Spanner’s case). CockroachDB is serializable, though not strictly serializable. Single-master Postgres can do serializable transactions as well.

Re: Cold Showers: For when people get too hyped up about things

#178

Earlier quoted context omitted.

It seems to me that tests are equally good as a communication tool.

My experience is that tests tend to be much harder to read, and take more effort to understand, than types. Types are a higher-level approximation for your program.

That's fair

Re: Cold Showers: For when people get too hyped up about things

#179

Earlier quoted context omitted.

As a counterpoint, most of the people I know whom I would consider to follow a Stoic philosophy don't self-classify all that much. I would also say that there's a pretty big difference between "stiff upper lip/no emotions" that people imagine when using the the adjective "stoic" and the Stoic writings of Marcus Aurelius and the like.

> I would also say that there's a pretty big difference between "stiff upper lip/no emotions" that people imagine when using the the adjective "stoic" and the Stoic writings of Marcus Aurelius and the like. A quick way to find out what sort of self-proclaimed lover of Meditations you’re dealing with is to ask what they think of its physics and metaphysics.

Gotta love all the HN armchair gatekeepers in this thread

Re: Cold Showers: For when people get too hyped up about things

#180
post #167

Earlier quoted context omitted.

The second one is pretty intentional - it'd be annoying it were downright impossible. The first and third one fails on go vet. The first one also fails to compile if you never read from err in the entire function.

Vet accepts the third, and may (I forget) accept the first if err is redeclared or simply assigned.

My bad, I was thinking of errcheck, which is more thorough and integrated into most Go linting tools like Go CI linter.

https://github.com/kisielk/errcheck

In any case, it’s trivial to detect via static analysis.

Post reply on HN