I can’t believe it’s been a week already since TechMixer University! Wow what a great time. It was our first year, and the last unofficial total I heard was 426 attendees, plus probably another 75 or so in speakers, vendors, and event volunteers. If you attended, I would love to hear from you, especially about the selection of speakers and subjects since I served as chair of the education committee. Shoot me an e-mail at arcanecode at gmail.com. I’ll keep your feedback confidential, but that feedback (good, bad, or ugly) will help us with next years event.
After the event each volunteer was recognized and presented with nice award. I thought the coolest award tough came from my nine year old daughter Raven. She took one of the leftover flyers, cut it up and made her own newspaper article. Here it is for your enjoyment.
Thanks again to everyone who participated, speakers, organizers, contributors and sponsors, and most of all the attendees.
I had quite the adventure last week getting to DevLink. Enroute Thursday night part of the electrical system in my old pickup decided to implode, leaving me stranded on the side of the interstate. I got it towed and had to wait for a friend to come get me (thanks Ben!). The closest place to wait was the Mexican Phone Company (aka Taco Bell). I claimed the booth with the wall outlet, setup my laptop, and settled in for 3 hours of waiting. Naturally there was no wi-fi to be found.
Always looking for opportunities to be productive, I worked on editing a Camtasia video I had recorded recently at a Bug.Net meeting. After a bit I decided to take a break and eat. While munching on a cheesy stuffed burrito I watched some videos I had downloaded from the InformIT site. In the first video Ted Neward talked about functional coding and touches on F#, in the second he dives deeper into F#. Once the videos and my cheesy stuffed burritos were done I returned to editing.
So the next day I got my wife’s van out of the shop (transmission had gone out leaving CodeStock – these conferences are getting expensive!) hopped in and took off once again for DevLink, this time making it just in time to see the last session of the day – none other than a presentation by Ted Neward and Amanda Laucher on F#. And I’ll be dog gone if Ted wasn’t wearing the exact same t-shirt he had one while filming the videos I’d watched. Made the experience that much more surreal. Either that or the cheesy stuffed burritos were haunting me, one of the two.
I did at least get one whole day in at DevLink, still well worth going to. And I’m not just saying that because I won a copy of Vista Ultimate and Master Chiefs decapitated head. Oh and if you are looking to learn a little more on F#, Ted’s got a great article in the Sept/Oct 2008 issue of Code Magazine called F# 101. Good reading.
All in all, despite the vehicular issues DevLink was still a good value and I plan to make it an annual trip.
On August 19th, 2008 I am presenting “Getting Started with SQL Server 2005/2008” at the TechMixer University conference that is taking place between in Birmingham Alabama. This post will have all the links relevant to my talk.
Detailed descriptive material can be found on my blog, ArcaneCode.com, with links to specific posts below.
First off, the slides and sample code can be located at the Code Gallery site I setup specifically for Full Text Searching with SQL Server:
Look on the downloads page to see various projects around SQL Server Full Text Searching. I’ve created one “release” for each of the projects around FTS. Be sure to look on the right side at the various releases in order to see the various projects.
Next, you can get started with the basics by reading these entries on my blog:
Lesson 0 – Getting the Bits to do Full Text Searching in SQL Server 2005
Lesson 1 – The Catalog
Lesson 2 – The Indexes
Lesson 3 – Using SQL
Lesson 4 – Valid Data Types
Lesson 5 – Advanced Searching
After that you’ll be ready for some advanced topics.
Can you hear me now? Checking to see if FTS is installed.
Exploring SQL Servers FullTextCatalogProperty Function
Using the ObjectPropertyEx Function
Using FORMSOF in SQL Server Full Text Searching
Creating Custom Thesaurus Entries in SQL Server 2005 and 2008 Full Text Search
Creating and Customizing Noise Words in SQL Server 2005 Full Text Search
Creating and Customizing Noise Words / StopWords in SQL Server 2008 Full Text Search
Advanced Queries for Using SQL Server 2008 Full Text Search StopWords / StopLists
Sure, everyone would like a good UI, but most developers simply have not had the training to implement a usable user interface. I’m not necessarily talking about something dazzling and good looking, no I’m talking about USABLE. Think user interfaces aren’t that important?
Last night on Twitter, @djuggler mentioned John Denver. My wife is a huge John Denver fan. Right after we got married, I took her to a John Denver concert. We got all dressed up, did the nice dinner then I surprised her with some great seats. We were on the front row, if you exclude the seats that were down in the orchestra pit. I was especially glad I spent the extra bucks as it turned out to be his last concert in Birmingham before he passed away.
@djuggler ‘s tweet made me curious what year he’d passed away. In reading the Wikipedia article I found an interesting link to an article on ASK TOG. It was titled “When Interfaces Kill: What Really Happened to John Denver”. I’ll let you read the article for the full details, but the short version is the fuel tank toggle switch was poorly designed, and in a location that forced the pilot to remove his hands from the controls. Doing so caused John Denver to lose control and, well, that was that.
I hope this brings to light how important a good UI can be. At the risk of this sounding like a lame lead in to a commercial, I will mention tonight’s BSDA meeting. Shannon Brooks-Hamilton is coming to speak to give us a User Experience Overview. From her extract:
“User Experience” is a person’s overall experience and satisfaction when using a product or service. This presentation will give an overview of the practices, methods, and outcomes of User Experience with an emphasis on tips for great interface designs. The benefits of User Experience include increased product usage, increased e-commerce sales, increased user productivity, decreased support costs, decreased training costs, and fanatical customer loyalty. Google, Apple, and IDEO are examples of companies that embrace User Experience.
We’ll be meeting at 6:30 pm on August 14th at the New Horizons Training Center in Homewood, hope you can make it!
In my recent presentation I talked about an important but subtle difference with connection strings when using SQL Server Compact Edition. It was so important I thought I’d make a special blog post out of it.
There are two methods for programmatically accessing data in SQL Server Compact Edition (SSCE). The first method is using the System.Data.SqlServerCe library. When you create an instance of the SqlCeEngine, you need to pass a connection string formatted like so:
This method is valid, by the way, for version 3.1 or 3.5 of SSCE. The second method, available with Visual Studio 2008 and the 3.5 version of SSCE is to use LINQ to SQL. When creating the DataContext object, you also need a connection string formatted like so:
Data Source=mydatabasename.sdf; Password=’mypassword’
Note very carefully the two differences. First, the name of the sdf file lacks the double quote marks in the LINQ to SQL version. Second, note the Data Source phrase has a space between the words in the LINQ version, where the SqlCeEngine version lacks the space.
It’s a small distinction, but it’ll drive you nuts if you don’t catch it. I drove myself nuts for quite a while because I didn’t notice the extra space in Data Source when I began experimenting with LINQ to SQL! Hopefully my pain will save others some hair pulling.
Tonight I will be presenting “Getting Started with SQL Server Compact Edition 3.5” at the Bug.Net users group. If you go to my Arcane Lessons page and scroll down just a little, you will find a section called “Getting Started with SQL Server 2005 Compact Edition”. The subjects referenced there are still valid under Visual Studio 2008 / SQL Server Compact Edition 3.5.
However, there are some new features that make it worth our while to give SSCE 3.5 a second look. For example, did you know you can access Compact Edition using LINQ to SQL? My updated presentation and code demo will show you how.
Speaking of which, you can find my PowerPoint slides and Code Demos at the new Microsoft Code Gallery site I’ve setup:
Over the coming days I will also be adding blog posts to talk about the new features in version 3.5, and how to access SSCE from LINQ to SQL.
I was at CodeStock in Knoxville over this previous weekend. Great conference. It was run very well, everything went quite smoothly. I attended some really great sessions, and got to meet a ton of great folks.
The twitter get together the night before at the hotel was awesome. It was sort of weird, a lot of the folks I have known on twitter for several months now, but this was the first time we got to meet face to face. As I told my wife, “I got to see a lot of old friends for the very first time and catch up on old times.” We got into some really interesting discussions on development topics, user group activities, and just had a lot of fun in general.
I attended a lot of good sessions during the day, but want to point out a few in particular. The first was put on by Amanda Launcher and Joe O’Brien. They talked about alternative languages such as Ruby and F#, and why learning them was important. They pointed out that alternative languages help you think about different approaches to problem solving. Gave us a lot to think about, and has me eager to dive into those F# books I bought.
The other two sessions were on LINQ. Joe Kunk did a LINQ to SQL session. His stated goal was to give us enough info to return to the office and write our first LINQ app. This combined with Jim Wooley’s session on LINQ Migration Strategies did just that, I sat down Sunday and, I admit with the help of a few books, in a few hours had written my first LINQ code to talk to SQL Server Compact Edition.
I thought CodeStock was a great investment of my time, and am looking forward to returning next year.
Just wanted to let everyone know I’ll be doing a presentation this coming Tuesday night, August the 12th for the Birmingham .Net Users Group (BUG.NET). My topic, as you may have guessed from the title, will be using SQL Server Compact Edition.
While I will be using Visual Studio 2008, I will point out which pieces are 2005 compatible. I will also cover the use of both traditional coding techniques as well as how to use LinqToSQL to talk to the Compact Edition.
The meeting takes place at 6:30 pm at New Horizons Training Center in Homewood.
I also plan a new series of blog posts to start later this week on the subject, and will be creating a new Code Gallery site to hold my examples.
Also, don’t forget the regular BSDA meeting this coming Thursday night, the 14th. Also starting at 6:30 pm at New Horizons, Shannon Brooks-Hamilton, a software usability expert, will be there to talk about user interface design. Lots of good thought material on how we can make better UIs for our users.
It’s here it’s here! SQL Server 2008 RTM is now on MSDN. I’m downloading it now. Only downside, to use Visual Studio 2008 with it you need VS2008 SP1, and that hasn’t released yet. So be cautious if you install and desire to use VS2008 with it.
If you recall my “Good Reads” post from June 25th, you will remember I am a big believer in books as a learning medium. I like to employ a lot of different ways to learn: user groups, blogs, podcasts, videocasts, and magazines to name a few. But for really in depth coverage, it’s hard to beat a nice book in your hands. I got some good feedback from my mention last week of Andy Leonard’s new e-book on Data Dude, so I thought that I would continue by adding book reviews to the blog every so often.
For this review I thought I’d cover a book that seems to constantly be on my desk lately: Expert SQL Server 2005 Integration Services, by Brian Knight and Eric Veerman. This book does a really good job and is specifically targeted toward the data warehousing professional. One entire chapter is devoted to ETL for dimension tables; another chapter focuses on the fact tables. It was great to have coverage so focused on these topics.
Another favorite part of the book is the two chapters on deploying and managing SSIS packages. So often these topics are glossed over, especially the managing piece. The book does a great job in covering all the tools and practices around this subject. I’ll mention one more chapter, one that focuses on package reliability. They cover logging, auditing, event handling, checkpoint files, and even suggestions on testing error handling logic.
There are many more chapters in the book, such as migration from DTS (SQL Server 2000) and Scalability, for you to discover. The other thing I love about this book is the brevity. The authors cover an amazing amount of information in just 382 pages. As a busy, busy person I very much appreciate the conciseness they achieved without sacrificing any clarity.
I’ve met both authors, and have heard them speak. They are both very nice, knowledgeable individuals, and I highly encourage you to attend one of their presentations if you get the chance, or if not at least buy their book from your favorite retailer; you will find it a great investment.
I was listening to the current episode of Deep Fried Bytes and was reminded of an important lesson. In case you haven’t heard of it, Deep Fried Bytes is a relatively new but very good development podcast. I highly recommend the podcast, it’s become a favorite on my Zune.
The hosts, Keith and Woody were interviewing members of the Microsoft.com support team. Yes, the guys who keep the actual Microsoft.com website up and running.
Keith Woody asked them about a really challenging problem they hand, and one of the team recounted the tale of a site that had been in production about a year, when performance suddenly tanked. Naturally they went through the standard debugging questions, including “has anything changed in the code?” Since nothing had, they said “oh, well can’t possibly be the code” and went on to look at other things.
They went on to look at other things before finally, in desperation, coming back to the code. It turned out there was a scalability bug that had been there since day one, buried deep in a stored procedure. The select statement inside the stored proc caused a table scan. Not so bad when there were few records but after being up for a year the number of records was bogging down the stored proc.
I have been on many projects where a developer insisted the bug couldn’t possibly be in the code as it’s been running “perfect” and no recent changes have been made. The lesson to learn is never to rule out anything when looking for bugs. True, you should start with the most likely suspects, if no changes have been made to code then the probabilities of it being code are low as compared to say a hardware issue, but don’t rule it out completely. Get the entire team working in parallel. Let the developers look at the code, the DBAs at the database, admins at the server and network, and so on. Through teamwork, and being open to all possibilities you can achieve some deep fried debugging.