bcp

Dev tools

command line file transfer

SHOW HN2013

110points
92comments
#204of 1,739 in 2013
Top 12%of 2013 by points

How HN took it

MixedNo clear lean

4 positive, 16 neutral or asking, 3 mixed, 11 critical, out of 34 comments about the project. Thread score -0.19.

Idea: 4 for, 6 againstExecution: 0 for, 5 against

The thread, comment by comment

Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.

positive neutral or mixed critical about another commenter or something else the maker

What HN said

What people liked

  • Solves a real pain point of finding hosts and IPs on DHCP networks.

    From 2 comments
    • You still need to know the IP. I use nc this exact same way, and it's definitely a hassle -- not a big one, but still -- to have to check ifconfig on one of the machines and then…
      entropy_ on HN
    • Rad, especially the persistent mode.
      dclowd9901 on HN
  • Good to see people building small things for fun and sharing them.

    From 2 comments
    • There are a million ways to copy files, a lot of them are simpler to use than your example. But that's not the point here. Sometimes you just got to make something because you…
      Udo on HN
    • You still need to know the IP. I use nc this exact same way, and it's definitely a hassle -- not a big one, but still -- to have to check ifconfig on one of the machines and then…
      entropy_ on HN

Objections

  • Netcat or a one-line shell pipe already does this.

    From 2 comments
    • $ nc -l 8888 > file $ cat file | nc host.example.com 8888 I don't think a dedicated utility is required. Edit: Sorry about my comment coming off as a bit hostile, I did not…
      midnightsine on HN
    • those hours of time spent writing the code could have been saved by spending minutes learning the standard way of doing it (and given the ubiquity of nc, its utility would…
      niggler on HN
  • Security flaws: buffer overflow risk and no authentication; only safe on trusted networks.

    From 2 comments
    • This solution is worse than the shell hack, by a lot. From the source: ``` char filename[MAXNAMELEN]; ``` and then a few lines down... ``` filename_size = 0;…
      srl on HN
    • It's neat. I noticed a couple of subtle bugs. 1) The code assumes both the client and the server have the same endian. This can be issue since a uint32 is used for both the…
      jbester on HN
  • Slow compared with scp or tar over nc; no compression.

    From 2 comments
    • SCP is significantly slower than FTP (and performance was an explicit goal of the project)
      niggler on HN
    • For big files it would make a very noticeable difference actually, try scp with different encryption algorithms even and you will see how much it matters. With that said, by…
      diginux on HN
  • Title overstates it: it is one more way to copy, not a quicker one.

    From 1 comment
    • When the title says "Quickly copy a file..." it is reasonable to assume that we're talking about something quicker/easier then at least the most obvious ways to copy. But if…
      azov on HN

Requests

  • Support multiple receivers or a persistent listener mode.

    From 2 comments
    • I like how clever this is, but is there an option to name a bcp (or a planned option), so that I can send files among a big network with lots of people using this command…
      dclowd9901 on HN
    • Rad, especially the persistent mode.
      dclowd9901 on HN
  • Support piped input and output for use with other tools.

    From 1 comment
    • Try and add support for detecting piped input on the server side: ``` bcp < filename ``` because this would allow for things like ``` cat filename | gzip | bcp ``` with the…
      latitude on HN
  • Fix endianness and int size portability issues.

    From 1 comment
    • It's neat. I noticed a couple of subtle bugs. 1) The code assumes both the client and the server have the same endian. This can be issue since a uint32 is used for both the…
      jbester on HN
  • Use multicast for discovery and reverse the client-server roles.

    From 1 comment
    • Nice. Very Unix-ish in its spirit. The client-server arrangement is backwards though :) Typical arrangement is for the clients to do the "anyone there?" broadcast, for the…
      abcd_f on HN

Questions

  • Why is the server the one connecting to the client?

    From 1 comment
    • Nice. Very Unix-ish in its spirit. The client-server arrangement is backwards though :) Typical arrangement is for the clients to do the "anyone there?" broadcast, for the…
      abcd_f on HN
  • Does it work on OSX, and how does it compare with ncp?

    From 2 comments
    • I couldn't seem to get this compiled on OSX :( Do you (or anyone) know if there's a OSX version available? What I like about ncp is that it first requires an action at the sender…
      RookToH7 on HN
    • I made it because with the nc solution, it still required knowing the hostname. I now see though that ncp (http://www.fefe.de/ncp/) would have probably sufficed, though it is a…
      diginux on HN

Alternatives named

  • netcat (nc) with a pipe

    From 1 comment
    • $ nc -l 8888 > file $ cat file | nc host.example.com 8888 I don't think a dedicated utility is required. Edit: Sorry about my comment coming off as a bit hostile, I did not…
      midnightsine on HN
  • ncp

    From 1 comment
    • It reminds me of http://www.fefe.de/ncp/ It's always interesting when people come up with the same thing independently.
      froseph on HN
  • scp

    From 1 comment
  • udpcast

    From 1 comment
    • Udpcast: http://www.udpcast.linux.lu/ Can do this and other related useful things, including multicast of a file to N machines in parallel. Don't let the UDP bother you: it…
      kylecordes on HN
  • UFTP

    From 1 comment
    • There's also UFTP, it doesn't require the receiver to know the file name. (But it is different from your implementation in a number of ways, most importantly it transfers all…
      julian37 on HN
  • Synergy drag-and-drop

    From 1 comment
    • If that doesn't already exist for synergy (http://synergy-foss.org/), that would be an awesome addition.
      diginux on HN

Category, keywords, summaries and labels on this page were made by AI (Thread Reader v2) and not checked by hand. Each point links to the comments it came from.

Add a badge to your READMEShown on HackerShow
[![Shown on HackerShow](https://hackershow.org/badge.svg)](https://hackershow.org/show/5231487)