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
·पिछला वर्ष·discuss
Operational concerns trumps raw performances most of the time. Stored procedures live in a different CI/CD environment, with a different testing framework (if there’s even one), on a different deployment lifecycle, using a different language than my main code. It is also essentially an un-pinnable dependency. Too much pain for the gain.

Now, give me ephemeral, per-connection procedures (call them unstored procedures for fun) that I can write in the language I want but that run on provider side, sure I’ll happily use them.
slooonz
·पिछला वर्ष·discuss
That was my first thought, an aimless dialogue is going to go toward content-free idle chat. Like humans talking about weather.
slooonz
·पिछला वर्ष·discuss
They failed hard with Claude 4 IMO. I just can't have any feedback other than "What a fascinating insight" followed by a reformulation (and, to be generous, an exploration) of what I said, even when Opus 3 has no trouble finding limitations.

By comparison o3 is brutally honest (I regularly flatly get answers starting with "No, that’s wrong") and it’s awesome.
slooonz
·पिछला वर्ष·discuss
Mostly males. I’m French and "Claude can be female" is a almost a TIL thing (wikipedia says ~5% of Claudes are women in 2022 — and apparently this 5% is counting Claudia).
slooonz
·पिछला वर्ष·discuss
> A priority was to make setup and trial easy for non-technical users

That’s a very strange priority. Why would non-technical users would be interested in a file format and a Python library ?
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 ?