Strict Standards: Declaration of Walker_Page::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_Page::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_Page::start_el() should be compatible with Walker::start_el(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_Page::end_el() should be compatible with Walker::end_el(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 576

Strict Standards: Declaration of Walker_PageDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 593

Strict Standards: Declaration of Walker_Category::start_lvl() should be compatible with Walker::start_lvl(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_Category::end_lvl() should be compatible with Walker::end_lvl(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_Category::start_el() should be compatible with Walker::start_el(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_Category::end_el() should be compatible with Walker::end_el(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 687

Strict Standards: Declaration of Walker_CategoryDropdown::start_el() should be compatible with Walker::start_el(&$output) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php on line 710

Strict Standards: Redefining already defined constructor for class wpdb in /home4/thezonie/public_html/fileai-com/blog/wp-includes/wp-db.php on line 58

Deprecated: Assigning the return value of new by reference is deprecated in /home4/thezonie/public_html/fileai-com/blog/wp-includes/cache.php on line 99

Strict Standards: Redefining already defined constructor for class WP_Object_Cache in /home4/thezonie/public_html/fileai-com/blog/wp-includes/cache.php on line 404

Deprecated: Assigning the return value of new by reference is deprecated in /home4/thezonie/public_html/fileai-com/blog/wp-includes/query.php on line 21

Deprecated: Assigning the return value of new by reference is deprecated in /home4/thezonie/public_html/fileai-com/blog/wp-includes/theme.php on line 576

Warning: Cannot modify header information - headers already sent by (output started at /home4/thezonie/public_html/fileai-com/blog/wp-includes/classes.php:576) in /home4/thezonie/public_html/fileai-com/blog/wp-includes/feed-rss2.php on line 8
the [ file ai ] blog news, features and updates about Fri, 27 Feb 2009 15:49:33 +0000 en Bandwidth Usage & Resume Updates Sat, 23 Aug 2008 04:49:29 +0000 admin Today I released a new and improved version of the applet software, adding some major upload bandwidth throttling improvements in addition to greatly reducing the time it takes to resume extremely large (I’m talking larger than 5GB here) transfers.

If any of you have experienced waiting up to a minute or more for extremely large transfers to resume or maybe had your internet connection suffer as a result of simultaneously transferring a large number of files with a large number of people, then this release should fix both of those issues.

And as always, any and all feedback is greatly appreciated. :)

A Word About Transfer Speeds Wed, 16 Jul 2008 20:16:44 +0000 admin Some people are surprised when the files they download using don’t come down at the hundreds of kB/s they are used to seeing when downloading things from the web. The reason for this is simple: doesn’t involve downloading things from a server, it’s about transferring files peer-to-peer. The person you are downloading from simply cannot upload to you as fast as you can download from them, so it’s simply a case of them being the “weakest link in the chain” when it comes to your transfer.

Most people using broadband these days are in a similar situation: They can download at a much faster rate than they can upload. You can see this for yourself by visiting sites like that measure your Internet connection and let you know what your maximum upload and download transfer speeds are, like this:

Some people are amazed at how little upload bandwidth they actually have.

The good new is this: Download rates can be improved greatly when, like Bittorrent, more than one person is downloading the same files from the same person at the same time. Multiple downloaders also attempt to connect with and simultaneously upload to and download from one another, increasing everyone’s overall download speed and lightening the load on the original uploader.

So the next time you are annoyed that your transfer is taking so long, don’t blame me.

Blame your friends. :)

New Feature - Transfer Limits Wed, 09 Jul 2008 04:06:54 +0000 admin Yesterday I received an e-mail asking if there was a way to limit the number of times a transfer is downloaded. Their reasoning was:

“Then I can guarantee that somebody will only download one copy of a particular file or I can create an offer where the first 50 people get to download something for free etc.”

Since this was one of the features I had on my short list of TODO items, I figured it would be the next one to be implemented. :)

So now you will see that there is a “Limit the Number of Download Transfers” option available now when you are getting ready to start a “Send Files” transfer. (Naturally you can also limit the number of Uploaded Transfers when you choose to “Receive Files” instead.)

Once that number of transfers has been reached, all further connections will be denied. (Specifically, it’s counting the number of unique computers that have been connected to the transfer, not the actual transfers themselves. The reason for this is just in case someone gets disconnected from the transfer and needs to resume where they left off.)

So give it a try, and let me know what you think!

Thanks! :)

To Buy A Cert Or Not To Buy A Cert? Sat, 05 Jul 2008 22:22:41 +0000 admin Today I received some insightful feedback from a reader named “Shirley” from regarding her experience using In her comment she said that she “received a security warning and opted out” when trying to use the site for the first time.

Unfortunately, I understand where she’s coming from. In this day an age, when you’re browsing the web and a window pops up entitled “Security Warning” most peoples’ initial reaction is to click the “Cancel” button. The problem is, that’s the way Signed Java Applets work on today’s modern browsers, and a Signed Java Applet is what enables to do cool things like accept drag-and-drop files, negotiate through gnarly firewall and router network configurations, and transfer files directly without having to upload them to a server.

There is one thing I can do to make the Security Warnings a little less scary, but it’ll cost me $300 - $500 to do so. :(

If I purchase a Code Signing Certificate from Verisign or Thawte (the same companies that sell SSL Certificates that make web pages secure) then my Signed Java Applet Security Warnings will change from this:

Security Warning - Windows XP

Security Warning - Mac OS X

to something like this:

Signed Java Applet Security Warning in Windows

Signed Java Applet Security Warning - OS X

(Obviously they won’t say “Northwestern University”, but you get the idea.)

So I guess the questions is: If I spent the $300-$500 to buy a Code Signing Certificate to make the Security Warnings say that my Signed Java Applet was “Verified”, would that make any of you more willing to click “Run” or “Trust”? Or is just the fact that there is a Security Warning staring you in the face enough to make you go somewhere else?

Thanks for all the great feedback, and please keep it coming! :)

I Love My Beta Testers! (But I Hate Their Routers) Fri, 04 Jul 2008 04:58:10 +0000 admin So two days ago I received an e-mail from one of my invaluable beta testers about an issue they were having transferring a 300MB HD Stock Footage video file to one of their customers: The transfer would stall about 2/3 of the way through, and it couldn’t be resumed.

I spent about half the day trying to track down the issue when I was finally able to re-create the problem by downloading the same file from them: It got more than half of the way through and then just stopped. Basically it looked like their computer got “lost” somehow, and was nowhere to be found.

The thing was, everything looked fine from their end: Their browser window was still open, and they still had Internet connectivity. And oh, the headache I was getting.

Suddenly, I figured out what had happened: Their router had suddenly decided to change their external port - right in the middle of the transfer!

Now, I didn’t know routers could do this. It just doesn’t make sense if you’re communicating with someone and then they suddenly change ports on you. How is the other party supposed to figure this out? Magic?

Well, the good news is that I believe I have made the changes to the applet that will handle this madness these types of situations, so if any of you have had any trouble before making or maintaining connections, give the latest version a try and let’s see how things work out. (Just be sure to let me know how it goes!)

Thanks! :D

[ file ai ] Plays Nice With Your Firewall & Router Fri, 27 Jun 2008 23:32:35 +0000 admin Many P2P (or “peer-to-peer”) applications require you to make changes to your firewall and/or router settings in order to be able to connect to and communicate with other people on the network. Sometimes you have to open ports in your firewall or forward ports with your router, and not everyone in the world feels entirely comfortable doing these things in the first place.

With, you don’t have to worry about any of these issues: It just works. :)

Do you want to know why? Do you even really care? Well, if you do, the reason doesn’t have to worry about firewalls or routers is that it is built on top of a custom-made, multi-tiered communication protocol specifically designed with that purpose in mind.

Firewalls are usually configured to block incoming connections while allowing you to make outgoing connections to mail servers, web servers, etc. Once a connection is established, however, it allows data to go back and forth along that connection until the connection is closed.

The secret to is to have both the computers that are trying to connect to one another start to initiate the connection at the same time. Once that happens, the firewalls are tricked into thinking that a connection has already been established, and voila! you can communicate with each other to your heart’s content. :)

Servers Are For Suckers Wed, 18 Jun 2008 20:45:10 +0000 admin One of the big differences between and other services is that you have to keep your web browser window open for the transfer to complete. The reason for this is simple: The files aren’t uploaded to a big central server somewhere to be downloaded later. Instead, they’re transferred directly, from one computer to the other. Why do we do this? Well, there are a number of reasons:

1. Cost

Files take up disk space, and disk space costs money. Most services will let you transfer files for free, but there are limits: The files can’t be too big, and there can’t be a lot of them. If you want to upload more then it’ll cost you. is absolutely, 100% free, with no limits on the size or number of files you want to transfer. This is because you don’t send the files to us, you send them to each other. We’re just there to connect you guys together. After that, we’re out of the loop completely.

2. Privacy

I don’t know about you, but would you want to upload your sensitive or private files to a server somewhere simply so that someone else can download them? How do you know that they have properly secured their server against unauthorized access? Or that they’re not looking at all of the files being uploaded to them, just for kicks? When you remove your files from their server, how do you know they’re really being deleted? These are questions that are difficult to answer, so the best solution is to never have to ask them in the first place.

When you use to transfer your files, the files are never sent to us. The file names are never sent to us. We don’t know how many there are, how big they are, or anything like that. We don’t even keep logs of which computer connected to who. Why? Because we don’t need to. All we need to do is get people connected. Once that’s done, we move on to let you go about the business of sending your files to each other.

3. Speed

To transfer a file to someone, two things have to happen: You have to send it and they have to receive it. If you first have to upload the file to a server before they can start to download it, then they’re going to have to wait up to twice as long as it would take if you just sent it to them directly using

With, they start to receive data as soon as you start to send it. If you are sending an extra-large file, both of you don’t have to wait around for it to finish uploading before they can start to download it. If you are sending thousands of files, you don’t have to wait for all of the files to be uploaded before starting to download the first one. saves you the time and frustration of a slow upload by getting things done as soon as possible.

Send Files vs. Receive Files Wed, 18 Jun 2008 19:52:07 +0000 admin When you visit the front page of, you are asked what you would like to do: Send Files or Receive Files. Most people understand the point of the Send Files button, but some are not completely sure why and when they would ever want to choose the “Receive Files” button instead. I find it’s best to explain this with an example:

Let’s say there are two people, Bob and Dave, who work together. Bob is currently at the office at his computer, 5 minutes before he is going to go home. Dave has already left the office and is in his car driving home. He’ll be home in half an hour.

Bob and Dave are talking on the phone when they realize that Bob needs to send Dave some large media files so that Dave can finish up the big presentation they have first thing in the morning. They’re too big to e-mail, so Bob goes to, clicks Send Files, drags-and-drops the folder of media files, e-mails the link to Dave, and goes home. When Dave gets home he opens his e-mail, clicks the link, and downloads the media files to his computer.

Makes sense, right? Now here comes the twist: What if it was Dave who needed to send some files from his computer at home to Bob at work? If there was only the Send Files button, Bob would have to wait at work for Dave to get home so that Dave could create the transfer and send Bob the link. Now, Bob’s really hungry, and he’s got a headache. He doesn’t want to wait around for half an hour for Dave to get home. So what does he do? He clicks the Receive Files button instead. :)

When Bob clicks Receive Files he chooses the folder where he wants the files to be downloaded to, e-mails the transfer link to Dave, and goes home. When Dave gets home he opens his e-mail, clicks the link, and is able to drag-and-drop the files, sending them to Bob’s computer.

Crisis averted, and everyone gets to go home on time.

Make sense? :)

Security Warnings & Signed Java Applets Wed, 18 Jun 2008 00:44:12 +0000 admin When you use to transfer files, chances are you’re going to see a security warning that looks something like this if you’re running Windows:

Security Warning - Windows XP

Or like this if you’re on a Mac:

Security Warning - Mac OS X

The reason you see this is because uses a small application called an “applet” to transfer files to and from your computer. Applets aren’t installed, but instead run from within a web page similar to a YouTube video.

It is the applet that makes transferring files between computers possible without uploading them to a server or installing something on your computer.

For security reasons, web sites cannot transfer files on your computer without first being given permission, and that is what you are doing when you click “Run” or “Trust”.

If you don’t want to have to click “Run” or “Trust” every time you use, simply check the “Always trust content from this publisher” box and click “Run” in Windows:

Checked Security Warning - Windows XP

Or click the “Show Certificate” button and check the “Always trust” box and click “Trust” in OS X:

Checked Security Warning - Mac OS X

Have any questions or concerns? Leave a comment! :)

Want to link to Thu, 12 Jun 2008 18:31:25 +0000 admin If you want you can add a link to using this banner:

Click here for the easy linking instructions and more banner options

Thanks! :)