2,176 karma · joined April 15, 2011
When developers say that LLMs make them more productive, you need to keep in mind that this is what they’re automating: dysfunction, tampering as a design strategy, superstition-driven coding, and software whose quality genuinely doesn’t matter, all in an environment where rigour is completely absent.
They are right. LLMs make work that doesn’t matter easier – it’s all monopolies, subscriptions, VCs, and lock-in anyway – in an industry that doesn’t care, where the only thing that’s measured is some bullshit productivity measure that’s completely disconnected from outcomes.
...
One group thinks this will make the world ten times richer. The other thinks it’ll be a catastrophe.
(from an earlier post, https://www.baldurbjarnason.com/2026/the-two-worlds-of-progr...)
* Google's upcoming folding phone is going to have less RAM than the current model.
* Motorola has both increased the price on their Razr flip phone and downsized the minimum storage
* Sony reduced storage on the PS5 Slim
...
For a traditional Italian espresso, about 7g of coffee beans are extracted. For a third-wave double espresso, it's usually 18g or more.
In my opinion, 10x7g is a lot. 2x12g is more than enough for me.
They are reporting on an anti-solar NIMBY movement and mention how the far-right is pushing the issue. That doesn't mean they share the same opinion.
The other issue is dynamic configuration. How do you handle replacing certain dependencies, e.g. for testing, or different runtime profiles? You could try to implement your own solution, but the more features you add, the closer you'd get to a custom DI framework. And then you'd have an actual mess, a naive non-standard solution for a solved problem, because you didn't want to read the manual for the standard implementation.
By the way, Spring dependency injection is mainly based on types. Annotations are not strictly necessary, you can interact with the Spring context in a procedural/functional manner, if you think that makes it better. You can also configure MVC (synchronous Servlet-based web) or Webflux (async web) routes functionally.
When a bean is missing, the app will fail to start, and you will get an error message explaning what's missing and which class depends on it. The easiest way to ensure this doesn't happen is to keep the empty @SpringBootTest test case that comes with the template. It doesn't have any assertions, but it will spin up a full Spring context, and fail if there is a configuration problem.
The only complicated part about Spring Boot is how the framework itself can be reconfigured through dependency injection. When you provide a certain "bean", this can affect the auto-configuration, so that other beans, which you might expect, are no longer automatically created. To debug this behavior, check out the relevant AutoConfiguration class (in your IDE, use the "go to class" shortcut and type something like FooAutoConfi..., e.g. JdbcAutoConfiguration).
In a good codebase, the configuration itself would be tested. For instance, if you did something a bit more complicated like connecting two JDBC databases at the same time, you would test that it read the configuration from the right sources and provides the expected beans.
1) Foreigners are all trying to punch you
2) Your government is not
3) The FCC is acting in the citizens' best interest and this is actually the best way to increase security for router consumers.
Are 2 and 3 valid assumptions at the moment? In the extremely polarized US, that probably depends on your political affiliation. From the outside, I can't tell if this is a power grab, protectionism or just a decision I cannot get behind. Vulnerabilities and backdoors in US network equipment prove that "Made in USA" does not necessarily improve security. What the ban does improve is the administration's control over what's sold.
That's not what Google's AI mode does, though. It presents a bunch of sources along the answer, but in my experience, the sources in many cases don't actually back up the claims generated by the LLM.
The main thing that makes this difficult is that in most cases the new system is supposed to be more capable. Transactional batch processing systems are replaced with event-based distributed systems. Much more difficult to get right.
The only superior aspect of Visa/Mastercard payments is that they are more widely accepted, and that's something that can be changed.
Of course, you can get overweight by eating too much sugar, but it's really about not eating too many calories long-term, regardless of the source.
And of course, refined sugar isn't healthy at all and consumption should be kept to a minimum, outside of exercise.
Bread and pasta are staples in France and Italy, and still they are much healthier than the US. In France, there's nothing wrong with a baguette from a bakery (or even from a supermarket). You'll also find industrially produced white bread if you really want to, but people aren't buying that as much, because of their food culture. On average, they have a better understanding of what's good and healthy.
One of the key issues is understanding food as products rather than produce. By outsourcing your food to large companies, you are giving them an opportunity for cutting costs by reducing the quality of the production process (e.g. reduced fermentation time of the dough) or the ingredients (e.g. adding sugar for better browning or to make the product more addictive). It's a result of the financialization of everything and the need for growth.
Rather than buying branded products and going to chain restaurants, buy from smaller places or cook your own food, from scratch.
It's the basis of democracy, and a healthy democracy does not reject a visitor just because they criticized its government.
For those that don't have the cash, financing is available.
Have you read this, about SunKing and SunCulture in Africa, recently posted on HN: https://climatedrift.substack.com/p/why-solarpunk-is-already...
Their smallest solar products are small lanterns. Simply having a pollution-free source of light is already a quality of life improvement for some people. One step up is to add a USB port to charge phones.
Voting machines that saw more voters had a larger skew. Up to about 300 votes per machine, the results look pretty random and natural. From there on, the pattern changes drastically and shows unexpected clustering. It's unexpected because larger samples should slowly converge but still be normally distributed (law of large numbers). Instead of matching a bell curve, the distribution shows a "russian tail" (search for it on the page), a sign of vote manipulation.
All this is only for the early votes. If you compare the scatter plots and distributions of early votes vs. election day, they look completely different.
https://ec.europa.eu/digital-building-blocks/sites/display/D...
eID is a federated identity system that uses national electronic ID systems as the identity sources. That's useful especially for apps on the EU level, e.g. for customs, to submit what you're importing as a company.
In practice, I won't be able to use my phone as a replacement for my passport when traveling internationally. But I might be able to use my phone, in combination with my national ID card which has a NFC chip inside, to submit a government form in another EU country.
I see two reasons for using a factory:
1. Reducing the scope of what a piece of code is responsible for (a.k.a. "Single-Responsibility-Principle").
Assume you are working on a graphics app that can draw 50 different shapes. The currently selected tool is stored in a variable, and there is a long switch statement that returns a new Shape depending on that variable. You wouldn't want the switch statement to dominate the rest of the code:
handleClick(x, y) {
selectedTool = getSelectedTool();
shape = switch (selectedTool) {
case "CIRCLE" -> new Circle();
// 49 more lines here...
}
drawShape(shape, x, y);
}
Not only would it get more difficult to read the code, but also the test for handleClick() would have to test for all 50 shapes. If the instantiation of the shape is separated out into its own function, handleClick() can be shorter. If the factory function is injectable, the tests for handleClick() can focus on the coordination work that the function does: it asks the factory for the shape and draws it in the right place.2. Allowing to reconfigure what kind of objects are created through Dependency Injection. For instance:
class CommentRepository {
constructor(dataSource, queryFactory) { ... }
getComments(articleId) {
commentsQuery = queryFactory.getCommentsQuery(articleId);
return dataSource.query(commentsQuery).map(toResponseType);
}
}
class PostgresQueryFactory { ... }
class RedisQueryFactory { ... }