t43562
t43562 on Hacker News
I remember optimizing a huge build that took days. We optimised it to only hours on a cluster - it took years to get this right. We realised at the end of this that the packaging system (handled by another team) was taking about 2x longer than the build because there was one particularly huge zipfile that sat there compressing for ever and ever and ever while the rest of the cluster was idle.
As in this story we blew enormous effort optimizing something that was very difficult and because of our blinkers (and our management's blinkers) we missed that it was only able to achieve a limited result. We didn't look at the whole system. In the end it was never fixed because......siloed thinking...or something.
...and now with AI much more of that dreadful software can be built with all the bullshit featuritis that said managers who don't use it think they want.
At least CPython could agree to fix its FFI so that PyPy and others would have a chance.
Perhaps if the money which was spent on the built-in JIT had been spent on PyPy we'd be somewhere.
PyPy wasn't great for me because its startup time interfered with the main usecase I wanted it for in one instance and in another there bugs that made it not quite compatible enough. Money could solve the bug issue.
On the other hand I did get pygame working with it at one point and that seemed like a nice scenario.
I feel like I'm trying to explain a shade of colour to a blind person.
building from source has uses which you believe are worthless and other people don't think are worthless.
Anyone who uses cargo or installs a module for golang is building from source. But that, probably, is considered useful. It's only people who build C code from source who are niche and wierd. ....
The point of converting things is here already - existing code is like a very precise prompt. I've used it for Perl-Python mainly and the results are far better than trying to write new code.
When you think about GNU autotools they're all about being able to compile on platforms that the software has never been compiled on before - that's why there are all those feature tests to see what the OS and compiler support.
I've done this many times on things like AIX 4.3 and HP-UX and so on. Sometimes you can get through the compile without any problems at all and the tool often works enough for your usecase and that's a win.
Sometimes there are particular little problems, sometimes it's something serious like an actual missing C library call or whatever and then you have to do some work. With nicely designed tools that have fairly wide support to begin with this tends to be easier.
I presume that those who don't want to have to build rust just to get python will stick the rust code into an LLM and get out an acceptable analog in C.
for some people the benefits absolutely do outweigh the drawbacks. Maybe not for you....but on the whole I don't know - if the whole issue had been solved without being given attention would you have ended up caring which way it went?
SLS for me. haha. :-) But now at least you have the choice! It's great really. I can use Artix because I like being nearer the bleeding edge but even that is really a lot easier to use than Linux was in the days when I had to compile my kernel.
Nevertheless I remember lots of my friends who started off saying Linux was hopeless and ended up using it and Ubuntu was their gateway. The Linux world now is full of people who are fairly conformist and don't care about how it all began and who don't value the idea that open source has margins from which who knows what world beating things might eventually come. The fact that margins can exist is what makes open source great.
If it compiles then people like me can get it to work. What we cannot do is build an entire rust toolchain to make it compile.
Yes we're using quite an old version 8.13 and yet it does the job for our build which maintains an EXTREMELY important bit of software in public service relating to healthcare.
It's on Itanium so obviously we have to move away from that to Linux but the existence of open source tools like coreutils gives us time.
No such luck with python. We have to postpone some changes as a result.
As I say, there's some kind of effect where changes that are only negative on the margins are cheered until one finds oneself on one of those margins.
On my 10 computers for example? :-) Gentoo wasn't aimed at people with such luxuries.
I'm not a Gentoo user BTW but I do think building from source is attractive for the same reasons cargo (Isn't that build from source mostly?) and go do it.
Linux was obscure and niche for a very long time before Ubuntu existed and Ubuntu only existed because someone bothered to use and develop Linux when it wasn't normal.
The Ubuntu users are only there because after they had told the rest of us how silly we were for using Linux they eventually had to use it themselves for work.
Now we're going to listen to that sort of stuff again without rolling our eyes? ....
I found this recently - couldn't compile it on HPUX. Trying to get rust on there would have been an absolute impossibility of course. I can get bash though, and lots of other GNU utilities - all written in C of course. Thank goodness some people care!
People who don't care about HPUX will never care about it but they would if e.g. we decided that only windows and Ubuntu were supported ... except for the windows and ubuntu python users who wouldn't care.
It's I'm-all-right Jack until it's your use case that gets bulleted.
Yes, optionally apparently but I think we'll end up with forks of Python if the Rust enthusiasts push it any further. I think the option will be off for me.
You think Gentoo isn't important, they think the build backend doesn't matter. They're asking. Nobody's compelled to listen.
For one thing you can, in theory, optimise for the CPU you have instead of some generic target that has to run acceptably everywhere.
There's a long history of people telling Linux users "to grow up" and "do what normal people do."
Linux wouldn't exist if people submitted to that argument.
We just don't like giving money to fascists since we have had to fight many of them at great cost in the past.
The man on the street may not understand the problems of companies that manufacture components for e.g. airliners. Those industries probably do need to be able to communicate what's affecting them and the government probably does need to at least consider such things in the overall plan. The question might be: how much do we need to consider it. e.g. Big tobacco - should we care if they die out completely?
Us little guys probably want to hear the contents of those meetings so we can check that they do make sense. Private influencing is dangerous.
We also don't want people going from the Ministry of Defence or the Army straight into working for a defence company - that should be illegal and yet it happens a lot here in the UK.
Civil servants and politicians should get a comfortable pension and be unemployable for 3 years after their term.
Moving packages out of the operating system and effectively into language specific silos is a trade off. Go executables are statically linked:
- they're larger
- to fix a security bug you have to recompile them, you can't just update the relevant library
- a program not written in go can't use a go library
We find these tradeoffs useful because distributions don't always stay close enough to the bleeding edge for what we're doing and often we're using machines where we have no permission to install system packages or update them. So we derive great value from effectively having a private packaging system.
On the other hand a build system that only does silos, assumes some packaging system and is monolingual has limited applicability.
It's rhetorical because I see that complaint about the EU too often and I just want to point out what you have said but in my case I'm ridiculing the moralising lecture about the dire consequences of anti-free-market behaviour.
It seems to be "dump on Europe" day which I'm sure is popular but lets just stop for a second and ask what the sales of ASML machinery to the US would be without the CHIPS act .... a massive subsidy. Aren't subsidies supposed to be a bad European thing??? I'm confused. Are we free market proponents or planned economy proponents?
To get out of the detour, in my first job as a team lead I took my eye off the code for a long while - doing reviews but not developing. That killed off my ability to understand what was going on.
Eventually I decided to take on a fairly big ticket and that's when I realised that we had a lot of problems and my reviews hadn't caught them.
Apples ability to force flat-fee internet was crucial. Nokia had to customise every phone for about 1000 operators because as you say the operators had the "whip hand." It probably fell apart because of converting to a "matrix" organisation which essentially assumed that there would be 100s of different models to fit in various price segments. This made it impossible to achieve the kind of experience that could be achieved by concentrating on 1 expensive model.
Nokia was into making affordable phones but there was obviously a point where the ARM chips suddenly got a lot better and it was so optimised around squeezing performance from slow chips that it couldn't adapt. The management was aging and had become very hierarchical.
Despite all of this we were beginning to get somewhere at the end - standardising on Qt and my project got the build times under some control. Then Elop f*ked us. It was fine for the shareholders because Microsoft took the big hit for them but it was shitty for us developers who were trying to get things turned around.
yes, it was the plethora of models even within the same OS - the build-test cycle was abominably slow because you were building 20 phone models at a time - 85GB of output.
The number of bugs greatly multiplied by the variety of configurations - dfifferent hardware and just different amounts of RAM forcing dodgy software workarounds to deal with insufficient hardware.
It was a matrix organisation that was optimised on the theory of making many models to fit different price points and that made it extremely difficult to react to the iPhone - of which beat Nokia with 1 model that poor people got into debt to buy.
It's impressive and yet it surely depends what you're doing with it? 50% better performance isn't going to make a local LLM feel quick and yet so many other aspects of computing are quite fast anyhow. I can browse the web fairly comfortably on a Raspberry Pi and it's a bit slow but manageable.
I might review a paper on Quantum Physics but if I don't understand it then what's the value?