Wednesday, September 24, 2008

Learning MATLAB

I'm out of industry and back in school these days, focusing on autonomous robots to speak generally. One of the things I knew to expect was MATLAB, and I'm learning it as I thought I'd need to. But I don't want to make it my tool of choice in the long run. I won't give a technical review here (and I don't know enough yet to give a full review), but I'm generally a pro-open kind of person. And MATLAB is definitely propriety.

But it sure pwns the competition in the research world. (Update: I mean this in terms of apparent market share, not in terms of technical merit which again I feel too ignorant to comment on.)

The main alternative is SciPy. JScience and many other options for Java seem either unmaintained or too complicated. Hmm.

Confirm Quit and Logging Off

It just occurred to me that the "Are you sure you want to quit/close/etc.?" features should be promoted to an OS (or desktop/platform) level concept. These things prevent log out, shut down, and so on. They can also cause other confusion when the system tries to guess if the software is behaving well.

Probably can't completely standardize the content of such quit confirmations, but some level of communication with the system about what's going on could make this user experience tons better.

Monday, September 8, 2008

Fan Language

By the way, I should have blogged a while back about the Fan programming language. I got relatively involved in conversation there. And I even got into the code just a bit.

My quickest summary: It's a better Java. As in, it tries to be a nice, clean, accessible language that encourages consistent style and good, readable code. But it's better than Java in that it clears out the cruft (starting with a clean slate, almost), and it's much nicer in the syntax arena. You don't have to slave away to get everyday things done like in Java. And it's still mostly statically typed.

That short review ignores a lot of the details. See the site for more. But as a summary, can you say all the same things about Groovy or Scala (alternative "better Javas")?

That said, I'm still not sure whether I'll be using it in the future. I think it's possible. For now, I think I still want Java's tool support and low-level speed. (Yes, I said "low-level speed" in reference to Java.)

Friday, September 5, 2008

3D Java Physics: JBullet

After having trouble finding much better than ODE wrappers for 3D physics in Java, someone pointed me this week to JBullet. Seems to work great from my experiments so far (just learning how to run the demos from a new Eclipse project at this point).

Pure Java is nice.

Side note, a project to convert x86 to JVM bytecode and automatically run DLL and ELF so files would be sweet. That would auto-port lots of native libraries to Java. Well, in some cases you might need semi-deep OS emulation.