HNHacker News
TopNewBestAskShowJobs

Freaky

1,399 karma · joined August 24, 2008

I run http://freshbsd.org/
submissionscomments
Freaky··on GCC 10.1 Released
> Clang has it although I've personally never tried it due to the horrible rigamarole of setting it up.

    -% scan-build10 make
    scan-build: Using '/usr/local/llvm10/bin/clang-10' for static analysis
    ...
    scan-build: No bugs found.
What could ever have driven them to such a long and convoluted setup process?
Freaky··on Illustrated Jq Tutorial
Though it's pretty immature, nushell has a similar idea, with its own internal data model being streams of structured, typed data: https://www.nushell.sh/

And back to nix commands, libxo is used by a chunk of the FreeBSD base tools to offer output in JSON, amongst other things: https://github.com/Juniper/libxo

    -% ps --libxo=json,pretty
    {
      "process-information": {
        "process": [
          {
            "pid": "52455",
            "terminal-name": "5 ",
            "state": "Is",
            "cpu-time": "0:00.00",
            "command": "-sh (sh)"
          },

    -% uptime --libxo=json,pretty
    {
      "uptime-information": {
        "time-of-day": " 8:34p.m.",
        "uptime": 1730360,
        "days": 20,
Be nice to see more tools converted.
Freaky··on Rust 1.42
I think you still get symbols for libstd without that. I can see why that would lead to confusion - stripping a plain --release build still saves a few MB.
Freaky··on When Bloom filters don't bloom
> Check out this excellent visualization by Thomas Hurst showing how parameters influence each other:

> https://hur.st/bloomfilter/

Blush. However will I cope with all this extra traffic?

One common way to improve bloom filter cache performance is to divide them into blocks - elsewhere is mentioned doing it to the cache line, but it would be interesting to see how much performance would be gained with a more naive approach, for instance, splitting the filter into 4KiB pages.

I've done this for disk-backed filters, but never looked to see if it improved performance generally.

Freaky··on Space Engine
Previous versions are still free, just hidden behind a survey.
Freaky··on The Dark Forest Theory of the Internet
Er, no, on all counts.

> But those are not science fiction.

Stories based on physics and maths are not science fiction? Are you feeling OK?

> If you tell a story that is within the limits of what we know to be possible with the knowledge that we have right now, you will end up with a very boring story.

Um. Most stories in general stay within reasonable limits of what we know to be possible - are most stories very boring? You basically seem to be arguing that all stories that aren't fantasy are boring, which is clearly untrue.

> Interstellar, which makes for a nice story

Interstellar is tediously boring rubbish :P

> For example, try to write a story where the entire premise is that someone manages to construct an Alcubierre drive. You'd get ...Star Trek: First Contact.

What... no? The phase-space of all possible Alcubierre-drive fiction is not "Vulcans come to visit", any more so than the phase-space of all possible stargate fiction is "Ra gets quite angry".

Freaky··on The Dark Forest Theory of the Internet
> And it's hard sci-fi because they were AIs made of protons, not actual fairies

Does mentioning your faeries are made out of atoms stop them being fantasy?

> That's how it goes with sci-fi, innit. You can come up with anything you like as long as it's obvious that it's just advanced technology, not magic.

Sure, I mean, even Star Wars is still considered within the genre despite it all being completely made-up - but the point of hard sci-fi is you're not just making it up and rubbing science-words on your endless stream of arbitrary plot contrivances.

Freaky··on The Dark Forest Theory of the Internet
Link, along with much of his other work: https://rifters.com/real/shorts.htm
Freaky··on The Dark Forest Theory of the Internet
> Cixin Liu, like most other hard sci-fi authors, and everybody else who thinks about those things, seems to assume that lightspeed is just as problematic for everyone else as it is for us humans.

... the primary weapon of the Trisolans in the first book are subatomic ansible faeries.

I thought it was kind of funny, because the whole point behind the Dark Forest theory is that it emerges because aliens are so unknowable, there can never be proper trust between them. Yet a relatively young and slowly-developing race is literally more sure of what humanity is doing than we are of our neighbouring countries.

"Hard sci-fi", pfft :P

Freaky··on Understanding Bloom Filters with Pharo
I pulled them into a Golomb Compressed Set: https://github.com/Freaky/gcstool
Freaky··on Fish shell 3.0
zsh has a SHARE_HISTORY option: http://zsh.sourceforge.net/Doc/Release/Options.html
Freaky··on WireGuard VPN review: A new type of VPN offers serious advantages
You can disable legacy support by not generating any RSA keys, or by building with DISABLE_LEGACY.
Freaky··on WireGuard VPN review: A new type of VPN offers serious advantages
New deployments should be with 1.1 using its new protocol.

https://www.tinc-vpn.org/documentation-1.1/Simple-Peer_002dt...

Freaky··on Version Control Before Git with CVS
And NetBSD: http://cvsweb.netbsd.org/bsdweb.cgi/
Freaky··on Parrots have evolved a primate-like telencephalic-midbrain-cerebellar circuit
http://www.rifters.com/crawl/?p=6116

Maybe we just need the right sort of developmental pressure.

Freaky··on Pwned Passwords in Practice: Real World Examples of Blocking the Worst Passwords
> Oh right, I was wrongly thinking you'd have to memcmp the whole size of the filter.

Yeah, it's just k single-bit lookups - ideally you do something to get them into clusters, like dividing the database into sub-filters, so you're doing random lookups into, say, a 32KB chunk instead of a whole 2GB filter.

> Did you look into Cuckoo filters as well?

Cuckoo filters look like an interesting alternative and looking at them more closely is on the to-do. I don't think they'd have any significant space savings, though - they're similarly about 75% the size of the equivalent bloom filter. Maybe they'd be faster for lookups?

I'd also be interested in playing with matrix filters[1], which supposedly get close to the theoretical limits for these sorts of structures. Implementing them seems rather more involved, sadly - particularly given the only reference I can find is a fairly inscrutable CS paper. Show us the code damnit.

[1]: https://arxiv.org/abs/0804.1845

Freaky··on Pwned Passwords in Practice: Real World Examples of Blocking the Worst Passwords
> a bloom filter for 502M entries and a false positive rate of 0.1% ends up as a 800MiB large filter

With that sort of FP rate it's not really much use beyond filtering API calls. I'd suggest 2GB[1] as a more sensible minimum. A compressed filter can get this down somewhat.

> Binary-searching the whole dump is surely faster.

Not really. log2(500M) is ~29, k for a suitably sized bloom filter's only 23. Interpolation search can get you a result in more like 10 seeks, but a bucketed bloom filter can get your lookup down to a single read.

Having spent a fair bit of time faffing about with this stuff I ended up settling[2][3] on Golomb compressed sets[4], which can get the full list with a 1-in-10 million FP rate into 1.5GB.

[1]: https://hur.st/bloomfilter/?n=500M&p=1.0E-7 [2]: https://github.com/Freaky/gcstool [3]: https://github.com/Freaky/ruby-gcs [4]: http://giovanni.bajo.it/post/47119962313/golomb-coded-sets-s...

Freaky··on Pwned Passwords in Practice: Real World Examples of Blocking the Worst Passwords
I wrote a Rust tool to process the downloaded hash list into a compact (29GB -> 1.5GB) database that can be efficiently queried: https://github.com/Freaky/gcstool

I made a start on a Ruby port too: https://github.com/Freaky/ruby-gcs - I have vague plans to finish it off and write a Rodauth (http://rodauth.jeremyevans.net/) plugin for it.

Freaky··on The Logical Disaster of Null

    res, err := http.Get("wcpgw")
    defer res.Body.Close()

    ...

    panic: runtime error: invalid memory address or nil pointer dereference
    [signal SIGSEGV: segmentation violation code=0x1 addr=0x40 pc=0x5ed9af]
Freaky··on Python 2 will be replaced with Python 3 in the next RHEL major release
It's notable that 1.9 came with a significant performance boost, so there was a good practical reason to want to upgrade. People were motivated by the prospect of their code running twice as fast - sure, the language was improved a bit too, but it's Ruby, it's already pretty nice, so that was hardly going to light a fire under anyone.

When Python 3 turned up and it was on average slower, my first thought was "well, good luck getting people to adopt that".

Freaky··on How to keep your ISP’s nose out of your browser history with encrypted DNS
It's actually a thing:

https://developers.cloudflare.com/1.1.1.1/dns-over-https/clo...

Freaky··on System Shock 1 source code released under GPL
https://www.reddit.com/r/IAmA/comments/4pbc01/iama_founder_o...

> Is there any plan to do a source-code release of any of the games you've re-released?

> We have released the source to Strife: Veteran Edition[1] and we are planning on releasing more code in the future.

1: https://github.com/svkaiser/strife-ve

Freaky··on System Shock 1 source code released under GPL
That's a pretty disingenuous way to present what was said:

> I have put the team on a hiatus while we reassess our path so that we can return to our vision. We are taking a break, but NOT ending the project. Please accept my personal assurance that we will be back and stronger than ever. System Shock is going to be completed and all of our promises fulfilled.

Freaky··on System Shock 1 source code released under GPL
https://www.pcgamer.com/nightdive-talks-system-shock-remakes...

> "Our intention is to ship exactly the game that was promised, with as much of the features that were promised as we can, in a timeframe that will get it out as fast as we can. Our expectation is probably Q1 of 2020."

> Kuperman gave that date with the kind of expression and shrug that conveyed: no, that date isn't what anyone wants to hear. But it's practical. He was unequivocal when I asked if another two years of development would put Nightdive in a financial bind.

> "No it doesn't. We've also had renewed interest from some publishing partners, for whom the more complex and costly game was something of a challenge for them, that this is what they were hoping we would provide and renewed their interest."

Freaky··on Cryptographic Right Answers
One of the nicer bits of borg is the ability to restrict it to append-only mode, which limits the damage compromised hosts can do. e.g in authorized_keys:

    command="/usr/local/bin/borg serve --append-only --restrict-to-path=/home/backup/bla",restrict ...
I use this with passphrase-free ssh keys to allow automated backups without permitting the destruction of any existing backups.

Do you get enough control do to that on rsync.net?

Freaky··on Cryptographic Right Answers
Restic's threat model assumes trusted systems - the ability to make a backup also implies the ability to destroy and tamper with existing ones. Tarsnap has fine-grained access controls which can severely restrict hosts:

https://www.tarsnap.com/man-tarsnap-keymgmt.1.html

e.g. you may give each host their own write-only key so they can automatically create new snapshots, while keeping the keys that permit reading and deleting old snapshots on separate machines with separate passphrases.

Freaky··on QDirStat – Treemap Visualization of Directory Statistics
It unfortunately doesn't seem to work properly with Storage Spaces. It can account for about 2% of the used space on my 50%-full thin-provisioned D: drive.
Freaky··on Intel has released new CPU microcode for download
You don't need to wait for BIOS updates to install microcode - install sysutils/devcpu-data and sysrc microcode_update_enable=YES
Freaky··on Intel has released new CPU microcode for download
Nah, they list all the models around it, like the L5640. This is basically the same CPU with 100MHz shaved off it.

They're system-pulls off eBay, and appear to be some specialist OEM part - note they don't appear on ark, they go L5630 straight to L5640.

Freaky··on Intel has released new CPU microcode for download
CPU: Intel(R) Xeon(R) CPU L5639 @ 2.13GHz

Not listed :/

← PreviousPage 3 of 17Next →