< Back to the archive

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

Issue #94 - December 20, 2020

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

Top comment by eric_khun

If you pay for Google Services, they have an SLA (service level agreement) of 99.9% [1]. If their services are down more than 43 minutes this month[2], you can request “free days” of usage.

Edit: Services were down from ~12:55pm to ~1:52pm, it's 57minutes. Thanks hiby007

[1] https://workspace.google.com/intl/en/terms/sla.html

[2] https://en.wikipedia.org/wiki/High_availability#Percentage_c...

Top comment by movedx

For my little web app I just went with passwordless logins and did the "magic token sent to the inbox" thing. I no longer have to deal with passwords at all; a security breach is (mostly) useless in terms of mining creds; and all of the password handling workflows are now the email provider's problem.

If someone loses access to an email account then I can use manual processes to verify the person and change the email address in the database. This has never happened.

EDIT: "fault" => "problem"

Top comment by deklerk

I've been at Google for 3 years and have 20%ed the entire time I've been there on: grpc-go, Drive, and Go tools (gopls, etc).

I think it's fantastic. The whole 120% thing is up to the individual: there have been times I've made it a 120%, and there are times when it's been just "take a friday off to work on other stuff". You end up getting less of your "job" done but my managers have always been supportive.

It's been great for sanity: some weeks/months feel just, like, meetings and chore work. It's great having that one day a week to work on a rockstar feature request in some fun project. It's also cool to work on your dream projects without the luck/physical move/whatever to get on the actual team. (you can effectively work on anything since no project is going to say no to free headcount)

It's also nice because it spreads your professional network in the directions you choose to spread it, rather than the more organic spread that your normal job entails (assuming luck and available are big drivers of where and which projects you "end up" working, rather than 100% your choice). So, maybe I don't work on project X today, but I can 20% on it and build up those connections, and later in my career I have a much better shot getting on the project. That agency is a nice feeling.

So, as far as the employee happiness goes, I think it's fantastic.

Top comment by pixelmonkey

Racket Scheme & SICP is a fun way to start playing, especially if you are into theoretical concepts of CS and programming, like higher order programming and abstraction.

The documentation for Racket is excellent, see e.g.

https://docs.racket-lang.org/quick/index.html

... and many people have created online resources to adapt SICP to Racket, as well as other learning texts. I like Beautiful Racket, e.g.

https://beautifulracket.com/explainer/lists.html

You can use #lang sicp and start playing around with the free online reformatted SICP text here:

http://sarabander.github.io/sicp/

I recommend getting a print copy of SICP, though, and working through the examples in a real DrRacket environment on your computer.

IMO, if you end up going deep in the "lispy" direction after playing with Racket, you'll probably be drawn to Clojure as it is the Lisp with the biggest "production use" community at the moment. So long as you can put up with some JVM warts, it, too, will be a good experience.

Top comment by crispyambulance

> Are there any persons who can work, say, 8+ hours? I mean, really work, not be at office.

Being at the office, doing office things IS WORK.

Where does the idea come that you're only "working" when you're coding?

If you're filling out a TPS report, you're WORKING. If you're sitting in mind-numbing status update meeting with a 1000 yard stare on your face, you're WORKING. If you're researching something on the internet to solve a problem for you or someone else, you're WORKING. If you're watching an HR-mandated online learning presentation about IT security consisting of Kevin Mitnick clips droning endlessly, you're WORKING. If you're thinking about work, you're WORKING.

Top comment by Someone1234

Simply make text bigger.

125% DPI or 125% "zoom" depending on the OS/application help with eye strain massively, and it surprises me how few colleagues are willing to try it (e.g. "I can see perfectly, why would I increase text size?!").

Between that and lowering a monitor's brightness to below 50% (often around 35% depending on brand), are my biggest tips. Windows now has a blue light filter built right in (Settings -> System -> Display -> Night Light).

Top comment by kortex

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

My 10,000' view understanding:

- Small feature size. M1 is a 5nm process. Intel is struggling to catch up to TSMC's 7nm process

- more efficient transistors. 7nm uses finFet. M1 probably uses GAAFET, which means you can cram more active gate volume in less chip footprint. This means less heat and more speed

- layout. M1 is optimized for Apple's use case. General purpose chips do more things, so they need more real estate

- specialization. M1 offloads oodles of compute to hardware accelerators. No idea how their code interfaces with it, but I know lots of the demos involve easy-to-accellerate tasks like codecs and neural networks

- M1 has tons of cache, IIRC, something like 3x the typical amount

- some fancy stuff that allows them to really optimize the reorder buffer, decoder, and branch prediction, which also leverages all that cache

Top comment by DiabloD3

Disclaimer: IANAL, but also asked that question once in my youth, and went digging for the answer.

They technically don't in a meaningful sense.

What they do is make a car that has high torque and can accelerate 0-60 mph as quickly as possible. This has the unwanted side effect of also being able to still continue accelerating quickly past the target zone (<= 85mph). Some street legal cars have governors because of how exceptional their acceleration is.

The acceleration in cars are designed around pretty much one extra horrible edge case: accelerating up to freeway speeds, up an onramp that is entirely too steep (yet legally designed), from a standstill (ie, gridlock conditions), while also carrying max cargo capacity. Cars must be able to do this to be considered safe by any meaningful definition.

Also, there are no laws against going fast. The laws are purely against the law on public roads, as per the posted limit; there are many private racetracks that are completely legal. Not all countries even have limits comparable to America's, so being able to safely go 100+ mph is worth it if you were to, say, drive on the German Autobahn.

Top comment by bezalmighty

Try and break the problem down with systems thinking. Here's an example of this:

  ━━1=> The output effect you're trying to eliminate/reduce is pain and swelling in respiratory tract.
    ┗━━2=> Hypothesis (needs testing): This is caused by physical irritation of the tube
       ┗━━3=> Hypothesis (needs testing): That irritation is caused by A) friction and B) physical pressure
          ┣━━4a=> How can we reduce friction?
          ┃  ┗━━5a=> Would a lubricant on the tube meet engineering constraints and reduce friction?
          ┃     ┗━━6a=> Would the use of lubricant in practice create added risks or difficulties in the operating room?
          ┃         ┗━━7a=> Hypothesis: Yes, due to the application of lubricant necessitating a glove-change afterwards.
          ┃           ┗━━8a=> How can we overcome problems with lubricant application to the intubation tube?
          ┃              ┗━━9a=> Would passing the intubation tube through a no-mess, easy-to-use "self lubricating ring" mitigate added risks or difficulties in the operating room?
          ┗━━4b=> How can we reduce physical pressure?
             ┗━━5b=> Would reducing the diameter meet engineering constraints and reduce pressure?
                ┗━━6b=> If there is a minimum diameter requirement needed to deliver oxygen, would dynamically changing the diameter of the tube (e.g. inflating it) after insertion create a reduction in pressure?

So that's a very simplified example of how to solve problems with systems thinking (although in reality it would be WAY more detailed and actually test each hypothesis).

The problem is very rarely "money" in medical fields, the problem is someone actually identifying the root problem/s, i.e. the "problem behind the problem behind the problem", and applying engineering to solve that, which solves the problem one level above it, etc.

If you're interested in this, read up on things like "the five whys", a systems approach to problem solving invented at Toyota.

Top comment by redsymbol

Before you do anything else, read this book:

https://www.amazon.com/dp/1484825985

Don't rush through it. Read slowly, if needed, to get full understanding.

Source: I'm a software engineer whose marketing skills have so far generated multiple 6 figures in pretax profit, closing on 7.