HN user

kettro

176 karma

SWE @ Google > WearOS SW > Silicon Security FW

Posts0
Comments68
View on HN
No posts found.

There is no sport that punishes a competitor who is constantly winning, as long as they are competing fairly

Almost all North American sports have a player entry draft, where the weighting is based on your success. The best teams (eg the Detroit Red Wings of the 90’s and 00’s) are given garbage draft picks, while the bottom-feeders (eg the Edmonton Oilers of the late 00’s-early 10’s) are given (the opportunity for) superstars. This is clearly a punishment for doing well, and a reward for being terrible.

Well done!

It is exactly the correct approach — especially with the dataset potentially changing at each iteration, treating it as a contiguous sequence of executions is wrong anyways. Plus, you should always strive to reduce state as much as possible.

This is implying that therapy is nothing more than someone to talk to; if that’s your experience with therapy, then you should get another therapist.

I find python quite hard to read, honestly. The lack of typing in most python means that it isn’t immediately clear what a given piece of code does without diving into its implementation. You have to rely on docstrings (good luck) or descriptive naming.

The issue with null pointers is that they are, as you said, a stand-in for an invalid state. However, most null pointers don’t prevent you from trying to use the underlying data, which can, among other things, cause crashes (think not checking the return value of malloc). Additionally, it doesn’t make formal the litany of possible forms that a value can take — if you codify possible states, then you don’t always need to check everything. I’m currently working to port security firmware from C to Rust, and I’ve found I make fewer state checks, because the data I’m working with has bounded state — the data given cannot be in an invalid state.

My company pays for One Medical, and it’s honestly the best practice I’ve been to in the US. I can typically get an appointment the next day, there are tons of offices (in SF), and everyone is kind and efficient.

They ask you to set a primary care doctor, but I have had more success with seeing a small group of their more available non-MD physicians.

I’ve had my New M for a couple years now, and it’s been great. No complaints. Unicomp has sorted out their QC issues, and it’s a solid board. I’d say that the lack of a removable cable is a bit of a bummer, but that’s a nit pick.

Honestly, the answer is a Rolex (or another mechanical watch) that you actually wear. A lesson my father taught me was that things were made to be used; the Rolex in this article is just an asset, not a watch.

That, or another piece of jewelry is an obvious place to start. Essentially, anything that has utility, and you use it for that task.

Thinkpads still have the F row spacing, though it is small. Their layout is truly the best in laptops.

I would consider flipping causality. I think those places, typically cities and ports, are disposed to having larger drug populations, be that from abundance of supply or some other factor. Then, those places end up passing lenient laws as a result of the problem, and instead cope via non-criminal programs like safe injection sites.

It’s not like Vancouver or SF decided first to have safe injection sites, and then suddenly had huge heroin problems.

A coworker I had (a good friend and an _amazing_ engineer) would generally just pause silently and think after a question. It was initially off putting, and I couldn’t tell what was happening, but very quickly got used to it. I started doing it myself, but start with a short “hmm” to indicate that I’m now thinking about the question, or just say “let me think”.

Waiting helps you ignore the impulse responses, and double check if you heard the question correctly, whence you can just ask for clarification.

No one complains about a sorta slow speaker, but a frenetic one is hard to follow and will blurt things out.

His response to the ad-hominem is just flat-out the wrong answer for the committee. The answer is to address his main point, which is to say that there are many non-Canadian creators that won’t go through the hoops when they start out, and who get buried under the algorithm by the large producers who do, stifling growth. Just railing about government overreach is just the most easily dismissed talking point.

The GPM is honestly really underwhelming -- I tried them on at the windup fair this past weekend. There is no lack of khaki field watches out there with better build quality, not to mention actual water resistance (Hamilton being chief amongst, or other Seiko 5's)

Consider what a lot of people are getting here through — prescriptions. Consider a Grandmother who had hip surgery. She was given opiates as pain killers. She was still in massive pain, and kept taking the pain killers. She became dependent. Is the addiction personal choice? Where is the lack of personal responsibility there?

Another: someone with anxiety is prescribed Valium. Over time, it starts to work less well. They go to a doctor, who ups the dose a bit. Repeat, again and again. At no point was the patient ever not prescribed the dose, but addiction happened nonetheless. And when their insurance stops (say, after losing their job), then they need to keep up, and get Valium any way they can.

These are not uncommon. At all. Addiction from other means is typically a result of mental health: someone is desperately trying to fix something, which leads to drinking, which leads… The same is true for any other drug. If you actually interact with addicts, it is very very obvious. There is a reason that AA is the way it is. I really recommend going to a meeting, just to visit. It will absolutely change your mind, if you are open to it.

I’ve used Gerrit at 3 different places, now including at Google. It is, by far, the best git experience.

The patch workflow is smooth and just a great experience. It is vastly improved by some git aliases (which you can set up in your gitconfig), but is, in general, very smooth. It allows for local branches to a single upstream, topic tagging, and a reasonable learning curve. Much better than GH.

It would be very well served to have a web-based offering (like GitHub/Lab).

I agree with pron, C is the best starter here. It is simple enough to get your head around rather quickly, and has very defined concepts. The one place that gets people is pointers, but it’s a very important part of software to understand.

C is not “low level”, in the assembly sense. It is absolutely a high level language. But it is the simplest, and the one with the most fine control.

Importantly, there is a difference between comprehension and production. Just because you can mostly understand a language, doesn't mean that it isn't a language in its own right. Yiddish, as an example, has many syntactic differences from German, in addition to its differing vocabulary.

Scots is absolutely a different language from English, despite it being intelligible. I can't produce that speech, even with an accent. It has different rules and formations that My English just doesn't have.

To this end, I have a small, paper-sized whiteboard that I can scrawl onto on hands at all times. I bought a couple packs of the ultra-fine expo markers, and it’s been a boon. Great for quickly noting things down that don’t need to last.

Having both is important, though: you need to be able to preserve the things that matter, that you may need later on.