Home

Advertisement

Customize
About this Journal
TODO: Insert something funny and/or witty here.
Current Month
 12
3456789
10111213141516
17181920212223
24252627282930
31
Aug. 29th, 2008 @ 10:11 pm (no subject)
working later than usual tonight
About this Entry
Aug. 24th, 2008 @ 03:11 pm (no subject)
The vast majority of my time is spent fixing broken things. Businesses, software, furniture, toys, relationships.
About this Entry
Aug. 24th, 2008 @ 12:57 pm (no subject)
Removed gitosis and configured plain git server.
About this Entry
Aug. 17th, 2008 @ 01:44 pm (no subject)
Completed gutter repair
About this Entry
Aug. 16th, 2008 @ 04:17 pm (no subject)
Trying to repair a broken gutter with one 6 foot ladder and one 32 foot ladder.
About this Entry
Aug. 16th, 2008 @ 07:50 am (no subject)
Testing intertwingularity
About this Entry
Nov. 9th, 2007 @ 01:23 pm Music on my mind
After a many year hiatus, I have been performing quite a bit lately. It started earlier this summer when my sister was visiting. She hadn't seen me play in many years and she asked if I could schedule some small scale coffee house gig somewhere during the time she would be in town. I found an open-mic show in the downtown area and did four or five of my original songs for her. It was so much fun, the following week I started looking around for other places to play and dusting off some of my old material. I did the next 13 consecutive Wednesdays at a small club in Cary with a lovely outdoor patio performance area. Another musician buddy of mine called and invited me to split a Friday night show with him at this coffee house in Apex. After the show, we went to the sports bar near to the coffee house and found out that the sports bar owner was looking for live music as well. We have been playing there every weekend for the past 5 weeks.

Having a steady gig has helped to motivate me to finish some of those incomplete songs I had lying around and has really whipped my voice back into shape. I'm certain I will be playing more around the area as I have been getting a pretty good response from the people who have been out to listen. You can check my myspace profile if you would like to see my performing schedule.
About this Entry
Nov. 9th, 2007 @ 09:43 am Mark Holland: RIP
Another good friend of mine has passed away. He had talked to me before about wanting to take his own life, but that was years ago when he was involved in some city zoning issues and he thought he was going to lose his business.

When I last spoke to him a couple of weeks ago, he said that since those business issues had been resolved, those dark thoughts had not been with him. We laughed and laughed about stupid childish things, playfully insulted each other repeatedly and sang songs back and forth to each other.

Mark was getting ready to go on vacation to Canada and he told me he kept having this dream about waking up in the front seat of his van with fallen snow completely covering the front windshield. He said that this dream gave him the most pleasant, sedate feeling he could imagine and that with his vacation approaching, he was daydreaming about that scenario constantly.

Often, I would answer the phone to hear only music playing. Mark would just set the phone down beside some wobbly old Jimmie Rodgers song and hang up without a word after the song was done. Damn, I'm going to miss that.

He distinctly promised me he would not do this...
About this Entry
Sep. 22nd, 2006 @ 05:43 pm Work: Cruise Control
I've just started development on a new project at work. I've taken the time to establish as many agile best practices as I can BEFORE coding begins. I've always wanted to do this up front work, but I could never seem to resist the urge to start coding right away. Since it's nearly impossible to retrofit a project after you're into the gutty-works, I usually wind up doing without and kicking myself later in the project when things go awry.

We've employed an XP like agile process, so all of the story cards have been authored, estimated, prioritized and added into our project management tool (Rally). We're also using Rally to manage defects and to drive the acceptance criteria.

I've started with the new ASP.NET 2.0 framework and SQL server 2005. I made all of the database creation, population, cleanup and incremental scripts earlier this week. No db hacking without the db scripts being updated to reflect the change.

I've switched to Subversion as my source control repository and added a DevStudio Subversion plug-in to replace the behavior of the gawdawful Visual Source Safe integration.

I've added log4net for app logging. I've also included my old javascript debugging framework and a standards compliant templated presentation pattern using xhtml, css and MasterPages.

I've added NUnit.ASP and MBUnit and a series of unit test stubs in order to be ready to use the "Test First" development approach.

I've created a series of scripts to manage the build and deployment of the project externally using MSBuild.

I just managed to get CruiseControl.NET working about an hour ago. Now whenever code is committed to the repository, a clean-room build gets kicked off and any compilation, deployment or testing failure sets off the fire alarm.

Although I'm tired from wrestling with these components all day, I can hardly wait to get to coding with all of my new bits in place. It's the first time I've actually wanted to code work stuff over the weekend in quite some time.
About this Entry
Sep. 21st, 2006 @ 06:59 pm Life: Still alive
I'm finally beginning to feel like a normal human being. I suppose you never can predict what type of event will toss you into an emotional tailspin. My grandmother passes away and I blog of my sadness. Grandfather dies, brief little expression of grief. My music partner, who I haven't been face-to-face with in three years dies and I spend two weeks crawling on the floor and kicking holes in the walls. Sure, I'm my usual happy-go-lucky self most of the time, but my wife leaves for work, I crumble. Alone in the car...crying like a baby. I'll be normal at work all day long, laughing, kicking ass and productive, then in my car, sobbing all the way home and pounding the dashboard. I drive around my neighborhood for twenty minutes trying to compose myself. This has been going on for an entire month.

I'm getting better. It's only happened once this week, but DAMN, I am officially ready to be back to normal now.

My 20th high school reunion is happening in a couple of weeks. I won't be able to make it, as I'm scheduled to be in Las Vegas . I've recently made contact with many of my old, long lost friends from the high school days. It's weird to see names you so strongly recognize, but haven't spoken aloud for twenty years. I called my high school girlfriend and got an answering machine. Three seconds of her voice and I was crippled with nostalgia.
About this Entry
Aug. 10th, 2006 @ 07:20 pm Richard Charles Hasley - RIP
Richard Charles Hasley

August 08,2006

NASHVILLE, Tenn. Richard Charles Hasley, born July 29, 1961, died Friday, Aug 4, 2006. He was a graduate of Kinston High School and was employed by Dell Computers in Nashville, Tenn. Rick was a wonderful son, brother, grandson, nephew, and to his cousins a brother. He was loved so deeply by all his family. He loved his music and his family very much. Preceded in death by the late Robert C. Hasley, Richard is survived by his mother, Jeannie Dunn Hasley; his beloved sister, Tammy H. Rouse and brother-in-law Greg; a very special niece Jessica Rouse; grandmother Annie C. Dunn; uncle Bobby Dunn, aunt Sandra D. and uncle Alton Deaver, aunt Linda D. and uncle Bob Melvin; cousins, Dionne J. Hill Williams, Chris Jones, Louie Deaver, Joshua and Ashley Deaver, Ryan Hill, Corey Hill, Carson Deaver and Quentin Deaver. The funeral will be held at 1 p.m. Tuesday at Edwards Funeral Home in Kinston, N.C. with burial to follow at Westview Cemetery. The family will receive friends at the home of Bobby Dunn, 209 Hill St., Kinston, N.C. Edwards Funeral Home is in charge of arrangements.

Ricky, Mangler and Me

Me and Ricky with Gram's Nudie suit bottoms

Coming offstage after first Gramfest

With Polly at Gram's Star in the Country Music Walk of Fame
About this Entry
Mar. 19th, 2006 @ 07:52 am Back In Blog
Wow, it's been a while.

I started my new job in January. I took a principal role with an excellent software consulting firm here in Raleigh. The job is an excellent fit for me (as well as for the company). I was a bit worried about joining a smaller practice, but I've been nothing but impressed. The team are very good, all seasoned veterans, all serious hard workers. The President is trying hard to make this the best software practice in the world (and making good progress towards that goal). It's a great place to work.

My previous employer seems to be amplifying the pace of their death march. The managers are playing "musical chairs" again, shuffling their offices around. The team is pouring effort into tweaking the task management tool while the real product is broken and hemorrhaging. The director promised me that administrative changes would happen. Maybe he meant when one manager quits, an underling would move from their own (equally sized) office into the now vacant office, then their underling would move into their empty office and so forth. I'm no longer offended, I'm genuinely sad. All that hard work wasted.

I haven't checked my personal email account for almost two months. I think I'll just delete that account for a while. I get continually pissed when some spambot succeeds in authoring a subject header that gets me to view it's spammy payload. In ten years, I've received only two emails from long lost friends. If there are any more long lost friends out there who were planning on catching up with me via electronic mail, you can google my phone number in somewhere around 0.05 seconds.

The GP website is overrun with comment spam. I've been manually deleting the spam for quite a while, but I'm behind the curve and can't seem to get motivation enough to cook up a better solution.

I've been doing mostly dotnet development recently. I like C# quite a bit, but have been struggling with Windows as my primary OS more than anything. DevStudio is not so bad for most things but seems pretty unstable. DevStudio will just disappear without a trace several times a day while I'm doing something seemingly innocuous (like editing a style sheet selector). Sidebars fly open and sometimes won't close, not sure why. Long pauses for no observable reason. Business objects are sometimes cached, sometimes not...

Googling is much tougher now... "ASP.Net" often finds matches with oldschool Active Server Pages code or worse...Visual Basic code, which is often cross-pollinated with VBScript. JScript frequently pollutes javascript results. Is "DotNet" what I am doing, or is it "ASP.Net", and how do I describe only the C# variety (or does "csharp" return better results)? Visual Basic seems to be the default everywhere. Also, how do I describe specifically the web application development portion? I'm not building executables. Oh, and I'm using version 2.0, with codebehind and masterpages.

There are no clear standards or best practices around variable naming, method naming, class naming, package naming. How should I indent, gnu, K&R or BSD? DevStudio autocompletes with BSD, but then cut and paste reformats to K&R. Sun says K&R and I've gotten used to that over the years. I'm trying to use BSD for classes and methods now, but still using K&R for interior ifs and loops.

The whole team project and build management and deployment process has been a struggle for me to figure out. When you change a line of code in DevStudio, magic happens...something gets pre-compiled into something else, deployed somewhere (not sure where), processed by some mystery server process and delivered through some random IP port... Mono has helped me understand much more about what dotnet is all about where DevStudio tends to hide everything. If I had the energy, I would start a book called "How to find out what Microsoft thinks you shouldn't need to know".

Anyway, it's good to be blogging again.
About this Entry
Dec. 23rd, 2005 @ 06:48 am Work: Time for new business cards
I resigned. Yesterday was my last working day at Fiserv. I'll still remain employed until the end of the year, but I will be serving out the remainder of my term by burning the last of my vacation time. The last two weeks have been an emotional rollercoaster for me, with some of the lows being lower than I can recall. After years of travel ritual, every single event became a milestone; my last commute to D.C., my last night in the hotel, my last drive to Tysons Corner, last time pressing the broken 2 button in the elevator...

This all coincided with the last broadcast of Howard Stern on terrestrial radio. Howard has been an important part of my morning routine since my first commute to D.C. more than five years ago. After my first day of travel to D.C., I set the hotel clock-radio alarm to 6:00 AM leaving the station set to whatever was selected by the previous hotel patron. The next morning, Howard woke me, and managed to hold my ear for the next hour or so. That morning, after leaving the hotel, he found his way into my car, earning a rare programmed slot in my radio station favorites list. Howard would wake me every morning I spent on the road and would accompany me for my morning drive to work, ever since. I've never really gotten into his television show, and I couldn't really hang on into the third or fourth hour of the radio show, as that part seemed to be comprised of the more racy and "shocking" bits, which I find boring and contrived. I'm not sure I will be as interested in his new satellite gig, but I may get nostalgic and try to give it a listen at some point in the future.

I sent Marijah back to her Mother and Stepfather in Virginia last weekend. Long story... Emotionally, this has been the most difficult time in my life. I feel completely defeated. I can still barely keep it all inside.

I'm frazzled. Sad about leaving my friends and the job I've been doing for years. Happy about the new job. Sad about losing Marijah. Happy about my Dad staying with us for a while. I can continue this list for pages, but that would be obsessive (or is it compulsive?). Ugh... the holidays are tough.
About this Entry
Sep. 15th, 2005 @ 09:24 am Life: I'm fine...no really...
It's called a Basilar Ocular Migraine (or Retinal Migraine). It's some form of severe migraine-zilla that effects the rear cerebral cortex, the same area responsible for ones vision. It was my first migraine headache since I quit drinking soft drinks more than a year ago, and it was like I had saved up a collective year of mild headaches and unleashed all of them at once. Glad to know it's not a tumor...

Events since my last post:

1. Crashed my car while driving to work (no significant injuries). The insurance company found the damage to be Fifty dollars short of a total loss. It was my first auto insurance claim in just over 20 years of driving.

2. My daughter had her 17th birthday and got her driving permit (not in that order). She'll be a month short of 18 years old before she is eligible for her regular drivers license. Want to understand the true state of the U.S. Federal Government at work? Go sit in the DMV waiting room for about 5 hours (wait, I'm sure you've all done that already).

3. Had some trivial bit of neatness that I wanted to share with my blogging buddies, every few hours, pretty much every day, but completely forgot what it was after the thirty seconds it took me to log into my blog and begin composing a message.
About this Entry
Jul. 29th, 2005 @ 08:55 am Life: Warning: Office social events are dangerous to your health.
Yesterday, our office had a "team building" event at a nearby golf complex. After some lovely picnic table food/drinks and the mandatory "team building" exercises, we went off to break in some of Dan's new golf clubs. After attempting to show off a bit to my friends, and successfully making the requisite fool of myself, I embarked on my 270 mile drive back to North Carolina with my shoulders and neck feeling the toil of testing every club I could get my hands on.

The traffic was moving at its usual creeping pace when I started to notice that I was unable to relax my neck and shoulder muscles. I felt a strange cramp in my neck when looking over my right shoulder and continued wrenching my head around in an effort to loosen things up a bit. Knowing I was in for a longer-than-usual commute, I reclined my chair an extra notch and tried to remain as stationary as possible. I couldn't seem to relax.

After one hour I had traveled just under thirty miles. I wasn't able to remain still in my seat. I had developed a tremendous migraine headache and my neck had become more painful and stiff. I continued twisting and turning my head, carefully examining every painful movement, over and over in some strange ritual of self-diagnosis. At some point, I noticed that when looking at the license plate of the car in front of me, I had to concentrate in order to read each letter individually. I could read words at a glance, but when I read letters individually, the letter immediately to the left would disappear from my view, making me lose my place within the sequence of characters. Not sure if this was some normal visual anomaly I normally overlook, I became more aware of my difficulty, comparing the sensation to looking around a room after looking directly at a camera flash. My overall field of vision seemed fine, I could clearly see the road and the cars around me but I was becoming less able to see the items I was focusing on directly. Traffic was barely moving, but I made my way to the shoulder and tried to calm myself.

After sitting for a minute or two, the dashboard seemed to be pulsing with strobing flashes in the left half of my vision in both eyes. I became unable to read the numbers on my dashboard clock. They weren't out of focus, they simply didn't exist. It was as if my eyes had seamlessly stitched together my left peripheral view to my right peripheral view. I could only see things if I didn't look directly at them. I could see vague peripheral motion, the passing car was red...that was a U-Haul truck...I could see that I was parked near an enormous green exit sign, but when I would shift my gaze to read the words, the entire sign would disappear.

Two more minutes passed and I was completely blind.

I held my phone in my hand and thought about how to call for help. I hadn't paid attention to the passing mile markers. I couldn't read my odometer, which I always reset when beginning my drive. Assessing my vision had distracted me from paying attention to local landmarks. There was a giant exit sign directly in front of me that I could not read. My wife is programmed on speed dial and I can dial her without looking. Menu-Right-Up-Up... I hesitated before connecting the call. I don't want to cause panic. How can she help me with this situation? I place my thumb on the 9 button and feel the relative proximity of the 1 button. My mind is racing. Could this exit be Occoquan? Maybe it's that Dumfries exit, what is that called?

I sit staring straight ahead, relaxing every muscle and take minute to compose myself. I'm afraid to close my eyes. The strobing flashes start to return and rather than trying to evaluate how much I can see, I simple continue to stare straight ahead, letting my vision fade and drift for a bit. I prevent myself from looking directly at the specific elements of the dashboard, looking instead THROUGH it and off into infinity. The flashing begins to fade and my peripheral view begins to widen again. I feel a bit more calm when I can see that the odometer has a three and a nine in it.

After a few minutes, my vision returns enough for me to move from the shoulder and cautiously continue to a rest area a few exits away. Shaken, I call my wife. After talking to her, I realize how fucking scared I was. I took some headache medicine and continued on my way, keeping my neck relaxed and calling her every few minutes. There is no hint of vision trouble at all, but the headache continued moved up the back of my head, then settled in my nose, teeth and jaw. When the headache becomes unbearable, I try singing. Surprisingly, that helps a great deal. I gradually feel better over the next five hours of driving and singing, arriving home welcomed by the most amazing electrical storm.

I took a hot shower and went straight to bed. Woke up this morning feeling quite sore in the neck and shoulders. Right now it feels like I am walking around wearing a midget in a backpack.
About this Entry
May. 31st, 2005 @ 09:29 pm Work: Time for new business cards.
I started working on my current project in June 2001, as a consultant for a Congressional chartered mortgage underwriting company. In September, 2002, the product was purchased by a Canadian eBusiness company (interestingly, forged from the remains of a former U.S. telecom monopoly) for somewhere around 30.5 million dollars. After the sale, the project began to down-size, and the development slowed to a crawl. There were several rounds of lay-offs, and periodic bouts of infectious employee attrition. In January of this year, I converted from a consultant to an employee, just as the project hit its lowest head-count ever.

Last week our product was again purchased, this time by a massive financial industry technology services company for just under 14 million dollars. We're now pouring resources into the project with all speed. The influx of resources is great, and feature growth is awesome. We're now able to do many of the things we've wanted to do for years, but couldn't approach for lack of resources.

Although I have been on the project longer than any other, due to my recent conversion from a consultant, I am considered one of the newest employees, and have been struggling most with the transition. The Canadians have been extremely slow to embrace me as a new employee, losing paperwork, screwing up payroll, allowing benefits to lapse, etc. The new American company, however have made the transition like turning a switch. I'm flying the new company flag high.
About this Entry
Mar. 5th, 2005 @ 06:57 pm Tech: CoLinux
I've been fiddling with Cooperative Linux recently. CoLinux is an interesting Windows hack, allowing a modern Linux kernel to be run as a privileged mode Windows device driver. Windows normally switches the machine's state between any available privileged mode OS drivers giving full processor and hardware control to each. This was originally designed to allow Windows to utilize some POSIX and OS2 functionality, but with CoLinux, it allows Windows to run a natively compiled Linux kernel (2.6.8) at nearly the same performance as it would run on the same machine standalone. I'm suspicious about the speed, since there are no benchmarks available and the kernel boot message measured only 289.99 BogoMIPS (the same machine measures 3342.33 BogoMIPS when running Linux natively). I suppose the native compilation could have altered the BogoMIPS measurement like it did on my Mac (it measured only 993.28 BogoMIPS but claims to compare closely to a 1.7 GHz Pentium IV). After all, BogoMIPS are, well, Bogus.

I've just installed Fedora Core 1 on CoLinux and it seems to be working fine. The running CoLinux daemon uses less memory than my instant messenger. I'm curious to compare it's performance with that of VMWare.
About this Entry
Feb. 15th, 2005 @ 10:47 am Work: OOP
In 1993, I got a certification from Microsoft for Object Oriented Programming in C++. What I remember clearly from my final exam is that Otis Spunkmeyer makes a white chocolate macadamia cookie, and a tiny electric oven that the instructor can use to bake them right in the classroom.

Since that time, I thought I clearly understood the rules of Object Oriented Programming. However, I spent a good part of this past weekend trying to figure out why a simple polymorphic solution I had employed in Java was not working properly. I had thirty or so derived classes that I needed to modify in order to accomplish a simple task. I had added member variables to each class and (for no really particular reason) I was trying to complete the task without adding getter methods to each class. I spent hours trying to get my tests to exhibit the behavior that I expected, but couldn't seem to get them working properly. My own stubborness got in the way.

Somehow, back in the day, after grasping the concept of polymorphic methods using method overriding, I assumed that member variables would exhibit the same behavior. Afterall, they both appear to utilize inheritance, and appear so similar, I had assumed that at some level, variable definitions and method definitions were very nearly the same thing.

For example, compare:

public String variableName = "quoted string";

with:

public String getVariableName() {return "quoted string";}

Note the similarity? So similar in fact, that my mind had merged the two until they appeared to derive from the same construct. I expected them to follow the same inheritance rules and polymorphic behavior. It turns out that I had completely misunderstood Variable Shadowing. The value of the member variables will always follow the cast of the object, not the value of the originating object as an overridden method will.

Frustrated, I broke down as I created the most elementary test objects I could conceive.
public class Parent() {
    public String variableName = "parent value";
    
    public String getVariable() {
        return variableName;
    }
}  

and:
public class Child() extends Parent {
    public String variableName = "child value";
    
    public String getVariable() {
        return variableName;
    }
}  

Then I tried:
Parent myParent = new Parent();
System.out.println("myParent.variableName = " + myParent.variableName);
System.out.println("myParent.getVariable() = " + myParent.getVariable()

Child myChild = new Child();
System.out.println("myChild.variableName = " + myChild.variableName);
System.out.println("myChild.getVariable() = " + myChild.getVariable()

The output is:
myParent.variableName = parent value
myParent.getVariable() = parent value

myChild.variableName = child value
myChild.getVariable() = child value

Just as I expected, but then came the strange part:
System.out.println("parent member cast as child = " + ((Child)myParent).variableName); 
System.out.println("parent method cast as child = " + ((Child)myParent).getVariable()); 

System.out.println("child member cast as parent = " + ((Parent)myChild).variableName); 
System.out.println("child method cast as parent = " + ((Parent)myChild).getVariable()); 

The output is:
parent member cast as child = child value
parent method cast as child = parent value

child member cast as parent = parent value
child method cast as parent = child value

See, the member variable is always bound to the cast, regardless of the originally instantiated object, but the method follows the overridden method. My mind simply did not believe the outcome, and I spent hours re-testing and trying to find some glaring flaw that I was convinced I had made somewhere. Even when the outcome was crystal clear, I still didn't believe that was the proper behavior, and kept fiddling with my test code until it became cluttered and overwhelming. Then I would throw it out and start again. I just couldn't accept the outcome.

I finally found the section on Shadowing Declarations in the Java Language Specification. Boy, reading that bit makes me understand why people may get a bit confused. Here's a snippet:


A declaration d of a field, local variable, method parameter, constructor parameter or exception handler parameter named n shadows the declarations of any other fields, local variables, method parameters, constructor parameters or exception handler parameters named n that are in scope at the point where d occurs throughout the scope of d.



It's a rookie mistake that took me twelve years to stumble across.
About this Entry
Feb. 6th, 2005 @ 01:17 pm Tech: Eclipse
I've been using Intellij Idea for most of my development over the past few years. I'm always interested in trying other methods of development, so I frequently spend my free time exercising other code editors and IDE's in a constant quest for the IDE holy grail. I have tried dozens. Visual J++, SlickEdit, JEdit, Visual Cafe, NetBeans, JBuilder, Visual Age, Vim, XEmacs, Epsilon, Jed, CodeForge, UltraEdit, TextPad, MonoDevelop, etc. Normal procedure is for me to set up one of my existing projects and try to hang with the product exclusively for a few days. I usually keep a few around that exhibit special features that none of the others seem to provide.

Twice before I have given Eclipse a try, simply trying to make my existing J2EE application fit within what I understood was a peer J2EE capable IDE. Twice before I was left frustrated and confused and deleted Eclipse from my machine. This weekend I gave it another try.

Third attempt at trying Eclipse:
  • Surfed eclipse.org for about fifteen minutes. Could not find an appropriate section relative to the Eclipse Java IDE, having not fully understood the differences between the numerous "projects" that were outlined. The site is massive and intimidating.

  • Surfed the Frequently Asked Questions for anything related to "Java" and "IDE". Read the entire FAQ. Still not sure if I need to download the "Eclipse Platform" or the "Eclipse SDK" or possibly both. Most SDK's that I have seen contain libraries, tools, examples and documentation, and I don't think that is what I need. Still frustrated, not being able to find some sort of organized "product" that will assist me in writing java code.

  • Surf to the download page. Pick a mirror and select "3.1 Stream Stable Build" (it seems to be the latest stable build). The resulting download page spills on for pages.

  • Guessing that maybe the "Eclipse SDK" is actually what I need to download (since it is listed at the top) I pick the appropriate platform. The resulting download is a stunning 92.2 MEGABYTES! And that's WITHOUT the required JDK.

  • I already have the necessary JDK as part of my Intellij Idea install so I skip the JDK download.

  • I explode the compressed Eclipse package.

  • My default system JDK is 1.3.1 since that is the target for my J2EE app. I try to find anything that looks like a config file or such to point Eclipse to the appropriate JDK. Can't find anything except a standalone executable.

  • Make several unsuccessful efforts at launching the executable with the appropriate JDK. Decide it is easier to configure my J2EE app to use the older 1.3.1 JDK than continue trying to fool the stupid Eclipse executable.

  • Surf to sun.com to find the necessary JDK. Download 1.4.2_07 (80.9 MB). Install another freaking JDK on my machine.

  • Talk with a friend who suggests I try MyEclipse instead of regular Eclipse. Decide that that might be better for me since it seems to be more of an organized "product".

  • Delete the installed Eclipse directory.

  • Surf to MyEclipseIDE.com. Hey, it even has IDE in the name... Clearly this is closer to what I was expecting from Eclipse.

  • Register as a user, log in, surf to the Downloads page. Note with disgust that MyEclipse Enterprise Workbench 3.8.4 states "Make sure you have Eclipse 3.1 M4 installed before downloading." Gah!

  • Surf to the Eclipse download page...again. Download the same 92.2 MB file...again.

  • I explode the compressed Eclipse package...again.

  • Download MyEclipse Enterprise Workbench 3.8.4 (an additional 58.22 MB). This project has now consumed more than 231 MB.

  • Install MyEclipse. Now I have a 150 MB Eclipse direcory and a 91.5 MB MyEclipse directory. MyEclipse contains no application, just an enormous plugins directory.

  • Launch MyEclipse using the installed shortcut, which interestingly simply points to the original Eclipse directory.

  • Create a new EJB project. Select the top level directory of my J2EE project, but the dialog will not let me continue. I change to a subdirectory that contains the src directory and I can continue. The app then nails the processor at 100% for about twenty minutes (on a 1.70 GHz Pentium 4 with 1 GB of ram).

  • My project directory is now polluted with hundreds of *.class files mixed in among the src directory, and there are various new directories scattered about (.metadata, .plugins, etc.). Why is everything being compiled before I have set up any project specific configuration? I haven't told Eclipse where to put my compiled classes or where the required libraries are located. I try to open a single java file, and the app again pegs the processor and is unusable for five minutes.

  • I cannot stand having anything in the project that is not part of the CVS repository, so I delete the project directory and pull new source from CVS. Surely there must be some way to keep the Eclipse related config pollution out of the source code directory, otherwise someone might accidentally check this stuff into CVS.

  • I also delete the pollution from eclipse/workspace as well. Let's try this again.

  • New EJB Project. This time I choose the default location (eclipse/workspace). Now I can't select the location of my source code since it resides outside the eclipse/workspace directory. Delete, start again...

  • OK, I can't select the top level of my project, since the src directory is not a direct descendant. If I choose the parent of the src directory, I cannot choose the appropriate compilation target since that is now outside the project root. Either way, my project directory gets polluted with Eclipse config turds.

  • I specify top level of project and set a relative path for src directory. Eclipse pegged for twenty minutes with status "Building workspace (n%)" Why the hell is it building before I can configure anything?

  • I fight to prevent Eclipse from building after any config change, managing to find and squeeze in a few project configuration changes such as the proper output directory and inclusion of the necessary libraries along the way. Eclipse still seems to not want to cooperate most of the time and most of my time is spent looking at a modal progress bar, despite having cancelled the current action.

  • I delete the current project and try again several times, each time making slight changes to the project and waiting for twenty minutes. Once the project contained no files at all. Once all of the packages in the project were prefixed with "src." which caused thousands of warnings and a five minute pause after selecting any file. Once the application just crashed after reporting that one project was overlapping a previously created project.

  • After considerable effort, I think I have somewhat of a workable project. There are still missing pieces, but I could probably now effectively write code even if I had to compile and deploy by calling ant externally.

I was ready to give up and delete Eclipse many times throughout this exercise, and had I not taken the time to document my frustration, I would likely have done so immediately before the last couple of steps. I'll try to hang with Eclipse over the next couple of days and see how my overall opinion develops.
About this Entry
Jan. 18th, 2005 @ 06:28 pm Work: Employment Update
I spent the past couple of weeks filling out countless online application forms, interviewing, providing skills assessments, taking qualification exams and being quizzed endlessly. The non-stop quizzing made me so quiz-trickery-suspicious that I became frozen with indecision when trying to answer even the simplest questions. Something like "Are you willing and able to: Work weekends [ ], Work evenings [ ] or Travel [ ]" had my mind going: "hmm, willing AND able, wait... OR travel? Comma after weekends, but then 'OR' travel, is that right? Wait...there's no question mark, is this a question or a statement? Let's see... ((willing && able) && (weekends || travel))... no AND travel... GAH!!!

So anyway, you might remember the end of my previous bench rant, where I said: I keep fantasizing that my last client will call me up and say, "Come back Larry, we just can't seem to get along without you." Well, my client called me back and made me an offer, just minutes after I found out that the awesome local position that I was hoping to land had been pulled from the market. I was impressed with the offer that my client had prepared. They were clearly aware of the issues I had been confronting as a consultant and made every effort to accommodate my situation. They even worked out all of the details with Idea before presenting the offer to me. That was a classy move.

I'm basically doing the same job as before. My machine had not yet been wiped, so after getting the various user accounts and permissions re-established, I got right back to work. The best part is, now that I am no longer a consultant, I am eligible to telecommute. I'm in the process of setting up my remote machine now.

The drive into the office yesterday wasn't the usual drudgery I had grown to resent, but was actually pleasant. Nothing resets your perspective like having no income for a while. It was a bit awkward to be denied access to the building and such, but I couldn't have asked for a more comfortable "first day on the job".

Cherise started her new job today, her first in nearly eight years. It sounds like an excellent fit for her. I'm sure today was a blur for her and I can't wait to hear how it went.

Also, Marijah is moving in with us on Friday. Awesome!

This will certainly be a week to remember.
About this Entry

Advertisement

Customize