I needed an FTP server to perform functional testing of some FTP client Java code (commons vfs). The top 5 Google results for "Java FTP Server" were:
Apache MINA FtpServer - Runs as standalone or embedded; free and open source (Apache License)
FtpGoServer - Runs as standalone; source can be purchased
jftpd - Runs as standalone; appears outdated (last release in 2001); incomplete implementation
Java Secure FTP Server - Runs as standalone; free and open source (GPL)
Colorado FTP - Runs as standalone; free and open source (LGPL)
My pick is Apache Mina FtpServer. It's an active project. It can be easily embedded into any functional test -- the alternatives require peering into the source, writing adapter classes, etc.. It's also the only one that shows significant activity in Google Trends.
UPDATE 5/26/09: Documentation of Apache Mina is pretty thin (as with the other FTP packages).
Sunday, May 24, 2009
Reduce IDE clutter with Mylyn
One of the problems with working on a large project in Eclipse (or in any IDE) is navigating through various project resources (e.g., classes, methods, and etc..). Mylyn, a Eclipse feature, attempts to solve this problem by providing a focused view that shows only the relevant resources for a given task:
http://tasktop.com/videos/mylyn/webcast-mylyn-3.0.html
Skip the first 4 section because the speaker blathers on and on about various impediments to a software developer's productivity. Begin at section 5 and watch until you get bored (~30 minutes).
Key features of Mylyn include:
http://tasktop.com/videos/mylyn/webcast-mylyn-3.0.html
Skip the first 4 section because the speaker blathers on and on about various impediments to a software developer's productivity. Begin at section 5 and watch until you get bored (~30 minutes).
Key features of Mylyn include:
- Integrated view with ticket issue tracker software such as Bugzilla, Trac, and JIRA. Issues assigned to you are downloaded into the Eclipse project so that they can be viewed offline without the delay of launching a browser and waiting for a page load.
- As you work on an issue, Mylyn tracks your visits to classes, methods, and resources to create a task context. You can upload the task context to share with other developers who would be able to view the classes, methods, and resources relevant to the ticket issue.
- Bug numbers inlined in code comments can be clicked to bring the ticket issue into view.
Sunday, May 17, 2009
JavaScript is elegant
I used to think that jQuery made JavaScript elegant. I was wrong. JQuery just helped me understand what is already a quite elegant language. Watch this entertaining 1 hour Google Tech Talk by Douglas Crockford, author of JSLint, JS Min, and several essays on JavaScript misconceptions.
http://www.youtube.com/watch?v=hQVTIJBZook
Among the things he discusses are:
If you've done or will do any work in JavaScript, please take the full one hour to watch this talk. It's worth it.
http://www.youtube.com/watch?v=hQVTIJBZook
Among the things he discusses are:
- The origins of JavaScript and the design flaws
- General constructs to avoid in JavaScript
- How closures are used to create objects
- Benefits of using as a functional language
- Uses of the triple equality (===) operator
If you've done or will do any work in JavaScript, please take the full one hour to watch this talk. It's worth it.
Saturday, May 16, 2009
Inspirational talk
Damien Katz talks about the path that led him to develop CouchDB, an open source document oriented database. It's not very technical and it's inspirational in an ordinary down-to-earth way.
http://www.infoq.com/presentations/katz-couchdb-and-me
http://www.infoq.com/presentations/katz-couchdb-and-me
Thursday, May 14, 2009
Clean code talks
Below are four fantastic talks (~30 min each + Q&A) on clean code and unit testing. I wish I came across them a few years ago when I was first starting out unit testing -- would have saved me so much pain.
http://www.youtube.com/results?search_type=&search_query=clean+code+talks+misko
If you're a developer with a few years down your belt, you should know why:
http://www.youtube.com/results?search_type=&search_query=clean+code+talks+misko
If you're a developer with a few years down your belt, you should know why:
- if statements are bad
- new statements are generally bad
- singletons are an anti-pattern
- service locators were the pre-cursor to dependency injection
Subscribe to:
Posts (Atom)