Too much magic in Java IDEs

I am very bothered by the way a typical Java web site development works. Java website developments, through JSP (Java Server Pages) is largely supported by IDEs such as Eclipse and Netbeans. It is not in any way the easiest to utilize. And at worst these huge IDEs are too kludgy for my liking.

Take the current Java project that I am working on, it’s a website that has sign in and numerous data presentation tools. Everything .java compiles into a .class file and the remaining JSP files are deployed into this WAR file through Apache Maven into tomcat. With an IDE, everything seems seamless. You don’t even need to know how it works. Just by magic. You configure the servers and paths and it just works.

You could of course decide to dump WAR files again and again to the server paths and watch it automatically deploy after you do a manual restart of tomcat. Unfortunately that’s too unproductive, starting a tomcat server takes 2 seconds for me, and starting the application takes 10 seconds in debug mode. That’s unacceptably slow because it all adds up.

So, IDEs make you more productive by deploying the files in the server for you and compiles the .java files into .class and .jar files or something like that. Essentially you only need to restart the tomcat7 server if you updated the controller. Updates to the views do not require compilation. However — there’s always a caveat — you have the .jsp file edited on the server path rather than your workspace.

Now, under the hood of the IDE, each time you save a .jsp file, what you are essentially doing is:

  1. Saving the file in your workspace.
  2. Copying the file from your workspace to the server path.

Your workspace can be managed by revisioning tools such as SVN or git and the remnants don’t get copied over to the server space. It’s pretty well thought except that you really need a proper IDE set up to save you all the repetitive work.

So the reason why I am writing this is because I wanted to use Sublime Text and Sublime Text doesn’t have Java and tomcat integration features at all. At first this seemed surprising, after all Java is so common. Upon discovering what Eclipse and Netbeans actually does, I can’t help but to feel that there is a certain amount of over-engineering.

Forgive me if that’s not the way Java IDEs work. I’m uncovering new things every day still, so please correct my mistakes, I want to understand the platform better too.

NetBeans 6.8 released

As possibly the only NetBeans users coding in PHP in Singapore, I would like to announce in a somewhat lonely fashion that NetBeans 6.8 has been released. Despite being ridiculed for the past two years [insert laughter] for my unusual support for coding PHP with NetBeans IDE, I can never get used to something other than NetBeans so there’s probably something NetBeans did right after all.

If you’re on NetBeans 6.7, I urge you to upgrade. If you aren’t a NetBeans user, do give NetBeans a chance. It’s (probably) slower and Java-ish but the excellent code completion support more than made up for it. Oh yeah, and it’s free too.

Try NetBeans 6.8.

6,081 visits last month, thanks!

Search engines sent 67.95% of the visitors. Asides search engines, most of the visitors come from Twitter, Ping.sg, Facebook and Stackoverflow.

Firefox is a favorite browser with 60%. Chrome visits constitutes 5% which I am responsible for at least half of Chrome visits I presume.

The top searches are XAMPP, jQuery, Django and PostgreSQL related. I code using CakePHP but no one reads my CakePHP stuff. My top tags are NetBeans, XAMPP and Sex, the combination upsets me.

Top countries visiting are US, UK, Singapore, India and Canada. I had a visitor from Zimbabwe, I didn’t know they can afford computers. Zimbabwe, a victim of hyper inflation, announced last February the removal of 12 zeroes from the currency, i.e. 1,000,000,000,000 Zimbabwe dollars being exchanged for 1 new dollar.

Alright, before I go offtrack, kthxbai.

NetBeans IDE 6.7 Milestone 3 released

NetBeans IDE 6.7 Milestone 3 is released. I have been using this for a few days. I haven’t noticed much difference actually. I use it for PHP. I still wish for more support on CakePHP.

The NetBeans team is pleased to announce the availability of NetBeans IDE 6.7 Milestone 3 (M3).

Highlights of the release include: 

  • Project Kenai Integration
    – Create Kenai projects from within the NetBeans IDE
    – Locate and open sources for Kenai projects in the IDE
    – Full integration with Bugzilla
  • Maven
    – Multi-tabbed artifact details viewer available
    – Graphical view of transitive dependencies available
  • PHP
    – Code coverage and Selenium support
  • Platform
    – Enhancements to Output WIndow, Update Center catalog and Search performance
  • Profiler
    – Export profiling data into CSV, HTML and XML file formats
  • C/C++
    – Easy host setup for remote development
  • GlassFish Integration
    – Derby support registers Derby associated with v3 Prelude instance
  • Integration with the Hudson Continuous Integration server

Read the complete list of NetBeans IDE 6.7 Milestone 3 features and enhancements

I went to try Windows 7 Beta

I was going to totally ignore Windows 7 till it is released but I couldn’t resist anything that is marketed to be with the words “faster”, “stable” and yeah basically “faster”. I mean who could resist “faster”. Henceforth, I grant my fingers the liberty to click around and downloaded Windows 7 64-bit. And burnt. And installed. And played. Windows 7 is the yet to be released operating system from Microsoft.

I thought this is be a good time I try if the software I use would work in 64 bit. It did. Well accept a lame anti-virus software but that’s okay. Some software didn’t work on Windows 7 because it requires Windows Vista unfortunately.

I basically want to see these programs running:

  • Java (64 bit)
  • NetBeans
  • XAMPP (I couldn’t get 1.7.0 to work out of my download, perhaps my download is corrupted. But I downloaded xampplite 1.6.8 and it’s runs fine in Windows 7)
  • Microsoft Office 2007 (My guess is that it will run since it’s from Microsoft)
  • Photoshop CS4. (Yes, but I downloaded the 32-bit one. The 64-bit one probably would work too)
  • Notepad++ (I need this.)
  • Windows Live Messenger 2009 (It worked)
  • ESET Anti-virus (I downloaded the 64-bit one)
  • Dropbox (A must have)
  • Live Mesh

The great news is that all of the programs I tried to install actually worked just like that. Live Mesh did not work right and went to disable Windows Aero but a later update has that issue fixed.

But after I played with it, I’m back to using Vista. Most of my school and work stuff is all back in Windows Vista. I probably would migrate to Windows 7 when the operating system has been released. So far, I am very pleased with the new software. It also boost my confidence in 64-bit software. If not for my Windows Vista having so much of my user settings customized, I would have switched to Windows 7. I felt it was indeed, as advertised, faster. There are lots of subtle improvements to the interface too. I probably blog about it some time later next week.

Some suggestions for .gitignore

This is more of a personal note. You may find it useful too.

Here’s how to ignore files and folders using Git. You can create a file “.gitignore” and place in the files and folders that you wish to ignore (separated with a line break).

In the file: “./.gitignore”

Here’s a list of standard things to do a .gitignore. It ignores the thumbnail files generated by Mac OSX and Windows. (I’m on Windows Vista.) You can place this on the top folder of your Git project:

[code lang=”ini”]nbproject
.DS_Store
Thumbs.db
Desktop.ini[/code]

“nbproject” is for NetBeans.

In the file: “./app/.gitignore”

Well, if you use CakePHP, you may want to add an additional .gitignore file in your CakePHP app directory:

[code lang=”ini”]tmp/**/*
config/database.php[/code]

I am open to suggestions what other files or folders are good to ignore but these are all I can recall. You can read more about gitignore at kernal.org.

Ubuntu Intrepid Ibex working on Acer AspireOne

I’ve been using Ubuntu more these couple of weeks. The bonus is that it feels a little faster. I also managed to install Ubuntu “The Intrepid Ibex” 8.10 into my netbook. I own an Acer AspireOne with the Intel Atom N270. (Trust me I know little what I am babbling.)

Previously I had Hardy Heron installed and it didn’t work too well. Several hardware fail to work out of the box and I’m not the kinda person good at configuring Linux. But the Intrepid Ibex has been great. Most hardware worked after the install with the exception of the wireless module. The fix is easy though you require an existing LAN point to download the new driver.

I installed all the necessaries like NetBeans and the Dust theme. Also installed Sun’s Java.

Screenshot of NetBeans IDE 6.5

(Screenshot of NetBeans IDE 6.5 with Dust theme. Call me blind, but I always work with a font size that huge. I manage to get Consolas into Ubuntu too.)

Sound is working but it’s almost inaudible so I would say that sound isn’t working at all. The earphone socket doesn’t appear to be working too. I couldn’t fix that but I can’t give a damn. I’m just pleased NetBeans is working and I can use the internet.

And yeah, I also experienced a freeze up once but couldn’t reproduce the situation.

Ubuntu is so hard, but I like it

I’ve been working a little more in Ubuntu these days. I found it to be slightly faster. Especially with the performance of NetBeans. It’s a joy to work with NetBeans. In Windows Vista, it’s shit slow. I don’t know why, it’s probably due to all the overheads from the services launched during start up.

I feel lighter now.

The funny thing is that I got more productive in Ubuntu not because it’s a better platform in terms of functionality but just because there are lesser distractions. Most of my leisure stuff are in Windows Vista. I use Windows Live Messenger so often there. In Ubuntu I don’t like Pidgin and I miss my custom emoticons, hehe1.

Monkey hehe emoticon

I auto-hide the rather useless bottom panel which only use twice a day and rely most on keyboard shortcuts. I also enabled the Windowlist screenlet and use it as a taskbar replacement.

Ubuntu’s still hard to use

  • I hate exploring my folders so I don’t explore folders much any more.
  • There’re too many clicks involve in organizing my files so I never download anything any more.
  • Finding music in my Windows hard disk through Ubuntu is so hard and I don’t know how to create a link to directly link to me the folder.

Continue reading “Ubuntu is so hard, but I like it”