One of the most pressing problems of our time is that these large corporations, on balance, have too much power compared to the electorate.
686 karma · joined August 21, 2023
One of the most pressing problems of our time is that these large corporations, on balance, have too much power compared to the electorate.
There seems to be a pervasive believe that the Python tooling and interpreter suck and are slow because the maintainers don’t care, or aren’t capable.
The actual problem is that there isn’t enough money to develop all of these systems properly.
Google says that Astral had 15 team members. Or course, it’s so hard to make these projections. But it wouldn’t shock me if uv and ruff are each individually multi-million dollar pieces of software.
If you’d like to invest a million dollars to improve pip, or work for free for 3 years to do it yourself, I’m not sure if anyone would object.
The language maintainers have added so many great features while maintaining backwards compatibility. And slowly but surely improved the JVM and garbage collection. So after toying around for a bit, I decided to write some personal projects in Java.
After a week, I gave up and returned to Go. The build tooling is still an over engineered mess. Third party library APIs are still horrible. I will never invest even 5 minutes in learning that horrible Spring framework when stuff like Django, Rails, or the Go ecosystem exist.
The community, and thus the online forums and open source libraries, still approach engineering and aesthetics in a way that is completely foreign and off putting to me.
With that said, I think Chromebook’s still hold a competitive advantage for public school contracts. It doesn’t matter that the Neo is pretty cheap and the best value. Contracts are signed based on what’s cheapest, period.
Also, a big blind spot for a lot of HN: this is going to be big in developing Markets. This is within budget for middle class Latin Americans in a way that even the Air isn’t.
Go’s core design philosophy is stability. This means backwards compatibility forever. But really, even more than that. The community is largely against “v2” libraries. After the first version is introduced, Go devs trend towards stability, live with its flaws, and are super hesitant to fix things with a “v2”.
There have been exceptions. After 20 years of the frankly horrible json library, a v2 one is in the works.
Most of the uuid concerns come from a place of concern. After the api is added to the standard library, it will be the canonical api forever.
There are surely pros and cons to this design philosophy. I just don’t understand why people who disagree with Go’s core goals don’t just use a different language? Sorry to take a jab here, but are we really short on programming languages that introduce the wrong v1 api, so then the language ends up with codebases that depend on v1, v2, and v3? (Looking at you Java, Python, and C#)
The real reason people learn English isn’t because it’s easy. It’s because they need to. As someone who is married to an immigrant, it’s not easy for them. They’ve just worked really hard over decades.
Americans will do fine learning Chinese if it ever becomes an economic necessity.
You’re right on the money: the important thing to look at are the incentive structures.
Basically all tech companies from the post-great financial crisis expansion (Google, post Balmer Microsoft, Twitter, Instagram, Airbnb, Uber, etc) started off user-friendly but all eventually converged towards their investment incentive structure.
One big exception is Wikipedia. Not surprising since it has a completely different funding model!
I’m sure Anthropic is super user friendly now, while they are focused on expansion and founding devs still have concentrated policial sway. It will eventually converge on its incentive structures to extract profit for shareholders like all other companies.
Rapid de industrialization followed by the internet and social media almost broke our society.
Also, I don’t think people necessarily realize how close we were to the cliff in 2007.
I think another transformation now would rip society apart rather than take us to the great beyond.
I wish these services would be rewritten in Go!
That’s where a lot of the development time goes: trying to make incredibly small changes that cause cascading bugs and regressions a massive 2000s C++ codebase that doesn’t even use smart pointers half the time.
Also, I think the outside world has a very skewed view on Go and how development happens at Google. It’s still a rather bottom up, or at least distributed company. It’s hard to make hundreds of teams to actually do something. Most teams just ignored those top-down “write new code in Go” directives and continued using C++, Python, and Java.
Someone who deeply understands how to qualify the product.
But with enough political sway to tell entire orgs of 1000s employees to shred their timelines and planning docs and go back to the lab until it’s right.
Without those two pieces, the problem is that individual devs and leaders know that there’s a problem. But the KPIs and timelines must lurch onwards!
Reminder: we are asking users to give us money in exchange for software.
It’s our job to deliver that working software. It’s not the user’s job to hold our hands and pep talk us into fixing problems. Users can and should find another product that will just do it for them without the whining.
I think the real point of the website, besides joking around, is poking fun at the broke state of the software industry where a bunch of whiny developers and managers will make a million tired excuses for why their software doesn’t just work.
Highlighting bug report and bureaucratic process in response to “your keyboard is jank” is exactly the mindset we need to change.
The point isn’t to start a forum or technical conversation with Apple devs. The point is to laugh at them because their software sucks and “just one more Jira ticket” isn’t going to fix it.
I don’t think GitHub cares about reliability if it does anything less than that.
I know people have other problems with Google, but they do actually have incredibly high uptime. This policy was frequently applied to entire orgs or divisions of the company if they had one outage too many.
But in the listed categories, I’m equally skeptical that none of them would have benefited from Rust even a bit.
First off, you’re ignoring error bars. On average, frontier models might be 99.95% accurate. But for many work streams, there are surely tail cases where a series of questions only produce 99% accuracy (or even less), even in the frontier model case.
The challenge that businesses face is how to integrate these fallible models into reliable and repeatable business processes. That doesn’t sound so different than software engineering of yesteryear.
I suspect that as AI hype continues to level-off, business leaders will come to their senses and realize that it’s more marginally productive to spend on integration practices than squeaking out minor gains on frontier models.
Because you think it’s not?
What if I, and many other people, think that it is?
My guess: they would lose a ton of cultural cachet.
Turning OpenAI into an ads business is basically admitting that AGI isn’t coming down the pipeline anytime soon. Yes, I know people will make some cost-based argument that ads + agi is perfectly logical.
But that’s not how people will perceive things, and OpenAI knows this. And I think the masses have a point: if we are really a few years away from AGI replacing the entire labor force, then there’s surely higher margin businesses they can engage in compared to ads. Especially since they are allegedly a non-profit.
After Google and Facebook, nobody is buying the “just a few ads to fund operating costs” argument either.
But yes, avoiding arcaneness for the sake of arcaneness will earn you more users.
A big success of Rust has nothing to do with systems programming or the borrow checker.
But just that it brings ML ideas to the masses without having to learn a completely new syntax and fight with idiosyncratic toolchains and design decisions.
Sam Altman doesn’t own AI. His investors actually own most of the actual assets.
Eventually there is going to be pressure for open ai to deliver returns to investors. Given that the majority of the US economy is consumer spending, the incentive is going to be for open ai to increase consumer spending in some way.
That’s essentially what happened to Google during the 2000s. I know everyone is negative about social media right now. But one could envision an alternative reality where Google explicitly controls and sensors all information, took over roadways with their driving cars, completely merged with the government, etc. Basically a doomsday scenario.
What actually happened is Google was incentivized by capital to narrow the scope of their vision. Today, the company mainly sells ads to increase consumer spending.
But I fail to see how a hundred or so buildings sold to millionaires and billionaires numbering in the thousands has any affect at all in a city with 20 million people.
Again, surely it’s not the best nor most democratic thing that these buildings exist at all.
But I don’t see how it can impact the bread and butter real estate and rental market. Surely this is caused by the city’s numerous bad housing policies like rent control, zoning, public transportation, education.
We already have an abstraction for interfacing with the DBMS. It’s called SQL, and it works perfectly fine.
It’s that Chrome and V8’s implementation has grown to match resourcing. You probably can’t maintain a fork of their engine long-term without Google level funding.
I’m sure the data format of Apple Maps is constantly changing to support new features and optimizations.
I thought they needed these foreign workers because no American could do the job?
There’s a simple reason: most JavaScript parsers reject null. At least in the slice case.
It’s that we are heading towards a big recession.
As in all recessions, people come up with all sorts of reasons why everything is fine until it can’t be denied anymore. This time, AI was a useful narrative to have lying around.
1) Use the network thread pool to also run application code. Then your entire program has to be super careful to not block or do CPU intensive work. This is efficient but leads to difficult to maintain programs.
2) The network thread pool passes work back and forth between an application executor. That way, the network thread pool is never starved by the application, since it is essentially two different work queues. This works great, but now every request performs multiple thread hops, which increases latency.
There has been a lot of interest lately to combine scheduling and work stealing algorithms to create a best of both worlds executor.
You could imagine, theoretically, an executor that auto-scales, and maintains different work queues and tries to avoid thread hops when possible. But ensures there are always threads available for the network.
The idea is that merit based admissions is actually pretty complicated, so we can allow individual universities continue to experiment with their own implementations and approaches.
However, we can hold them accountable by grading them based on retrospective data.
1) Apple and Firefox have enough resources to implement the most recent web standards. When you see a feature which goes un-implemented for too long, it’s almost surely because nobody was even working on it because of internal resourcing fights.
2) Devs aren’t created equal. It’s possible for a team of 8 people to be 10x more productive than another team of 8.
Most enterprise code involves layers of interfaces. So implementing any feature requires updating 5 layers and mocking + unit testing at each layer.
When people say “AI helps me generate tests”, I find that this is what they are usually referring to. Generating hundreds of lines of mock and fake data boilerplate in a few minutes, that would otherwise take an entire day to do manually.
Of course, the AI didn’t make them more productive. The entire point of automated testing is to ensure software correctness without having to test everything manually each time.
The style of unit testing above is basically pointless. Because it doesn’t actually accomplish the goal. All the unit tests could pass and the only thing you’ve tested is that your canned mock responses and asserts are in-sync in the unit testing file.
A problem with how LLMs are used is that they help churn through useless bureaucratic BS faster. But the problem is that there’s no ceiling to bureaucracy. I have strong faith that organizations can generate pointless tasks faster than LLMs can automate them away.
Of course, this isn’t a problem with LLMs themselves, but rather an organization context in which I see them frequently being used.