<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://cs.thycotic.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Thycotic Development Blogs</title><link>http://cs.thycotic.net/blogs/default.aspx</link><description>talking about outstanding software and how to build it</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 (Build: 60809.935)</generator><item><title>The History of Searching in Secret Server</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/09/21/The-History-of-Searching-in-Secret-Server.aspx</link><pubDate>Sun, 21 Sep 2008 07:41:00 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4889</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://cs.thycotic.net/blogs/images/TheHistoryofSearchinginSecretServer_5908/mg.jpg"&gt;&lt;img align="left" alt="mg" border="0" height="143" src="http://cs.thycotic.net/blogs/images/TheHistoryofSearchinginSecretServer_5908/mg_thumb.jpg" style="margin:0px 10px 0px 0px;border-width:0px;" width="189" /&gt;&lt;/a&gt; In the recent month, we&amp;#39;ve had a lot of questions about how searching works in Secret Server, so I thought now would be a good time to answer as many questions about searching as possible.&lt;/p&gt;&lt;h2 style="clear:both;"&gt;Searching pre 5.0&lt;/h2&gt;&lt;p style="clear:both;"&gt;Before the 5.0 edition of Secret Server searching was fairly limited. The only thing you could search on was the Secret&amp;#39;s name. Over time, the Search criteria grew a little, but still this main limitation was always there. As soon as you wanted to search on the actual values in the secrets, you were out of luck. The ability to search by the values in a secret was one of our most requested features.&lt;/p&gt;&lt;h3&gt;Technical Limitations&lt;/h3&gt;&lt;p&gt;The Secret Server development team has always had a keen sense to what customers wanted, and&amp;nbsp;we typically&amp;nbsp;implement feature requests based on feedback. However, this particular feature had a lot of technical barriers to solve before it could be implemented.&lt;/p&gt;&lt;p&gt;The main barrier we had to deal with was the concept of Secret Server itself. Secret Server is designed to be as secure as possible, and one of the pieces of this design is full data encryption. All of the values of a secret, aside from its name, are stored in the database encrypted. This makes searching the database impossible. If we wanted to perform a search, we would have had to pull back &lt;em&gt;every&lt;/em&gt; secret from the database, decrypt it, and then search it. This clearly wouldn&amp;#39;t work from a performance angle, and didn&amp;#39;t scale well.&lt;/p&gt;&lt;h2&gt;Searching as of 5.0&lt;/h2&gt;&lt;p&gt;We realized we wouldn&amp;#39;t be able to do real-time searches on secrets. The barrier still remained though, how do we search secrets and not expose sensitive information? Our solution was a hash based index table.&lt;/p&gt;&lt;h3&gt;A What?&lt;/h3&gt;&lt;p&gt;Many systems, such as Windows and search providers like Google keep a search index. When you search Google, you really aren&amp;#39;t searching the entire Internet all at once, you are searching a dictionary of content that Google has built over time. Secret Server does something similar. The trick is to build an index but also keep it secure.&lt;/p&gt;&lt;p&gt;Secret Server 5.0 has a background monitor, the Search Indexer, that looks for changed secrets, about every 60 seconds it queries the database looking for unindexed secrets or changes in secrets. When you create or modify a secret, we flag that secret to tell the Search Indexer to re-index it.&lt;/p&gt;&lt;h3&gt;Security&lt;/h3&gt;&lt;p&gt;The Search Indexer creates hashed terms from the values in a secret. More specifically for those technically interested, we use the &lt;a href="http://en.wikipedia.org/wiki/HMAC" title="Wikipedia" target="_blank"&gt;HMAC-512&lt;/a&gt; algorithm. A quick explanation of what this algorithm does is creates a one-way code. For example, if the word &amp;quot;book&amp;quot; was hashed, it would produce a unique output. However this output cannot be converted back into the original data, &amp;quot;book&amp;quot; in our case.&lt;/p&gt;&lt;p&gt;This technique is used when creating indexes. Let&amp;#39;s say we have a secret with a field called &amp;quot;Server&amp;quot; with a value of &amp;quot;OFFICE\Webserver01&amp;quot;. When the search indexer got around to indexing this secret, it would create a hashed value of &amp;quot;office\webserver01&amp;quot;. Whenever we create hashed terms, we always convert it to lowercase so that searching isn&amp;#39;t case-sensitive. This search index record would become associated with the secret.&lt;/p&gt;&lt;p&gt;Now, when a user does a search, we use the same hash algorithm to compute the hash term of what you are searching for (again converted to lowercase). We when search our index table for a match.&lt;/p&gt;&lt;h3&gt;What About Partial Matches?&lt;/h3&gt;&lt;p&gt;When we have a term like &amp;quot;OFFICE\Webserver01&amp;quot;, we produce hashes of &amp;quot;pieces&amp;quot; of the word. In this case, we would also produce specific hashes for &amp;quot;office&amp;quot; and &amp;quot;webserver01&amp;quot;. Notice that we split on the letter &amp;quot;\&amp;quot;. The same happens when a search is performed. This way if you searched for &amp;quot;OFFICE\Webserver02&amp;quot;, it would still come back with the OFFICE\Webserver01&amp;quot; because the &amp;quot;OFFICE&amp;quot; term still matched. We do this for other letters as well, that includes spaces, backslashes, slashes, periods, commas, and semicolons.&lt;/p&gt;&lt;h3&gt;Search Index Modes&lt;/h3&gt;&lt;p&gt;The Search Indexer has two modes. Standard, and Enhanced. So far, all of the behavior I have described has been the &amp;quot;Standard&amp;quot; mode. The Enhanced mode works very similarly, however it also produces three letter partials. Using out &amp;quot;OFFICE\Webserver01&amp;quot; example, we produce our hashes normally, but we also produce the partials. We would add hashes for &amp;quot;OFF&amp;quot;, &amp;quot;FFI&amp;quot;, &amp;quot;FIC&amp;quot;, &amp;quot;ICE&amp;quot;, etc. This allows partial matches to return.&lt;/p&gt;&lt;h3&gt;So Many Results&lt;/h3&gt;&lt;p&gt;The implementation sounds correct, but it has some room for improvement. Note that I said we split the terms on periods. That means if you searched for &amp;quot;foo@test.com&amp;quot;, it would return everything that had &amp;quot;com&amp;quot; in it, and chances are there are a lot of results. The splitting on the period seems to be the biggest culprit for undesired results coming back. Once you throw the Enhanced mode into the mix, it gets even more complicated.&lt;/p&gt;&lt;h2&gt;Looking Forward&lt;/h2&gt;&lt;p&gt;Nothing has been set in stone in terms of changes and when it will be implemented, but we have been kicking around a lot of ideas. The immediate one might be to consider removing the period from the characters that we split on. Another idea&amp;nbsp;was ranking the results. Secret Server right now always returns secrets sorted by their name. It would make more sense if we returned results in order of the number of hash terms that matched and if the name matched as well. &lt;/p&gt;&lt;p&gt;I hope that clarifies some of the mystery surrounding search. If you have any additional feedback or questions, be sure to drop by our &lt;a href="http://www.thycotic.com/products_secretserver_forums.html" target="_blank"&gt;forums&lt;/a&gt; and let us know!&lt;/p&gt;&lt;p&gt;-- Kevin&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4889" width="1" height="1"&gt;</description></item><item><title>Sneak Peek: PuTTY Launcher</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/09/11/Sneak-Peek_3A00_-PuTTY-Launcher.aspx</link><pubDate>Thu, 11 Sep 2008 21:52:53 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4888</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://cs.thycotic.net/blogs/images/secret_server/SneakPeekPuTTYLauncher_FBCE/putty1.png"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px;" height="143" alt="putty1" src="http://cs.thycotic.net/blogs/images/secret_server/SneakPeekPuTTYLauncher_FBCE/putty1_thumb.png" width="185" align="left" border="0" /&gt;&lt;/a&gt; One of a system administrator's must-have items in his toolbox is PuTTY. PuTTY is a small, lightweight program that is perfect for telnet and SSH connections. It doesn't require any installation, it's just a single EXE file and you're good to go.&lt;/p&gt;  &lt;p&gt;A feature of Secret Server that I personally have always found extremely useful is the launching capability that we introduced with Remote Desktop. It's very handy for starting Remote Desktop sessions. We decided to take it a step further and extend this functionality to PuTTY.&lt;/p&gt;  &lt;p&gt;An initial obstacle that needed to be overcome was figuring out how to make sure PuTTY was on the client's machine. The creators of PuTTY are generous, and fortunately they allow us to distribute PuTTY with Secret Server. Since the Remote Launcher capability is a Microsoft ClickOnce application, it seemed reasonable to distribute PuTTY with our application. This would avoid the need for users having to tell our application where to look for PuTTY, or us requiring that you have it in a certain location on the machine.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cs.thycotic.net/blogs/images/secret_server/SneakPeekPuTTYLauncher_FBCE/putty2.png"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 0px 0px 10px;border-left:0px;border-bottom:0px;" height="42" alt="putty2" src="http://cs.thycotic.net/blogs/images/secret_server/SneakPeekPuTTYLauncher_FBCE/putty2_thumb.png" width="244" align="right" border="0" /&gt;&lt;/a&gt; However, PuTTY is 500 kilobytes, and the initial application was a mere 12 kilobytes. 500K is small in today's high tech world, but to reduce corporate bandwidth use, we only distribute it when you need it for the first time. That means when you make your first launch of PuTTY, we'll download the application for you from your Secret Server installation, thus not needing an outside Internet connection, but after that it's cached so you only need to download it once.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cs.thycotic.net/blogs/images/secret_server/SneakPeekPuTTYLauncher_FBCE/putty3.png"&gt;&lt;img style="border-right:0px;border-top:0px;margin:0px 10px 0px 0px;border-left:0px;border-bottom:0px;" height="159" alt="putty3" src="http://cs.thycotic.net/blogs/images/secret_server/SneakPeekPuTTYLauncher_FBCE/putty3_thumb.png" width="252" align="left" border="0" /&gt;&lt;/a&gt;Once PuTTY is downloaded successfully, the application will automatically start already logged in at the prompt. For the first release of the PuTTY launcher, we will only support SSH.&lt;/p&gt;  &lt;p&gt;If you want to see additional launchers built into Secret Server, make sure you stop by our &lt;a href="http://thycotic.com/products_secretserver_forums.html" target="_blank"&gt;forums&lt;/a&gt; and let us know!&lt;/p&gt;  &lt;p&gt;-- Kevin&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4888" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/secretserver/archive/tags/Sneak+Peek/default.aspx">Sneak Peek</category><category domain="http://cs.thycotic.net/blogs/secretserver/archive/tags/Secret+Server/default.aspx">Secret Server</category></item><item><title>Sneak Peek - Secret Server 5.0 and Searching Fields</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/07/06/Sneak-Peek-_2D00_-Secret-Server-5.0-and-Searching-Fields.aspx</link><pubDate>Mon, 07 Jul 2008 03:05:52 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4874</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Secret Server 5.0 is currently under development, and one of the features that we know for sure that will be in 5.0 is searching Secret Fields. This has been a popular request. We had several obstacles to achieve this, and we have implemented a solution that is secure but effective.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://cs.thycotic.net/blogs/images/SneakPeekSecretServe.0andSearchingFields_143CD/screenshot.jpg"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="145" alt="screenshot" src="http://cs.thycotic.net/blogs/images/SneakPeekSecretServe.0andSearchingFields_143CD/screenshot_thumb.jpg" width="244" align="left" border="0" /&gt;&lt;/a&gt;The search works by Secret Server creating an index catalog for search terms for each and every secret. This runs as a background process. Secret Server will then start indexing all existing Secrets in your installation, and maintain indexes for secrets as they are changed.&lt;/p&gt;  &lt;p&gt;The indexing service allows two different modes of indexing. The standard mode, which allows you to search on whole words. The Extended Indexing option allows searching on part of a word with a precision of 3 characters. For example, &amp;quot;sec&amp;quot; would make a field with the value of &amp;quot;Secret&amp;quot;, as would &amp;quot;secre&amp;quot;.&lt;/p&gt;  &lt;p&gt;Stay tuned for more features coming in Secret Server 5.0!&lt;/p&gt;  &lt;p&gt;-- Kevin&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4874" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/secretserver/archive/tags/New+feature/default.aspx">New feature</category><category domain="http://cs.thycotic.net/blogs/secretserver/archive/tags/Sneak+Peek/default.aspx">Sneak Peek</category><category domain="http://cs.thycotic.net/blogs/secretserver/archive/tags/Secret+Server/default.aspx">Secret Server</category></item><item><title>Text Encoding (Part-1)</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/05/19/text-encoding-part-1.aspx</link><pubDate>Mon, 19 May 2008 10:57:15 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4869</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>I was recently on the ASP.NET Forums and a member was asking, &amp;quot;How can I figure out the encoding of text?&amp;quot; and that got me thinking. There should be a reasonable way to do this, right? It&amp;#39;s a useful thing to know. First, we need a little Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/05/19/text-encoding-part-1.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4869" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/ASP.NET/default.aspx">ASP.NET</category></item><item><title>Why does Secret Server take so long to start up?</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/05/18/Why-does-Secret-Server-take-so-long-to-start-up_3F00_.aspx</link><pubDate>Sun, 18 May 2008 23:14:20 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4868</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;One of the things that we did notice with Secret Server is that it does take what seems to be a long time for Secret Server to start up for the first time. This started happening in Secret Server 4.0. So, what exactly is going on?&lt;/p&gt;  &lt;p&gt;Secret Server does some startup tasks for the first time. Namely, it starts up some background monitoring tasks for synchronizing Active Directory and the Remote Password changing features. There is one more though that takes up most of the time, and that is verifying all of the Strong Name signatures.&lt;/p&gt;  &lt;p&gt;First, what is a Strong Name? When we release Secret Server, we send out all of the DLLs with a digital signature on all of the assemblies. Secret Server has multiple DLLs that talk to each other. Now, what's stopping someone with access to the server from dropping in a fake DLL that looks like ours, but it is also secretly emailing out information? Step in strong names. When the .NET Framework loads all of the assemblies for a particular application, it ensure that all of the assemblies have the strong name key that was used when it was compiled. If the Strong Name keys don't match, then the .NET Framework won't accept it. Since only Thycotic has the key, it cannot be faked.&lt;/p&gt;  &lt;p&gt;This is a somewhat lengthy process for the .NET Framework, as it will also have to calculate checksums of the entire assembly as well. Not to mention that this entire process occurs for all 14 of the assemblies in Secret Server.&lt;/p&gt;  &lt;p&gt;-- Kevin&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4868" width="1" height="1"&gt;</description></item><item><title>Too Little Too Late?</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/05/13/too-little-too-late.aspx</link><pubDate>Tue, 13 May 2008 20:50:23 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4865</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>I booted up my PC today and saw this nice message from Adobe telling me that there was an update for my Flash installation. I couldn&amp;#39;t help but notice that one of the highlighted features was support for HD content. I can&amp;#39;t help but feel that Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/05/13/too-little-too-late.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4865" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>CMAP User Group Presentation</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/05/05/cmap-user-group-presentation.aspx</link><pubDate>Mon, 05 May 2008 11:23:45 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4860</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>On Tuesday, May 6 th at the CMAP User Group Meeting will be Heroes Happen {here} Launch where I will be discussing the new features in SQL 2008 and Steve Michelotti will be discussing the new C# 3.0 Language Enhancements. If you are in the Baltimore area, Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/05/05/cmap-user-group-presentation.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4860" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/User+Group/default.aspx">User Group</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/CMAP/default.aspx">CMAP</category></item><item><title>Secret Server on the Treo 700</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/04/19/Secret-Server-on-the-Treo-700.aspx</link><pubDate>Sat, 19 Apr 2008 12:25:06 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4850</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/SecretServerontheTreo700_10824/image_2.png"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;margin:0px 10px 0px 0px;border-right-width:0px;" height="244" alt="image" src="http://weblogs.asp.net/blogs/jcogley/WindowsLiveWriter/SecretServerontheTreo700_10824/image_thumb.png" width="173" align="left" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Secret Server has supported a &amp;quot;Mobile Edition&amp;quot; for over a year now but it is always tricky making sure that it works correctly on all devices.&lt;/p&gt;  &lt;p&gt;Our approach was to bake mobile support into the base product (ASP.NET based) so it simply scales down to the capability of the device.&amp;#160; That sounds simple but unfortunately it depends on making sure that functionality will work with all the limitations of various devices.&lt;/p&gt;  &lt;p&gt;My own favorite BlackBerry 8820 does a reasonable job of helping me get to the password I need in emergencies but it is hardly a pleasant browsing experience.&amp;#160; In fairness, no browsing on the device is particularly pleasant since it is slow, struggles with most layouts and has a small screen.&amp;#160; That said, I love it dearly and browsing has never been a core requirement for me since email, contacts and calendar are definitely my most essential.&lt;/p&gt;  &lt;p&gt;Today we had a customer ask about the Treo 700 so I tried out the emulator from the Palm website.&amp;#160; It seems to work fine with Secret Server and I was able to browse around and access passwords.&lt;/p&gt;  &lt;p&gt;--Jonathan&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4850" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/secretserver/archive/tags/Secret+Server/default.aspx">Secret Server</category></item><item><title>Secret Server on the Treo 700</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/18/secret-server-on-the-treo-700.aspx</link><pubDate>Fri, 18 Apr 2008 18:47:00 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4849</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>Secret Server has supported a &amp;quot;Mobile Edition&amp;quot; for over a year now but it is always tricky making sure that it works correctly on all devices. Our approach was to bake mobile support into the base product (ASP.NET based) so it simply scales Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/04/18/secret-server-on-the-treo-700.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4849" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/ISV/default.aspx">ISV</category></item><item><title>CMAP Code Camp</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/13/cmap-code-camp.aspx</link><pubDate>Sun, 13 Apr 2008 12:41:13 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4840</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>Saturday was the Spring &amp;#39;08 CMAP Code Camp. Lots of good sessions there, lots of fun as well! I presented on &amp;quot;SQL Server 2008&amp;quot; and &amp;quot;What&amp;#39;s new in C# 3.0&amp;quot; as a replacement for Jay Flowers since he wasn&amp;#39;t able to make it. Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/13/cmap-code-camp.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4840" width="1" height="1"&gt;</description></item><item><title>A sign that you are no longer a startup.</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/10/a-sign-that-you-are-no-longer-a-startup.aspx</link><pubDate>Thu, 10 Apr 2008 23:20:09 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4833</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>Ok, so it is a really bad pun.&amp;#160; It is tough writing blog post titles sometimes. :) Anyway, we finally got a beautiful metallic official sign for our office after inhabiting our office space for almost two years.&amp;#160; (Now if we could just do something Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/04/10/a-sign-that-you-are-no-longer-a-startup.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4833" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/ISV/default.aspx">ISV</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Fun/default.aspx">Fun</category></item><item><title>Code Camps this weekend!</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/10/code-camps-this-weekend.aspx</link><pubDate>Thu, 10 Apr 2008 22:54:04 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4834</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>There are two code camps this weekend: CMAP Code Camp in Maryland Pittsburgh Code Camp in Pennsylvania I will be speaking at the Pittsburgh Code Camp on Refactoring - a topic that is very dear to me. Register now and come along to talk code. &amp;#160; We Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/04/10/code-camps-this-weekend.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4834" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Code+Camp/default.aspx">Code Camp</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Refactoring/default.aspx">Refactoring</category></item><item><title>I'd like to report a negligence</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/08/i-d-like-to-report-a-negligence.aspx</link><pubDate>Tue, 08 Apr 2008 22:50:58 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4827</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>I&amp;#39;ve always been interested in software security, and it&amp;#39;s always been a number one priority for me. Software security is really honoring the trust of the people that use your software. I&amp;#39;ve also been fortunate to be the lead developer of Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/08/i-d-like-to-report-a-negligence.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4827" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Security/default.aspx">Security</category></item><item><title>MVC Framework</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/07/mvc-framework.aspx</link><pubDate>Tue, 08 Apr 2008 00:33:11 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4826</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>The MVC framework is the new &amp;quot;hot&amp;quot; thing in the ASP.NET world for developers. As such, everyone has at least one blog entry about it. So, I think it&amp;#39;s time I jumped on that ship. Though, I wanted to voice a few concerns with the MVC Framework, Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/07/mvc-framework.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4826" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/MVC/default.aspx">MVC</category></item><item><title>When you apply for a job, read the job posting!</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/07/when-you-apply-for-a-job-read-the-job-posting.aspx</link><pubDate>Mon, 07 Apr 2008 22:48:00 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4825</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>I am constantly amazed by the number of job candidates who apply for a position without reading the job posting. We are currently hiring for three positions: Agile .NET Developer Agile .NET Developer Internship Graphics Designer All three involve *doing* Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/04/07/when-you-apply-for-a-job-read-the-job-posting.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4825" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/ISV/default.aspx">ISV</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/.NET/default.aspx">.NET</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Agile/default.aspx">Agile</category></item><item><title>Blog Moving</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/06/blog-moving.aspx</link><pubDate>Sun, 06 Apr 2008 14:42:00 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4823</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>Hi everyone, I&amp;#39;ve decided to move my blog to http://msmvps.com/blogs/vcsjones , so please update booksmarks and RSS feeds. However, I will continue to have my new blog cross-post on this site as well. Share this post: email it! | bookmark it! | digg Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/06/blog-moving.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4823" width="1" height="1"&gt;</description></item><item><title>CaptainHook</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/06/captainhook.aspx</link><pubDate>Sun, 06 Apr 2008 14:35:00 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4824</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>This is my first post to the msmvps.com web site. I decided to move my blog from http://community.strongcoders.com/blogs/vcsjones . So, I thought I would start off by talking about something a little obscure that a co-worker turned me onto. OK, different Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/06/captainhook.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4824" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Subversion/default.aspx">Subversion</category></item><item><title>Secret Server at FOSE 2008</title><link>http://weblogs.asp.net/jcogley/archive/2008/04/03/secret-server-at-fose-2008.aspx</link><pubDate>Thu, 03 Apr 2008 21:59:57 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4821</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>We took the Secret Server booth to the FOSE 2008 Conference this week.&amp;#160; FOSE is the largest IT event for US Government.&amp;#160; It wasn't really a very long trip for us ... about 12 blocks east from our offices in Dupont Circle in Washington DC to Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/04/03/secret-server-at-fose-2008.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4821" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/ISV/default.aspx">ISV</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/TechEd/default.aspx">TechEd</category></item><item><title>Secret Server at FOSE 2008</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/04/03/Secret-Server-at-FOSE-2008.aspx</link><pubDate>Thu, 03 Apr 2008 15:27:22 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4820</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;a href="http://cs.thycotic.net/blogs/images/secret_server/SecretServeratFOSE2008_CC65/100_0441.jpg"&gt;&lt;img style="border-top-width:0px;border-left-width:0px;border-bottom-width:0px;margin:0px 15px 0px 0px;border-right-width:0px;" height="184" alt="100_0441" src="http://cs.thycotic.net/blogs/images/secret_server/SecretServeratFOSE2008_CC65/100_0441_thumb.jpg" width="244" align="left" border="0" /&gt;&lt;/a&gt;This year Secret Server made its debut at FOSE, one of the leading government technology events in the nation.&amp;#160;&amp;#160; The show is being held at the Walter E. Washington Convention Center which is situated only a few minutes away from our offices in downtown D.C. &lt;/p&gt;  &lt;p&gt;Despite there being several hundred kiosks and lectures, Secret Server appears to be one of the few software products featured.&amp;#160; Many of the exhibitions are displaying hardware and energy saving innovations.&amp;#160; I think a lot of people have been pleasantly surprised to see a solution for password management.&lt;/p&gt;  &lt;p&gt;Over the last couple of days, I and some of the other team members got a chance to interact with attendees and demonstrate some of the core functionality of Secret Server.&amp;#160; We have received a lot of enthusiasm and great feedback on the product thus far.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Today is the final day for FOSE. Come visit us at booth #100 located in the Security section.&amp;#160; Hope to see you there!&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;--Joseph&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4820" width="1" height="1"&gt;</description></item><item><title>April Fools</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/01/april-fools.aspx</link><pubDate>Tue, 01 Apr 2008 10:49:02 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4816</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>Yes, April Fools - one of my favorite days. What April Fool&amp;#39;s day is not complete without covering your co-worker&amp;#39;s desk and chair in sticky notes? Though as a side note, I was re-awarded for ASP.NET MVP. Share this post: email it! | bookmark Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/04/01/april-fools.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4816" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/MVP/default.aspx">MVP</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/April+Fools/default.aspx">April Fools</category></item><item><title>Next Richmond Code Camp</title><link>http://community.strongcoders.com/blogs/vcsjones/archive/2008/03/29/next-richmond-code-camp.aspx</link><pubDate>Sat, 29 Mar 2008 19:16:01 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4812</guid><dc:creator>vcsjones</dc:creator><slash:comments>0</slash:comments><description>It&amp;#39;s On! The next Richmond Code Camp is set for Saturday, April 26 th . Every year they keep getting better and better, so this one is going to be the best yet! I&amp;#39;m set to speak there about some of the new stuff in SQL 2008 for Developers and Read More......(&lt;a href="http://community.strongcoders.com/blogs/vcsjones/archive/2008/03/29/next-richmond-code-camp.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4812" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Code+Camp/default.aspx">Code Camp</category></item><item><title>Don't miss the Nova Code Camp South this weekend!</title><link>http://weblogs.asp.net/jcogley/archive/2008/03/28/don-t-miss-the-nova-code-camp-south-this-weekend.aspx</link><pubDate>Fri, 28 Mar 2008 08:34:07 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4811</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>The NoVa CodeCamp South v1 will be held on March 29th 2008 in Woodbridge VA.&amp;#160; The speaker schedule has been posted here . &amp;#160; I am presenting two sessions: 9:00-10:15:&amp;#160;&amp;#160;&amp;#160;&amp;#160; Refactoring in C# 1:00-2:15:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/03/28/don-t-miss-the-nova-code-camp-south-this-weekend.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4811" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/.NET/default.aspx">.NET</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Code+Camp/default.aspx">Code Camp</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Refactoring/default.aspx">Refactoring</category></item><item><title>Giving Secret View a System Font</title><link>http://cs.thycotic.net/blogs/secretserver/archive/2008/03/27/Giving-Secret-View-a-System-Font.aspx</link><pubDate>Thu, 27 Mar 2008 23:54:47 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4810</guid><dc:creator>secret.server</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;One of the questions that I sometimes get from customers is, &amp;quot;I want the information on the Secret View page to display in a system font&amp;quot;. The reason for this is it makes it easier to distinguish between O's and zeros; and lower-case L's and capital I's.&lt;/p&gt;  &lt;p&gt;This can easily be accomplished with CSS, and with since Secret Server 4.0 and up supports Themes, it is simple enough to add your own CSS to the default.css file.&lt;/p&gt;  &lt;p&gt;Because of the way Copy to Clipboard works, all of the attributes that contain information are held in a custom attribute &amp;quot;t&amp;quot;. This attribute is on the span elements and the text boxes when in edit mode. In theory, it should be as simple as this:&lt;/p&gt;  &lt;p&gt;*[t]   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; font-family:Consolas,System;    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;This is part of the CSS 2 specification, and the selector states &amp;quot;Any element with the attribute 't'.&amp;quot; As expected, this works well with FireFox. This took care of the labels and the text boxes all-in-one. However, IE presented a bit of an issue. This simple solution didn't seem to work. It's not a secret to web developers that Trident, IE's rendering engine, is pretty buggy as far as rendering engines go. What surprised me more was that the IE 8 beta, the up-and-coming super-compliant version of IE, still did not take. What was strange that when using a simple test page, the attribute selector did work; so it is supported in IE 7 and 8. There just appears to be an issue with that particular page.&lt;/p&gt;  &lt;p&gt;So the solution became a little more complex. A lot of the elements on the secret view page don't have classes or ID's at the moment, which makes applying CSS to just some of the elements a bit trickier. In the end, this is how it turned out:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://cs.thycotic.net/blogs/images/secret_server/GivingSecretViewaSystemFont_11860/consolasview.png"&gt;&lt;img style="border-right:0px;border-top:0px;border-left:0px;border-bottom:0px;" height="188" alt="consolasview" src="http://cs.thycotic.net/blogs/images/secret_server/GivingSecretViewaSystemFont_11860/consolasview_thumb.png" width="244" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And the CSS used to accomplish this that works in both IE and FireFox:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;div#SecretViewDialog * td.SecretFieldCell span, * span#iSM li   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; font-family:Verdana ! important;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; font-size:10pt ! important;    &lt;br /&gt;} &lt;/p&gt;  &lt;p&gt;input.SecretViewTextbox, input.SecretPasswordTextbox, div#SecretViewDialog * span   &lt;br /&gt;{    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; font-family:Consolas,System;    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; font-size:11pt;    &lt;br /&gt;}&lt;/p&gt;  &lt;p&gt;The font of my choice is Consolas, a nice font that makes it easy to distinguish characters. It is a free font for user's that own Visual Studio 2005 via download, and also ships with Visual Studio 2008.&lt;/p&gt;  &lt;p&gt;-- Kevin&lt;/p&gt;&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4810" width="1" height="1"&gt;</description></item><item><title>Can you find the bug in this code? (THE FIX)</title><link>http://weblogs.asp.net/jcogley/archive/2008/03/26/can-you-find-the-bug-in-this-code-fixed.aspx</link><pubDate>Wed, 26 Mar 2008 12:30:35 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4809</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>Thanks to everyone for contributing!&amp;#160; It was really neat to read everyone's ideas and see the discussion and review (talking about code is always fun!).&amp;#160; Here is a summary of responses and the &amp;quot;fixed&amp;quot; code.&amp;#160; If you are interested Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/03/26/can-you-find-the-bug-in-this-code-fixed.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4809" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/General+Software+Development/default.aspx">General Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Software+Development/default.aspx">Software Development</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/.NET/default.aspx">.NET</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Fun/default.aspx">Fun</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Refactoring/default.aspx">Refactoring</category></item><item><title>For once, not blogging wasn't my fault</title><link>http://weblogs.asp.net/jcogley/archive/2008/03/25/for-once-not-blogging-wasn-t-my-fault.aspx</link><pubDate>Tue, 25 Mar 2008 08:09:35 GMT</pubDate><guid isPermaLink="false">792071ce-3693-4580-80f6-35129f4aa64b:4807</guid><dc:creator>Jonathan Cogley&amp;#39;s Blog</dc:creator><slash:comments>0</slash:comments><description>For the last couple of days, the weblogs.asp.net website has been unable to accept posts from Windows Live Writer.&amp;#160; For the first time in the history of this blog, I can blame someone else for not posting.&amp;#160; In fact, I even started queueing up Read More......(&lt;a href="http://weblogs.asp.net/jcogley/archive/2008/03/25/for-once-not-blogging-wasn-t-my-fault.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://cs.thycotic.net/aggbug.aspx?PostID=4807" width="1" height="1"&gt;</description><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Fun/default.aspx">Fun</category><category domain="http://cs.thycotic.net/blogs/thycoticbloggers/archive/tags/Blogging/default.aspx">Blogging</category></item></channel></rss>