Hacker Newsnew | past | comments | ask | show | jobs | submit | Milpotel's commentslogin

> Safari [..] The page stopped loading properly.

Who would've guessed...


> [...] and runs a heavily stripped-down version of Linux that lacks systemd and apt. And these are just a few of the issues.

?!


I don’t see this as noteworthy myself. It’s expected on a small embedded device such as this. You’re usually lucky to have busybox.

Presumably Alpine. I bet it doesn't run GNOME either. And these are just a few of the issues!

> But what additionally raised red flags was the presence of tcpdump and aircrack - tools commonly used for network packet analysis and wireless security testing. While these are useful for debugging and development, they are also hacking tools that can be dangerously exploited.

Must be another AI slop article. Stop feeding your writings into GPT & co to turn into extra long nonsense.


What was wrong with the above paragraph?

Let's see:

1. It lacks systemd and apt.

systemd is so resource hungry that i'm sure they removed it to reduce the RAM bill. Apt... why install apt if the distro has a different means of updating?

2. While these are useful for debugging and development, they are also hacking tools that can be dangerously exploited.

This is purely fear mongering. Even the shell could be a "hacking tool that can be dangerously exploited". Let's remove the shell too.

There are some legitimate complaints in the article, like the use of the same key on all installs. The rest looks more like fear mongering and security theater.

Including the microphone. What were they supposed to do, desolder it manually and add $10 to the price of each device?

I don't see the article complaining that a PiKVM has so many unused peripherals when used as a KVM. To go in the spirit of item #2, the usb ports could be used as "dangerous hacking tools" so you should desolder your usb ports from a Pi used as a KVM, right?


Cat is a hacking tool cause you can see the contents of /proc/kcore?

Cp is a hacktool cause bad files can be copied?

Grep is a hacktool cause only monster hackers use regex?

(This is obvious sarcasm)


Heck, everybody knows Linux is a hacker OS…

Hey I didn't think of that. They forgot to complain that the device doesn't use a properly licensed OS that they certified secure!

Absolutely with systemd and apt. Like apt couldn't be used to install "hacking tools".


Lacking software (apt) is a security issue. Having software installed (tcpdump) is also a security issue.

apt is a package manager. It's only relevant if the system uses it to manage it's packages. Red Hat based distributions, for example, don't use apt. Embedded devices typically don't manage packages on an individual basis, rather updating the entire distribution via "firmware updates".

Could you elaborate on how lacking apt is a security issue?

The opposite is true: there are a lot of projects that failed because of the chosen language.

What are some famous examples?

Eclipse, Azureus, Minecraft, MySpace with ColdFusion, OpenOffice's Java parts...

These are the failed projects?!

These are the "famous" failed projects. All of them lost most of their user base or required a rewrite or lost to a faster competitor.

> Minecraft

Typo?


Why? It's horrendously slow thanks to the wrong language choice and also required a rewrite (bedrock).

> If they chose Zig or Rust, I'd want to hear why that was a better choice than using a gc'd language.

Come on, they advertise with benchmarks hence it's quite obvious why they didn't chose a gc'd language.


Oh yes I know they do in this post, I meant more generally. Even myself I often wish I had a need to use a lower-level, cooler language, but the pragmatic side of me just can't justify it.

2025 and actual devs are still recommending to type "bash <(curl -L ...)" into a terminal...

If the source is known, it is not less bad that downloading a program and running it

It is if the script is written badly, gets truncated while it's being downloaded, and fails to account for this possibility.

Look into tailscale's installation script, they wrapped everything into a function which is called in the last line — you either download and execute every line, or it does nothing.


This "what if it gets truncated in the middle of the download, and the half-run script does something really bad" objection gets brought up every time "curl | bash" is mentioned, and it always feels like "what if a cosmic ray flips a bit in your memory which makes the kernel erase your hard drive". Like, yes, it could happen in the same way getting killed by a falling asteroid could happen, but I'm not losing sleep over it.

Serious question, why or how would a script get truncated when transferred over https?

Just living far from major datacenters is enough. I get truncated downloads pretty regularly, maybe a couple times a month or so. The network isn't really all that reliable when you consistently use it across the globe.

It usually happens on large files though, due to simple statistics, but given enough users, not hard to imagine it happening with a small script...


That's easily fixed by adding Content-Length headers.

You pull the Ethernet cable out before it finishes. Or your wifi router hiccups

Wouldn’t the download terminate without emitting the script?

That's quite uncommon. Typically your distribution checks that the downloaded source/binary has the correct checksum and an experienced maintainer checked the (sandboxed) installation. Here someone puts an arbitrary script online that runs with your user's permission and you hope that the web page is not hijacked and some arbitrary dev knows how to write bash scripts.

It's just assumed you'll run it in an isolated container, or some other sandbox...


Don't get too exited - Technitium has a bus factor of one, a very small user base and no previous auditing.

Yea, I often wonder when I see this type of article, why don't they just use bind9?

No other DNS resolver is going to come close to it's number of deployment*years in operation.

I didn't read the article though, since I'm not going to enable javasript and cookies just to read someone's blag post 8-/

HTML much?


> I didn't read the article though, since I'm not going to enable javasript and cookies just to read someone's blag post 8-/

mirror: https://archive.vn/8BCBn


> why don't they just use bind9?

Because bind9 is not a dns server but a collection of all available CVE types for further studying.


I guess wikipedia doesn't agree with you:

"BIND is the de facto standard DNS server"

https://en.wikipedia.org/wiki/Comparison_of_DNS_server_softw...

9 just being the currently deployed version.

A non-wikipedia reference:

https://dn.org/a-comprehensive-comparison-of-popular-dns-ser...

Although this article does state that bind's "configuration files and options require careful attention to detail".

So, maybe it's not appropriate for the modern hype-cycle s/w development model?

In general, I don't think I'm disagreeing with you, so I'm not sure what message the reply is intended to convey.

Technitium seems like another one of those: "My weekend hobby project was to reinvent fire, and the wheel" sort of things, that seem popular on the HN feed.

My favorite feature of bind is "split views". This allows the same service to provide DNS on the local LAN, as well as authoritative DNS to the internet.


I am fan of Technitium, because I like to build and I built two plugins for it to fit my use case. But at work, we use Windows DNS and Bind in parallel. So, this is also a hobby of mine. The hook for me is that it is built with dotnet, and I have experience in that stack. Other features are secondary actually.

I am curious though, what would TDNS do so that you can replace BIND with TDNS in your homelab/workplace or wherever it is used? I genuinely ask for it so that I can help the original developer with some PRs.


> I guess wikipedia doesn't agree with you:

Are you kidding? Bind has been the de facto standard for DNS servers for ages but it's just a badly engineered piece of software and had braindead vulnerabilities for decades:

https://www.cvedetails.com/vulnerability-list/vendor_id-64/p...

Already 20 years ago it was common knowledge to never use software that Paul Vixie had touched (bind, vixie-cron, sendmail ...) and we used alternatives such as djbdns. Good old times...


After just a short search to try to come up with some numbers, I find that between 60% and 90% of internet DNS servers are running bind.

And yet somehow, the internet has much bigger problems...


Bold statement just one month after the last cache poisoning vulnerability. Bind is the Microsoft Windows of DNS servers - a lot of users and bugs nonetheless the go-to for many admins because that's what they are most familiar with. And similar to Windows, the internet mostly relies on others - none of the big companies (Meta, Cloudflare, Google, MS, Amazon, Netflix, Twitter...) use bind and neither do most hobbyists. It's just for the plethora of mid-sized companies with unmotivated admins.

The only problem there is for GDPR consent thingy. You can disable and proceed. I don't use any telemetry except for the consent banners.

When it comes to Technitium, well, it's written in the blog.


If my browser is blocking cookies, you don't need my consent, because you're not going to set any cookies.

GDPR preempted...


And yet here I am deploying it in production

You are a brave fellow!

Not so much, just old enough to do proper risk analysis and have safeguards in place.

There is also T2 SDE.


> always use only half-open intervals

That means you have to waste bytes for the index when you need to include ..._MAX.


By "..._MAX" I assume that you mean the maximum value of a given integer type.

In a language where half-open intervals are supported consistently in all the places, this would be solved trivially, e.g. for a signed byte the _MIN and the _MAX values would be defined as -128 and +128, more intuitively than when using closed intervals, where you must remember to subtract 1 from the negated minimum value.

Even the C language has some support for half-open intervals, because the index pointing after the last element of an array is a valid index value, not an out-of-range value (though obviously, attempting to access the array through that index value would be trapped as an out-of-range access, if that is enabled).

Applied consistently, the same method would ensure that the value immediately above the last representable value of an integer type is valid in ranges of that type, even if it would be invalid in an expression as an operand of that type.


And Zig has surpassed 1.0 or where is the argument?


Zig has not surpassed 1.0 and explicitly strives to remove features, which Java and Rust don’t do anymore. That’s why it feels different.


That's a bit too naive considering how bad food became during the last decade. Formerly perfectly fine products now have artificial ingredients to increase profits.


How is it naive? You were literally unable to eat the foods because they rotted in delivery and refrigeration was so expensive it made fresh foods unaffordable to the consumer. Even then they were not edible because they were not ripened due to the lack of ethylene.

I’m not discussing the last decade, in fact in the last decade the availability of fresh food is absurdly better vs say 1930-1995 or so. The article also starts in 1950.

We are at a point where we can turn the tide, but the prevalence of fresh food in the store is counter balanced by the fact affordability is decreasing as inflation, restrictions on free trade, and stagnation of lower income takes the fresh foods away as an option. Add into it cultural inertia of 70 years of processed food prevalence as a staple food, you end up in this situation.


> fresh food is absurdly better vs say 1930-1995 or so

Not sure where you grew up. The variety reg. vegetables/fruits is larger (e.g. pomelos weren't a thing in my childhood) and the availability across the year is much better but the quality is worse. You now only get a few or sometimes even a single genetically modified kind because some big companies control seed production. Yes, meat doesn't go stale as fast as before - but it is full of chemicals now. Same for bread.


The article's story begins in 1886.


I can only see the beginning due to the paywall and weird article layout interfering with archive, and the start is an image of a person holding a 1950’s TV dinner. If it then moves in narrative into the 1886’s, it started in the 1950’s.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: