Tag: agile

I have been using Subversion for many years both professionally and on open source projects (mainly Razor Image Viewer). Initially, I had Subversion running as a service on my local computer but the more I thought about a strategy for backing up my work, the more it made sense to use a hosted environment. The $25 dollars a year it costs me for a hosted source control service wouldn’t even cover the electricity for my own server.

I am currently using a hosted Subversion and TRAC with ProjectLocker. The hosted service allows me to focus on my development and other project without the need to maintain a server or keep it on all the time. I love TRAC’s custom workflows but it doesn’t offer the breadth of capabilities required for application lifecycle management (ALM).

I have used Microsoft’s Team Foundation Server and am more and more impressed by it as it has matured since its initial version in 2005. With the release of Team Foundation Server 2012, there will also soon be a TFS Express solution available to teams of 5 for free. Currently, Microsoft is offering a free web based preview of Team Foundation Service hosted online (under the hood, it’s a farm of Azure VMs). I am using this for a couple projects and will be writing more about this soon.

If you are using Visual Studio 2010 you will need to install a hotfix in order to connect Visual Studio 2010 with the TFS Preview hosted source control. Microsoft’s website makes you jump through a few hoops before directing you to the download page for hotfix KB2581206. Visual Studio 2012 connects properly to the hosted Team Foundation Service out of the box.

To connect Visual Studio 2010 to your TFS Preview repository, the Getting Started with Visual Studio page incorrectly states to use the full project URL https://fabrikamfiber.tfspreview.com/DefaultCollection/FabrikamFiber (to end the URL with your project’s name). The correct URL for your Team Foundation Server is https://fabrikamfiber.tfspreview.com/DefaultCollection, for example. Visual Studio will provide you a list with the projects to which you can connect.

Agile methodologies allow development teams to better handle multiple projects and deliverables. One issue I have with User Stories is the inability to specify hard requirements. Use cases, functional requirements, and cognitive walkthroughs.

As a user, I should be able to edit my content
As a user, I should be presented with the potion to save my content when I close

The Issue is that we have been using Epochs thinking they are User Stories and not breaking them down to smaller, testable stories.

Keeping all this in mind, I have recently started sketching ideas for a system that allows us to maintain our stories and epochs (and allowing stories to evolve into an epoch with it’s own smaller user stories) and apply true requirements to these stories.

Over time, the project may evolve with sprint breakdown and planning tools.

https://www.regextester.com/97766 has a good matcher for ISO dates. You can leverage this regex but remove the ^ and & and replace the T with a white space. The resulting regex is (-?(?:[1-9][0-9]*)?[0-9]{4})-(1[0-2]|0[1-9])-(3[01]|0[1-9]|[12][0-9]) (2[0-3]|[01][0-9]):([0-5][0-9]):([0-5][0-9])(.[0-9]+)?(Z)?

If you share the S3 link to your hosted file and you have the bucket set to public access, you can't really control much. You would need to create a proxy endpoint that handles your authentication, then streams the S3 hosted file to your response.

You could use return StatusCode(401); instead. You should avoid using exceptions to control the flow of your application. Do you have any middleware that's intercepting the exception and overriding the status code to 500?

As the value of i increases, your exponent calculation Math.pow(-1, i) will take longer and longer to calculate. As you're using Math.pow(-1, i) to simply swap the sign, you can optimize it as Math.pow(-1, i%2). Better yet, map the multiplier to the values 1 and -1 and use i%2 as your key. Additionally, you are […]