Hacker News new | past | comments | ask | show | jobs | submit | dmohs's comments login

You just need one more account. The card payment is just a transfer to an "Amazon Balance" account or something. Then the individual items are entries against that account.


I appreciate the effort you’ve both put in to concrete examples. I think yours gets to a point that I haven’t often seen stated. You’ve named your interface Person, but perhaps even Emailable could serve the purpose. The problem is that you had to name it. Naming well is hard, and I believe strong type systems often create a need for more names. It’s a cost I don’t often see considered in the tradeoff.


Instead of giving the interface an explicit name, I think you could instead use something like this:

    function getEmails(group: Array<{email: string}>) {
        return group.map((p) => p.email)
    }
which leaves the function more open ended than relying on an explicitly named interface that other types then have to inherit from.


Yes it does make renaming harder, but if your compiler warns about unused variables it might save you more often than not.


Your time is the most valuable thing you have. My unsolicited advice is that you exert as much influence as you possibly can over how it is spent.


Thank you so much for this. Very well delivered.


Broad Institute | Boston, MA, Cambridge, MA | ONSITE, FULL-TIME

Data sciences hold the potential to propel our understanding and treatment of human disease. The Broad Institute is a deeply-collaborative scientific institution that is transforming medicine and human health by building software solutions to process and analyze scientific data on an unprecedented scale. Our products are used by thousands of disease researchers across the globe, processing petabytes of genomic data, and regularly consuming millions of core-hours in a week. https://www.broadinstitute.org/careers/software-engineering

Positions we are hiring for:

Senior software engineer, UI-leaning (React) full-stack: https://broad.io/aou-tech-lead

Senior software engineer, front end (React): https://broad.io/terra-senior-eng

Software engineer, front end & data visualization: https://broad.io/engineer-gnomad

Contact: bmccann@broadinstitute.org


Broad Institute | Boston, MA | https://www.broadinstitute.org/ | Onsite | Full Time

Data sciences hold the potential to propel our understanding and treatment of human disease. The Broad Institute is a deeply-collaborative scientific institution that is transforming medicine and human health by building software solutions to process and analyze scientific data on an unprecedented scale. Our products are used by thousands of disease researchers across the globe, processing petabytes of genomic data, and regularly consuming millions of core-hours in a week. Learn more here:

https://www.broadinstitute.org/careers/software-engineering

Multiple positions open:

Senior software engineer and tech lead, front and backend https://broad.io/aou-tech-lead

Senior software engineer, frontend https://broad.io/terra-senior-eng

Software engineer, frontend & data visualization: https://goo.gl/yTWppD

Questions: bmccann@broadinstitute.org


Love how simple this is. Looking forward to seeing how it works.

Even in such a simple form, I'd like to see good usability practice: - If I leave the field without modifying it, I shouldn't see an error message. - When I click the Subscribe button after correcting an error, it moves and my click misses. It can be tricky, but you should take care to ensure UI elements do not move when the user might be in the middle of an interaction. It's not always avoidable, but it should be as rare as you can make it.


Yes, you can often find async Java libraries to fit your architecture, but those are usually less mature than the thread-based ones. With Node libraries, your architecture is set, so you are free to pick the library that best meets your needs. This is a substantial benefit, which I say as someone who loves and regularly uses the ClojureScript on Node model and selected it only after running into this exact problem with Clojure on the JVM.


Author here. I'm going to try to stay out of the discussion to see how it evolves organically. If the README doesn't adequately cover the why or other fundamentals, that's good data for me.

Worth noting: This powers our genomic data analysis platform UI [1] [2].

[1] https://portal.firecloud.org/ [2] https://github.com/broadinstitute/firecloud-ui


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: