THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | |
in Search

Arnie Rowland

Discussion of issues related to SQL Server, the MSDN SQL Support Forums, the complex interplay between Developers and SQL Server Administrators, and our sometimes futile attempts to have a 'normal' life.

  • Project Phoenix: Early August Awards Announced

    Two more eligible developers and deserving projects have been selected.

     

    Any proposals submitted but not selected this time will be reconsidered at each upcoming award cycle. (Refer to this to review the award criteria, details, and benefits.)

     

    In no order of implied importance.

     

    Nick Portelli, East Lansing, MI

    Big Brothers Big Sisters of Lancaster County Pennsylvania offers children opportunities for professionally supported one-to-one mentoring relationships with qualified volunteers.  Each relationship will assist the Little Brother or Sister to become a confident, competent and caring individual. This project will upgrade the current website and include event registration and payments. The project will primarily use ASP.NET, MVC 2, JavaScript, Linq, and SQL.

     

    Albert Rugel, Brooklyn, NY

    Feed My Sheep in Waconia, Minnesota, has been serving a weekly meal every Wednesday night for the past five years. Feed My Sheep’s motto is, “Spreading a table in the presence of communities hungering for someone to know their name and that they matter.” Feed My Sheep provides an opportunity for human connection and community. This project will provide a website to post general information, a signup calendar for volunteer's who will be serving each month, list of special events, photos, map and location information, and PayPal link for donations. The primary technologies that the project is expected to use are: ADO.NET Entity Data Model, AJAX, C#, Silverlight 4.0, Bing Map, SQL Server 2008, and Blend 4.

     

    Congratulations to Nick and Albert. These projects are especially heart-warming because of the fragility of the communities both non-profits work hard to support. Details about your awards will be forthcoming in email.

     

    You will be receiving the following:

     

     

    We are encouraging both Nick and Albert to host their projects on http://Codeplex.com so that other developers and non-profits can benefit from their efforts.

     

    Consider helping a non-profit, school, or church by offering your skills. See this for more information.

  • Project Phoenix: May we have the July awards please ...

    The first two developers and projects have been selected –and there were some tough choices. However, those projects not selected this time will be reconsidered at each upcoming award cycle. (Refer to this to review the award benefits.)

     

    In no order of implied importance.

     

    Ayaz Bashir, Bayonne, NJ

    A website upgrade including a robust content management system that would help Mosques conduct their daily and weekly activities, including a WP7 phone app that would automatically adjust for the constant changing time for the five times a day call for prayers, and alert the user fifteen minutes prior to prayers. This will be a Codeplex project and offered to all Mosques. The project will primarily use Expression Blend, WPF, Silverlight, and JQuery.

     

    Darren Tebo, Millcreek, PA

    A website upgrade that will include an attendance calendar, a news ticker complete with an RSS feed for current church events, a donation form, prayer request system, and a forum system where church members can have religious discussions and other discussions about everyday life. The proposed upgrades should increase utilization because they will permit church members and church administrators to better keep track of the people and events that they care about. There may be an integrated Bible Verse of the Day feature that will output an RSS feed so that members can easily complete bible studies based on the verses. The project will primarily use Silverlight 4, ASP .NET, and SQL. (We are encouraging Darren to also offer this as a Codeplex project.)

     

    Congratulations to Darren and Ayaz. Details about your awards will be forthcoming in email. We are excited about these projects since they have the potential to be used by many sites to help a large number of folks.

     

    You will be receiving the following:

     

    Consider helping a non-profit, school, or church by offering your skills. See this for more information.

     

  • Like a Phoenix rising from the ashes ...

    Project Phoenix expands to include Australia and New Zealand, more here.

     

    NOTE: At least one developer and project will be selected every week for the remainder of 2010.

     

    View the Awards to date here.

     

    Like the Phoenix rising from the ashes, over the next five months, twenty-four (24) unemployed or underemployed developers will be selected because of their non-profit project proposals. One eligible developer and deserving non-profit project will be selected each week to receive a valuable package of excellent software, development tools, training, and books. We are now calling this ‘Project Phoenix’ to celebrate these developers rising from the ashes of disrupted careers.

     

    To recap, we are inviting unemployed or underemployed developers to propose a software project for a non-profit agency, school, or church. The idea is that we will provide a package of the latest software, tools, and training resources to help you improve your skills, get up to date with current technologies, gain practical experience, potentially earn a recommendation for your efforts, and in general, enjoy the feeling of accomplishing something useful for others. We are not giving out a ‘free lunch’, just supporting your efforts to personally gain from your own ‘sweat equity’. The award packages are provided with the support and generosity of the Microsoft MVP’s and vendors listed below.

     

    Project Criteria:

    • Client is a USA IRS 503(c)3 non-profit, school, or church, OR a Canadian CRA registered charity,
    • Solves a problem or satisfies a need for the client,
    • Client desires the project and is supportive,
    • Uses any combination of .NET 4.0, Windows Server 2008, SQL Server 2008, or Windows Phone 7,
    • May be a new software solution, or an upgrade to an existing software solution,
    • Additional consideration given projects that will be posted on Codeplex with a GPL license.

     

    All 24 selected developers will receive the following award benefits:

     

    A few of the selected projects will also be awarded one or more of the following:

     

    A few additional eligible projects may be selected and provided with one or more of the following:

     

    Award timelines:

     

    The Awards for the first two projects were announced here on Aug 3, 2010.

     

    Every two weeks for the remainder of 2010, two (2) additional developers and projects will be selected. Once your proposal is submitted, it will be kept in the queue for consideration. The earlier you proposal is submitted, the more opportunities for selection. If your project is selected, you will be asked to affirm that you still have time, interest and dedication to take on the project.

     

    You may view all Project Phoenix awards here. 

     

    Projects Available:

     

    If you are unable to locate a suitable project, you may be interested in one of these projects submitted by qualified agencies.

     

    Feed My Sheep

    We are a community feeding program, that originally started as a 3 month summer project, one night a week we would provide a free meal for anyone who wanted to attend. We are in desperate need of a website in which we could post updates, have a calendar of volunteers and groups that will be serving each month and list special events. (This project has been accepted by a developer.)

     

    Our Oregon

    Development of a mobile app that would allow Oregonians to upload info about foreclosed homes in their neighborhood. We're a non-profit that does advocacy work for policies that advance economic fairness, and one area we focus on is getting better legislation around foreclosures. We think that a mobile app accompanying it could be groundbreaking.

     

    If you would like more information about these projects, please use the email link on the above right of this page.

     

    An eligible developer may submit project proposal information here.

     

    An eligible non-profit may submit a project proposal here. These will be posted here so that developers may choose to consider the project. A developer considering your project will contact you directly.

    Supporting Microsoft MVPs:

    For more background on this project, read this post, and this one.

     

    As this project matures in coming weeks, any additional supporters, vendors, benefits, or criteria will be posted on this page. Set a bookmark to easily return.

     

    See the latest awards here.

     

  • I come to you, humbled...

     

    WOW!

    A couple of weeks ago, I announced that I would be offering a few MSDN Ultimate subscriptions to unemployed or under-employed developers to help them improve and update their skills in consideration for doing social good by helping out a non-profit of their choice.

    I didn't anticipate the level of resonance this has received in the development community. MVPs - both friends and friends-to-be contacted me and asked to join the project. I decided to expand beyond just the MSDN Ultimate subscription and ask a few carefully selected vendors to join the project. Everyone I approached was eager to join in and help in any way they could. And the project just kept growing in scope and excitement. The project has been discussed in a Channel 9 PING webcast, mentioned in an MSDN Flash newsletter, and has received extensive mention in blogs and twitter.

    I'm struggling to adequately express my appreciation and joy to those listed below. If you know any of these folks, and agree with the concept of the project, take a moment and let them know that their contributions are a good thing.

    MIcrosoft MVPs:

    I'm truly humbled to be in working in association with such generous, caring, and concerned people. These folks set a high standard for MVP community involvement.

  • While you don't get a 'Free Lunch', you will get your just desserts...

     

    07/30/2010 UPDATE: Lastest News about the project is here.

    UPDATE: Additional Microsoft MVPs have joined the project and we will now be selecting at least two (2) now three (3) qualifying projects each month. The selected first tier project will have the package listed below. The package for the selected second tier project is still being worked out -but will contain at least a MSDN Ultimate Subscription.

     

    In a previous blog entry, I discussed making a package of software, tools, training, and books available to unemployed and underemployed software developers. You may review that post here.

     

    Through the generosity of the following participating MVPs, as well as the listed Sponsors below, we will be offering this excellent package of software, tools, training, and books each month for the remainder of 2010 for a project submitted prior to the selection date.

     

    To recap, we are inviting unemployed or underemployed developers to propose a software project for a non-profit agency, school, or church. The idea is that we will provide a package of the latest software, tools, and training resources to help you improve your skills, get up to date with current technologies, gain practical experience, potentially earn a recommendation for your efforts, and in general, enjoy the feeling of accomplishing something useful for others. We are not giving out a ‘free lunch’, just supporting your efforts to personally gain from your own ‘sweat equity’.

     

    Project Criteria:

    • Client is a USA IRS 503(c)3 non-profit, school, or church, OR a Canadian CRA registered charity
    • Solves a problem or satisfies a need for the client
    • Client desires the project and is supportive
    • Uses any combination of .NET 4.0, Windows Server 2008, SQL Server 2008, or Windows Phone 7
    • May be a new software solution, or an upgrade to an existing software solution.

     

    Awarded for the Selected Projects:

      

    Additional Sponsors:

    ·         InnerWorkings: Enterprise subscription to the .NET training library

     

    (These additional  product offers will be available in the second tier packages. Second tier packages may not all contain the same products –but each month’s package will be specified in advance.)

     

    An eligible developer may submit project proposal information here.

     

    NEW: An eligible non-profit may submit a project proposal here. These will be posted so that developers may choose to consider the project.

     

    Entries will carry forward, if your project is not selected one month, it may be selected the following month. We recognize that situations will change, so upon selection, you will be asked to verify that you are still unemployed and continue to have the time and dedication to complete the project.

     

    IF you are excited about, and choose to complete the project prior to selection, and you are subsequently selected, you will still receive the package as outlined above.

     

    The July selection will occur on July 30, the selected developer and project will be posted here.

  • There will be no 'Free Lunch' -just great feelings of accomplishment

     

    07/30/2010 UPDATE: Lastest News about the project is here.

    NEW: Project Criteria and Submission Here 

    I was again awarded the ‘Most Valuable Professional’ (MVP) designation from Microsoft for my community activities, especially for my contributions with the SQL Server and .NET communities. One of the benefits of being a MVP is that on occasion, a special opportunity is made available by Microsoft.

    This year, I have been provided with a few subscriptions for MSDN Ultimate to give out as I see fit. For those unaware, a MSDN Ultimate subscription allows the subscriber to download and own full featured versions of Visual Studio Ultimate, as well as most any Microsoft software. The license is for development use, and is not transferable. And it has a retail value of approximately $12,000.

    A couple of years ago, when I had a similar opportunity, I struggled with what to do. It seemed too much to just hand out to friends. I asked myself why I would give someone $12,000 if they were not deserving or contributing anything in return. I then considered offering the subscriptions as raffle items at user group meetings. But that caused me some concern, for there would be no certainty that the winner would value the product or put it to good use. Or perhaps the winner would be inclined to attempt to sell or barter the subscription. (I had on a previous occasion been contacted by the winner of a similar product who had no use for it and was attempting to get some value from the prize.) That would not coincide with what I considered in the interest of the larger software development community.  And I just didn’t like the possibility of knowing that such a valuable ‘gift’ would be not be put to societal gain.

    So, I gave out the subscriptions to folks that committed to volunteering at least 100 hours to develop software projects for several non-profits. On one project, there were excellent benefits from a group of folks learning to work together as a distributed development team. We all learned quite a bit. Other non-profits gained excellent software at no cost.

    This year, I will be seeking proposals from unemployed (or under-employed) developers that would use the tools to improve their skills with .NET, SQL Server, and Windows 7 Phone. The proposals should be for a project for a non-profit -either a new project or an upgrade to an existing project. In addition to the Microsoft MDSN Ultimate subscription, Pluralsight will provide a three month subscription to the training content available in their On-Demand!™ .NET Training Library, O'Reilly Press will provide three (3) books of the winner's choice, APress will provide three books(3) of the winner's choice, ComponentOne will provide Studio Enterprise components and tools, DevExpress will provide a one year subscription for DXperience Enterprise w/CodeRush, RedGate will provide a license for ANTS Performance Profiler, and Quest Software will provide a license for Toad® for SQL Server.

    The idea is to provide the recipient access to all of the tools needed to improve his/her skills, an opportunity to gain practical experience, the potential to earn a recommendation and/or referral –and to positively contribute to society as a form of 'give-back'. No free lunch, just sweat equity –the kind that makes us all feel good for the effort.

    I have been joined by a few other MVPs to extend this offer, so we will be selecting at least one recipient and project each month for the rest of this year. Participating MVPs:

    Arnie Rowland
    Arian Kulp
    Denny Cherry
    Larry Guger
    Michael Washington

    Full details how to qualify for consideration will be posted here on July 12th. Start thinking about how you might find a qualifying project, or if you know of someone that could benefit from consideration.

    Stay tuned…

    Project Criteria and Submission Here

  • It will happen on a spring day in May...

    "The world's favorite season is the spring. 
    All things seem possible in May."
    -   Edwin Way Teale
     

    This spring, the Portland, Oregon, development community is coming together in a way never experienced before.

    Using the University of Portland campus, SQL Saturday and Portland CodeCamp are combining and coordinating efforts to bring 700-800 regional technology professionals together for the opportunity to immerse themselves in seminars, presentations, group exploration, and networking -using both the 'professional conference' and the 'unconference' models. Participants will be able to engage in their preferred technology, as well as to 'sample' other options

    Mark your calendar! Portland SQL Saturday and Code Camp 2010 is scheduled for May 22, 2010, at the University of Portland campus. The event is scheduled from 8:00 AM until 10:00 PM. The UP facility offers a great venue –including larger, fully equipped (and air conditioned) meeting rooms, excellent parking, access to public transportation, and easy bike commuting. Admittance to this event is free, all costs are covered by donations and sponsorships. Please register soon as seating is limited, and let friends and colleages know about the event.

    Register here to attend.

    Portland SQLSaturday is encouraging presentations related to interoperability of any of the SQL platforms, including T-SQL (SQL Server), PostgreSQL, MySQL, and PL-SQL. Abstracts for Platform specific sessions are also encouraged. Most sessions are one hour fifteen minutes (1:15), and a few  'deep dive' sessions will be longer (2.5 hour) in duration. The 'deep dive' sessions will be scheduled for 7:00 PM (after the snacks and refreshments.) Also, through out the day, there may be opportunities for 30 minute sessions. (Be sure to indicate your preferred session length.) Remember, in addition to folks working with a specific SQL platform, there will be a large number of developers seeking information about using one or more SQL variants to create solutions to their problems, as well as needing to work with multiple SQL platforms.

    Consider adding your presentation abstract here.

    If you are in the Pacific Northwest in May, don't miss this event!

  • It doesn't matter, it's just data...

    Database Design. Sounds simple, and at the same time, demanding.

    I mean, what's to design. You just need a few tables to hold the data for the application you are creating. You just can't really take the time to design -the entire project is agile and under continuous evolution.

    Or, you are trying to support a database that someone else allegedly 'designed'. Yes, you know it is bad, held together with more of a wish than a demand. Yes, you would just love to take the time and 'do it right' -but let's get real, it's impossible. Too many moving parts, too many applications, too many folks depend on what is there right now. No way can you make 'design' changes.

    Help is now available in the form of a new Forum on the MSDN and TechNet Forums sites. The Database Design Forum is moderated by a group of MVPs from around the world. They have a lot of experience with database designs -good and not so good. Heck, even some of them have written books on the subject.

    Sure there are other forums and newsgroups where you can get help, where you can ask questions, where you can seek 'work-a-rounds'. At the MSDN/TechNet Database Design Forum, you can ask the questions no one wants to hear, you can challenge the 'conventional wisdom' of database designers, and you can propose your design and ask folks to help you see if there are any flaws. At the MSDN/TechNet Database Design Forum you will not be berated, belittled, demeaned, or in any way dismissed just because you are diligently working to do something different, or support someone else's mistake.

    At the same time though, expect to be asked difficult questions, expect to explain and educate about your design decisions, expect to have your thoughts challenged. For it is through rigorous examination that your designs and your skills will improve. And everyone participating will learn from the process.

    MSDN  or  TechNet -your choice.

    Give it a try and let me know what you think...

     

  • Marketing Mistakes and Poor Customer Service can Hurt Your Business

    Yesterday, I was able to cause a potential customer to buy a competing product. In fact, according to my tally sheet, it was the 43rd time that I am aware of where my dissatisfaction with this company's customer service directly translated into loss of sales for the company of it's products. And i suspect that there have been quite a few other lost opportunities because of my tendency to verbalize my displeasure.

    You may ask, "Who is the Company, and what did they do to rankle you so?"

    Let me explain. I needed to purchase a NAS for my home office. Being a diligent shopper, I dutifully studied the competing product's marketing materials, visited the various company's websites, and checked out the reviews. Since, as many of you, I have a more 'complex' home network than the average, I was attracted to a particular vendor's marketing claims. On the specification page of Buffalo's Terrastation Live, I was attracted to the statement "Directory Integration see TeraStation Pro", and when reviewing the Terrastation Pro specifications page, found "Directory Integration Active Directory". Since AD integration was important, it seemed to indicate that the Terrastation Live was the same as the Terrastation pro and would serve my needs. I purchased the Terrastation Live, plugged it into the network, imaged all drives to the Terrastation, unplugged the Terrastation and stored it off site, and promptly left the country for 6 weeks.

    Imagine my disappointment when I returned and set about to configure the Terrastation Live to support my network, and then finding that it did not provide AD integration. So, as any reasonable consumer experiencing a 'misunderstanding' such as this, I called Buffalo's support. After quite a wait, I spoke with a support person who curtly informed me that AD support was not provided with the Terrastation Live. I tried to discuss the misleading marketing materials and explain that it seemed a little deceptive and could be considered to be to a 'bait and switch' tactic. He shot back that the marketing material meant 'Buy' rather than 'refer to'. I held on to the concept that it was grossly misleading since it would have been easy to indicate that the Terrastation Life did not have AD support -but instead make the implication that it was the "same as" the Terrastation Pro. He wasn't having any of that and gruffly informed me that since I now had the product over 30 days, I couldn't take it back to the vendor, that Buffalo wasn't going to address my compliant, and that, in so many words, I 'could stuff it'.(And, oh yes, I did keep copies of the web pages discussed.)

    I contemplated a small claims case and concluded that the cost, time, and aggravation just wasn't worth it. However, I did vow to drive as much business away from Buffalo as possible. So when asked about small office NAS units, I steer folks away from considering Buffalo's products. And every time I am in the large electronics retailer that stocks their products, and if I see anyone looking at Buffalo's NAS units, I politely disclose my own experience. No rancor, no diatribe, -I just calmly explain my dissatisfaction with Buffalo's misleading marketing and the cavalier and dismissive manner of my support experience. In every case, the potential NAS customer moved on to competing products and did not purchase a Buffalo product.

    Mistakes happen. Marketing mistakes happen. The 'right' thing to do when confronted with a mistake is to correct the mistake and satisfy the customer. The 'wrong' thing to do is to assume that you can 'blow off' the customer and it won't effect the bottom line. Companies need to learn that there is an obligation to conduct business in an ethical manner -and the ethical thing to do is clean up mistakes and move on. Use the opportunity to create customer satisfaction -and hopefully, loyalty. Use the opportunity to provide feedback to the marketing department. Use the opportunity to strengthen customer support.

    When markets are increasing, it seems easy to ignore customer satisfaction. After all, every product being produced is sold as fast as they can be shipped. But when the markets mature, or contract, satisfied customers become an important ally of marketing efforts. For my part, I am proving that yes, unhappy customers can do something about companies that treat consumers as expendable commodities rather than valuable resources.

    Happy customers increase the bottom line, dissatisfied customers can hurt the bottom line.

    What have you done when faced with misleading marketing claims and/or poor customer service?

  • You Bet Your Life

    Yesterday, Jonathan Kehayias wrote in his blog post "Have you got air in your spare.." about dealing with a flat time. He went on to compare spare tires to HA/DR planning. An excellent article and recommended reading. I wish to expand on Jonathan's discourse a bit. It strikes me that he opened the door for a fertile analogy.

    Consider that having a spare tire is like having a database back-up. Knowing that there is a spare tire in the car is similar to knowing that there is a backup 'plan' -perhaps even regularly scheduled database backups. But when was the last time you checked your spare tire? When was the last time you checked to see if you could easily change the flat tire? My wife's vehicle recently had a very low tire, and it took 15-20 minutes just to locate the the jack points and safely elevate the vehicle. It was a new vehicle, neither of us had changed a tire on it previously, so we had to learn a new process for new equipment.

    In Jonathan's situation, it was discovered that the spare tire was also 'flat'. We constant talk about regularly testing backups for reliability and validity. -But when was the last time your organization fully restored a backup and 'bet your life on it'. That is what you are doing when you start driving on a spare tire -betting your life, and/or the lives of your family. Of course restoring a backup isn't betting 'your life', but it could actually be someone else's -or your career. Have you ever restored a database and subjected it to a rigorous test regimien?

    Imagine if your family was in the car, and had a flat tire. Could your wife (the junior DBA) properly and safely restore and get moving quickly? She's taking your child to a needed medical appointment -how long before the 'business' is running again? Does she have a fall-back support contact, like in Jonathan's situation, the AAA membership? (or a PSS account.) Even then, there will most certainly be additional waiting -will the appointment be missed?

    You could, of course, invest additional resources into a "High Availability' solution -for cars, buy 'run-flat' tires.How would you deal with knowing that your family was on the side of the road somewhere, perhaps in the dark, maybe even in a questionable area, waiting, and waiting, and waiting... PSS may be good, but they may also require some time to get back to you. You may wish to protect your family with redundancy -at a cost. Run-flat tires will cost about double the regular tire cost. Think clustered servers... No latency, no downtime, continue moving, repair as soon as possible without negatively impacting the schedule.. Who are you protecting by not investing in the proper solution?

    Some newer cars have builtin spare tire reporting -the car's monitoring system will alert you to low spare tire pressure. Do you have a plan/process where you regularly check your spare tire? How do you actively monitor the integrity of your backups? Do you just trust knowing that it is there? Do you actually test it on occasion? When was the last time you tested it? 

    Do you bet your career (or someone's life) on the Disaster Recovery Plan?

    Spare Tire = Database Backup
    Checking Spare Tire = Testing Backup
    Practice Jacking Up Car = Practice Restores
    AAA Membership = On Call Support

    Spare Tire + Checking Spare Tire + Practice Jacking Up Car + AAA = Disaster Recovery Plan

    Run-flat tires = High Availability

    What is your family worth?

  • Do You Have What It Takes?

    I was engaged in a conversation recently where the topic under discussion was "What defines an "A" class player?" Others in the conversation were trying to get a handle on 'greatness', because they desire to create an "A" class Team in their work environment. They want to lead their organization to the 'top of the heap', so they wish to purposefully seek out and hire "A" class players. So it seemed important to try and understand how we go about determining 'greatness'; how do we know when we meet, or when we see, or when we interview, or even when we work with an "A" class player. I'm going to expand on that discussion and attempt to outline what seems to be some of the obvious discriminators. And of course, I invite you, the reader, to add your insights.

     

    First, let’s start at the beginning. Some say that the "A" class player is born with whatever it takes. Others think that it can be learned and nurtured. That brings into question the concept of 'talent'. Is talent an inherent quality, something one is born with -or can it be considered a ‘skill’ that can be learned? I contend that it goes even deeper than talent. Talent and skill alone doesn't make the "A" class player. You have probably known talented or skilled people -perhaps in the top of his/her talent or skill, yet unable to rise in the work environment to be a truly "A" class player. There is something at the 'root' of an "A" class player that allows them to focus their natural talent and focus their learned 'skills' and rise to greatness in the work environment.

     

    Let's accept that there may be 'talent' and that there may be 'skills'. The "A" class player hones his/her talent, learns 'skills' –practices both, expands his/her knowledge, and in general is 'prepared'. Most definitely there will be preparation. Lots of preparation: practice, skill building, learning, even observing other "A" class players. The "A" class player has a lot of desire and a lot of drive to be an "A" class player. The "A" class player will discover and truly 'know' his/her strengths and weaknesses. He or she will have a strong 'work ethic' –taking pride in his/her accomplishments. He or she will be able to concentrate on the task as hand, exhibiting intense 'staying power', even while maintaining the 'larger picture'. The "A" class player will be more attuned to seeing how all the parts fit together.

     

    The "A" class player desires to that his/her work be significant, be noteworthy, and make a tangible contribution to the overall effort. The "A" class player can be counted on to give more that the minimum required –they understand that excellence requires exceptional effort. He or she constantly exhibits passion for the endeavor and will take pride in making the ‘last effort’ to push the objective to completion.

     

    The “A” class player has ‘charisma’ –everyone around him/her actually ‘feels’ better and contributes more as a result. He or she leads by doing, leads by example. The “A” class player does not engage in demeaning or humiliating actions or behaviors towards others. The "A" class player has a keen sense of right and wrong, a highly developed ethical map, and a strong moral compass. The “A” class player will often show a deep respect for his/her competitors –for those competitors are often his/her peers. The “A” class player easily handles the high level of attention and stress –and actually seems to enjoy it.

     

    The “A” class player understands that it is necessary to take ‘risks’ –yet attempts to understand and mitigate all known risks. And the “A” class player will learn from his/her mistakes. The “A” class player is capable of adjusting goals and objectives, exhibiting flexibility, and delivering the expected end product.

     

    The "A" class player will have a passion for their work -and they will have passion for their play, their non-work life. The “A” class player will have a strong, vibrant, and invigorating family and social life. The "A" class player will know and understand balance.

     

    It was mentioned above that the "A" class player observes other "A" class players to learn. They will also seek out other "A" class players for networking, socializing, and for friendship. They will gravitate towards others exhibiting greatness because they subconsciously understand that the bright light of another 'star' challenges them to improve –and it also illuminates them and causes them to shine brighter. The "A" class player desires to surround him/herself with greatness.  The "A" class player desires to be on the winning 'team'. The “A” class player wants to be on the “A” Team.

     

    So, tell me, are you an "A" class player?

    Do you work with one?

     

    (Next I will explore what does it take to create an "A" Team.)

  • Heads I win, Tails You Lose

    Imagine going to a casino with $100 dollars to gamble. As you enter, you notice a vending machine that sells gambling insurance policies. For a small price, the insurance policy will guarantee to replace any losses that you may incur while gambling. So being a prudent person, you buy one. Now you can’t lose anymore than the cost of the insurance.

    But that was so easy, why not buy two (or more) insurance policies –then if you lose, you get back more than the amount you lost. There is nothing that stops you from buying multiple policies. Now you will be better off financially if you lose all of your money –the more you lose, the more you gain. At least to a lot of really, really smart people, it seemed that way… But you have just now lost any incentive to win, in fact, perversely, you want to lose, you need to lose. And even more perversely, there is no requirement that you have an 'insurable interest', so you buy an insurance policy (or two) against other folks losses. If they lose, you win. Maybe you even start betting against them, trying to help them lose, knowing full well that your own loses are insured. Sounds rather bizarre, doesn't it. That is how five trillion dollars of worldwide debt ballooned to 60 trillion dollars in contractual obgligations.

    In conversations this week, and in a Twitter thread, I was reminded that the weekly program, 'This American Life', broadcast on National Public Radio, has presented a series of discussions/explanations about the underlying causes of the current global economic crisis. I know, that for me, it has been a struggle to understand how so many really 'smart' folks made such profoundly 'dumb' mistakes. I wanted to blame it all on avarice or greed, or illegal activities. Not discounting those factors, I now understand this is a problem of unintended consequences when folks attempt to remove 'risk' from financial life.

    If you would like to get a better understanding, and perhaps learn what is a CDO, or CDS, or why your tax dollars are going to be used for decades to 'clean up' this debacle, I highly recommend these episodes. You can listen to them streaming online for free, or you can purchase the podcasts and download to your pod device.

    The Giant Pool of Money (2008/05/09)

    This American Life producer Alex Blumberg teams up with NPR's Adam Davidson for the entire hour to tell the story—the surprisingly entertaining story—of how the U.S. got itself into a housing crisis. They talk to people who were actually working in the housing, banking, finance and mortgage industries, about what they thought during the boom times, and why the bust happened. And they explain that a lot of it has to do with the giant global pool of money.

    Another Frightening Show About the Economy (2008/10/03)

    Alex Blumberg and Adam Davidson recount the 36-hour period, when the credit markets froze. Plus, what it’s like now for businesses to get short-term loans, and how the hardship is spreading to every sector of the economy. One more confusing financial product that’s bringing down the global economy. And one of way to think about this product is this: If bad mortgages got the financial system sick, this next thing you’re about to hear about, helped spread the sickness into an epidemic. These are "credit default swaps." Ira Glass talks with Michael Greenberger, a former commodities regulator, who tells the story of when it was decided not to regulate credit default swaps. And how that decision was emblematic of the way we didn’t regulate a lot of the toxic financial products we’re hearing about now.

    Bad Bank (2009/02/27)

    The collapse of the banking system explained, in just 59 minutes. Alex Blumberg and NPR’s Adam Davidson—are back to help all of us understand the news. For instance, when we talk about an insolvent bank, what does it actually mean, and why are we giving hundreds of billions of dollars to rich bankers who screwed up their own businesses?

     

  • Is it time for SQL Server to have Isolated Transactions?

    SQL Server allows nesting of Transactions –in a sense. In truth, there is only one Transaction, with each ‘nested transaction’ serving to increase (and decrease) the @@TRANCOUNT indicator. The transaction can be committed or rolled back at any point that the @@TRANCOUNT value is equal to one. Error conditions may or may not cause the transaction to rollback –depending upon the specific nature of the error or the XACT_ABORT setting. (In this discussion, I am not going to address the situations where the @@TRANCOUNT is not properly decremented and also when commit or rollback is not accomplished –leaving a hung transaction.)

    And for many usages, the implementation works just fine. All of the work, or none of the work –at least that is what we hope for.  Sometimes it is necessary to jump through seemingly unnecessary ‘hoops’ in order to get it working as we wish.

    In the case of Logging, I need to log the activities and be assured that the log entries persist even if the parent transaction fails. With the current implementation, the activities of a ‘nested transaction’ are rolled back if the parent transaction rolls back, even when calls are made to stored procedures –all is lost if the parent transaction rolls back. Yes, there is a work-around. It is common to create a Table Variable prior to starting the parent transaction, populate it with values during the transaction scope, and then after the transaction is completed (either committed or rolled back) to then insert the rows of the Table Variable into the logging table. –BUT, if server power were to fail just before the inserts, any records of the transaction activity would be forever lost. And it makes it impossible to create a self contained logging procedure that can be executed with only one line of code in the transaction.

    I suggest that there is a need for a completely ‘Isolated Transaction’. That is, a transaction that can be started in the midst of a ‘regular’ transaction (parent), and that will be durable regardless of the outcome of the parent transaction. Using this ‘Isolated Transaction’, once a commit occurs, even a rollback of the parent transaction will not undo the saved work. The activity log is properly persisted and durable.

    In some situations, it may be necessary to force the parent transaction to fail and rollback if entries to the log cannot be accomplished. (I’m thinking of a security implementation where any activity, even unsuccessful activity must be logged.) That can be accomplished by the parent transaction examining the error that caused code execution to fall into the CATCH block and taking appropriate action, or perhaps, proper specification of the XACT_ABORT option.

    Consider the following:

       BEGIN TRANSACTION

          TRY

             {do some work}

             BEGIN ISOLATED TRANSACTION

                {do some work}

                {Create Log Entries}

             END ISOLATED TRANSACTION

             {do more work}

          END TRY

          CATCH

             ROLLBACK

             RETURN

          END CATCH

          COMMIT

       END TRANSACTION

     

    I suggest that in the above scenario, the ISOLATED TRANSACTION should automatically commit (and persist) upon successful completion, or ABORT and exit upon any failure, reporting an error condition to the parent transaction. The parent transaction could (depending upon the XACT_ABORT setting) determine whether to continue or abort itself. IF the isolated transaction successfully completes, it is committed and durable regardless of the action taken by the parent transaction.

    Now this scenario seems to satisfy my issues of being able to reliably log activities in a transaction, and have those log entries persist if the transaction is rolled back.

    But additional questions arise.

    Stored Procedures

    What should be done IF the isolated transaction exists within a stored procedure that is called from the parent transaction code? How should the procedure handle an error that causes the isolated transaction to rollback? The RAISERROR statement in SQL Server has various quirks and should not be relied upon to communicate with the parent transaction –RAISERROR may itself cause the parent transaction to rollback and not allow the parent transaction to evaluate the error condition in its CATCH block.

    Should the procedure be totally autonomous and not attempt to communicate with the parent transaction? How would the procedure best communicate an error condition, either in the isolated transaction or not? Would it be enough if failure in the Isolated Transaction caused an XACT_ABORT error to be passed to the parent transaction?

    Dynamic SQL

    It is possible to make a compelling argument for an Isolated Transaction in dynamic SQL. How would/should the dynamic SQL communicate to the parent transaction if the Isolate Transaction were to fail and rollback? Should the parent transaction even care?

    Service Broker

    Having an isolated transaction could solve some issues related to Service Broker implementations –such as starting a batch process, guaranteed messages, and/or mail delivery. Is this a use case scenario that makes sense for you?

    Additional Considerations

    Some have posited that the isolated transaction ‘should NOT’ automatically rollback on error, but instead require a specific ROLLBACK statement. Something like this:

       BEGIN ISOLATED TRANSACTION

          {do some work}

          IF {condition}

             ROLLBACK

          {do some other work}

       END ISOLATED TRANSACTION

     

    But this raises all sorts of questions and issues. What happens after the ROLLBACK if there is an attempt to INSERT/UPDATE/DELETE? Is a new isolated transaction started? Is it the same transaction? Is it an error condition? What happens if the ROLLBACK is omitted and an error condition occurs?

    Personally, I’m in favor of a simple approach to the isolated transaction –not at all bound by any previous SQL Server transaction implementation. Automatic COMMIT on successful completion, automatic ROLLBACK on error, and appropriate error messaging down the call stack. What is your opinion?

    Your help is needed!

    In order to best prepare and lobby for such a suggested ‘improvement’, it is important to have a clear understanding of the use case scenarios that we are attempting to solve with the isolated transactions.

    So I ask you, if you see benefit from having an ISOLATED TRANSACTION in SQL Server, what is your use case? How would you use it? What are the pitfalls?

  • MVP Summit 2009 -A Most Excellent Adventure

    For many of us, one of the high points of being an MVP is attending the annual MVP Summit hosted in Seattle by Microsoft. Yes, there is a lot of flash and hoopla, good food, and a party or two. But the real value comes from connecting and re-connecting with MVPs from around the world. And then being given  'inside' information from members of the product groups. Product group members answer our questions and give us insights into future developments for the product/technology that holds our interest. And, to their credit, they put up with a fair amount of pushing and pulling from MVPs –which, thankfully, is accepted in the spirit of 'the loyal opposition'. Everyone recognizes that we all have the same interests -the improvement of the products we use and support.

    So I guess that I could sum up the event as one of Relationships. Establishing, building and renewing relationships between MVPs, AND between MVPs and product group members. Relationships that will serve us well -now and in the future. Relationships that are as diverse and complex as the products we support. Relationships that are both intense and fleeting. Relationships that will persist even when only renewed at the next summit. Relationships that will strengthen our interactions in newsgroups, forums, blogs, and even Twitter. Relationships that continually improve the SQL Server community.

    A few MVPs were acknowledged for their outstanding participation in the SQL Server community over the past year.

    For finding and reporting Bugs –overall:

    1. Aaron Bertrand
    2. Steve Kass
    3. Dan Guzman

    The most ‘critical’ bug was found and reported by:

    Teo Lachev

    For Newsgroup participation:

    1. Erland Summarskog
    2. Plamen Ratchev
    3. Uri Dimant

    For MSDN Forum participation:

    1. Jonathan Kehayias
    2. Jacob Sebastian
    3. Mangal Pardeshi

    The 'MVP Choice Award' was presented to give special recognition for MVP contributions to the SQL Server community over the past year. The SQL Server MVPs that attended the summit could offer five nominees each. Those selected received a plurality of nominations. Summit attendance was not required, and two folks were not eligible since they were previously acknowledged. (See above.)

    The MVP Choice Award was awarded to:

    1. Paul Nielson
    2. Arnie Rowland
    3. Itzik Ben-Gan
    4. Kalen Delany
    5. Pinal Kumar Dave (tie)
    5. Jessica Moss (tie) 

    (I wish to humbly thank those MVPs that thought I should be included in such great company.)

  • You HAVE to Trust, you MUST Verify -and that may still not be enough!

    In Brian Kelly's recent blog post, he makes an excellent case outlining why there are few options but to 'Trust' SQL Server Administrators. And then he goes into excellent detail explaining that it may be impossible to completely 'prohibit' disruptive behavior, and that one should establish a robust auditing of security events.

    And it is not just the SQL Server Administrators, or the network administrators that require ‘trust’. It is anyone that has access to the ‘wire’.

    A while back I was working on a project that had to meet a HS/FIPS standards that mandated that all data in transit be encrypted. I recall sitting in a meeting where, in response to my request for the establishment of encryption, (possibly IPSec) between the web farm and the data cluster, the director of the infrastructure teams bluntly stated that it would not happen because 'we trust our people'. There was continued resistance to finding any alternatives to meet the encryption requirement. The network administrators were firmly opposed to having packets on ‘their wires’ that they could not ‘look into’. There were attempts to find some manner of ‘waiver’ from the standards. My arguments about the difficulty involved in discovering passive sniffers, or that anyone with access inside the firewall could easily install an ‘unknown sniffer’ were summarily dismissed as ‘overly concerned’. My team continued moving ahead in preparation to the time when encryption deadline became inescapable.

    A few months later, all IT infrastructure staff were required to undergo new background security checks. I was not surprised that some of the 'trusted people' abruptly resigned or were terminated. (I've noticed that about 15% of IT staff seem to either refuse to submit to, or fail security checks. Sometime termination is for issues that would not have prevented the initial hire, but became mandated since the issues were not disclosed on the application. Sometimes just 'youthful indiscretions'...

    And the data in transit was finally encrypted.

     

     

Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement