- Email/Calendar - Gmail and GCalendar, activate offline support in the browser, perfect for the train. I have not used a thick email GUI in years. If you want a thick email client look at Thunderbird 3.0
- VirtuaWin - Windows Virtual Desktop Manager
- DropBox - free distributed file manager
- KeepPass - Password Safe for all your credentials
- Evernote - Distributed note taking application: Web, windows, Iphone, Android based. Take notes only once and have them everywhere.
- Bookmarks - Delicious Book Marks plugin for Firefox. Bookmarks in the cloud, just tag them.
- Web based documents - Google Documents. Everything in the cloud.
- Notepad++, best free text editor. Good plugins
- MS Word Replacement, too easy
- Web Page Development: Firebug plugin for Firefox.
- DVD ripping
- DVDShrink and DVD Decrypter (doom9.net)
- DVD Decrypter might not work with the new formats, so try the free version of DVDFab for that.
- Pictures
- Picasa, http://picasa.google.com/
- Creating PDFs from any applicatio, via print driver
- Windows Cleaning Tool - Clean Windows easily.
- Zip/compression - 7Zip
- File Backup. Areca Backup. Backups to another filesystem, such as a external hard disk. Simple and easy.
- http://sourceforge.net/projects/areca/
Sunday, January 31, 2010
Favorite Open Source Software Tools and Services
Just some of the great open source/free software tools I use everyday:
Wednesday, August 5, 2009
UniForum Presentation on Java Persistence Layering with Hibernate, Spring, and DBUnit
On Tuesday, August 4th I gave a presentation to UniForum Chicago about Java Persistence layering with Hibernate, Spring, and DBUnit. Details about the presentation are listed here.
The presentation was focused on proper laying with Dependency Injection, and the history of Hibernate Data Access Object (DAO) designs.
The slides and project source code can be downloaded from here.
The presentation was focused on proper laying with Dependency Injection, and the history of Hibernate Data Access Object (DAO) designs.
The slides and project source code can be downloaded from here.
Sunday, July 13, 2008
Introduction to Scrum Presentations
A presentation that I put to together to give an overview of SCRUM from an official textbook view.
Introduction To Scrum
Introduction To Scrum
Thursday, May 29, 2008
Relay Development
A friend of mine has a good post on relay development that is useful when working with remote teams.
Relay Development Best Practice
Relay Development Best Practice
Thursday, December 13, 2007
Schema Spy Database DDL Browsing Tool
Overview
It provides an HTML view of any database schema DDL. It is an open source Java tool that is run from the command line. The home page is: Schema Spy Home Page![]()
Setup
- Download the single jar from the web site
- Copy in the appropriate Oracle thin driver into the same directory
- Download Graphviz 2.8 from the Graphviz Archive Site at: Graphviz Archive Download Site
. Note the newer Graphviz libraries do not work and have been re-numbered, so you need the 2.8 archive version - Install Graphviz
- Use the following command to run the tool. You can copy this into a batch script.
echo running Schema Spy
java -jar schemaSpy_3.1.1.jar -cp ./ojdbc14-10.2.0.2.jar -t orathin -host hostname
-port 1521 -db dbName -u db_user -ppassword -ahic -cid -o output_dir -s schema_name
- The output will be in the "output_dir" directory.
Tuesday, November 6, 2007
When to Commit to Source Code Control
This is a good blog about when to commit. My view is that you should commit every day if possible. This is feasible because your code should always build and have tests, right?
http://damonpoole.blogspot.com/2005/07/check-in-early-and-check-in-often.html
http://damonpoole.blogspot.com/2005/07/check-in-early-and-check-in-often.html
Tuesday, October 9, 2007
Iteration Planning Meeting and Story Writing
One of the most important (possibly the most important) part of iterative development is the Iteration Planning Meeting (IPM) or Iteration Kick Off. If you do not have a well thought out IPM the whole iteration suffers. The IPM is most significant for the development team, it provides scope and focus where it is needed the most, at the story level. As a guideline, most agile stories should be well tasked out at the end of the IPM and have a 2 - 3 day duration.
To have an effective Iteration Planning Meeting (IPM) the possible stories that will go into the new iteration need to be well written before the iteration starts from both a business and technical level. This means some time must be devoted to story writing and scoping by the "development" team.
Some would argue that you scope out the story and tasks during the IPM as a group. That all sounds great, but in reality is does not work. Try to get 4 - 6 developers who might not understand the component or code to estimate and task out story that they have just read or thought about? The estimates and tasks will be of poor quality, which will result in story carry over or dropped scope.
If all the developers really know the code and completely understand the story then it is possible to get good estimates and tasks during an IPM, but again the developers are reading the story for the first time, you are still going to get lower quality estimates and tasks.
So, how do you improve this process. Over the last three years and three projects I have found the following to work well at the development team level:
The day before the next iteration, the development team spends about 1 to 2 hours to scope out the possible stories for the next iteration and updates the story card with a note or attachment providing the following:
- High level technical approach
- Required new modules
- Identity components that require updates
- Technical Risks
- List of tasks for the story with initial estimates
While scoping out the story, business will be engaged as required. The Iteration Planning Manager will be engaged if the story is too big or small and needs to be adjusted.
This activity is usually time-boxed to a few hours and spread across the team if possible. For example, give each developer one story or have a few developers work on a group of stories. Most importantly, there is NO meeting for this, this is done by the developers with whatever resources they need.
Once this is done, the IPM would have the following agenda:
- Bring up a story
- Developer who scoped it out would give a brief overview of the technical approach and hence the tasks listed.
- The team decides if the tasks are appropriate and the estimates realistic
- The team add/deletes/adjusts the tasks as required.
This approach provides the development team and hence management with a higher level of confidence of the deliverables for the iteration.
Are there other approaches or ideas that will help?
To have an effective Iteration Planning Meeting (IPM) the possible stories that will go into the new iteration need to be well written before the iteration starts from both a business and technical level. This means some time must be devoted to story writing and scoping by the "development" team.
Some would argue that you scope out the story and tasks during the IPM as a group. That all sounds great, but in reality is does not work. Try to get 4 - 6 developers who might not understand the component or code to estimate and task out story that they have just read or thought about? The estimates and tasks will be of poor quality, which will result in story carry over or dropped scope.
If all the developers really know the code and completely understand the story then it is possible to get good estimates and tasks during an IPM, but again the developers are reading the story for the first time, you are still going to get lower quality estimates and tasks.
So, how do you improve this process. Over the last three years and three projects I have found the following to work well at the development team level:
The day before the next iteration, the development team spends about 1 to 2 hours to scope out the possible stories for the next iteration and updates the story card with a note or attachment providing the following:
- High level technical approach
- Required new modules
- Identity components that require updates
- Technical Risks
- List of tasks for the story with initial estimates
While scoping out the story, business will be engaged as required. The Iteration Planning Manager will be engaged if the story is too big or small and needs to be adjusted.
This activity is usually time-boxed to a few hours and spread across the team if possible. For example, give each developer one story or have a few developers work on a group of stories. Most importantly, there is NO meeting for this, this is done by the developers with whatever resources they need.
Once this is done, the IPM would have the following agenda:
- Bring up a story
- Developer who scoped it out would give a brief overview of the technical approach and hence the tasks listed.
- The team decides if the tasks are appropriate and the estimates realistic
- The team add/deletes/adjusts the tasks as required.
This approach provides the development team and hence management with a higher level of confidence of the deliverables for the iteration.
Are there other approaches or ideas that will help?
Subscribe to:
Posts (Atom)
