My proposal on sqlcmd was accepted at Sql PASS European conference, to be held in Barcelona, Spain. Last Friday I submitted the last document the Spanish Consultate in Chicago needed. I was told that I would be able to get the visa next Friday.
I will deliver a session on sqlcmd for the conference. So, I will be in Barcelona from 02/20 to 02/26. If you are my reader and will be at the conference, please feel free to stop me and say hi.
I have encountered a few instances of application failing to install because of the .Net Framework on the machine is either too old or too new. This happened quite a lot during my testing of Microsoft SQL Server 2005 Beta and CTP. I figured it was ok because, after all, it was Beta, although I wasn’t too happy about it. Simon has a good blog entry about this topic, where Microsoft SQL Server 2005 RTM cannot cleanup older versions of .Net Framework. If you have installed Microsoft SQL Server 2005 Beta or CTP, you really don’t have much choice, short of rebuilding your machine, which is what I did.
It happened to me again within the last couple of months, although I couldn’t remember what application I was playing with. Yesterday, as I was testing SyncToy recommended by my readers, this problem resurfaced. So I decided to blog about it.
During SyncToy installation, I got the message below:
This setup requires the .NET Framework version 1.1.4322. Please install the .NET Framework and run this setup again. The .NET Framework can be obtained from the web. Would you like to do it now? Yes Button No Button
Yes Button will lead you to http://msdn.microsoft.com/netframework/downloads/updates/default.aspx. From here you have the choice of 3 .NET Framework versions to choose from as of this writing, among Service Packs, SDKs, Compact Framework, Redistributable for Windows 2003, and others. And nowhere does it mention version 1.1.4322, which is required according to the message mentioned above.
Now I have .NET Framework 2.0.50727 on my machine. I don’t know enough of the differences among those versions. But it upset me.
During the MTS, COM, and COM+ days, one common problem developers encountered was DLL hell. It was caused by incompatibility among different versions of a same DLL (Dynamically Linked Library) file. You needed to be careful when you register DLLs using regsvr32. Microsoft has touted .Net Framework as a solution to address that problem. Judging from my personal experience so far, I am not convinced. I hope we won’t have a .Net Framework hell in its place.
I know .Net Framework is still relatively new, so I would not be too harsh. But I think it is something that needs to be addressed before it escalates. For example, backward compatibility is something to look at seriously; more robust and reliable .Net Framework distribution needs to be researched; all tools released by Microsoft should be recompiled so different versions would be available for download for different .Net Framework install, etc.
To find out the version of .Net Framework on your Windows PC, check the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\vX.X.XXXXX, where X.X.XXXXX is your .Net Framework version number.
Granted, this does not only happen on Windows platform. Linux sometimes has similar dependency issue. That’s why it is always a good practice to test that before you do an RPM install. Use rpm -i PackageName –-test to find that out, as I learned during my attempts to install some SMTP tools on Linux described here.
By the way, I don’t understand why marketing people invented the .Net lingo. Put it mildly, I am not particularly fond of it. I remember reading somewhere before that Microsoft decided to drop the lingo a while ago. But it is still here today. Or maybe it got scaled back. Maybe Windows 2003 was to be called Windows .Net Server initially. Anyway, I will rejoice if .Net lingo is totally dropped. But it does not look like it is going to happen.
In Linux, you can use rsync to synchronize files in multiple directories. I am looking for the equivalent in the Windows world. This is my user case:
1. I have a usb flash drive to carry files around;2. I have fixed number of directories on a Windows machine from where I save and edit important script, source code, and other files;3. I can create the same directory structure on my usb flash drive, if needed. The usb has 1 gb capacity;4. In almost all cases, files on the Windows machine are more recent.
I want a simple program that update all files in the usb drive, so that they are in sync with those on the Windows workstation. Ideally, the program should be lightweight and has a command line interface.
Any recommendations? Or maybe I should write one for myself. This could be a good project for me to fulfill my wish of being a functional C programmer.
I have asked for MSDN subscriptions here. Don Kiely, Sql Server MVP and all-around nice guy, has generously given me a free MSDN subscription. Don’s blog is one of my favorite. And he recently produced a training video here. I’ve seen Don presenting at last year’s PASS conference in Texas. He is a great speaker. Thanks a lot Don for your generosity!
I promised Don that I would sing his praise before sun rise daily. I actually also need to sing praises for Steve, Andy, and Brian, the guys who build and maintain SqlServerCentral.com. You guys rock! SqlServerCentral.com has built such a wonderful community for Sql Server professionals. It is on this wonderful community portal that I started my technical writing. And I appreciate it very much for your kindness, generosity, and help over the years.
Also, thanks to Brian for introducing me to book writing. Our book, Professional SQL Server 2005 Integration Services will be available by the end of January. However, you can pre-order it on Amazon now:-)
VMWare recently released a freeware called VMWare Player that can play a pre-built virtual machine file. A virtual machine is an OS bundled with whatever the virtual machine creator put there. This is perfect for people to test-drive various operating systems and software, without going through the hassle of installing themselves. VMWare currently provides virtual machines preloaded with RedHat, Novell Suse, ubuntu, Oracle, MySql, and Bea, among others.
Memory used to be a bottleneck for virtualization software to take off. However, on the hardware side of things, both Intel and AMD are pushing 64-bit processors pretty aggressively now. With 64-bit architecture, the memory space the operating system can access increases exponentially (from 2^32 to 2^64). With the push towards 64-bit and the emergence of virtualization technology, I wonder what kind of impact this will have on the software landscape, like operating systems, database software, web server, and application server, etc..
Linux, MySql, Apache and other open source software have made great headway in enterprise server market, especially for large financial firms. I do believe there are still a big learning curve and intimidating factor at play for mid-size to smaller firms when it comes to learning and evaluating alternative software products like Linux. Maybe the combination of 64-bit and virtualization software will help. Using the cliche popularized by the book The World Is Flat, 64-bit and virtualization will help bring down barrier of entry and flatten the competitive landscape. With more memory and more powerful processor, virtualization software helps people test things out that they may not able to or too difficult for them to try otherwise. And that will be a good thing.
The current market leader in this arena seems to be VMWare, since it works on both Windows and Linux platforms. Microsoft’s Virtual PC and Virtual Server only works on Windows, and my limited testing in installing Fedora Core 2 on Virtual PC didn’t work out very well.
Software vendors, jump on the wagon. Oracle, MySql, IBM, Bea have created and provided virtual machine files for downloading at VMWare’s Virtual Machine Center. I think that is a smart move. Even Microsoft has something to gain in doing so. For example, it can team up with VMWare and distribute Sql Server 2005 for a wider testing via their distributing channels.
I have personally tried ubuntu Linux distro on my laptop and it worked pretty well. My laptop is Acer Aspire 3500 with Celeron processor and 512M of memory.
I did a presentation on sqlcmd at the Chicago Sql Server User Group meeting yesterday at Microsoft’s downtown Chicago office. Overall, I think it went pretty well.
For participants, thanks for coming and your great questions. As I mentioned earlier, the slides and scripts used can be downloaded here. Let me know if you have trouble downloading them.
The session lasted for about one hour. Here are the principals that I try to follow for my presentations:
1. Make simple slides. Do not read your slides. Reading slides is a waste of everybody’s time;2. Do a lot of live demos and hands-on work. Show your concepts and ideas in action;3. More demos are good. However, do not make your demos so fancy and complicated that your audience have a hard time understanding them. Remember to practice your demos beforehand;4. Ask questions related to the topic of your session, or ask casual questions to break the ice. This can make your talk interactive, and you will get people’s attention most of the time;5. However, do not just ask questions for the sake of asking of questions. If you do that, people will sense you are really not interested in their answers, and it will probably backfire on you. I think this also depends on how many people attend your presentation;6. Be adaptable based on your audience and your interaction with the audience;7. Prepare, prepare, and prepare more. You obviously need to have a solid understanding of the subject you are presenting. It helps if you do one or more rehearsals, where you pretend you are talking to a live audience. It is good to talk it out loud during your rehearsal, if you can;8. Some commentaries are good, provided they are based on facts or your own real-world experience. They can make your talk sound interesting and help keep the audience engaged. Here the right attitude is the key. If you are self-righteous and/or start lecturing people, you will not have a good presentation;9. Preparation also means that wear the clothes you feel comfortable with, brush your teeth properly so you can have a confident smile, get to the meeting place ahead of time, etc., etc..10. Creating flash cards helped me. I ended up not using them at all, but the process of doing it helped me understand my own material, the questions I wanted to ask, the humors and anecdotes I can use, etc..
What other tips do you have?
As posted here, my presentation last month at Chicago Sql Server User Group was cancelled due to some technical issues.
So I will present again in our next Chicago Sql Server User Group meeting on Thursday, 01/12/2005, at Microsoft’s downtown Chicago office on Wacker Drive. The session will start around 5:30pm. Free pizza and soda will be offered.
I will give you an introduction to sqlcmd, a powerful and versatile command line utility for Microsoft SQL Server 2005.
Slides and demo code can be downloaded here. Let me know if you have trouble with it. Hope to see you there.
I learned that Microsoft is giving away some MSDN subscriptions to MVPs for them to share with people in the community. If you are an MVP or Microsoft and reading this, I wonder if I can get a subscription for free:-)
I got one year subscription of TechNet through a drawing last January, and it helped me so much in learning and evaluating products. Plus, I do blog and share what I learn with the community, so your generosity will not go wasted.
While I am at it, I'd also appreciate it if I can get VMWare Workstation, RedHat, Novell Suse, Mandrake, MySql, Oracle, Intel, AMD, IBM DeveloperWorks, and/or Borland developer/Admin subscriptions. I am greedy, I know, but listing them here does not mean I will get any.
Thanks.