HNHacker News
TopNewBestAskShowJobs

andor

2,176 karma · joined April 15, 2011

submissionscomments
andor··on The UK's Teen Social Media Ban Is Political Theater, Not Child Safety Policy
It’s possible to verify age without disclosing identity. The German national ID (smartcard) allows this, but I’m not aware of any online service making use of the feature. I suppose it’s used offline by cigarette vending machines though.
andor··on Developer gets Half-Life running at 30 FPS on a Nokia N95
It doesn't have a dual CPU or dual-core CPU. It's one CPU core plus a DSP core (which is probably not used by the game).
andor··on macOS Container Machines
Did Apple officially confirm this or is it based on the statement regarding games?
andor··on European sentiments towards the US hit an all-time low
Western influence isn't necessary. Eastern Europe has experienced the Soviet Union and doesn't want to go back.
andor··on Bun has been converted to rust. Now what?
They obviously haven't closely reviewed the code. That's the point
andor··on Indoor Wi-Fi Roaming with OpenWRT
For Omada devices, you need a "Controller". You can run the Omada Controller software on an existing computer, get one of their controller devices, or use their cloud-based service, which should be free at your scale.
andor··on The old world of tech is dying and the new cannot be born
He's not denying that there is demand, he just has a different view on what's happening:

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...)

andor··on RAM prices are forcing companies to choose higher prices, worse specs, or both
The RAM/SSD price spikes are not shrinkflation, but the article gives examples of shrinkflation happening due to it:

* 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

...

andor··on Habitual coffee intake shapes the microbiome, modifies physiology and cognition
It depends on how much caffeine is in your cup. Rather than measuring the size of a cup, I would go by the amount of coffee, as in the weight of the beans, used to brew it. The actual amount of caffeine is not as easy to measure, and even for the same kind of beans, there is natural variation.

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.

andor··on macOS 27 won’t be supporting Intel anymore
The page doesn’t actually say that explicitly
andor··on In Denmark, the spread of solar panels has become a divisive issue
That's just your reading comprehension.

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.

andor··on Spring Boot Done Right: Lessons from a 400-Module Codebase
Manual dependency injection is fine, but it doesn't scale. Especially when you start refactoring things and dependencies need to be moved around.

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.

andor··on Hold on to Your Hardware
Fusion power that uses steam turbines to convert heat into electricity will be more expensive than solar/wind
andor··on Country that put backdoors in Cisco routers to spy on world bans foreign routers
This makes sense if you assume that

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.

andor··on Ask HN: How do you deal with people who trust LLMs?
> Is Google search engine that leads to NY Times or Fox News or Wikipedia and makes us manually choose sources as per our biases "better" than Google's Gemini engine that summarizes content from all the above sources and gives an average answer?

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.

andor··on Google Safe Browsing missed 84% of confirmed phishing sites
Yeah, it would be interesting to know how much work is spent on it. I sometimes submit sites when I am targeted by a campaign, but I'm not sure if they end up in their deny-list.
andor··on IBM Plunges After Anthropic's Latest Update Takes on COBOL
Banks are slowly moving away from their old COBOL systems. It's about cost as much as it's about catching up with the neo-bank competition.

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.

andor··on VTT Test Donut Lab Battery Reaches 80% Charge in Under 10 Minutes [pdf]
The PDF is digitally signed with a cert from the Finnish „Digital and Population Data Services Agency“
andor··on Wero – Digital payment wallet, made in Europe
It's not really nationalism since this is a European effort across multiple countries. But for all of them, it will improve the national security posture.

The only superior aspect of Visa/Mastercard payments is that they are more widely accepted, and that's something that can be changed.

andor··on Wero – Digital payment wallet, made in Europe
On Smartcards yes, maybe Android, but certainly not on iPhones. On iOS, it's only been possible to implement alternatives to Apple Pay since 17.4 (2024), and only in Europe (EEA).
andor··on Devuan – Debian Without Systemd
Yeah, that's why Slackware and Gentoo have a much larger userbase than Debian :-D
andor··on Sugar industry influenced researchers and blamed fat for CVD (2016)
Sugar doesn't cause insulin resistance or (type 2) diabetes. Both are a result of being overweight.

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.

andor··on Sugar industry influenced researchers and blamed fat for CVD (2016)
Bread with sugar in it is problematic, but that doesn't mean all bread is bad. That would be like saying that boiled potatos are as unhealthy as french fries. Or rolled oats vs. sugary industrial cereals. Whole grains are actually really healthy.

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.

andor··on US could ask foreign tourists for five-year social media history before entry
Free speech is generally considered a human right that should apply to anyone, not just citizens.

It's the basis of democracy, and a healthy democracy does not reject a visitor just because they criticized its government.

andor··on Bird flu viruses are resistant to fever, making them a major threat to humans
Some people colloquially call a cold "the flu", but the common cold is very different to influenza. Please don't spread misinformation.
andor··on Pakistan says rooftop solar output to exceed grid demand in some hubs next year
It's really not expensive anymore. There's a Black Friday deal on amazon.de for an entry-level Anker Solix system with 4x500W panels and a 2.6 kWh battery. 1200 EUR.

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.

andor··on Clark County Election Analysis
It's not the drop-off percentages that are interesting. It's the pattern that you can see in the scatter plot (section 3 of https://electiontruthalliance.org/clark-county%2C-nv):

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.

andor··on Europe has opened a door to a universal wallet
This seems like a misunderstanding of what eID is.

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.

andor··on Caffeine suppresses cerebral grey matter responses to chronic sleep restriction
I would claim that for regular users of caffeine, it merely restores function to a baseline level.
andor··on A FactoryFactoryFactory in Production (2017)
Shape.getOfType(type) would also be a factory. A factory does not need to be a class, it can also just be a function.

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 { ... }
← PreviousPage 3 of 26Next →