< Back to the archive

Like what you see? Subscribe here and get it every week in your inbox!

Issue #21 - July 28, 2019

Here are the top threads of the week, happy reading!

Top comment by whiddershins

“How to win friends and influence people” is an absolutely wonderful book I wished I’d read 10 or 15 years before I did.

Some important ideas

- Just, get along with people. A bit reductionist but if you don’t place a high priority on getting along with people you certainly won’t learn how. It really is a habit, and it’s incredibly effective to remember the Cognitive Behavior insight that when you don’t get along with someone, you are almost always choosing not to get along with them ... you know exactly what to do to get along with them and just don’t want to do it.

- Conversly, not everyone will like you and that’s ok. You aren’t everyone’s cup of tea. Being ok with that is an important mental tool.

- To crib from 12 steps or The Four Agreements, nothing is personal. DON’T TAKE ANYTHING PERSONALLY. Even if someone hates you, it’s not YOU per se. It’s their experience of you. It’s not personal.

- It may be fair to say that it’s impossible to win an argument. Getting your way by “winning” an argument seems to come with an unacceptable cost attached most of the time. Try getting good at “yes and” style conversations where you run with the other persons point and build upon it creatively, it tends to make conversations more interesting than debating people. Truly, I find compulsive disagreement to be a boring conversational style.

- Take personal appearance seriously, and view it as an ongoing project too. So many people fall in to the trap of thinking they can avoid dealing with signaling, which is silly, you always are signaling so best take a look at what you are sending out there. I think it is very psychologically healthy to care for yourself, the act is good for you, and you can change how you present yourself gracefully as you age, which people screw up all the time and it makes them look older, somehow, instead of younger.

Top comment by bdcravens

This doesn't mean they were stored in a database. "a readable format within our internal systems" could be log files if they didn't scrub passwords when logging requests.

Top comment by jasonhong

- Maxed out insurance (home, car)

- Set aside a large amount for taxes, invested it in US Treasury Bond (get an estimate of your taxes from an accountant)

- Got an accountant

- Read up on QSBS (this can save you a lot of money if you got stock when the company was small enough)

- Got a last will and testament drafted and signed. Also asked our probate lawyer about stupid things people do with money, so as to avoid those mistakes.

- Got a financial planner. Also asked about stupid things people do. (At your scale, probably ok to just do standard ETFs and bonds. Note that don't buy in all at once, diversify not just the investments but also by time, so you're not buying all into the stock market at once. This also gives you time to think and reflect about how you want to use your money and what legacy you want, while also getting some returns on investments)

- Set up a donor advised fund (you can donate stock directly to one and get a big tax break)

- Made a donation and got something cool named after two of my long time mentors

- Read book Silver Spoon Kids on how to talk to one's children about money (our financial advisor gave this to us)

- Read a lot about wealth and power in the United States, in particular sociologist and psychologist William Domhoff's "Who Rules America?" https://whorulesamerica.ucsc.edu/power/wealth.html (I stumbled on this by accident, but found it a fascinating read)

Time is on your side here, so don't rush into anything. I was really lucky to have a brother who already had high net worth, so he was able to give a lot of guidance and discussion of tradeoffs.

Top comment by kleer001

What you want is a plain old music generator app. Search for "generative music". Drop the Ai, it's overkill. Also with the amazing tech these days anyone can be a musician. It's basically push-botton.

Bloom on the iOs app store. https://apps.apple.com/us/app/bloom/id292792586

Someone's cloned Bloom: https://github.com/generative-music/blossom

Wotja too maybe. Here's their FAQ about rights: https://intermorphic.com/wotja/faq/#faq-recording-ownership

Wired can point you in more directions: https://www.wired.com/story/generative-music-apps/

Top comment by manigandham

Tried it before. Compatibility depends on how complicated your SQL is. There's a detailed list of supported syntax which is getting better every release but it's best for simpler OLTP scenarios. [1] Horizontal scaling and reliability are great. Security setup and certificate management is horrible, and if you don't use certificates then you also can't set passwords for any user so its all or nothing for some reason. [2]

Performance for OLTP queries with high-selectivity using primary keys/indexes is pretty good. Will not be as fast as PostgreSQL because there's consensus required to get the latest data, although it now supports timestamped queries so you can get stale data from replicas for faster reads. Complex queries can slow down or stall the server. Deletes are handled by tombstones so heavy update/delete workloads will cause increasing amounts of slowness in queries until compaction happens so it needs tuning for your workload. [3]

Treats all the servers as one giant global cluster instead of multiple sub-clusters for each regional location so there will be very high latency for writes if you're running in multiple regions. I recommend sticking to a single region with multiple zones instead, or very close regions like US east + central.

Overall its a good solid database choice for core operational data that you want safe. Skip it if you need fast low-latency key/value (use redis or scylla) or large analytical queries (use numerous data warehouse options).

1. https://www.cockroachlabs.com/docs/stable/detailed-sql-suppo...

2. https://github.com/cockroachdb/cockroach/issues/32448

3. https://github.com/cockroachdb/cockroach/issues/32522

Top comment by 0kl

Because smarter people than I have answered this question:

> Programs must be written for people to read, and only incidentally for machines to execute. - Abelson

As to why that might be the case: when the bugs you wrote are found; the edge-cases you missed are discovered; or the vulnerabilities you didn’t know about it are unearthed, another person, sometimes future you, will have to read your intentions; try to interpret them; and address the above. When you code, you are telling a story and are in control of the narrative. When you paint a picture (I.e. graphical) you have less control over the narrative and interpretation.

Or at least that’s my hot-take.

Top comment by grzm

10 days ago, 157 points, over 130 comments: "Ask HN: Best office chair for home office work?"

https://news.ycombinator.com/item?id=20371095

Top comment by gervu

Automation of any sort will sometimes accidentally your data, whether due to periodic hiccups, system instabilities and bugs, operator misunderstandings or errors, or random cosmic ray strikes.

The exact reason it blows up isn't even necessarily all that important, other than in its effect on what you should be doing to reduce the probability of downtime. Well-engineered systems are routinely developed from less than completely reliable parts. Stuff fails, we design for it.

It's certainly not reason not to use it, if it's resulting in a net positive gain in your ability to get things done and maintain control and transparency over your deployed systems.

But it's certainly a good reason (among a long list of good reasons) to make sure you have a good backup routine in place, including regular testing of both their integrity and your ability to restore a working prod system from them quickly.

Top comment by eb0la

Using the caret (^) character to correct mistakes.

Imagine you write something like this:

# moutn -o ro -o remount /dev/hda0 /

Arg! I should have written mount, not moutn!

Easy fix:

# ^moutn^mount

I find it better than editing the last line (with cursor). It even works at boot and without 'doskey-like' arrow history.

Top comment by antihero

None of these companies are remotely accountable or fair in their process. None of their rules are democratically decided, there is zero oversight, zero recourse.

Imagine a world where they run stuff. Imagine a world where these companies are in charge of things like currency or things necessary to live.

Legislation needs to recognise the power and responsibility companies like this have, and mandate that those with sufficiently high traction or gravity provide a transparent appeals and dispute process.