In June of 2008 I released the initial version of the S3DropBox as a download available from this blog (see S3DropBox). Since then I’ve been adding little enhancements to the drop box as updates to the linked zip files. This of course is not the right way to share an application or its code-base, so I’ve created a google code project at http://code.google.com/p/s3dropbox/. Feedback, patches and wish-list items are always welcome.
Posts Tagged swing
For a number of years I’ve been answering the same question from my wife: “What is the biggest file size that I can attach to an email?” Now the answer to this is straight out of the consultant handbook: “It depends.”
It depends on your smtp server’s limits, the reciever’s limits/security policy/attachment filtering/etc. Even Google Docs has limits for file sizes. There are a number of sites that already provide a service whereby someone can upload a file and get a link to paste into an email, so that the recipient can then download the file later. I even thought of writing one myself. watchitlater.com is actually the domain name of my proposed service to do just that. But I got sidetracked by something shiny and the need for the site disappeared as some excellent “competitor” sites appeared.
A couple of weeks ago I was asked the same question again, but it was a bit more important that I gave my wife an answer (or an ability to share very large files). So out came IntelliJ Idea, and after a bit of tinkering the S3DropBox was born. This is a Java Swing application into which you can drag and drop files, which are then uploaded to your Amazon S3 account. You can create public links to these files, and paste these links into emails, so that the files can be downloaded later (using any web browser) by clicking on the link, or you can download the files yourself at a later stage using the S3DropBox.
You can download a platform-independent version, or a Mac OSX .app bundle, or just the source code. As usual, it is a BSD license, so use it however you like, all care and no responsibility
A note for beginners with Amazon S3: This service has a concept of buckets that contain objects. With the S3DropBox you can create buckets, and then upload files into these buckets (so that they become objects). If you want to know more about these concepts you can go to the Amazon Web Services page.
Its the curse of the internet age: we all have to remember user names and passwords to a whole host of web sites and programs. If you do a web search, you can find a legion of different password keeper programs available for any platform. Open-source, free, or commercial, take your pick.
A few years ago, as an exercise in writing a non-web-based program, and because I did not (and still don’t) trust anyone else with my passwords, I decided to write my own version of a password keeper, that also helps me to generate some “random” passwords for the times when I cannot think of one for myself. I wanted a cross-platform program with a simple and encrypted way of storing the password information, so I wrote it in Java, since I could use a crypto API directly (without javax.crypto stuff) using the BouncyCastle lightweight API and a nice way of doing GUI layouts using JGoodies. This program stores the passwords in an encrypted text file, allows you to import from and export to other encrypted files, and allows you to print out the passwords for a hardcopy (if you can find someplace secure to store it). Oh, did I mention it can run anywhere that Java can, without needing to worry about crypto restrictions?!
I know I should open-source this program, but I am lazy, so I’ll just post the source code, platform-independent version and Mac OSX .app bundle here instead. The code is not pretty, but not too bad for a first go with a Swing GUI framework. If anyone feels like contributing then comment on this post and I’ll make an open source project somewhere.