TrueCrypt 6a - System Encryption Benchmarks

by michael 8/13/2008 2:14:01 PM

TrueCrypt is a wonderful encryption package and best of all its free.  Many people already use it to encrypt thumb drives and to setup encrypted file stores. 

TrueCrypt has had system encryption (boot drive encryption) since version 5.  This is a similar technology to Vista BitLocker.  The entire boot drive is encrypted.  Before your operating system loads you have to enter a password.  This means you don't have to worry about the page file containing your encryption keys after shutdown.

I will be doing some traveling soon, and I was a little concerned about the safety of my data.  You hear all kinds of news stories recently involving theft of laptops.  With TrueCrypt you can do an easy in-place conversion of your existing system drive.  It also allows you to convert it back.  This convinced me to go ahead and give it a try after fully backing up my system. 

I need a very responsive system for development, so the possible performance impact worried me.  This of course leads to benchmarks.  I used the hard drive benchmarks included  in PC Wizard 2008.

Computer Stats:

Processor : AMD Turion 64 X2 Mobile TL-60 @ 2000 MHz

Ram : 2Gb

HDD : SATA 250 GB (5400 rpm)

Encryption Standard : AES (Best Performance)

Before Encryption:

1

After Encryption:

4

As you can see there is a decent performance drop mainly on the buffered IO.  CPU usage is higher during IO operations (encrypting and decrypting).  Qualitatively I haven't noticed much of a difference except slightly on bootup.  I would say TrueCrypt is a pretty good choice if you need a secure system, though you may want to have a decently powerful system.  It does utilize multiple cores so that helps.

You can download TrueCrypt here.

Currently rated 3.3 by 31 people

  • Currently 3.322581/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

ASP.NET WebControl ClientID Bloat

by michael 8/11/2008 2:29:00 PM

When you have a large control hierarchy this can lead to very large rendered ClientIDs.

The following illustrates what is rendered when you have a label within a GridView row within a UserControl within a Repeater.

<span id="ctl00_ContentPlaceHolder1_SampleRepeaterWithDescriptiveName_ctl00_SampleWebUserControlWithDescriptiveName_GridViewWithDescriptiveName_ctl02_Label1WithDescriptiveName">Sue 1</span>

This can greatly effect the page size especially if the Repeater or GridView has a lot of rows.

One way to take care of this is to override the ClientID property of the control.  Just create a server control that inherits from the WebControl.  Override the ClientID and UniqueID properties.  Use a hashcode of the string instead of the string itself.

Imports System.Web.UI.WebControls
Public Class LabelExtended
    Inherits Label
    Public Overrides ReadOnly Property ClientID() As String
        Get
            Return MyBase.ClientID.GetHashCode
        End Get
    End Property
    Public Overrides ReadOnly Property UniqueID() As String
        Get
            Return MyBase.UniqueID.GetHashCode
        End Get
    End Property
End Class

The output using the extended label is much more reasonable.

<span id="-819157441">Sue 1</span>

This took a sample page from 381 KB to 138 KB.  You can download the sample here.

I have a slight concern that the hashcodes may not always be unique.  They probably will be unique in the string ranges that would be generated in this case.  It might be better to use the hashcode generators found in the cryptopgraphy namespace.

I would be interested if anyone else has a better solution for creating shorter ClientIDs.

Currently rated 2.9 by 16 people

  • Currently 2.875/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

.NET Framework 3.5 SP1 and Visual Studio 2008 SP1 Released Today!

by michael 8/11/2008 8:18:33 AM

I have been using the very stable Beta, but a full release makes me feel a lot more comfortable.

VS 2008 SP1 Download

.NET Framework SP1 Download

Currently rated 2.8 by 11 people

  • Currently 2.818182/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Using XMLTextReader and DataSets to easily Data Mine Google News with very few lines of code.

by michael 7/10/2008 11:09:13 AM

Imports:
Imports System.Xml
Imports System.Data
 
Example Function:
Private Function ExtractGoogleNewsRSS(ByVal strSearchString As String) As Generic.List(Of NewsItem)
    Dim NewsItems As New List(Of NewsItem)
    Dim strSearchURL As String = String.Concat("http://news.google.com/news?hl=en&ned=us&q=", strSearchString, "&ie=UTF-8&output=rss")
    Using reader As XmlTextReader = New XmlTextReader(strSearchURL), _
          ds As New DataSet


        Dim dt As DataTable

        ds.ReadXml(reader)
        dt = ds.Tables(3)

        For Each row As DataRow In dt.Rows
            Dim itm As New NewsItem

            itm.Title = row("title")
            itm.PublishDate = row("pubdate")
            itm.Description = row("description")
            itm.URLString = row("link")

            NewsItems.Add(itm)
        Next
    End Using

    Return NewsItems
End Function

Private Class NewsItem
    Private _title As String
    Private _publishDate As Date
    Private _description As String
    Private _uRLString As String

    Public Property Title() As String
        Get
            Return _title
        End Get
        Set(ByVal value As String)
            _title = value
        End Set
    End Property

    Public Property PublishDate() As Date
        Get
            Return _publishDate
        End Get
        Set(ByVal value As Date)
            _publishDate = value
        End Set
    End Property

    Public Property Description() As String
        Get
            Return _description
        End Get
        Set(ByVal value As String)
            _description = value
        End Set
    End Property

    Public Property URLString() As String
        Get
            Return _uRLString
        End Get
        Set(ByVal value As String)
            _uRLString = value
        End Set
    End Property
End Class

You can easily load the Google News RSS data into an "XmlTextReader".  The "ReadXml" method of the "DataSet" converts the xml data into a "DataSet".  The "NewsItem" class is just an example data container.

Currently rated 2.9 by 14 people

  • Currently 2.857143/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

SignTool Error: Signtool requires CAPICOM version 2.1.0.1

by michael 3/12/2008 10:36:29 AM

I had uninstalled some CTP "Community Technology Preview" software.  The next thing I know I'm getting this "SignTool" error when trying to publish with ClickOnce in Visual Studio 2005.  It wasn't a hard fix.

  1. Download the latest CAPICOM "Platform SDK Redistributable" here.
  2. Run the downloaded "capicom_dc_sdk.msi" file.
  3. I had to register the DLL file.  Assuming the installation directory is the same just run the following command from the command prompt.

regsvr32 "C:\Program Files\Common Files\Microsoft Shared\CAPICOM\CapiCom.dll"

Hope this helps!

Currently rated 3.3 by 44 people

  • Currently 3.295455/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Great Silverlight 2 sessions at MIX 08

by michael 3/8/2008 1:39:06 PM

The MIX sessions videos are posted online here.

Currently rated 3.0 by 5 people

  • Currently 3/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Yeah.....Silverlight 2 Beta 1 Tools for Visual Studio 2008

by michael 3/5/2008 8:21:00 AM

The Silverlight 2 Beta 1 runtime and tools for visual studio were released today as part of MIX 08.

Download Link

Be the first to rate this post

  • Currently 0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

So much to Grok: WCF and WF and LINQ and WPF... Oh My!

by michael 3/3/2008 10:31:00 PM

There are so many cool new things to learn in the .NET world.   It is hard to wrap my head around all of it.  I have had a chance to play with some of these new features (WCF, WF, LINQ, WPF), but I am no where near mastering any of them.  Well the best way to learn something is to dive right in. 

A simple but powerful example project that utilizes all of these new technologies would probably benefit the community greatly.  We need something to illustrate how these technologies can work together.

Will post updates on this if I can find the time to work on it.

Currently rated 3.0 by 21 people

  • Currently 3.047619/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags:

Michael Johnson Michael Johnson
Developer and Technologist.

E-mail me Send mail

Pages

    Recent comments

    Categories

    None


    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    © Copyright 2014

    Sign in