m0smith's planet

July 22, 2008

Zarahemla On-Line

Wisdom from the 42nd Page: Holes

Three times a day, Cleverly puts the 42nd page of a book up. There is a wide variety of subjects and a single page can be enough to completely catch you attention. Check out a sample: Wisdom from the 42nd Page: Holes

by Matthew O. Smith on July 22, 2008 08:01 AM

July 21, 2008

Zarahemla On-Line

Codex Sinaiticus Project goes online July 24, 2008

Codex Sinaiticus Project: "Codex Sinaiticus is one of the most important books in the world. Handwritten well over 1600 years ago, the manuscript contains the Christian Bible in Greek, including the oldest complete copy of the New Testament. Its heavily corrected text is of outstanding importance for the history of the Bible and the manuscript - the oldest substantial book to survive Antiquity - is of supreme importance for the history of the book."

by Matthew O. Smith on July 21, 2008 01:19 PM

July 17, 2008

The Best Clean Humor on the Internet

A music Review

Ok, I admit it. I am a big Boston far from way back in my long hair days. I was listening to something off Boston Don't Look Back and came across the review on Pandora, which read in part:The guitars still sound like they are being fed through computers and stacked into great walls of sound by robots, lead singer Brad Delp still sounds like he is ripping his throat out, and the harmony vocals (more...)

by Matthew O. Smith on July 17, 2008 09:21 AM

July 15, 2008

Software Ninja

Quote Details: Rick Cook: Programming today is a... - The Quotations Page

Of course this does not apply to my users all of whom are most ingenious.

Quote Details: Rick Cook: Programming today is a... - The Quotations Page: "Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.
Rick Cook, The Wizardry Compiled"

by Matthew O. Smith on July 15, 2008 09:56 AM

The Best Clean Humor on the Internet

How not to get eaten

Angler fishOriginally uploaded by charminbayurrAn effective way to deal with predators is to taste terrible. (more...)

by Matthew O. Smith on July 15, 2008 09:53 AM

July 14, 2008

The Best Clean Humor on the Internet

Boat Problems

Tractor-2Originally uploaded by MarKotaLast summer, down on Lake Isabella, located in the high desert, an hour east of Bakersfield, CA, some folks, new to boating, were having a problem. No matter how hard they tried, they couldn't get their brand new 22 foot boat, going. It was very sluggish in almost every maneuver, no matter how much power they applied.After about an hour of trying to make it (more...)

by Matthew O. Smith on July 14, 2008 01:39 PM

July 11, 2008

The most interesting thing of the moment

What America needs in a President: Not an embarrassment

Part of the series: "What America Needs in a President" The singularly most important characteristic of the President of the United States is to "not be an embarrassment" to the rest of us. The president represents every citizen of this country and should be someone that each American can point to with pride and say "That is my President". His behavior and decorum must better than for mature (more...)

by Matthew O. Smith on July 11, 2008 02:30 PM

What America needs in a President

I will be writing a series of articles on the subject of what we need in a president. Each will tackle a different topic and I will update this posting with the topic and how both Obama and McCain do. TopicMcCainObama Not an embarrassment++ Oil Supreme Court Commander-in-Chief Vision Total11 (more...)

by Matthew O. Smith on July 11, 2008 02:22 PM

Ferocious Flirting: Making Marriage Wonderful

Sweet Deal: Free Slurpee

In honor of 7-eleven day, 7-11 is giving away Free 7.11 oz. slurpees on July 11. Take your sweetee for a nice cool free treat. Check the website go a store locator. (more...)

by Matthew O. Smith on July 11, 2008 07:04 AM

July 10, 2008

Ferocious Flirting: Making Marriage Wonderful

Five-year itch: new danger point for marriages - Science, News - The Independent

I came across an article on the new "seven year itch" or the point at which many marriages start having problems. According the the article, it is now down to five years. From the article: Five-year itch: new danger point for marriages - Science, News - The Independent: "Scientists have discovered that couples begin to grow fed up with each other after just four years and are at peak risk of (more...)

by Matthew O. Smith on July 10, 2008 07:22 AM

July 9, 2008

The most interesting thing of the moment

As the Wrench Turns

Slothdog, knowing I am a fan of Car Talk, pointed out to me that the long awaited car talk cartoon is finally a reality. Here's hoping it won't be a flop like the Dilbert cartoon. ViewSeriesDetails � Programs � KUED Channel 7 broadcasting from the University of Utah: "Click & Clack's As The Wrench Turns This animated sitcom takes off from the hit NPR show 'Car Talk' and follows the on- and (more...)

by Matthew O. Smith on July 9, 2008 11:11 AM

July 2, 2008

The most interesting thing of the moment

9 Reasons Why Application Developers Think Their CIO Is Clueless - CIO.com - Business Technology Leadership

This is mostly for Tim's benefit: 9 Reasons Why Application Developers Think Their CIO Is Clueless - CIO.com - Business Technology Leadership: "8. The CIO collaborates to death. Whether it is the character flaw of being indecisive or some middle-school notion of democracy, you are in charge. Collaboration is critical, but you also need to make the right decision at the right time. Collaborate (more...)

by Matthew O. Smith on July 2, 2008 11:44 AM

June 27, 2008

The most interesting thing of the moment

Agile Software Development: 20 Qualities of an Agile Leader

A very interesting list. One well worth looking at. Agile Software Development: 20 Qualities of an Agile Leader: "Teams of all natures - agile software development or otherwise - need inspirational leadership to perform their best. That leadership may, or may not, come from the organisation's appointed leaders. But all teams need it, nevertheless. So what are the qualities of inspirational (more...)

by Matthew O. Smith on June 27, 2008 02:59 PM

Parade Magazine on Yahoo! News

Here is a thoughtful and insightful article on how to prepare to vote. Definitely worth a read. Parade Magazine on Yahoo! News: "And I'm still convinced that, in most elections most of the time, voters get it right. The process works. As we head into the most exciting, historic, and high-stakes Presidential election of our lifetimes, here are some suggestions on how you can be an even better (more...)

by Matthew O. Smith on June 27, 2008 11:08 AM

June 26, 2008

The most interesting thing of the moment

My Coke Rewards

9PKL9R AF7K67 Post a comment when you use it so others know not to use it. Good luck. (more...)

by Matthew O. Smith on June 26, 2008 02:34 PM

June 25, 2008

Software Ninja

Joda Time - Java date and time API - Home

Josh Bloch mentioned this as being the basis for the new Date JSR. I had never heard of it.

Joda Time - Java date and time API - Home: "Joda-Time provides a quality replacement for the Java date and time classes. The design allows for multiple calendar systems, while still providing a simple API. The 'default' calendar is the ISO8601 standard which is used by XML. The Gregorian, Julian, Buddhist, Coptic, Ethiopic and Islamic systems are also included, and we welcome further additions. Supporting classes include time zone, duration, format and parsing."

by Matthew O. Smith on June 25, 2008 01:28 PM

Josh Bloch: How To Design A Good API and Why it Matters

I saw this over at DZone and found it important enough to share. At the end Josh references a handout.


by Matthew O. Smith on June 25, 2008 12:49 PM

The most interesting thing of the moment

ksl.com - Chaffetz defeats Cannon in Republican primary

ksl.com - Chaffetz defeats Cannon in Republican primary: "The results are in for one State Senate and four State House seats as well. For District 23 in the State Senate, Dan Liljenquist beat out Ronald Mortenson 64 to 36." (more...)

by Matthew O. Smith on June 25, 2008 08:27 AM

June 20, 2008

Ferocious Flirting: Making Marriage Wonderful

Everyday is a holiday

We here at Ferocious Flirting believe that everyday is reason to celebrate and apparently we are not alone. Over at Bizarre American Holidays Homepage everyday is a reason to celebrate. For today we see that: BIZARRE JUNE HOLIDAYS: "June 20 is . . . . Ice Cream Soda Day" Now there is something you and your sweetheart can celebrate. Commemorate the date with a nice ice cream soda. (more...)

by Matthew O. Smith on June 20, 2008 09:34 AM

June 19, 2008

Ferocious Flirting: Making Marriage Wonderful

Reinventing Date Night

I came across this article that really hits the importance of dating your spouse. All Pro Dad | Reinventing Date Night: "Rather than visiting the same familiar haunts and dining with the same old friends, couples need to tailor their date nights around new and different activities that they both enjoy, says Arthur Aron, a professor of social psychology at the State University of New York at Stony (more...)

by Matthew O. Smith on June 19, 2008 09:33 AM

June 16, 2008

The most interesting thing of the moment

Honda rolls latest fuel-cell car off assembly line - Yahoo! News

Honda rolls latest fuel-cell car off assembly line - Yahoo! News: "Honda's FCX Clarity, a sporty-looking fuel-cell sedan, came off the production line in Tochigi, north of Tokyo. The assembly line is Honda's first to be dedicated to building fuel-cell vehicles." (more...)

by Matthew O. Smith on June 16, 2008 01:44 PM

Software Ninja

Spread Firefox | Download Day 2008

I think I can help with this world record.

Spread Firefox | Download Day 2008: "Set a Guinness World Record
Enjoy a Better Web

Sounds like a good deal, right? All you have to do is get Firefox 3 during Download Day to help set the record for most software downloads in 24 hours - it’s that easy. We're not asking you to swallow a sword or to balance 30 spoons on your face, although that would be kind of awesome.

The official date for the launch of Firefox 3 is June 17, 2008. Join our community and this effort by pledging today"

by Matthew O. Smith on June 16, 2008 01:08 PM

June 9, 2008

The most interesting thing of the moment

An invitation to taste test 42 books per fortnight

An invitation to taste test 42 books per fortnight: "An invitation to taste test 42 books per fortnight I've created a second blog: 42ndPage.com; if you enjoy books please take a gander... The 42nd page was chosen for somewhat geeky reasons. The idea of reviewing a stratified sampling of the contents of books was inspired by Donald Knuth's 3:16 Bible Texts Illuminated project. My self-imposed (more...)

by Matthew O. Smith on June 9, 2008 08:34 AM

May 22, 2008

Ferocious Flirting: Making Marriage Wonderful

2 Steps to Keeping it Interesting

My kids will often say "I'm bored" to which I reply "Whose fault is that?" Boredom and apathy are relationship killers. Just like my kids, we often try to blame others for our own boredom. And like many other things, we need to take responsibility and address it for ourselves. If you are in a rut, here are two ideas that will make life more interesting. These also work to keep your (more...)

by Matthew O. Smith on May 22, 2008 07:39 AM

May 15, 2008

Project portletUnit

PortletWork: Testing Portlets with Jetty, Pluto and JWebUnit

PortletWork: Testing Portlets with Jetty, Pluto and JWebUnit: "After my last two entries, I've gotten some questions about using pluto embedded in jetty to create automated integration tests for JSR 168 portlets. Using the maven-jetty-plugin for running the portlets is great for fast, iterative development. But it can't be used to run automated integration tests. Remembering an excellent article from Johannes Brodwall's blog about integration testing with Jetty and JWebUnit, I wanted to extend his approach to use the embedded jetty-pluto setup I have created. This turned out to be to be quite easy."

by Matthew O. Smith on May 15, 2008 10:36 AM

May 13, 2008

Software Ninja

Smash Mouth @ Java One 2008

Here is a video of Smash Mouth at JavaOne 2008. Be sure and check out 1:15 into the video. I am in the frame, guess which one I am.

Thanks to Arun for posting the video.


by Matthew O. Smith on May 13, 2008 06:53 AM

May 12, 2008

Software Ninja

JavaOne 2008 Session I attended

TS-4817 The Java™ Platform Portlet Specification 2.0 (JSR 286)
An excellent session on the features and uses cases for the new portlet spec. Well worth a look.

TS-6623 More Effective Java
The slides highlight some of the new topics covered in the best selling book at JavaOne. No Java developer should be without it. Get yours today!

TS-6169 Spring Framework 2.5: New and Notable
What is new and why we care. A must see for anyone using Springframework. Note: JDK 1.3 support is being dropped.

TS-6589 Defective Java™ Code: Turning WTF Code into a Learning Experience
Another excellent session after the vein of the famous "Java Puzzlers", which was missing from this year's lineup.

TS-5250 Asynchronous Ajax for Revolutionary Web Applications
Focused on Reverse Ajax or Comet with samples on many platforms including Glassfish, Weblogic, Tomcat, Grizzly.

TS-6389 Growing Open-Source Developer Communities
The presentation gives a few common sense ideas, nothing really earth shattering.

TS-5509 Java™ Persistence API 2.0
An overview of the upcoming features of the new JPA. Worth a look.

TS-5859 Unit-Testing Database Operations with DBUnit
A great look at a data base unit test tool. If your project uses a database, this presentation will be worth a look. Good for those of us already using DBUnit.

BOF-4798 Parleys.com: An Adobe Flex/AIR and JavaFX™ Case Study A look at a website being developed in DHTML, GWT, Flax/Air and JavaFX.
The presentation included a great overview of the 4 environments with a pros/cons comparison. A similar discussion can be found at an interview with Stephan Janssen.

TS-6590 Using FindBugs in Anger
If you have 100,00+ lines of code and 2 hours, this presentation will help you make the best use of your time. Helps sort out the different warning levels and where to get the best return on your investment of time.

TS-7669 Continuous Regression Testing for Java™ EE Apps: Change Code Without Fear
Some older information and somewhat disappointing. Many of the techniques we currently use were not discussed.

TS-5165 Programming with Functional Objects in Scala
A quick into to Scala which has some nice features.

TS-6611 Filthy-Rich Clients: Filthier, Richer, Clientier
A gee-whiz demo some effects in Swing. Take a look for some good ideas if you are into Swing.

by Matthew O. Smith on May 12, 2008 10:07 AM

May 7, 2008

Software Ninja

Embedding Apache Pluto

This areticle may prove interesting to getting portletUnit packaged with maven.

Embedding Apache Pluto: "Apache Pluto, the reference implementation of the Java Portlet Specification, implements a portlet container that can be embedded easily within a portal or Web application. This article provides a comprehensive tutorial that explains how to embed the Pluto Portlet Container (version 1.1) into a Web application. It investigates the basic architecture of Portal Systems, provides an overview of Pluto's public API, and discusses two different integration techniques."

by Matthew O. Smith on May 7, 2008 10:49 AM

May 5, 2008

Software Ninja

Krugle: Source Code search engire

Krugle is a search engine for source code. I could at least find my own project. Are there any others?

by Matthew O. Smith on May 5, 2008 05:12 AM

May 2, 2008

Ferocious Flirting: Making Marriage Wonderful

The Origin And History Of Mother's Day

Copyright © 2007-2008 Wesley Berry, AAF The origin and history of Mother's Day goes back to the era of the ancient Greeks and Romans. But the roots of Mother's Day history can also be traced in the United Kingdom where a Mothering Sunday was celebrated much before the festival saw the light of day in the United States. However, the celebration of the festival as it is seen today is a recent (more...)

by Matthew O. Smith on May 2, 2008 10:38 AM

May 1, 2008

The most interesting thing of the moment

The Foot Tent

My old car-pool-buddy is in here. See if you can guess who it is. (more...)

by Matthew O. Smith on May 1, 2008 03:22 PM

Software Ninja

Occasional Java Coder: Spring 2.0 form tags

This page has a really nice example of HTML date input using Springframework form tags.

Occasional Java Coder: Spring 2.0 form tags: "I like the Spring's form tags. It just does what it what I wanted. Registered a custom date editor in the controller and used Spring's select tag for the date selection instead of input to a text box."

by Matthew O. Smith on May 1, 2008 01:37 PM

Code Beach: Get the Names of the Months in Java

I did not even know about the DateFormatSymbols class.

Code Beach: Get the Names of the Months in Java: "This tutorial shows how to get the month names for the current locale or for a specific locale. Java provides an easy mechanism for getting localized month names. To get the month names, you will use the DateFormatSymbols in the java.text package. By default, the constructor will create a DateFormatSymbols object based on the current locale.

DateFormatSymbols symbols = new DateFormatSymbols();"

by Matthew O. Smith on May 1, 2008 10:44 AM

Project portletUnit

Bare Bones Browser Launch for Java • • • Use Default Browser to Open a Web Page from portletUnit

One drawback of portletUnit is not being able to really see the rendered code. Using the ideas of the Bare Bones Browser Launch for Java, I am now able to display the rendered code.

Bare Bones Browser Launch for Java • • • Use Default Browser to Open a Web Page from a Swing Application: "Java is often touted as the programing language of the Internet, so you would think Java might include a standard platform-independent mechanism to launch the user's default web browser. Unfortunately, this commonly needed feature is left to the application developer to build, and it's not particularly easy."


The code I am using is:


/**
* Show the response in a browser.
*
* @param response
* the response
* @param class1
* not used but the intent is to add a system propery regex that
* will control whether this page is loaded or not. Default will be none.
* @param id
* another regex system property will match against this. Default will be all.
* @throws Exception
* on error
*/
public static void showResponseInBrowser(WebResponse response, Class class1, String id) throws Exception {
String text = response.getText();
File f = File.createTempFile("httpUnit", ".html");
f.deleteOnExit();
PrintWriter fod = new PrintWriter(new FileOutputStream(f));
fod.print("<head><base href="'http://localhost'/"> </head>");
fod.print(text);
fod.close();
URL url = f.toURL();
openURL(url);
}

/**
* Bare Bones Browser Launch Version 1.5 (December 10, 2005) By Dem
* Pilafian. Supports: Mac OS X, GNU/Linux, Unix, Windows XP
*
* Example Usage: String url = "http://www.centerkey.com/";
* BareBonesBrowserLaunch.openURL(url); Public Domain Software -- Free to
* Use as You Like
*
* @param url
* the url to open
* @throws ClassNotFoundException
* getting class
* @throws NoSuchMethodException
* yes
* @throws SecurityException
* well
* @throws InvocationTargetException
* trying to invloke
* @throws IllegalAccessException
* trying to access
* @throws IllegalArgumentException
* bad arguement
* @throws IOException
* opening window
* @throws InterruptedException waiting
*/
public static void openURL(URL url) throws ClassNotFoundException, NoSuchMethodException,
IllegalAccessException, InvocationTargetException, IOException, InterruptedException {
String osName = System.getProperty("os.name");

if (osName.startsWith("Mac OS")) {
Class fileMgr = Class.forName("com.apple.eio.FileManager");
Method openURL = fileMgr.getDeclaredMethod("openURL", new Class[] {String.class });
openURL.invoke(null, new Object[] {url.toString() });
} else if (osName.startsWith("Windows")) {
String cmdLine = "rundll32 url.dll,FileProtocolHandler " + url.toString();
Process exec = Runtime.getRuntime().exec(cmdLine);
exec.waitFor();
} else { // assume Unix or Linux
String[] browsers = {"firefox", "opera", "konqueror", "epiphany", "mozilla", "netscape" };
String browser = null;
for (int count = 0; count < browsers.length && browser == null; count++) { if (Runtime.getRuntime().exec(new String[] {"which", browsers[count] }).waitFor() == 0) { browser = browsers[count]; } } if (browser == null) { throw new IllegalStateException("Could not find web browser"); } else { Runtime.getRuntime().exec(new String[] {browser, url.toString() });
}
}
}


I am creating a <base> for all the links so the images and CSS all get included as needed.

by Matthew O. Smith on May 1, 2008 09:55 AM

April 30, 2008

Ferocious Flirting: Making Marriage Wonderful

Date Idea: Now Playing Utah

There have been several times that we have wondered what is going on but never really knew where to look. Now, at least for Utah, there is a site that lists many cultural events. From the website: "Whether you’re a local looking to get out and play or a visitor looking for fun things to do during your stay, NowPlayingUtah.com has just what you’re looking for, offering endless ideas of things (more...)

by Matthew O. Smith on April 30, 2008 07:36 AM

April 25, 2008

Ferocious Flirting: Making Marriage Wonderful

Helpless Man! Helpless Man! | I Love You Recipes

I like this story and thought to share it with y'all. Click the link to see the rest of the story. Helpless Man! Helpless Man! | I Love You Recipes: "My wife thinks that I wield what she calls the spell of the Helpless Man. According to her, this incantation causes females to rush to my aid. Women, she says, are especially vulnerable inside gift stores, jewelry stores, and the aisles of grocery (more...)

by Matthew O. Smith on April 25, 2008 02:45 PM

Project portletUnit

PortletUnit and Spring Portlet: Checking form validation errors

Spring Portlet allows validators to be added to SimpleFormController and objects that extend it. When the form is submitted, the validators are run and if any fail, the form is redisplayed with error messages indicating the problem areas. When testing with portletUnit, it is not obvious how to check if there were any form errors. Fortunately, using the render listener feature of PortletRunner, there is a simple way to check for validator errors.

WebResponse response = runner.getResponse(MAGIC_URL);
WebForm form = response.getFormWithID(PRINT_COMMAND);
form.setParameter(PrintData.PARAMETER_NAME_PURPOSE, REPORT_PURPOSE);
SubmitButton button = form.getSubmitButtonWithID(IDPRINT);
runner.addRenderListener(new PortletUnitRenderListener() {

public void after(Portlet arg0, RenderRequest request, RenderResponse arg2) throws Exception {

BindException bindException = (BindException) request.getPortletSession().getAttribute(
"org.springframework.web.portlet.mvc.RenderErrors");

assertEquals(0, bindException.getErrorCount());
}

public void before(Portlet arg0, RenderRequest arg1, RenderResponse arg2) throws Exception {
// EMPTY
}

});
form.submit(button);


The trick is to know that the BindException object is stored in the portlet session with the name org.springframework.web.portlet.mvc.RenderErrors. Simply install a listener and in the after method check to make sure there were no errors. You can use the same technique to ensure validation errors really do happen.

by Matthew O. Smith on April 25, 2008 07:21 AM

April 22, 2008

The Best Clean Humor on the Internet

Bad Burrito Dreams

Dude, I think I ate bad burrito last night. A bad burrito? Yeah. It had like beans and chilis and I don't know what all else. Tasted ok but I had the weirdest dream afterward? Like Brittney Spears? No, I was like in Moscow and there were lots of people screaming I couldn't understand a word they were saying. Scary. Yeah, dude, but then there was this rock group from Finland called the (more...)

by Matthew O. Smith on April 22, 2008 08:38 AM

Software Ninja

101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness

I have committed to learning Flex and this looks like a great list of resources to help do that.

101 Adobe AIR Resources to Add to Your Toolbelt of Awesomeness: "The Adobe Integrated Runtime or AIR is a runtime environment for developing rich Internet applications. These applications can be deployed as a desktop applications. AIR applications can operate offline and can take advantage of additional functionality when connected to the Internet."

by Matthew O. Smith on April 22, 2008 06:59 AM

April 21, 2008

Ferocious Flirting: Making Marriage Wonderful

Kids tell: HOW DO YOU DECIDE WHO TO MARRY?

IMG_4673 Originally uploaded by mariacaridad HOW DO YOU DECIDE WHO TO MARRY?(written by kids) ----- You got to find somebody who likes the same stuff. Like, if you likesports, she should like it that you like sports, and she should keep the chips and dip coming. -- Alan, age 10No person really decides before they grow up who they're going to marry. God decides it all way before, and you (more...)

by Matthew O. Smith on April 21, 2008 08:49 AM

The Best Clean Humor on the Internet

Evolution and the Family Tree

Hot lips Originally uploaded by hvhe1 A little girl asked her mother, "How did the human race appear?"The mother answered, "God made Adam and Eve and they had children and so was all mankind made."Two days later the girl asked her father the same question. Thefather answered, "Many years ago there were monkeys from which the human race evolved."The confused girl returned to her mother and (more...)

by Matthew O. Smith on April 21, 2008 08:07 AM

Time for teletubbies, Time for teletubbies ..

Time for teletubbies, Time for teletubbies .. Originally uploaded by jwlphotography (more...)

by Matthew O. Smith on April 21, 2008 07:42 AM

April 18, 2008

The most interesting thing of the moment

Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy - Waxy.org

For those of you who remember Zork, HHGG (how do I get that stupid fish in my ear?) and the other Infocom games, this is a must read for you. For the rest of you, there is a whole other gaming world you may not even know existed. Milliways: Infocom's Unreleased Sequel to Hitchhiker's Guide to the Galaxy - Waxy.org: "a complete backup of Infocom's shared network drive from 1989. This is one of (more...)

by Matthew O. Smith on April 18, 2008 10:00 AM

Software Ninja

InfoQ: Top 10 Mistakes when building Flex Applications

As I am learning flex, it is nice to see what not to do.

InfoQ: Top 10 Mistakes when building Flex Applications: "In this post, Adobe’s James Ward teams up with InfoQ.com to bring you another Flex Top 10 (our most recent Flex Top 10). Flex is an open source application development framework for building rich Internet applications that run in the web with Flash Player, or on the desktop with Adobe AIR. Overall, Flex is a powerful framework that is easy to use, but today let's focus on some of the common mistakes that are made when building Flex applications."

by Matthew O. Smith on April 18, 2008 09:47 AM

Ferocious Flirting: Making Marriage Wonderful

Forgiveness

Everybody gets thorns or slivers stuck in their fingers every once in a while. Those sharp little splinters that are so easy to get in and so difficult to remove. It is amazing how such a small object embedded in the skin can hurt so much. Sometime they even require tweezers and a magnifying glass to pull it out. But oh the relief once it is out. Sometimes my kids want to leave it in. They (more...)

by Matthew O. Smith on April 18, 2008 06:21 AM

April 16, 2008

The most interesting thing of the moment

Quote on sowing and reaping

A tree is known by its fruit; a man by his deeds. A good deed is never lost; he who sows courtesy reaps friendship, and he who plants kindness gathers love. St. Basil (329-379, Bishop of Caesarea) (more...)

by Matthew O. Smith on April 16, 2008 07:54 AM

April 14, 2008

The Best Clean Humor on the Internet

Flex, Spring and BlazeDS: the full stack! (Part 1)

I've decided that it is time for me to learn a new language and I have decided on Flex. This article looks like a good place to start. Flex, Spring and BlazeDS: the full stack! (Part 1): "!n this article series, Ill try to give you a step-by-step process to create an application with Flex/BlazeDS/Spring/Hibernate/MySQL architecture, all of that built with Maven. Ive been looking for such a (more...)

by Matthew O. Smith on April 14, 2008 05:48 AM

Software Ninja

Flex, Spring and BlazeDS: the full stack! (Part 1)

I've decided that it is time for me to learn a new language and I have decided on Flex. This article looks like a good place to start.

Flex, Spring and BlazeDS: the full stack! (Part 1): "!n this article series, I’ll try to give you a step-by-step process to create an application with Flex/BlazeDS/Spring/Hibernate/MySQL architecture, all of that built with Maven. I’ve been looking for such a tutorial for a long time, but you know what Gandhi said about the change you wish to see in the world, right? So I finally put all the parts together, and with a little help from a Brazilian friend, tadaaaa! Here it comes!"

by Matthew O. Smith on April 14, 2008 05:48 AM

April 10, 2008

The Best Clean Humor on the Internet

At least it has lines

Soccer Field Originally uploaded by FloSchMUC As a little league soccer coach, sometimes the fields are in pretty bad shape. At least this one has lines chalked in. (more...)

by Matthew O. Smith on April 10, 2008 02:05 PM

Ferocious Flirting: Making Marriage Wonderful

Ferocious Flirting: Making Marriage Wonderful now available on Amazon

Ferocious Flirting: Making Marriage Wonderful is published by the Cleverly Group and is now available for order on Amazon. We are all really excited about this new book. The original content has been grouped into sections to make the ideas really stand out. In addition, each section has an illustration by Val Chadwick Bagley. Thank you all for your kind support. (more...)

by Matthew O. Smith on April 10, 2008 09:16 AM

April 2, 2008

Software Ninja

Checking for any property in a bean

I came across a situation the other day at work where I needed to know if any property was set on a bean. There are a couple of uses cases that involve checking that a bean being used as a value object or transfer object has at least one property set before doing some heavy lifting based on the contents of the bean. The two use cases involved doing a database query or generating XML based on the bean. If the bean is empty, the query does not need to be performed or the XML does not need to be generated.

The first solution is a simple if-else-if chain:

if(bean.getProp1() != null) {
return true;
} else if(bean.getProp2() != null) {
return true;
} else {
return false;
}

There are a couple of problems with this approach. First, it is just plain ugly for more than a couple of properties. This ugliness quickly translates into a high cyclomatic complexity for more than a few properties. The code also leads to maintenance bugs as it is easy to forgot to add new properties to the chain.

I took a survey of a few of my coworkers and we came up with several solutions.

hashCode



If hashCode is defined to return zero (0) if none of the properties are set and a standard hash code otherwise, then hashCode makes a good candidate for checking if any property has been set. In practice, simple unit tests proved that the algorithms for setting hashCode do not lend themselves nicely to having a predictable value, like 0, for when none the properties are set. The hashCode ends up being based on the number of properties as well as the content.

Dirty Bit


This solution consists in a adding a boolean flag to the the object, anyValue. The flag is set to false and every setter would set it to true. Then a new method, hasAnyValue would simple return anyValue.


public void setProp1(Prop1 newProp1) {
prop1 = newProp1;
if(newProp1 != null ) anyValue = true;
}

public boolean hasAnyValue() {
return anyValue;
}


We decided against this one for a couple of reasons. While it removes the cycolmatic complexity problem, is fast and is easy to understand, it still has the problem of a maintainer forgetting to add the assignment of anyValue to true in new setters. Also, it does not handle the case where a property is set back to null after having been set to a new value. Using a counter that is incremented and decremented would work around that problem.

This method works well where only a subset of the properties need to be checked. The only the relevant setters need contain the anyValue assignment.

AOP



Using aspects to make the assignment to anyValue removes the maintenance problem of forgetting to make the assignment by adding another level of complexity to the application. If an application already makes use of aspects, this would make sense. Adding aspects for just this use case would have been swatting mosquitoes with sledge hammers.

Reflection



Another approach would be to remove the anyValue field and change the method hasAnyValue to use reflection to introspect the properties and return true if any of them is non-null. While this would work, reflection code is ugly and hard to understand.

BeanUtils



Fortunately, the nice folks at Jakarta have a Commons BeanUtils package that performs operations on beans. While I couldn't find a method that checks for any value being set, there is a method that retrieves all the properties of a bean into a map: PropertyUtils.describe
Using this, the hasAnyValue method becomes:

public static boolean hasValue(Object object) {
Map describe;
try {
describe = BeanUtils.describe(object);
for (Iterator iterator = describe.entrySet().iterator(); iterator.hasNext();) {
Map.Entry entry = (Map.Entry) iterator.next();
if (!"class".equals(entry.getKey()) && entry.getValue() != null) {
return true;
}
}
} catch (IllegalAccessException e) {
LOG.error("Failed to check hasValue 1", e);
} catch (InvocationTargetException e) {
LOG.error("Failed to check hasValue 2", e);
} catch (NoSuchMethodException e) {
LOG.error("Failed to check hasValue 3", e);
}
return false;
}


This solution provided the flexibility of the reflection solution without having to maintain the reflection code. Note: I have not checked this with primitive properties. One drawback is that this solution is slower than any of the others because it reads all properties, even if all of them are non-null. If more speed is needed or if only a subset of properties need be checked, consider using the dirty bit solution.

by Matthew O. Smith on April 2, 2008 06:45 AM

March 28, 2008

The most interesting thing of the moment

A Victim Treats His Mugger Right : NPR

A Victim Treats His Mugger Right : NPR: "If you're willing to risk your freedom for a few dollars, then I guess you must really need the money.”" This is a great story and well worth using in a speech. (more...)

by Matthew O. Smith on March 28, 2008 01:25 PM

The Best Clean Humor on the Internet

Sneezing Panda

Be sure you can hear the sound. (more...)

by Matthew O. Smith on March 28, 2008 12:52 PM

Zarahemla On-Line

Mormons for open source | The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs

Mormons for open source | The Open Road - The Business and Politics of Open Source by Matt Asay - CNET Blogs: "It does my heart good to see my church putting its tithing dollars to work in an inspired cause: open source. A friend just sent me a job posting on the LDS Church's website calling for a Linus Torvalds-like figure to lead open-source development efforts for the LDS Church and its IT projects."

by Matthew O. Smith on March 28, 2008 12:28 PM

March 13, 2008

Ferocious Flirting: Making Marriage Wonderful

Life is romantic

I´M | romantic Originally uploaded by [Kantor] Life is a romantic business, but you have to make the romance.Oliver Wendell HolmesTake time today to do surprise your sweetheart. Buy some flowers for no reason. Write a small note. Make dinner reservations. Let your spouse know you are thinking of them. (more...)

by Matthew O. Smith on March 13, 2008 01:28 PM

The Best Clean Humor on the Internet

Lead us not ..

See The Pyramids Originally uploaded by aqui-ali When I was younger, I believed the line was "Lead a snot into temptation." I thought I was praying for my little sister to get into trouble. (more...)

by Matthew O. Smith on March 13, 2008 12:36 PM

March 12, 2008

Software Ninja

Internet Explorer 8 proposed 'features'

Over at Not Dead Yet is a list of proposed features for the upcoming Internet Explorer 8 including:

#8: "You have not installed Vista, therefore I cannot render this page."

#9: "You have installed Vista, therefore I cannot render this page."


Check out the rest of the list


by Matthew O. Smith on March 12, 2008 05:28 AM

March 11, 2008

Software Ninja

Code Buddy: The Art of the Weekly Code Review

As a software engineer for Intermountain Healthcare, I have been tasked with implementing a plan for code reviews on our team. After thinking about it for some time, I have decided to implement weekly code reviews as a nice balance of achieving the goals for having code reviews while overcoming some of the problems involved with more formal code reviews that happen at the end of the project.

A code review that happens at the end of a project has limited usefulness for the project itself. The later in the project life cycle the review is held, the harder it is to act on the issues. It is often too late in the project schedule to do anything about issues identified as part of the code review. The decision to meet the schedule versus fixing the code will always lean toward the schedule. Holding code reviews earlier in the project allows issues to be corrected with less impact to schedule.

On the other extreme is pair programming where code is continuously reviewed. While there is a lot to be said for this concept, there is a lot of drawback as well. One of the most important characteristics of an effective reviewer is being dispassionate. A person involved on a continuous basis with the code will tend to have a motivation to let things slide to meet the schedule. A person who is not so involved in the project can review the code with a more objective eye.

Code Buddy
Somewhere in-between the extremes of pair programming and end-of-projects code reviews is the code buddy. A code buddy is some one who reviews the code on a regular, in our case weekly, basis. To ensure objectivity, the code buddy does not work on the code base being reviewed. Instead, the code buddy is assigned from the people working on a different project or a different part of the same project.

To see why the code buddy works, a review of why code reviews are needed is helpful. As a team, we talked about what we wanted out of a code review. Those items follow with how a code buddy will or will not achieve that goal. Also, how we can measure the outcome for continuous improvement.

Produce higher quality products


This is one of those nebulous goals that is hard to measure. What this really needs is a definition of what is meant by higher quality code.

Find more bugs


There are several good static code analyzers like Checkstyle and FindBugs. which can identify bugs that are commonly overlooked. In addition to these tools, an effective code reviewer will identify bugs and potential bugs that are overlooked by the developer. The earlier in the process a bug is identified and corrected, the less costly the bug is to the project in time and money. Bugs can be caught throughout the process in roughly these steps, in order of increasing cost:
By identifying issues earlier in the process, a code buddy who reviews the code weekly helps meet deadlines and keep costs down.

Follow standards and best practices

Each organization identifies its own standards and best practices. Using automated tools as part of the continuous integration process will ensure adherence to some the standards. Others cannot be automated and it takes a human looking at the code to ensure that the standards are being met. The sooner a deviation from the standard is identified, to easier it is to correct. Looking at the code weekly ensures that the code does not deviate too far before being corrected.

Code buddies will also need on-going training in the standards and what to look for while reviewing. This will reinforce the standards for the whole team.

Identify security threats

In this day and age, security needs to be part of every project. However, security concerns are often separate from the business logic the developer is seeking to implement. By taking a regular step back for the business logic and looking at the code as a objective third party, the code buddy can help see security issues that a developer will overlook.

There are all sorts of security issues and a weekly code review of a snapshot will only be able to identify a subset of the issues. For example, the code buddy will not be able to see how seemingly in secure components interact in insecure ways. For this reason, a thorough security audit of the whole project should be conducted at certain milestones.

Find common solutions

Sometimes a developer write from scratch something that has already been written, reinventing the wheel. There are high quality libraries available both internal to an organization as well as from third parties. A code buddy can help reduce the overall code base by identifying these reinvented wheels and suggesting better solutions.

Makes it maintainable

The first question a reviewer should ask is would I want to maintain this code? If the answer is no, then the reviewer should identify the specific issues and bring them to the attention of the developer. It is important not to criticize the developer, but focus on the code.


Mentor and cross-train each other

As people review each other's code, they naturally learn things they can use in their own code.

Prevents the silo effect

The silo effect is what happens when a developer works under time constraints without anyone looking at the code. Corners get cuts, short cuts taken and really strange things happen in the dark. A regular review sheds needed light on the code and encourages developers to write it right the first time.

Improve performance

Like security, performance happens a many levels. A code review can identify some obvious problems, however any issues identified in a code review should be reviewed by a profiler to ensure that there really is a performance issue. Sometimes efforts to improve performance have the opposite effect.

Verify unit tests are being written

Unit tests are most effective when written early in the project. A weekly code buddy can verify that code has corresponding unit test.

Code buddy process
Each week the developer will create a code review in Crucible, which is a code review tool that integrates with source control like subversion and cvs. The code review consists of all code committed in the last 7 days. The members of the team, a code buddy and a code captain, either a team lead or other who helps facilitate the review, are invited to the review. Using crucible, the code review can be setup in a matter of moments.

The reviewer is notified by email and logs into the crucible server and does the review. Crucible shows the reviewer only the code that has actually changed, think diff. This allows the reviewers to keep up on the changes without having to dredge through lots of code that has not changed. Also, if the committer attached the Jira issues, the reviewer can easily see the motivation for the change.

The reviewer can make make comments online. There is no need for a formal meeting. Instead, each logs into the tools and make comments. The other reviewers are notified by email when comments have been made, allowing them to respond in a timely manner.

Once all the reviewers have finished, the code either passes or the developer agrees to make the suggested changes. This may involve making new Jira issues to track the changes. The changes will naturally be reviewed in the following weeks as they are made and committed.


Encouraging effective code buddies
Some steps to ensure that the reviewers are being effective


Code Buddy Checklist


by Matthew O. Smith on March 11, 2008 07:34 AM

March 6, 2008

The most interesting thing of the moment

Presidential $1 Coin Program - Play Coin-Doku

My wife and I both enjoy sudoku and I found this on at the us mint. It uses coins instead of numbers which I find much harder. I will often count from 1 to 9 in a box, on a line or on a column to quickly identify which numbers are missing. Using some other token make me think about the tokens themselves and not just the placement. Presidential $1 Coin Program - Play Coin-Doku (more...)

by Matthew O. Smith on March 6, 2008 08:56 AM

February 28, 2008

The most interesting thing of the moment

A vote for Hillary now is a vote for McCain in November

Seriously America: Do we really want Bill Clinton loose in the White House again , this time with nothing at all to occupy his time? (more...)

by Matthew O. Smith on February 28, 2008 03:56 PM

Anatomy Of An Éclair

Anatomy Of An Éclair Originally uploaded by m0smith (more...)

by Matthew O. Smith on February 28, 2008 01:48 PM

February 27, 2008

The Best Clean Humor on the Internet

How to Identify an Elizabethan

How to Identify an Elizabethan Originally uploaded by m0smith Lice in hair -Hasn't bathed in 6 months -Dental Issues -Earrings -Doctor Prescribed Leech -Smells Bad - BO -Sewn on underware - (more...)

by Matthew O. Smith on February 27, 2008 08:45 PM

February 19, 2008

The Best Clean Humor on the Internet

Secret of Life

Geezer Crossing Originally uploaded by xxkrypticxx A woman walked up to a little old man rocking in a chair on his porch."I couldn't help noticing how happy you look," she said. "What's your secret for a long happy life?" "I smoke three packs of cigarettes a day," he said. "I also drink a case of whiskey a week, eat fatty foods, and never exercise." "That's amazing," the woman said. " (more...)

by Matthew O. Smith on February 19, 2008 01:40 PM

Free Screen Cleaner

Is your screen dirty? Do you wish you had an automatic screen cleaner that would keep your monitor spotless? See the free screen cleaner (more...)

by Matthew O. Smith on February 19, 2008 10:45 AM

February 16, 2008

Ferocious Flirting: Making Marriage Wonderful

Some things I learned from my dog

My dog Tess Originally uploaded by m0smith My dog is one of those happy, glad to see you, let's play tug o' war kind of dogs. Whenever there is someone at the door, she runs to see who it is. Sometimes she gets out but she always head home after not too long. She is also a great example of how to make someone feel good.1 Smile. This dog has a permanent smile. She always seems happy (more...)

by Matthew O. Smith on February 16, 2008 07:25 AM

February 15, 2008

The most interesting thing of the moment

Who makes your decisions?

Up until recently I was not affiliated with either party. This last primary I had to declare myself Republican so I could vote. That being said, I do not consider myself strictly Republican or Democrat. Neither party has a strangle-hold on good ideas or bad ones. In an effort to get more informed, I signed up for the newsletters for all the major candidates running for president. The news (more...)

by Matthew O. Smith on February 15, 2008 02:54 PM

The Stranger

...Out of the Fog Originally uploaded by ski 9 This is very interesting and not the ending I had expected!!!!A few years after I was born, my Dad met a stranger who was new to our small Texas town. From the beginning, Dad was fascinated with this enchanting newcomer and soon invited him to live with our family. The stranger was quickly accepted and was around from then on.As I grew up, I (more...)

by Matthew O. Smith on February 15, 2008 12:31 PM

Ferocious Flirting: Making Marriage Wonderful

The other 364 days a year

Valentine's Day has come and gone. The flowers given, the cards read and the chocolates eaten. Rather than being the end of romance, Valentine's Day can be the seeds that are planted in the garden. If the seeds that were planted on February 14th are tended properly, they will yield a romantic harvest all year long. In a garden, the best results come with a little effort applied regularly. (more...)

by Matthew O. Smith on February 15, 2008 11:23 AM

February 12, 2008

Ferocious Flirting: Making Marriage Wonderful

Kids tell it like it is

SOME SUREFIRE WAYS TO MAKE A PERSON FALL IN LOVE WITH YOU "Tell them that you own a whole bunch of candy stores." - Del, age 6 "Shake your hips and hope for the best."- Camille, age 9 "Yell out that you love them at the top of your lungs ... and don't worry if their parents are right there." - Manuel, age 8 "Don't do things like have smelly, green sneakers. You might get attention, but (more...)

by Matthew O. Smith on February 12, 2008 09:31 AM

February 11, 2008

The most interesting thing of the moment

kare11.com : KARE 11 TV - Health Care Article Health Care: Utah clinic gets it right

kare11.com : KARE 11 TV - Health Care Article Health Care: Utah clinic gets it right: "There are many Minnesota groups, including Mayo, trying to improve the healthcare system here at home and around the country. They say nobody has it figured out 100-percent, but they're clearly impressed with a group of clinics and hospitals known as 'Intermountain Healthcare' in Utah." (more...)

by Matthew O. Smith on February 11, 2008 01:10 PM

February 7, 2008

Ferocious Flirting: Making Marriage Wonderful

Valentine's Day gift ideas for 2008

Last year I posted a list of 10 Valentines day gift ideas that were out of the ordinary. This year, I want to continue the same theme. My wife and I were talking about what to get each other for Valentine's Day. Flowers tend to be quite expensive and short lived. Chocolate, while yummy and enjoyable, goes contrary to our efforts to get into better shape. We also have enough knick-knacks and (more...)

by Matthew O. Smith on February 7, 2008 08:46 AM

The Best Clean Humor on the Internet

Murphy and computers

upgrade-ram Originally uploaded by DiscoWeasel Murphy's best friend was a computer. (more...)

by Matthew O. Smith on February 7, 2008 06:55 AM

February 6, 2008

Ferocious Flirting: Making Marriage Wonderful

The Law of the Harvest

Strawberry heart Originally uploaded by Sesselja María .... for whatsoever a man soweth, that shall he also reap. (more...)

by Matthew O. Smith on February 6, 2008 09:01 AM

February 5, 2008

The most interesting thing of the moment

Deseret Morning News | Timeline: Thomas S. Monson

The Deseret News has posted a timeline of President Monson's life. I found it interesting that an Apostle would take time to get an MBA. I have been thinking about going to get an MBA which might be why it caught my attention. Deseret Morning News | Timeline: Thomas S. Monson: "Oct. 4, 1948: Graduated with honors from the University of Utah with a bachelor's of science in marketing. 1963: (more...)

by Matthew O. Smith on February 5, 2008 02:41 PM

Mac1984

(more...)

by Matthew O. Smith on February 5, 2008 02:12 PM

February 1, 2008

Software Ninja

M-X butterfly


Thanks to Sloth Dog for point this out to me. Yes, I use emacs everyday. I was unaware of the butterfly command though.

by Matthew O. Smith on February 1, 2008 07:20 AM

January 31, 2008

Ferocious Flirting: Making Marriage Wonderful

Date Idea: Feed the spirit

Just as a healthy body needs nourishment and exercise and a healthy mind needs nourishment and exercise, also a healthy spirit needs nourishment and exercise. For an excellent date, take your husband and wife and do something religious. This might be attending the temple, mass or some other meeting beyond normal Sunday services together. Many religions have volunteer opportunities that would (more...)

by Matthew O. Smith on January 31, 2008 07:58 AM

January 30, 2008

Project portletUnit

Using portletUnit with Maven Surefire

I have been using portletUnit with Maven and surefire. There are a couple of issues that need to be worked around.

Issue 1: Dependencies

portletUnit still relies on 3 special jar files and these need to be added to your local maven repository. The effort to move to a more stable dependency tree is underway.

Issue 2: Jasper classpath

Out of the box, surefire forks the unit tests. Jasper does not like it. If JSPs are complaining about missing classes, try turning off forking with:

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<forkMode>never</forkMode>
</configuration>
</plugin>

by Matthew O. Smith on January 30, 2008 12:00 PM

January 28, 2008

Zarahemla On-Line

LDS Newsroom - Beloved Church President, Gordon B. Hinckley, Dies at 97

LDS Newsroom - Beloved Church President, Gordon B. Hinckley, Dies at 97: "President Gordon B. Hinckley, who led The Church of Jesus Christ of Latter-day Saints through twelve years of global expansion, has died at the age of 97.

President Hinckley was the 15th president in the 177-year history of the Church and had served as its president since 12 March 1995.

The Church president died at his apartment in downtown Salt Lake City at 7:00 p.m. Sunday night from causes incident to age. Members of his family were at his bedside. A successor is not expected to be formally chosen by the Church’s Quorum of the Twelve Apostles until after President Hinckley’s funeral within the next few days."

by Matthew O. Smith on January 28, 2008 12:20 PM

January 26, 2008

The most interesting thing of the moment

Startup Says It Can Make Ethanol for $1 a Gallon, and Without Corn

Startup Says It Can Make Ethanol for $1 a Gallon, and Without Corn: "Besides cutting production costs to fire sale prices, the process avoids some key drawbacks of making ethanol from corn, company officials said. It wouldn't impact the food supply, and its net energy balance is high because the technique works almost anywhere using almost anything with great efficiency. The end result will be (more...)

by Matthew O. Smith on January 26, 2008 10:30 AM

December 11, 2007

Utah Obituaries

Davis County Clipper: Q3 2007

27.SEP.07Bryan Alan Baird 27.SEP.07Claudia A. Pope 27.SEP.07Duane Hymas Hansen 27.SEP.07Glen Johnson Behling 27.SEP.07Marie Moss Peacock 27.SEP.07Tina Sherlin Fuller Webb 25.SEP.07Glenn Eugene Ray 25.SEP.07Mary Hogge Blackhurst 25.SEP.07Mary Rae Kelvington Selin 25.SEP.07Melvin Hess Pederson 25.SEP.07Ronald K. Devereaux 25.SEP.07Scott Reid 20.SEP.07Paul D. Seiger 20.SEP.07Kay Rich Butters 18. (more...)

by Matt on December 11, 2007 04:56 AM

September 12, 2007

Signs of the Times

Quake triggers tsunami in Indonesia - Yahoo! News

Quake triggers tsunami in Indonesia - Yahoo! News: "JAKARTA, Indonesia - A powerful earthquake shook Indonesia on Wednesday, killing 10 people, injuring at least 100 and triggering a small tsunami that hit one city on the island of Sumatra, authorities said."

by Matt on September 12, 2007 10:37 AM

April 10, 2007

Grandma Jackman's Pictures

Mary Cook


2 pictures for you, originally uploaded by m0smith.

My Father's Mother. Ethel Brown's Father's Mother when she was 65 years old, she died at the age of 83. Her name is Grandmother Mary Cook Brown Gillespie. She was born in 1823 so the picture was taken about 1888.


by Matt on April 10, 2007 07:56 PM

March 16, 2007

m0 Chess

White to move and mate in 2


From a recent game I had against Tim, comes this board position. I was white and not in a very enviable position with Queen, Bishop and Knight all being under attack. Turns out to be a nice White to move and mate in two puzzle.

Post in the comments your answer. Remember, no cheating.

by Matt on March 16, 2007 07:19 AM

February 6, 2007

Sticks

1 Nephi 4:2


camel journey
Originally uploaded by nature adrift.
2 Therefore let us go up; let us be strong like unto Moses; for he truly spake unto the waters of the Red Sea and they divided hither and thither, and our fathers came through, out of captivity, on dry ground, and the armies of Pharaoh did follow and were drowned in the waters of the Red Sea.


Nephi continues to encourage his brothers by reminding of the story of Moses and the parting of the Red Sea. The story illustrates several points that directly relate to Nephi and his brothers returning to Jerusalem to get the brass plates from Laban.

First, that God was able to defeat the army of Pharaoh. Laman and Lemuel were justifiably frightened of Laban's guards. They were just 4 young men against trained soldiers. They really would not stand a chance of overcoming by force. Laban had also proved that he was greedy and bloodthirsty and had no problem ordering their death.

In many ways Laban's actions paralleled those of Pharaoh. Both were greedy, bloodthirsty and had little regard for human life. Both commanded an overwhelming army. Both were acting against the will of the Lord. Both armies were defeated without a sword needing to be raised. God did the fighting.

The story reminded the brothers that God will fight the battles of his servants.

Second, God commands the elements. Laban was able to command many men, but he had no control over the elements. Laban might command an army, yet god could destroy that army. The arm of God is mightier than the arm of man. We should put out trust in the arm of God.

Lastly, that they should have faith.

by Matt on February 6, 2007 09:00 AM

November 6, 2006

Project Topoged

GenealogyJ Integration

Since we are using the GenealogyJ GEDCOM importer, might as well integrate the rest of the project so we can have all the cool views. This will require examining the source code of the GenealogyJ project and determine how to map the Topoged Database to the data format expected by GenealogyJ

by Matt on November 6, 2006 06:38 AM

October 26, 2006

Building a second income stream

3 Amazing but little known Secrets to make your Website Blast to the top of Search Engines!


by Matt on October 26, 2006 12:17 AM

January 16, 2006

Best o' the web

Second Thoughts

What better than a site where you can get ll this stuf free! Second Thoughts: "# FREE PRE-SHAVE # FREE ANT DEATH # FREE CALENDAR # FREE SHOELACES # FREE MAGAZINE # ONE YEAR OF SECOND THOUGHTS # BUY 1 GET 1 LUNCH # FREE HEALTH BAR # FREE POSTER # FREE MAGAZINE" (more...)

by Matt on January 16, 2006 11:39 AM

November 10, 2005

Project Sewer

Tcl Chatroom

As sewer is starting out in Tcl, I've included a link to the Tcl Chatroom for getting help in developing sewer.

Also on Usenet, the comp.lang.tcl newsgroup. One of the most exceedingly helpful & friendly newsgroups on all of Usenet.

by Matt on November 10, 2005 08:34 AM