HackerTrans
TopNewTrendsCommentsPastAskShowJobs

thomashabets2

892 karmajoined 11 лет назад
https://blog.habets.se

Submissions

VPN provider OVPN has stopped publishing transparency reports

ovpn.com
3 points·by thomashabets2·3 месяца назад·1 comments

comments

thomashabets2
·7 часов назад·discuss
While it doesn't produce an image, not having 2D data, KrakenSDR has some cool direction finding too.
thomashabets2
·7 часов назад·discuss
The topic was energy expense of wideband vs narrowband jamming.

Both can be used for targeting.
thomashabets2
·21 час назад·discuss
As per my linked blog post…
thomashabets2
·21 час назад·discuss
Which is a completely unrelated to what we were talking about.
thomashabets2
·21 час назад·discuss
Which is a completely unrelated to what we were talking about.
thomashabets2
·21 час назад·discuss
It can still be in scope:

> Direction finding equipment for determining bearings to specific electromagnetic sources or terrain characteristics specially designed for defense articles in paragraph (a)(1) of USML Category IV or paragraphs (a)(5), (a)(6), or (a)

ITAR part 121.

The "specifically designed for defense" probably makes this OK, but IANAL.
thomashabets2
·21 час назад·discuss
> huge incentive to resell the free service

Not all mobile data APNs go to the Internet. You can't resell an IP service that lands on an RFC1918 network with exactly one IP:port available; the API endpoint.

Not saying I've seen this in devices, but I have built and run mobile data networks with private APNs.
thomashabets2
·21 час назад·discuss
Homing in on sources of electromagnetic transmissions has been a thing since at least the BV246 in 1943.

The first phased array systems date back to 1905.

We have had some time to productionize this.

Hell, the "PA" in "PATRIOT missile" stands for "Phased Array".
thomashabets2
·21 час назад·discuss
But the jammer can be plugged in to the grid or a diesel generator. Being on the ground without flight requirements grants access to such resources.
thomashabets2
·21 час назад·discuss
If you own your home I'd say you need a thermal imager. Just the ability to diagnose clogged pipes is priceless.

https://x.com/ThermoInstagram/status/909356506059026432

Also for checking if microwaved food is ready.
thomashabets2
·22 часа назад·discuss
I'd say yes we are ready. gettimeofday() should never be used to measure time[1], but at least with a negative leap second it's monotonic.

We'll just get some poorly coded stuff claim that an operation took 1100ms instead of 100ms. Not great, but not -900ms.

Well, I say that, but per my link here F5 load balancers at least used to keep track of TCP connections using gettimeofday. And it's annoying that libpcap delivers metadata in wallclock time.

[1] https://blog.habets.se/2010/09/gettimeofday-should-never-be-...
thomashabets2
·позавчера·discuss
Personally, I hate split horizon DNS. I prefer the "BeyondCorp" model. I MUCH prefer putting an mTLS cert in my trusted devices over relying on VPNs in same devices. I've yet to see a "clever" DNS setup not cause annoyances.

Specifically grafana is nice to be able to see on the phone, and split horizon DNS and corp VPN is a hassle, to say the least, on phones.

I bet you can do it with HA-Proxy, but I use https://github.com/ThomasHabets/sni-router
thomashabets2
·17 дней назад·discuss
I got reminded every week that my static site generator "Jekyll" is insecure.

Ok. Hacking me by changing the input to my Jekyll rather involves being on the other side of the airtight hatch.
thomashabets2
·18 дней назад·discuss
Hate to break it to you, but anything can legally be taken away from you by the justice system. And fighting the government can put you in prison, too.

It's just LARPing.
thomashabets2
·18 дней назад·discuss
1. A looong skim before it's revealed which type of "crypto" this is about. Because quantum computers, real crypto is also having a challenging year.

2. 2026? Cryptocurrency was always just hell. Well, before it was hell it was LARP.
thomashabets2
·19 дней назад·discuss
> One pattern I saw repeatedly was a contractor being let go, only to return via a large outsourcing provider. The provider must have added a substantial markup despite supplying the same engineer back to the same team, without having incurred any procurement costs.

When I worked (well, was a contractor at) a very large company, they'd kicked out all their small contracting providers only to get the same people back via a single big one. I was told this was part of a vendor consolidation move, because maintaining their existing direct relationship with literally hundreds of thousands of vendors had a huge cost in itself.

I doubt they were dumb enough to think there was no markup, but going direct isn't free either. There ain't no such thing as a free lunch.

Now, was it a net good move? That's both above my pay grade and not my expertise. But from the fact it took me a month of billed time to buy a license of that same company's own product[1], I wouldn't have called it an efficient bureaucracy.

[1] all purchases of own-company product had to be done through the 99% internal billing discount program.
thomashabets2
·20 дней назад·discuss
Oops, I actually replied to the wrong comment. I replied here: https://news.ycombinator.com/item?id=48617774

But it's a relevant reply to both comments, so copied here:

Yes, my understanding is that I should be able to emulate sendfile via splice. The problem with that is that splice requires one end to be a pipe. So I think this means two extra file descriptors per connection (one per side of the pipe). And per connection this adds 5 slots in the submit/completion queue, with a LINK dependency. Maybe the trade off is worth it. I've not done concrete experiments with it, but I'm guessing it would be if the saved copy_from_user is large enough.

So for optimal performance this may mean using write() for short files, and a pipe(), a pair of splice() calls, and a pair of close() calls, for larger files.
thomashabets2
·20 дней назад·discuss
Yes, my understanding is that I should be able to emulate sendfile via splice. The problem with that is that splice requires one end to be a pipe.

So I think this means two extra file descriptors per connection (one per side of the pipe). And per connection this adds 5 slots in the submit/completion queue, with a LINK dependency. Maybe the trade off is worth it. I've not done concrete experiments with it, but I'm guessing it would be if the saved copy_from_user is large enough.

So for optimal performance this may mean using write() for short files, and a pipe(), a pair of splice() calls, and a pair of close() calls, for larger files.

Edit: I guess I could save some ops by reusing pipes, but then I'd have to make sure to flush them. Would add some complexity.
thomashabets2
·20 дней назад·discuss
I've not yet tested the shared buffers for my io uring based web server, but that's because instead of reading from a file and writing, i send directly from a mmaped region.

But really, I want to sendfile with io_uring, but that's not supported yet.

My writeup, with extra buzzwords like Rust and kTLS: https://blog.habets.se/2025/04/io-uring-ktls-and-rust-for-ze...

It was on HN too: https://news.ycombinator.com/item?id=44980865
thomashabets2
·25 дней назад·discuss
That's neither examples nor a clarification if you're talking about JS or WASM.