+ 5 - 6 | § ¶Looking for a Design Pattern
I'm writing some code that does a few different mathematical calculations, then returns a value. All the calculations use the same inputs, so there's the potential for a lot of reuse here. So, I'm looking for the pattern that fits what I need. The Command Pattern seems very close to what I want, except execute() doesn't return a value. In fact, this description of the Command Pattern uses it to implement a calculator, but it just prints the results to the console instead of returning the value. In order for me to use the Command Pattern, I'd have to change the interface of the Command interface either to add a getter for the value or add a return type for the execute method.So, I need something almost, but not quite, exactly like the Command Pattern. How have people implemented this in the past? I feel there has to be another pattern out there for this, because it seems so common.
+ 3 - 8 | § ¶Apple Skunkworks and silly security
Ron Avitzur and Greg Robbins wrote the Graphing Calculator that ships with the Apple Macintosh. However, Apple didn't want them to write the application, and then put the program in their system software. The story of how this happened is a hilarious lesson on what young motivated engineers can do without official support, and how unofficial support can sometimes be just as important.This story is a nice bit of inspiration to help me deal with my current frustrations at work. I'm a contractor at a large company, and the client has decided to clamp down on security by keeping us off the main network, restricting us to very limited access through a VPN, and prohibiting unapproved software (this part is for everyone, not just contractors). Which means, technically, I can't do my job as a Java Developer. The Java Development Kit is not on the approved list, and neither are a modern IDE nor a CVS client. So, how am I supposed to do my job within the rules? Of course, I don't know exactly what rules I'm breaking, because we don't have access to the policy pages of the intranet through our VPN filters.
I'll get my work done, and I will do nothing unethical to compromise security, but it's getting ridiculous.
+ 2 - 9 | § ¶Effective Java
I just read, or possibly re-read, Effective Java: Programming Language Guide by Joshua Bloch. This is a classic book in Java, and deservedly so. I've already changed a lot of my Java development practices because of reading the book, from using final a lot more to being more careful in my implementations of toString() and hashCode(). (more)+ 3 - 6 | § ¶Left behind again for tests
Back in June, I stayed in St. Louis geeking while my wife, Jenny, traveled to Germany and France for work. Well, it's happened again. Jenny's in Japan on a business trip for the week, and I'm left home. She switched positions in her company last month, and now her job is to train doctors and medical technicians on her company's medical devices. So, international trips like this are going to be more common for her now, including a potential trip to Russia next month. I'm jealous of the Japan trip because I have never been there, and I'll be differently jealous of her Russian trip because I have a Russian Studies Minor, and there's a lot of Russia I want to show her first.We considered turning her three-day trip into a five-day vacation for both of us, with her working a bit in the middle. Unfortunately, I had a final last night, and I have another final tomorrow night, and both professors are much too disorganized ever to allow me to take the tests early. So, I'm studying a bit for the tests, reading a lot about Java, and being a bit of a bachelor.
So, I'm looking forward to having my wife back, and I'll get to see some fun pictures of Tokyo soon.

