< Back to the archive

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

Issue #227 - July 16, 2023

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

Top comment by xerxesaa

We have an aging population and many places have a flat birthrate. We need to solve how to deal with this consequences.

Who will care for these people? How will we deal with the consequences of flat population growth? How will we deal with the stock market's expectations of perpetual growth when the underlying population itself is not growing (and especially since productivity has also been relatively flat)?

Top comment by pearlsteinj

I was curious the last time I sold tickets so actually called them asked about this. The emails are aliases to verify the tickets are valid, then they are forwarded to the buyer.

Usually the format is @ and the tickets are forwarded pretty quickly. This way stubhub can actually validate you sent over a PDF + the contents of those PDFs or images if the buyer disputes delivery.

Top comment by TheAlchemist

There was an article about disappearing engineers - the ones working on communications.

Cartels figured they need somebody to setup sophisticated communication systems - do you think they asked a company for help ? They just kidnapped the people they found working on communications towers, made them do the job, then buried them.

Sorry but your idea of trying to work with a cartel is beyond stupid. With a lot of luck, you could end up working for them. As a slave.

Top comment by no_wizard

Huge fan of Pragmatic Engineer as well.

I also subscribe to:

- Hardcore Software[0]

- ByeByteGo[1]

- JavaScript Weekly[2]

- Bytes[3]

[0]: https://hardcoresoftware.learningbyshipping.com/

[1]: https://blog.bytebytego.com/

[2]: https://javascriptweekly.com/

[3]: https://bytes.dev/

Top comment by throwanem

It was added on Wednesday, about three weeks after I emailed to ask for some amelioration of my occasional clumsiness with phone screens leading to a high rate of erroneously flagged stories.

I didn't really go in with an expectation, certainly not for that kind of amazing responsiveness and turnaround time. Thanks, dang!

Top comment by danpalmer

Hey, nothing to add to the pricing advice, but do be aware that having one big customer paying a lot of money could well change your product/engineering culture, or even the company culture.

Imagine having that customer and then them saying they're considering dropping you in a year if you don't have a particular feature that's not on your roadmap (or maybe not even that related to your product in your opinion). Do you drop everything to please them, or do you stick to your plan? How much pain do you endure to keep the one big customer happy?

I've seen close friends work in companies with 2-5 large customers, and the team regularly endured significant pain to keep one of them happy because it would be business-changing to lose one.

Unless you are very intentional about how you handle this sort of thing, it'll be bad by default. Don't take this as discouragement, but do make sure you really know this in advance.

Top comment by hliyan

I was in this area from 2003 to 2013. Can't think of any reading materials, but it all boils down to ultra low latency (think < 100 microseconds within the local network) and high volumes (think > 30,000 transactions per second). The state of the art may have moved since then, but:

1) Network layer: raw TCP sockets with binary packed messages (sometimes structs directly cast to and from raw buffers, keeping network/host byte order in mind); separate message data dictionary to avoid metadata overhead inside messages.

2) Processing: optimised C++ code; pointers; multi-threaded processes that utilise all available cores; minimal locking and contention between threads (queues with spin locks and bulk transfers); threads directly bound to CPU cores (prevent context switching overhead); prevent heap locks by allocating large object pools at startup;

3) Disk I/O: minimise disk I/O in logic-heavy, low latency threads; application level in-memory disk write queues; prefer append mode writes; application level in-memory caches (basically hash maps of reference data loaded at startup)

4) None of the "trendy" programming practices: no OOP design patterns; no dependency injection; functional programming, but without fluent APIs;

5) No popular frameworks: internally developed solutions optimised for our specific use cases, instead of off the shelf libraries or frameworks (e.g. the messaging middleware was in-house)

There is more, but this is what I could think of, off the top of my head.

Top comment by benreesman

One anecdote here:

for me personally the job/funding market collapsed in maybe December of 2022.

In November I got ~10 inbound pings from credible recruiters or HR folks at credible shops a week, and that was typical of probably the last 5 or 10 years.

In December it was zero and has stayed zero until this month when I’ve had 2.

Outbound resumes and pinging the network was pretty much “I wish I could help you” all year until May/June and now conversations are starting to go somewhere at least in the early stages. The compensation packages people are talking are still like a quarter of what was typical a year ago if that.

So it seems like we’ve got a ways to go before the market starts operating with consistent price discovery, but I’m seeing the ice crack here and there.

Top comment by Animats

See Molly White's "Web 3 is Going Just Great"[1]

She keeps a tally of all the scams. The total is now over $67 billion.

[1] https://web3isgoinggreat.com/

Top comment by Hrun0

Some staff members from Stripe already replied that they are looking into this. But if you take a look at reviews on Trustpilot this (withholding funds) seems to be a very common complain, which is terrifying.