All atomic-powered posts from November 2008:
Making better estimates: team estimates
Part of a series on Making better estimates. The team needs to own the estimate, so the team needs to make the estimate.
Read the rest of this entryMaking better estimates: decomposition
Part of a series on Making better estimates. Decomposition, breaking big things into multiple small things, is a critical element to improving your estimates.
Read the rest of this entryMaking better estimates
A friend asked me on the spur-of-the-moment to give a short talk on estimating for his team-lead meeting. They were facing the somewhat daunting task of estimating and planning phase three of a large enterprise software adoption project.
Trying to provide help to another team made me reflect on this question: Why is estimation so hard, and so disliked by technical staff?
I’ll be making a series of posts on what we’ve learned at Atomic about how to improve estimates and the estimation process.
Read the rest of this entrySolaris, Joyent, Apache, and Rails maintenance page issue
My pair and I are using a Joyent slice to host one of our rails web applications. Today, we needed to make some updates on our site and did not want anyone navigating the site during this process. It was time for us to add the widely published maintenance.html lines to our apache.conf file so that capistrano could help us display our maintenance page to our viewers easily.
1 2 3 4 |
# Check for maintenance file and redirect all requests
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /system/maintenance.html [L] |
To our surprise after running the following capistrano command and navigating to our site we found a 403 error page instead of our expected maintenance page.
cap deploy:web:disable |
After doing some research we discovered that our Joyent accelerator had a problem with the /system path. We were able to solve this problem by modifying our apache.conf in the following way.
1 2 3 4 |
# Check for maintenance file and redirect all requests
RewriteCond %{DOCUMENT_ROOT}/system/maintenance.html -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ %{DOCUMENT_ROOT}/system/maintenance.html [L] |
This thread gives a good explanation.
Embedded Developers Slowly Getting the Agile Crazy in their Brains
Greg and I attended Embedded Systems Conference Boston 2008 a couple weeks ago. We presented an Agile Project Management class and a session on Feature-Driven Design with our friend and colleague Mark Vander Voord.
It was a markedly different experience this year versus last.
Read the rest of this entryEmbedded Testing Tool Goodness Now Available
It’s been a long time coming. Funny how real work can get in the way.
- Unity – Unit Test Framework for C
- CMock – Mock Object Generation Framework for C
- CException – Exception Handling in C
Unity and CMock began life as quick and dirty little tools Atomic Object used internally for our first client embedded projects. CException was born in our most recent X-Rite work. Our colleague at X-Rite, Mark Vander Voord, made significant contributions to all three – especially CException since he wrote the whole darn thing.
Visualizing XIB/NIB Files
I have been using Interface Builder to instantiate and establish connections between all of the objects in an iPhone application Atomic has been working on. At the end of the project I wanted to visualize the entire application structure and the relationships between all of the objects. Alas, there were no obvious tools or applications that I could find to do this.
As a result I created a ruby script that parses an interface builder file, builds a dot graph structure, and writes it out as an image. The script can be freely downloaded here. There are a few external dependencies that will need to be installed for it to be fully functional.
Read the rest of this entry

