Friday, November 05, 2010

Installing GWT Developer Plugin in Firefox 3.6 for Linux

If you are developing GWT web apps on a Linux system with Firefox 3.6+, then you might have been prompted to install the GWT Developer Plugin when trying to debug your app on Firefox (see image below).


The problem happens when you try to install the plugin and restart Firefox - only to be prompted to re-install the GWT Developer Plugin again.

It seems like the latest Plugin on Firefox 3.6 requires the libnspr4.so.0d library and Mozilla Firefox 3.6+ only provides libnspr4.so. To solve this problem, simply locate the library and create a sym-link. For example, as root, execute the command:

sudo ln -s /usr/lib64/libnspr4.so /usr/lib64/libnspr4.so.0d

Then restart Firefox, install the GWT Developer Plugin, and then restart Firefox once more. You should now be able to debug your GWT web app!

Note that the location of the libnspr4.so library differs in each Linux distro. But here are a few common folders where it might be

/lib/
/lib64/
/usr/lib/
/usr/lib64/

If you are unable to locate the library in one of the directories above, you can try finding it by executing on the command:

locate libnspr4.so

UPDATE: The library should be provided in mozilla-nspr-32bit or mozilla-nspr.

Hope that helps some of you out! Leave me a comme
nt if you have any questions.


Wednesday, March 10, 2010

Setting Up SmartGWT 2.1 and GWT 2.0 with Eclipse 3.5

Requirements:
Setting Up Eclipse Environment:
  1. First, install Java and Eclipse like you normally would, setting up all the necessary environments (e.g. CLASSPATH, JAVA_HOME, etc).
  2. Install the GWT Eclipse plugin by going to Help > Install New Software...
  3. Press the Add... button and enter the following URL: http://dl.google.com/eclipse/plugin/3.5
  4. Check Google Plugin for Eclipse 3.5 and Google Web Toolkit SDK 2.0.3 and press the Finish button.
  5. Restart Eclipse after installing the GWT Eclipse plugin.
Create a GWT Web Application Project:
  1. Go to File > New > Web Application Project
  2. Enter the Project name: HelloSmartGWT
  3. Enter the Package: com.puguasoft.examples.smartgwt
  4. Be sure Use Goolge Web Toolkit is checked.
  5. Be sure Use Google App Engine is unchecked.
  6. Press the Finish button.
Setup SmartGWT:
  1. In your HelloSmartGWT project, create a new folder lib.
  2. Unzip smartgwt-2.1.zip and place both the smartgwt.jar and smartgwt-skins.jar in the lib folder you just created.
  3. Right-click on the HelloSmartGWT project and go to Properties > Java Build Path > Libraries tab and add both the smartgwt.jar and smartgwt-skins.jar to the build path.
  4. Open the com.puguasoft.examples.smartgwt.client.HelloSmartGWT.java class and replace the entire onModuleLoad() with the following:


public void onModuleLoad() {
IButton button = new IButton("Click Me");
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
SC.say("Hello SmartGWT!");
}
});
button.draw();
}
  1. Open the com.puguasoft.examples.smartgwt.HelloSmartGWT.gwt.xml file and delete or comment-out the following:
        <inherits name='com.google.gwt.user.theme.standard.Standard'/>
  1. In the same XML file, add the following inherits elements:
        <inherits name='com.smartgwt.SmartGwt' />
<inherits name='com.smartclient.theme.silverwave.SilverWave' />
  1. Open the war/HelloSmartGWT.html file and add the following between the <head> section and before the hellosmartgwt.nocache.js script:
        <script> var isomorphicDir = "hellosmartgwt/sc/"; </script> 



Compile and Deploy:
  1. Right-click on the HelloSmartGWT project and select Google > GWT Compile.
  2. Press Compile in the dialog.
  3. Pay attention to the console to make sure there are no compile errors.
  4. Now deploy the app by right-clicking on the HelloSmartGWT project and select Debug As > Web Application
  5. After the embedded web server starts, point your browser to the the URL: http://127.0.0.1:8888/HelloSmartGWT.html?gwt.codesvr=127.0.0.1:9997
  6. You should see the following page:

Wednesday, July 22, 2009

Setting up Eclipse and Maven2 for SmartGWT

There is a great HOWTO for setting up Eclipse and Maven2 for SmartGWT:

http://smartgwt.rorschach.de/index.php5/Setting_up_Eclipse_%26_Maven2

[update] The original link seems to be broken, you can try to use the following:


I have also included the instructions below for future reference:


Verifying Maven Configuration

Maven needs to be configured for the GWT-Maven plugin to work correctly, so navigate to your HOME - Folder and make sure there is a valid Maven configuration file. If your username is john, then these would be valid configuration file locations:

   Linux → /home/john/.m2/settings.xml
MacOS X → /Users/john/.m2/settings.xml
Windows XP → C:\Documents and Settings\john\.m2\settings.xml

If you can't find .m2/settings.xml, then create it with the following content:

   <settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<localRepository>${user.home}/.m2/repository</localRepository>
</settings>

(Check out Maven Settings Reference for detailed information on configuring Maven.)

Setting up Eclipse IDE

Download Eclipse IDE for Java EE Developers at Eclipse Downloads, install and launch.

Setting up Maven Integration

  • Navigate to Help > Software Updates and select the Available Software Tab. Click Add Site... and enter the URL below:
     http://m2eclipse.sonatype.org/update
  • Click OK
  • Expand the m2eclipse.sonatype.org/update node and check Maven Integration:
  • Click Install...
  • Click Next, accept the license and click Finish
  • Click Yes when you are asked if you want to restart Eclipse

Creating the Project

  • Navigate to File > New > Project...
  • Select Maven > Maven Project and click Next twice
  • If you've already installed the GWT-Maven Archetype, you can skip the next step
  • Click Add Archetype..., enter the values below and click OK

    Archetype Group Id: com.totsp.gwt
Archetype Artifact Id: maven-googlewebtoolkit2-archetype
Archetype Version: 1.0.3
Repository URL: http://gwt-maven.googlecode.com/svn/trunk/mavenrepo

  • Select Archetype maven-googlewebtoolkit2-archetype and click Next
  • Provide your Maven - Properties and click Finish. Example values:

    Group Id: com.acme
Artifact Id: helloworld
Version: 0.0.1-SNAPSHOT
Package: com.acme.helloworld

  • Open your pom.xml in the Maven POM Editor by double-clicking it
  • Select the Repositories Tab
  • Click Add... and provide the values below * :

    Id: smartclient
Name: smartclient.com
URL: http://www.smartclient.com/maven2/


  • Save your pom.xml and check the Maven Console output for errors
  • Select the Dependencies Tab
  • Click Add... and provide the values below:

    Group Id: com.smartgwt
Artifact Id: smartgwt
Version: 1.0b2-SNAPSHOT

  • Save your pom.xml and check the Maven Console output for errors

Modifying the Application

  • Modify the generated Application.gwt.xml (add the line in bold)

  <module>
<inherits name="'com.google.gwt.user.User'">
<inherits name="'com.google.gwt.user.theme.standard.Standard'">
<inherits name="'com.smartgwt.SmartGwt'"></inherits>
<entry-point class="'com.acme.helloworld.client.Application'">
<stylesheet src="'Application.css'"></stylesheet>
</entry-point>
</inherits>
</inherits>
</module>
  • Modify the generated Application.java (replace all content)

  package com.acme.helloworld.client;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.util.SC;

public class Application implements EntryPoint {
public void onModuleLoad() { SC.say("Hello SmartGWT"); }
}
  • Modify the generated Application.css (remove all content)

You need to remove all generated CSS - Styles because they would break the SmartGWT layout.
You can add your own Styles if they don't conflict with SmartGWT, of course.

Running the Application

  • Right-click your pom.xml and select Run As > Maven build...
  • Enter the value below into the Textfield labeled Goal:

   gwt:gwt
  • Click Run to start your Application in the GWT Shell

SVN Snapshots

If you want to develop against the latest snapshot from SVN use the repository and artifact properties below:

  • Repository

   Id: smartgwtsnap
Name: smartgwtsnap.rorschach.de
URL: http://smartgwtsnap.rorschach.de
  • Artifact

   Group Id: com.smartgwt
Artifact Id: smartgwt
Version: 1.0b3-SNAPSHOT

More Goals

Appending -U tells Maven to check for updates of -SNAPSHOT dependencies.

All Goals for GWT-Maven can be found here.

  • clean → Purge working directory (target)
  • gwt:gwt → Build Application, Run in Hosted Mode
  • gwt:test → Build Application, Run GWT-Tests
  • javadoc:javadoc → Generate API-Documentation (→ target/site/apidocs)
  • package → Build Application, Run Non-GWT-Tests, Run GWT-Tests, Build WAR-Archive
  • test → Build Application, Run Non-GWT-Tests, Run GWT-Tests

List of Goals Example

Maven supports a comma or space separated list of Goals:


   clean package javadoc:javadoc -U
  • Checks for updates of -SNAPSHOT dependencies (-U)
  • Purges the working directory (clean)
  • Builds the Application (package)
  • Runs the Non-GWT-Tests (package)
  • Runs the GWT-Tests (package)
  • Builds the WAR-Archive (package)
  • Generates the API-Documentation (javadoc:javadoc)

Troubleshooting

Problems loading gwt-dev libraries


   Can't load library: [...]/.m2/repository/com/google/gwt/gwt-dev/1.5.3/[...] 
  • Problem

The GWT-Maven plugin didn't pick up your local Maven repository location when it tried to extract the GWT development libraries. The libraries probably have been extracted to a folder named ${settings.localRepository} inside your workspace. You can delete this folder, of course.

  • (Quick) Solution

Verify your Maven configuration, delete the folder com/google/gwt/gwt-dev inside your local Maven repository and retry.

Problems loading libxpcom / libstdc++


   ** Unable to load Mozilla for hosted mode **
java.lang.UnsatisfiedLinkError: [...]/libxpcom.so: libstdc++.so.5: cannot open shared object file: No such file or directory
  • Problem

Version 5 of libstdc++ isn't installed.

  • Solution

Install the package libstdc++5 and retry. If you're running a Debian-based distribution like Ubuntu use apt-get:

   sudo apt-get install libstdc++5

Warning: Locking assertion failure

   Locking assertion failure.  Backtrace:  #0 [...] 
  • Problem

There is some sort of problem with how the JRE was built.

  • Solution

Can be found here.

   sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-1.5.0-sun/jre/lib/i386/xawt/libmawt.so 

and / or

   sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun/jre/lib/i386/xawt/libmawt.so

NoClassDefFoundError: GWTShell

   java.lang.NoClassDefFoundError: com/google/gwt/dev/GWTShell
Caused by: java.lang.ClassNotFoundException: com.google.gwt.dev.GWTShell [...]
Could not find the main class: com.google.gwt.dev.GWTShell. Program will exit.
  • Problem

There is a problem with the path to your local Maven repository.

  • Solution

Make sure the path to your local Maven repository doesn't contain any non-US-ASCII characters, e.g. an Umlaut.

Thursday, December 25, 2008

JIRA Buddy 1.0.1 Released

The JiraBuddy Team over at PuguaSoft.com has just released the latest version of JiraBuddy 1.0.1. With this release, they added support for JIRA servers with default ports (80), added timeouts for webservice invokations, added more logging, and other bug fixes and enhancements. You can find out more at the official JIRA Buddy website at www.jirabuddy.com.

Merry Christmas and Happy Holidays!!!

Friday, December 05, 2008

JiraBuddy Version 1.0.0 Release

I'm proud to announce version 1.0.0 of the JiraBuddy Eclipse plugin for JIRA. JiraBuddy has gone into hibernation since it's initial release over two years ago. In the past few months, I've taken some time outside work and my normal life to update JiraBuddy to be compatible with Eclipse 3.4/Ganymede and fixing many bugs. Some of the new features include hyper-links inside the Hover Info feature, better server session and connection handling, and an updated preference page. To see a more complete list of changes since the last release, check out the TODO page on the official JiraBuddy website at www.jirabuddy.com.

I hope you enjoy JiraBuddy and find it useful. If you have any suggestions on how to make JiraBuddy better, or to report a bug, please send an email to development@jirabuddy.com.

Thanks,
~Chris

Friday, October 24, 2008

Sharing Java Applet Sessions in Firefox

There is a known problem in JEP (Java Embedding Plugin) for Firefox in which new sessions (or no sessions at all) are used for every new Java applet request to a servlet. This can be problematic for applets that requests data or URL from a servlet requiring authentication or a login. To get around this problem, you can pass in the current HTLM document's cookie as a Java applet parameter, and then use the cookie in the HttpServletRequest's Cookie request parameter.

In your HTML applet code, just add the document's cookie as a parameter. (Note that I'm writing the HTML applet code in JavaScript to dynamically get the document's cookie.)

<script language="JavaScript" type="text/javascript">
<!--
   document.write("<embed");
   document.write("name='MyApplet'");
   document.write("type='application/x-java-applet;version=1.6'");
   document.write("code='org/puguasoft/examples/MyApplet.class'");
   document.write("codebase='/applets/'");
   document.write("browserCookie='" + document.cookie + "'");
   document.write("</embed>");
-->
</script>
Then in your servlet, use the browserCookie parameter value as the Cookie property in the HttpServletRequest.
import javax.swing.JApplet;
import java.net.URL;
import java.net.URLConnection;

public class MyApplet extends JApplet{

   public void doIt(URL url){
      URLConnection urlConnection = url.openConnection();
      String cookie = getParameter("browserCookie");
      urlConn.setRequestProperty("Cookie", cookie);
      urlConnection.connect();

      // Now you can do what you need with the URLConnection
      // (e.g. open up an InputStream to read the data)
      // using the same cookie session.


   }
}

For more information check out these postings:


Friday, October 10, 2008

Detecting Browser Java Version Using Javascript

Trying to detect a client's browser for the installed Java plugin version and whether or not it's installed, can be a real pain. Luckily,Eric Gerds has created a JavaScript library to do just that. The JavaScript can detect the version of the Java plugin, if any, on different browsers including FireFox, Internet Explorer, Safari, and Opera. In addtion, his script can also detect QuickTime, Flash, Windows Media Player, and many other browser plugins.

Check out the PluginDetect JavaScript: http://www.pinlady.net/PluginDetect/

Tuesday, August 26, 2008

Automount External USB Hard Drive in SuSE 10.3

To automount an external USB hdd in OpenSuSE 10.3 and up, just follow these simple instructions:

First, create a new directory to mount the external HDD:
mkdir /media/usb-hdd
Next, modify /ets/fstab to include a new label entry for the external HDD. You can label it anything you want without spaces.
LABEL=YOUR-HDD-LABEL /media/usb-hdd ext3 auto,nofail,defaults 1 2
Finally, create a script in /etc/udev/rules.d/ called 99-mount.rules containing the following command:
#run mount -a everytime a block device is added/removed
SUBSYSTEM=="block", run+="/bin/mount -a"
Now, whenever you boot into OpenSuSE, the external USB hdd labeled YOUR-HDD-LABEL will be automatically mounted.

Monday, August 25, 2008

Mounting USF/USF2 BSD Filesystem in Ubuntu Linux

Ubuntu only supports read-only of BSD filesystems (USF/USF2). To mount the disk just issue the command:
mount -r -t ufs -o ufstype=44bsd /dev/yourdevice /mnt/destination


Thursday, July 03, 2008

Getting a List of Installed System Fonts in Java

Previously, you could get a list of fonts installed in the running system by using using the Java AWT Toolkit:
Toolkit tk = Toolkit.getDefaultToolkit();
String[] fontNames = tk.getFontList();
However, the Toolkit.getDefaultToolkit() method has been deprecated in favor of the java.awt.GraphicsEnvironment. The GraphicsEnvironment class describes the collection of java.awt.GraphicsDevice objects and java.awt.Font objects available to a Java application on a particular platform.

To get a list of font names installed on the system, just use the the getLocalGraphicsEnvironment() method:
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fontnames = ge.getAvailableFontFamilyNames();
There are many other usefull methods in GraphicsEnvironment class, for more information, take a look at the API.

Wednesday, April 16, 2008

Update

WOW! It's been a well over a year since I last posted on my blog. I'd like think it's because I've been busy, but it's mostly a combination of being busy, being lazy, and not finishing what I started.

Well, based on a suggestion from my former CTO, it would be good for my career to get back into blogging. However, I'll be changing what I'll be posting. Instead of concentrating about my life and personal stuff, I'll be blogging more about technology and programming problems in hopes of helping out other people who have run into the same problem and are looking for a solution. That's not to say I won't be blogging about my life completely, I'll just be blogging about the cool and interesting events.

Alot has happened in the past year-and-a-half, so here's a quick run down:
  • Got a new job at Integrated Services, Inc. in October 2006 to take on a more senior role and work on some cool technologies like Eclipse RCP and SWT.
  • Went on a bunch of hiking and camping trips (be sure to check out my gallery).
  • Went on a Summer vacation to Guam after seven long years. Had some of the best times of my life while visiting some relatives and old childhood friends.
  • Got a new job at ARRIS as a Software Application Engineer in April 2008. I felt like I've done and learned as much as I can at ISI. "If you find yourself the best person in the band, it's time to find a new band." - Pat Metheny
That's where I stand right now, starting the new job and getting ready for the Summer. Oh, I forgot to mention, I was able to partially tear my MCL while skiing this pass Winter. My knee still hurts and it will be another couple weeks until I'll be able to start doing anything intensive. During my recovery, I'll have alot more time on my hand, so be sure to check back for updates to my blog!

Tuesday, January 16, 2007

Snow Storm


The past week saw cold spells in the NW causing temperatures to drop at or below freezing. Where I live and work in the Beaverton/Tigard area, temperatures got as low as the teens (Fahrenheit) at night; the day didn't get much warmer. The one good thing about the cold spell was that it was pretty sunny during the day with very little wind.

That all changed today. Around 5:00 AM, the Portland-metro area woke up to a blanket of white snow. It snowed pretty heavily for most of the day and afternoon - some places saw around 3-5" of snow. It was the most snow I saw in the metro area since I moved here 6 years ago.

The roads were pretty bad, so I decided to skip work and stay home (I doubt my Z would have made it through all that snow). For the better part of the day, ODOT even required all vehicles to be equipped with chains or traction tires. All schools in Washington Co. were closed, along with other schools in the surrounding area. There were countless fender-benders across the area, many road closures, abandoned automobiles, and minor injuries caused by this snow storm. The worst part of all this will be when the snow starts to melt in the next day, but then refreeze at night, causing dangerous black ice.

You can take a look at the pictures I took around my apartment in my album.

Sunday, December 24, 2006

OpenSUSE 10.2 Overview - Part 1

The following is a summary of my experience with the latest versions of OpenSUSE, 10.2, which was released on December 7, 2006. I'm splitting my "review" into two parts - this first part focuses on the installation and initial startup and usability. Then, sometime in the future after I've actually spent some time using the new OS, I plan on writing a follow-up of my experience.

MEDIUMS

Users have two options of obtaining OpenSUSE 10.2 - via download or purchasing the boxed retail version for $59.95.

The download version comes in five CDs or one DVD. In addition to the installation discs, there are two optional discs available, one for language addons and the other for non-OSS software.

The retail version is identical to the download but with a nice user manual, 90 days of installation support, and security patches and bug fixes for up to 2 years. For less than $59.95, this is a great deal and alternative to other more expensive OSes.

For this installation and overview, Iĺl be using the download version.

SETUP

The following computer was used as my test system:
  • MSI MS-6712
  • Athlon XP 2000+
  • GeForce 2 MX400
  • 512 MB PC 2100 DDR

INSTALLATION

Like previous versions of SuSE/openSUSE, installation was a breeze. It started off with the license agreement and then medium verification to ensure the ISOs you downloaded arent't corrupted. Then, YAST2 (Yet Another Setup Tool) gave the option to specify any add-on products, such as non-OSS software and additional language packs. You then move onto timezone selection and finally the desktop selection before the actual installation begins.

In the desktop selection, you have the option of selecting Gnome, KDE, or Other (text mode or minimal GUI). Although you can only select a default desktop at this screen, you are able to add other desktop environment when adding software packages. Something new in KDE is Kickoff, a new usability and productivity-centric KDE Menu designed by openSUSE.

Just before installation begins, YAST2 will present to a default selection of software to install and a proposed harddrive partition - both of which can be modified to your liking. One thing different in 10.2 is that the default partition type, which was previously resierFS, is now ext3. I'm not sure why they decided to go this route, but since it's the default, I left it as is. I made a few software package additions and went on with the installation.

After about 45 minutes of installing the packages, YAST2 went on to the basic configuration of the system - root password, hostname and network setup, etc. - nothing really special here. One thing I did like, though, was the ability to disable IPv6 right there in the network configuration - now you no longer have to dig deep into configuration files to disable it. After adding users, you're given the option to configure your hardware - again, nothing really special here.

After all the configuration, the system will load into the login screen.


INITIAL USE

I logged in using KDE, which was at version 3.5.5 "release 45". The newest feature I noticed was SuSE's Kickoff menu in place of the default KDE "start/application" menu.

The Kickoff menu is pretty intuitive and setup in a nice logical way. The menu is basically divided into five tabs, each with applications or sub categories that best fits the main tab category. The way the sub-menus work is Mac OS-like, meaning clicking on a sub-category will move the menu to the right to another menu, or back. Although it's an obvious rip from Mac OS X, I like it.

Something I noticed right away with OpenSUSE, as with pretty much all other Linux distros, is the ugly default fonts especially when browsing the Internet. Even with anti-aliasing enabled, fonts looked rough and jagged. The reason is because of the lack of good font support for Linux.

To solve this problem, I had to install the Microsoft True Type core font via YAST2 and its Online Update feature. In order to do that, though, I had to configure the installation source and online update to point to a mirror since, by default, no mirror is selected, which I thought was weird. After agreeing to the license and installing the MS fonts, I had to log out of KDE and log back in to notice the changes - the new fonts looked MUCH better.

The other changes to KDE are not really SuSE-specific, ergo, I won´t go over the new features since there are many reviews already on the Internet.

Something I won´t be able to test is Compiz because of my crappy video card. If I upgrade to a compatible video card, I´ll be sure to get back with my impressions of Compiz.

SUMMARY

The download and installation of the OS was a breeze, I didn´t have any problems whatsoever. My initial login and use of KDE was nice, I really like the KickOff menu, and overall speed seemed pretty good.

That concludes my initial installation and overview of OpenSUSE 10.2. In the next parts of my review, Iĺl briefly go over the new Gnome features in OpenSUSE, YAST2, and other new features I encounter in the next few weeks. So be sure to check back soon!

Tuesday, November 28, 2006

It's Been a While...

Wow! So much has happened since my last post on Labor Day! I've been so busy that I haven't had much time to update my blog, I did manage to post new pictures in my album, though.

Like I mentioned before, a lot has happened in the past few months - a new job, new apartment, new friends, and of course, lots of partying! I'll be filling in the details of what has happened in the next few days.

I have lots of stuff planned in the upcoming weeks including a redesigned site for PuguaSoft.com, continuation of existing projects, and the creation new projects. It'll be real hectic, especially with the holidays coming up, but that's the way I live!

Be sure to check back soon.

Sunday, September 17, 2006

Labor Day Week

Wow, and what a week it was!

It all started on Sunday, the 3rd, where I met up with an old college friend visiting from D.C. We then headed to Vancouver, WA. to celebreate Labor Day - Guam Fiesta style! It was held at a farm where people from all over the state (both Washington and Oregon) came together, brought in their favorite Island dish, socialzied, and of course, danced the cha-cha! It was great, the people were great, and the food was AWSOME! I haven't eaten such good Island food in years - I was stuffed!

After the Guam Fiesta, we headed East to the Columbia Gorge where we watched the sunset - it was beautiful site (and the company was great too =).

We headed back after sunset and met with another friend to play cosmic bowling. It was my first time going cosmic bowling - it was different, but really nothing special. We had a lot of fun, though, and that's what counts. It has been a while since I last bowled, but I think I did pretty well - I'm still working on my spinning/curving bowl. The other ladies did pretty good too.

Later that night, we met up with my other friends to karaoke! We all had a great time, but we didn't stay too long, because we had to wake up early for the next day's adventure.

For Labor Day, we went on a day hike at Silver Falls, located East of Salem. The falls were nice, but it wasn't as runny as it was during Spring (you can see it in my other pics from the last time I went to Silver Falls). What made the trip special, though, was the company - I had such a wonderful time there with some of my closest friends.

You can check out the pictures in my album.

Wednesday, August 02, 2006

Olallie Lake and Potato Butte

Over the weekend, my buddies and I went backpacking around the Olallie Lake area and camped for a night on top of Potato Butte.

Even though we didn't hike for many miles, it was tough because of the steep trails we had to take to get to the top of the Butte, which was 5200 ft. high. It got even tougher the next day when we went up another mountain (forgot the name), which was easily 6000 plus ft. high. It was a tough climb but was definitely worth it - the view was amazing!

I posted pics from our adventure in my album.

Sunday, July 23, 2006

Redesigned PuguaSoft Site (Again)!

You probably made it to my blog space via my project site - PuguaSoft.com. So you probably already noticed the whole new redesigned site. I didn't like the look and feel of the skins provided by the old site running on MediaWiki so I decided to switch to Joomla! Not only does it look much better, but there are TONS more features in Joomla! that MediaWiki doesn't have. Joomla! is also alot more extensible. So don't be susprised if you notice new and cool things being added to PuguaSoft in the coming future.

Saturday, July 15, 2006

Updated Site and Photo Album

If you haven't already noticed, PuguaSoft (finally) has a (decent) web site to call home. The main design and layout is there, powered by MediaWiki, but there's still improvements to be made. So expect some changes in the coming future.

I've also updated my photo album (FINALLY)! It's been almost a year since I last posted pictures about some of the stuff that I've done. Alot has happened the past year, so be sure to check back when I post some more new pics.

Friday, July 07, 2006

PuguaSoft Projects Go Live

Wow, it's been a long time since I last posted something up here. Well, there's a copule good reason why.

First, my parents came up from Cali to vist me for a while. A couple cousins and relatives also flew from Guam and was in the area for a while. So I've been busy spending time with the family, going out, and traveling. We spent a few days up in Seattle and Vancouver, B.C.. It was great - B.C. is beautiful, and the womem there are even more gorgeous! I have lots of pictures and even some video that I'll try to post up whenever I have some free time (and that will be some time).

The other reason why I've haven't posted in a while is because I've been busy working on a couple projects for PuguaSoft. The first two projects released under PuguaSoft are targeted at other software developers and programmers.

The PuguaSoft Commons Project is a collection of open source Java libraries that are used (and will be used) by other PuguaSoft projects and products. The Commons currently consist of the Net, Security, and Utils packages, each of which contains various functions for their respective fields.

My second project (it's actually the first one, but I split the Commons into a separate project), is the JiraBuddy project. It's a Jira plug-in for the Eclipse IDE. Unlike current Jira plug-ins out there, I'm not trying to replecate the whole Jira application inside Eclipse. Rather, I'm adding a bunch of new, cool, and convenient utilites and functions for developers using both Eclipse and Jira - one of which is the Hover feature. The Hover feature enables developers to add Jira keys/issues in Java code and then, if they place their mouse over the Jira key/issue, the summary of the issue will be displayed in a hover textbox. Cool!

There are a couple more features I'd like to add to the JiraBuddy plug-in, but I could always use more ideas. If there's anything you want added, removed, or improved, just send an email to development@jirabuddy.puguasoft.com

Friday, April 07, 2006

Mt. Bachelor

It was sometime in the middle of last December when I put a pair of skis and went down the slopes of Mt. Bachelor for the first time. I fell and tubmled down the trails for the better part of the day. Although I really sucked, I have to say I was way better at skiing the first time out than I was at snowboarding.

Now, four months later and several trips to Willamette Pass, I've come to be a well-seasoned and experienced skier. I've conquered Willamette Pass and most of it's trails, including the black diamonds. The only trail I pussed out on was RTS (Real Tough Stuff) - maybe next season.

Not only have I've drastically improved in skiing, but I've also got into the sport of snow-blading. Snow-blades are basically shorter, wider skis. They allow me to perform tricks easier and make sharper turns. With the blades, I can also go off jumps and pull off tricks easier. I can't do anything really amazing like 360s or backflips (yet), but I'm improving - maybe next season.

So last Saturday, on April Fool's Day, I returned to the mountain that kicked my ass the first time 'round. This time, I came prepared and ready to return the favor. I headed back to Mt. Bachelor with a few buddies, my snow-blades, and my determination. All I have to say was - we ROCKED!

We cruised throughout the mountain and most of the trails. It didn't matter if it was a blue or black diamond trail - Northwest Express, Outback, I-5 - we rocked 'em all! Even as a rookie skier, I have to say that I impressed even myself on how much I improved in the last few months. Not only did we fly through the trails, we also played around the terrain park going on some jumps, catching air, and even heading down the half-pipe! Of course, I didn't do anything crazy on the jumps or half-pipe - maybe next season.

It's Spring now - the sun is shining and the ice is melting. It was a season filled with falls, bruises, a badly sprained hand, and lots of soreness - but it was all worth it. I had so much fun carving, catching air, and going through the woods with my friends and co-workers. Now, with my rookie season under my belt, I'll have to wait until the snow falls again before I return to the slopes. Until then...it's back to the b-ball courts, turf fields, rivers, waterfalls, beaches, and mountains!