Older blog entries for MichaelCrawford (starting at number 157)

Got a Mac? Help me out by testing iRATE

Version 0.3 of iRATE radio is just now being released, but the Mac OS X version that is built using Eclipse's SWT toolkit is being held up a couple days because I found a bug.

But a test build has been posted on iRATE's unstable downloads page. As long as you read the ReadMe file, you shouldn't have any trouble. It's working well enough to be useful and enjoyable.

It would be very helpful to me to get some more widespread testing, because the OS X SWT version hasn't been tested by anyone but myself so far. (Previously iRATE for OS X was only available in the version built with Swing).

It's likely that there are some other bugs that I could fix before the release, if only I knew about them.

Thanks for your help.

Want to Use SWT in OS X?

If you try to use SWT's OS X build you are likely to think it's not really ready for use. It will seem as if your user interface is really brain-damaged. But that's not really the case.

The reason is that SWT uses native widgets, sorta like AWT does. For OS X, it makes calls to Carbon. This is done by supplying a dynamically loaded native code library for each platform and widget set, that is loaded via the Java Native Interface.

The way Java applications are built in application bundles on OS X (to make a program you can run by double-clicking it) has the threads set up wrong for the native widgets to be able to process the events.

What you need to do is read the instructions in Eclipse Bug #40003.

In short, what you need to do is use an executable called java_swt instead of Apple's JavaApplicationStub. Both these programs launch the Java VM and tell it to run your java jar, but java_swt will set up the threads to make SWT happy.

I thought I should post this here so someone with the same trouble I had will find it with Google. It's a simple solution but apparently not too well known yet.

1 Feb 2004 (updated 2 Feb 2004 at 05:27 UTC) »
iRATE

Presently there are two versions of iRATE radio. Version 0.1 was built with the Swing GUI toolkit, but Swing is non-free - just try to find a Debian package for any part of Sun's Java; Sun doesn't allow it. Version 0.2 has two versions, one built from Swing and another from the SWT toolkit that is part of Eclipse. Besides being GPL-compatible, SWT is a lot faster than Swing. The SWT versions are very noticably more responsive than the Swing versions.

iRATE is nearing its 0.3 release, and while tremendous progress has been made in the SWT build, the Swing build has fallen behind somewhat. I offerred to help get the SWT version to work on Mac OS X. Most people who use the Swing version are using it on OS X.

One advantage of Swing admittedly is that it is pure Java so it can be used on any platform that has Sun's JRE; SWT include a Java Native Interface library that makes use of the native widgets for whatever platform it's being run on. (However, I suspect that the better performance of SWT is not just from using native code, but in avoiding the thick layers of indirection from which Swing is architected.)

Although I've been cheerleading for iRATE for months I've never actually worked on the code. Last night an iRATE developer named Robin Sheat chatted with me on Jabber (which I installed just for this purpose) and helped me to get it to build on my Panther Mac.

I encountered the apparently common problem that the native SWT library couldn't be found and used Google to find the unpleasant workaround of placing it in the JDK's libraries directory. That works for now but of course we can't distribute it that way. Robin was previously able to get it to work right when he built the SWT iRATE as an OS X ".app" bundle, a small directory heirarchy that the Finder presents to the user as a double-clickable application program.

I'm going to try now to get it working right and provide a test build by late tonight. If you have Mac OS X and would like to help test my work, watch for it in iRATE's unstable builds page.

Update: - no build tonight

Bonita needed some quality time.

Real Soon Now. Like tomorrow night.

There is a Swing build of the release candidate available though, that will work on OS X, or any system with a JRE.

I'm Gonna Run for Governor

I decided I wanted to be Governor of California someday so I joined the gym at the community college here in town (it's open to the public for a fee, not just students). I've worked out twice so far, just lifting weights.

I'm too embarrassed to tell you how much weight I'm lifting, lest you think I'm a pathetic wimp, but I guess it must be the right amount because I was sore for several hours after working out yesterday.

Despite that I have the physique of a good computer programmer, I've actually worked out with weights on a few other occasions and gotten into good shape that way.

I'm looking forward to the Spring when I can start bicycling again. There was a time many years ago when I used to bicycle all the time, and I think I felt the best that I ever have back then.

Sam

Sam was my wife Bonita's dog. He had been with her from before she and I met in 1997.

Sam liked to run on the beach. He liked it a lot when we lived in Santa Cruz, because we'd take him to the beach every day sometimes.

In the winters, here in the east - we've lived in Newfoundland, Maine and now Nova Scotia - he liked to roll in the snow. I think he found the cold invigorating.

Bonita loved Sam as if he were her own child. I loved him too. Sam adored Bonita, with such a depth of devotion that I've never seen in anyone, human or animal.

Sam was taken from us yesterday by leukemia.

I wish someone had given Jesus a dog
As loyal and loving as mine
To sleep by His manger and gaze in His eyes
And adore Him for being divine.

As our Lord grew to manhood His faithful dog
Would have followed Him all through the day
While He preached to the crowds and made the sick well
And knelt in the garden to pray.

It is sad to remember that Christ went away
To face death alone and apart
With no tender dog following close behind
To comfort its Master's Heart.

And when Jesus rose on that Easter morn
How happy He would have been
As His dog kissed His hands and barked its delight
For The One who died for all men.

Well, the Lord has a dog now, I just sent Him mine
the old pal so dear to me
And I smile through my tears on this first day alone
Knowing they're in eternity.

Day after day, the whole day through
Wherever my road inclined
Four feet said, "I am coming with you!"
And trotted along behind.

-Rudyard Kipling

Sam, I want you to know the world is a better place because you were in it for a time.

Good bye, Sam, I will miss you.

Help Test iRATE radio

Version 0.3 of iRATE will likely be released in a few days. Quite a lot of work has been done in the months since the 0.2 release. But that means that we need help with more widespread testing, so that if there are any serious yet undiscovered bugs, they can be found before the release.

If you'd like to help, download either the unstable or testing build for your platform. There are native clients for Windows and x86 linux, and a bytecode Java Webstart client for platforms such as Mac OS X that have a Java Runtime Environment installed.

As I write this, I don't think the first release candidate has been posted yet, but I expect it will shortly.

Thank you for your attention.

Music

I started taking piano lessons last tuesday afternoon and had my second lesson yesterday.

I've been playing for twenty years, so I can play some things well, but I taught myself, so there's a lot I don't know. My teacher, after checking me out at the first lesson, selected a near-beginning method book for me, and said that it would cover some things I might not know. She's expecting (and I think she's right) that I'll go through it quickly.

Writing

I decided last night I want to start writing for pay. I need to find my way out of computer programming before I'm unable to write code altogether. I'm able to work right now, but I can see how the time will come that I can't program anymore.

I've been meaning to write a book for years, but never get it together to complete one. But I do well at writing articles. So my plan right now is to write an article during the month of February that I'll try to sell. I don't have anything specific in mind, but most likely will try to write something technical to sell to a computer magazine.

18 Jan 2004 (updated 19 Jan 2004 at 03:52 UTC) »
Are You a Music Expert?

Help me find choral music for my wife, in my k5 diary.

Not to download (unless legally), we want to buy CDs. My wife is getting really tired of the same old CDs all the time.

I Came Here Not to Praise Gates, But to Bury Him

Can someone explain to me why it is that one can create files on NTFS that the Administrator is neither allowed to delete nor take ownership of?

My cygwin installation on Windows 2000 got wedged because I ran out of disk space partway through an install. I figured the best thing to do would be to delete the whole h:\cygwin folder and reinstall, which ought to be quick to do because I always copy the packages to my local drive before I install (so I install from a local copy, instead of from the net).

However, it seems that there are lots and lots of files in there that I can't delete. I even booted my NT4 installation and tried from there, in case there was something running on my Win2k that kept my delete from proceeding.

Can someone kindly tell me how I can delete files that I can't take ownership of?

Let me leave you with this thought: Bonita just bought a Windows XP Pro laptop. I was going to install Win2k on it, because she doesn't like XP much, but I thought maybe I shouldn't because laptops often have exotic hardware for which drivers can't be found. But Bonita has this to say about Windows XP:

Windows XP makes me want to set myself adrift on an ice floe.

New Article

I wrote a brief article to promote the Common Content catalog and the Creative Commons licenses. It's on the front page at Kuro5hin right now:

I admit the title is rather clumsily worded.

Are You in Favor of Copyright Reform?

I'm trying to incite the teeming masses of peer-to-peer music downloaders to take political action in this year's election in the US.

How can I state my case more effectively?

Thanks for any help you can offer.

In the past, asking for help with my writing this way has been tremendously helpful.

Stop Me Before I Write Again

I have a new article in the edit queue at Kuro5hin:

While the article in in moderation, the above link will only work for logged-in k5 members. When and if it's approved, the link will work for everyone.

I wrote it mainly to promote the Common Content catalog, which I think is not as well known as it deserved to be.

It's much shorter than my articles usually are. I assure you that you have nothing to fear from reading it.

Do You Read Romanian?

An incredibly helpful fellow named Ciprian Mihet has translated my music downloading article to Romanian:

Both the translation and the english original are under a Creative Commons license. I'm actively seeking help to translate it to other languages.

148 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!