Beagle Dynamic Desktop Search Tool

Beagle is a desktop search tool that is very similar to Google Desktop Search and Spotlight (the search tool built in Mac OS X Tiger). It was originally built for Gnome, but can also run on Windows. Although developed in Mono (the open-source implementation of .NET), Beagle uses Lucene (a search engine written in Java).

Like Google Desktop Search and Spotlight, Beagle allows users to search files in different formats, mailboxes, and instant messaging logs. Searches are dynamic, which means that results are updated instantly as changes are made to the matching objects. This dynamism is what makes Beagle such an interesting application.

Nat Friedman has posted a few Flash demos of Beagle on his web site.

Technorati Tags: ,

How to Improve Download Speeds of BitTorrent

I was one of those people who got frustrated by the download speed of BitTorrent until I found the BT FAQ page that explains how to accelerate downloads by properly configuring the router and/or firewall.

However, you will get better speeds if you allow incoming connections as well. To do this you must use the “port forwarding” feature of whatever is performing the NAT/gateway task. For example, if you have a cable or DSL connection and a router/switch/gateway/firewall, you will need to go into the configuration of this device and forward ports 6881-6889 to the local machine that will be using BitTorrent. If your device makes it hard to enter a range of ports (if you must enter each one separately), then you can just do the first 10 or so ports, or however many simultaneous clients you plan to ever have open. If more than one person behind such a gateway wishes to use BitTorrent, then each machine should use a different port range, and the gateway should be configured to forward each port range to the corresponding local machine.

Technorati Tags: ,

MyEclipse IDE Now Supports Eclipse 3.1

Via Javalobby:

The latest releases of the MyEclipse Enterprise Workbench (version 3.8.4) for Eclipse 3.0.x and Eclipse 3.1 M4 are now available for immediate download. Theses releases are available for all supported platforms – Windows, Linux, and Macintosh.

The new MyEclipse release for Eclipse 3.1 is a god-send, as it allows me to start using Eclipse again. Indeed, Eclipse pre-3.1 was too slow under Mac OS X for my needs, and Eclipse 3.1 was not supported by MyEclipse IDE which made it useless for me.

Technorati Tags: ,

Essential Software for Mac OS X

These are the software that I use most often under Mac OS X.

Video
For videos, nothing beats VLC (or VideoLAN Client). It plays all the common video formats and is constantly being improved by a dedicated team of developers.

Photo
I use iPhoto for managing my photo library. I find the integration with the rest of the iLife suite flawless, and particular enjoy the ease of resizing and e-mailing photos directly from the application.

Music
This is a no-brainer; iTunes is the best music player on the market.

Programming
For Java programming, I use NetBeans 4.0, and Eclipse to a lesser degree.

For PHP development, I find that Vim suits all my needs.

Shell
I find Terminal to be more than enough for the tasks that I perform most often on the command line.

Mail and Internet
Mail.app is the best e-mail client, simply because it has an excellent spam filter.

For USENET, I use MT-Newswatcher. It appears to be no longer in active development; however, it suits all my needs.

For surfing, I used to like Safari a lot, but recently I have started visiting sites that are not fully supported by it. So, I am gradually switching to Firefox.

For IRC, X-Chat Aqua is the client to use. It is just as excellent as the original X-Chat.

For instant messaging, I use Adium. The duck theme is cute and the team releases frequent updates.

I think that is about all I have on my iBook at the moment. As anyone can see, very little is required for a pleasant experience with Mac OS X. Most of the tools listed are free or cost very little.

Technorati Tags:

TruStudio Plugin for Eclipse

If you are looking to do PHP development in Eclipse, TruStudio from xored software is a very good candidate as an IDE/plugin.

I used it in the past when it was fully open-source and liked it. I have not had a chance to try it again since then, although their marketing e-mail sounds promising. The products page, when I finally looked at it, lists two versions of the plugin: foundation and professional. The features page further lists in details all the capabilities of TruStudio together with markings to differentiate the free foundation version from the professional one.

If I have to do further PHP coding, I will seriously consider this, despite my reservations towards Eclipse.

Technorati Tags: , , ,

JSF development with NetBeans 4.0

Does anyone know a sure way of doing JSF development with NetBeans? I managed to get the JSF tags to auto-complete, but not the faces-config.xml ones. The other thing is, the little I’ve managed works on the Windows version of NetBeans and not on the Mac OS X one. I wondered that maybe I used two different versions of the reference implementation, but trying various combinations proved me wrong. So now, after an initial success, I am back to square one. The Mac box is my preferred development machine; if I cannot use NetBeans for JSF projects on it, I will be obliged to switch back to Eclipse. And Eclipse is a dog under Mac OS X :-(

UPDATE: I now have a solution for easing JSF development on NetBeans, which I am going to write about soon.

The ridicule of web applications

My manager is going round the floor asking everyone if they knew a way to feed HTML code into a component and have it calculate stuff like the number of pages it will generate when printed, the height of a line, etc. All this so that our web application can produce printouts that resemble… printouts. Secretly, I’m thinking it is a lost cause. Unless some kind of browser control is used to manage the pagination and we abandon our extremist view that web applications should be all HTML, page breaks will remain in the wrong places on those reports. And we will still have unhappy customers.

I have long lost the optimism needed for development of fancy web applications. Any application that requires complex layouts should be written for the desktop environment. Alternatively, hybrid applications can be used. I just designed an application that users will use to enter certain pieces of information via a web browser so that the information can be printed by a service (or daemon) at the application owner’s site. The end goal is to have public users interact with the application via their web browser and the staff users to use a desktop version of the application.

Mind, though. I have seen beautiful web-based applications that were hard to differentiate from desktop ones. For instance, there is the application used by resellers of Orange mobile services. The most beautiful I have ever seen is Barclays customer management web application. It is a beauty. However, when one thinks about this state of affairs, one cannot help notice the ridicule of trying to make a web application look as fancy as a desktop one. Perhaps, this is why so many developers are going back to their roots to develop desktop applications with proper windows, panels, buttons, etc. instead of struggling with the handful of controls available in a web browser.

One of the principal reasons for developing web applications is not even plausible anymore. Web applications, it was claimed, solve the problem of deployment. No need for individual installation on client workstations. A single web application can be accessed by thousands or millions of people. True. eBay using the web is justified. In fact, the business derives from the web. What more justifiable can it be? But, in an enterprise application, such as ours, I think it is a waste of resources to insist on going the web route when the overhead of doing it is known. Deployment could not be easier than it is today with Software Management System, terminal services, etc. We could write feature-rich desktop applications that get pushed to the users’ desktops by startup scripts when they log on in the morning; if we were using Java, we could JNLP to deploy our applications; or, we could even have an application sit on a Terminal Server and have the users access it by a terminal client.

In fact, all these solutions are feasible. What is holding the policy makers from doing the same for all our applications is only known to them. Or, is it the abundance of cheap web developers that make the situation as it is?