As a consultant, I'm often forced to switch development environments based on the customer's preferences such as: Code Warrior, Eclipse, KDevelop, hand written makefiles, autoconf scripts, and qmake project files. More often than not the alpha developer has championed a setup and toolset, making it a standard. Sometimes this setup is documented, but more often than not, what is documented is often quickly falls out of date.
This is how I setup my Eclipse environment to handle just about anything:
Step 1: Setup IDE for Java EE Developers
Download Eclipse IDE for Java EE Developers from eclipse.org. This 162MB tarball has everything you need to develop JEE and Web applications and includes the IDE, tools for JEE and JSF, Mylyn (task list) and more.
Step 2: Setup C/C++ Development
Next, update to add C/C++ to add GNU C/C++ support to Eclipse. Select Help->Software Updates. Select the C/C++ packages, install, and restart Eclipse.
Step 3: Adding Python support to Eclipse
Python is one language that has one quark that drives me nuts -- tabs versus spaces. If your editor inserts tabs, causing you to inadvertently mix tabs and spaces for indention, the python interpreter will often do some very strange things. I have wasted a lot of time tracking down issues due to mixing tabs and spaces. The best solution-- use PyDev.
Help -> Software Updates, Available Software. Add Site: http://pydev.sourceforge.net/updates/.
Install and restart.
Step 4: Adding Perl Integration (EPIC)
Perl is a wonderful scripting language, but wouldn't it be nice to have an editor with syntax highlighting, on-the-fly-syntax checking, a debugger, global and local variable inspection and expression evaluation? You can with EPIC.
Select Help > Software Updates... in Eclipse, add the update site http://e-p-i-c.sf.net/updates/ and follow the on-screen instructions.
Step 5: Web Tools Platform (WTP)
WTP is a suite of plug-is with tools for developing J2EE applications, and includes editors for HTML, Javascript, CSS, JSP, SQL, XML, DTD, XSD, and WSDL.
Select Help > Software Updates... in Eclipse, add the update site http://download.eclipse.org/webtools/updates/ and install. Note the site might already be in your Eclipse setup, so you can click "Manage Sites..." and check the site, and then back to the available software tab.
Step 6: Make it Harder to Check in Code
Some organizations rely on "automated code review tools" or rules checkers. I personally feel that if you need to rely heavily on those tools then you don't have the right personnel.
Step 6a Eclipse Checkstyle. Help->Software Updates->Find and Install.... you know the drill by now : http://eclipse-cs.sourceforge.net/update
Restart Eclipse.
Step 6b PMD. PMD scans Java source code and looks for potential problems. Help->Software Updates->Find and Install.... http://pmd.sf.net/eclipse
Step 7: Subclipse Subversion Plug-in
The Eclipse update site URL is: http://subclipse.tigris.org/update_1.4.x
Step 8: JSEclipse JavaScript Editing Plug-in
JSEclipse is a JavaScript editing plug-in from Adobe. The update site URL is: http://download.macromedia.com/pub/labs/jseclipse/autoinstall/
Step 9: PHP and PHP Debugger
Install PHP. Click here for the instructions. Next, install the Zend debugger.
And there you have my current Eclipse setup. Ta-Dah.
Labels: Eclipse, Programming
Apache and PHP are pre-installed by default. You simply have to enable them. Turn on web sharing and browse to 127.0.0.1. You should see the Apache test script.
Next, edit the apache configuration script to remote the pound sign (#) from the beginning of the line that says, "LoadModule php5_module..." I use the vim editor, but for those who are command-line challenged, here is a tutorial that uses the graphical editor.
$ sudo vi /etc/apache2/httpd.conf
and edit the php load script line to say:
LoadModule php5_module libexec/apache2/libphp5.so
Save the file, and restart the webserver:
$ sudo apachectl restart
Next create a test.php file in /Library/WebServer/Documents with the following contents:
<?php phpinfo(); ?>
Browse to http://127.0.0.1/test.php. You should see the phpinfo output.
Done!
Labels: Mac OS X, Web development
It has been almost an entire years since I have switched to using OS X and a MacBook Pro hardware. With the exception of the retarded one-button mouse and the lack of an CDROM eject button (what the hell were they thinking?), the experience has be overwhelmingly positive for the 8-10 hours a day that I use it.
My only problem is that my MacBook Pro has slowly developed some odd behaviors, much like that of it's Microsoft cousins: sluggish performance and intermittent crashes thanks to a some software that failed to install correctly. It was entirely my fault -- I tried to install an upgraded version of subversion that failed, then I added a fink installation, and tried to install an early version of KDE so I could run KDevelop natively. I failed, and in the process soiled my system drive.
The biggest problem was that the system supplied version of the expat library was overwritten, causing apache, iChat and a number of other software packages to fail on startup. Worse yet, after upgrading to VMWare Fusion 2, VMs would simply crash without any explanation. It dawned on me that I might have a few problems while on the road.
Did I really want to be carting a sick laptop around the world? No, I didn't.
So last night I decided on the "nuclear option" -- to reinstall OS X on my Mac PowerBook (MBP) from scratch. It took roughly two hours to install OS X. Another hour to install the updates, Skype, Firefox, and various other utilities. I went to bed while it was merging my iTunes library from across the network and awoke to brand new laptop.
Next, it was time to install various utilities. Here is my basic post installation procedure:
Development Environment Tools:
Utilities:
Business:
Communications:
The system runs much much faster.
To be continued...
Labels: Mac OS X
Vonage is raising their rates for the most inexpensive calling plan.
On December 9th, I received an email informing me:
"At Vonage, we're committed to providing exceptional phone service at a great value you can rely on. On December 1, 2008, the price of our Residential Basic 500 Minute Plan increased from $14.99 to $17.991. The new price will be reflected in your February 2009 bill. We're proud that we remain one of the most competitive choices among home phone providers."
When you add the junk fees and taxes, the 14.99 price is actually more than $23 per month. So, this price would push the total well above $26.
For existing customers, the price won't be shown on your February bill (which is actually a bill for January), which means the price will change in January.
I called to cancel and was immediately offered a $4 per month calling plan (@ $.03 per min). I took the $4 plan, but I am probably going to cancel that and switch to Skype ($30 per year) or Unlimited WIFI calling (UMA) on my cell phone ($10 per month).
My rough guesstimate tells me that for each customer that does not cancel, Vonage makes an additional $3 revenue per month (not counting the slightly increased junk fees on the back side). However, for each customer that cancels, Vonage looses $18 (new price). So, for each customer that Vonage looses, it has to retain six customers (or acquire six new ones) at that price to break even.
Meanwhile, the company is still loosing money-- according to the latest 10-Q, Vonage lost $7.8 Million last quarter. I'm guessing that they are trying to push the low end customers to the next more expensive service tier, in spite of the fact that most customers are looking to reduce their expenditures in this economy.
I'll be watching to see if this works because it seems contrary to what little business training I've had -- surprising customers by raising rates in a time of softening demand.
Labels: Tech