Ever run into a situation where you are an administrator on a machine, but your account is not an administrator in SQL server? Read below for my situation and the solution I found to fix it!
The project I’m on currently has a shared virtual machine that is given to new developers when they come onto the project. It’s done this way because of some legacy software SDKs that are installed that only work on Windows XP, as well as some legacy VB6 code that requires the IDE to compile properly. I’m not complaining about this, but the virtual machine was created with Microsoft VirtualPC and I happen to be working on a Mac. Rather than booting my bootcamp VM, and starting the VM inside there (tedious and slow), I opted to migrate the VPC image to a VMWare Fusion image.
The transition was not easy, and required several steps that were not intuitive, but I finally got there and the VM is responsive and performs fairly well now. But I ran into a problem – the VM relied on share Windows authentication that mapped my Bootcamp user with a user in the VM called ‘dev’. Dev had administrative rights to the SQL Server, but during the transition the account disappeared and I lost all rights to do anything in the database other than connect!
I found a script that will map a given user to a given SQL server instance with the sysadmin rights. This saved me a ton of time and got me up and working again. The script does require administrative rights to the machine, so it should not be a security concern. All in all, I’m very happy to have regained access to my 2008 SQL Express instance so SSMS can enable intellisense on this rather complex database!
I ran 4 miles this morning! Well, almost 4 miles. My goal today was 3 miles and I ran about 3.5 and walked another .5 miles. But for me, that’s huge! I realized another thing while running today – I was using waterfall methodology to plan my personal health project before starting this! When I finally started working out I was around 230 lbs – obese. Now I”m down at 215 and I can run 4 miles.
So why do I say I was using a waterfall approach? I have been “planning” to workout for at least a year now. But, since I didn’t actually know what I didn’t know – what my body could do, what I’m mentally capable of, what to eat – this planning phase lasted much much longer, and cost me much more (health wise) than it should have! By the time I finally got to working out, all that planning was for naught – I had gained an additional 20 pounds and loss muscle mass. My project was doomed to fail from the start!
The parallels to waterfall projects here are pretty amazing. Research and planning in a waterfall project usually consume so much time and money, that the project starts off far behind the current state of affairs for the business environment, and has already cost over half the amount of money that the entire project is supposed to take! That sounds pretty bad for the health of your business!
So yesterday I mentioned my agile parallels to exercise, and I’ll bring it up again. I changed my game plan – I picked something I thought I could do, started it, and after a week determined where I was really at. I actually started going to the gym and running on an elliptical before starting the BUD/S Warning Order workout just to gauge where I was and whether or not doing that workout would be beneficial to my health.
After about 2 weeks, I evaluated and determined that yes I could do it. My health project is on track, and I’m reaping immediate rewards for it. Even better than that, I haven’t invested that year of up front planning and costs to determine that I am indeed overweight and out of shape! I got quick feedback on what was valuable and what wasn’t, and corrected my health and nutritional regimen accordingly.
At some point in this fitness project I may determine that I’m at a fitness level that’s just right for me and put myself into a maintenance phase. Meanwhile, the folks using waterfall fitness are probably still planning or have already set unrealistic goals and will pay for it in the end without a whole lot of extra benefits.
So what type of fitness or software development plan sounds right for your investment?
I’ve been exercising the last 4 weeks and today I had a bit of a ah-ha moment on my morning run. Starting a running routine is tough work, and I get frustrated often when I cannot make my goal and have to slow down. However, there are a few things I do that have helped me stick with it more this time than any other time I’ve attempted to run seriously. These few simple steps have been a great help and I’m on track with my goals. These steps also have parallels in Agile development, and I’d like to share my experience and insight with you, dear reader.
Commit with a Team
The first thing I did was to make a commitment with friends to exercise together and to sign up for Tough Mudder. The registration fee for this event is $150, so it’s an end goal that has both financial and health strings attached to it. Difficult exercise of any kind is very hard to do solo, but in a team – we have 3 regular people who are doing this now – it is much easier to stay motivated.
I associate this with the end goal of a software development project. Someone has invested some serious time and money commitments to see a project through, but it will often fail if attempted alone. It’s very easy to lose motivation on a difficult or long project when working solo. It is also easy to lose sight of that longer term goal and find it just too difficult to move forward. And, we all know that stress is bad for you, so it too has health implications (okay that’s a stretch, but go with it). Working with a small team of dedicated team members help keep everyone motivated and in the game. The team has a collective goal and when someone loses sight of the end goal, others are there for support and guidance.
Set a Goal, Form a Plan, Meet the Goal, Evaluate, Rinse and Repeat
As I mentioned above, I’ve committed myself to completing the Tough Mudder event. This is my goal, and it’s a very defined set of physical requirements that must be met. Now there is no way I could achieve what I need to without a plan. I could run, and I could workout, but I don’t know the best way to do those things, so I sought advice and found a great workout that is both challenging and meets my requirements. This makes me much more likely to stick with it – I have a time boxed goal and I know what I have to do to reach that goal.
In our exercise routine, we measure success by the week, and being in the 4th week of a 9 week initial program (the Navy Seal BUD/S Warning Order Workout) and on target is making me feel great. At the end of the week we realize and discuss our accomplishments, discuss what we could change, and then plan for the next week. For our exercise routine, this may mean changing the order in which we complete our daily workout, or it may mean adjusting meeting times or places to allow us to complete the next set of goals. In either case, this gives us short, measurable time periods in which to track our progress and readjust as necessary. This week we run a total of 9 miles (3 miles / 3 days a week), and we’re right on target! Rock on!
In agile software projects, we do much the same thing. We commit ourselves to an end goal and typically the clients have a time boxed window for the project to fit into. In some other methodologies, a lot of up front planning is done to document the whole project, and it’s not until the end that success is truly measured. I find this difficult to deal with because going such long periods without reflecting on the current state of things seems like a bad idea. So in agile, we do sprints – my current project is doing 2 week sprints – in which we bite off a small chuck of the overall goal, commit to it, and at the end we look back and measure our successes and failures. This brings failures and areas to improve upon to the surface much quicker and ultimately keeps the team on track for the end goal. It also feels good to meet these goals (in exercise and software development), and it keeps the motivation high.
High Five Those Who Are In It With You
I have a habit now of reaching my hand out to high five other runners (strangers) I see on our path! Some respond and smile, some ignore me, but I will continue to do this. I also make it a point to high five those who exercise with me – at the end of a hard workout, and at the end of a week. A salute to their hard work, and a confirmation of my hard work.
I feel it’s a recognition of their dedication and effort, and it’s a motivation for me to keep up the hard work – if they can do it, so can I! I don’t mind those who don’t respond in this context – maybe they are very focused, or just afraid to touch a sweaty overweight guy. But I really enjoy those who do respond. It gives me a burst of energy to know that I can help someone else feel good about their accomplishments (and running at 6 am in Texas is an accomplishment at any distance!), and I hope it does the same for them. I also get energy from the fact that they are encouraging me as well.
I see this as the same thing as the task board, daily standups, and retrospectives in an agile project. It feels really good to move a task from backlog to in progress to completed. It feels really good to tell everyone about the accomplishment during the standup and receive typically very positive feedback. And at the end of the sprint, these things are recognized again in the retrospective. It all goes towards the idea that small accomplishments can be recognized and motivate the team to keep going. Even if I’m really tired from a hard workout, getting positive feedback in my daily standup gives me the strength to give it my all for that days work. And during the retrospective, we make it a point to highlight the positive efforts of the team and address the negatives.
Fin
So, those are my thoughts on exercise and agile! Now if only I could apply this to nutrition and agile, I’d really be rocking! Anyway, the next time someone does something that deserves a positive acknowledgement – in any part of your day – give them a smile and a high five! It may seem pretty goofy to high five (that’s old school cool right?) – my wife is constantly embarrassed when I do it with her – but I guarantee the person receiving and you will walk off with a hint of a smile on your face!
First Computer Memories – When I Got Started…
Remember when you sat down in front of your first personal computer? I vaguely remember sitting there as a pissed off eight year old in 1991, starring at a DOS prompt. I was trying to play a 16-bit race car game and it kept complaining about HIMEM being unavailable.
That’s how it all started for me – I wanted to be Mario Andretti, and be damned if that big cold metal box was going to get in my way. No one else in the house could figure out what was wrong, so my grandfather handed me the user manual for the IBM 386/DX Personal Computer and told me to figure it out. After all, Wheel of Fortune was on and it was much higher priority than these “computers” were ever going to be. That was the day I learned that RTFMing is probably the best way to go when problems happen. I’ve been RTFMing ever since.
Teaching An Old Dog
Nineteen years later – about a month ago – I gave my father his first computer to help him run a convenience store he recently bought (his first business). Nineteen years after sitting at my first computer in 1991, he’s in the same situation of not knowing a damn thing about computers other than he has to use them to stay in business. But he’s got a much harder learning curve to deal with, and I’m sadly unprepared to help him through that journey.
I take the last 19 years for granted. Computer jargon is almost it’s own language now. What IS a link? What IS a URL? What IS a tab? More importantly, how MUCH knowledge is required to be effective when using a computer?
What is a Link? How Do I Plug In a Galvanized Chain Link?
ME: A link is a URL…
DAD: URL? Ugly Rearrangement of Letters?
ME: …yes, that tells the browser…
DAD: I hate trousers! I prefer blue jeans.
ME: …the BROWSER…how to request content…
DAD: Like those slow people at the Luby’s line? Why would I want those in my computer?
ME: …oh boy. Let’s start over. It’s like an index card in the card catalog at the library.
DAD: Well if the internet just tells me to go to the library, what the hell good is it?
Who The Hell Is Windows Defender? Is He Hitting On My Girlfriend?!
DAD: Why does this guy named Windows Defender keep telling me to run a scan? The only scan I have to run is with my shotgun when the dogs bark at night!
ME: Please, don’t point your shotgun at the computer! Windows Defender is a great guy once you get to know him. He’s the Trojan Man’s second cousin – he helps keep the good times rolling and the viruses at bay!
How Do You Make a Computer Stutter? Ask It To Define Itself!
So the question my father asked that I can’t answer:
“How do I learn how to use a computer without spending 19 years and giving up what’s left of my social life?”
The knock on my social life aside, what are the best resources to give new computer users, and what is the best way to teach them? Do we order him some of those DVD’s I see on late night TV? A Computers for Dummy’s book? What’s considered a “good enough” level of knowledge for beginners? Give him an abacus and pray? Any help would be appreciated!
Okay it’s been a while. Nobody reads this regularly anyway, since all my google analytics hits are from google! I digress!
I recently became the proud owner of a Macbook Pro. It was about time I have all the modern development platforms at my fingertips, including native OSX and iPhone/iPad development platforms. So far, I’ve been very happy with the quality of the product, the ease with which I was able to become efficient with OSX, etc. I installed VMWare Fusion and installed Windows 7 in BootCamp so I could do .NET development.
One of the things that has really “gotten my goat” though is the lack of a menu context key! I’m a serious keyboard junky, and not having the ability to “right click” to get a context menu really upset me. The most painful instance of that is in Visual Studio inside VMWare Fusion. I constantly use the Menu key to create new files, go to properties, run stylecop… ALL KINDS OF STUFF THAT’S USEFUL! A couple people told me it was impossible to get that key in Windows… and to me, that’s a challenge, brotha!
So, here’s how to do it, in VMWare Fusion. On the VMWare Fusion menu bar (??), go to Preferences. Click the “Keyboard & Mouse” section. I created a new profile to do this so I could leave the default alone. Anyway, on the bottom left, click the plus sign (+). This brings up a “From/To” mapping window. I mapped Command + / to “Menu” (no other keys on the To selection). Click OK, and give that context menu some love!
How do the other OSX virtualization platforms stack up for this need? VirtualBox? Others? Let me know in the comments!