GuB-42
If you care about these things you are either not the intended target or you are a hypocrite.
They may treat changing a timeout value like changing a capacitor with one of a different value on a PCB. Doing it is slow and expensive, involving suppliers, delays, testing campaigns, etc... So that's the kind of thing that is specified up front, to avoid having to touch anything in production. If a change is needed, it will go in V2, months later at best.
It has some advantages, such as not breaking things that work, but they are also not fixing things that don't.
I hold the controversial opinion that encryption can be an anti-feature on the "small web". One of the reason is technical: encryption takes computing resources, and can hardly be made time proof, as it has to evolve in response to threats, and certificates tend to have expiration dates. The other is more philosophical: you use encryption when you want to share secrets: personal data, passwords, credit card numbers, etc... A system that doesn't support encryption doesn't support transfer of personal data, accounts or commercial transactions, which I believe is a good thing in this niche. There is no shortage of secure communication systems when you need one, let that niche stay a niche.
I remember seeing an old article saying how terrible "Star Wars: Empire Strikes Back" was. Now often regarded as the best Star Wars movie, and featured in many "best movies of all times" lists.
I still think there is a problem with Hollywood movies today, also AAA video games, and I think it focuses on making a small number of blockbusters with insane budgets. These movies are not bad in a sense that they are incompetently made, the problem is that they have to be safe for the investors. So, no crazy ideas, wide target audience, inoffensive, familiar, etc... That's why we get so many sequels and remakes, can't go wrong with these, but unfortunately, you can't go outstandingly right either. Indie, on the other hand, is thriving, though more in games than in movies.
Choosing one over the other is just a matter of details. How well it integrates with the corporate network, how pretty it looks, the options regarding CI/CD integration, overall popularity and community, etc... Last time I got to choose, I went with Gitea, because performance was good and it met my needs.
Because it is not the subject that will win them the next election.
And even if they care, some things are easier said than done. With politicians who care, you get things like GDPR, which goes in the right direction, but is a huge legal mess. And it is a mess because it can't be made simple.
Obviously, you have to take consumer interests into account, but you also have to take companies interest into account too, both big and small, otherwise they will just stop doing business, which is bad for the economy and will mean that consumers won't find what they want at a reasonable price. You have to think about the loopholes big companies will invariably find, and covering them will add complexity, but still make it so that small companies can comply without a full time team of lawyers assisting them.
For example, you say the consumer could return it for a full refund on a bad update, but to whom? Should the burden be put on the small retailer who sold it to you (and may be out of business)? There is already plenty of stuff the manufacturer must tell you, usually one a piece of paper no one reads, and the more you ask, the less people will read because there will be too much information. A "privacy score" may be a good idea, if well designed, it will share a place with the energy score, environment score, repairability score, safety signs, origin, etc... And how do you differentiate actual automated content recognition that consumers could want from spyware, formally, so that the first one is allowed but not the latter.
All that to say that it is not impossible, but even with politicians caring, it is complicated. European politicians care (because it can win them votes), the results are so complicated they are getting ridiculed by the rest of the world.
I think a big part of that number is risk, dividends are tied to risk too.
The very idea of investing is that you take risks in exchange for profits. That is, if it fails, you lose your capital, if it succeeds, you become richer. A public provider doesn't work the same way, risk is covered by taxpayer money. If it fails, taxpayers foot the bill, if it succeeds, cheaper service.
Way too many people do the parallel LLM assistance = vibe-coding, opponents call it slop, proponents claim increased productivity. But vibe coding is just one aspect, but to me, analysis is where it shines, at least when quality matters.
We have static analyzers and sanitizers, sometimes fuzzers, which I think are essential to serious development work. Now, I think we can add LLMs to the list.
We blame AI for many evils, like a lack of understanding, code ownership, poor quality output, etc... This is the complete opposite, here the AI is not there to do the thinking for you, instead it says "here look, have your thought about this?", what to do next is up to you, you are in full control of the situation. It also makes development slower instead of faster, again, the opposite of what people claim AI does. But to me, it is the good kind of slow, as in "slow and steady wins the race".
It begs the question, at which point a board game that relies on an app becomes a video game with physical components?
- Verification: Are we building the product right?
- Validation: Are we building the right product?
My intuition was different. To me verification is a process while validation is that the outcome of that process. As in: to validate the "+" operator, you verify that 1+2=3.
Looking at the Wikipedia article https://en.wikipedia.org/wiki/Verification_and_validation the definitions are not very clear and seem to depend on the context, tough the general idea is that of the LLM answer.
Funnily enough, the https://en.wikipedia.org/wiki/Engineering_validation_test Wikipedia article is introduced with "An engineering verification test (EVT)..."
It seems to be the kind of thing where everyone has a different idea and they are often conflated, making the distinction almost meaningless without context. You can give a precise definition for your project, but it may not apply elsewhere.
Note about using LLMs: I often like to use LLMs to settle these questions. Not because LLMs are flawless, far from it, but because they work by generalizing the content of their training dataset, they should do a pretty good job on extracting consensus. It fact, it is all they do; when a LLM tells the truth, as it is often the case, it is because the consensus is often the truth.
Personal example of what LLMs can't do, but I could: I made a script to update some version numbers in some files, based on some other files. Simple stuff, and one of my colleagues told me "ask the AI, it will take 5 minutes". Well, no, because the files sit on different machines, and extracting the files from one machine and putting the result on the other machine requires knowledge of the infrastructure. Again, simple stuff, but the AI doesn't know, and we certainly are not going to let it run wild in our network. I know all this because I talked to the team, attended meetings, and did a bit of careful exploration. I am trusted with resources to do my work in a way the AI doesn't, I am sure it is mostly because I can take the blame me if I misuse them.
Many of these probably against it and expect privacy, that's why they are using quad9. They are the victims here.
If they had said "this service is used by this or that proponent of the legislation", your point could stand, even though I still disagree.
Also, it is about blocking, not spying, still bad, but orthogonal to privacy.
They say they don't have data about individual IP addresses, and their report is follows their privacy policy. Yes, right, but think about it as a matter of principle. Normally, a privacy focused service shouldn't collect any data, but for technical or legal reasons, sometimes, they have to. They may need to know how many queries they have and from which zones to properly dimension their infrastructure for instance, so it is normal for them to have these logs, but publishing them in a blog post just to make a point feels like they are ready to use collected data beyond their intended purpose if it serves their interests.
Legally, it is fine, and is is unlikely to hurt anyone, but on principle, that's a red flag.
The thing about copyright is complete bullshit. Let's assume AI work is indeed not copyrightable, ok, neither is public domain. And when Disney made "Snow White", the folk tale that is based on is public domain, so, by that logic, Disney's "Snow White" copyright shouldn't be enforceable. Well, try it and see how Disney's lawyers react.
And then there is the part where he tries to demonstrate that AI self reviews (not vibe coding, not flooding maintainers with useless reports) are useless by giving alternative. Yes, the alternatives are good, but it mean that your shouldn't use AI in addition to all that. Throwing every tool you have at your code base is a good thing, a LLM is one of these tools, and it is an effective one as it can catch issues others don't, and also doesn't catch what other tools catch, that's why it is good to use both.
I personally have found many bugs in my code using a LLM. Absolutely no vibe coding involved, not even a single copy-paste from a chatbot, no AI completion, just oldschool code. I had the static analyzers on it, the sanitizers, and the program was quite robust. And still the LLM found bugs, real bugs, enough of them to make me feel a bit ashamed. False positives too, but I still have a brain, I can manage.
It looks like Linus is having the same experience and recommends it to everyone. I can get behind that. In the end you get better code. Can't afford it and you are not enough of a genus to get it right without it, the Linux user doesn't care, so Linus doesn't care either, your patch will be rejected for not meeting the quality standards, which are higher now that a new tool is available.
Even destroying the entire humanity would be hard, civilization could go, we have plenty of scenarios for that, but killing every human, even the odd tribe of refugees who could survive in a cave somewhere is something else. I'd say it is the maximum extent of what our technology could do. By that I mean nuking everything we could nuke, including things like volcanoes, mass produce all the greenhouse gases, the ozone depleting ones, the poisonous ones just to release them all, have our finest biologists prepare a pandemic, we may even try to bring in some asteroids.
To sterilize the Earth we would need to destroy all the extremophile bacteria, the tardigrades, the deep biosphere,... That's not happening. Note that we are very careful to sterilize Mars rovers, so that we don't contaminate Mars with Earth life. That's how hardy we consider life to be.
This is a debatable position. Linux distros usually do this, but a lot of modern applications ship with all their dependencies. I'd say the former is more efficient and generally better from a user perspective and the latter is more stable and is generally better from a developer/maintainer perspective. Open source encourages the former, proprietary software encourages the latter.
Sufficiently precise spec is called code. It is the compiler story all over again.
Notably absent from the timeline is visual programming, or Rapid Application Development, think Visual Basic. It was all the rage in the 90s, and for some reason, we don't hear much about it today. We used to make fun of Visual Basic and the people using it back in the days, but the reality is that people with little skill could do something useful. Reminds you of something?
Honestly, I don't really understand why we write so much code today when a lot of use cases can be taken care of using templates and moving boxes into place, "low code" and "no code" never really seem to have taken off as much as they could have. That reliance on code was a boon for LLMs by the way, as text is the thing they have the easiest time working with.
My theory is that every project is unique in some way. As in, my CRUD has a little something that makes it different from other CRUD, and that's why it is valuable. You can't use an off the shelf component because no suitable component exists, and you want code because with code, you can express what you want with precision.
But it is also what limits AI. AI is very good at doing what other people did, but you don't want to do like everyone else, so you have to be very precise in what you are asking, and the most precise way of asking things is to write code.
However, when you really want what others did, then AI is really effective: rewrites, ports, decomp, etc... But this is not really programming, it is at best a translation job, and it will never be as good as the original. To make it better, you need to inject something unique, and for that, the best way to do it is with code. Like the translator of a novel who injects elements of his own culture that go beyond the work of the original author, to make up for what can't be literally translated.
We have essentially two kinds of meetings:
- daily meetings, scheduled, 30 minutes, with a timer, overruns happen, but rarely, and not by a lot.
- unscheduled meetings, often more than 1 hour, sometime massive overruns
The latter are by far the more useful ones, and because they are infrequent, take less time overall.
The problem with the daily meetings is that they degenerate into everyone taking turns saying what they are doing, who cares except for the manager? And we have Jira, everything is there. Sometime there is something interesting: maybe someone found something to save everyone's time, maybe a strange bug that need some collective mind to figure out, or a breaking change people need to be aware of. But these report are often cut off by "let's move on, we will talk about it later (maybe)", which mean either another meeting, or people missing information.
The unscheduled meeting however usually have a clear goal, and a solution has to come out of it. Cutting the meeting short without a solution loses the entire point, so overruns are common, but in the end, we have something meaningful.
Dictatorships, especially the communist style often use it as an argument for why their system is better than what we have in the western world. It is obviously propaganda, but why would they choose that propaganda? There is probably some truth in it. Commie blocks in particular managed to solve a serious housing problem very effectively. It wasn't great, didn't age well, but it gave people a decent place to live.
For example the sentence may be "They decided to rewrite the application in Rust", and the subtitle be "They decided to rewrite the application in rats". They made a single mistake, and it is on the most important word. I guess it can be explained by the fact that these key words tend to be uncommon while the rest of the sentence just flows naturally, that is, you barely need to listen, you can guess most of it.
It worries me a bit because as models get better, they may come up with more and more consistent, but wrong transcriptions. Like a typical LLM hallucination, so confidently wrong that you don't question it.
The former is just wrong in the case of Meta, you don't need to look far to find many of their contributions. The latter is debatable, but it is not what you said.
There is also a difference between the company as a whole and the people working for it. Their "very fat salaries" can let them support noble causes, or not, they are people, in all their complexity, not just machine parts.
Look at COVID for instance, not the first novel coronavirus infection, it only took days to go from "maybe it is like the other ones that infected a few thousand people" to "everyone on the planet will get it", because the start of the curve looks the same.
Less modern AI (aka. machine learning) is used all the time in science. I don't know of any commercial breakthrough yet, but there are some promising developments, like in antibiotics. If it materializes, that would be a very big deal.
The problem isn't the scripting, I am a programmer, I am fine with it. The problem is that I had to do all the math myself, or worse, use hardcoded values when it should have been computed. That is, for example, if I want a hole in the middle of a square face, I want to be able to say "I want a hole in the middle", whatever the language is, without having to solve a math problem.
That's why I prefer constraint-based modeling, like what the likes of Fusion360 offer. Paradoxically, even if it is graphical, it feels more like programming to me than OpenSCAD. In Fusion360, the model is defined as a sequence of instructions (the timeline at the bottom), these are not lines of code, but it is a program. That sequence of instructions can be manipulated, and you can use variables. And it is easier to define things programmatically than with OpenSCAD, where you often have to put in values by hand, because the math is too complicated without an constraint engine like Fusion360 has.
For example, we attribute general relativity to Einstein, fair enough. We generally acknowledge that he built his work on mathematical foundations by Lorenz, Minkowski, Poincaré, Riemann,... But what really made general relativity into a concrete theory rather than just a cute math problem is that it solved the problem with the orbit of Mercury. And the reason we knew there was a problem with the orbit of Mercury is that we had instruments with enough precision to measure it, if we didn't, then general relativity would have been useless.
Newton couldn't have come up with general relativity, not because of math or because he wasn't enough of a genius, but because with the level of precision their instruments had, it had no reason to exist.
In spirit, "don't complain, fix things" means you can do things without asking for permission, as in "don't complain if you can fix things instead". If your software crashes because it misses a null check, just add that check and move on. Don't request to have it included in the next sprint, assign it points, have it prioritized by some manager, only to have it assigned to someone else who will then call you back for explanation. Here "don't complain" means something more like "you don't have to write a ticket".
But once the corporate hierarchy comes up, fixing something without telling managers becomes unacceptable, how are they going to meet their KPIs if your work doesn't show up on their dashboards? The saying stays, but it becomes perverted into "don't complain unless you can fix it", which is the complete opposite of the previous idea.
Most of the skepticism towards using AI in maths could be applied to using computers in maths in general.
For instance, a computer can find a solution using brute force, like for the 4 color theorem. By doing this, we skip the potentially insightful part where the problem is reduced to something humanly solvable.
And yet, I don't think any mathematician today will tell you that computers are anything but essential tools.
I believe that AI is the same, and that mathematicians and other scientists will embrace it like they embraced computers. In fact scientists have been using AI (aka. machine learning) before it was mainstream, which is totally unsurprising because they invented it in the first place, the industry just gave them more resources, which turned out to be what AI needed.
That's one of the best things with git (among with other DVCSs), it is incredibly resilient. I remember during an interview of Linus Torvalds about backups, he says he doesn't backup his work in the traditional sense, he has no real reason to when everything he does is copied millions of time.
The real point of GitHub for such a project is because GitHub is really popular, and it has a social network aspect to it. So yes, you are going to lose it if you get kicked out of GitHub, but by choosing a lesser known platform you won't get it in the first place. Also, their website is not on GitHub, so kicking them out of GitHub won't make them disappear completely.
It looks more like the kind of thing a web designer or demoscener would put up to show off his productions than a government website about a hot political topic.