Archives
-
John Morales is blogging!
John Morales joined thycotic back in October and has been impressing us since the start with his knowledge of keyboard shortcuts (how often do you see *your* fellow developers writing their own macros in VS.NET?), Regular Expressions, Resharper, DotLucene and his ability to solve problems. After a little prodding, we now have him blogging with a few gems already on Regular Expressions, a great CruiseControl.NET fix and at least one enjoyable rant. Subscribed.
-
thycotic becomes a Custom Development Microsoft Certified Partner
Our company, thycotic, has become a Microsoft Certified Partner in the new Custom Development competency that was launched in November 2005. This is the result of hardwork on the part of our development team in completing Microsoft Certification exams and many successful project experiences from our clients.
-
Interview with FusionAuthority on TDD to a ColdFusion audience
I was recently interviewed by Judith Dinowitz in this article from FusionAuthority. The interview came about after I blogged about my experiences presenting TDD at our local Maryland Cold Fusion User Group.
-
Keep the numbers meaningful in Security Reviews
I just came across this post (older) by Robert Hurlbut titled "DREAD is dead" and it reminded me of our experiences with these same ratings today. We are in the middle of a Security Review for a client and have been working through our threat model to assess the risk associated with each item. DREAD is a technique for assessing such risk using the factors: Damage potential, Reproducibility, Exploitability, Affected users and Discoverability. As Robert mentions, the idea is to rate the threat on each of these factors using a scale from 1 to 10. Then add up all the numbers for each threat (average it if you wish) and you can list the threats in DREAD priority.
-
Automatic reporting of client-side script exceptions
Error reporting is enormously powerful. Knowing when your customers are seeing errors is the first step to improving the quality of your application.
-
Working around global.asax at runtime
While this doesn't classify as great development practice, sometimes a well tested hotfix to a production site is just the right thing to solve a client's problem quickly. In our case, the problem was too many emails being sent due to ClientScriptExceptions (our own custom Exception that is thrown when a Javascript onerror event fires in the browser ... yes, we do some tricky stuff with an Image in Javascript to get the message back to the server). Anyway, the exception is caught in global.asax.cs in the Application_Error method.
-
Refactoring is not free (so defer it)
Paul Gielens has an interesting post discussing the cost of refactoring and deciding when to do so. I agree with Paul that refactoring is certainly not free and is in fact a very expensive process since it lacks one of the central benefits of Test Driven Development - knowing when you are done! The process of refactoring is very subjective and it is easy for a pair to spend extra time tweaking things with "Introduce Base Class", "Extract method" and "Introduce explaining variable" until it is just right.
-
When should ports go native?
Our product, Secret Server, uses the DotLucene API for searching of items ("secrets") in the application. DotLucene is an impressive API which creates index files on disk based on the data you feed to it. It then allows for some very powerful text searches to find data such as "amazon.com~" which will find all secrets containing various spellings of amazon.com. (More info here).
-
Summer Internship in Software Development with TDD and .NET
This is an opportunity to get incredible work experience with hardcore .NET consultants defining the current state of the art in Agile .NET development. A Thycotic Summer Internship in Software Development will allow you to work on interesting projects (such as Secret Server) and develop your own solutions working with security protocols, open source software and sophisticated encryption. You will work with highly experienced developers and learn to master the necessary skills to excel in today's competitive programming environment.
-
Scalable TDD
One of the problems that we come across as our projects mature is that the number of tests increase and so do test suite times. It seems inevitable ... something like the sun setting in the west and the CPU speed doubling every few years. The obvious problem with this inevitability is that it takes LONGER to test the entire application. Sweeping changes therefore take longer as the feedback loop increases and pairs have to begin context switching during the day ... "Did it get to green yet? No ... where were we?"
-
Microsoft Mid-Atlantic Security Code Camp - sessions announced!
Andrew Duthie (our local DE and organizer extraordinaire!) has published the session list for the Microsoft Mid-Atlantic Security Code Camp this Saturday (10/29/2005). There will be a good mix of content and interesting speakers.
-
Tag based languages - ColdFusion, CFUnit, mind shifts ... and TDD.
Earlier this week, I presented at the Maryland Cold Fusion Users Group on Test Driven Development (TDD). Let's get this straight, I had never used ColdFusion before and I happily installed it at 8:30pm the night before the presentation. I was really presenting on TDD so how hard could this ColdFusion stuff be anyway ... ?
-
MVP Summit - Code Slam - GotDotNet Workspaces, Ward Cunningham and BlogML
Last night, the CodeSlam event took place at the Microsoft Company Store / Visitor Center (organized by Korby Parnell). The list of .NET developer celebrities was impressive and too numerous to mention! The purpose of the event was to evangelize the great things already happening and coming up in the GotDotNet Workspaces. Microsoft is taking online collaborative development seriously and there are exciting things on their way! (wish I could say more...)
-
Printable or ReadOnly pages in ASP.NET (code snippet)
You have an ASP.NET page that is full of great controls, functionality, etc. but now you need to print it or render a "readonly" view of the page. Wouldn't it be nice if there was a little ReadOnly property that you could flip to true on the page and that was it? Well ... there isn't. However with a little recursive code, you can achieve the same effect.
-
New Microsoft Partner Competency is coming for custom development shops!
Many companies are deeply embedded in pure Microsoft development (such as thycotic) but do not necessarily use any of the Microsoft server products (MS CMS, BizTalk, SharePoint) in their solutions. These shops are typically building applications using custom WinForm/ASP.NET, C#/VB.NET and a Microsoft SQL Server back end. This makes the Integrated E-Business Solutions competency impossible to attain and most of the others are not a good match either. Another option sounds like the ISV competency but this doesn't always fit either ... do you build a product to sell that can be tested? Often times the "product" is custom software that you don't own and can't share with anyone.
-
myclockwatcher.com - FREE coupon from PDC for all blog readers
The release of myclockwatcher.com 1.2 was timed for PDC. We strolled around PDC handing out business cards with coupons and wearing our red hats and buttons. Here is a picture from the Dr. Dobb's Journal booth where I had my picture taken:
-
PDC 2005 - Day Three Review
PDC is now over and I finally have time to tell you about Day 3. :-)
-
PDC 2005 - Day Two Review
LINQ and DLINQ are very powerful technologies. DLINQ seems very similar to Gentle.NET which we use on some projects. The mapping capabilities seem a much better solution to writing lots of data access to business objects glue code ... and let's not even get started on the evils of code generation. LINQ definitely seems to be the new announcement at PDC with lots of buzz and people talking about it.
-
PDC 2005 - Day One Review
The keynote was interesting, exciting and exhausting! The technology innovations and overall coolness just ran on for ages and became draining. It was also a first opportunity for me to see billg speak for the first time which was an experience. He had far less presence than I would have expected for a man of such remarkable success but was still an entertaining and highly informative speaker.
-
myclockwatcher.com 1.2 is released - just in time for PDC!
Nothing like a deadline to focus the mind. Our goal is to promote the new version of myclockwatcher.com this week at PDC in Los Angeles. We have worked hard to get some great new features into the latest version in time for the conference.
-
When your code is reused
I am back from a weeks break in one of my favorite places - the Outer Banks in North Carolina. After much sun, playing with my new toy and getting to spend quality with the family - it is time for a "just back" blogpost. I am sifting through the inevitable pile of email and came across something that warms my heart ...
-
Pair Certification? (70-316 passed == MCAD)
Wednesday was thycotic's first Microsoft Certification Exam Day. This is a new initiative at our company to put dates to our goals and focus our minds on certification. Most of our consultants have one or two certifications on their list for annual employee goals. Human nature usually allows this to slip a few months or more as deadlines, projects, vacations and life in general seems to get in the way!
-
Remote interviews using VNC
thycotic is currently looking for a strong .NET developer with an interest in Test Driven Development to join our team. Part of our standard interview process is to "pair program" with a candidate to introduce them to one of our typical code bases, company APIs, team practices and general fit. I love this approach since it provides wonderful context for digging into the nitty gritty of their technical understanding. The approach is most definitely a two way street and both sides get to try out the fit - after all who wants to hire someone where the job isn't going to work out after a few months!?
-
Marketing Strategist / Analyst (Internship) for Thycotic (a growing software development company!)
Thycotic is looking for an intern to help with the current marketing efforts for our services and products. If you are creative, have strong communication skills and willing to bring new ideas to a growing software development company then drop me a line.
-
Is Lean an easier sell than Agile or Extreme?
Last Thursday (7/14/2005), Mary Poppendieck was hosted by a local consulting company (Sphere of Influence) and spoke on Lean Software Development. The session was fascinating and presented a new spin on many of the familiar Agile topics.
-
Another .NET TDD Developer opening at Thycotic!
Eric is doing it, so it must work! :-)
-
Thycotic's Jeff Schoolcraft does BOF at TechEd - TDD Web Applications!
Jeff Schoolcraft, a Thycotic consultant, will be leading a Birds of a Feather session on Test-Driven Web Applications at Microsoft TechEd in Orlando on Wednesday at 7:45pm to 8:45pm in Cabana 1.
-
MSDN Webcast on NUnitAsp was a blast! Download link and Q&A summary
Yesterday's MSDN Webcast on Test Driven Development with NUnitAsp was a lot of fun! Attendance peaked at around 130 people during the session and yes, some of them even stayed the whole way through! :-) A big thank you to my fellow Thycotic consultant, Jeff Schoolcraft, who fielded attendee questions via chat during the entire session spreading TDD and our Thycotic approach.
-
Almost a Shore Thing
Jim Shore, one of authors of NUnitAsp, was going to be joining me on the upcoming MSDN Webcast for a cameo role to answer questions and add to the discussion. Unfortunately Jim's travel schedule was going to place him aboard an airplane about 20 minutes into the Webcast so it was a no go! :-) He is very enthusiastic about being involved in the future so hopefully we can get together to do something else.
-
Language style - are all .NET languages the same?
Thycotic has recently engaged on a consulting project that is completely VB.NET. This is not our usual (C#) stomping ground so there are plenty of opportunities for us to learn new things and make sure that we steer clear of the religious arguments! I have been developing primarily in C-style languages for most of my career so the transition has been interesting.
-
MSDN Webcast: Test-Driven Development with NUnitAsp (June 1 2005 4pm EST)
I will be doing my first MSDN Webcast on Wednesday, June 1st 2005 at 4pm EST. The session is only an hour so it will be mostly an intro to TDD in ASP.NET with some good pointers on NUnitAsp and how to piece it all together.
-
Thycotic.TddStarterKit and Thycotic.DatabaseScripter
The Mid-Atlantic Code Camp was an enormous success as everyone already agreed. The event featured two presentations from Thycotic for which slides and code are now available.
-
Thycotic's speaking at Code Camp Mid-Atlantic in Reston, VA
Jeff Schoolcraft and I will be presenting sessions at Code Camp in Reston, VA on May 7th 2005. The event is a free all day event hosted at the Microsoft Reston office. The session list looks awesome!
-
Consultants versus Contractors / Consultancies versus Recruiters
Steve Eichert points to "Consulting vs. Contracting" which has a nice discussion on the difference between the two. Having been on both sides of the fence, I agree that consulting is the favorable option. At Thycotic, we have the support of our team, the reputation of the company and the strength of our accomplishments in the form of successful projects, products, training and speaking engagements.
-
TechEd 2005 - 3 strikes, I'm out!
TechEd is a great conference with loads of buzz, technology and people that make such events the place to be. Last year, I was able to give a presentation in the Development Cabanas on Test Driven Development with ASP.NET and helped out fielding technical questions in the same cabanas which gave me complimentary access to the conference!
-
David Patton presents Agile .NET to an XP audience
David Patton gave a presentation at the Washington DC XP User Group on Monday night. It was different to the typical XP/TDD presentation due to the audience (who needed no introduction to TDD!) and also David's experiences. It was interesting to hear the audience's surprise at the maturity of the tools for Agile development on the Microsoft platform and also to hear the comparisons to tools on other development platforms.
-
Jeff Schoolcraft speaking on Regular Expressions in Rockville tonight!
Jeff Schoolcraft, a Senior Consultant with Thycotic Software Ltd, will be speaking on "Regular Expressions - Theory and Practice" at the WinProTeam Rockville .NET User Group meeting tonight.
-
MVP Reawarded!
I received an email on Saturday reawarding my MVP status for another year which is just wonderful!
-
Chomping the dog food with a nice Chardonnay
Joel Spolsky has written an interesting piece about the idea of "eating your own dogfood" which simply means using your own software - people who buy dogfood don't eat it. Over the years, I have seldom been in the position to use the software that Thycotic Software Ltd has developed. The software has usually been out of my realm of usefulness - how many of us even know the slightest thing about chromatography, sewer planning or asbestos claims for that matter?
-
DC Housing Market versus 70-320
This weekend we purchased a condo in the Washington DC area and I passed the Microsoft 70-320 exam ("Developing XML Web Services and Server Components with Microsoft Visual C# .NET and the Microsoft .NET Framework"). The natural question for any techie then would be: which was harder?
-
Eric Sink talks through the Team System pricing question.
Eric Sink discusses his views on why Team System is priced at its current level and also may set you straight on what you do and don't get with MSDN Universal. MSDN Universal is a wonderful product and probably a great way to get pricey (more than $2000) server products into the hands of those who otherwise might not try them. Unfortunately you will still need a client who can afford the licensing to purchase those server products for your applications. This can often be a barrier to consulting shops who would otherwise like to gain real-world experience in technologies such as BizTalk, Microsoft Content Management Server and Microsoft Commerce Server.
-
Maintenance Complexity leads to more methods?
Mark Miller talks about a new metric he is calling Maintenance Complexity. The system assigns operators and constructs a point score representing their contributing complexity. A method is then analyzed and all the points add up to yield the Maintenance Complexity score. I like the concept but tackling a report of complex methods would probably just result in breaking them apart into more methods. Many might argue that this is a Good Thing although it really depends on how the methods are split.
-
Code Camp hits DC area in May!
Andrew Duthie (the Mid-Atlantic Microsoft .NET Developer Evangelist) mentions that Code Camp will be coming to the DC area in May. Stay posted for details of this full day FREE technology fest with lots of great technical content from the local community. This promises to be a local event that you don't want to miss.
-
Ultimate Pair Programming Setup might not be so ultimate.
Jeff talks about some of our new ideas and options for improving the old "Ultimate Pair Programming Setup". Some of the obstacles we are trying to overcome are:
-
Pair Programming as an interview tool
Jeff Langr talks about his experiences in Pair Programming Observations. Some interesting perspectives on pairing developers of different skill levels, the benefits to different stakeholders and best practices when pairing.
-
Adding CAPTCHA to FlexWiki
Blog spam sucks but being hosted on weblogs.asp.net doesn't leave a lot of options at the moment. Blog spam could seen as a personal attack on your good nature and an attempt to mess with your small expression outlet to the rest of the world? Wiki spam on the company wiki however, is outright war! :-)