July 2010
M T W T F S S
« Jun    
 1234
567891011
12131415161718
19202122232425
262728293031  
Links

Author Archive

Send a Subversion Change Log from a Hudson build

For some time, I wanted to send out a Subversion change log from Hudson after a successful build showing all of the changes since the last build. (This is something I think Hudson should support natively - you can see a change log via the UI.) After some research, I came across Using Groovy with Hudson to send rich text email posted by "Chetan".

This solution works like a champ and is recommended. Two points - 1) if you are using Subversion, see the comments for the email template code for displaying the subversion log in the email - the main template code is not for Subversion; 2) I had to change ${fileEntry.editType} which displayed an object reference to ${fileEntry.editType.name} to display whether the file was edited, added or deleted.

 

Cyber Security Links from March 2010 SW Engineering Notes

The following links were published in the March 2010 ACM SIGSOFT Software Engineering Notes in the "Surfing the Net for Software Engineering Notes" by Mark Doernhoefer. This issues topic was Cyber Security.

 

Douglas Crockford - Quality

A coworker pointed me to the following video: Quality Software Development by Yahoo Architect Douglas Crockford (181 MB). The presentation from from the Yahoo 2007 FrontEnd Engineering Summit (March 7-8, 2007).

Below are my notes of the slide titles.

  • The Software Crisis
  • Craft vs Engineering
  • Computer Science has not taught us how to manage software projects
  • Software Construction (Good and Bad Analogy)
  • Nature of Software
  • Programming is Difficult
  • Lack of Metrics
  • Lines of Code - not good
  • Programmers are optimists
  • Programmers do not understand how they spend their time
  • Actual time typing is pretty small
  • Skeptical of anything that requires more keystrokes
  • Programming is a social activity
  • Cost of Innovation
  • Legacy
  • Leaps (of productivity? software capability?)
  • Object Oriented Programming (History)
  • Failed Leaps
  • Software does not have enough self awareness to be afraid of bugs
  • Bugs
  • Snake Oil / Silver Bullets
  • Mythical Man Month (1975)
  • Literate Programming (Knuth)
  • Significant difference in individual ability
  • Surgical Team (Harlan Mills)
  • Incrementalism
  • Beta (Perpetually Unfinished)
  • Application triad (skill, technology, requirements)
  • Feature Cost
  • Code Value
  • Code Quality (Micro and Macro View)
  • Simplest thing to enhance value of codebase - make more readable
  • Yahoo Javascript coding convention
  • Programs are a medium of intentional communications
  • Good architecture - necessary structure to keep from collapsing
  • How do we change a correct program into another correct program?
  • Cruft - “Software Scar Tissue”
  • Causes of Cruft
  • Bloat - “Software Cancer”
  • Insecurity
  • Cruft accumulates -> complexity groups -> progress slows
  • Refactoring
  • Sometimes it is best to start over
  • The pain of the crash
  • The illusion of completion
  • An experienced team can cross that ground again very quickly
  • Conclusion

 

June 2010 mensming Twitter Posts

Follow mensming on Twitter

RT @rodica: "at their core, phone companies are really billing engines. occasionally completing calls is only a favor they do for you."
5:49 PM Jun 29, 2010

Wanted: Young cyberexperts to defend Internet - http://bit.ly/bexXyg
7:15 AM Jun 29, 2010

Why Can’t Johnny Develop Secure Software?- http://bit.ly/cWXYnC
8:28 AM Jun 28, 2010

RT @scottwambler: The best devs have maintained someone else’s code and worked in ops. These are the ppl who understnd the impact of coding.
6:01 PM Jun 25, 2010

LinkedIn communications at center of unprecedented lawsuit - http://bit.ly/bnGpp0
6:26 AM Jun 24, 2010

Where are all the science majors? - http://bit.ly/bfKoXa
8:03 AM Jun 22, 2010

10 R&D Cybersecurity Initiatives Congress Seeks - http://bit.ly/a7wqy9
9:50 AM Jun 21, 2010

Data Show Increase in First-Time Science and Engineering Graduate Students - http://bit.ly/9GBV3Q
1:13 PM Jun 15, 2010

Data Show Increase in First-Time Science and Engineering Graduate Students - http://bit.ly/9GBV3Q
1:13 PM Jun 15, 2010

RT @conenza: All I Needed To Know About Social Media I Learned In Kindergarten: 15 Social Media Tips http://tinyurl.com/244b3jd
1:11 PM Jun 10, 2010

RT @johnhcook: New Capitol Hill bookstore caters to Seattle geeks. http://bit.ly/dlQlIt
6:02 PM Jun 11, 2010

RT @AutomatedTester: [Blog] Selenium StackExchange Proposal - http://bit.ly/atbyRI #Selenium
6:52 AM Jun 11, 2010

RT @yurechko: LimeWire owes $1B, but BP is only on the hook for $69M. Music sharing is 14.5x more damaging than a catastrophic oil spill.
5:17 AM Jun 9, 2010

A Selenium CaptureNetworkTraffic Example in Java - http://bit.ly/9hrWIG #selenium
7:12 AM Jun 3, 2010

NASA Fixes Bug On Voyager 2 - http://bit.ly/brNTZl
8:13 AM Jun 2, 2010

My old company SiteScout bought by Rubicon Project - http://bit.ly/9EdRyu
9:19 AM Jun 1, 2010

 

TestNG - Using Groups Example

One of the neat things about TestNG is the ability to annotate individual tests as belonging to zero or more groups. At execution time, it is possible to tell the test runner to run all tests in a particular group. In addition, tests in certain groups can be excluded so you can run all tests in a particular group except for those that are marked as broken.

The Apache Harmony project apparently uses TestNG. On their wiki, they describe their testing conventions for using groups. They have groups to identify tests that are operating system specific, processor architecture specific, feature specific, environment requirements, current state and test type. Worth checking out.

 

Facebook’s Lamp Stack

Many months ago, there was Slashdot posting regarding a video discussing how Facebook runs its LAMP stack. I finally got around to watching the video and it is worthwhile to view if you have an interest in how to run a high volume web site. In the video, Aditya Agarwal - Directory of Engineering at Facebook - describes the architecture and the lessons learned from scaling the site.

Recommended - view here.

 

May 2010 mensming Twitter Posts

Follow mensming on Twitter

"Failing organizations are usually over-managed und under-led" - Warren G. Bennis
9:01 AM May 30, 2010

OOPSLA to Debut in October with New Name: SPLASH - http://bit.ly/d9nLkAs
6:58 AM May 30, 2010

"Prediction is very difficult, especially about the future." - Niels Bohr
9:51 AM May 29, 2010

When good enough is better - http://bit.ly/a9EQ89 #performance
12:41 PM May 28, 2010

RT @java: "Most APIs are like hospital gowns, they seem to provide good coverage until you turn around." –William Vambenempe
7:53 AM May 28, 2010

Why Twitter Is the Future of News - http://bit.ly/9E1PLo
7:11 AM May 26, 2010

Just finished reading ‘Next Generation Java Testing: TestNG and Advanced Concepts’ by Cedric Beust, Hani Suleiman http://amzn.to/9DkZWc
9:09 PM May 25, 2010

Computer Science Shows How "Twitter-Bombs" Wield Influence - http://bit.ly/dbCNH3
7:40 AM May 24, 2010

Just finished reading: ‘The Art of Community: Building the New Age of Participation’ by Jono Bacon (http://amzn.to/ddvFJN)
6:16 PM May 20, 2010

Facebook vs. LinkedIn: Which has the better privacy? - http://bit.ly/aZMglM
7:25 AM May 20, 2010

Yale Scientists Explain Why Computers Crash But We Don’t - http://bit.ly/aR4AZc
10:54 AM May 19, 2010

A Brief, Incomplete, and Mostly Wrong History of Programming Languages - http://bit.ly/9Q49wW
7:02 AM May 18, 2010

IE6 past its expiration date, says Microsoft - http://bit.ly/cVOLHc
7:07 AM May 17, 2010

Google hiring 300 workers to pinpoint bugs in Google Maps - http://bit.ly/c3Qm9e
8:00 PM May 16, 2010

Carnegie Mellon Study of Twitter Sentiments Yields Results Similar to Public Opinion Polls - http://bit.ly/brhbWc
4:05 PM May 15, 2010

Scientists Seeking NSF Funding Will Soon Be Required to Submit Data Management Plans - http://bit.ly/aFYchS
8:05 AM May 14, 2010

Seattle has nation’s best economy - http://bit.ly/aUmm8f
6:52 AM May 13, 2010

RT @ourfounder: Tonight in Seattle I will speaking at QA SIG. Title: MetaQA - show them what QA really means. http://bit.ly/cEQXNt
6:10 PM May 12, 2010

RT @builddoctor: Green’s Opinion: Lava Lamps, Android and Continuous Integration http://bit.ly/c9ryV6
6:03 PM May 12, 2010

NSA’s boot camp for cyberdefense - http://bit.ly/9OhNYg
7:09 AM May 12, 2010

Linux machines linked to spam - http://bit.ly/9KFn6i
10:12 AM May 10, 2010

Microsoft Update keeps Office secure, says researcher - http://bit.ly/9XsxQL
8:00 AM May 7, 2010

Investigating converting from JUnit to TestNG…
12:19 PM May 6, 2010

Phishing "Education Test" is blocked…for phishing - http://bit.ly/a58bC4
8:25 AM May 6, 2010

Conenza comes out on top - introduces much anticipated evolved social platform for enterprises http://tinyurl.com/yckuww2
2:42 PM May 5, 2010

Twitter and the rise of data platforms - http://bit.ly/am8wdZ
7:56 AM May 4, 2010

Encrypt that data - A New Law Could Change the Way You Build Database Applications - http://bit.ly/9LTVzU
7:25 AM May 3rd

RT @QualityFrog: Like insurance, testing seems too expensive until you realize you didn’t have the needed kind at the right time.
6:59 AM May 2nd

Beginning to Learn TestNG

I have recently started to learn TestNG. There are two reasons for this. The first was an intriguing discussion I had with a test engineer candidate about a Selenium based system he had built on top of TestNG. More recently, a colleague suggested we convert from JUnit to TestNG for our Selenium tests to better allow us to use Selenium Grid.

My initial impressions are positive. However, I am just beginning. This is my initial set of reference materials:

 

Deadline Approaching - Call for Papers for ICSQ 2011 - Due May 30, 2010

The 2011 International Conference on Software Quality (ICSQ 2011) will be held in San Diego, CA between February 7 - 10, 2011. The theme of the conference is "High Reliability and Human Safety Critical Software".

The deadline for the call for papers is rapidly approaching - May 30, 2010. See the pdf for more details.

 

Reference: S.O.L.I.D. Principles Overview

This post is meant to capture Robert Martin’s S.O.L.I.D. principles (see The Principles of OOD for one of Martin’s original presentation of these items) and some related links. S.O.L.I.D. is an acronym of design principles for object oriented development.

The acronym stands for:

  • SRP: Single Responsibility Principle
  • OCP: Open Closed Principle
  • LSP: Liskov Substitution Principle
  • ISP: Interface Segregation Principle
  • DIP: Dependency Inversion Principle

Here is a list of sites to learn more:
The Principles of OOD- Robert Martin
Pablo’s Topic of the Month - March: SOLID Principles
Getting a SOLID start
dave^2 - An introduction to the SOLID principles of OO design