1,998 karma · joined February 14, 2016
Currently employed by Google, Inc. as a Site Reliability Engineer.
All my opinions are my own and NOT the views of my current or past employers.
The small web and indie web audience doesn't use google. They use RSS readers:
https://shkspr.mobi/blog/2026/05/rss-feeds-send-me-more-traf...
https://matduggan.com/you-can-absolutely-have-an-rss-depende...
Small web is there to stay, big tech can't do much about it:
https://www.citationneeded.news/we-can-have-a-different-web/
The only threats to small web are:
* the lack of net neutrality
* lack of competition in the the PC component industry which is the backbone of cheap VPSes and hosting services
* browser monopoly, as any monopolistic browser could impose their small-web-unfriendly version of the web
Airbus currently has two factories finalizing the airplane assembly: one in Toulouse and one in Hamburg. You could copy this model and just open different fab in different countries to spread production.
Also, another model is one country making wafers, one country making EUV-lithography machines and parts, one country mining and refining silicon, etc.
Yes. And I think this is what most tech-literate people fail to understand. The issue is scale.
It takes a lot of effort to find the right clip, cut it to remove its context, and even more effort to doctor a clip. Yes, you're still facing Brandolini's law[1], you can see that with the amount of effort Captain Disillusion[2] put in his videos to debunk crap.
But AI makes it 100× times worse. First, generating a convincing entirely video only takes a little bit of prompting, and waiting, no skill is required. Second, you can do that on a massive scale. You can easily make 2 AI videos a day. If you want to doctor videos "the old way", you'll need a team of VFX artists to do it at this scale.
I genuinely think that tech-literate folks, like myself and other hackernews posters, don't understand that significantly lowering the barrier to entry to X doesn't make X equivalent to what it was before. Scale changes everything.
> [1] https://imgur.com/a/3E17Dts
This is generated on device with llama.cpp compiled to webassembly (aka wllama) and running SmolLM2-360M. [1] How is this different from the user clicking on the link? In the end, your local firefox will fetch the link in order to summarize it, the same way you would have followed the link and read through the document in reader mode.
[1] https://blog.mozilla.org/en/mozilla/ai/ai-tech/ai-link-previ...
The quote is attributed to Soichiro Honda, in the book Driving Honda: Inside the World's Most Innovative Car Company by Jeffrey Rothfeder
Why solve hard problems when you can just lobby your way out of it?
NotJustBikes on youtube has a video listing more of these features which don't exist in cars sold in the US: https://www.youtube.com/watch?v=--832LV9a3I
> Go 1.25 introduced a waitgroup.Go function that lets you add Go routines to a waitgroup more easily. It takes the place of using the go keyword, [...]
99% of the time, you don't want to use sync.WaitGroup, but rather errgroup.Group. This is basically sync.WaitGroup with error handling. It also has optional context/cancellation support. See https://pkg.go.dev/golang.org/x/sync/errgroup
I know it's not part of the standard library, but it's part of the http://golang.org/x/ packages. TBH, golang.org/x/ is stuff that should be in the standard library but isn't, for some reason.
It reminds me a professor who recently told me, regarding ChatGPT use in university: "we're receiving every week applications from foreign students written in perfect German, then when we schedule a call for an interview with the potential scholar, they're incapable to speak either German or English."
Run SSH behind some layer. Some people use Wireguard, and that's okay, I prefer spiped [1] because I can run it as an unprivileged user in a fully hardened systemd unit [2], and I can use ProxyCommand in my ssh_config, which makes it transparent: no need to be constantly on a VPN or to turn it on, I just ssh.
This guide recommends two-factor authentication, which IMHO is overkill and lowers your server reliability by using some random pam authentication modules. Also your spiped key (or your wireguard key) can be considered a second factor authentication.
And a second independent layer lowers the probability of being vulnerable to a 0-day vulnerability on SSH [3] or to Jia Tan [4]
fail2ban means you have a daemon running as root parsing random logs and modify your firewall rules... Yikes... [5] If you're concerned about bruteforce bots, they'll go away as soon as SSH behind something. Also with that layer, you don't need to make you firewall dynamic.
[1] https://www.tarsnap.com/spiped.html
[2] https://ruderich.org/simon/notes/systemd-service-hardening
[3] https://www.qualys.com/2024/07/01/cve-2024-6387/regresshion....
[4] https://en.wikipedia.org/wiki/XZ_Utils_backdoor
[5] Yes I know, you can use as a user, and modify the firewall rules with custom script with an SUID. But nobody does this, actually this guide doesn't do this at all, just everything as root!
From the last archived version of lobste.rs/about: https://web.archive.org/web/20250601002505/https://lobste.rs...
"Lobsters is hosted on three VPSs at DigitalOcean: a s-4vcpu-8gb for the web server, a s-4vcpu-8gb for the mariadb server, and a s-1vcpu-1gb for the IRC bot. DNS is hosted at DNSimple and we use restic for backups to b2. (Setup details are available in our ansible repo.) Lobsters is cheap to run, so we don't take donations."
Another thing could be multipliers on property tax. For example, you would pay 0.75× of the property tax on your primary residence, 1.5× the property tax of your secondary residence, and start going exponentially on third, fourth, ... residence. Of course, there would be loopholes (like owning properties through companies), and these loopholes would need to be closed.
You could also tax buy-backs and dividends. (If a company buy their own shares, they have to pay a 50% tax on it)
There are a lot of possible implementations that could add up to each other. It's a fallacy to just point at the bad ones and say "look it doesn't work!"
The main issue is that there has been a transfer of global share income from labour to capital in the last 50 years. However we expect to pay for pensions just by taxing labour. It doesn't matter if there are less young people, because (as shown by GDP growth) they are producing more overall, but misinformed politicians use this argument because they don't understand that these folks didn't profit from the increase in productivity. We need to fairly take a share from this productivity increase and distribute it as pensions. The goal is to pay for what we promised, while relieving burden on young people.
In France, the state pays max(rate * rent, cap) for apartments for students, unemployed and poor workers. Usually people don't qualify for ratio of the rent, because it's way over the cap for the subsidy. To keep up with inflation, the state re-evaluate the cap of the subsidy almost every year.
A french economist showed that there was a correlation between the cap of the rent subsidy and the rental market prices for small apartments. Of course, correlation is not causation, it could just be that the rental market follows the inflation as much as the cap. But this correlation doesn't happen for bigger and more luxurious appartments. Her explanation is that your poor household is only ready to afford €100 per month, as an example, the subsidy cap is €500, so the rental market prices these apartments to €600 (= 100 + 500). When the state re-evaluate the cap to €550, the rental market goes up to €650. (= 100 + 150)
[1] https://www.insee.fr/fr/statistiques/fichier/1376573/es381-3...
But that's just my opinion.
The issue is the harassment. Most of these cases are baseless and get dropped once presented to the public prosecutor. But it puts unwarranted stress on people who just opened their mouth, regardless if I disagree with what they had said.
If these cases were moved forward, they could end up in front of the European Court of Human Rights, where Germany and Austria are among the worst offenders[1] when it comes to the article 10 of the European Convention on Human Rights[2], which grantees free speech in the EU.
Usually these individual cases are used by neo-conservatives to criticize Europe and describe it as (their words) "a socialist hellhole."
While this argument (= "there is no free speech in Europe") might be based on some truth, and while I agree that the free speech situation in most of Europe could be improved, I think it is grossly exaggerated.
[1] https://hudoc.echr.coe.int/#{%22languageisocode%22:[%22ENG%2...
[2] https://en.wikipedia.org/wiki/European_Convention_on_Human_R...
Regarding what happened during that heatwave, there are, rightfully so, regulations on how hot the water can be to be dumped into regular rivers. These regulations ensure the protection of the marine life and ecosystem of these rivers. During the that summer, the rivers' natural temperature was almost as hot as the threshold set by these regulations, so they could not dump any hot water into the rivers. But there are add-ons solutions to this in the future, such as cooling ponds where they would let water temperature dissipate before dumping it into the rivers.
The law is mostly targeted at media and to some lesser extend businesses. The law is not enforced, and would be hard to enforce for individuals. For individuals, the law contradict multiple privacy laws, possibly the GDPR, and it might also conflict with some past rulings on the article 11th of the European Convention on Human rights. This article guarantees freedom of speech without persecutions, and one way to guarantee that is through anonymity.
My non-lawyer opinion is: people setting up an "Impressum" page on their personal websites in Germany are over-interpretating the law.
This is also the opinion of german lawyers[1]: "Impressumspflicht schön und gut - aber muss wirklich jeder Webseiten-Inhaber ein Impressum auf seiner Website führen? Ganz klar: Nein. Die Verpflichtung ein Impressum auf der eigenen Webseite einzubinden gilt nur bei geschäftsmäßigen Online-Diensten. Im Umkehrschluss brauchen Betreiber von Websites, die ausschließlich persönlichen oder familiären Zwecken dienen kein Impressum auf ihrer Homepage einzubinden."
Regardless of this, if you still want to put an "Impressum" page just to be safe, you can buy a "Postfach" from the deutsche post for ~€20/year and use that as your "Impressum" address, this way you don't have to doxx yourself.
[1] https://www.e-recht24.de/impressum/13095-impressum-fuer-die-...
The idea is that working at a company "squeezes juice out of you", so you should not be so easily fired after a long tenure, because the company got all the rewards from your juice, but you don't have much left. You can agree or disagree, but I have to admit that there is a logic.
Of course this doesn't work if you have a work council, usually the work-council negotiate a severance package algorithm (= fix_amount + tenure * amount), and this is usually un-negotiable. This makes sense, thanks to collective bargaining, it's most likely one the best deal you could have gotten. (Even though libertarians will flock-in and start going "How do I know, that I, as a highly performing individual couldn't have negotiate better!?! This seems unfair!")
I would also advise you to include defamation, in case somebody sue you for defaming them. Usually many legal insurance exclude "internet" from the protection, this means that if you post on hackernews "Hans is an idiot", and Hans sues you, you might have to pay the lawsuit yourself. These insurances usually have an "internet" options for usually ~20€/y which would protect you in this case. You can still deduct the entire amount from your taxes, as it's still technically a labour-law legal insurance.
> [...] If a company decides to lay off, for instance, 40 employees, German law doesn’t prevent this. Instead, the law enforces a social scoring system to determine who is affected, prioritizing the protection of the most vulnerable employees, such as those with children. In this sense, when it comes to layoffs, the difference between Germany and the US is minimal.
This is not true, and an over simplification.
Yes, you can always technically layoff in Germany, but it might not hold in court. Most people have legal insurance (mine is ~€300/y) which is tax deductible if it has employment protection. Mine will cover costs for an employment-related lawsuit.
If you feel that your layoff is not justified, you can always sue, the judge could decide that your work contract was unlawfully cancelled, leading to the company having to re-hire you and paying your salary for every month it didn't do so. The company posting record profits could weight in your favor in front of a judge. People, especially non-native like me, don't know better, they just move-on and go c'est la vie. If you sue, win and get re-hired, you can always ask to leave for a bigger package.
For companies above a certain amount of employee (50? 75?), if a small amount of employees (I think it's 3 or 4) request it, the company must run a works council election. For any layoff (individual or mass layoff), the work council must be consulted, and has co-determination, they can basically block the layoff, this was done by Volkswagen's work council recently. [1] For large mass layoffs, companies might also have to consult with the authorities.
Last thing, the social scoring is much more complicated than "those with children." If you have 4 kids and got hired 7 months ago, you might be fired, and I, single person, might keep my job with my 15 years of tenure. Tenure, disabilities, children, ... a lot of things take part into the social scoring.
All and all, I agree with a lot of the sentiments and points of the article. But saying that, outside of social scoring, layoffs between the US and Germany are the same is simply not true. There is a reasonable job security in Germany.
[1] https://www.volkswagen-group.com/en/press-releases/agreement...
There is none really. Usually, some beginner wrote a blog post that basically says "install fail2ban" and that's how many people consider their linux server "secured". But there is much more than that. For example, "put your entire firewall to DENY, and only open what is really necessary." Or "put SSH behind spiped[1] or wireguard". Or "Harden the maximum of your systemd units"[2]. Or "don't do chmod 777, try to understand why it doesn't work." And so on and so on...
For docker, it's the same, I'm not a docker fan, as I mostly use podman, which allows to runs container as different users. In general for security, I would recommend podman running as non-root, but if you insist to run Docker, here are a few places where you could start to harden it:
* Look into enabling and enforcing SELinux policies or Apparmor profiles on your host: https://www.mankier.com/8/container_selinux or https://docs.docker.com/engine/security/apparmor/
* Look into root-less docker daemon: https://docs.docker.com/engine/security/rootless/
* Make sure you don't run any priviledged container, if you do, look into alternatives to run them in non-priviledged mode
Docker has a page about security, it looks like they echo a lot of things I'm saying: https://docs.docker.com/engine/security/ . Avoid GRSEC though, it's basically security theater. They mention docker seccomp profiles[3], which I've never used, but is definitely a good idea when hardening untrusted code.
Also, hardening the OS that you're running docker on (using the things I mentioned earlier about Linux) won't hurt.
[1] https://www.tarsnap.com/spiped.html
[2] https://ruderich.org/simon/notes/systemd-service-hardening
Post-GDPR rules in the EU are clear about the Cookie Banner, providers must make it as easy to refuse cookies as it is to accept them.[1] Also, as you said, livechat cookies are definitely not required when visiting the website, but they make it impossible to opt out. I assume they cut this corner because it was too much work for them to conditionally include their livechat javascript.
If the authors moved fast and broke things on basic stuff, my first thought is "what kind of other corners did they cut when deploying/running docker?" There is a lot of security and isolation options/configuration involved when one runs docker in a secure environment, which are not enabled by default.
[1] https://www.edpb.europa.eu/system/files/2023-01/edpb_2023011...
The author of the post seems to be living in the bay area. It's easy when the number of nerds per km² is high, disposable income is even higher, and driving a car for 2 hours is considered "next door".
I think for losers like myself, living in the middle of nowhere with low disposable income, the best solution is just to rent out a dedicated Kimsufi box (from OVH), or a server off the Heztner auctions. (Or whatever is the equivalent in North America) It's much much more cost effective than collocating.