HN user

davidmnoll

89 karma

Location: San Franciso

Remote: Open to remote / in person / hybrid

Resume: https://davidmnoll.github.io/assets/David_Noll-Resume-982cc79e.pdf

Front End: TypeScript, React, Vue, Redux, Prisma, Jest, Cypress Back End: Python, Node.js, Django, Flask, PHP; Some Scala, Haskell, Java, Rust AI: LLM Integrations, Clustering with Embeddings, prototyped semantic search DevOps: AWS, Azure, Docker, SQL, Linux; Some Terraform, Kubernetes, AWS CDK, Ansible

Software Developer with 10+ years full stack & infrastructure experience. Recent work also includes prototyping and exploring AI applications. Background in cognitive science with focus in cognitive linguistics.

Posts1
Comments28
View on HN

Location: San Franciso

Remote: Open to remote / in person / hybrid

Resume: https://davidmnoll.github.io/assets/David_Noll-Resume-982cc7...

Front End: TypeScript, React, Vue, Redux, Prisma, Jest, Cypress

Back End: Python, Node.js, Django, Flask, PHP; Some Scala, Haskell, Java, Rust

AI: LLM Integrations, Clustering with Embeddings, prototyped semantic search

DevOps: AWS, Azure, Docker, SQL, Linux; Some Terraform, Kubernetes, AWS CDK, Ansible

Software Developer with 10+ years full stack & infrastructure experience. Recent work also includes prototyping and exploring AI applications. Background in cognitive science with focus in cognitive linguistics.

Location: SF Bay Area

Remote: Open to remote / in person / hybrid

Resume: https://davidmnoll.github.io/assets/DavidNoll-Resume-1d19078...

Core Skills: Python, Typescript/JS/Node.js, React, SQL, Postgres, PHP, Java, Web3/blockchain, Django, LLM/GPT integrations

Developing Skills: Rust, Functional Programming, Haskell, Scala, C++, Solidity, Data science / statistics

Experienced Full Stack Developer with early startup experience and broad background. I have experience in many domains and am able to learn new domains quickly. I am available to start immediately.

What Is Entropy? 2 years ago

Right but in chemistry class the way it’s taught via Gibbs free energy etc. makes it seem as if it’s an intrinsic property.

I think we’d have trouble because we’d have to tie the gene to a specific linguistic cognitive function. My hypothesis is that humans configured themselves into self-replicating group structures I’d call institutions, and language evolved as a way to facilitate that. These institutions exhibit all the thermodynamic properties of life, and they have goal directed behavior independent of individual humans.

Location: Louisville, KY Remote: Yes

Willing to relocate: Yes

Resume: https://davidmnoll.github.io/assets/pdf/DavidNoll-Resume.pdf

Email: davidmnoll@gmail.com

Github: https://github.com/davidmnoll

Experienced full stack developer, looking for position in collaborative culture in a technical environment.

Front End: Typescript, React, Jest, Cypress

Back End: Python, Django, Flask, Node

DevOps: AWS, Docker, databases, CI, Terraform, Kubernetes

Location: Louisville, KY / SF Bay Area, CA

Remote: Yes

Willing to relocate: Yes

Email: davidmnoll@gmail.com

Resume: https://davidmnoll.github.io/assets/DavidNoll-Resume-9d9913c... Github: https://github.com/davidmnoll

Experienced full stack developer, looking for position in collaborative culture with a strong team.

Previously lead engineer at NYC start-up. Led remote team of 3 other developers. Set up CI/CD pipeline & testing. Worked on problems around scaling, testing, maintainability, security as well as new feature delivery.

I recently learned you can do the candidate server exchange without those servers. There was an implementation which used [this](https://github.com/cjb/serverless-webrtc) as a backend and a QR code to do the transfer. I can't seem to find it now. However they were having issues with the QR code reaching its size limit, leading to the question of whether you could break the message into a series of qr codes.

Pretty interesting stuff, I was considering taking a crack at it as part of a project I'm working on.

Edit: [here](https://franklinta.com/2014/10/19/serverless-webrtc-using-qr... the blog post about it

Location: Louisville, KY / SF Bay Area, CA

Remote: Yes

Willing to relocate: Yes

Resume: https://davidmnoll.github.io/assets/pdf/DavidNoll-Resume.pdf

Email: davidmnoll@gmail.com

Github: https://github.com/davidmnoll

Experienced full stack developer, looking for position in collaborative culture with a strong team.

Previously lead engineer at NYC start-up. Led remote team of 3 other developers. Set up CI/CD pipeline & testing. Worked on problems around scaling, testing, maintainability, security as well as new feature delivery.

I don’t think anyone is saying that those idiosyncratic details have no local impact whatsoever just that over the long run they mostly get filtered out as noise.

It sounds cool in theory, but in practice, it's just another tool wielded by the powerful. In practice, it's used most heavily for stuff like forcing people to express support for unjust wars, or to be quiet about a powerful person's abuses. Go to any conservative community and you can see the effects of what you're describing.

Instead of blaming food deserts, lack of nutritional knowledge, lack of time to prepare meals, and so on, what if the blame went directly to the parents who are letting their elementary age children graze on a party sized bag of Doritos?

Most people who would be in any way affected by a society-level shame campaign already feel that way. You're talking about small pockets of communities that aren't fazed by mainstream society's norms. Mostly ones in small-town conservative areas that are heavily shame-based, but just about different things from what you care about.

So it seems it's not more shaming that you want, it's just that you want everyone to be shaming people in line with your personal system of morality.

Edit: also relying on shame for enforcement will ultimately just reward the shameless.

If you’re talking about public policy, IMO personal moral opinions have no place. Do you really want the state teaching “personal responsibility”? Even if you did, do you really think they could do it effectively? We have the highest prison population per capita as it is. It’s been tried. Over and over.

Using the idea that millions of people are just morally deficient as public policy is a proven failure. There’s always a reason when millions of people are doing the “wrong” thing, and the job of public policy is to assess the return on investment to society of removing those reasons or otherwise disincentivizing the behavior.

Personal responsibility is a personal lesson that requires personal choices and experiences. It’s not something you can publicly mandate

I think a decent theory of information and institutions is the most mission critical thing not only for academia, but for society in general.

With all the resources going to academia, how much of them are focused on understanding the behavior of organizations? It's a reasonably tractable problem that's way underdeveloped, and would allow us to design new institutions that behave the way we want, rather than being beholden to institutions that having to tolerate the ubiquity of organizations with outcomes antithetical to the goals of the members.

The first problem to focus on could be assessing the effect of a decade-long induction process to be considered qualified to make the most miniscule contribution to academia.

I feel like I've noticed academics getting more and more cloistered, many of them rabidly defensive, completely shunning anyone with the slightest criticism of the process, credentialed and not alike. I'm guessing it has to do with (a) the thinning out of public resources, so more competition, more consequences to being wrong, more emphasis on sounding right rather than being right. (b) the fact that in most fields, the point of diminishing returns has been reached on the foundational axioms that define the field. And yet, defining a new field with new foundational axioms is extremely difficult, with scarce resources to explore it.

You could readily define new kinds of mathematics with different axia. The hard part is building off of those axia to make useful theorems. Some axia might lend themselves more readily to proving one theorem versus another, or might make it easier to model one thing versus another. We can see this with ZFC versus category theory. Similarly, analyzing fluids in terms of laminar versus turbulent flow yields distinct benefits. They rely on models with different core assumption. At the foundation of every field (or subfield) is a model & set of core assumptions that allows work to be built on top of them. Market economics versus game theory is a good example. The two models hold fundamentally different assumptions. Game theory is studied in economics departments, though, so its full potential isn't tapped. Any results from game theory can't too directly contradict what's come from market economics if it wants to get taken seriously in an economics department. If game theory had developed as a branch of sociology instead, we might see a very different ideas coming from it. No matter what, it can only be developed in directions is can get funding for.

If we really want to get at the truth, for every assumption we make, we should also define and investigate a theory that has the opposite assumption. For instance particles are indistinguishable. Great, that has yielded immeasurable results. Now let's fully flesh out at least one model that assumes they are distinguishable and hammer results out of it until they meet experimental predictions, too. We will likely find that there are some situations it can describe much more richly than our current models. And, that way people aren't going around forgetting it was an assumption to begin with.

Location: Louisville, KY / SF Bay Area, CA

Remote: Yes

Willing to relocate: Yes

Resume: https://davidmnoll.github.io/assets/pdf/DavidNoll-Resume.pdf

Email: davidmnoll@gmail.com

Github: https://github.com/davidmnoll

Experienced full stack developer, looking for position in collaborative culture with a strong team.

Previously lead engineer at NYC start-up (remote). Led remote team of 3 other developers. Set up CI/CD pipeline & testing, improved performance to allow 100x+ scaling of data, helping them deliver to fortune 500 customers. Worked on problems around scaling, testing, maintainability, security as well as new feature delivery.

All of these definitions are fuzzy... refactor versus upgrade versus feature. When the people wrote it the way they did, they were almost certainly thinking that they don't need to overthink or over-engineer, and that they should discount hypothetical future concerns.

I can give you an abundance of examples. We were creating a page that was going to use state in a certain way. I was trying to insist that we address the way state will be handled across pages ahead of time. These concerns were dismissed as premature optimization. A few months later we had 5 pages with the state being handled in 5 different ways, and being synced in different ways between each page, complete with if statements, sometimes passing state through URLs, sometimes through local storage, sometimes through session, sometimes through JWT data, generally through a combo of several of them. Then we'd end up with confusing redirect loops for certain edge cases, state getting overwritten, etc.. We spend weeks fixing these bugs, and, eventually, weeks refactoring to manage state in a simpler way. These bugs often got caught by customers, drawing us away from feature delivery that was critical for demos to large customers.

All of that could have been avoided by spending 1 day thinking a little harder and planning for the future.

It ultimately boils down to a couple assumption that people like to make. (1) engineers know nothing about the domain, they can never predict what will be needed. That might be true in a large company with obscure domain-specific things for engineers who work far away from the day-to-day, but sometimes the engineers know exactly what's going to come up. (2) You can hill-climb your way into optimal program implementation. You can get to local maxima this way, but there are regular ways that programs grow based on how the business is growing and you can predict certain places where you will soon hit diminishing returns for current implementations. As long as you're up front about it and double-check your assumptions about the way the business is growing (and hence the application), I think there are ample places where you actually are going to need it.

I have seen it validated by reality several times… more times than the opposite. I had a boss refuse to let me do a refactor that changed these sketchy dynamic field tables into json columns because “it’s not customer facing.” They were unable to show off features in an important demo because the endpoints were timing out despite putting 2 other people on it for 2 weeks to find code-based optimizations.

3 days later I deployed my “nice to have” fix and the performance issues disappeared.

I’ve also seen a company stall out scaling for years and lose multiple million-dollar customers despite having a novel in-demand, market leading product because they refused to do anything to clean up their infrastructure.

I agree with this to some extent. but there’s a flip side too.

This mentality is often taken way too far. I had an old boss who wouldn’t allow me to write unit tests citing this thought process.

Even at places with decent engineering practices, I’ve seen so many examples of software where you’re limited to a one to many relationship for something that could and easily should have been implemented as many to many, rendering the product useless to many because a product person couldn’t stand to think a couple months ahead.

Some people seem to take this idea too far and basically assume that if a problem is interesting or takes away a tedious task, it must be overengineering, premature optimization, or an imaginary problem.

Perhaps a better way to phrase the issue would be “artificial constraints”, which would encompass the flip side too.

Location: Louisville, KY / SF Bay Area, CA

Remote: Yes

Willing to relocate: Yes

Resume: https://davidmnoll.github.io/assets/pdf/DavidNoll-Resume.pdf

Email: davidmnoll@gmail.com

Github: https://github.com/davidmnoll

Experienced full stack developer, looking for position in collaborative culture with a strong team.

Previously lead engineer at NYC start-up. Led remote team of 3 other developers. Set up CI/CD pipeline & testing, improved performance to allow 100x+ scaling of data. Worked on problems around scaling, testing, maintainability, security as well as new feature delivery.

Nirvana fallacy 3 years ago

The way I've done it is to get "quantitative" polling from other teammates.

Basically I do a poll of something like (a) confidence that the solution will fix the problem (b) estimated 80% confidence time range required. I do that for whatever options have been proposed, and then use the information to determine which option is the most promising. There's some principle that the average of many guesses is better than one, so I try to use that to make a better decision.

Location: Louisville, KY / SF Bay Area, CA

Remote: Yes

Willing to relocate: Yes

Resume: https://davidmnoll.github.io/assets/pdf/DavidNoll-Resume.pdf

Email: davidmnoll@gmail.com

Github: https://github.com/davidmnoll

Experienced full stack developer, looking for position in collaborative culture with a strong team.

Previously lead engineer at NYC start-up. Led remote team of 3 other developers. Set up CI/CD pipeline & testing, improved performance to allow 100x+ scaling of data, helping them deliver to fortune 500 customers. Worked on problems around scaling, testing, maintainability, security as well as new feature delivery.

Location: SFBay (current) -> KY (if possible, in November)

Remote: Yes

Willing to relocate: Possibly

Technologies:

- Python, Django, PHP, JavaScript, SQL/RDBMS, React, Linux admin, Git

- Some: Node.js, TypeScript, Java, Redux, Vue(x), Functional Programming

LinkedIn: https://www.linkedin.com/in/nolldavid/

Resume: https://davidmnoll.github.io/assets/pdf/DavidNoll-Resume.pdf

Email: davidmnoll [at] gmail.com

Experienced full stack developer, looking for position with room for growth in collaborative culture. Was previously first full time employee at bay area start-up, helped them grow to 5+ developers & 15+ employees, working on problems around scaling, security, reliability, legacy app maintenance, upgrades, etc.

Open to Contract & Full Time