HN user

jpp

127 karma

Jeff Potter -- CTO @ Enveritas. Also author of an O'Reilly book (Cooking for Geeks).

For more, see https://jeffpotter.org

Posts1
Comments59
View on HN

Enveritas (YC S18, non-profit) | Backend Software Engineer | Remote (Global) | https://enveritas.org/jobs/

Enveritas is a 501(c)(3) nonprofit working on sustainability issues facing smallholder coffee farmers. We collect field data in 25+ countries and build systems for analyzing risks in coffee supply chains (including EUDR-related deforestation checks).

* Backend Software Engineer (Python, PostgreSQL/PostGIS, Docker, AWS, Terraform) - $135-$155k — https://enveritas.org/jobs/backend-software-eng/#10d7adef8us (worldwide remote)

Enveritas (YC S18, Non-Profit) | Backend Software Engineer; UX Product Designer / Engineer | Remote / Global | https://enveritas.org/jobs/

Enveritas is a 501(c)3 non-profit working on sustainability issues facing coffee farmers around the globe. We provide sustainability assurance for the coffee industry. We visit smallholder coffee farms around the world to understand their social, economic, and environmental practices. In 2025, we will visit over 100,000 farms across more than 25 countries in Asia, Africa, and Latin America. We work with leading coffee roasters to understand the sustainability issues in their supply chain based on our sustainability standards.

* Backend Software Engineer - $140-$155k — https://enveritas.org/jobs/backend-software-eng/#10d7adef8us (worldwide remote)

* UX Product Designer / Engineer - $130-$150k — https://enveritas.org/jobs/product-designer/#10d7adef8us (worldwide remote)

Enveritas (YC S18, Non-Profit) | Backend Software Engineer | Remote / Global | https://enveritas.org/jobs/

Enveritas is a 501(c)3 non-profit working on sustainability issues facing coffee farmers around the globe. We provide sustainability assurance for the coffee industry. We visit smallholder coffee farms around the world to understand their social, economic, and environmental practices. In 2025, we will visit over 100,000 farms across more than 25 countries in Asia, Africa, and Latin America. We work with leading coffee roasters to understand the sustainability issues in their supply chain based on our sustainability standards.

* Backend Software Engineer - $140-$155k — https://enveritas.org/jobs/backend-software-eng/#10d7adef8us (worldwide remote) * Information Security Lead - $120-135k - https://enveritas.org/jobs/infosec/#10d7adef8us (EU or US remote)

Enveritas (YC S18, Non-Profit) | Backend Software Engineer | Remote / Global | https://enveritas.org/jobs/

Enveritas is a 501(c)3 non-profit working on sustainability issues facing coffee farmers around the globe. We provide sustainability assurance for the coffee industry. We visit smallholder coffee farms around the world to understand their social, economic, and environmental practices. In 2025, we will visit over 100,000 farms across more than 25 countries in Asia, Africa, and Latin America. We work with leading coffee roasters to understand the sustainability issues in their supply chain based on our sustainability standards.

* Backend Software Engineer - $140-$155k — https://enveritas.org/jobs/backend-software-eng/#10d7adef8us (worldwide remote)

The gold standard for this in sensory analysis is a triangle test — which I happen to have done with coffee from Ninth St Espresso, who sells a regular and substantial identical decaf. We brewed 3 identical batches (where 2 were the same beans and the 3rd was the other bean). In an office with ~12 tasters, the ability to pick out the “different” beans was 33%… ie random chance.

If the above sounds confusing, consider red wine vs white wine… visual inspection alone would get you 100% accuracy.

I used to believe decaf processing would have to change the taste, but empirically, with admittedly untrained tasters (but ones who know coffee very well), we couldn’t tell.

Speaking from my own experience, which may be different from the grandparent comment: I’ll ask ChatGPT (on GPT4) for some analysis or factual type lookup, and I’ll get back a kinda generic answer that doesn’t answer the question. If I then prompt it again, aka a “please look it up” type message, the next reply will have the results I would have initially expected.

It makes me wonder if OpenAI has been tuning it to not do web queries below some certain threshold of “likely to help improve reply.”

I’d say ChatGPT’s replies have also gotten slowly worse with each passing month. I suspect as they try to tune it for bad outcomes, they’re inadvertently also chopping out the high points.

touchid sometimes fail due to grubby fingers. Can't malware spoof a "can't read fingerprint, please enter password" dialog?

That would require the malware to be able to determine the timing of when your finger pressed the TouchID sensor, which I suspect is not accessible above the OS layer.

TouchID is a great solution for this. However, the root issue remains: social engineering the user to allow admin privileges when not necessary… there are still too many cases of requesting elevated privileges. Maybe signed software with entitlements can sufficiently solve that? But I’ve seen way too many users who “trust” email attachments or phishing emails…

What Is WebTV? 2 years ago

I worked at WebTV before it was public… back when it was called Artemis Research and had a website that proclaimed we did research in sleep deprivation of rabbits (there was a pet bunny rabbit that wandered the office, occasionally making a mess of things).

I love how wonderfully weird the web was back then! Such a different world; so hard to explain today to those who didn’t know it. And an incredibly talented team.

I hear you! We’ve definitely had candidates we’ve talked with in the past who didn’t have experience with the tech stacks involved. In our case, we’re not suffering from a lack of qualified candidates (quite the opposite!), so we can afford to be more strict in requirements.

I remember a friend describing interviewing as a search problem. How long and how much resource is one willing to spend on a search? And then, adjust the hiring process (for employer) or job search process (for candidate) accordingly.

We finished a hiring process about 2 months ago, along with two other hires earlier in the year. As a hiring manager, 2023 has been brutal — 1,000:1 application to hire ratio (based on stats in Lever; no exaggeration).

I’ve made a point to try to be as open and as fair as possible in our hiring process. We list the salaries up-front in the job description. We create per-hire ”join our team” pages that share a lot more about the role, including the exact hiring process, links to docs with interview prompts, timelines, and who you’ll interview with. We don’t require any formal studies; we hire globally through an EOR; we don’t change salary based on where in the world. We’re also a non-profit with a compelling mission and interesting technical challenges. We want to hire people who bring different viewpoints and add stuff to our team, and where we can give them a good professional experience too.

A few observations on folks who are applying:

- About a third are just outright unqualified. For example, one of the roles needs folks with experience in Postgres at a medium level (triggers, plpgsql, replication, PostGIS, etc) and we’ll get applicants who’ve only used an ORM to work with Postgres). We have a few screening questions that literally confirm the required skills listed in the job posting and use these to auto-reject applicants. (Again, nothing unfair or tricky; just literally “have you used features like triggers or replication in Postgres?”)

- About half seem like good candidates from application but are obvious-no’s after either several-minute examination of application materials or a 20-30 minute call. (Generally failing a screening call because they’ve exaggerated on their resumes; haven’t read our “join our team” page that we ask them to read before our call; have red-flags in our call; etc.)

- The remaining ~15% are reasonable folks for us to do technical interviews, and it comes down to how much their experience lines up with the areas we need and how well we can asses their skills in interviews. (Two-way street, of course… lots of chances for them to ask us Qs!)

Where it’s been tough is filtering through the top of the funnel. In part: ChatGPT has really made a difference, in that many candidates are now using it along with much more sophisticated tools to track all their potential jobs. I think it’s _good_ in some ways, but previously we could use the ability to write well (resume, answering Qs like “why do you want to work at our company?”, communication in email) as a good proxy signal of overall effectiveness of communication. (For a fully distributed remote team that does its work via slack and GitHub, this is a relevant skill.) So we’re now having to do a _lot_ of extra work to try to be fair to everyone and keep bias as much as possible down. (I had to hire a contract recruiter to work with us - it used to be resume screening and initial calls were an average of 45 minutes a day; it went to 3 1/2 hours this year; as a CTO there’s no way I can spend that kind of time).

I don’t know what the solution is — it feels like a bit of an arms race. For every company that’s trying to run a good process, the extra application load is a real cost; for companies that aren’t particularly thoughtful, it makes it worse for the candidates.

I’d love to hear what others think about anything I’ve shared. What can we as hiring managers do to make it easier for you? And: what can we do to make it easier on us?

Enveritas (YC S18, Non-Profit) | Frontend & Backend Software Engineer | Remote / Global | https://enveritas.org/jobs/

Enveritas is a 501(c)3 non-profit working on sustainability issues facing coffee farmers around the globe. We visit coffee farms to understand their social, economic, and environmental practices. In 2023, we will visit over 50,000 farms across more than 20 countries in Asia, Africa, and Latin America.

* Frontend Software Engineer (React/GraphQL) — $130-150k — https://enveritas.org/jobs/frontend-software-eng/

* Software Engineer / Data Engineer (Python/PostgreSQL) — $125-145k — https://www.enveritas.org/jobs/data-eng/

I'm always happy to answer questions: (my-first-name)@enveritas.org

Enveritas (YC S18, Non-Profit) | Frontend & Backend Software Engineers | Remote / Global | https://enveritas.org/jobs/

Enveritas is a 501(c)3 non-profit working on sustainability issues facing coffee farmers around the globe. We provide sustainability assurance for the coffee industry. We visit smallholder coffee farms around the world to understand their social, economic, and environmental practices. In 2023, we will visit over 50,000 farms across more than 20 countries in Asia, Africa, and Latin America. We work with leading coffee roasters to understand the sustainability issues in their supply chain based on our sustainability standards.

* Frontend Software Engineer (React/GraphQL) — $130-150k — http://enveritas.org/jobs/frontend-software-eng/

* Backend Software Engineer (Python/PostgreSQL) — $130-150k — https://www.enveritas.org/jobs/backend-software-eng/

* Software Engineer / Data Engineer (Python/PostgreSQL) — $125-145k — https://www.enveritas.org/jobs/data-eng/

I'm always happy to answer questions: (my-first-name)@enveritas.org

Enveritas | Software Engineer | REMOTE (US or Global) | Full-Time

Enveritas (YC Winter ‘17) is a non-profit working to reduce poverty in coffee farming. We visit smallholder coffee farms around the world to understand their social, economic, and environmental practices. In 2022, we will visit 50,000 farms across more than 20 countries in Asia, Africa, and Latin America. We work with leading coffee roasters to understand the sustainability issues in their supply chain based on our sustainability standards.

We are hiring for two different software engineering roles. These are both remote positions, and we’re able to hire almost anywhere globally.

* Data Team - Software Engineer: primarily backend/python; see https://enveritas.org/jobs/data-eng for details. Compensation is $125k-$140k.

* Core Software Team - Software Engineer: primarily Frontend (react/graphql) and UX; https://enveritas.org/jobs/software-eng for details. Compensation is $130k-$150k.

I can imagine a number of complications here. How should delayed send work with respect to both end-to-end encryption and with network connectivity loss? Ie I can see a possible way to build this where the sending user’s device queues and sends it later, but what if that device is out of network coverage area, or battery-dead, at the requested send time? …so then we could think about doing it at the server level, but then to maintain end-to-end encryption, the message would have to be pre-encrypted; how would we handle rekeying a user? Ie if the delay send is for 24 hours from now, but one of the recipient’s keys get rotated (which afaik can happen in a couple of reasonable conditions; but others here will know more)… well, we end up with a solution that also can’t reliably deliver the message.

One thing I really appreciate about Apple Messages is just how well it works, and how little spam ever makes it in. I think the reliability of Messages is almost taken for granted… I wouldn’t want to give that reliability promise up for this sort of feature!

Enveritas | REMOTE US (Eastern Time Zone) | Data Viz Team - Data Analyst | Full-Time | enveritas.org/jobs/data-viz/

We're a non-profit (and YC W17) who provides sustainability assurance for the coffee industry. We visit smallholder coffee farms around the world to understand their social, economic, and environmental practices. In 2022, we will visit 50,000 farms across more than 20 countries in Asia, Africa, and Latin America.

I'm looking for a data analyst to join our Data Viz Team. You should have at least two years professional experience, comfortable with SQL and Python (or R), and an interest in finding patterns and trends in data.

For more, please see https://enveritas.org/jobs/data-viz/

If I were a guessing person: because future products will be the same size and price as AirTags … what would it look like if an Apple Watch cost $50? It could be used like an AirTag for stalking.

So: sort out the privacy implications with a low-priority product like AirTag first.

But I am not a guessing person. ;)

Yes, this is correct —- it’s actually a fascinating study, but the translation from French was done poorly and then the English-speaking media ran with the clickbait version.

The original study finds that the terms we use for flavor (partly) encode the tuple of flavor and color. That is, given two identical smelling / tasting liquids, subjects will pick different vocabulary to describe the flavor when the liquid is red vs clear.

I can confirm I'm seeing this -- I just noticed, searched Google, and ended up ... here.

I have an email generated by one of our internal systems with a link to it, fetched via IMAP using Apple Mail, and the link is edited to be like so:

https://www.google.com/url?q=<ORIGINAL-URL>&amp;source=gmail...

We're on GSuite Business, and under "Spoofing and Authentication", have "Apply future recommended settings automatically." enabled. Probably some other options, too. I happen to have "Advanced Protection Program" enabled for my account; so this may be happening because of that.

Given the phishing attempts I've seen in my career, having this as an opt-in option for certain users ... well, let's just say I've personally had users I would have had this turned this on for and we would all be happier. I can also see the privacy concerns.

Perhaps we'll learn more about the opt-in / opt-out details in the coming days, so that users can make the appropriate choices for themselves?

Enveritas (YC S18, Non-Profit) | Frontend Javascript/React | New York City | Full-time | https://enveritas.org

* Frontend Javascript/React Software Engineer -- apply here: https://boards.greenhouse.io/enveritas/jobs/4006577002

Enveritas is a 501(c)3 non-profit and Y Combinator-backed startup that is creating a new approach to sustainability assurance. We gather survey data about smallholder coffee farmers to understand the social, environmental, and economic aspects of their lives and to create technical assistance and training programs that can address poverty issues.

Tech Stack: Frontend is modern React v16.x typed with Flow, using GraphQL/Apollo to talk to a Python+PostgreSQL backend (Docker on Fargate).

Team details at https://www.enveritas.org/jobs/engineering/ -- we're actively looking for a frontend engineer to join us, preferably around the New York City area but open to anywhere in the US. I'm always happy to answer questions: (my-first-name)@enveritas.org

Ah, very nice! Our setup is on python, and because of some other dev tooling we have, it’s very easy for us to have a simple decorator function that grabs the advisory lock. We can apply that decorator to any python function, including the one that triggers our migrations. If on rails, seems like using the above link would be better.

We have a similar setup — containers managed by Fargate — and solved the issue of migrations by:

1) having our app containers include the DB migration logic 2) on container startup, “check and run migrations” before app startup, 3) the trick: acquire a lock in postgres as part of step 2, so that only one node at a time can run migrations.

Migrations are run inside of a begin/commit, so with the lock we have reliable guarantees that 1) exactly one container at a time can try to run the migration; 2) the migration either completes or fails.

This setup has the benefit too that, if the migration fails for whatever reason, no new app containers will start in production. That is: we can basically trigger a production deploy and if it fails, the deploy halts and the previous app version remains up and serving traffic.

There are better ways of handling this, but for us at our scale, this has been both very simple and very reliable, which makes me happy. :)

Maillard reaction 6 years ago

Thanks for the kind words! (I’m the author and also daily reader of Hacker News, but generally just lurk.) Happy to answer any questions; email is generally best.

The Science of Eggs 10 years ago

Having spent the better part of a week researching this one, I found two things that "cracked the case": 1) steam cook instead of boil (12 minutes in a pot with 1/4" water) - and then 2) let them cool down for 12+ hours. You can at that point crack the shell in half and the hard-cooked egg will fall out...

If waiting isn't an option, then under water -- either running water or in a bowl -- works just as well. The outer membrane that sticks to the shell just needs moisture to release.