HackerTrans
TopNewTrendsCommentsPastAskShowJobs

slooonz

no profile record

Submissions

Show HN: Uback 0.7 – A universal bridge between backup sources and destinations

github.com
1 points·by slooonz·5개월 전·0 comments

comments

slooonz
·3개월 전·discuss
One of the hardest problem in programming is naming your variables correctly.

I love chaining because it reduce the number of occurrences of that problem.
slooonz
·3개월 전·discuss
"What Elon Musk think or at least pretend to think" is indeed an useful/interesting piece of information, and I don’t see why a commentary on it is necessary or particularly useful ?

I mean, I can do the "critical reading of CEO claim" part myself, thank you very much.

And it’s not just CEOs. Politicians, spokepersons of foreign nations, academics, journalists also do that "X said a thing" thing. It’s perfectly fine. I don’t need or desire the personal take of the journalist on that declaration. They have opinion pieces for that.
slooonz
·5개월 전·discuss
versitygw is the simplest "just expose some S3-compatible API on top of some local folder"
slooonz
·6개월 전·discuss
Why would I pick this over established players : Maddy, Mox, Stalwart ?
slooonz
·7개월 전·discuss
You’re just doing brute force, but with extra steps. It turns out that partial collisions are more common than you think, and it’s not particularly hard to find some.

Here, a 186-bits partial collision, found in less than two minutes on my CPU, by brute force :

sha256(cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4b897f4a0000000000) = 692207e28eb8dd3eb4f8fab938ea5103faa1060c3bbed204f564e10c65d06b33 sha256(cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4be8c33e0000000000) = 006347a21f7c9b3eb4fa52b75d0e5a03dbe556b579d6d2867d44c38c06546f6f

(in Python :

>>> hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4b897f4a0000000000")).hexdigest()

'692207e28eb8dd3eb4f8fab938ea5103faa1060c3bbed204f564e10c65d06b33'

>>> hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4be8c33e0000000000")).hexdigest()

'006347a21f7c9b3eb4fa52b75d0e5a03dbe556b579d6d2867d44c38c06546f6f'

>>> a = hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4b897f4a0000000000")).digest()

>>> b = hashlib.sha256(bytes.fromhex("cbfad45814d54d1d56d30de387d957ed3b50e06270ad6e4be8c33e0000000000")).digest()

>>> sum((x^y^0xff).bit_count() for (x, y) in zip(a, b))

186

)

Intuition pump : the expected number of equal bits for two random inputs is 128.
slooonz
·8개월 전·discuss
Yes it should, because hopefully errors are logged and reported and can be acted upon. Missing name doesn’t.
slooonz
·8개월 전·discuss
It was goofy and fun-looking when the first blog did it.

Now that everyone and its dog does those "goofy" illustrations, I find them insufferable.
slooonz
·8개월 전·discuss
I think you should clearly spell out how the key is derived.

From the description, I believe it's random string hard-coded in the executable + user-provided password => AES key ?

Also… "full offline", but "my API is on a digital ocean droplet" ? What ?

(I guess the API to generate a .exe with its own random string ? But again, very unclear of what it is, what’s it’s doing, and how)
slooonz
·3년 전·discuss
Important (IMO) reminder that StackAid exists and has been made just to solve this kind of problems.

(I’m not affiliated with them)
slooonz
·5년 전·discuss
How does branching work ? Is it provided by Vitess, or did you build it on top of it ?