< Back to the archive

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

Issue #19 - July 14, 2019

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

Top comment by HocusLocus

Louis Rossman https://www.youtube.com/channel/UCl2mFZoRqjw_ELax4Yisf6w Routinely shows bench scope detail of him doing circuit troubleshooting and replace of "no user serviceable parts" modern surface mount Apple stuff, but in the process shows good heart and entertaining moxie.

EEVBlog (David L. Jones) https://www.youtube.com/user/EEVblog Likes to take things apart and people send him things, but he is a great teacher and gives an amazing does of theory and design practice, and (very rare!) his electronics design knowledge spans part and practice back to the early 1970s.

bigclivedotcom https://www.youtube.com/user/bigclivedotcom/videos Famous for his teardowns of the most ludircous and trashy designs, he's a maverick experimenter who plods along and pokes and prods and touches things he shouldn't, just like you would.

Top comment by ratel

Well, The big one would be nice: Facebook makes her money from harvesting and selling privacy sensitive data, or at least that is the perception shared by nation states, the EU and the wider audience. For any claim Facebook makes about respecting privacy to have at least face validity she need to show how she is going to make money without violating her users privacy. So how is Facebook going to make money if they need to respect users privacy?

Somewhat more constructive: Facebook seems to have an unhealthy appetite to collect _all_ user data including privacy sensitive information. But lets be fair: She is definitely not the only company on the quest for the Big Data insights, that seem to always be at least one data point away. Does Facebook have information on which data points they really need to make a commercial viable user profile? What data points are privacy sensitive? Is Facebook looking into alternatives for those privacy sensitive data points? If not: can Facebook enumerate those and ask their users for explicit consent to collect those points and ask for explicit consent in the future for any new data points?

Good luck this afternoon. I hope you get some insights.

Top comment by tlb

OK, I bid $50 to recover Satoshi's original account. Presumably he/she/they won't respond and I'll get a million bitcoin.

More generally, you'd want to make small bids against every account that's been idle for a while.

This has the flavor of https://en.wikipedia.org/wiki/Adverse_possession for land. It's socially good that land doesn't stay in limbo forever, but bitcoin being in limbo is a key feature of the economy.

Top comment by AnimalMuppet

My first software manager said that the most you can get out of people is five hours of real work a day. She also said that programmers need to learn to tell when the most productive thing they can do is go look out the window.

Top comment by tibbon

Stripe gets the front page because they are popular with developers, but I've dealt with so many other more-corporate payment processors that are absolutely awful for reliability. Rampant downtime, terrible support, terrible concurrency limits, failure to meet SLAs, terrible documentation (900 page specs that are impossible to read). They all think they are awesome, and yet can't go more than 48 hours without having some system degradation email sent out. I don't want to name them, but they are some of the worst businesses I've ever dealt with. They just want to sit there and collect huge amounts of money for helping you connect to Visa/Mastercard/etc, and do little else.

Rage. Stripe hitting a little downtime is nothing in comparison.

Top comment by napsterbr

Here's an idea to help "viralize" tree planting, especially among younger folks.

How about a tree social network? A website/app that incentivices the person to plant a tree and adopt it as a pet. The person plants a tree, names it and takes a few photos. A profile is then created.

The person can find nearby trees to socialize. Some cute artwork may help engaging people. Snapchat-like filters could be used to "dress up" the tree, further increasing cuteness (and the engagement).

People keep score by how many trees they've planted, which gamifies the process.

This may sound crazy (and possibly it is) but hey, it may just work.

If you (or anyone else) like the idea, I'd be more than happy to help build it, with the condition that it should be open source. Email is on profile.

ETA: Open source condition

Top comment by drtillberg

And in other news, 25% of all stranger identifications by human eyewitnesses also were found to be erroneous.[1]

[1] https://californiainnocenceproject.org/issues-we-face/eyewit...

Top comment by _hardwaregeek

First, RTFM. If there's documentation, I read it. README, CONTRIBUTING, whatever is available really.

Then, I start hunting through the codebase. Sometimes despite people's best efforts at compartmentalization, there's one or two files that are the heart of the project. Depending on the project they'll be different things. For instance, TypeScript has checker.ts, which contains the core typechecking logic. Ruby has vm.c, compile.c and parse.y. If that's the case, that's actually very helpful, as I can spend the majority of my time in one file.

To aid in this hunting, I use a few tools. Stuff like grep and find (although I prefer ripgrep and fd) are a huge help, cause you can search through large codebases with relative ease. IDEs are great too. I particularly like being able to goto definition, then go back, then go forwards, etc. Switching between call site and definition makes understanding functions easier.

I take notes on occasion, although I don't always reference them. It's more to process what I'm reading. I try to write notes about types, functions and files. I do it in org mode and embed urls so that I can link definitions together.

Definitely run the code as soon as possible. Then add print statements and see where they go. I've used flamegraphs on occasion to see the stack trace.

Top comment by SamWhited

I completely agree; it also has the effect of making software worse, as far as I can tell. At the last few mid-to-large sized tech companies I've worked for I've watched project and engineering managers push hard for more velocity trying to get their bonus. Eventually they start telling people to take shortcuts, or rewarding the developer who gets things done faster but, as an example, doesn't write any tests. They then get mad at the other devs who won't approve their patches during code review or end up spending their time fixing the bugs in prod created by the developer being rewarded for "moving fast". The pressure on the managers trickles down and the software ends up being broken.

Top comment by patio11

(I work at Stripe.)

You can email us and we’ll introduce you to a lawyer who can assist you with winding down the company. In the simplest case this costs $500.

Speaking generally, the complexity depends on what you’ve done with the company. Dissolving a company which has had a paper existence but never done anything is straightforward; shutting down a company with material operations, payroll, legal commitments, etc requires materially more work. The supermajority of that is figuring out to do about the commitments rather than the entity per se.