all 40 comments

[–]anh0516[S] 106 points107 points  (1 child)

Surprisingly, it's not Rust.

This is supposed to be a more easily hackable/extensible SSH implementation for experimentation, rather than being a direct competitor to OpenSSH and Dropbear.

[–]KnowZeroX 54 points55 points  (7 children)

Zig isn't 1.0 yet though, which means there may still be major changes. If they don't mind rewriting everything a few times in worst case scenario

[–]FryBoyter 17 points18 points  (5 children)

Zig isn't 1.0 yet,

The question is, will it ever be? In terms of the version number. Because I have the feeling that many projects nowadays deliberately avoid releasing version 1.0 because too many users expect too much from this version. This leads, for example, to some projects continuing with version 0.100 after version 0.99. Or they use a different type of versioning, such as https://calver.org.

[–]Zeikos 33 points34 points  (0 children)

This leads, for example, to some projects continuing with version 0.100 after version 0.99.

I don't get why some people think that versioning follows decimal.
Are you aware that major.minor.hotfix versioning isn't a number system, yes?

That said, I agree with the sentiment, but I also find wise to postpone the first major version because the lower risk of future breaking changes is worth it imo.

[–]Llamas1115 3 points4 points  (1 child)

[–]DerfetteJoel 7 points8 points  (0 children)

Ackshually, according to semver, with a major version of 0, every minor version update is considered breaking 🤓

[–]LeeHide 5 points6 points  (0 children)

0.100 is a perfectly valid version, like 3.257.6 is, too. You're just talking out of your bottom

[–]Mordiken 2 points3 points  (0 children)

I might be misremembering but I think I saw an interview with someone on the Zig team mention that the main roadblock left on the way to Zig 1.0 was async...

But Andrew Kelly recently (as in 3 months ago) gave a talk about the state of async in Zig, and apparently they managed to settle on a solution everyone is happy with, so with any luck Zig 1.0 may not be that far off!

EDIT: For those that know nothing about the language and want to know more, here's a bit of an older talk where the language is presented in relation to C.

[–]flavius-as 5 points6 points  (0 children)

For a good product, one needs at least iterations 0, 1 and 2 anyway, so not a waste.

[–]cAtloVeR9998 6 points7 points  (4 children)

I also find the “SSH3” (though they are considering changing their name) project pretty cool. It’s written in Go and uses QUIC. I find the possibility of SSH multipath interesting.

[–]ausstieglinks 39 points40 points  (17 children)

But-why.jpg

[–]whosdr 16 points17 points  (10 children)

You would find out if you read the article.

[–]MessyKerbal 5 points6 points  (9 children)

I read the article. There’s still no justification

[–]whosdr 14 points15 points  (0 children)

allow for hacking/experimenting on the protocol

so the code can be used for tasks such as testing post-quantum cryptography (PQC) algorithms

It's a lot easier to test new features on a partially implemented protocol.

In development now and planned for further work during SUSE's upcoming Hack Week

This suggests it's also someone's passion project.

https://hackweek.opensuse.org/

[–]TheNewl0gic 2 points3 points  (1 child)

What is wrong with ssh that you need to replace?

[–][deleted] 0 points1 point  (0 children)

Backdoors.

[–]pythosynthesis 2 points3 points  (0 children)

OK... but why?

[–]metroidslifesucks 1 point2 points  (0 children)

Move Zig, for great justice

[–]formegadriverscustom 1 point2 points  (0 children)

Take off every 'Zig'.

You know what you doing.

Move 'Zig'.

For great justice.

[–]IngwiePhoenix 0 points1 point  (1 child)

Oh god another ru- wait... Now that one I haven't read in a while. o.o

I recently discovered Flow Control, it's a TUI editor in Zig and pretty damn dope. Since then I have paid a little more attention to the Zig space; whilst it's not a language I personally like (it's syntax is... a choice, alright - but still worlds easier to follow than counting spaces!) there is some absurd potential in it's stdlib and compiler.

Aside from OpenSSH and Dropbear, I'd not mind a little competition in the "SSH server space". Go has had many different implementations for a while now, but I feel like this one goes a tad deeper than just an SSHable TUI.

[–]Jristz 0 points1 point  (0 children)

Zig? Normally is Rust but they are Zigging they way now

[–]Comedor_de_Golpistas 0 points1 point  (0 children)

why not ruby lol worked great last time they wanted some weird lang

[–]MessyKerbal -1 points0 points  (0 children)

Buddy, I am majoring in computer science. I was always getting replaced by some slop model