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

With Tailscale at least, you can pretty easily share a node with someone else. If your target audience are solo developers or hobbyists, making it even easier to share access is surely nice; from the perspective of someone in charge of making sure our company IT is balancing security and ease of networking, the literal last thing I want is making it easier to grant someone access.

There are policies defining who can talk to what; they are deployed from a GitHub repository with defined rules on who can modify them and who has to review them; there are zero scenarios where I want an alternative way of granting access to any device or service under our control.


There might be a misunderstanding of what Tailscale offers here. There is no "VPN" in the classic "virtual network" way. With Tailscale, you can - as with Iroh, IIUC - connect arbitrary nodes to each other, where a node can be a device or an application (via tsnet). All nodes get CGNAT IPs and an addressable hostname, so there is one giant "network" of all your nodes with automatic DNS resolution baked in.

Doesn't tailscale require those all be administered and approved by one account?

> there is one giant "network" of all your nodes

From what I understand they're saying, the point is that you get easy connections to things that aren't "your" nodes, sort of like allowing me to connect one of my tailscale nodes ad-hoc to one of your tailscale nodes, when our accounts are not related in any way prior to us doing that, and without me having to allow your node onto my network or you allow one of mine onto your network and have to deal with the specialized ACLs for that, since it's just a direct connection between two nodes.


Yeah, I figured that in the mean time. It just didn’t occur to me because my use case is literally the opposite—having a secure company network where strict ACLs are the core value, not a nuisance. But if easy ad-hoc connections are your goal, Iroh sure looks like the better choice then.

In Germany your employer has to grant you two consecutive weeks of vacation by law, and vacation is very rarely denied, even for 3–4 weeks breaks.

> hold parents more responsible for crimes that their children commit.

Oh yeah, punishing children for mistakes they need to make to learn not to make them and moving responsibility from parents to the government sounds like a great idea.


They were talking about actual serious crime, like the 13 year old knife murderer in Glasgow, who will undoubtedly have "previous".

(There's a bottom 5% of kids whose parents are basically completely negligent or actively abusive, and they end up causing basically all of the problems)


I think that person was agreeing with me, sarcastically, because they're putting forward the opposite points to the ones I was making.

An API documentation generator for Laravel apps: https://github.com/Radiergummi/laravel-openapi

In contrast to most other libraries in this space, it knows about Laravel conventions and its ecosystem, and tries to infer as much as possible without explicit annotations, using type hints and doc comments and static analysis. Where automatic inference isn't possible, you can use targeted attributes to annotate your route handlers.

The result is written as an OpenAPI specification, and (by default) served using a Scalar playground.

We also include a linter command that checks whether all API routes are documented properly, typed correctly, and following your style - this also supports dirty files only, reporting coverage in standard formats, and even automatically fixing some classes of errors!

I've also written tooling to regularly test the library against a set of open source Laravel applications with a published OpenAPI spec. This has proven very solid in detecting improvements and regressions, so much so that I can delegate new features to an AI agent and rest confident that it can verify on its own whether a change breaks anything.


Wrote a parser to extract image metadata once, and got massively frustrated with the amount of undocumented, semi-documented, wrongly documented, or partially documented attributes. You’ll find references online, but most of them lack half of what you encounter in images. Every image processing app under the sun adds its own range. Some use metric values, some imperial; finding out which can be guesswork. Aperture is given in f-stops, decimals, or literal fraction strings. Some attributes hold sentinel values. Some vendors have custom conventions for undefined data.

It’s a jungle out there.


Yes. I run a niche webapp[1] that extracts exif and xmp (Lightroom edits) from images. At one point I tried to write my own exif parser. It's not that complicated, but very quickly you'll run into weird legacy, vendor-specific nuances (apart from what the parent mentioned, you have to handle both big & little endian exif). And the long tail of those edge cases is, well, very long. Exiftool handles pretty much all of that.

[1] https://pixelpeeper.com/


Pixelpeeper looks amazing, by the way. Such a great idea, thank you for sharing.

I work on the receiving end of media processing nowadays, and the overlap of variety in formats, codecs, and configurations is frustrating. No two encoders work the same way, and they often "innovate" in fun and varied ways that almost feel like renewed attempts to make decoders crash.

Apple engineers partnered with Sony, Canon, Nokia, Adobe, Microsoft to try and hammer out a specification that addresses when different metadata flavors overlap (EXIF, IPTC, XMP) [1]. It was not comprehensive (to be sure) but covered the most common properties.

As was more or less discussed in the post, EXIF concerns itself more or less with hardware and camera attributes and can be considered authoritative for that domain.

IPTC was added by photojournalism to cover more artistic metadata like a caption, author (photographer), keywords, etc.

Like the one XKCD strip, XMP seems to have come along to try and create a 3rd standard to replace the first two…

[1] https://en.wikipedia.org/wiki/Metadata_Working_Group


Sounds like a worse version of non-standard (X-*) HTTP headers: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/...

Happens a lot when standard is not specific enough.


My hell was trying too make sense or and organise audio/music ID3 tags. What a nightmare that is. EXIF seems much nicer to me.

Picard is far from perfect, but it does more or less impose a semblance of uniformity across a large library.

Yes, that's what I ended up using. I was wanting to program something myself but it was too difficult. MusicBrainz Picard [1] is excellent.

[1] https://picard.musicbrainz.org/


A few years ago I wrote an exif parser too, solely for reading/editing text comments, which is much simpler than what you did. Even then, yes, it's not pretty, very frustrating. There are multiple places to put text in exif, and it took a while to find most (all?) the edge cases.

But now it's quite different with LLMs. I recently updated my code and Claude had useful recommendations.


production-grade interpreters are always full of dirty works.

that sounds endlessly frustrating

I wouldn't bet my money that Israel won't be, eventually. The public opinion is turning against them right now.

You underestimate how central Israel is to US-led Western imperialism and how, in turn, ingrained US exceptionalism and Western chauvinism are. Israel is as rogue as a rogue state can be and nothing has happened to it.

Russia kicked out of SWIFT, Israel wasn't

Russia kicked out of FIFA, Israel wasn't

Hell, Russia kicked out of the Eurovision, Israel wasn't

Israel is an absolute pariah on the world stage -- globally once you leave the Western bubble people have a much more negative opinion of Israel than even Russia whose Soviet past has left a residue of generational resentment.


You need to draw red lines somewhere. If you wage attack wars on other countries or reject our shared values, you can't be part of Western society or enjoy its amenities. Don't do that, and you can. It's that simple.

You mean randomly attacking countries like Venezuela or Iran?

Honestly, I don't really consider the USA a western nation anymore in the sense that European nations are.

SWIFT is meant to be a global neutral platform, not an extension of US foreign policy. It's that simple. It's because of your Western chauvinism that you can't see that the US and Israel have done exactly the same thing you accuse others of having done. Ergo, why haven't they been kicked out of SWIFT? Riddle me that mr. "You need to draw red lines somewhere"

I am not an American, and I personally would be in favour of excluding the USA from the union of western nations.

This is categorically wrong, but even then - those that do not vote at all bear even more responsibility, and are traitors to democracy itself. By not participating in shaping it, you're dishonouring everyone that fought and died for your freedom.

> which often, unfortunately, bleeds over to hate for US citizens

err... you guys voted for the administration that fucks over the rest of the world. Twice. So tell me, why would you expect the rest of humanity to show any kindness to the populace entirely responsible for what is happening right now?


You do know not all of us voted for him, not even a majority. You could argue the non-voters allowed this outcome. Should we discard the whole democracy thing because we don't like a result?

I lament that there wasn't a stronger candidate running against him, but the Democrats didn't have a primary, and even if they did, I'm an independent and do not vote in primaries ( this has changed in Colorado thankfully). A different, stronger candidate could have likely beaten Trump


Democracy means that you bear collective responsibility for the government you voted for, regardless of the choices of the individual.

I disagree and don’t see where you get that from. Why would that be the case?

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

Search: