HN user

dxf

348 karma
Posts2
Comments60
View on HN

I saw Jef Raskin demo the Canon Cat in the 1980s when I was working at Stanford.

One of the more interesting concepts behind the interface was, everything was stored in one "circular" file, with marks for document beginnings and ends. By "circular" I mean that if you leapt forward from file to file, you'd eventually return to your starting point. The idea was, it's hard to remember the names of documents, let alone where in the filesystem you might have saved them. But you can usually remember something about the document -- some piece of text, etc. Using the leap keys you could quickly find the document you were looking for. Modern OSes allow for such searching, but at the time the idea of not worrying about file locations or names seemed very forward thinking.

Jef had research to show that "leaping" was superior (or at least, your productivity was faster) when comapred to other computer interfaces -- provided the user was used to using leap keys. Later I saw Andy Hertzfeld give a talk on Multifinder, and I thought the contrast between the two engineers was stark. The Canon Cat gave you one way to interface with the system (which was "the best way"), while Andy's interface gave you multiple ways to do the same task. Andy said something like "different people interact with the system differently" and he wanted to support all they ways they might want to do their work.

The current top comment on the article explains the situation, and ATC are "not being assholes here":

NorCal had a new interpretation of ILS approaches come down several months ago that tied the controllers hands with regards to ILS approaches during visual conditions... The controllers were issued guidelines that if it’s busy and an aircraft is unable to comply with the approaches advertised on the atis or maintain visual separation that its better to hold them until there is adequate space on final as it’s more unsafe to start vectoring 30/40 different aircraft to build the required hole for the 1 aircraft who’s company has a lame rule

No you did it the right way. I lived in Canada for 10 years, my partner is Canadian, and we debated what to do when we moved down from Canada to the US. We got an attorney to help advise us.

It is very much a problem if your partner is deemed to have entered the US under false pretenses. That is, if they enter the US on a tourist visa and then you get married and they apply for a change of status, immigration can look askance at your spouse -- "The original tourist visa was a lie, you always intended to get married and change status, they are now barred from the US for 10 years." It might be faster, but you don't want to run that risk, even if the probability of that happening is low.

I can easily see the status of my garage door (open or closed) from anywhere. Solves the problem of "Did I forget to close the garage door?" (and the number of times the answer to that question is "Yes" is > 0).

I can open the door from anywhere to let someone in if they've forgotten their keys (times I've done this is > 0).

I can enter the house through the garage if I've forgotten my keys (times I've done this is > 0).

I have given access to my house to a houseguest without giving them a set of keys to my house; I easily revoked this access when they left.

Matt Levine's take on _Going Infinite_:

"Many of the reviews that I have read of the book complain that Lewis does not sufficiently explain that Bankman-Fried is Guilty and Bad, Actually, but that is not the book that he wanted to write... If you want to read a moral condemnation of crypto theft, you can get that anywhere. You go to Michael Lewis for character and story.

Also, reading those reviews you would think that the book is a defense of Bankman-Fried, but it is actually quite damning."

Hover's parent company is Tucows, listed in the parent article as being the third largest "domain holder".

I started using Hover/Tucows back when they were Domain Direct, as I liked the idea of using a Canadian-based registrar. Hover has been great. I've rarely needed to contact Hover support but they've always been responsive and helpful.

I had read and enjoyed Umberto Eco's "Foucault's Pendulum", and as I read Brown's "The Da Vinci Code" I found I kept contrasting Brown's work to Eco's. In the end, I didn't even finish "The Da Vinci Code", it just felt so weak to me.

But art, literature, music, and wine are all things of personal preference. You like what you like! And you shouldn't let anyone tell you not to spend your time reading Dan Brown (or whomever) if you enjoy it.

When using an AOT language, how does one take full advantage of all cpu features at runtime? This seems like a place JIT would really outpace AOT.

One model is to not try and take advantage of the features at runtime, but to compile per-platform versions of your binary (with whatever flags and optimization levels you want, support for sanitizers, etc.) and deploy those appropriately. E.g. build one binary that supports "generic" x86 variants, one optimized for haswell, etc. This model works well if you have control over how your binaries get deployed (though not so well if you don't), and especially well if you can build the libc the same way at compile time also and statically link it into your binary. (This last point is one reason Google is investing in LLVM's libc.)

Why would governments push back, when this hole which has already been used will _always_ be available?

I'm not aware of a time when Apple pushed a software update (silently or otherwise) to defeat security for a user (or users). Can you provide a reference?

Honest question -- why are you trying to get her to move away from Windows? What benefits for her do you see in doing that?

Perhaps she would be more amenable to a Chromebook? (Depending on what apps she actually needs to run.)

Changing perf/promo processes can be challenging. You can't always roll out minor changes (because the problems may be systematic), nor do them quickly; at Google's scale you need documentation and tooling to support your processes. You can try to fix some parts, but that can make other parts worse. But maybe that's OK. You can't optimize for everything, so you try to achieve the things you believe are most important and accept the remaining flaws.

Promotion policies continue to evolve at Google based on internally-sourced data. They changed most recently a few months ago. It's a constant that people don't like the current process, but they also don't like it when it changes :-). But I do appreciate that Google recognizes that the perf/promo processes could be better, and then they try to make them better.

Very long time Engineering Manager here.

Engineering Management is not bullshit, though there are many bad Engineering Managers out there, even at companies (like Google, where I've been an EM for over 6 years) that strive to build and support Engineering Managers. Google itself did research into the question of, "Do Engineering Managers matter?" The answer was Yes:

Google set out to determine what makes a manager great at Google. But first, a research team tried to prove the opposite: that managers actually don’t matter, that the quality of a manager didn’t impact a team’s performance. This hypothesis was based on an early belief held by some of Google’s leaders and engineers that managers are, at best, a necessary evil, and at worst, a layer of bureaucracy.

The team defined manager quality based on two quantitative measures: manager performance ratings and manager feedback from Google’s annual employee survey. This data quickly revealed that managers did matter: teams with great managers were happier and more productive.

https://rework.withgoogle.com/guides/managers-identify-what-...

Google currently asks Engineering Managers to focus on three areas: Leading work, developing people, and building community.

What are some ways I spend my time?

1. Making sure my people are supported in their lives and careers. This can mean giving someone a task they will take a long time to finish, because it's the right thing for them (and the team) to have that person learn about that area. You are trading off project/feature delivery for personal and team growth. It can also mean helping someone find ways to still have impact when they are struggling with some aspect of their job.

2. Clarifying strategies and priorities. There are only so many things the team can do successfully, and someone needs to be the person who says No. I am also the person best situated to look outward to other groups and teams to identify areas of collaboration.

3. Making sure we are organized appropriately and effectively, and that we are following good Engineering processes. I hate unnecessary process as much as anyone -- I've always said process should be something that helps you get your job done properly and effectively, not a hoop you need to jump through in order to do your job.

As an EM (and when I worked as a developer), I have had my own share of high-quality and poor-quality managers and Directors above me. If you feel EM is bullshit, I'm sorry you've never experienced what it's like to work on a team with a good, supportive manager.

Are SLAs even real?

SLI: Some metric you use to measure a thing (e.g. uptime, latency, etc.)

SLO: Some objective you try to hit, as measured by the SLI (e.g. "99.99% of requests are processed within 3 seconds)

SLA: A promise to a customer that they will meet some SLO, and consequences if they don't. If there aren't consequences for not meeting the SLO, then measuring and tracking the metrics is a pointless exercise.

The SLA is "real" to the extent Atlassian is adhering to any listed consequences.

I was a happy 1Password user and warily switched to their subscription model. But It still does everything I want and now it even does more -- e.g. I can have shared vaults with my partner and other family members, which is more convenient than duplicating entries between machines or going to each others' computers to look something up.

The huge advantage of biometrics (fingerprints, FaceID, etc.) is the ease with which a user can unlock their phone. A passcode may be better than a fingerprint, but a fingerprint+longer passcode is better than a shorter passcode (or no passcode at all).

Having a 12 character alphanumeric passphrase you enter each time you want to unlock is not something most users want to do.

See e.g.: https://www.businesstoday.in/technology/news/story/what-kick...

Only about 49 per cent of the users were setting a passcode, which meant that the remaining 51 per cent were not benefiting from the data protection mechanism. When Apple dug in to understand the reason, the findings revealed that users unlock their devices a lot - on an average about 80 times a day. And about half of its users simply didn't want the inconvenience of having to enter their passcode into their device, at times. At that time, in 2012-2013, the default passcode length for iPhone was four digits, which happens to be six today.

Apple realised that it needed to come up with a mechanism that's fast and secure, and doesn't involve typing in the passcode. That's when Apple introduced Touch ID, which was easy, fast and secure. The way that biometric authentication worked on Apple platforms was that the user must set a passcode to be able to use the biometrics. And just as Apple thought, there was a much higher adoption of biometric-based TouchID. Apple says over 92 per cent chose to use Touch ID and had therefore set the passcode, which in turn meant users were able to use Apple's data protection encryption system.

LLVM 13.0 5 years ago

If you are asking, "Is Google helping with any C++20 support upstream?" the answer is Yes.

E.g. for standard concepts in libc++:

std::derived_from (D74292) std::convertible_to (D77961) Arithmetic concepts (D88131) std::move_constructible (D96230) std::copy_constructible (D96232) std::invocable (D96235) std::regular_invocable (D96235) etc.

Google is _big_ and C++ is used for many projects that build with disparate toolchains (even if they are all based on Clang/LLVM); each project can have different needs to adopt parts of C++20 sooner than the others, and different costs for doing so. Moving from Clang modules to C++ standard modules is an effort that, for some of our projects, lives at the nexus of "Are Standard Modules sufficiently done upstream to be able to replace our use of Clang modules?" and "What is the cost of doing that?" and "What is the benefit of making that switch?" For other projects, adopting standard modules is a more straightforward calculus.

LLVM 13.0 5 years ago

The two main backers (Apple and Google) seem to have backed out.

Google has not "backed out".

E.g. look at this topic's discussion thread. The current top comment is about [[clang::musttail]]; the implementor of that attribute works for Google. The current second top comment is about the Rust compilation wins from the switch to the New Pass Manager; the NPM was primarily implemented by (and turned on as the default pass manager upstream) by people who work for Google. Google is actually growing our investment in people contributing to core Clang/LLVM.

Source: I am a manager for C++ toolchains (those that target production, Chrome, ChromeOS) at Google.