ConradDecker.com

Random ramblings of this Jax Beach based software developer


ConradDecker.com is the online playground of, you guessed it, Conrad Decker. He's a small business owner and web developer located in the Jacksonville, FL area.

Phew…I’ve finally cracked the craziness that is installing Zend Studio on a 64 bit linux architecture!

I recently purchased a new computer, a computer that I’ve been so excited to setup and get running in the new office. Unfortunately, it’s taken me much longer then anticipated as I’ve decided to make the jump to running only Linux as my OS. Don’t get me wrong…I’m still planning on running a virtualized Windows, just in case I need it for anything, but I’ve been wanting to make this jump for a little while especially since I spend about 95% of my development time navigating through linux.

I definitely met some struggles along the way, some that I’ll probably document here as I have time, but the most recent struggle that I came across, was installing Zend Studio. I’ve installed Zend Studio on linux before, but I was unaware that there wasn’t a 64bit distribution. In an effort to document my steps in case I need to do this again, and also in hopes of lending a hand to other individuals out there that are having the same problem - I figured I’d blog about it. So without further ado - here are my instructions on how to Install Zend Studio for Eclipse version 6.0.1 on a 64bit Fedora Core 9 machine. For the abridge version - scroll to the bottom of the page.

Before I realized ZS didn’t come with a 64bit version, I downloaded the installer and gave it ago. Only to get the following output.

Preparing to install…
Extracting the JRE from the installer archive…
Unpacking the JRE…
Extracting the installation resources from the installer archive…
Configuring the installer for this system’s environment…

Launching installer…

‘SWING’ UI not supported by VM. Reverting to AWT.
Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)

Stack Trace:
java.lang.UnsatisfiedLinkError: /tmp/install.dir.24722/Linux/resource/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at sun.security.action.LoadLibraryAction.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at sun.awt.NativeLibLoader.loadLibraries(Unknown Source)
at sun.awt.DebugHelper.(Unknown Source)
at java.awt.Component.
(Unknown Source)
at com.zerog.ia.installer.LifeCycleManager.g(DashoA8113)
at com.zerog.ia.installer.LifeCycleManager.h(DashoA8113)
at com.zerog.ia.installer.LifeCycleManager.a(DashoA8113)
at com.zerog.ia.installer.Main.main(DashoA8113)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.zerog.lax.LAX.launch(DashoA8113)
at com.zerog.lax.LAX.main(DashoA8113)
This Application has Unexpectedly Quit: Invocation of this Java Application has caused an InvocationTargetException. This application will now exit. (LAX)

From there…I looked a little further and realized that there was in fact no 64-bit installer. I followed my tried and true method of googling my problem to see if anyone else ran across the same snafu, at which time I found this site. While, it opened my eyes a little bit, it didn’t help in my process much as I realized it was from 2005. Being a paying customer I reached out to the Zend technical support. They informed me that they don’t support ZS on 64bit architectures, but the gentleman was nice enough to try and point me in the right direction. He told me that ZS should be able to run, as long as I have the 32bit libraries installed. I wasn’t overly impressed with their support as they weren’t very helpful, but I did appreciate the pointers.

At this point I was getting a little pissed, why couldn’t this be easier? I knew jumping to Linux was gonna be a pain, but I needed to get this working otherwise the computer was pointless to me. Back on the horse…

A little bit of time went by before I was able to find someone else who was having similar problems. I came across this site, and noticed Josh was getting similar errors - by the way, thanks so much for posting your experience Josh it was definitely helpful. While I was actually taking tiny steps in the right direction, Josh’s solution to the error was to install the ia32-libs which don’t exist for Fedora - so I had to figure out what the equivalent of those were.

More googling led me to this thread on the Fedora Forums. I followed those instructions paying specific attention to the last post regarding editing your “/etc/yum.conf” file and adding “multilib_policy=all”. After following these tips, I was able to install the libXtst.i386 libraries, but I still got errors when I tried to run the Zend Studio installer. Errors about loading shared libraries blah, blah, blah. At this point, it’s obvious to me that this isn’t going to be an easy transition to Linux. However, I didn’t know everything about Windows when I first started either, so I’m attributing all of this to a learning experience :-)

After my most recent error - I hit Google again using this search. That, of course, led me back to a thread on the Fedora Forums. I know it doesn’t look like it’s related because it’s based around getting flash working on a 64bit version of FC9, but don’t leave yet. The last piece of information that I needed came from this post on the thread - where stevea states that the file /usr/lib/libgtk-x11-2.0.so.0 is missing and we’ll need to install the gtk2 libraries by running “yum -y install gtk2.i386″. After doing that I tried running the installer again - and VOILA!! I had Zend Studio for eclipse running on my 64bit version of Fedora Core 9. PHEW!!!

Okay…so where does this leave me on my feelings for my transition to Linux? Well, I’ll be honest…it makes me a little nervous. I am worried that if I move away from windows totally, that I may run into some issues along the way with Linux that I will have to figure out, and may take some time for me to nail down. However, I must also say that I’ve been using Fedora Core since version 3 and I’ve really liked the progression. As I become more and more engrained in Linux during my daily work - I know I’ll be pumped to finally escape the expensive grasp that is Microsoft. For those of you that are looking to make the jump - I say go for it, as long as you’re up for a learning experience. Overall though, Linux probably isn’t quite ready for the casual desktop user…YET.

After all of that talking, here’s my abridged version for those of you trying to install Zend Studio for Eclipse on a 64bit Fedora Core 9 installation.

  1. Install Fedora Core
  2. Download the Zend Studio installer from the Zend.com website.
  3. Make sure that you’ve got all of the necessary libraries installed.
    • Modify /etc/yum.conf by adding multilib_policy=all to the bottom of the configuration settings, but above the repository listings.
    • Install the libXtst libraries by running yum install libXtst.i386
    • Install the gtk2 libraries by running yum -y install gtk2.i386
  4. Install Zend Studio by running ./ZendStudioForEclipse-6_0_1.bin

And that should be it, you should get a gui for the installer that will walk you through the installation process. I hope this helps anyone that reads it.


New iPhone

May 14th, 2008

Yup…I did it, I broke down and got a new iPhone. While I’m very excited about it, I’m hoping it is all it’s cracked up to be. Yes…this was my first trip to the local Apple store, and yes my friends made fun of me for it.

Overall I’ve been pretty impressed with this little guy. The first thing that I noticed that I really enjoyed was the interface. So many of the small little touches really make it super easy to use. As I’ve started giving more thought to usability in everything I do, I realize that Apple is by far one of the best in the business. They’ve got some amazingly talented UI guys. I’ve only hit one point where I’ve thought to myself, there’s gotta be an easier way to do this - that was when I was going to dial a person in my contact list. Currently there’s no easy way to do a search for a contact, you have to manually scroll to a name and click it. I may be missing something here, but my old Treo was pretty simple when it came to that.

I’m looking forward to playing with it some more over the next couple of weeks, and I’m really interested to see what happens when we’re able to install third party apps. My biggest wish is SyncML capability with push PIM & E-mail functionality. I’ve successfully been able to setup my own Funambol server, and sync my contacts that way (yes - a quick jailbreak allowed me to install the Funambol iPhone client, but it’s not nearly as robust as the Treo Funambol client that I was using before). I think it’s a result of the underlying syncevolution package - but I’m sure there will be plenty of solutions when we’ve got access to install our own applications.

I will certainly be sure to post follow-ups on my progress with the phone as well as any compliments or issues I come across.

Nice job Apple - so far, your phone is pretty sweet!

P.S. - After jailbreaking my phone to see what it was all about, I got to play with some of the inners of the phone. I found it pretty cool that I could SSH into my phone and work my way around. For those that haven’t tried it, and have that little geek in them - JUST DO IT, you can always restore back! :-D


I’m going naked for a day!

March 31st, 2008

Okay…not me personally, but ConradDecker.com will be showing off it’s <body> for 24 hours.

On April 9th, 2008 ConradDecker.com will be participating in CSS Naked Day. The soul purpose of this day of nekkidness is to promote, and help spread the word about, web standards.

CSS Naked day originated back in 2006 when Dustin Diaz thought it could be a fun way to get the word out. It has since become an annual event. I haven’t seen as much buzz about it this year, but I did come across this article on xhtml.com. So, in an effort to support the standards movement I’ll be naked as well.

There are some really good articles out there about why utilizing web standards is the way to go, so I’m not going to rehash all of that. I will tell you though, that as I’ve become more and more involved with moving all of my sites to be XHTML compliant I’ve seen how beneficial it truly is.

I’m sure there are those individuals out there that are thinking that this is totally going to confuse what few visitors that I have to this site, but what better way to get the word out then by having them ask what’s going on?

So, I’m going naked for a day - who’s with me?


So…I started a write up on CodeIgniter (my favorite PHP Framework) earlier this week, but I haven’t gotten around to finishing it just yet. I’ll look to get that pushed out soon. Yesterday though, I had a run in with a rather frustrating web accessibility issue that I thought I’d share. Not necessarily because it’s uber important, but more because it’s something that frustrated me, and that I’ll surely be keeping an eye on now. :-)

As a web developer, and a pretty recent advocate of the standards movement, I find myself giving more and more thought to web accessibility over various mediums. As I build a site, I’m always thinking about who could be visiting the site, and how they’re viewing it. My two most common thoughts are - what will this look like on a mobile device, and how will this look to a search engine. There are obviously plenty more to consider (screen readers, low resolution monitors, etc) but I’ll save those for another conversation.

A back story as always…I’ve been contemplating switching from my Palm Treo to the iPhone for a little time now. While I really feel like the iPhone kind of goes against my open source beliefs, I realize that it would be incredibly helpful in making me more efficient. Until I can get Android up and running on a phone, it’s probably the most cutting edge phone out there. But I digress.

So, I’m driving home after work yesterday, and I wanted to check with Verizon to see when my contract expires. If I’m gonna make the switch to the iPhone, I’d rather not pay the contract cancellation fee. I’m sitting in traffic, so I pull out my Treo and fire up the browser to look up their number. I realize it’s a little slow to load, but that’s no big deal. When the site finally comes up, I’m kind of excited to see the “skip to content” link at the top of the page. Sweet, maybe this isn’t going to be a painful process. I’m not gonna have to trek through a ton of navigation images to get to the information I need. I find the link to the contact us page, and click on it. After another short wait, the contact us page comes up. Again…I click on the “skip to content” link and realize they’re asking me for my zip code. To begin with, this is something that always frustrates me with the Verizon website. WTF? I just want a way to call you - what on earth do you need my zip code for? Oh well, lucky for me I’m pretty comfortable on the Treo keyboard. I type in my zip code, and I start navigating to find the submit button. hmm…I don’t see it. I look around for a couple minutes and it’s nowhere to be found. What the…I can’t give you my zip code, which in turn means I can’t get a number to call you. All because your website wasn’t prepared for a user like me? I think that’s kind of shoddy. As much as you guys charge me for my phone bill each month, you’d figure you’d have someone somewhere QA’ing your website and making sure that everyone can get to the information they need. Verizon Wireless - I think you’ve failed.

Point of the story…don’t always assume that everyone will have a full featured browser when they’re looking at your site. More and more people are turning to their cellphones to find information online. If they can’t get the information they want, it’s likely that they’ll get pretty frustrated.

I do realize that this could be a plot to keep me from ever switching my service to another provider, but I’d like to think it’s just an oversight on Verizon’s part.


So…this is my first real post for 2008. Thankfully, it’s technology related. As I mentioned, I’m hoping to begin posting on this blog more regularly. I’ve even created a recurring event in my calendar to try and set aside some time to do so. On to my posting…

I’ve come across the Google Apps website on a couple occasions before, but I haven’t had the time to sit down and really see what it’s all about. I knew that it provided users with a way to utilize the awesome applications that Google puts out on a more customized basis - specifically for your organization. But that’s about as far as I had gotten. Until the other day.

A little background…I’ve been giving some real thought to improving my companies’ collaboration efforts, and have been doing some research on different options. Our current solution is just too flaky, and piece mealed together. We currently host our e-mail on a dedicated server off site. Some use IMAP to connect to the server, others use POP. On top of that we don’t really have a calendaring solution in place. Some of us are using Google Calendar, others are using .mac for their iCals, etc. In the IM realm, we all have our personal IM accounts that we use to communicate when we’re online, but none of this is centralized, or personalized to the company. With all of these different tools, it’s difficult to find contact information for any one person. Needless to say, that makes planning meetings and staying on top of e-mails when we’re out of the office a little difficult. Which, as we continue to grow, I find myself needing to do more and more. What do we do?

There are plenty of options out there for an organization to try and centralize these communication channels. As a small business, we really don’t have the money to throw at this problem so some of the larger scale options are out of the question. After doing some research, I came across what I thought was a good option. I contemplated the idea of setting up an internal server and managing an open source application called Funambol. This really seemed to be the most viable option as it provided truly centralized collaboration efforts, and even gave us some cool features like push email, and over the air sync. Not to mention, it’s open source so we had the ability to customize it if we needed. While I didn’t really like the idea of managing another piece of hardware, I thought it was probably our best bet.

As I was playing around with Funambol last week, I remembered coming across the Google Apps site and figured maybe I’d take another look and see what it was all about. Perhaps it provided a solution that could be pretty simple. I was right! The more and more I looked at the site, and saw what all it had to offer, the more and more excited I got that I might have found an answer for us. Google Apps provides your organization with a truly centralized suite of web applications that focus mainly around collaboration between employees. The initial offering provides organizations with semi-customizable, hosted versions of their GMail(e-mail), Google Calendar(calendar), and Google Talk(chat) applications. On top of that, they provide organizations with access to Google Docs for file collaboration, Google Sites for creating team or project pages, and iGoogle for customizable dashboards for each user - one thing we’ve been looking at developing in-house.

I’m not ruling Funambol out just yet, as I want to make sure that Google Apps really meets all of our needs. However, my initial findings are looking very promising. I think I may pilot the standard edition on cdev technologies and see how it all works out. With the upcoming launch of my new technology partnership, I’m thinking we may start the company with these tools in place. Assuming everything goes as planned with the pilot.

Google never ceases to amaze me. The people that they have working over there are brilliant.

I’ll be sure to chronicle my findings as I play some more with Google Apps. I’m sure others will be interested to hear about the process.

Till next time!