iPod, Podcasts and your Car

No Comments

Like many, I use iTunes to sync my podcasts onto my iPod so I can listen to in the car. Mostly technology related podcasts. Unfortunately circumstances brought upon by both iTunes itself and the poor metadata management conspire to make this very difficult.

More

I missed Mixins in Java today

No Comments

Note to Sun: I missed being able to do mixins with Java today. Maybe it's all this playing with Rails, but back in Java-land I had this particular problem and I thought - mixins would solve this. But no go. Not even with JDK 1.5.

I guess I'll just put on my monkey coder hat and add decorator scaffolding and almost-identical configuration code for 50 different classes instead. Maybe I should switch back to Spring autowire (like he Rails folks say, value convention more than configuration, right?). :-P

Yes, I know that you can do it using interfaces, but it still leaves me changing more than one line in all 50 classes. I also know that you could use some fancy AOP or dynamic proxying, and go against the GrainOfTheLanguage and end up with something that "works", but it's a pain to run through the debugger and determine basic intent.

*Sigh*

One-to-One relationships with Rails

1 Comment

This is a lot easier than I thought it would be and it actually took me longer than it should have because I was trying to do it manually.

More

First Mac Mini Scare

No Comments

I was running software update, and the whole computer locked up tight right in the middle of installing (even the mouse wouldn't move). Hard rebooted after a long wait. The machine rebooted fine except - no Finder. I did end up fixing it. Here's what I tried.

More

Ant script for UMLGraph – separate packages and details views

No Comments

Here's how to call UMLGraph from ant.. Also, the documentation mentions Multiple Views, but it provides a makefile. Seeing that most java users use ant instead, I went ahead and incorporated this as well.

More

Rip UML straight out of java

1 Comment

I've been playing with the idea of taking the UML straight out of java, so I can do multiplatform UML Sketching using basically plaintext .

So I went and downloaded UMLGraph and incorporated it into the my build system.

So far I like it, but I have a couple of thoughts on it.

More

Mac Mini.. This should prove interesting.

No Comments

Today we were driving around and found a closing sale at a "Good Guys" store. All of their stores are closing in California and folding into CompUSA.

The discounts were very deep - they were even getting rid of the furniture and fixtures. So as I was walking around I saw a floor model of a Mac Mini (1.25G4/256Mb/40Gb/CDRW+DVDROM) priced at $329. As Apple never discounts and eBayers have a way of getting things priced way higher than fair market, I couldn't resist.

So now I'm typing this on a Mac. More

Securing RSS for financial use

No Comments

How do people think RSS URLs could be secured for use in financial subscriptions?

After listening to Steve and Leo's Security Now #13 podcast on WPA encryption, I came up with this idea.

Comments are welcome.

More

Using Jobs API and asyncExec

No Comments

Using the Jobs API (Job and IProgressMonitor) you can implement code that will run in a thread and update the standard Eclipse progress monitoring service as you go along in your thread.

To create a job, extend from org.eclipse.core.runtime.Job and implement the run method:

 
 
protected IStatus run(IProgressMonitor monitor) {
  int steps = 100000;
  monitor.beginTask("My Task", steps);
  for ( int i=0; i<steps ; i++ ) {
    monitor.subTask("Step "+i);
    monitor.worked(i);
    if ( monitor.isCanceled() ) break;
  }
  inputForTableViewer = Arrays.asList(new String[] {"One",
             "Two", "Three"});
  return Status.OK_STATUS;
}
 

To activate the job in MyClass (say it's a page with a tableViewer which we use to set the input), you do the following:

 
MySampleJob myJob = new MySampleJob();
myJob .addJobChangeListener(new JobChangeAdapter() {
  public void done(IJobChangeEvent event) {
    Display.getDefault().asyncExec(new Runnable() {
      public void run() {
        MyClass.this.tableViewer.
                        setInput(myJob .getInputForTableViewer());
      }
    });
  }
});
myJob.schedule();
 

Have fun!

Migrated to WordPress

No Comments

I liked Mambo, but it takes a lot to maintain, and I don't really use all the features. So I decided to move the site to WordPress instead. The only caveats is that I didn't migrate the user registrations (or the comments).

But all the articles are still here.

Please bear with me while I import links and other content.

In the meantime, you can find the old blog here (Note: It will be removed once I moved all of the content over).

More

Older Entries