Welcome to MSDN Blogs Sign in | Join | Help

SQL Server Web Developer Survey

The Microsoft SQL Server product team is undertaking a short survey to help guide potential new features and capabilities for web developers, please take a few minutes to take the survey and help shape the future of SQL Server. The survey will run for about a week (closing on 6/17 or there about) so don’t delay.

http://www.surveymonkey.com/s.aspx?sm=9s5sHwoJ97OV0OWt60idJA_3d_3d

 

I promise the survey is short – only 7 questions!

Posted by dtjones | 0 Comments
Filed under:

PCI Compliance and SQL Server 2008

Today compliance is a huge focus area for IT. Since compliance is written by lawyers for lawyers it takes a fair amount of translation to get it to the point where IT can understand what processes, policies, and configuration to implement to meet the requirements for a given compliance spec.

If you are a SQL Server DBA and face PCI compliance this white paper is a must read and the accompanying TechNet webcast a much watch.

Posted by dtjones | 1 Comments
Filed under: ,

Using PowerShell to Get Data & Log File Sizes

I was playing around with PowerShell today (yes I’m was geeking out on Saturday afternoon) to learn how to access Performance Counters using PowerShell. My mission was to write a script that would return the Data File and Log File sizes for each database and a total for the instance. The good news is SQL Server already provides a bunch of fun performance counters and PowerShell has built-in support for accessing performance counters. I thought this was pretty cool so I decided to share it. In addition, I hadn’t blogged in a while and I was feeling bad about that.

There are two groups of scripts and sample output below: 1) Data File Space and 2) Log File Space.

Sorry about the formatting of the output I’m just being lazy today – after all it is Saturday.

Have fun with it!

Oh, btw: I was doing this on a Win7 machine (which I also need to give an update on) so I had to launch PS as administrator so it had access to the perf counters (same should be true on Vista and Windows Server 2K8). If you don’t launch as admin you’ll get an error that looks like this:

Get-Counter : The specified instance is not present.
At line:1 char:26
+ $DBDataFile = Get-Counter <<<<  -Counter '\MSSQL$SQL2K8_01:Databases(*)\Data File(s) Size (KB)' -MaxSamples 1
    + CategoryInfo          : InvalidResult: (:) [Get-Counter], Exception
    + FullyQualifiedErrorId : CounterApiError,Microsoft.PowerShell.Commands.GetCounterCommand

 

Data File Space

#Displays the total Data File size for each database (including system databases)

$DBDataFile = Get-Counter -Counter '\MSSQL$SQL2K8_01:Databases(*)\Data File(s) Size (KB)' -MaxSamples 1

$DBDataFile.CounterSamples | where-object -FilterScript {($_.InstanceName -ne "_total")} | sort-object -Property InstanceName | format-table @{Label = "Database"; Expression={$_.InstanceName}}, @{Label = "Total Data File(s) Size (MB)"; Express={$_.CookedValue/1000}} -AutoSize

Database Total Data File(s) Size (MB)

-------- ----------------------------

ansicheck 2.304

master 4.096

model 1.28

msdb 10.752

mssqlsystemresource 61.696

pbm-prototype 2.048

tempdb 8.192

 

We can also just grab the total Data File space used by the instance:

$DBDataFile = Get-Counter -Counter '\MSSQL$SQL2K8_01:Databases(*)\Data File(s) Size (KB)' -MaxSamples 1

$DBDataFile.CounterSamples | where-object -FilterScript {($_.InstanceName -eq "_total")} | sort-object -Property InstanceName | format-table @{Label = "Database"; Expression={$_.InstanceName}}, @{Label = "Total Data File(s) Size (MB)"; Express={$_.CookedValue/1000}} -AutoSize

Database Total Data File(s) Size (MB)

-------- ----------------------------

_total 90.368

 

Log File Space

#Displays the total Log File size for each database (including system databases)

$DBLogFile = Get-Counter -Counter '\MSSQL$SQL2K8_01:Databases(*)\Log File(s) Size (KB)' -MaxSamples 1

$DBLogFile.CounterSamples | where-object -FilterScript {($_.InstanceName -ne "_total")} | sort-object -Property InstanceName | format-table @{Label = "Database"; Expression={$_.InstanceName}}, @{Label = "Total Log File(s) Size (MB)"; Express={$_.CookedValue/1000}} -AutoSize

Database Total Log File(s) Size (MB)

-------- ---------------------------

ansicheck 0.496

master    1.016

model 0.504

msdb 0.504

mssqlsystemresource 0.504

pbm-prototype 1.016

tempdb 0.504

 

We can also just grab the total Log File space used by the instance:

$DBLogFile = Get-Counter -Counter '\MSSQL$SQL2K8_01:Databases(*)\Log File(s) Size (KB)' -MaxSamples 1

$DBLogFile.CounterSamples | where-object -FilterScript {($_.InstanceName -eq "_total")} | sort-object -Property InstanceName | format-table @{Label = "Database"; Expression={$_.InstanceName}}, @{Label = "Total Log File(s) Size (MB)"; Express={$_.CookedValue/1000}} –AutoSize

Database Total Log File(s) Size (MB)

-------- ---------------------------

_total 4.544

Up & Running on Win7

Rock and Roll! Yesterday I did a clean install of Win7 x64 Beta on my Lenovo x301. Setup was fast and completed without any issues. In fact it had no problem with the SATA drive set in AHCI mode. The Vista RTM install couldn’t handle that. I had to use a custom driver or switch it in to compatibility mode.

Boot time is lightening fast as is resume from sleep. I haven’t played much with hibernate yet. Yes this is a clean OS install but I did a clean install of Vista on the same machine recently and it was not nearly as fast.

Over all performance feels much zippier. Apps load more quickly and the system feels far more responsive.

So far I’ve only run into three minor issues:

1) The current release of Live Mesh doesn’t play nicely with Vista video settings. I got a dog food QFE from the Mesh team that cleared the issue up. I don’t know when this will be released publically. (note: Dog Food is an internal term used for testing another groups product prior to public release.)

2) For some reason Win 7 didn’t play nicely with the sound system. I cleared this up by repairing the driver install. The build of Win 7 I installed is an Microsoft IT (MSIT) build. They mock with a bunch of stuff so I don’t know if I can blame this on Win 7 or not.

3) The start menu froze on me just once. It happened in a strange situation. Again this could have been caused by some Microsoft IT (MSIT) stuff.

So for all of my road testing in the last day I can safely say I’m impressed. I haven’t played with many of the new features yet. Once I do I’ll report back.

Now for the early litmus test – do I want to go back to Vista? So far the answer is no.

Posted by dtjones | 1 Comments
Filed under: ,

What Has 2 Thumbs & Is Excited About Windows 7?

Answer: This guy!

I’ve been following very closely the press and reviews on the early peaks of Windows 7. I’m not as big of a Vista hater as some people out there. In fact I like the OS. I recently had to reinstall XP on another machine and was absolutely astonished how old it looked and felt. In fact I couldn’t stand it, I had to reinstall Vista on the machine right away.

Being a MS employee and shareholder I have double the interest in Windows 7 being successful. But I’m also a critic. I look at each of our products with a scrutinizing eye. If you read my blog you’ll find two MS products that I absolutely love: Windows Live Writer (which I use to write this blog) and Windows Live Mesh (which I use to synchronize files between machines). I’m also a huge fan of SQL Server (duh!) But I am a critic of the product and I know first hand it’s not perfect, especially in the manageability space, but I’m working tirelessly to improve it one release at a time.

Back to Windows 7. Part of me felt that Windows 7 wouldn’t have a chance of being successful. Granted it would almost be impossible to cause a worse impression than Vista but I felt people would hold it to an unfairly high bar and nit pick every last square inch. Everything I’ve read thus far is very favorable. On top of that there seems to be some excitement for it!

One of my very good friends did a clean install and an upgrade from Vista without a hitch. He’s super critical and even he had great things to say: GUI enhancements, power management enhancements, etc.

I’m starting to believe that Windows 7 is THE OS everyone wanted Vista to be. Windows 7 will likely be to Vista what XP was to ME.

Next week I’m going to do a clean install of Windows 7 on my main laptop (Lenovo x301). I have 4 GBs so I’m going to do an x64 install. I’ll report back on my experience.

Posted by dtjones | 1 Comments
Filed under: , ,

Vista Parental Controls Slows Down Zune Marketplace

I’m a huge fan of my Zune and the Zune Marketplace. I have a Zune and my two daughters do as well. I’ve owned several iPods but I just love my Zune more; especially the subscription option for music. $15/month for all the music I want is fantastic. Yes, not everything is included in it and if I stop paying I lose the music but so what. It’s far cheaper in the long run and allows me to explore a lot more music that I otherwise would. I think this is a great way for artists to gain exposure. Anyway, this isn’t the point of the post.

Each of my daughters has their own login to Vista and I’ve setup Parental Controls on their login. This caused a severe performance slow down on the Zune marketplace. Searches and downloads were painfully slow. Running under a full admin account everything worked great. I found one potential solution where the person added 20-something URLs to the allow list. Yuck! That’s not a solution in my book. If one URL changes or another gets added in a software upgrade it’s back to the drawing board. I dug into the Parental Controls stuff in Vista and found a solution. There’s a list of programs that Parental Controls will completely ignore. I added zune.net to the list and viola everything works great. There’s no GUI for this in Vista so it requires editing the registry directly – this means do this at your own risk…

Using information from this site: http://www.bleepingcomputer.com/tutorials/tutorial139.html I added a new value for c:\program files\Zune\Zune.exe under the hive: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Parental Controls\HTTPExemptions. This worked like a charm. What this does is exclude zune.net from Parental Controls. I think this is the best option as I can still control browser access but not impact Zune marketplace performance. It's unfortunate that MSFT doesn't provide a GUI to control this list of programs.

As I said, I love my Zune and so do my girls. They’ve already downloaded a ton of music and exploring a whole new world!

Posted by dtjones | 3 Comments
Filed under: , ,

What’s In Your Database?

How many different database objects are there? I don’t know the answer either but off the top of my head I’d guess somewhere between 50 and 100, depending on how you count them. Yes, I could go count them but I’m writing this on a Saturday and between you and me I’m just too lazy to go do it. If you profiled (not as in SQL Server Profile) your databases what do you think your Pareto chart of objects would look like. I bet it would look something like the following:

image

The scale isn’t important, what is interesting is what objects are most in number and what objects are least in number. If you aggregated this data for all of your database the picture probably wouldn’t change all that much. However, we tend to become obsessed with the right-hand side of the chart. The objects that make up the right-hand side (e.g. triggers, types, etc) are important but sometimes we spend far too much time talking about them at the cost of creating solutions that are simple and easy to use. BTW: I purposefully left off indexes – those will likely out number tables. My point here is we should create tools that make it extremely easy to work with the objects that are in abundance. This includes everything from defining them, deploying them, and managing them after they’ve been deployed.

Everyone likely has a few databases that don’t match this relative distribution but I believe you have far more – at least an order of magnitude if not two – that do. Those database are important as they likely house your most valuable applications; your mission and business critical apps. And we need tools that support those apps and objects as well. But in the process of building tools we shouldn’t make the stuff that should be easy hard. The hard stuff should be possible and the easy stuff should, well, be easy.

In general this approach was taken with IntelliSense in SQL2K8. Yes, there are some things that IntelliSense doesn’t cover. But so what. I know, you’re thinking that’s the stuff we should have covered since you don’t do it all that often and that’s when you need help. if we took that approach – the reverse approach – then you wouldn’t have had IntelliSense for something like table. How lame is that? You’d criticize us for not covering the basic objects. Ok, well, you can probably say we should cover it all. And you’re right. We should. But that’s not always practical. Remember we’re constrained by time and resources just like you are. So we have to make trade-offs. This takes us back to my main point – when we have to make choices we should error on the side of covering the common stuff first. We’re getting better at this but I think we have some major work to do on the common stuff (think table designer in SSMS).

Oh, while you’re profiling your databases don’t forget to count filegroups and files. We recently profiled over 1,000 customer databases that had been consolidated or were on the list to be consolidated. Think of these as departmental apps (they’re not Mission or Business Critical). Only 2-3 databases had multiple filegroups and/or multiple files. This shocked me. But given the average size of these databases was less than 2GBs I shouldn’t be surprised as there was no driver for multiple files.

If you decide to profile some of your databases let me know what you find.

 

Addendum:

We now have customer data on over 1,000 databases. These are DBs that have been consolidated or are candidates for consolidation. Here consolidation means increasing the density of DBs per instance; not increasing the number of apps per DB. Excluding indexes and constraints the average distribution of item types looks like this:

image

This data aligns more closely to what Adam’s (see comments below) has seen in the wild. Adam, thanks for replying and “forcing” me to provide a more real world example of the distribution. :-)

Posted by dtjones | 3 Comments
Filed under: ,

Getting Started in the Community

As an under-grad student @ Cal Poly San Luis Obispo, some 18 years ago, I first experienced the power of the technical community. I was working on a group project to build a little app for the Mac. The class was Software Engineering, CSC440, which covers the entire software lifecycle – requirements, design, implementation and test. My group’s project was to build a search utility for the Mac. Each group member played a different role on the team. I was responsible for writing the code but I was having trouble enumerating all of the hard drives – I couldn’t find the right OS API for this. I know, it seems silly now. I fired up my modem and connected to the university’s newsgroup server and used the comp.mac Usenet newsgroup for help. In the matter of a day (pretty decent latency back then) I had the solution to my problem. Over the course of the next couple of weeks I posted more questions and received answers very quickly.

Community is an important part of a software product. It can serve as tech support and training. Show me a popular product and I’ll show you a strong community standing behind it.

I often get asked the question “if I’m not an expert how can I contribute to the community?” I think a lot of people feel this way. My answer to this is “if you are passionate about the product/technology then you can contribute a lot.” The key, in my book, is to approach it systematically. Here are the steps I recommend to anyone who wants to get involved:

  1. Pick a community (UseNet newsgroups, MSDN forums, SQL Server Central forums, etc)
  2. Pick a topic you are passionate about (PowerShell, T-SQL programming, query performance/tuning, SQL Server Agent, etc)
  3. Pick a few questions that have already been answered and try to find the answer yourself – check your answer
  4. Pick a few questions that haven’t been answered and answer them – this is probably going to take some time as you research the problem and answer.
  5. Pick a few more questions and answer them
  6. Expand to additional communities and answer questions
  7. Collect the more interesting questions and blog about what’s interesting about them
  8. After a few months write a short article on the topic incorporating what you’ve learned over the past few months
  9. Develop a presentation for the article and submit it as a session to a conference
  10. Repeat 5-9

My participation ebbs and flows a bit. When I’m in the game I set aside time each day, 15 minutes or so, answering questions in the forums. You should do the same. And remember, if you use a reference (such as a book) to answer a question site the reference. One other thing – try to use the same username in all of the forums you post and the blogs you write. This gives you name recognition over time. You can go with something dry, like dtjones (my alias @ MS) or something fun like SQL Batman (one of my favorites).

I ended up getting the search utility working and we got an ‘A’ on the project and in the class. If only I had the insight back then to recognize how important and valuable search would become…

Posted by dtjones | 1 Comments
Filed under:

Register for the SQL Server Application and Multi-Server Management Private CTP!

As you probably heard, on Wednesday, November 19th, during Ted Kummert's keynote at the PASS Summit Conference, Microsoft announced future capabilities for application and multi-server management as part of the SQL Server code-name "Kilimanjaro" release.

Participate in a unique opportunity to work with SQL Server Engineers on a totally new concept for developing, deploying and managing applications.Microsoft's investments in application and multi-server management will help reduce the complexity and ambiguity around developing, deploying, and managing applications across the application lifecycle. Through the introduction of a new application model and central management point, organizations will be able to immediately discover and manage SQL Server instances and define deployment policies to simplify database management, optimize resources, streamline collaboration, and help efficiently manage at scale.

Registration: http://www.sqlpass.org/hostedtrial
Posted by dtjones | 3 Comments
Filed under: ,

Application & Multi-Server Management

@ the SQL PASS Summit on 11/20 we announced our plans to release new capabilities for improving the collaboration between Data-Tier Developers and DBA and to address Multi-Server (or multi-instance) manageability for SQL Server.

Anthony Carrabino has a great posting describing these capabilities. I won’t repeat Anthony here.

In addition, I recorded a session Joey Snow from Technet Edge. This gives you a quick overview along with a demo.

I’ve been working with the team on this for about 4 months. We started work on this early in the Katmai release and had to put it on the shelf for several months (and I mean several months). It’s very exciting to see that early work start to come to life.

There are a couple of points I want to be sure are clearly understood:

1) We are building on our existing technology investments. This includes Policy-based Management, Data Collector, SMO, PowerShell, and others.

2) The first set of functionality – the foundation, if you will – will be available in SQL Server Kilimanjaro. This release is scheduled for the first half (H1) of calendar year 2010.

I’m very excited with what we’re going to deliver in Kilimanjaro and beyond. My early take is this stuff will forever change the database business.

Lost Network Connectivity on a Dell Precision 470 Running Vista

I ran into an interesting situation on my older Dell Precision 470 running Vista. For some reason a few days after I installed Vista it wouldn’t maintain network connectivity. I’d get a little yellow triangle – the warning icon – stating that I’m not authenticated on the network. I tried installing the latest drivers, I tried bypassing the integrated network controller by placing a network card in the box. I even disabled the on-board controller in the bios. Nothing worked. It would connect for a little bit, drop, and then reconnect. incredibly frustrating.

I did some searches using all the keywords I could think of. I finally came across something that sounded similar. The reports had to do with connecting to small business server but the symptoms were the same. So I tried what they suggested and it worked. To get it working I had to disable IPv6 on the properties for the connection. Doing this solved all of my problems. This shouldn’t be a problem as I don’t believe we’re going to exclusive use of IPv6 anytime soon. There may be some other implications but those aren’t clear to me just yet. For now my connectivity is working as expected.

I don’t generally like to blog about these topics – at least not on this blog – but since I had such trouble finding a resolution I thought I should do a posting so that others might benefit from my experience.

Posted by dtjones | 1 Comments
Filed under: , , ,

Scripting DBA Actions

Last Thursday morning @ the PASS Summit I participated in a panel discussion on automating DBA tasks. It was a great discussion and I was humbled by the other panel members. During the discussion I jotted down a few notes that I didn’t get to mention during the talk. The talk was recorded and will likely be available on Quest’s site in the next few days or so.

The first distinction to draw is the difference between scripting and automating tasks. Scripting tasks simply means there is some programmatic representation of the task you want to perform. The program can be in any language you choose: Python, PowerShell, C#, Perl, T-SQL, SSIS, etc. The script does all of the necessary work. Automating tasks simply means the script is automatically initiated by some action. The action could be a SQL Server Agent job, a Windows Scheduler task, an Extended Event (X-Event), a server/database trigger, a Service Broker event, etc. In other words, instead of the script being manually executed in an interactive way it’s automatically executed in an unattended manner.

During the discussion I made the statement that everything should be scripted but only the right things should be automated. This is one of those high-level statements that has a lot of room for interpretation. But that’s the point. You shouldn’t think about scripting something or not. If it’s a task you do more than once (in a day, week, hour, month, quarter, etc) you should script it. If it’s a task that others needs to also perform you should script it. But you should think if it should be automated or not. Only the right actions should be automated. Remember, you probably aren’t going to be there when something goes wrong. Also, if the task requires reasoning that’s not easy to capture in a script you don’t want to automate it. In any event I wanted to capture some best practices for scripting.

Most of the scripts I come across aren’t very good. Sure they perform the necessary task but that’s about it; venture a little off the expected path and everything goes wrong. The script author simply took the T-SQL script and stuck it in a BAT file that calls SQLCMD. Here are some bullet points (in no particular order) that you should consider when creating your scripts.

  • Header information: create a standard template for the header of your scripts. It should contain some simple information like:
    • Title
    • Description (what it does)
    • Execution Permissions: what permissions does the script need on the targets it runs against. The goal here is to identify the lowest level of permissions needed for the script to run successfully.
    • Inputs
    • Outputs
    • A simple change history: date changed, who changed it, what was changed
  • Variables: don’t hard code anything in your script. If you’re using a constant define it up front and use the variable in the body of the script. Don’t use any hardcoded values in your script. When I’m writing a script I force myself do to this up front rather than remembering to come back later. Doing this allows me to easily turn a constant into an input parameter.
  • Single vs. Multiple Targets: make sure your script can run against multiple targets. For example, you may write a script that runs against a single table. Shouldn’t it really be designed to run against multiple tables? The single table case will automatically be handled.
  • Error handling: what does your script do when it hits an unexpected case? If you have a lot of scripts it’s worth the time to come up with standard error handling routines that you use in all of your scripts.
  • Auditing: what standard information should the script output. In some situations it may be necessary to keep a log of exactly what the script did. Where should it store this information: a table, a text file, an XML output file?
  • Debug Switch: This is related to auditing but when the script is run in debug mode it outputs a greater amount of detail – that you need to debug problems but don’t need to see in normal operations.
  • Re-entrant: In some situations this is hard to do. The script should always check for pre-conditions (what is the expected/necessary state of the targets the script runs against). If the pre-conditions aren’t met the script should gracefully fail. What happens if the script is run 5 times in a row? What happens if the script hits an error, the error is corrected and script is rerun? You’re scripts need to handle these cases; they need to be re-entrant. This may mean it may need to perform a little clean-up at the beginning of the script – residue left over from a previous run.
  • Naming conventions: your scripts have a file name, variable names, method names, etc. Establish naming conventions so you can easily find the script you’re looking for (I like to use noun-verb or verb-noun – to follow PowerShell) and easily troubleshoot your scripts. Don’t use something like x1 as a variable name.
  • Location of your scripts: think about storing all your scripts in a standard location. I recently blogged about Windows Live Mesh. A folder that you meshify is a good candidate for your scripts. This will allow you to keep the scripts synchronized between several machines, a copy will be kept up on the web so you can get to it from just about anywhere, and you can share your scripts with other people – as long as they have a Windows Live Id. I’d also save a copy on a USB drive so I always have them in hand. Sometimes I need to do something on a server that can’t access the internet. So long as the USB ports haven’t been disabled I’ll be able to get to my scripts.

It’s very easy to ignore these items and end up with a bunch of .bat or .ps1 files that you have no idea what they do. If you spend a little time up front it’ll pay dividends. Your co-workers will come to you to borrow your scripts or for help on their own scripts. You’ll be know as the Script Guru! And many great things will come your way.

Okay, maybe those last two points are a bit over the top. In all seriousness though, we’re professionals and we should treat our scripts to a professional touch.

Posted by dtjones | 4 Comments
Filed under: ,

Lenovo Thinkpad X301

A few weeks ago I got a new laptop – a Lenovo x301. As is the case with all new machines it came loaded with a bunch of utilities and trial software. Most of the time I just nuke the machine right away and lay down a clean image of the OS. This time I decided to give the default configuration a chance. I lasted 3 days!

The main problem is there are duplicate and triplicate utilities – how many things do I need monitoring my wireless network, my battery and my display settings? Honestly one is enough. And the utilities seem to fight with one another. Then there’s the additional memory and processing power consumed. I really wish the default machine configuration would come with the barebones stuff needed. Upon the first boot it could prompt you to add stuff if you want – I would always say no but others may want to try out some of this stuff.

So as I normally do I reinstalled the OS (Vista Ultimate) from scratch and everything is running terrific. I let Windows Vista manage my network, battery and display settings. Although I did have to install a few Intel drivers which seem to also install additional value. Oh well I guess I can’t have it all. About two weeks have passed and everything is still running great. I get over three hours of battery life under normal usage. I have the second battery (which replaces the DVD drive) on order. With this addition I should get close to 5 hours of life – depending upon usage.

I had reservations about the smallness of the machine. I’m used to big laptops with lots of screen real estate and lots of processing power. I haven’t missed either of these. The display runs 1440 x 900 which is nice and dense. Click here to see the full specs on the X301. Mine is configured with the 128GB drive and 4 GB RAM.

I absolutely love the size and weight. I can’t wait to try it out on an airplane. It should fit well on the tray table and the low screen height should avoid crushage when the dude in front reclines at warp speed.

I almost forgot to mention the keyboard – it has a great feel and sound to it. Although it’s taking me a little while to get used to where the Delete key is (the upper right-hand corner) rather than lower right-hand corner (previous laptop). I’m also thankful Lenovo added the Windows key. The original ThinkPads didn’t have this key. yes, you could remap a key to play the role of the Windows key but it was just goofy it wasn’t support out of the box.

Other than needing to reimage the machine (which is par for all machines) I have no complaints. This could be the best laptop I’ve ever owned. I guess if I had to pay for it out of my own pocket price might be a complaint. But MS was nice enough to cover the cost of the laptop. It’s not a cheap laptop but it is a great laptop.

 

Note: This is my third off-topic post in a row. I need to get back to talking about SQL Server. Though I don’t have the topic yet, my next posting will be about SQL. In my defense, all postings have been related to technology. I’ve managed to avoid any mention of the election or the economy. And no, those don’t count as mentions…

Posted by dtjones | 6 Comments
Filed under:

Windows Live Writer Update

Back in July 2007 I started using Windows Live Writer as my exclusive blog writing tool. I’m not a heavy blogger but I do need a tool that’s easy to use and still helps me write more complicated postings when needed. I still LOVE Live Writer. It’s simple and intuitive. It doesn’t have a bunch of stupid features that get in the way of doing the mainstream stuff. My fear when I started using it was the team would muck it up over time by adding a bunch of useless features. Well that hasn’t happened. I just downloaded the latest beta. It’s great! They’ve stayed true to the usability of the app and have improved the usability of a few features. For example, there’s now edit, preview and sources tabs which allow you to switch between different views of your posting. You could do this in the older version but it was a little more cumbersome – you had to go up to the menu bar to select a view.

If you blog I encourage you to give Windows Live Writer a test drive. I’m glad I did.

Posted by dtjones | 1 Comments
Filed under: ,

Windows Live Mesh

I recently started using Windows Live Mesh to synchronize files between multiple machines. This software is so cool and so useful I just can’t say enough good things about it. In addition to sharing files with yourself you can setup folders to share files with others. Sharing files on the web has been around for a long time but this is the cleanest implementation I’ve seen where I don’t even have to launch a browser – once I’ve installed the client. I can do everything from within Windows (or Mac). But, if I’m away from my machine I can still access my files from any browser. It does require that everyone you want to share with have a Windows Live Id – no big deal. I found the installation a snap and within just a few minutes I was sharing and synchronizing files between two machines. It also has remote desktop capabilities although I haven’t tried those yet. There’s also a 5GB space limit. So far that’s no biggie either.

I have zero patience for complicated and crappy software. Live Mesh passes both tests. It was very simple to get up and running and what it does it does very well. Kudos to the team that built-it! I just wish I had this stuff when I was doing my under-grad and graduate degrees. It would have made group projects so much easier. Oh I almost forgot, you can also access it from your mobile. I still use a dumb phone but this just may be the reason I upgrade to a smart phone.

Posted by dtjones | 2 Comments
Filed under: ,
More Posts Next page »
 
Page view tracker