NDatabase and NCore projects have been consolidated into a new CodePlex project called, of all things, Software Is Hardwork. This new CodePlex project will contain new solutions aiming to provide value to the developer community. The first solution introduced in the CodePlex project is Software Is Hardwork Library. It will initially house the NCore (now SoftwareIsHardwork.Core) and NDatabase (now SoftwareIsHardwork.Database) code. Software Is Hardwork on CodePlex…
Software Is Hardwork
ISimplicityAffinative: The endless pursuit of anti-complexity.The technology-centric blog of D. P. Bullington.
Blog Post(s)
NDatabase and NCore Consolidation - Software Is Hardwork on CodePlex
Friday, May 30, 2008
Posted by D. P. Bullington at 3:59 PM 0 comments
Labels: Development , NCore , NDatabase , OpenSource , SoftwareIsHardwork
Resharper: The New Software Estimating Tool
Thursday, May 29, 2008
Today, I was asked to provide an estimate of effort required to rip out a few entities in the subsystem I am generally responsible for. I thought that I really did not have any basis to provide any meaningful estimate due to the lack of, nor necessity of, “requirements”; this was a moderate refactoring job for the most part. My initial thought was to fire off an email, containing a number of hours of effort pulled out of the clouds. Then reality set in and I knew I really wanted that basis or some other metrics to provide an estimate to some degree of accuracy. So I started thinking: the refactoring job was purely code based; why not use the code a metric.
When I think of code, the first thing that comes to mind is Resharper. I started by writing out all the entities which needed “touching”; either removal, alteration, or replacement. I then used Resharper to easily get a count of “usages” of each entity which will be used as the metric for the estimate. If you think about it, a usage of a type/member/etc. is a natural point in which to determine level of effort. Any changes needed to bring a specific usage in line with the proposed refactoring are efforts needing accounting for.
Clearly, each usage which needs a changes will take effort different from another usage; that is okay, I decided to that for a single usage, an average level of effort in hours would suffice of this estimate. So, looking over a few usages ranging in difficulty, I came to an estimated average level of effort of 0.25 hours (15 minutes) per usage. There were a total of 171 usages of all the affected entities, thus:
(171 usages†) * (0.25‡ hours per usage) = (42.75 hours) + (4.275†† hours) = 47.025 hours total
Note the added 10% buffer for the unknown.
In a nutshell, I was able to play an estimating game at the source code usage level, with the help of trusty ole Resharper.
Posted by D. P. Bullington at 4:59 PM 1 comments
Labels: Agile , Development , Estimating
30 Days of Windows Server 2008
Tuesday, May 27, 2008
It has been 30 days since I began using Windows Server 2008 as a development box. I am totally impressed. Microsoft did it right. Rock solid and performant; well played.
Posted by D. P. Bullington at 2:27 PM 0 comments
Labels: Development , Microsoft , Opinion , Server2008
Are Microsoft products adequate for use in safety-critical applications?
Wednesday, May 21, 2008
This question was recently posed on LinkedIn: "Are Microsoft products adequate for use in safety-critical applications? For years, developers of safety-critical applications have shunned Microsoft products. Is this fair, or do the Microsoft products deserve their poor reputation. After you answer this question, be sure to go to my profile and join the Safety-Critical Professionals group so you can link with other like-minded professionals." My answer: I would only put my life in the hands of the most talented persons (e.g. doctors, lawyers, software engineers); Microsoft has a long track record of hiring very talented engineers to create their product offerings. The second question then becomes: is the company implementing company X (including Microsoft) products for use in safety-critical applications hiring the most talented persons to implement and extend the products of company X? Answering “no” to the second question can have a false-negative impact on the first question. Get your own house in order first, before laying blame elsewhere.
Do Not Use LinkedIn as a Sales Lead
Thursday, May 8, 2008
I received an unsolicited sales telephone call and a follow-up email from a guy who found me on LinkedIn:
Thank you for taking the time to review this information. I have written a brief overview of the reason for my call. Feel free to forward this information on to anyone who may be interested in learning more about CIGNEX. For more information, you can visit our website at www.cignex.com .
Cignex is an open source consulting firm and system integrator. We build custom applications with Java and Python, and we are the leading global systems integrator for Alfresco, Liferay, and Plone. We are actively looking for strategic partnerships, and I was looking to speak with whoever is in charge of application development in order to set up some time with them to discuss CIGNEX and open source.
Feel free to get in touch with me by phone or email with any questions or to set up a time. Thank you again for your time today, and I look forward to hearing back from someone soon!
Best Regards,
Andrew Sompels
Sales and Marketing Representative
CIGNEX Technologies, Inc.
1332 W. Lake, Ste. 201
Chicago, IL 60607
Work: (408) 969-0257
Mobile: (312) 515-0395
Fax: (248) 572-3466
Email: andrew.sompels@cignex.com
My only though was “Wow, how about that. Solicitation for a sale via professional social netwoek sites – it was only a matter of time...” :)
Posted by D. P. Bullington at 8:54 AM 0 comments
Labels: Opinion
My Open Source Projects
Speaking Enagements
- 11/18/2010 | Charlottesville .NET Users Group | Charlottesville, VA | Topic TBD
- 09/14/2010 | Hampton Roads .NET Users Group | Cheaspeake, VA | Topic TBD
- 07/01/2010 | Richmond .NET Users Group | Richmond, VA | Topic TBD
- (past) 12/08/2009 | Hampton Roads .NET Users Group | Cheaspeake, VA | SharePoint Antithesis - A Case Study in Pragmatic Software Architecture and Engineering Processes
- (past) 10/04/2009 | Richmond Code Camp 2009.2 | Richmond, VA | Soothing the Pain Points: Data Access, Validation, Rules, UI, Presentation, et. al
- (past) 07/23/2009 | Charlottesville .NET Users Group | Charlottesville, VA | Debugging on the Windows Platform
- (past) 05/23/2008 | NoVa CodeCamp 2009.01 | Reston, VA | Going Proxy-less - The WCF Proxy Factory
- (past) 04/25/2009 | Richmond Code Camp 2009.1 | Richmond, VA | Software Programmer to Software Engineer: Concepts to Span the Divide
- (past) 02/05/2009 | Richmond .NET Users Group | Richmond, VA | Debugging on the Windows Platform
- (past) 10/04/2008 | Richmond Code Camp 2008.2 | Richmond, VA | Going Proxy-less - The WCF Proxy Factory