Live data from Hacker News

Show HN: Synapse, a full featured BitTorrent client in Rust

github.com

31–40 of 73 posts

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#31
post #27

Interesting ! I tried integrating transmission for downloading content in a video wall app and it was a bit of a nightmare. Hopefully this will be better - please have a sane remote API. One thing that Azeurus did really well, that transmission really did not - You could can tell azeurus to re-check all the files that are there so it can find out how far it's got. In Azeurus I used this to reconstruct a large torrent…

>please have a sane remote API

https://github.com/Luminarys/synapse/blob/master/doc/RPC

Pretty much all torrent clients can recheck the files.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#32
post #27

Interesting ! I tried integrating transmission for downloading content in a video wall app and it was a bit of a nightmare. Hopefully this will be better - please have a sane remote API. One thing that Azeurus did really well, that transmission really did not - You could can tell azeurus to re-check all the files that are there so it can find out how far it's got. In Azeurus I used this to reconstruct a large torrent…

Transmission does this with the verify command.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#34
post #26

Earlier quoted context omitted.

Ha yeah. Everyone pointed that out the first time this came up and I guess he ignored the feedback.

I actually find it seriously impressive. It demonstrates it works for you right now , and it works seamlessly!

It is impressive, and in a sense it's a very... effective... demo. The problem is that not all of us are in a position to spend that much bandwidth by accident.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#35
post #20

Earlier quoted context omitted.

>a bittorrent that actually does more than download and quit always seems like something quite heavy... Don't forget to seed!

Let's brainstorm ways to solve the seeders/leechers problem via cryptocurrency: how much would it cost to encode a complete feature-length film in the bitcoin blockchain? :P

a solution already exists. it's called a private tracker.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#36
post #19

Earlier quoted context omitted.

Is a seedbox basically a torrent-focused media server? Probably worth submitting a PR to note this focus in the readme. And yes, I'm joking about the rewritten-in-Rust part. :)

>Is a seedbox basically a torrent-focused media server? No, it's just a box dedicated to "seeding", a server whose purpose is bittorrent.

To clarify further, a seedbox is a server used to continually "seed" (or share) any content downloaded to it.

Seedboxes are mostly used on private torrent trackers, simply because the majority require users to maintain a high seed/leech ratio. In other words, users need to upload more than they download.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#37
post #4

Not that I'm not always eager to see something get rewritten in Rust , but I'm curious whether web browsers have advanced to the point where a bittorrent client could exist as a webapp rather than requiring native installation. Could the bittorrent protocol operate over WebRTC?

The Opera web browser had a torrent client built-in for a long time. https://en.wikipedia.org/wiki/History_of_the_Opera_web_brows... Looks like since version 9, released in 2006.

Honestly it should be standard in all browsers.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#38

Earlier quoted context omitted.

Nice. Appreciated. Now I clearly have a weekend project. (Also, what great irony this proxy is written in python, eh?)

>(Also, what great irony this proxy is written in python, eh?) It's written by a different person (me). Also Transmission is written in C FYI

Yes. That was what was ironic since I (wrongly) complained about slow python based software.

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#39
post #30

> in Rust Saying what language a program uses only describes its grammar and runtime. Saying what dialect a program uses also describes its idioms. https://en.wikipedia.org/wiki/Programming_idiom For (a simple) example, actix-web uses actix, a library that largely changes the nature of writing Rust code. This might be called Rust-a or Rust', or something. https://github.com/actix/actix-web My point is that Rust is a…

I'm not all that familiar with actix, but surely not every Rust program is written using a library that largely changes the nature of Rust code. Like, would you say there's a name for the dialect this program is written in?

Programming dialects don't seem to get names. I think a pattern of [language-name]-[dominant-principles] might make a good name scheme. Suffixes would then work across languages. Other suffix namespaces could coexist, though I'm not sure what they'd be.

My point wasn't so much about any one program, so much as it was about an invisible programming ethnology. I like when Show HNs say what language they speak; I would like even more if they say how they speak it.

Having name for program dialects would allow prospective users and contributors to gain deep insight about its intended structure, vision, scope, limits, etc, etc, etc, etc from a distance.

It may have seemed narrow focused, but I didn't want my point to be limited to one set of principles, patterns, and libraries, even though I like what actix adds to Rust-std(?), especially since any code spoken in it can itself make, or through some elements factored out be made into, other libraries that then build on or toward another powerful dialect / speaker communities.

#hashtag: ethnocodology(?) ..ethnokodikology?

Re: Show HN: Synapse, a full featured BitTorrent client in Rust

#40
post #8
post #4

Not that I'm not always eager to see something get rewritten in Rust , but I'm curious whether web browsers have advanced to the point where a bittorrent client could exist as a webapp rather than requiring native installation. Could the bittorrent protocol operate over WebRTC?

Synapse is not designed for people who want this use-case. It's primarily designed for seedbox users who want a daemon to control remotely. It's also designed to efficiently work at scale, and takes advantage of native features like mmap to download quickly. Also, it wasn't rewritten in Rust from some other language, it was written in Rust in the first place.

How does mmap improve download speed?
Post reply on HN