Subscribe to Grim's Projects        RSS Feed
-----

File Sharing Linux/Windows or JDownZ is Awesome

Icon Leave Comment
This is essentially a continuation of my experiences with the newly installed TinyCoreLinux system from the previous entry (which is now at 3.7.1 and markedly better).

So what have I done since last time? Well I purchased 1 Gig of RAM to upgrade the laptop, even though it wasn't absolutely necessary. However, the difference is noticeable.

Secondly, rather than attempting to tinker with a PCMCIA card, or USB wireless network interface, or running a crossover cable from my main laptop to this one, I purchased an ASUS 4-in-1 portable wireless router. I'm using it as a bridge between ethernet and wireless capability. So now I can hook up to a wireless network without the need to go through the cryptic procedures of hardware detection. Just go through my web browser, configure, and it was up and running in minutes, dare I say seconds. This is a WONDERFUL little device, and compared to one of those MAC Airport Express things about $60 cheaper since I also got a rebate for it. Very content and impressed with it.

But, this teeny little laptop only has 20 Gig of onboard storage which I've already gobbled up with many files. As it doesn't have a DVD burner equipped I thought to myself how could I get my files from Linux laptop to Windows laptop without having to insert/disconnect USB jump drives hundreds of times? The obvious answer is to share files over the network. The NOT so obvious solution is how.

I read somewhere that Samba is the application of choice for this, but the configuration is somewhat involved, and when trying to install things on Linux a lot of the time you have dependency issues that don't resolve and countless other tedious headaches (for the record there is a samba package available for TinyCoreLinux). I've mostly been trying to find Java applications that are encapsulated in jar files and that work cross platform markedly well, and I happened to stumble across a wonderful little application called JDownZ. There's nothing particularly fancy about it, the GUI isn't splendorous or anything, but it gets the job done and it gets the job done well.

My setup is a laptop running Windows XP hooked up via ethernet port and a crossover cable to my Dell Inspiron 1100 running Tiny Core Linux. I share the Windows XP wireless connection when I want to browse with the web with the Dell. Both systems have Java 6 update 26 running on them, so everything is up to date. I downloaded JDownZ, unzipped the file, and ran it. Ran without any issue so that was promising.

On the top toolbar of JDownZ there is a button that says Send File. I don't know what the other buttons do as there isn't any documentation that explains how to use the program (or that I found anyhow). So I clicked the button Send File and there are two fields: the location (i.e. other computer) you wish to send the file to, and the file you wish to send. I wasn't sure how to specify the other computer as again, there's no documentation, but I remembered by Windows laptop's name. So I input that into the field, selected a file and pressed send. Sure enough on the other end the Windows machine (also running JDownZ) detected the file send and prompted me with a "receive file .... from box.mshome.net?" (box is the default hostname TinyCoreLinux uses). I accepted and then checked the md5 and sha-1 checksums of both files (also using a Java app) to ensure the file transferred successfully and it did. Then I attempted to send a file from the Windows laptop to the Linux laptop. Unfortunately, when I typed in "box" in the Send field, Windows informed me it could not locate this other computer. So I tried box.mshome.net and the file transfer worked.

Why does the Windows not recognize the hostname but the Linux one does? I have no idea, I chalk it up to some Windows bullcrap or another. In any case I wanted to be sure I could always get it to work if I didn't know the computer names and didn't want to go through the hassle of figure out if something was going to be appended to the hostname or what.

On Windows that meant using ipconfig on the shell and checking out the IP address of my ethernet. On Linux that meant using ifconfig and checking out the IP address of my ethernet. Now in order to send files using JDownZ all I have to do is supply the IP address of the laptop I wish to send to (from the respective laptop) and file transfers are easy.

Hope this helps anyone trying to transfer files between both systems. I think it's a real shame that little Java apps like this that work so well don't get the merit they should. Particularly given that Windows isn't the ONLY solution these days, so cross-platform applications are really worth investing in.

Some other good ones I've found:
JDownloader - helps with downloading files from various file sharing services
PS3 Media Server - sets up a media server
Java File Manager - essential on linux if you hate browsing files via command line
Java Scientific Calculator - a great calculator

If you have any preferred Java apps of your own let me know.

0 Comments On This Entry