Readit News logoReadit News
aisofteng commented on Ask HN: What's your "it's not stupid if it works" story?    · Posted by u/_bbih
aisofteng · 2 years ago
Years ago my team was tasked with greenfield dev of a cloud native app while the platform/infrastructure was also evolving. We worked nights and weekends to get it done on time only to find out at the last second that the platform team had enforced controls on internal services being able to access the internet, requiring authentication to do so. This was news to us.

We were behind schedule and had, I think, three separately implemented/maintained/deployed services that needed to be able to access the internet to do their work. Rather than implementing the intended auth mechanism in each service, writing tests for it, going through code review, and redeploying, I instead added nginx to the base Docker image they all used, configured them to send requests to that nginx instead of as normal, and made that nginx instance man-in-the-middle our own services to attach a hardcoded HTTP header with the right creds.

I man-in-the-middled my own services as a hack - dumb but it worked. It was meant as a quick hack but stayed for I think a couple years. It did end up being eventually being the source of an outage that took a week to diagnose, but that's a different story.

aisofteng commented on Ask HN: What's your "it's not stupid if it works" story?    · Posted by u/_bbih
aisofteng · 2 years ago
Not quite what was asked but a few of the stories here reminded me of this.

Years ago I was working on developing a new cloud native service. The particular microservice I was working on had to call out to multiple other services, depending on the user parameters. Java 8 had just come out and I implemented what I thought was an elegant way to spin up threads to make those downstream requests and then combine the results using these fancy new Java 8 stream APIs.

I realized at some point that there was a case where the user would want none of those downstream features, in which case my implementation would spin up a thread that would immediately exit because there was nothing to do. I spent a couple days trying to maintain (what I saw as) the elegance of the implementation while also trying to optimize this case to make it not create threads for no reason.

After a couple days I realized that I was spending my time to try to make the system sometimes do nothing. When I phrased it that way to myself, I had no problem moving on to more pressing issues - the implementation stayed as is because it worked and was easy to read/understand/maintain.

To this day, I avoid the trap of "sometimes make the system do nothing". One day, that performance optimization will be necessary, but that day has not yet arrived in the ~7 years since then.

aisofteng commented on Alphabet Seeks to Cut 10k Poor-Performing Googlers   forbes.com/sites/jackkell... · Posted by u/grogenaut
genocidicbunny · 3 years ago
I think the tone-deaf part might be that its a billionaire saying that people being paid well under a million a year are making too much money.
aisofteng · 3 years ago
Nobody becomes a billionaire off salary. Generally speaking, billionaires come to be billionaires because they created something that has value in the billions.

Someone who has created their own worth saying that there are people being paid salaries without creating enough value to justify said salaries is not tone deaf. I bet most billionaires - at the very least, the self made ones, which is most of them in the US - have a better sense of value than most other people.

The comment isn’t about making too much money. It’s about being given too much money in exchange for what is produced.

aisofteng commented on Launch HN: Fig (YC S20) – Autocomplete for the Terminal   fig.io?ref=hn... · Posted by u/mschrage
aisofteng · 5 years ago
I see a lot of negativity here, and I do agree about the daily ping which I see you’re removing, which I think is a good move.

As someone that has done cloud development at a giant corporation that offers public cloud, I think that this tool absolutely has an enterprise use case. In my particular experience at my particular (tens of billion dollars plus yearly revenue) previous employer, our SREs would have massively benefitted from having this. I’ve been woken up at 3am while on call for L3 support just to step out SREs through tools we wrote to help them do their jobs that we failed to adequately train them on and/or that they didn’t have the bandwidth to absorb due to the volume of services they were tasked to support.

From that point of view, supporting macOS first is the right move in my opinion because at enterprises developers are standardizing on macOS, and so are SREs.

This can solve a real pain point. Best of luck! And if it may happen to be helpful, let me know if you’d like to chat about this use case in more detail.

aisofteng commented on Show HN: I made a sandbox game to help with financial planning   simulator.money/... · Posted by u/pattle
jcpham2 · 5 years ago
Not all of us are social
aisofteng · 5 years ago
A strange comment to leave on a social media site.
aisofteng commented on Why are boys academically underperforming? [audio]   bbc.co.uk/programmes/w3cs... · Posted by u/respinal
whatshisface · 5 years ago
Well, it depends on whether women stay out of STEM because they don't care about programming, or whether they stay out of STEM because they're worried about being alone in a toxic environment. Ideally a diversity program would not influence group 1 while solving the problem for group 2.
aisofteng · 5 years ago
That’s a different problem. “Fix toxic environments that keep certain types of people out of an honest line of work” is a good problem to solve. That is not the same as “let’s increase the number of people of a certain demographic within an industry”, in and of itself, taken entirely on its own.
aisofteng commented on Medicine's Machine Learning Problem   bostonreview.net/science-... · Posted by u/happy-go-lucky
dontreact · 5 years ago
It's a hard problem to work around which is rooted in the data available. I published this paper while I was at Google: https://www.nature.com/articles/s41591-019-0447-x

The only data we were able to get at the time was mostly white patients. We talked to many hospitals but many were/are reluctant to share anonymized data for research. I'm not at Google so I'm not sure the status of the project now, but there was a real attempt to try and gather more diverse data. Unfortunately there were a lot of obstacles put up by those who have the data (hospital systems).

Fundamentally, it seems to me like there just aren't as many lung cancer screening scans out there for non-white patients as there are for white patients. How do we get around this? How do we improve on the situation? I fundamentally believe that machine learning in the long term can make medicine more accessible to more diverse groups, but not if we shoot it down out of fearmongering right away.

I agree that bias is a problem, but part of what needs to happen to get more diverse data is simply having more data available. There is real promise in this technology and if we have a one dimensional view of it ("is it or is it not dangerous because of bias/privacy") then we will fail to get past the initial humps related to fear and distrust.

aisofteng · 5 years ago
As a fellow practitioner, I entirely agree. Actually, reading this article made something click for me regarding the oft discussed and denigrated “bias in AI” always brought up in discussions of the “ethics of AI”: there is no bias problem in the algorithms of AI.

AI algorithms _need_ bias to work. This is the bias-variance trade off: https://en.m.wikipedia.org/wiki/Bias–variance_tradeoff

The problem is having the _correct_ bias. If there are physiological differences in a disease between men and women and you have a good dataset, the bias in that dataset is the bias of “people with this disease”. If there is no such well-balanced dataset, what is being revealed is a pre-existing harmful bias in the medicinal field of sample bias in studies.

If anything, we should be thankful that the algorithms used in AI, based on statistical theory that has carefully been developed over decades to be objective, is revealing these problems in the datasets we have been using to frame our understanding of real issues.

Next up, the hard part: eliminating our dataset biases and letting statistical learning theory and friends do what they have been designed to do and can do well.

aisofteng commented on Ask HN: What does mastery look like in software engineering?    · Posted by u/abdabab
1penny42cents · 5 years ago
OP is giving a problem solving framework, it's not tied to specific solutions or tradeoffs. It's more of a method for thinking through a solution.

In more detail, the steps go like this.

Find as many solutions to a given problem as you can. Bad engineers run with the first solution that comes to mind, letting confirmation bias drive them.

Evaluate each solution for its costs and benefits. Imagine two steps in the future when the solution is implemented. What pains are there?

Search for creative new solutions that create win-win scenarios. That's riding the solution curve.

Given all viable scenarios, compare the costs and benefits against the quality measures for your specific context. Some projects value speed over precision. Some projects value performance over extensibility. Some solutions are easier to change later than others. This is choosing a specific point on the solution curve that best fits your context.

You can apply that method of problem solving to any problem, large or small. You don't need a ton of experience to practice it.

aisofteng · 5 years ago
This comment made me realize what my mentor did years ago. He would have the entire team list all possible solutions to a problem, including the obviously bad ones, then have us whittle down the list based on pros and cons of each until we reached consensus on what to do. It was a teaching exercise and I didn’t realize it.

I’ve repeated it that exercise with junior engineers to great effect. Some catch on over time and start intuitively considering the trade offs of a few reasonable solutions to a problem; some don’t.

I never reflected on what he was doing there; thanks.

aisofteng commented on Deep-learning text-to-speech tool for generating voices of various characters   15.ai/... · Posted by u/clxxx
vsupalov · 5 years ago
Yeah, running anything related to AI involves GPU instances. An alternative is to point people to using Google Colab where you can get access to a GPU for free, but that's not a smooth end user experience for most folks.
aisofteng · 5 years ago
> running anything related to AI involves GPU instances

This is not true. A _lot_ of AI applications use algorithms such as logistic regression or random forests and don’t need GPUs - partly, of course, because GPUs are so expensive and these approaches are good enough (or more than good enough) for many applications.

aisofteng commented on Why are boys academically underperforming? [audio]   bbc.co.uk/programmes/w3cs... · Posted by u/respinal
slashdev · 5 years ago
This is what's dangerous about affirmative action type programs. They're discrimination going in the other direction with the objective of equal outcomes, not equal opportunity. The ultimate equal outcome is communism - everyone ends up equally poor. That doesn't seem like the right direction.

On the other hand how do you get more girls into STEM without programs like this? Maybe it's the best of bad options.

aisofteng · 5 years ago
Why is “get more women into STEM” a worthy goal in and of itself?

u/aisofteng

KarmaCake day588September 21, 2016View Original