CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Raymond Lewallen

Framework Design, Agile Coach, President Oklahoma City Developers Group, Microsoft MVP C#, TDD, Continuous Integration, Patterns and Practices, Domain Driven Design, Speaker, VB.Net, C# and Sql Server

August 2005 - Posts

  • A recap of popular and helpful posts for developers

  • The Guitar Shred Show

    This is too cool. The Guitar Shred Show.  If you’re an amatuer, or think you’re a pro, check this out.  Once you get in, check out the Mountain of the Tapping Dwarfs – Lesson and Jam.  There are almost 40 licks, all with tabs, demonstrating different techniques, and a shockwave of some dude playing them with accurate fingerboard placement.  My favs are D and H.  That’ll make more sense when you get in there.  Like I said, too cool!
  • Transaction Cost Analysis – Capacity Model for Internet Transactions

    I had this oddly named file in My Documents, and opened it up to see what it was.  Turned out to be a whitepaper I had downloaded years ago on Transaction Cost Analysis – Capacity Model for Internet Transactions.  It was written by a couple of folks over at Microsoft who develop TCA methodologies for Microsoft for depolying servers such as Site Server, Exchange and Commercial Internet System.  The paper includes how to do an appropriate TCA as well as providing formulas for doing the calculations.  Download here.

    The purpose of capacity planning for Internet services is to minimize the total dollar cost of ownership of the hosting platform in such a way which supports transaction throughput targets and ensures response times remain within acceptable bounds. Conventional solutions often attempt to cost Internet services through extrapolation of generic benchmark measurements. To satisfy this optimization objective more effectively, a methodology based on transaction cost analysis (TCA) is developed for estimating system capacity requirements.

    Client transactions are simulated on the host server by a load generation tool which supports standard network protocols. By varying the client load a correspondence is made which relates transaction rate with resource utilization over the linear operating regime. A usage profile is defined which is intended to capture anticipated user behavior. This profile determines the throughput target and other important transaction parameters from which resource utilization and capacity requirements are then calculated.

  • You'll Pay a Premium for These Programmers

    From CIO Magazine this August:

    A survey of 48,000 IT workers on compensation, published in June by IT consultancy Foote Partners, finds that pay is rising for employees with application development, networking, messaging, database and systems administration know-how, and falling for those with skills in HTTP and HTML, among others.

    HOT

    • SQL Windows
    • IBM WebSphere
    • Microsoft .Net
    • Cisco Certified Security Professional
    • Certified Information Systems Auditor
    • HP/Compaq Accredited (and Master Accredited) Systems Engineer
    • Sun Certified Enterprise Architect/ Certified Programmer for Java 2 platform
    • Sun Certified Systems Administrator for Solaris

    NOT

    • Powerbuilder
    • Perl
    • HTTP
    • Wireless Markup Language
    • Webmaster and Internet certifications
    • HTML
    • Beginner certifications (for instance, Microsoft Certified Professional)
    • Siebel Certified Consultant/Customer Certified Consultant
    • Global Information Assurance Certification Firewall Analyst
  • Ron Jacobs in OKC to talk about the new UI Application Block

    Ron Jacobs is coming to OKC on August 24th for the lunch meeting only.

    Ron Jacobs is a product manager for Microsoft's patterns & practices team based in Redmond, Washington. A popular conference speaker and host of the weekly webcast patterns & practices Live! Ron brings together solid architectural content and a sense of humor together to help you succeed in building architecturally sound and secure applications.

    Topic:  Composite UI Application Block —Community Technical Preview

    Earlier this month, you learned about existing application blocks.  Now learn about a new one coming down the pipe.

    The Composite UI Application Block - Community Technical Preview application block is a reusable, source code–based component based on the Microsoft .NET Framework 2.0 Beta 2. It provides proven practices to build complex smart client user interfaces based on well known design patterns such as the Composite pattern, in which simple user interface parts can be combined to create complex solutions, but at the same time allowing these parts to be independently developed, tested, and deployed.

  • Top 10 Fantasy Kickers for 2005 Based on Total Points Projections

    Here are the top 10 fantasy kickers for 2005 based on total points projections

    1          A. Vinatieri       151

    2          J. Elam             142

    3          M. Vanderjagt  141

    4          D. Akers          137

    5          M. Stover         135

    6          R. Longwell      131

    7          S. Janikowski   131

    8          S. Graham        127

    9          J. Reed             127

    10        J. Brown          127

  • Top 10 Fantasy Tight Ends for 2005 Based on TD Projections

    Here are the top 10 fantasy tight ends for 2005 based on TD projections

    1          A. Gates                       11

    2          T. Gonzalez                  8

    3          J. Witten                       7

    4          A. Crumpler                 7

    5          D. Clark                       7

    6          B. Franks                     7

    7          J. Shockey                   6

    8          C. Cooley                    6

    9          T. Heap                        5

    10        L.J. Smith                     5

  • Top 20 Fantasy Wide Receivers for 2005 Based on TD Projections

    Here are the top 20 fantasy wide receivers for 2005 based on TD projections

    1          R. Moss                       16

    2          T. Owens                     13

    3          M. Harrison                  13

    4          J. Walker                     12

    5          T. Holt                         11

    6          C. Johnson                   11

    7          R. Wayne                     10

    8          J. Horn                         10

    9          L. Fitzgerald                 10

    10        J. Porter                       10

    11        M. Clayton                   9

    12        D. Bennett                    9

    13        N. Burleson                  9

    14        C. Chambers                9

    15        M. Muhammad 9

    16        R. Williams                   9

    17        A. Johnson                   8

    18        D. Jackson                   8

    19        D. Driver                      8

    20        E. Kennison                  8

  • Top 20 Fantasy Running Backs for 2005 Based on TD Projections

    Here are the top 20 fantasy running backs for 2005 based on TD projections

    1          L. Tomlinson    19

    2          S. Alexander    19

    3          P. Holmes        18

    4          W. McGahee   15

    5          C. Dillon           13

    6          R. Johnson       12

    7          E. James           11

    8          D. Davis           11

    9          D. McAllister    11

    10        C. Portis           11

    11        L. Jordan          11

    12        A. Green          11

    13        J. Jones            11

    14        J. Lewis            10

    15        K. Jones           10

    16        B. Westbrook  10

    17        T.J. Duckett     10

    18        T. Barber         9

    19        C. Martin         9

    20        T. Bell or M.Anderson              9

  • Top 20 Fantasy Quarterbacks for 2005 Based on TD Projections

    Here are the top 20 fantasy quarterbacks for 2005 based on TD projections

    1          P. Manning                   44

    2          D. Culpepper               36

    3          D. McNabb                 34

    4          T. Green                       31

    5          B. Favre                       31

    6          K. Collins                     29

    7          T. Brady                       28

    8          M. Bulger                     27

    9          A. Brooks                    27

    10        M. Hasselbeck             26

    11        D. Brees                       26

    12        J. Plummer                   25

    13        J. Delhomme                25

    14        C. Palmer                     25

    15        B. Griese                      21

    16        M. Vick                       20

    17        C. Pennington               20

    18        D. Bledsoe                   19

    19        B. Leftwich                   19

    20        B. Roethlisberger          19

  • Looks like keeping LaMont Jordan will be a good decision

    Last Tuesday, I had to turn in my keeper player for this years fantasy league.  I was in a quandry about whether to keep LaMont Jordan or Adam Vintateri.  Good running backs are hard to come by, but I had a hunch about LaMont Jordan.  In reality, I probably wouldn't pick Jordan until at least the middle of the third round, and that was probably still high, as he is still unproven and I really don’t like ranking unproven players in the first 3 rounds of a draft.  But lately, people are starting to talk about him more and I am anticipation a great season for him.

    Here is what fantasy sports writer Dave Richard of CBSSportline had to say about Jordan the other day:

    If the Raiders' first preseason game is any indication, LaMont Jordan could be a bigger Fantasy factor than first expected. Four of Oakland's first five plays involved Jordan (two runs, two receptions). In fact, Jordan had four catches in the game, including a nimble, one-handed catch from Kerry Collins. That's surprising to me; Jordan's career high in receptions is 17 in 2002. If this continues, Jordan will move up the charts. He's worth taking in Round 2 in most leagues.

    In that game, Jordan had 4 receptions for 23 yards and 4 rushes for 12 yards. (his NFL career average yards per rush is 4.9 and only 5 career fumbles, none lost).  Yes, I know, it was against the 49ers, but still.
  • Populate a Sql Server table with the results of a DIR

    Here is a script I use occasionaly.  This is helpful to me when I want to create custom role permissions, mapped to a database user or just user credentials stored in the database, for files in a project or website.  I use this to load files into the database, and then create the cross-reference for granting or denying access.  Credit goes to Neil Jacobson.

    This stored procedure reads the file names from a directory and stores just the names in a given table. It returns also the number of files present. The sp uses xp_cmdshell and so permissions are restricted to sysadmins and SQLAgentCmdExec. You can test with the following: Create Table ##tmp2 ( fldx nvarchar(255) ) Declare @FilePath nvarchar(2048) , @tblName nvarchar(255) , @FileCount int Set Nocount on Select @FilePath = 'C:\Test1' , @tblName = '##tmp2' , @FileCount = 0 EXEC master.dbo.sp_DirFiles @FilePath , @tblName , @FileCount OUTPUT Select * From ##tmp2 select 'Filecount = ', @FileCount drop table ##tmp2

    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO

    if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[sp_DirFiles]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
    drop procedure [dbo].[sp_DirFiles]
    GO

    CREATE PROCEDURE dbo.sp_DirFiles
     ( 
        @FilePath    nvarchar(2048)   = NULL
      , @tblName    nvarchar(255)     = NULL
      , @FileCount   int     = 0 OUTPUT
     )

    AS

    /********1*********2*********3*********4*********5*********6*********8*********9*********0*********1*********2*****
    **
    **  $Archive$
    **  $Revision$
    **  $Author$
    **  $Modtime$
    **
    *******************************************************************************************************************
    **
    **  $Log$
    **
    *******************************************************************************************************************
    **
    ** Name: sp_DirFiles
    ** Desc: This procedure copies filenames from directory to specified table
    **  It returns the file count.
    ** NOTE:
    ** 
    ** 
    ** 
    ** Return values: 0 = Successful, error number if failed
    **             
    *******************************************************************************************************************
    **  Change History - All Author comments below this point.
    *******************************************************************************************************************
    **  Author Date  Description
    **  ------- -------- -------------------------------------------
    **  NBJ  31-Jan-2002 Original - SP to get filenames into a table
    ******************************************************************************************************************/

    Declare    @Err  int
    ,  @cmd  nvarchar(3000)
    ,  @cmd1  nvarchar(4000)
    ,  @cmd2  nvarchar(4000)
    Select @Err = 0

    If @FilePath is Null
    Begin
     Return 1
    End
    If @tblName is Null
    Begin
     Return 2
    End
    Set nocount on

    Create Table #tmp1
     (
     fld1 nvarchar(255)
     )
    Select @Err = @@Error
    If @Err <> 0
    Begin
     Return @Err
    End

    Select @cmd = 'DIR /B /A-D ' + Rtrim(@FilePath)
    Insert #tmp1 Execute master.dbo.xp_cmdshell @cmd
    Select @Err = @@Error
    If @Err <> 0
    Begin
     Return @Err
    End

    EXEC ('Insert ' + @tblName + ' Select * from #tmp1 where Not(fld1 Is Null) and Not(fld1 = ''File Not Found'') ')

    Select @Err = @@Error, @FileCount = @@rowcount
    drop table #tmp1
    If @Err <> 0
    Begin
     Return @Err
    End

    Return 0
    GO
    SET QUOTED_IDENTIFIER OFF
    GO
    SET ANSI_NULLS ON
    GO

  • What is Quantum Cryptography?

    Here is a good introductory article on QC (quatum cryptography) entitled What is Quantum Cryptography I ran across recently.  For those of you who have never heard of QC, its going to be commonplace in our lives before too long, replacing the popular public key cryptography system we use today, and certainly change how we, as developers, deal with encrypted data.  QC is something I follow with interest, and have been for about 2 years now, although the ideas of QC have been around for much longer.  Below are a few short explanations from 2 good QC sites, and one recently published news article that explain QC.

    Here is the QC definition from qubit.org

    While classical cryptography employs various mathematical techniques to restrict eavesdroppers from learning the contents of encrypted messages, in quantum mechanics the information is protected by the laws of physics. In classical cryptography an absolute security of information cannot be guaranteed. The Heisenberg uncertainty principle and quantum entanglement can be exploited in a system of secure communication, often referred to as "quantum cryptography". Quantum cryptography provides means for two parties to exchange a enciphering key over a private channel with complete security of communication.

     

    Here is a paragraph from a great site for information, including many published papers (not all in English though) at http://www.quantenkryptographie.at/

    Quantum cryptography is a superior technology which overcomes limitations and drawbacks of classical cryptographic schemes by utilizing quantum physical effects.  The appeal of quantum cryptography is that its security is based on the laws of nature. In contrast to existing classical schemes of Key Distribution, Quantum Key Distribution does not invoke the transport of the key, since it is created at the sender and receiver site immediately. Furthermore, the key is created from a completely random sequence, which is in general an extremely diffcult task in classical schemes. Finally, eavesdropping is easily detected due to the fragile nature of the qubits invoked for the quantum key distribution.

     

    Here is a quote from an article published a few weeks ago titled “ Single photons distributed for quantum cryptography “, where a Japanese telephone company successfully demonstrated QC in a photonic network of optical fibers – http://www.ferret.com.au/articles/e6/0c030ee6.asp

    Quantum cryptography is seen as the next generation cryptographic system to replace the public-key protocol for protecting data. It utilises the property that the quantum state is very delicate to the external environment, and is destroyed when an eavesdropper observes it. Since the secret key encoded in the quantum state, single photon, cannot be identically replicated, the receiver can easily detect if the secret key had been stolen. 

     
  • Find Sql Stored Procedures, Tables and Views Containing Some Text

    Last week, John posted a T-Sql script to find all stored procedures that contain some text. Along those sames lines, I have expanded what he has done to also include returning tables and views that have column names that contain the same text.

    CREATE PROCEDURE sp_find_objects_containing

                @search varchar(128)

    AS

     

    SET @search = '%' + @search + '%'

     

    SELECT o.name As "Stored Procedures"

                FROM SYSOBJECTS o INNER JOIN SYSCOMMENTS c

                            ON o.id = c.id

                WHERE c.text LIKE @search

                            AND o.xtype = 'P'

                GROUP BY o.name

                ORDER BY o.name

     

    SELECT o.name As "Views"

                FROM SYSOBJECTS o INNER JOIN SYSCOMMENTS c

                            ON o.id = c.id

                WHERE c.text LIKE @search

                            AND o.xtype = 'V'

                GROUP BY o.name

                ORDER BY o.name

     

    SELECT o.name As "Tables"

                FROM SYSCOLUMNS c INNER JOIN SYSOBJECTS o

                            ON c.id = c.id

                            INNER JOIN MASTER.DBO.SYSTYPES t

                            ON c.xtype = t.xtype

                WHERE o.name LIKE @search

                            AND o.Type = 'U'

                GROUP BY o.name

                ORDER BY o.name

    GO

  • INETA Community Launch Team

    I am your Oklahoma City .Net Developer’s Group INETA Community Launch Team represenative.  I look forward to training and helping all those in the OKC area with any questions you might have regarding both Visual Studio 2005 and Sql Server 2005.  The Community Launch Team will be the local experts on the new products and will speak to their user group at Community Launch of Visual Studio and SQL Server after the official product launch.

More Posts Next page »