Perhyte

@Perhyte@lemmy.world
0 Post – 93 Comments
Joined 1 years ago

I've never used Rust or Zig, but for Go: (disclaimer: this is all from memory, so there may be inaccuracies or out-of-date information here)

Go does not allow circular references between modules. That restriction allows the compiler, when compiling a module, to not only put the compiled machine code in the resulting object file for that module but also the information that in C would be required to be in a header file (i.e. type definitions, function signatures, and even complete functions if they're considered candidates for inlining, etc.). When compiling a module that imports others, the compiler reads that stuff back out of those files. Essentially a compiled Go library has it's auto-generated "header file" baked-in.

In older versions this was actually human-readable: an early part of the object file would essentially look like trimmed-down Go when opened in a text editor. IIRC they've switched to a binary serialization format for this some years back, but AFAIK it still essentially works the same.

I guess when comparing to C or C++, you could compare this to automatically generating pre-compiled headers for every module, except the headers themselves are also auto-generated (as you alluded to in your post).

If by "shared library" you mean a dynamically linked one: IIRC Go does allow shared libraries to be used, but by default all Go code is linked statically (though libraries written in other languages may be dynamically linked by default, if you import a module that requires it).

2 more...

This War [...]

Unfortunately you'll have to be a bit more specific than that, too many wars going on at the moment...

For MIT, why do you care? That's perfectly fine and explicitly allowed by the license. Same for Apache, but with a few extra requirements (like keeping a list of changes in the source code and preserving licensing information etc.).

As for how I know big corporations are using my code: the fact that a prominent project (publicly used by several tech giants) took a dependency on one of my tiny (permissively licensed) library packages is probably a clue.

9 more...

Because you need a way to be reachable over HTTPS for other instances to be able to securely send you updates (new posts/comments/votes etc.), so you need a trusted certificate. While HTTPS does not strictly require a domain name^1^ it vastly simplifies the process.

^1^: It's possible to get a trusted certificate for an IP address, but not nearly as easy as getting one for a domain. And it's probably also more expensive than just getting a domain and using Let's Encrypt to get a certificate.

5 more...

My family shares a fairly uncommon surname with a professional athlete we are (as far as we can tell) completely unrelated to.

My father always joked that we should answer "we don't discuss that" when asked about it, as if there had been some huge falling-out.

You don't actually have to set all the modification dates to now, you can pick any other timestamp you want. So to preserve the order of the files, you could just have the script sort the list of files by date, then update the modification date of the oldest file to some fixed time ago, the second-oldest to a bit later, and so on.

You could even exclude recently-edited files because the real modification dates are probably more relevant for those. For example, if you only process files older than 3 months, and update those starting from "6 months old"^1^, that just leaves remembering to run that script at least once a year or so. Just pick a date and put a recurring reminder in your calendar.

^1^: I picked 6 months there to leave some slack, in case you procrastinate your next run or it's otherwise delayed because you're out sick or on vacation or something.

There was some kind of incident between the artist and a camera woman. The exact details aren't public, AFAIK.

9 more...

As of v0.18.2, Lemmy marks the "original URL" as the canonical URL so search engines know which page is the "real" one. Shouldn't that help?

3 more...

If you don't mind using a gibberish .xyz domain, why not an 1.111B class? ([6-9 digits].xyz for $0.99/year)

Assuming they went to signed 64-bit time, it should be about 3:28:32 pm UTC on Sunday, December 4, 292277026596. Yes, that last number is a year.

2 more...

Given the state of US politics, what are the odds a "commitment" like this will survive the next election cycle?

1 more...

You can only federate via tor or i2p if both sides support those protocols, because for federation to work between two nodes both nodes need to be able to initiate connections to the other. That means one-way bridges like tor exit nodes are not sufficient.

I'd guess most Fediverse servers don't support either of those protocols, so any new server trying to federate solely through them would have an extremely limited view of the Fediverse.

Though I suppose theoretically nothing is really preventing a motivated group of server admins from setting up a parallel "dark Fediverse" containing only onion sites.

1 more...

In a rather large part of the world (the solid green parts of that map).

According to the article, the companies didn't know that's what they were doing in this case. They thought they were hiring people living in the US:

Greenberg said the workers used various techniques to make it look like they were working in the US, including paying Americans to use their home Wi-Fi connections.

"in hospital" is the correct way to say that in British English.

(US) She's in the hospital. = (Brit) She's in hospital.

[EDIT: removed now that the original is fixed]

There's a bit more to it than captured in the summary, which is why it's just a summary of the spec and not the actual spec.

From a bit further down on that page:

  1. Major version zero (0.y.z) is for initial development. Anything MAY change at any time. The public API SHOULD NOT be considered stable.

Lemmy is still in major version zero, so it can make breaking changes without incrementing the major version and still be in compliance with the spec. This way, projects won't have their first "real" version be something like v123.0.0.

Lemmy still being v0.x also serves as kind of a warning to app developers that changes like this may be made at any time.

Can't wait for that first episode after the strike though. It's going to be glorious, I just know it!

AFAIK docker-compose only puts the container names in DNS for other containers in the same stack (or in the same configured network, if applicable), not for the host system and not for other systems on the local LAN.

4 more...

Additionally, HTTPS if very easy to set up nowadays and the certificates are free^1^.

^1^: Assuming you have a public domain name, but for ActivityPub that's already a requirement due to the push nature of the protocol.

And, interestingly, they lost $91 million last year. If the CEO had instead earned $100 million last year, the company have made a multi-million dollar profit (if only just). If it had been $10 million (still way overpaid for any single person, I'd argue), they'd be nearing the hundreds-of-millions-per-year profit scale.

I'll never understand companies paying their CEOs hundreds of millions while they're losing money hand over fist...

1 more...

We did build stuff on ActivityPub: Lemmy, Kbin, Mastodon etc. are all based on that underlying protocol.

!distrohopping@lemmy.world - no posts yet though.

1 more...

No idea about the Lemmy hosting bit, but I highly doubt that .com you got will renew at $1 going forward. Judging by this list it'll most likely be $9+ after the first year.

At $1/year, the registrar you used is taking a loss because they pay more than that to the registry for it. They might be fine with that for the first year to get you in the door, but they'd presumably prefer to be profitable in the long term.

Hopefully AVM gets to register fritz.box then, because they've been setting up their customers with that as their internal domain for ages...

This is probably the only type of rules violation that could be fixed by creating another account, so this was exactly my thought.

I tried it on Linux Mint and I'm directed to FlatHub, which states:

★★ You'll need a Plex Media Server and an active Plex Pass to use this app ★★

Installed it anyway, but:

A Plex Pass is required to use this app. Trust us, it's worth it.

I guess they didn't update that version yet?

Edit ~24 hours later: I just got the update. It works now.
Edit 2: ... but media keys don't seem to work :(

Nice!

1 more...

If this is something you run into often, it's likely still only for a limited number of servers? ssh and scp both respect .ssh/config, and I suspect (but haven't tested) that sftp does too. If you add something like this to that file:

Host host1 host2
  Port 8080

then SSH connections to hosts named in that first line will use port 8080 by default and you can leave off the -p/-P when contacting those hosts. You can add multiple such sections if you have other hosts that require different ports, of course.

According to their develop pages, they do look for that:

There are a handful of factors that play a role in canonicalization: [...], and rel="canonical" link annotations.

(but Google considers it a hint, so they don't have to honor it)


Also, that change was just for Lemmy. Other Fediverse sites may not do the same, which would lessen the effect. For example, from a quick look at a random federated post on kbin.social, there was no such <link rel="canonical"/> element present in the page source.

1 more...

Just checked, registered since at least 2018. The .org and .net variants are still available though!

Then they probably wouldn't say it was okay to make another alt though.

Someone already made one 3 hours ago. Though apparently it won't help by itself, since their robots.txt disallows indexing anyway (and that same issue also requests that to be adjusted).

Viaplay. In my country (the Netherlands) the only reason anyone's heard of them (AFAIK) is that they have the rights to broadcast Formula 1 races here so they get a lot of signups at the start of the racing season, and a lot of cancellations at the end of that season.

If they have the root access typically needed to reboot a server^1^ they could also just wipe the logs without rebooting.

^1^: GUIs typically have a way to reboot without such privileges, but those are typically not installed on machines just used as servers.

No, it means it's got the physical machine all to itself. It's a rented server located in a Hetzner data center.

I assume you mean the table on the last page of the paper, which indeed shows WireGuard is safe against the second attack.

If you go back one page (to page 17) it has another table for the first attack. That one is less positive about WireGuard:

  • The good: On Linux/Android, WireGuard is safe against that one.
  • The bad: MacOs and iOs WireGuard are marked as vulnerable to that first attack.
  • The ugly: Windows is marked as "local traffic blocked" which presumably means the attack failed but so does the connection they tried to attack.

Not so much a standard as in "everyone should actually use the internet at this speed" but more as in "the bare minimum level, everyone should have at least this speed available (and we'll help pay to upgrade people stuck at slower speeds)", I believe.

It was still a low speed for that of course. It apparently hadn't been raised since the Obama administration (2015).


Rural internet speeds are often... not comparable to more densely populated areas, shall we say. My (European) perspective: I had about ~3 Mbit down (over ADSL) until I moved about a decade ago (on a good day, while paying for "up to 40 Mbit" (IIRC) that the line apparently just could not physically deliver to my house). Meanwhile, 1 km along the road people in town had cable internet (~100 Mbit down).

Luckily, both populations have since benefited from a fiber rollout by a smaller telco, but people in town still got that upgrade about 5 years sooner and without paying a ~€2k connection fee. AFAIK there are still areas in my country where ADSL is the best available...

There are FOSS licenses (notably the GPL) that say that if you do resell (or otherwise redistribute) the software, you have to do so only under the same terms. (That is, you can’t sell a proprietary fork. But you could sell a fork under FOSS terms.) But none that say “no selling.”

For many companies (especially large ones), the GPL and similar copyleft licenses may as well mean "no selling", because they won't go near it for code that's incorporated in their own software products. Which is why some projects have such a license but with a "or pay us to get a commercial license" alternative.

According to Halioua’s post, breeding large dogs for their size caused elevated levels of IGF-1, a hormone that promotes cell growth. Though this hormone contributes to the animals’ great size, it also hastens their aging. LOY-001 reduces the levels of IGF-1 in large and giant dog breeds, extending healthy life spans.

Would that also cause them to grow to smaller sizes? (I suppose that may depend on whether this drug is administered before or after the dog is full-grown though)