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

It seems more like the kernel was actively preventing safe memory access, albeit erroneously, and also has nothing to do with Rust per se?


Yup, same here — I see the same delay in Chrome now and then.

I guessed it was due to the cat-and-mouse adblocking prevention between YouTube and adblockers (I'm also using uBlock Origin).


I tried using this or a similar repo to set up a Tailscale exit node on Fly.io before.

The downside is that my traffic never went direct; it was always relayed via a Tailscale DERP node, as Fly.io machines were only accessible via anycast, and so a direct connection from Tailscale on my machine to the exit node on Fly.io couldn't be established.

So performance wasn't as great (and I felt bad about using up Tailscale's DERP bandwidth, as a free user).


> it was always relayed via a Tailscale DERP node

Fly.io or not, this was an issue I always ran into with Tailscale.

They talk a big game about NAT punching, and using various UDP shenanigans to get around P2P connection formation issues, but at the end of the day, most of my connections were via DERP, even with fairly trivial firewall configurations.


i really like 'DERP mode'


how to circumvent this? chisel? UDP hole punching?


Tailscale works hard to do all this stuff automatically.

Possibly you'd have more luck on a network where your client can allow incoming UDP connections on the Tailscale port, and so the exit node would be able to establish a direct connection.

But for a Tailscale peer I have running on AWS ECS, I can open the UDP port there, so a direct connection always happens regardless of what sort of network my Tailscale clients are on. I don't know if there's any Fly equivalent to get a direct connection to a UDP port.


Yes, fly.io allows you to expose a UDP port. See the fly.toml [1] in the repo. Make sure the tailscale port is pinned [2] to the exposed port (41641 in that case).

I just tested it again and the connections are made directly (after the first 2,3 packages go via DERP):

    tailscale ping fly-ams         
    pong from fly-ams (100.96.123.32) via DERP(ams) in 15ms
    pong from fly-ams (100.96.123.32) via [2604:1380:4601:d605:0:6c3b:eed5:1]:41641 in 12ms

    tailscale status
    100.96.123.32   fly-ams              patte@       linux   active; offers exit node; direct [2604:1380:4601:d605:0:6c3b:eed5:1]:41641
    100.101.54.36   fly-hkg              patte@       linux   active; offers exit node; direct [2605:4c40:95:4eed:0:40f0:67b1:1]:41641
[1]: https://github.com/patte/fly-tailscale-exit/blob/main/fly.to... [2]: https://github.com/patte/fly-tailscale-exit/blob/main/start....


On AWS you could also enable IPv6.


I switched to Joplin a few years ago, and it was able to import my notes from Evernote.

My existing Fastmail account gives me WebDAV file storage, and Joplin can use that as a sync backend. End-to-end encrypted.

There are clients for macOS and Android. Neither of which are as relentlessly buggy as text editing with Evernote. Web Clipper browser extension. All open source.

I've had zero regrets about switching away from Evernote.


Yeah, I'm in the same boat. I'm kinda confused about things like SSH and Funnel being moved to the Premium tier.

It feels a little odd that the Free tier lets you use Premium features indefinitely, but as soon as you get more colleagues onboard, you lose those features.

Unless you're looking carefully at the pricing page, you'd miss that Starter has many fewer features compared to Free.


Jenkins lets you replay a Pipeline, with changes, which is massively useful — removing the need to change things locally and commit.


While publishing to Maven Central may be onerous, there are good reasons for it, e.g. https://twitter.com/JakeWharton/status/1073102730443526144


Unfortunately, using Dagger for DI with Kotlin requires using the Kotlin annotation processor, kapt, which is still incredibly slow, and works non-incrementally.

If you value your build times or your sanity in the slightest, I'd recommend either severely limiting use of Dagger, e.g. by only using it in certain, small Gradle modules, or using a different DI solution.


I have only used Kotlin in the context of Android so far, and like the language — I wish Java had many of these features — but almost find it more of a pain in the ass than its worth for reasons like this (kapt). At some point, the build times get so bad I asked myself, am I being more productive having neat language features X,Y,Z or having 15sec build times (already too long) vs 2 minute build times (unbearable). Its like going from REPL driven development to something else.


Thanks for this tip. Don't know this.


No, the text says that all .eu registrars will no longer be able to accept .eu registrations or renewals from entities in the UK.


The GDPR applies to the data of anyone using a service while in the EU, not just to companies that are based in the EU.


While technically true, if the EU has no jurisdiction over you or your business, it's difficult for them to force compliance.

Another example of this is sales tax in the US. Several states have laws that tell the seller to collect and remit sales tax on any sales to residents within the state. But for sellers that have no physical presence in that state, the state has no ability to force them to actually do so (or to force them to open up their books and prove one way or the other).


For most large tech companies EU is their biggest or second biggest market. The fines are large, so it will be in their interest to comply.


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

Search: