Hierarchy and Reference in Eclipse
In regards to my previous post on Eclipse, I decided to take back some of my comments about it. After installing version 3.1, the speed improvement was appreciable; it is still slow but it makes up for its sluggishness by having two other features which were quintessential to my current project.
Call hierarchy This feature was a life-saver when I first looked at the code for Idea Incubator. There was no way I could figure out what methods were calling what methods and from which classes without this. And had I not been able to see the call relations, deciphering the code would have taken much much longer. This feature is enough to make me want to use Eclipse for all my other development needs. It is interesting that this is the first time I have seen this feature implemented in an IDE.
Show references This feature is almost identical to the one above I think. I have been using both without really realizing what the differences are. Either way, I am pleased that theses tools are available at my disposal.
On a side note, the show declaration function is also equally canonical to my reading of the code. Simply by hitting F2, I am able to jump to the declaration of the function within the current workspace. And if that function is not from a class in my current workspace, for instance it could be from a .jar file which has its declarations hidden, Eclipse can also report that to me.
This along with many subtle features like "really smart" code completion for the nasty ';' and the " " make it so much easier to program and focus less on these tiny but annoying details of the language.
Posted in development, software | no comments |
Eclipse JAVA IDE
Eclipse is a mandatory program for my cs427 development team. I was reluctant at first to try something like this since I am perfectly fine with the idea of using BBEdit for my java developing. Or in a worst case scenario, using JEdit as I did for my CS125 class. Reviews about Eclipse seems to be generally positive, so I gave it a try; the fact that it was specifically needed for tomorrow's group meeting was a compelling reason too.
Downloading the 88 MB file from the main server took a good 1 hour since they had just realeased version 3.01 of it. I left my computer running for the afternoon while I went for my tutoring and office hours. Came back and installed it. Installation was a simple drag-and-drop to my folder of choice. Nothing bad there. Since I would be using it more as an appplication, it was best suited to go into my applications folder.
Now that the installation was done, it was time to at least start it. Starting proved to be something of a patience tester. I grew weary as I watched the program churned along in the dock before it popped a dialog up asking me to choose a default development folder. Next came the splash screen in almost slow-motion. It filled up the entire screen. What the hell is this welcome thing>
A few clicks of the mouse later I was even more dissapointed with its speed and responsiveness. It felt like it had just swallow a cow. And was halfway ingesting it. Clicking on the menus gave me the beachball effect. Clicking on the menus was a challenge since you never know if they are going to respond--in like 2 seconds later. Tool tips took their own leisure time to appear.I am definitely screwed with this program!
The interface looks pretty complicated. Where would I begin coding? I know that IDE's are something that have a thousand facets to it. And neither one is similar. So, how the heck do I begin? The help files. Big mistake. Or shall I say gargantuous mistake since it was so slow that my patience was really wearing thin. It had to run its help files off some stupid port on my computer and Safari had to connect to it. Even clicking on the links were slow. And some of them were even missing!Is this really a working piece of code?
The tutorial teaching me how to begin writing a java application decided that it wanted to use a pane in the main interface. Fine. It wanted me to click on each main sentence so that it can expand some 5 lines of text! Why can't it just display all those lines at once?! Surprisingly, the editor was pretty responsive and it had nice auto-completion skills that do not annoy you. Heart rate goes down a little.
After some more tinkering I began to understand why this program was chosen as our team IDE. Not only was it capable of running on windows, linux and OS X, it had a lot of potential in it. If only it were faster. It has support for JUnit and Ant which I had experimented with some years ago. It has a ton of plug-ins that are available, but I am not going to take the risk of installing them to break my current installation.Moreover, it does have a nice interface that is rather customizable.
So, for the past few hours I have been doing nothing but fiddling with it. O'Reilly's java site has some nice articles on it at the moment. Those will keep me occupied for a while. And with the arrival of Java 1.5 a few days ago, my interest in Java might be rekindled. We shall see.
Posted in development, software | no comments |
A few quirks about OS X
Though I acknowledge that OS X is the best operating system that I have used compared to the others, it has its shares of annoyances. Usually I can safely ignore them. However, these few days I was more irascible and lost my temper over some simple things:
- The green + button that appears on all windows. This is a very weird button. It does not maximize the window as suggested. In fact it does not even behave as expected. Well, unless you consider the fact that it "remembers" what its last previous state is depending on whether you have opened this window before or not and which was your last window and,... and.... and... to be highly predictable for the human mind. This behavior finally pushed me to the limits when my web browser had a weird resolution. One way I fixed this and maintained my sanity was to use a javascript command to maximize Safari's windows to their maximum size. That really helped out somewhat. Moreover, it appears that I am not the only one that finds this behavior of the green button annoying as can be seen from various posts on the internet about it. I did not use OS 9 so I am unsure of its behavior then (was there even a + button for OS 9?).I do not recall having this problem in windows though.
- Services menu. I am still unable to figure out how useful those services are. There are few shortcut keys for them. And though you can configure them through the universal keyboard access preference pane, their presence is also rather elusive. For instance, sometimes all the services are not available. And some services do not even seem to work properly. But the thing that irks me the most is the fact that I have to either remember some shortcut key or hover my mouse there to activate a service. I realize that this feature has a lot of potential but its cumbersome accessibility makes it a pain to use. I have tried some contextual menu plug-in that is supposed to enable me to access some other "services" but not those on the services menu. I have also tried to get rid of some of the services that I do not use but I cannot even find where they are stored. Most of them come bundled with the application and cannot be removed unless you uninstall the application; there is the option of tweaking the .plist files but that can be dangerous. All in all, I feel that much more can be done to the services menu to make it that much more enjoyable to use.
- Not using the full 700MB for CD-R This always bugs me because with that extra 30 MB (the Finder only burns up to 670MB) I can easily stuff another anime episode in. Now, they seems to be a solution using the wonders of hdiutil. The instructions were given in the February 2005 issue of MacWorld. For those who rather not use this rather convoluted method, Roxio Toast Titanium does a fine job of utilizing almost all the space on the blank CD-R and even performs verifications for you.
Posted in development, software | no comments |
Launchers and the likes on OS X
F10 Launch Studio
The first launcher I used was F10 Launch Studio. However, it was very very limited. I was not able to (or do not know how) to make sure that it does not list my developmental applications. Its "intelligent" searcher will add an application to the list every time that application is launched. There seems to be no easy way to make it exclude some folder. And I definitely do not want to move my development folder to somewhere obscure just to hide it from the "intelligent" F10 navigator. Anyway, F10 Launch Studio is fast and that was quite useful. However it remains a launcher and nothing more. Moreover, it takes up the whole screen. So it makes it quite wasteful. And it is not free or cheap either.
Quicksilver
After that I abandoned F10 for Quicksilver. I was really impressed. It would appear that something this powerful and customizable would require a steep learning curve but that is not true. Quicksilver makes it simple for a beginner to use it. And as I used more of it, I got to know more of its cooler features. It not only serves as an application launcher but it is able to perform simple file operations on files. For instance, you can rename the file, lock the file, hide the file, etc. Moreover, it enables you to search through Safari's history and bookmarks, a feature that I have always wanted. (Another application by the name of Safari Hound does this I believe, but it is too cumbersome.) There are lots of other things that Quicksilver can do and it is constantly being improved upon. And it is fast, really fast. The only down side is the occasional crashes which causes some form of dilemma because now that Quicksilver has crashed, you cannot use its command+space to launch itself! The other down side is that it requires Panther. One more thing: Quicksilver also has an interface called Flashlight that emulates how spotlight will look on Tiger. Very nice.
Butler
Today however I realized that I needed something like Quicksilver on my girl friend's iBook which is running Jaguar. There are only two popular alternatives to Quicksilver: Butler and LaunchBar. Since Butler is free and the members of macosxhints.com seems to find it better than LaunchBar and even Quicksilver (god forbid!), I downloaded it first. Being a small download and having an easy installer made me think that this program might actually be good. However initial setup was pretty bad. First it displayed those annoying icons on the menu bar. The iBook has a 12.1 inch screen so there is very little screen estate to spare. Then I noticed that it tried to include Camino, iCab etc. bookmarks. Problem is: I do not even have those applications! After some serious configuration I deleted those pesky icons. Then I tried using command+space on it. Goodness, why is nothing much showing up? I just updated the listings! Turns out that Butler's system of searching does not warn you that it needs to have the folders in the configuration folder. Well, that is easily rectified. So now command+space and a few keystrokes make the relevant files appear. Now the real drawback happens. Butler is slow. It is so slow that it is annoying. I tried disabling all the icons and all other visual eye candy but that did not make Butler any faster. Well, I thought to myself, what would you expect from an old Butler? The iBook has a 700Mhz G3 so that might be another plausible reason. However I definitely expected something more responsive than Butler. Another drawback of Butler is the fact that you cannot access things such as playing iTunes and the likes directly from its command+space pop-up. This annoys me. Really. You need to assign some shortcut keys to do that. Then a nice little iTunes pop-up will show you the current song, etc. Why do I need to learn some stupid keyboard shortcuts to do that? I would rather have the option to type "play" and iTunes will play or stop. I do not like shortcut keys that are superfluous. And I really hate hot corners. More often than ever, you accidentally hit those hot corners. Butler is not for me. And neither is it for my girl friend. It is not for those people who want to be able to use it from its initial setup without meddling around with too much configurations. Most people claim that Butler's advantage is that it is super customizable. I, on the other hand, prefer something that works nicely when I first use it and then I can fine tune it to my preferences later. Another thing that irks me is the different type of pop-ups! Seriously. I DO NOT NEED A DIFFERENT DESIGN FOR A WEB SEARCH, ITUNES OR LAUNCHING bezel!
LaunchBar
Since Butler is not suitable, I decided to give LaunchBar a try. LaunchBar requires a licence fee but the beta version is available for free evaluation. LaunchBar 4.0 impressed me the instance I started it up. It has a nice tutorial. And it has a clear design that lets me know what folders that it will be searching and how deep into the sub folders it will catalog. Its design is sleek and unobtrusive. And it is much faster than Butler. Maybe even as fast as QuickSilver. Command+space and a few keystrokes return the things I wanted. You can even use it as an application switcher. Jaguar does not have a nice interface for command+tab; instead it cycles through the open applications using the dock. My girl friend made the dock hide automatically so command+tab on Jaguar is not a nice option. LaunchBar solves this using command+space+space+.... hit space while holding command to cycle through the open applications. And this feature was presented clearly in its tutorials. So now my girl friend is happily using LaunchBar. And I think she will finally understand the pleasure of using the keyboard more than the mouse.
So now I think that Quicksilver is really slick. But LaunchBar is not too bad too. Butler is definitely not my type. F10 Launch Studio was a grief mistake. And until Tiger come out, Quicksilver is on my list of must have applications. Heck, it will probably be on that list even when Tiger comes out since no one really knows how useful spotlight technology is yet.
Posted in paradigm, software | no comments |