Monthly Archives: November 2005

Surf around. Write a little. Remember it all.

In my spare time, I like writing apps. Mac apps. Stuff that I’d use. Stuff that makes me even happier to have a Mac. In Cocoa, of course. But a lot of these apps never see the light of day.

That changed Monday when I released a public beta of WebnoteHappy Lite. It’s a better way to do bookmarks, by writing something about each web page that interests you – you then can search and browse these webnotes.

So if you have a Mac running Tiger, check out WebnoteHappy Lite! It’s free. I’d appreciate any sort of feedback.

Eclipse tip: How to build features that require Java 5

So you’re trying to create an Update Site and you hit the Build or Build All button. This is depending on a feature which includes plug-ins that require Java 5. The build fails and it tells you that there are errors in logs.zip. You unzip this and find this error:

Compliance level ’1.4′ is incompatible with source level ’1.5′. A compliance level ’1.5′ or better is required

You double-check your settings and find that you have indeed set the compliance level to 1.5 on your workspace and none of your plug-in projects override this. Everything looks good (no red “x”es). What’s going on?

It turns out that features do not respect the Java compiler setting. Instead, they turn to whatever JVM you are running Eclipse with. Digging deeper, I think this is the PDE Build code that has this behavior, because it is used as well on the command line to automate the building of Eclipse features and plug-ins.

The solution? Run Eclipse with Java 5. This goes against the recommended practice of running on Java 1.4, but this is the only workaround that is available for this problem.

Further references: Bug 104960 – Compliance level error when building plugin. Thanks to Fabio of PyDev for intially reporting it.

Changes I’ve made to help heal my carpal tunnel problem

Vik asked about my carpal tunnel problem:

Just curious if you’re going to make any changes now. As in, mouse to touchpad/trackball, some special keyboard, some software aimed at CTS sufferers, etc. I’ve been forcing myself to use the touchpad more (less mouse) because I’m concerned about CTS, after having using computers heavily for about 14 yrs.

Yes, obviously, if it’s broke, then fix it. And my hands were REALLY broken. I would come home from work and they would be swollen, my palm would be throbbing and my forearm would be in a sort of spasm. It got so bad, I actually LOOKED FORWARD to meetings (so I could rest my hands). Hehehe my doctor said that you know its bad when it gets to that point.

So first off, go see a doctor if you feel pain. Or maybe even beforehand, to head off anything that is lurking under the covers but hasn’t manifested itself yet. I really like Dr Perron. I’ve seen a few doctors about this and they usually didn’t know much about it or seemed to be set on surgery. I don’t know about you, but I like my ligaments to be intact whenever possible.

Secondly, you have to really question your work habits / setup. Here’s what I’ve implemented:

  • I take breaks about once an hour for just a few minutes. I used to just sit for hours on end, coding away, hands on keyboard and mouse. At first I used a program called TimeOut on the Mac to help, but now I just am in the habit of doing this.
  • During my break, I get up and walk around a bit to get my circulation going. I also do some specific wrist stretches to help regain the range of motion and flexibility in my hands.
  • I use a single button Apple Mouse with my LEFT hand. I’m right handed and I think the two biggest actions that damaged my hand were using the scroll wheel and right clicking. Sounds crazy, but my pointer and middle fingers on my right hand are the ones that still act up.
  • I bought another Pil-O-Splint so that I sleep with one on each hand. It helps ensure that your wrist stays straight during the night.
  • I try to make sure that my hands stay warm, so I’m usually wearing a sweatshirt or fleece or jacket. The heat helps heal your hands.
  • In the evening, I take a hot shower or apply a heat pad/hot water bottle to my shoulders. Again, its the heat that helps.

Hope this helps people out there who rely on their hands.

Mac Programmer Meeting in Northern Virginia – November 17th

We’re having a meeting of the Programming SIG of the Washington Apple Pi, which is the big local Mac users group in the area.

It should be fun. The group started rewriting a Cocoa app using Core Data and Bindings that we use for raffling off prizes at the user group meetings. It’s called…Raffler. What’d you expect? iRaffle?

Details:

What: A Bunch of Mac Guys Hacking Away on Cocoa and other stuff on PowerBooks

Where: 13161 Fox Hunt Lane, Herndon, VA

When: Thursday, November 17th, at 6:45pm

How to get in: RSVP with me via the email link in the upper left corner of my blog. I’ll tell you about the secret handshake.

I’m feeling MUCH better

I’m back! Thanks for all your thoughts and prayers. My hands are feeling great. I’d say about 70%. So I’m not going to be arm wrestling Sylvester Stallone anytime soon. But I am able to type and program and do all the everyday things that I used to do.

It turns out that I had carpal tunnel AND ulnar tunnel. The strange thing was that this occurred because I was TOO good at what I do. All that typing, especially at high typing speed, results in a lot of code in a short amount of time. And for all the budding programmers out there, I’d still recommend learning how to type as fast as possible. The downside is that I basically trained my fingers to be really strong and quick, but only in this small range of motion, which is about the depth of a key press.

The solution? Well, if you live in the Northern Virginia/DC, I’d recommend booking an appointment with Dr. Perron of Reston Chiropractic. He uses some pretty advanced techniques that are unlike any chiropractor I’ve ever heard of. It’s called the Activator Method and here’s how it can relieve repetitive stress / carpal tunnel syndrome. There’s other doctors around the world that use the same method.