Jonathan Cogley's Blog

C#, Test Driven Development, Remote Scripting, CShark, MVP C#, ASPInsider, Secret Server
Secret Server 1.2 is out! Release notes.

Our next release of Secret Server is out. This release includes lots of performance improvements and minor new features as per customer requests. We have also invested a lot of time in support for browser toolbars which we will be releasing soon. The browser toolbar will communicate with your Secret Server instance and automatically log you into web sites!

* Slashes are now escaped on Secret View page avoiding any clipboard failures
* Quick Search added to the tabs/toolbar
* Secrets can now be "deleted" (marked as inactive)
* Notes field is now multiline (like real notes)
* URL fields in secrets are now clickable
* Browse all was very slow and has been reworked for much better performance when there are lots of secrets
* Importer has been extended to support any Secret Type
* Enforces single browser per login for improved security
* Added "Bank Account" Secret Type
* Added more Remember Me settings to allow timeout after a period in minutes, hours and/or days
* Support for browser toolbar in Secret Server (via web services)

If you ALREADY have Secret Server installed then it will detect the new version and should offer an upgrade link in the toolbar (do not reinstall from the msi) (if your upgrade link is not showing then touch the web.config file and refresh the browser - this will cause Secret Server to check for updates).

If you do not yet have Secret Server installed then download it here (http://www.thesecretserver.com/download.aspx)

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Monday, July 03, 2006 2:52 PM by thycotic | 1 Comments

Presenting without slides

I tried something the weekend before last at the 3rd Mid-Atlantic Code Camp ... I went slideless!  I presented 3 sessions during the day and I did not have a single slide, not one, nada, nothing.  The good news was the audience loved it.  I took a few polls during the day and the response was definitely positive.

Pros:

  • Definitely an adhoc, adlib feel to the sessions - it was "real".  I even started the first session (The Tao of Test First Coding) by offering 3 choices of things we could build and opening the floor to other ideas - perhaps the audience hadn't consumed enough caffeine by 9am to appreciate the dynamic nature but it was still fun - unfortunately the whole Tao thing was a little lost too.  Not exactly the best idea to pair TDD (a process that takes a long while to truly grok) with an abstract concept like the Tao but I thought it was neat.
  • Less tedious preparation since I could just focus on the fun bits - the communication with the audience and the code.
  • Less conventional format - everyone seemed to wake up in their seats as if to say "Oi! What's going on 'ere?" - certainly got people's attention!

Cons:

  • Difficult to convey essential information (the whiteboards were on the side of the room - no, the back row can't see orange and it definitely takes longer to write things than to click Next)
  • No flow to fall back on.  I tried to have the flow of the session mapped out on a piece of paper that I kept to myself but it was less intuitive than simply following a deck.
  • Nothing to post afterwards.  I had a few people come to me afterwards asking for slides since they had unfortunately missed the sessions - can't help them a whole lot!
  • Hard to improve the session.  Usually you improve your deck based on feedback - this will be tricky since the session becomes so adhoc it is difficult to remember format.

Conclusion:

I definitely enjoyed the format more since I enjoy process and thinking on my feet.  The audience definitely preferred the code first approach and adhoc nature.  I think I will continue this format but need to figure out how to structure an overview so that I can:

  • improve sessions over time
  • have something to give attendees who miss the show
  • keep some kind of structure

Next time you give a session, go slideless!  It is fun.

 

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Friday, June 23, 2006 10:16 PM by thycotic | 4 Comments

Pair Programming at DC Extreme Programming User Group tonight!

I will be presenting on Pair Programming (something we practice daily at Thycotic) tonight at the Washington DC Extreme Programming User Group.  The session involves an exercise (which I have blogged about before) but it is always interesting to hear peoples opinions and past experiences.  Pair Programming is definitely something that can have great effect in the right setting but requires disciplined practices and the right people to work effectively.

Please stop by to join the group which meets from 6:45-8:45 pm at the SE branch of the
Washington DC Library.

We will also be giving away a 10 user license to our product Secret Server (worth $229) to some lucky attendee.  If you haven't tried Secret Server yet - you can download it here - it is the password repository that every development team should be using!

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Tuesday, June 20, 2006 8:11 AM by thycotic | 0 Comments

What motivates software developers?

Developers who simply work for a paycheck have different priorities so I am going to ask you to forget about them for a minute.  If you joined software development out of pure passion for the industry then you have a different agenda.  Building software is a very creative and constructive process but the intangible nature of software makes the parallels to traditional engineering difficult.  The job titles in our industry typically reflect some form of engineering but it seems to have lost its impact (Do most people think of a software engineer and a civil engineer having the same qualities?).  Yet we do still share many of the same feelings and priorities as conventional craftsmen. 

Things like:

  • A tendency towards perfectionism (ever caught yourself tweaking the UI or code a little to get it aligned just right?)
  • Pride for the end product
  • Strong sense of ownership
  • Criticism of other work
  • Responsibility for flaws
  • Strong affection for our tools of the trade (editors, IDEs, utilities, home grown tools)
  • Strong need to use new tools and processes

Some agile practices (collective code ownership, pair programming, good enough) seem to reduce some of these basic craftsman tendencies but they still exist in some form.

Unfortunately these traits don't always align with the business interests of the project so we have to balance the different priorities to achieve the optimal environment.  How can we understand these tendencies to enjoy our work more and motivate others on our team?

  • Introduce new technologies and techniques in a controlled manner so that the team is able to try new things without taking large risks.  Be sure to include developers in this decision making process - after all they should be the ones 'in the know' on new technologies, right?
  • Practice pair programming to encourage communication, sharing of skills and team building - this can bring a lot of satisfaction to a developer team without changing the tasks or the priorities of the project.
  • Encourage participation in community developer events (user groups, code camps), blogs (share links across the team), books (monthly bookshelf anyone?) and conferences.
  • Avoid generalized training - in my opinion this tends to serve the paycheck programmer more than the dedicated ones.  Instead prefer specialized training which focuses on particular new techniques that have already been piloted and now use that training time to get a jumpstart and avoid early pitfalls.
  • Interesting projects - this is tough to control since business priorities and budgets usually dictate the schedule however there are often ways to make projects more interesting without risking timeline or budget.
  • Satisfy your customer - there is nothing better than the feeling of a job well done to motivate a developer team!

Some of these ideas have been very successful on our projects.  What motivates you and your developer team?

BTW - We are looking for another TDD .NET Developer to join our developer team.

 

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Monday, May 15, 2006 3:00 AM by thycotic | 1 Comments

How agile is your country?

Google's new Trends service (which appears to be the old Zeitgeist but now on demand) allows you to find out what people are searching on. 

I tried it with a number of different Microsoft agile terms and was surprised at the results:

It is only a relative comparison without any real numbers or drilldown capability so it is hard to read much into the results.  However it seems that other countries are searching for more Microsoft agile stuff than the US.  Is this a side effect of offshoring?  Is this indicative of a greater number of developers in these countries or just more developers with time to search for new techniques?  Hard to know but interesting nonetheless.

 

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Thursday, May 11, 2006 1:33 PM by thycotic | 6 Comments

.NET TDD Developer opening at Thycotic!

In our last round of hiring, I had a great response from my blog post so I am trying it again.  We are looking for another top calibre developer to join our team - this is a great opportunity to practice agile techniques on the Microsoft .NET platform from an experienced team while working on great products and with interesting clients.

We are looking for a highly skilled, motivated .NET software developer to join our consulting team.  We are a unique employer since we build software in a way that makes developers and clients happy - a way that actually works!  (The Thycotic Approach)

Requirements for this position include:

  • You live, breathe, sleep, eat and drink code (preferably of the C# or VB.NET flavor)
  • You want to develop using Test Driven Development (yes, that is *ALL* we do!)
  • You enjoy or are prepared to try Pair Programming
  • You have a good understanding of Object Oriented principles, the .NET Framework, ASP.NET, relational databases and web application development
  • You have the permanent legal right to work in the United States
  • You have excellent written and spoken English
  • You are willing to work in the Washington DC Metro Area

Preferred but not absolutely required:

  • You have strong experience with ASP.NET and ASP.NET Web Services
  • You are very familiar with Microsoft SQL Server - stored procedures, triggers, functions and general SQL
  • You want to be involved in the wider development community including blogging, articles and presentations
  • You have a Bachelor's degree (or even further study) in Computer Science

Intangible criteria:

  • Prepared to do what it takes to deliver value to the client
  • Work with others in an environment that encourages new ideas and improvement

About Thycotic:

Thycotic is a developer-minded consulting company and ISV operating in the Washington DC area.  The company is a leader in agile techniques on the Microsoft .NET platform including Test Driven Development and Extreme Programming.  We are a Microsoft Gold Certified Partner with strong involvement in upcoming Microsoft technologies.  We continually deliver successful projects that are on time and on budget to happy customers while developers maintain sensible hours, vacation schedules and drink lots of FREE soda.  Thycotic also offers opportunities to perform training and work on our own software products.  Stop reading about TDD and come join Thycotic to practice it!

The position carries a very competitive salary based on skills and experience.  It also includes an annual incentive bonus based on mutual goals.  The benefits include healthcare, retirement and generous vacation and conference time.  Thycotic always looks to provide the optimal working experience (however possible) to retain the most talented developers.

Please send your resume and a brief summary explaining your interest in TDD and Thycotic to tdd_me_now@thycotic.com

(Sorry, no visas or sponsorship available, no remote working)

(TDD Job, Test Driven Development Job, TDD C#, TDD VB.NET, NUnit Job, NUnitAsp Job, NAnt Job, CruiseControl.NET Job)

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Thursday, May 11, 2006 12:24 PM by thycotic | 4 Comments

Reston Code Camp - Register now.

The Reston Code Camp has been announced for June 10th 2006.  This will be the 3rd Reston Code Camp - they are a great way to get your skills and knowledge up to date in a single day (and they are free!).  You can register here.

The Call for Speakers is hereSahil Malik is chairing the Data Track and is looking for local presenters!

I have submitted a few proposals (some new material such as the Tao of TDD and Refactoring) which should be fun.  See you there!

 

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

 

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Friday, April 28, 2006 1:11 AM by thycotic | 0 Comments

Pair Programming Presented

Over the last few months, I have presented a session on Pair Programming to two User Groups (WinProTeam Rockville and PA FoxPro) and one Code Camp (Richmond this last weekend).  I especially enjoy presenting this topic for a number of reasons:

  • It is not .NET specific so you can take it to many audiences (which gives different perspectives)
  • It draws lots of discussion from the audience who frequently relate personal experiences
  • Audience participation is mandatory by having a hands on exercise
  • It is controversial (and controversial topics are always interesting!)

We *believe* in Pair Programming and have practiced it for several years now so we are not just preaching a new fad or reading from a book - meaning we also have lots of best practices to share (and funny stories).

Presentations seem to work best when the audience gets involved and is forced to think ... read: less Powerpoint slides and more paper, pens and stopwatches.  But how do you get an audience to pair program together en masse? Get them to do the next best thing:  math problems! (yeah, that is usually the response I get from the audience too).  Actually many techies do live in the strange realm of the human population who actually *enjoy* word problems, so the complaints are minimal.

How does it work?

  • Pieces of paper are picked out of a hat (or promotional item) by each member of the audience.  The paper has either a pear or a gun on it.  This represents their assignment to either the group of "pairs" or the group of "lone guns".
  • "Pairs" are then randomly grouped into twos and arranged to sit next to one another.
  • "Lone guns" are grouped together away from the "pairs".
  • Each pair and lone gun gets a piece of paper containing the same 3 problems.
  • Everyone is given 15 minutes to complete the problems.  "Lone guns" must work on their own without discussing the problems with anyone else.  "Pairs" are encouraged to talk to each other but not across "pairs".
  • At the end of the time, everyone swaps papers and we score the results as a group. Scores are given for responding to the question and for whether the answer is correct.
  • A group discussion was then held to share ideas, impressions, observations, etc.

What were the results?

  • In two of the sessions, the "lone guns" performed slightly better than the "pairs".  In the one session, the "pairs" performed 100% better than the "lone guns".
  • Both groups seemed to respond to pretty much all of the questions so the differentiator was the accuracy of the answers.

Interesting observations:

  • The groups always enjoyed the exercise and really loosened up to further discussion of Pair Programming techniques, benefits, challenges etc.
  • Several "lone guns" expressed feeling 'left out' and wished they also had someone to talk to about the problems.
  • One of the questions deliberately had a subtle ambiguity in the language - the "pairs" resolved the ambiguity more effectively than the "lone guns" who complained and struggled with the question.  One gentlemen in a session (who shall remain nameless!) complained about the question - at which point we poked fun since it seemed he was complaining that the specifications weren't clear... :-) (a pain any software developer knows only too well!)
  • "Lone guns" always appeared to be very quiet and focused during the time.  Many admitted afterwards that would seldom have been able to keep up the same intensity for long periods in the workplace.
  • One question involved an obscure regular expression - this was answered more successfully by the "pairs" since one of the two was more likely to be familiar with regular expression syntax than a "lone gun".
  • No negative comments were received from the pairs - for example: no-one expressed that they could have solved the problems better alone.  Many positive comments were received about how much they enjoyed working on the problems together.  Some did mention that they felt like they spent a lot of time just talking about the problems.

Conclusion

Please note that my findings are hardly scientific but were mostly just an experiment to generate discussion and thinking on the subject of Pair Programming.  In this regard, they were successful since everyone seemed to enjoy the sessions and we all gained some new insights into our social problem solving abilities.

If you are interested in the slide deck, you can find it here.

For the really curious, here are the problems:

  1. A User Group Pizza is cut into 12 pieces. 11 of the pieces are the same size. The 12th piece is half the size of the others. What fraction of the User Group pizza is the smallest piece?  Drag here for the answer:  1/23 (Courtesy webmath.com)
  2. Each of two developers can drink a six pack of Mountain Dew in 20 minutes. Together with a third developer, they finish the six pack of Mountain Dew in 6 minutes. In what time can the third developer drink the six pack of Mountain Dew alone?  Drag here for the answer: 15 minutes (Courtesy webmath.com)
  3. What is this and what is it used for?   [:]{1}[-~+o]?[)>]+   Drag here for the answer: A regular expression to find smileys/emoticons. (Courtesy Ullrich Clemenz Canaan)

 

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Tuesday, April 25, 2006 1:01 AM by thycotic | 1 Comments

MVP Reawarded!

I am very pleased to blog that I have been reawarded as a MVP (Microsoft Valued Professional).

Recently I have been more involved in the Microsoft marketing and Microsoft partner side of the house and it is amazing how far this credential has been communicated within Microsoft.  Microsoft employees are certainly aware of the contributions made by MVPs and seem to always be looking for more ways to engage MVPs in their programs.

Ps.  Don't miss the Richmond Code Camp this weekend if you are in the area - register here.

Jonathan Cogley is the CEO and founder of Thycotic Software, a .NET consulting company and ISV in Washington DC.  Thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Wednesday, April 19, 2006 10:04 AM by thycotic | 0 Comments

Speaking at the Richmond Code Camp on Saturday, 4/22/2006

I will be presenting on two topics at the Richmond Code Camp on 4/22/2006.  The event starts at 8:30AM and runs all day.  If you have never been to a Code Camp before, you are missing out.  They are a great place to ask questions and find out about technology from your local community.

My topics are:

You can register here.

Jonathan Cogley is the CEO and founder of thycotic, a .NET consulting company and ISV in Washington DC.  thycotic has just released Thycotic Secret Server which is a secure web-based solution to both "Where is my Hotmail password?" and "Who has the password for our domain name?".  Secret Server is the leader in secret management and sharing within companies and teams.

Share this post: Email it! | bookmark it! | digg it! | reddit!

Posted Tuesday, April 11, 2006 2:27 PM by thycotic | 0 Comments

More Posts Next page »