Phoenix JUG: JBoss Rules

I gave a presentation tonight on JBoss Rules to the Phoenix JUG. There was a good group of people there, and we had a very lively discussion around some of the strengths and weaknesses of rules engines in general. It was fun to cover a topic that I don’t hear much of (outside of sales pitches), and to see so much interest. There were a log of thoughtful questions, and many people were interested in ideas of how to program using rules.

At work, we use JBoss Rules for a small portion of our code but that code handles an awful lot of our transactional complexity. Spring, Hibernate, and Struts handle most of the heavy lifting of our structure. But JBoss Rules helps keep our routing logic and call script questions fairly clean and maintainable.

While a lot of the value of a presentation is in the verbal exchange that goes on in the room, I figure there’s something to be gained by gazing through the slides and sample code after the fact. With any luck, I’ll take some time in the next couple weeks to put up some podcasts (gasp!) on JBoss Rules. Enjoy.

Presentation: rules.pdf
Source Code: jboss-rules

Juice Goes Django

Kaizen and Juice 2.0 - Juice Analytics

We built the new site using Python and Django.

I really like the Juice Analytics blog. These guys know their stuff when it comes to business analytics and data information display. They know all the big names, all the new tools, and they’ve got their own tips on top of that which makes it a great read. I really like their new site layout, and find it interesting they went with Python and Django. Most of my new stuff these days is Rails, but I have respect for anyone that makes a conscious decision about what they’ll use. And today, there’s a lot of power in light languages combined with flexible frameworks. Rock on, Juice.

Automate the Tiny Things

I don’t know how many years I’ve used the following command chain to add all my unknown files to Subversion:

svn st | grep ? | sed -e s/? *// | xargs svn add

Inevitably I occasionally end up using that string on some directory where I have a space in the pathname, and everything bombs. So I finally got around to adding it to my ~/.bash_aliases file today, with the additional -e "s/^\(.*\)$/\"\1\"/". Simple, really (just make sure that something sources that file):

alias svnaddall=svn st | grep ? | sed -e “s/? *//” -e “s/^\\(.*\\)$/\\”\\1\\”/” | xargs svn add

I may still play with the actual alias name to see what sticks in my every day practice. Maybe I totally missed a way simpler way to do this. Seems like I’ve done something like this since back when I started using Subversion at release 0.18 or 0.19. Maybe I haven’t kept up, so I’d be happy to be enlightened.

Do you have anything tiny hanging around that should be automated right now?