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
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."
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...)
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"
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...)
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...)
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...)
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...)
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...)
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...)
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...)
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...)
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...)
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."
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...)
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...)
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...)
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...)
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"
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...)
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...)
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."
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-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.
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.
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."
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."
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();"
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.
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...)
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...)
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.
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.
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...)
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."
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...)
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...)
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...)
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."
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...)
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...)
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...)
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!"
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...)
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...)
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.
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.
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:
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.
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...)
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...)
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...)
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:
not written - the cheapest bug to fix is the one never written
caught by the developer during coding, by running unit tests or through continuous integration - these bugs are quickly addressed and cost very little
caught by a code buddy - only slightly more costly than a unit test
caught by QA - now the bug will need to be reviewed and possibly effects the schedule
caught by a formal code review at the end of the project - might slip the schedule or may never be addressed
caught by a user - the most costly in time, money and reputation
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
on-going training on standards, security, etc.
switch code buddies every few months - codes people from getting too comfortable
provide a checklist of things to look for - one follows
Code Buddy Checklist
Would you want to maintain this code?
Is the intent of the changes in the code readily understood either from the code itself, the comment changes, the JIRA referenced or other supporting documentation?
Are there any security flaws?
Are there easy better ways of doing this? Things like: use standard libraries, a simpler algorithm, reduce complexity.
If a complex solution is required, is it properly documented in the code or the javadoc?
Does the code meet standards?
Are there unit tests for the public methods of public classes?
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...)
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...)
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...)
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...)
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...)
...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...)
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...)
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...)
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...)
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...)
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...)
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...)
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>
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."
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...)
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."
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.
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.
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.
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
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...)