03.31.08

Boxing Hiatus

Posted in About Me, Sports at 1:00 pm by Todd

I decided last night that I am going to take a hiatus from the boxers training program that I have been doing at KO Boxing. It was very fun and an excellent workout. I have learned a great deal from it and know that I will likely to do it again. But with spring coming my golfing bug is starting to make me itch. So I think I will be trading my boxing gloves for golf clubs. And since golfing isn’t as good of a workout, I am going to try running again. Maybe I can get into good enough shape to run in a 5k yet this spring.

03.28.08

4 Monitor Setup

Posted in About Me, SAnToS, Technology at 5:00 pm by Todd

If 3 monitors is good, 4 must be better. A couple of months ago I put the finishing touches on my new desk setup which now includes an extra monitor. I now have the following hardware on my desk at work:
  • Dell Dimension 2350 (desktop) with 20″ LCD
  • Dell Inspiron 8600 (laptop) with 15.4″ LCD
  • HP Compaq nc8430 (laptop) with 15.4″ LCD
  • Dell 21″ LCD (connected to HP laptop)

4 Monitor Setup

And since I didn’t want to have 3 keyboards and mice on my desk I figured out how to use Synergy to control all 3 machines with a single keyboard and mouse. Here is the Synergy configuration I use at work (and here is the one I use at home).

I also have a new setup at my home office that has 3 monitors:
  • my HP laptop comes home with me
  • Dell 21″ LCD (connected to the HP laptop)
  • Custom workstation (…) with Quantex 21″ CRT

3 Monitor Setup at Home

So I feel pretty good about my setup. Especially the custom built desk that my father-in-law built for me.

03.25.08

Posted My First Hibachi Bug Reports

Posted in KSU, Programming, SAnToS, Technology at 1:00 pm by Todd

Last week I posted my first bug reports to Eclipse.org’s Bugzilla database. Tom Grosman (leader of the Hibachi project) suggested that I submit my patches as bug reports in their official bug database.

My first bug report was about the NullPointerException I found. I mentioned this in a separate post earlier.

My second bug report (or enhancement) was about making parameters available as children of subprograms (procedures and functions). I mentioned this in a separate post earlier.

My third bug report (or enhancement) was about making an extension point available in Hibachi so others can create their own outline views. I mentioned this in a separate post earlier.

This is quite an achievement for me since I have never contributed to an open source project like this. I have reported bugs but never gone this far in diagnosing and fixing issues. And I hope these won’t be my last.

03.24.08

Sharing the Hibachi UI Images

Posted in KSU, Programming, SAnToS, Technology at 1:00 pm by Todd

As I worked through my outline view extension of the Hibachi UI, I realized that it would be great to re-use the icons that are already available in the Hibachi UI and currently used in their outline view. It would be even better if the icons were accessible in a standard way (similar to the Eclipse Workbench UI, JDT UI, and Team UI conventions currently used).

The standard pattern that I have found is as follows:
  1. Provide a Java interface that has String constants that map to each icon available. The name should be ISharedImages and the interface should declare 2 methods: 1) getImage(String) : Image and 2) getImageDescriptor(String) : ImageDescriptor.
  2. Provide a static method (which is public) on the main plugin class that will get an instance of ISharedImages. It is typically named getSharedImages() : ISharedImages
  3. Provide a class that implements ISharedImages. This class can be hidden from use by others in an internal package and not exported by the plugin.
This pattern can be seen in the Java Development Tooling (JDT) UI, the Eclipse Team UI, and the Eclipse Workbench UI. [Note: Direct links to the main plugin and ISharedImages classes are provided in the Related Links section at the end of this post]

The Hibachi UI isn’t currently implemented in this way but it is quite close. The Hibachi UI plugin does provide some String constants and a method in the main plugin class. The follow snippet gives an idea of what is currently implemented in the UIPlugin class.

public static final String ICON_PROCEDURE = “procedure.gif”; public static final String ICON_FUNCTION = “function.gif”;

public static ImageDescriptor getImageDescriptorForIcon(String name) {…}

This allows the UIPlugin to cache ImageDescriptors but still forces the user to create and dispose of the Image (which is the important one to cache). So I took it upon myself to patch their UI plugin to provide this in the same way that other Eclipse plugins share their images (as described above). This will likely reduce the amount of memory because Images will be cached as well as ImageDescriptors. It will also make it easier for developers that extend Hibachi and make use of the icons because they will no longer have to create and destroy the Image.

My first task was to create the ISharedImages Java interface to hold all the constants that map to all of the images (icons) available in the Hibachi UI plugin. I chose to put that interface in the org.eclipse.hibachi.ui package so that it would be available to other plugins (that package is already set as “exported”). This also seems to be the standard location for the interface.

The second task was to create a class that implemented ISharedImages. I chose to create the class in the org.eclipse.hibachi.ui.internal package and name it SharedImages. This class implements the 2 required methods with some simple (straight-forward, pass-through) logic. In other words, it makes use of existing logic that was used to load and cache images but was not available outside the plugin (see the SWTResourceUtil and AdaPluginImages classes).

The third task was to create a method in the main plugin (UIPlugin) to get an instance of ISharedImages. This method uses the lazy initialization pattern (single instance that is a private field that is created the first time the method is called). This was easy to declare and simply creates an instance of SharedImages (which implements ISharedImages).

To make sure I did it correctly I wrote some code in our outline view plugin that grabs images. Testing that code brought a smile to my face since it worked the first time (which hardly ever happens for me).

Here is a patch for that chunk of work.

At this point I have working code that matches the standard pattern but there is a lot of duplication of effort in the plugin. I would like to find a way to reduce that. For now, I will simply submit this patch and hope someone else can help make it better. Hopefully this patch is useful and will be merged into the mainline for the Hibachi project.

Related Links:

03.21.08

Fitness Goals Update

Posted in About Me, Sports at 2:00 pm by Todd

I did a quick, and partial, fitness test today. I was able to do only 5 chin-ups and 47 push-ups but I did great with 70 sit-ups. Looks like I should achieve the sit-ups, push-ups and most likely the bench press goals (I am currently doing sets with 145lbs) but the pull-ups might be tough. Time to change up the regular routine to work on my chip-ups/pull-ups!

For more on my goals see my previous post.

VMWare 6 on Gentoo

Posted in Linux, SAnToS, Technology at 1:00 pm by Todd

This week I finally got VMWare Workstation 6 installed on my Gentoo (x86_64) laptop. I need it for several reasons:
  1. I couldn’t convince my HP laptop to dual-boot with Windows Vista.
  2. At times I need to test software that is Windows only.
  3. Some of our software must have the ability to run in Windows; which means I need to have Windows available to test and troubleshoot.
  4. Recently, I needed the ability to test x86 code and I didn’t want to “muddy the waters” using x86_64 compatibility.
  5. In the short-term, I would like to start testing software in a clean environment which doesn’t mess up my daily work. What better way than in a VM.

So I purchased VMWare Workstation and followed the Gentoo installation instructions using emerge. I had to modify my package.keywords file since the 6.0 version of vmware-workstation was masked (~amd64). I simply added the following to the /etc/portage/package.keywords file:

app-emulation/vmware-workstation ~amd64 app-emulation/vmware-modules ~amd64
dev-cpp/libsexymm ~amd64
x11-libs/libview ~amd64

Before portage could finish the install, I had to download the tarball from the VMWare site (and put that tarball in /usr/portage/distfiles). I also had to add a USE flag to my /etc/make.conf (accessibility) and re-emerge several packages (emerge -auD --newuse world). Once the installation was complete, I ran through the VMWare configuration script and it was almost ready to roll. The last thing I had to do was start VMWare using the following flag: VMWARE_USE_SHIPPED_GTK=yes (I found that fix mentioned here). When I don’t use that flag I get the following:

tcw@bluecloud ~ $ vmware /opt/vmware/workstation/lib/bin/vmware: symbol lookup error: /opt/vmware/workstation/lib/lib/libvmwareui.so.0/libvmwareui.so.0: undefined symbol: _ZThn24_N4view10FieldEntry17delete_text_vfuncEii

Now I get to fight Windows XP and Windows Vista to get them installed in their own virtual machine. I will also probably install Ubuntu and possibly a desktop install of OpenBSD (I am an OpenBSD-fan-boy).

03.19.08

Weekend Fun in Hope, KS

Posted in About Me, Family at 1:00 pm by Todd

This past weekend I had fun helping my father-in-law at their new house in Hope, KS. My in-laws recently purchased a house for the land and are planning on tearing down the house (and barns). Once the house is gone they plan on building a brand new house so they needed help with the destruction. Fun!

This is the first time I have ever had a chance to tear down a house. Over the last year I have helped 3 friends do construction on their house. So I have to say that destruction is so much more fun.

This past weekend we spent time cleaning up dead limbs, tearing down walls, and collecting lumber to be recycled. Saturday we spent most of the time getting rid of limbs that were broken off during the December ice storm. We hauled out several large loads from the house out to the city “dump”. Sunday was spent tearing down the plaster and lath walls and removing some usable lumber. Sunday was more fun because I got to take out all my anger, frustration, and angst on the walls without worry. I highly suggest this type of work. And I now understand why Ty loves demo-day so much. It is just total fun! I am still looking forward to breaking the windows and trying to run through a door! A kid has to dream right.

I hope to help out more as the spring rolls on and maybe I will post more pictures of what I get to destroy. And if you need assistance in tearing down your house, give me a hollar – I might be able to find time in my schedule to help out.

03.18.08

ScribeFire Evaluation

Posted in Technology at 1:00 pm by Todd

I have been using ScribeFire for a couple of months now and for the most part I have really liked it. It makes it easy to keep track of notes that I will use to publish blog entries as well as making it easy to publish them when I am finished. I do have some issues with it but I just need to get used to its little quarks so that I can use it effectively.

Pros:
  • Easy to keep track of notes. If I have an idea for a blog post I create a new note and start writing. When I complete the brain-dump I save it and can come back to it at any time. If I give up on the idea I simply delete it.
  • Easy to publish to my blog. When I get done drafting I simply set the options and hit publish. ScribeFire does the rest for me.
  • Easy to publish drafts to my blog. Again, I simply set the option to be a draft and ScribeFire does the rest.
  • Easy to mark categories for each blog entry before uploading. Before posting I switch over to the categories tab and select those categories that apply. ScribeFire has already downloaded the categories I have already defined in WordPress.
Cons:
  • Once uploaded to WordPress the blog entries are hard to edit – the formatting is wacky.
  • The formatting buttons available don’t match WordPress. For example, you cannot mark a section of code using ScribeFire without manually editing the HTML. In the WordPress editor, this is a button click away.
  • The formatting of fonts is kind of annoying. Here is the situation, I am writing a list of of questions using an unordered list. The question will be in bold and the answer will be in a regular font. I write all the questions first and then come back to write the answers. But when I write the answers they end up in bold as well and I haven’t found a way to un-bold them without switching to the HTML editing view.
  • I am “old school” and have a habit of putting two spaces after the end of each sentence. In ScribeFire, the first space turns into an HTML non-breaking space (nbsp). When I use WordPress directly, it simply ignores the fact that there are two spaces — which is how browsers are supposed to render multiple whitespace characters. Although this report makes me think it is fixed in the new version.
  • Each time I save a note it asks if I want to over-write the existing note. I wonder if saving could be done automatically or if that question could be avoided altogether.
  • When I press “Post as Draft” it publishes it to the blog. In other words, it uploads and marks it as published instead of marking it as draft. Very annoying since I had to hurry up and change it before someone saw the post.

Overall, ScribeFire is a good option for in-browser and client-side blog writing. I hope that it continues to mature and “fixes” the issues I have listed as cons.

03.17.08

Argh! Undelete, Undelete!

Posted in About Me at 11:53 am by Todd

Well, I just made a bone-headed mistake today. The post that was scheduled for today has now been deleted. Crud!

I made this mistake using ScribeFire. I recently updated it and with that update came a new layout. I was looking through what I thought were Notes and I noticed one that was already a blog post scheduled to be published today. So I thought I would clean-up my notes by deleting it. It turns out, the UI changed and it was showing me the posts that I have out on WordPress and I just deleted it.

And what is even better is that there is no undelete feature of either ScribeFire nor WordPress. When they say delete, they mean delete (kind of like *nix systems).

Well, there goes my hard-work. Although it probably isn’t much of a loss – it was description of a problem I was having with Eclipse 3.2.2.

03.14.08

Spring 2008 Fitness Goals

Posted in About Me, Sports at 1:00 pm by Todd

As an add-on to my 2008 goals, I am going to set some fitness goals for myself. This isn’t really interesting, just a way to keep me honest. And the goals are very achievable so that I can start from that and grow into larger goals. So here goes:

  • Bench Press 180lbs for regular sets (3 sets of 10 reps each)
  • 20 Pull-ups
  • 55 Sit-ups in 2 minutes
  • 51 Push-ups in 2 minutes
  • Run a 16:06 2 mile
  • Run a 7:00 mile
  • Have a resting heart rate of 60-80 bpm
  • Maintain a good blood pressure (less than 120/80)

Well, that is all for now. I will try to keep my loyal readers updated as I progress. FYI, if you sign up on FitLink and become my “friend”, you can see my workout log as I go along. I keep track of what exercises I do along with little notes about each workout.

Related Links:

« Previous entries Next Page » Next Page »