Jess Sample Java Setup Project: Minimal Setup

This project will start out with a typical Java development setup:

Continue reading “Jess Sample Java Setup Project: Minimal Setup”

Jess Sample Java Setup Project: Mission Statement

For a couple of months I have thought about how fun it would be to set up a real simple Java+Jess project to help myself out with the basics of dependency management and logistics of interaction between Java and Jess. Recently it made sense to start using GitHub. With the hope that lowering the barriers to anyone interested in using Jess, I decided to throw the project out here. More so, because I will be working on it piecemeal, I decided to log progress in this diary and also on the blog I’m hoping it will serve as a resource for anyone interested in the project. My particular interest in Jess is for where a rules engine might fit in a 3 month to 2 year long Java project with a team of 3-12.
Here are some of my goals:

  • Provide a preconfigured project setup using Maven
  • Demonstrate some sample projects
  • Learn and cover interesting aspects of how Java and Jess work together
  • Learn or create nice ways of testing the system

Here are some of the options for sample projects to drive it:

  • Porting CLIPS samples
  • Logic puzzles
  • Video games
  • HVAC system
  • Form data validation
  • Data conversion

Here are some of ways to test it:

  • TestNG
  • Fitnesse

My preparation so far has been to read virtually everything available on Jess ( http://herzberg.ca.sandia.gov/), twice, and additionally read whatever I can find about CLIPS (http://clipsrules.sourceforge.net/), rules engines, and expert systems in books and on the Internet.
Getting started with Git meant reading the official docs (http://git-scm.com/documentation) and man pages, and GitHub itself has excellent documentation (https://help.github.com/). One helpful page was for the basic Markdown syntax which I had never learned officially (http://daringfireball.net/projects/markdown/basics) (except for using it in various wikis).
Admittedly, the Jess wiki cites a project like the above to be outside the sweet-spot of Jess. My worldview right now, though, is that the rules engine way-of-thinking has a lot to offer beyond mega-million enterprise-style projects, and that anyone who masters it will have a very valuable and powerful tool in his kit when he is done!

Configuring VNC on Ubuntu 12.04 LTS Desktop Over SSH Before Logging In Locally

My goal was to log in to the Ubuntu 12.04 LTS Desktop desktop, over a SSH tunnel, using VNC, before anyone was logged into the desktop itself. This scenario occurs because although you may share your desktop over the built in “Desktop Sharing”, you may need to restart the system, and after rebooting you are left with a login screen desktop, but without a logged-in desktop to share.
The directions I followed are from this great post.

sudo /usr/bin/x11vnc -xkb -noxrecord -noxfixes -noxdamage -auth /var/run/lightdm/root/:0 -display :0 -passwd "yourpwhere" -forever -bg -o /var/log/x11vnc.log

Option notes: -xkb, help with keyboard modifiers. -noxrecord, don’t let the xserver do grabs, assume this helps with speed. -noxfixes, disable xfixes cursor shape mode, assume this helps with speed. -noxdamage, disable xdamage polling hints, this does help with speed, has to do with Ubuntu’s compiz. -auth, lightdm is the unity login manager. -display, the primary. -passwd not secure, tunnel over ssh also. -forever don’t quit after the first client disconnects. -bg go into background mode. -o redirect output here.

Bring a trailer

Barn finds, rally cars, and needles in the haystack…
We put together Bringatrailer.com because finding great vintage cars online has become too much of a hassle. There is no need to keep sifting through hundreds of hopeless projects or overpriced dealer inventories to find that one car you’ve been looking for. We pick the winners and save you the trouble… the best bargains, the best dream cars, and the best rarities.
We especially favor regularly driven real-world classics, and cars with well chosen period-correct modifications. We’ll usually skip the blue chip restorations and trailer queens unless they offer something amazing in aesthetic or rarity. Deep pockets can buy a big-dollar restoration but they can’t buy good taste or driving passion.

— via MilVinMoto via bringatrailer.com

Engine Assembly Lube

When reassembling any of the internal parts of an engine I’d use
something like this
http://www.permatex.com/products/product-categories/lubricants/specialty-lubricants/permatex–ultra-slick–engine-assembly-lube-detail

rather than motor oil.
I’ve used motor oils in the past and never had any issues that I could
attribute to it. But consider what might happen while you’re
reassembling. You’ve got everything put back together and then your
kid gets sick, things get busy at your job, Aunt Judy dies, the dog
has puppies, and the neighborhood gets over run by Zulus.
By the time you’ve got things sorted out a month has gone by. And all
that oil you carefully applied to your parts has had time to slowly
drip it’s way down into the crank case.
Assembly lube stays put.

— Bob Burns via MilVinMoto

CB750F: Day 09

Tonight was preparation for break. Hooked up the adapter cable to the battery for the trickle charger and learned about what it means to ground a circuit (fireworks in face) along with a trick of wrapping the screwdriver in a layer of electric tape to insulate it.
It was real hassle getting the bolts into the nut on the battery posts, so I stuck some paper tape underneath to jack it up and pulled it out once it was gripped.
Finding a carb kit is still a work in progress, I suspect that I will buy individual jets.
Debating buying an ultrasonic cleaner; though it is certainly easier than building one. One interesting item I found though was a drop-in transducer, which could turn any container into an ultrasonic cleaner!
The cheapo nitrile gloves aren’t cutting it, they break too much, got a recommendation for the Microflex MidKnight Nitrile gloves instead.
Brandon shared his carb gaskets with me, they look like they will fit (thanks!). I might break apart that rack so I can replace/clean all of the diaphragms.
The rest of the night I just cleaned off the bike; she is in rough shape and deserves to be clean.
Continue reading “CB750F: Day 09”