Software development, .Net, SQL Server, TDD, Agile, Community and other Odds and Sods
Mitch Wheat has been working as a professional programmer since 1984, graduating with a honours degree in Mathematics from Warwick University, UK in 1986. He moved to Perth in 1995, having worked in software houses in London and Rotterdam. He has worked in the areas of mining, electronics, research, defence, financial, GIS, telecommunications, engineering, and information management. Mitch has worked mainly with Microsoft technologies (since Windows version 3.0) but has also used UNIX. He holds the following Microsoft certifications: MCPD (Web and Windows) using C# and SQL Server MCITP (Admin and Developer). His preferred development environment is C#, .Net Framework and SQL Server. Mitch has worked as an independent consultant for the last 10 years, and is currently involved with helping teams improve their Software Development Life Cycle. His areas of special interest lie in performance tuning
Thursday, July 23, 2009
SQL Server 2008: Script Data as Inserts
I expect many people know this already but just in case you don’t: in addition to scripting your database schema as TSQL, you can also generate data insert scripts directly from SQL Server 2008 Management Studio. Right-click on your database in SSMS, select Tasks –> Generate Scripts, ensure your database is highlighted and click next. Scroll down the options list to the “Table/View Options” section, and change “Script Data” to True.
(I’m not sure if this was also present in SQL Server 2005, as I don’t have an instance to hand).
Sunday, July 19, 2009
.NET: Determine Whether You Are Running in a 32-bit or 64-bit Process
Saw this excellent tip on StackOverflow today: You can use IntPtr.Size to determine whether you are running in a 32-bit or 64-bit process, as it will be 4 or 8 bytes respectively.
ASP.NET 2.0 Security Practices
Just so I have this excellent article link to hand: ASP.NET 2.0 Security Practices at a Glance
Tuesday, July 14, 2009
Book Review: The Computer as Crucible: An Introduction to Experimental Mathematics
Keith Devlin and Jonathan Borwein. AK Peters, 2008, ISBN-13: 978-1568813431
Whenever a book’s preface states its aims, a natural question to ask is whether it succeeds in meeting them. Keith Devlin and Jonathan Borwein, two mathematicians with expertise in different mathematical fields but with a common interest in experimental mathematics, begin this book by saying:
The sleuth-like style and lucid writing certainly make this book an enjoyable read. Many explanations are framed by relevant historical context and tales of mathematicians whose use of experimental mathematics helped them gain insights into difficult problems. Although it was never intended to be a course textbook, it could be used as a supplementary text. Many of the chapters are short, and should be viewed as aperitifs.
Chapter 1 deals with the important question “What is Experimental Mathematics?”. In the authors’ own words,
Broadly speaking, it is the use of computers in mathematics as tools in their own right, not simply as numerical calculation aids, “...experimentation is regarded as a significant part of mathematics in its own right…”.
What kind of experimentation? Here are some of the things described in this book:
It would be very easy to fall into the belief that great mathematicians pluck profound and deep results out of thin air, but some of the mathematical greats (Gauss, Euler, Fermet, Riemann...) were confirmed experimenters who would spend many hours carrying out calculations in order to discover new mathematical avenues worth pursuing. The 72 year old Gauss recounted in a letter to the astronomer, Johann Encke, that as a young boy of 15, armed with a table of logarithms he ‘frequently spent an idle quarter of an hour to count another chiliad here and there’ , which led to his estimate of the density of prime numbers; “..Gauss was very clearly an ‘experimental mathematician’ of the first order.”
Chapter 2 gives a brief introduction to the PSLQ algorithm, an integer relation algorithm developed by Helaman Ferguson. Given any real coefficients a0, a1 ,..., an and a precision ε, an integer relation algorithm uses high-precision arithmetic to find integer coefficients λ0, λ1, λ2, ..., λn such that λ0 ≠ 0 and
|λ0a0 + λ1a1 + ... + λnan| < ε
or else it tells you such expression exists within a ball of a given radius about the origin.
Chapter 3 (What Is That Number?) introduces Inverse Symbolic Calculators as tools to recognise numbers, and combined with Sloane’s online Encyclopedia of Integer Sequences, describes a technique for determining closed forms of sequences.
I have more than a passing interest in Riemann’s zeta function, the topic of Chapter 4 (The Most Important Function in Mathematics); I found it interesting though perhaps a little short. I particularly liked the quote about British soccer player, Wayne Rooney, contrasting him with David Beckham: “There is more chance of him [Rooney] proving Riemann’s Hypothesis than wearing a sarong”!
I’m certain physicists will find chapter 5 (Evaluate the Following Integral) interesting, especially given the authors’ collaborations in computing closed forms of definite integrals arising in physics.
Chapter 9 (Take It to the Limit) contains 3 worked examples of finding closed forms for infinite sums, and Chapter 10 (Danger! Always Exercise Caution When Using the Computer) contains sobering stories and examples of some of the pitfalls faced by experimental mathematicians. Here is one:
A computer algebra system (CAS) will discover that I1 = I2 = I3 = ... = I7 = π/2 but I8 = 0.499999999992646π
On finding this, the authors suspected a bug in the CAS software. But there is no bug!
The book provides tantalising examples and suggestions to whet the reader’s appetite in the form of an ‘Explorations’ section at the end of each chapter, not exactly exercises but there is a corresponding ‘Answers and Reflections’ chapter at the end of the book. Interested readers will find many of these topics expanded upon in .
I thoroughly enjoyed reading this short introduction to experimental mathematics. It will no doubt appeal to a broad mathematical audience, both professional and amateur alike. If I have one complaint, well more of a request, it would be a much longer chapter on evaluating definite integrals! But then, in the words of G. H. Hardy, “I could never resist a definite integral” .
 David Bailey et al. (2007). Experimental Mathematics in Action. AK Peters, MA.
 Macdonald, H. S. (1999). The Beauty of Geometry: Twelve Essays. Dover Publications.
 Havil, J. (2003). Gamma: Exploring Euler’s Constant. Princeton UP.
[This review appeared in the July 2009 issue of the Australian Mathematical Society’s Gazette.]
Saturday, July 11, 2009
Retrieve Deadlock Info with SQL Server 2008
Did you know that SQL Server 2008 has the ability to retrieve deadlock information after the fact without having previously enabled any additional tracing? It’s part of the new advanced troubleshooting feature called Extended Events. Here’s a SQL query from Jonathan Kehayias which retrieves SQL Server 2008 deadlock information:
More info. here: Using SQL Server 2008 Extended Events
Wednesday, July 08, 2009
ClearTrace for SQL Server 2008
I blogged about ClearTrace a while back. There’s a new version available that targets SQL Server 2008 (as well as SQL Server 2005). Download here. It’s a useful tool and the improved performance loading large trace files is a bonus.
MSN, Email: mitch døt wheat at gmail.com