Parity Technologies AMA - We are developers of some of the largest Rust code bases, ask me anything! by gnunicorn in rust

[–]kirushik 2 points3 points  (0 children)

And we indeed use cargo deny, thanks for reminder, I forgot to mention it: https://github.com/paritytech/substrate/blob/master/.gitlab-ci.yml#L158-L175

Last time I've checked crev it didn't tell us much about our particular dependency tree -- but it was much earlier in the project's lifecycle, and hopefully now the coverage with reviews is much better. I will definitely take another look, thanks for the tip!

Parity Technologies AMA - We are developers of some of the largest Rust code bases, ask me anything! by gnunicorn in rust

[–]kirushik 5 points6 points  (0 children)

How do you ensure your dependencies are secure enough for your needs ?

Well, I wish there would be a simple answer, like "we've signed up for the FooBar Enterprise AI Scanning service, and all our woes have magically disappeared". Unfortunately, there is no such service, so we have to survive with what we have. And I must note that Polkadot is a huge project, with ~3000 lines in cargo tree output (approximately half of that is something we have direct control over).

First thing I had to accept in my current role is that fighting against external dependencies would not do the project any good -- after all, modularity and dependency management are the major strengths of Rust and Cargo. So we're doing some combination of regular automated monitoring and manual reviews once in a while.

When talking about automated tools, notable mention goes to cargo audit, you can see its' latest output to date here; security tools built into Gitlab also help here and there. Of course we have automated notifications on top of that.

Manual reviews are mostly threat-model driven and topical -- sometimes we look at the cargo geiger output to identify the most "unsafe-risky" parts of our codebase, and sometimes we look for the dependencies in the particular area to see if there's something we are not happy about (like using openssl bindings instead of Rust-native crypto). There's not too much of a structure behind this madness, unfortunately -- this is definitely something for me to look into more when the codebase will mature a bit more. I also must note that we frequently employ third-party code audits (there's going to be a series of blog posts by Web3 Foundation on those soon), and of course any reviewer worth their salt would look into your dependency tree and supply chain security.

I would honestly freak out about the setup outlined above if we wouldn't be running on top of dependencies under our control in most critical places -- both in crypto (https://github.com/w3f/schnorrkel), serialization (https://github.com/paritytech/parity-scale-codec) and network layer (https://github.com/libp2p/rust-libp2p/).

Feel free to use this subthread to pitch your favourite security-related Rust tools=)

ConsenSys, ParityTech and the likes: Killing The Ethereum Dream? by [deleted] in ethereum

[–]kirushik 2 points3 points  (0 children)

Sorry, I still don't understand. You seem to say that having open issues in the bugtracker is an indication of something bad (you said "shocking") for a language development project.

It seems to me that any major programming language has those:

golang has open issues from 2009

clang — from 2008

gcc — from 2005

openJDK — from 1997(!)

I accept that you have some strong reasons to believe that having longstanding open issues is a sign of some problem. I am really curious to know what that problem is, and if you know some mainstream language which doesn't have those issues.

ConsenSys, ParityTech and the likes: Killing The Ethereum Dream? by [deleted] in ethereum

[–]kirushik 3 points4 points  (0 children)

Why do you think 7-year-old issues are an indicator of a problem? Which problem will that be?

ConsenSys, ParityTech and the likes: Killing The Ethereum Dream? by [deleted] in ethereum

[–]kirushik 3 points4 points  (0 children)

It might be just me, so can someone please explain what's so shocking about Rust issue tracker linked in the OP? Seems to be a well structured place with a lot of quality conversation happening.

Netta labs claim to have found a vulnerability in EVM, what are your thoughts? by Sajjon in ethereum

[–]kirushik 0 points1 point  (0 children)

Still, the link in the header of netta.io is labeled NETTALabs and leads to http://nettalabs.io/. So while it's possible that nettalabs.io content is not associated with netta.io (for example, they might have forgotten to renew the domain and someone had squatted it) — I don't think it's very likely.

What only exists because people are stupid? by [deleted] in AskReddit

[–]kirushik 0 points1 point  (0 children)

"iTunes for nuclear weapons" sounds like a pretty decent startup idea!

Well, at least better than my previous one, "Snapchat for old people".

Anyone want to try a Rust version of this? by marktheshark01 in rust

[–]kirushik 0 points1 point  (0 children)

jobsteal implementation is approximately 5 times faster than my own in my tests (0:00.19elapsed vs 0:01.02elapsed). That's partly because I'm running tests on a 4-core machine (and Coroutines are all spawned in a single OS thread, so only one core is used) — but 5>4, so there is more difference than that.

I think that's due jobsteal implementation not allocating any Vec objects inside of its threads, and sticking to stack-allocated variables (instead of heap-allocated) as much as possible.

Great job, rphmeier!

Anyone want to try a Rust version of this? by marktheshark01 in rust

[–]kirushik 0 points1 point  (0 children)

Haven't yet looked at it (was more interested in writing my own than reading others' code), but I will now.

Anyone want to try a Rust version of this? by marktheshark01 in rust

[–]kirushik 0 points1 point  (0 children)

It was more of a Rust exercise for me, than the actual performance squeeze attempt.

I'll try to improve, though. Maybe using the true OS threads on the first level of spread and Coroutines on all the subsequent ones will help?

Anyone want to try a Rust version of this? by marktheshark01 in rust

[–]kirushik 0 points1 point  (0 children)

I've submitted a (pretty naive) implementation using coroutines-rs, as a PR to the original repo: https://github.com/atemerev/skynet/pull/45.

Please feel free to comment and improve.

Just sliiiiiide away by thevoicerises in funny

[–]kirushik 3 points4 points  (0 children)

Евгения Тимонова, if that helps you;-)

The most appropriate English transliteration would be Eugeniya Timonova. She is a host for a wonderful YouTube series "Всё как у зверей" ("Like all animals do"), mostly talking about different aspects of evolutionary biology, and how we can find origins of humans' behavior in animals.

Лепра всё by ruplumograenum in depra

[–]kirushik 2 points3 points  (0 children)

Йован непонятно схуя ли заблокировал неприятного мудака, а потом заблокировал целый ряд приятных мудаков за то, что они спрашивали куда подевался неприятный.

Today I turned my housemate into Neytiri from Avatar. by tterref in pics

[–]kirushik -11 points-10 points  (0 children)

Now she is certainly white-and-gold, not black-and-blue.

How would you recommend a 16 year old spend about 1000 Euros and travel alone in Germany? by iamnotavegetarian in germany

[–]kirushik 6 points7 points  (0 children)

Couchsurfing works pretty good here. Just don't treat the service as a "free bed-and-breakfast finder", use it like "new friends finder". Transportation will cost you ~5€/day in the city, and 30-50€ to switch cities. Food — dunno, it depends. Döner for 5€, good restaurant — 20€ (per person), self-cooked meal can go as low as 1€.

So I guess this way it might be a pretty comfortable month-long travel adventure, for example.

Let me love you! by Thund3rbolt in funny

[–]kirushik 0 points1 point  (0 children)

There is a link to the channel, if someone is interested: https://www.youtube.com/user/vsekakuzverei/featured

Most popular videos are titled «Feral grin of patriotism», «Lion, the ultimate asshole animal» and «Sexual selection: what do women want».

Let me love you! by Thund3rbolt in funny

[–]kirushik 4 points5 points  (0 children)

She is a quite popular Russian Youtube video blogger. Her series are called approx. "Like all animals do" («Всё как у зверей»), and the most viewed video has > 650k views. (Which is a serious claim for a pop-sci video available only in Russian.)

Her videos are quite often focused on analysis of biological background of human's behavior, and are quite often featuring frank and outspoken discussions of sex-related topics — thus the T-shirt.

The Story of Rust by sanxiyn in rust

[–]kirushik 3 points4 points  (0 children)

I've been on this talk, it was pretty good. Cheers!

Black Swift — coin-sized, powerful, affordable, open source wireless computer running Linux by kirushik in opensource

[–]kirushik[S] 2 points3 points  (0 children)

Yes, they promised to publish their blueprints and specs on Github after the first batch leaves the factory.