Nov 28
David MartinezMac, Methodology
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
Nov 28
David MartinezJava
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?).
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*
Nov 28
David MartinezCBBTR, Ruby
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
Nov 27
David MartinezMac
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
Nov 23
David MartinezCBBTR
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
Nov 23
David MartinezJava
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
Nov 20
David MartinezMac
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
Nov 18
David MartinezBest Practices
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
Nov 17
David MartinezCBBTR, Eclipse, Java
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!
Nov 17
David MartinezUncategorized
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