Mar 28

Agile Is as Agile Does

Agile is…

  • Self organized, not unorganized
  • People biased, not process biased
  • Results driven
  • Flexible

Agile does…

  • Deliver working software
  • Trust the individual
  • Respond to change
  • Satisfy customers

 

 

Mar 24

Multiple Logins with Chrome and Gmail

If you’re like me one email account just isn’t enough.  I’ve got several, most gmail, that I use on a regular basis.  However, since I got my iPhone in the fall of last year I’ve been a little annoyed with the way I’ve had to interact with one of my accounts.

I like to be able to send mail from multiple accounts on my iPhone.  This requires me setting them up individually.  No big deal.  I also like to see all of my email in one big in box.  Again, no big deal, the iPhone handles this with ease.

However, I like to also be able to work with my mail on my PC.  Here’s the problem.  Until recently the only way to interact with all of my accounts was to set them up on my primary gmail account and have it check all my mail.  If I didn’t do this I would have to log out of gmail and log in with my alternate account to check my mail.

The problem is that because I have my primary gmail account checking my email and I have that account and my secondary account setup on my iPhone I get two copies of every message on my iPhone.

I know, I know, it’s a first world problem at its best but it annoys the crap out of me.

So..

Imagine my happiness today when I attempted to log into my secondary account on my laptop and discovered that Google Chrome now allows me to be logged in simultaneously to BOTH of my gmail accounts.  This means I can switch between the two in gmail without having to log out.

 

Joy!

Mar 09

Earning PDUs towards recertification

I’m buckling down and focusing on earning the PDUs I need to re-certify as a PMP.  I’ve earned two so far  in the last thirty days.  One from attending my local PMI monthly chapter meeting and one from a webinar on  Project Management.

I’m also reading Microsoft Project 2010: The Missing Manual (affiliated link) to earn PDUs of self study credit.  The book has a lot more information than just MS Project tips.  It covers some of the fundamentals of Project Management and provides suggestions on using other software to complement the tools that MS Project provides.

I’ve got a good more PDUs to earn between now and fall when I re-certify but I think I’m on the right path to make it to that goal.

Oct 15

iPhone 4s Joy

I got my new iPhone 4s yesterday. No, I didn’t camp out. I ordered online from AT&T and had to wait a whole twelve hours for it to be delivered by FedEx to my front door.

Setup took about five minutes and it came with a full charge so I was up and running right out of the box. The sync to iTunes took about ten minutes.

Last night Siri was having a lot of trouble connecting to the network so I was on the verge of being severely disappointed in that aspect but by this morning Siri was working great.

Everything has been pretty intuitive so far. I’ve only had to look up one feature online, Siri location based reminders. Getting that to work is a two step process.

  1. Tell Siri who you are.
    1. Create a contact for yourself.
    2. In settings, select General >> Siri
    3. Set My Info to your contact.
  2. Add locations to your contact.
    1. Find a location on the map.
    2. Click the blue “>” on the location label
    3. Choose add to contacts.
    4. Add it to your contact.
    5. Set a custom label (Hint: the same label can be applied to multiple locations al la Starbucks or Home Depot).
  3. Tell Siri to: “Remind me to get a Cafe Mocha when I get to Starbucks”.
  4. Viola!

Sep 05

Executing SQL Scripts via MSBuild Extensions Pack

MSBuild is a powerful tool right out of the box.  With the ability to manipulate files and execute external commands there is a lot of mileage a creative Build Team can squeeze from it.  However, this barely scratches the surface of what it can do.  When you add on the MSBuild Extensions Pack you open up a whole new world of tasks that improve the capabilities of the Build Team.

One of the simplest, most useful, tasks available in the Extension Pack is the SqlCmd task.  This simple task does an amazing thing.  It allows you to execute SQL commands either directly or via script files directly in your build execution.  This  opens up several possibilities for complementing the build process.  From actions such as deploying new data structures to support the build to cleaning up data or reshaping it to meet new requirements.

The example that follows is basic in nature but describes the steps necessary to use the SqlCmd task to execute SQL Scripts against your database.

1. Create an empty solution in Visual Studio and add a scripts directory to house your sql scripts.

2. Add a text file to the scripts folder with a .sql extension.

3. Modify the script to perform a basic select operation

USE MSBuildDemo

SELECT *
FROM sysObjects

4. Save the script.
5. Right click on the project in Studio and select “Unload Project”.

6. Right click on the project placeholder and chose “Edit <Project>.csproj” where <Project> is the name of your project.
7. Edit the csproj file to import the Extension Packs tasks file

<PropertyGroup>
<TPath>C:\Program Files\MSBuild\ExtensionPack\4.0\MSBuild.ExtensionPack.tasks</TPath>
</PropertyGroup>
<Import Project="$(TPAth)" />

9. Reference the script files
<ItemGroup>
<InputFile Include="$(SolutionDir)Scripts\**\*.sql" />
</ItemGroup>

10. Add the SqlCmd task to call the script to the BeforeBuild target.
<MSBuild.ExtensionPack.SqlServer.SqlCmd TaskAction="Execute" Server="MySQLServer\SqlExpress" Database="MSBuildDemo" InputFiles="@(InputFile)" LogOn="BuildUser" Password="password" />
11. Save the csproj file.
12. Right click on the project place holder and click the “Reload Project” option.
13. Rebuild the solution.
14. The SQL Commands will execute as part of the build process.

Aug 18

Team Foundation Server Usability Tip – Better Query Views

Work item queries in Team Foundation Server allow simplified management views of those items. However, the default view splits the results from the details of the work item in a horizontal split. This makes it somewhat difficult to view the full detail of the work item.

A better view is to use the vertical split. You can then see the full details of the work item while scrolling through the query results.

Aug 14

Good Learning Resource on MSBuild

This book has been a great source of information about MSBuild and configuring projects for automated deployment. By the end of the book I could read MSBuild files without any trouble and could successfully configure automated deployments utilizing Build Server.

Aug 14

Creating a backup of a Web Site using MSDeploy/Web Deploy

One of the most essential steps in managing web application updates is the ability to recover to a point in time prior to the update should the deployment of updates be unsuccessful.  MSDeploy simplifies this step and can even be incorporated into build definitions to create automated backups when a deployment build is executed.

To create a backup of a site from an existing site simply execute the following command:

msdeploy -verb:sync -source:iisapp=”Default Web Site” -dest:package=c:\defaultsite.zip

This will create a deployment package of the iis application running as “Default Web Site” on the machine where the msdeploy command was executed.  If you want to remotely administer a web server ensure Web Deploy 2.0 is installed on the target machine and modify the command as follows:

msdeploy -verb:sync -source:iisapp=”Default Web Site”,computername=MyServer -dest:package=c:\defaultsite.zip

You must have administrative privileges on the server you are trying to sync from in order for this command to be successful.

Restoring the backup is as simple as running the command below:

msdeploy -verb:sync -source:package=c:\defaultsite.zip -dest:iisapp=”Default Web Site”,computername=MyServer

Again, you will need administrative privileges on the target server for this command to succeed.

Aug 07

Ten Things I Love about the WordPress Graphene Theme

I’ve started using the Graphene theme for WordPress almost exclusively across my blogs.  It has plenty of positives in its favor but I’ll list the top ten here that make it my default choice.

1.  Out of the box Social media buttons.  Right away, by simply filling in a couple of text boxes you can connect to both your twitter and facebook profiles.  Super simple to setup and reliably works.
2.  Easy to add additional Social media buttons.  Adding a new button is as simple as clicking a link and filling in three text boxes.  What could be simpler?
3.  Adding social sharing buttons to posts is simple.  Specify the position you want these buttons to show up in in relation to your posts and paste the HTML.  Beautiful!
4.  Adsense integration out of the box.  Simply snag your ad code from adsense paste it into the adsense text box and Viola!  Instant ads!
5.  Google Analytics integration.  Seriously, have you seen the reporting from Google Analytics?  All of that for no charge?  With Graphene you paste your tracking code in a text box and the magic happens for you.  Sweet!
6.  Twitter posts widget.  This theme has a Twitter widget that you simple drag to your widget area, specify the user name, and start viewing tweets!  No application codes to setup.  Easy!
7.  Gravatar support for post authors.  I like to see the face of the person who has written a post.  Gravatar integration makes that as easy as marking a check box.
8.  Graphic representation of column options.  Instead of just a description of the column options available the theme displays a wire frame picture  of the option you are selecting.  Just an option that makes the theme that much more user friendly.
9.   Customizations that do not require editing code.  All of the options above don’t require you to dig into PHP code or files.  That way, when updates to the theme come out, you don’t loose your configurations.
10. Developer support.  I like it when a WordPress theme or plugin has a very active and responsive developer.  It means I can rely on that dependency without fear that it will stop working and be unsupported as new versions of WordPress are released.  In reviewing Graphene’s developer site I see responsiveness to enhancement requests along with a desire to understand what is being requested.  This goes a long way in moving this theme into my good graces.

There!  The top ten reasons I’ll be using Graphene as my WordPress them for the foreseeable future.

Aug 07

Adventures in WordPress and Web Hosting

So, I’ve had two other WordPress based sites that have been out of commission for several days. Afterburn SF and Tuskaloosan are two blogs that I operate.  Starting mid-week last week they started reporting 500 errors.  This meant there was a problem on my web hosting server.  The odd thing was that this site, NatThompson.com, and others that I operate in the same hosting environment were working with no problem.

I applied all the latest patches from my application administration console to no avail.  Both sites kept returning the same error.  I was scratching my head and beginning to get frustrated.

I decided to start checking the actual files themselves to see if there was some sort of corruption that had occurred.  I fired up my trusty FTP Client, FileZilla, and started browsing through the files.  Right away I noticed a file that looked out of place, web.config.  In my experience this file is geared towards ASP.Net web sites and not PHP sites.

I figured I had done something silly and accidentally uploaded this file to the server.  I deleted it and lo and behold the site started working again.

Thinking I had permanently resolved the issue I went about making some changes to the site.  After a few minutes I decided to check the permalinks settings page.  As soon as I did and tried to navigate away from it the site was back to throwing 500 errors.

I checked the FTP client and web.config was back!

At this point I began to fear a hacking incident.  I deleted the file and waited for it to return.  After a few minutes it had not reappeared and I went back to editing the site.  That’s when I noticed that links to pages and posts were not working either.  Whenever I clicked on one of them I got a 404 error indicating that the resource I was looking for could not be found.

I figured there must be a problem with the URL translation for permalinks so I went to the page to adjust them.  I click the “Save” button and Wham!  500 error.

Checking FileZilla web.config is back.  A brief bit of googling later and I come to several help requests involving word press, GoDaddy (my hosting provider), and “pretty URLs”.  The long and short of it came down to an incompatibility in the level of hosting plan I have and the Rewrite URL module WordPress uses for translating URLs.

Getting the default setting back was a bit of an adventure as well.  As soon as the permalinks page loaded the web.config file was created by WordPress.  I had to load the page, delete the web.config file in FileZilla, set the default and then save the changes.  Then repeat for the second site.

Whew!

Finally all is well.  Hopefully there will be full support of this module from GoDaddy in the future.  For now I’m just happy to have both sites up and running again.

Older posts «