Workign With SQL Azure - Part 1

Purpose

There are some excellent instructions for working with SQL Azure on the web. This is not intended to replace those, but rather to augment and consolidate instructions for connecting to and working with SQL Azure for those who are not proficient with SQL Server.

Resources on the Web

How to: Migrate a Database by Using the Generate Scripts Wizard (SQL Azure Database)

Connecting to SQL Azure

Prerequisites

In order to do this you will need to meet the following requirements

  • Connect from an authorized IP address to comply with IPSec rules on the Azure SQL database
  • Utilize SQL Server Management Studio r2 (You can get this by installing SQL Express if you don't want to load full SQL Server)

Steps to Connecting

  1. Open SQL Server Management Studio.
  2. When asked to connect, click [Cancel]. This will open SSMS with no data or connections.


  3. In the upper left side on the toolbar press [New Query].


  4. A new connect window will appear. Use the provided login information. Remember to set “Authentication” to “SQL Server Authentication”.


  5. Press [Options >>] to provide extra connection information.
  6. On the “Connection Properties” tab type in the name of the database you wish to connect to. Please note that even though the “Connect to database” field is a dropdown you will need to manually type in this name as management studio will not be able to gather a list of database names for you, and you will not be able to change this name once connected. If you are running more than one database (For example [dev] and [prod]), you will want to make sure you are connecting to the proper database during this step.


  7. Press the [Connect] button.
  8. You will now be able to run sql commands directly against the SQL Azure db.

NOTE: In this version of SQL Server Management Studio this is the only way to connect to the database. You cannot connect using the object explorer as it requires access to both your database and the “Master” database. Due to the way SQL Azure is implemented this is not possible and you will receive an error. Future versions of SSMS and/or updates to SQL Azure may correct this.

TIP

One of the downsides here is the lack of the object explorer. If you have a local copy of the database, you can do this little trick to help overcome this deficit.

After you have connected to SQL Azure as described above, you can connect the object explorer to your local database. As long as you spawn new query windows from your existing Azure connection, the new query windows will inherit that connection. This will allow you to view the objects in the object browser and even drag and drop table and column names over to your query window.

While this is still far from perfect, it does ease the pain.

My Blog Reading List - The Quest To Keep Up.

A few weeks ago I talked about reading blogs to keep up with trends. This time I thought I’d share some of the blogs I’m currently tracking. I use google reader to manage my blogs and separate every thing into folders. Here is a list of my folders with a brief description, and also a few notes about the blogs I’m tracking in them as well as at what activity level I track them at.

Development -  Blogs primarily about, what else, Software development. I don’t actually track a lot here, but what I do track I tend to read through. There are a few others I track, but they post so infrequently I’m not even going to list them here.
  • Coding Horor: Jeff Atwood’s blog
  • Scott Hanselman’s Computer Zen
  • ScottGu’s Blog: Scott Guthrie’s blog (Or as Hanselman refers to him “His Gu-ness”
  • iPhone Developer News: This is really just so I don’t have to get Spam for Apple.
  • Martin Fowler’s “bliki”: Mostly about Agile and customer interaction. More the business of software development as opposed to the implementation.
Marketing - These are blogs I follow to try and keep up with what is being discussed in the brand and user interaction world. While I’m not a marketer I like to know what is going on in this industry. Remember that the same poeple that marketers are trying to reach work at the companies that internal systems are also interacting with. If you ignoring what people are doing and interacting with outside of work, how can you expect to be able to build systems that help and engage them in the work place. I mostly just track through these quickly.
  • Adverblog: I skim this one
  • Advertising Age: I skim this one too
  • BuzzMachine: It’s a skimmer
  • Seth’s Blog: Seth Godin’s blog. This is probably the only one in this folder that I actually make an effort to read. If you’re familiar with Mr. Godin you’ll see some influences from him in my recent posts. While I don’t always agree with him I do find him interesting and thought provoking.
Geek Tech - These are blogs about cool technology. Everyone should be familiar with these, but I don’t think anyone has time to read all the posts. Besides most of them tend to report on the same thing. I usually skim for a while an only stop on items I think are interesting.
  • Endgadget
  • Gizmodo
  • Mashable!
  • Slashdot
Well I think that’s it. There are some others I track that are way off topic here such as Comic Book Resources, but this mostly covers the technology blogs. These add up to a lot of posts in a day and a week. It’s important to keep in mind that I many of these categories I skim in a few minutes and then mark everything as read. You don’t need to kill yourself to try and stay relevant.

Year of The Lemur

If I were an international spy or super villain, I'd want to be known as "The Lemur." I'd get a lemur, name him Maurice, and train him to discretely take care of my enemies… This post has nothing to do with lemurs. Nor does it have anything to so with my plans to rule the Evil League of Evil (E.L.E). Sorry.

2009 was not a good year for me. I don’t feel the need to go into any details, and all things being equal it certainly doesn’t compare to the year my father passed away. However, as we head into the end of January I’m feeling good about 2010, and wanted to share some of the reasons why.

In 2009 I spent too much time trying to do what I thought was right for others rather than simply what I thought was right. When I tried to fit into the mold others wanted to put me in, I was unhappy and, surprise, failed. I’ve gotten to where I am because I don’t fit the mold. This year is about being my non-conformist self again, with no apologies.

I’m revitalizing my interest in technology and solutions I care about, and continuing my personal journey and exploration of how technology can be used to communicate. I’ll have more to say on this later.

I’m going to be writing more. This is one area where I actually thought I had kept momentum up last year. Then I realized that the majority of writing I did in 2009 was either at the beginning of the year or at the end. My goal this year is to not loose momentum. This also extends into my work with sequential art. In addition to the blog I also have some side projects that marry both technology and writing. I’m actually very excited about this and hopefully will be publishing further information about this in the next month or so.

This year more than any other I feel like the confluence of my skills, knowledge and interests has great potential. It’s this potential confluence that I’d like to spend the rest of the post exploring. When I mentioned my exploration of technology and communication earlier it was a bit myopic. Before I got involved in the technology sector I was a trained stage director and playwright. One of the primary themes I continually touched on was how people communicate, or rather how they don’t communicate.

This theme was fueled by something I see as a part of the human condition. It isn’t just a need to communicate with one another, but also a need to commune with one another, to understand in an unspoken way. This is the same need that spurs us to create art. Now there are some very practical reasons this need is baked into our dna. Humans are social animals, and it is this need to live, work and communicate that allowed us to survive in the face of nature and other predators. Humans are not the only social animals on the planet, not even the most socially centered. The insect world beats us hands down when it comes to structured social behavior. However I think it was the way this need to commune with one another combined together with a capacity for knowledge acquisition and application, which turned our tribes into cities. As our technology takes us beyond our physical communities and borders, we still have a need to bond and communicate. I think we take for granted how much interaction and communication is non-verbal. The saying that a picture is worth a 1000 words is not only true, but I’d bet that as you read it you pulled up a mental picture that demonstrated the concept. When you talk to someone on the phone do you mentally picture that person as they talk? As our communications get briefer how many of us resort to emoticons and lolspeak to help fill in the gaps and communicate mood? We are at a point where we need to look at how we communicate and interact in our new cyber communities. We need to look not only at how to use the tools we have but also to discover new tools to move us forward.

We all traverse along our own journey though our lives whether we choose to recognize and embrace it, or simply go along for the ride. Mine has taken me down a path from art to socio-cultural anthropology (for lack of a better term), and then turned down the path of technology. As an artist I explored how we communicate, which got me interested in human culture and social interactions. As a technologist I have been interested not only in how we interact with our technology, but also how our technology interacts with other bits of technology on our behalf. My hobbyist interest in AI was never been to be able to build sky-net, but to use it as a model to better understand human thought and motivation. I feel that there is an opportunity, and in some ways a need, to bring all of these interests and disciplines together that excites me.

So. With all of this in mind, I hereby declare 2010 the year of The Lemur.

PS: I used the word “confluence” a few times in this post. I feel this word, more than any other, helps describe the themes I’m talking about here. To show how long I’ve been ruminating on some of these topics, when I ran my own theatre company back in the mid 90’s I named it the Wormwood Theatre Confluence. I’ve also owned the domain dataconfluence since 2003, though I’ve never done anything with it.

What do you know? Your nothing but a SME.

This is one for the rant files. I can’t begin to tell you how much I hate the term SME, but that’s never stopped me before so here goes…

In order to control a people, you must first control their language. Now I wish I could tell you who said this, if indeed someone has, but alas google has failed me. However this is a theme that crops up not only in science fiction, but also in history, and it’s even going on today. Why do you think people burn books? Why do marketing people invent new terms? Language is a way to express ideas. If you can manipulate the language you can influence the way people think, if not what they think.

What does this have to do with my h8 4 the term SME? In case you don’t know, SME stands for Subject Matter Expert.

Subject Matter Expert: Sounds pretty impressive doesn’t it? You are an Expert in a Subject. People rely on you and your knowledge of the subject.

SME: Pronounced “smee.” Sounds like the cousin of a smurf doesn’t it? If you didn’t know what it stood for, would you like being called smee, or would you be offended? Belittled?

So why would anyone want to call sombody they rely on, by a term that belittles them? Why do high-school jocks pick on geeks in high-schools? Now I’m sure that doctoral thesis’ have been written on this subject by people much more knowledgeable on the topic than I. Someone who studied long hours, and truly cared about the topic. Dare I say an expert in their chosen field of study, or subject. Wouldn’t it be pretty crappy for me to refer to that person as a “smee?” So just my opinion here, but I think that when one person needs to put someone else down in order make themselves feel more important that’s pretty sad. Now don’t get me wrong, I’ll put someone down all day long just for entertainment value (this site is called Malignant Genius, not Nice Puppy Love), but even I wouldn’t put down someone who has knowledge I’m relying on. Torture until bend to my will maybe, but not put down.

Now I’m not sure where the term originated or how it evolved into “smee.” While I’ve seen references to it in six sigma, the first time I came across it was from a project manager. Have no doubt that the way she said it was definitely to make you understand that, expert or not, you were her inferior. Sometimes she’d say “smee” so often in a meeting I thought she was going to ask me to acquire a shrubbery. My problem here is not with the definition or purpose of the original term, it’s with the way I feel it’s been perverted to keep keep my brother nerds enslaved to the frat boys and cheerleaders looking to still be at the top of the social pack.

So the next time someone calls you a “smee” ask to be called a Domain Expert instead. Or I suppose you could always demand a shrubbery of your own.

The Road Less Traveled

In consulting there are always challenges to be faced around staffing projects and managing the bench. While some are difficult to control (the economy for example), others can be worked on, and in truth do not need to be issues at all. I frequently see the following two scenarios, which fall into the latter category.

Scenario One: One region may be overbooked while another is on the bench. The people in the overbooked region are working 60+ hour weeks, and if things don’t change some folks are in serious danger of burnout. Conversely the people on the bench are bored and looking for a good project.

Scenario Two: A developer is staffed on a project because they are "down the hall" and have availability. While another developer may not be down the hall, but is also available and has the required skill set that the first developer doesn't. While availability may not be a skill, familiarity is simple and comforting.

Are there multiple factors that go into both of these scenarios? Of course, but please allow me a bit of freedom to focus on what I consider to be a major contributing factor. Fear of the unknown. People don’t want to risk introducing unknown factors into their projects. It’s much more comforting to burn the people you know even hotter. It’s still a risk, but at least you know what those risks are. Besides, chances are the consequences will either be someone else’s problem, or at the very least come after the immediate crisis is over. In my experience people tend to quit after the project burning them out is over. Now I can’t really fault them for this. Fear of the unknown is baked into us, and for good reason. The caveman who ventured over the ridge without knowing what’s on the other side seldom returned.

But let’s take this a little farther. What happened to that caveman? Was he mauled by a tiger? Did he fall into a chasm? Die of hunger? In some cases certainly, but in others I think something extraordinary happened. They found greener pastures and new tribes to join. Sometimes they may have come back to their origins, and sometimes they were simply never heard from again. And what happened to those who stayed behind? Did they persevere as the bravest of them left, or did they wither and die, slaves to their own fears?

Ok, so I’m exaggerating and generalizing to make a point, but that point is valid. We’re taught that you're better off with the devil you know. Allow me to let you in on a little secret. Sometimes the devil you don’t know is much more fun. I’m not advocating jumping blindly into the maw of the abyss. Go in eyes open and be realistic. If you bring on another resource and expect them to dive into the toughest part of your project, you may be setting them and yourself up for failure. Conversely if you keep them on the edges of the project doing small bits of cleanup work, then you marginalize them, never truly integrating them into the project or the team. While you may not be setting up failure here, you also aren’t allowing for yourself to be surprised and delighted. And please, PLEASE, don’t pull in a resource at the end after, your core team has left the project and expect them to save you. That’s called putting the turd in someone else’s pocket, and will end in bad feelings all around.

So if you find yourself in the situation where you can either trod along in quiet desperation, or welcome a new member to your tribe, take a chance. Walk the road less traveled. Hopefully you’ll be surprised and delighted. At the very least you’ll learn something about yourself and someone else.

So. I didn’t quite end up where I was headed at the start. With this post I start a series of ideas and thoughts I have been gathering about the challenges of working in and across groups. Taking a chance is just the first step. In future posts I’ll be exploring some of the challenges you’ll face once you start working outside of your immediate tribe, and explore some tools to help you navigate the road ahead.