måndag 3 september 2012

GitHub powershell prompt

Tired of the GitHub powershell prompt printing the whole path of the working directory, instead of just the name of it? I.e.:
C:\Users\Christian\Documents\GitHub\Wint [master]>
I don't want to change the window/buffer size of my console window just so that the prompt fits into it. Turns out it's relatively simple to fix. Just open up profile.example.ps1 which is located in a folder such as c:\Users\Christian\AppData\Local\GitHub\PoshGit_<some_hash>\, and change the Write-Host line into this:
Write-Host(split-path -path $pwd -leaf) -nonewline
Now you've got a nice prompt saying:
Wint [master]>
Nice and easy! :)

(Not sure if this is going to last for ever though, I guess GitHub will change the name of profile.example.ps1 into something better in the future...)

söndag 2 september 2012

Using scrum? Try kanban!

(Thanks to @gustaf_nk for recommending kanban!)

I had never before heard of kanban, but when I was introduced to it I got interested and had to buy a book in the subject. So I went ahead and bought Kanban and Scrum - making the most of both, and read it page to page in only a few days. Back to work I started to implement the kanban strategy in our current project, and it didn't take long before I started loving it!

Kanban is perfect for teams looking for quicker deployments and tighter feedback loops. Scrum limits you because of the sprints - you may only release after a completed sprint - but with kanban you can release as soon as you've completed a story, even if you've got other incomplete stories going on at the same time. You don't have to plan every sprit in details, don't have to allocate sprint time for a release, don't have to wait for the next sprint until you can start working on a new story and you don't have to split larger stories into sprint lengths. 

The only downside as I've seen with kanban is that it's a bit complicated to implement. In scrum all you need is your development branch, and when you release you simply release directly from it (or merge everything to a release branch). In kanban you need a separate branch for each story, since you don't know which stories will be included in the next sprint. Luckily all you need is Git and some basic knowledge in branching, and you are set to go!

I'll write another blog post covering the details of how we used Git to implement kanban. Until then, go check out that book!

måndag 27 augusti 2012

Windows Azure!

(First of all, thank to Scott Hanselman for motivating me into blogging again!)

Windows Azure - finally an easy way to deploy MVC projects, and cheap! At least what it looks like, I'm still waiting for my 3 months free subscription to run out, then we'll see what the price tag ends with.

During this summer I've deployed 3 projects to Windows Azure just because it's so easy. The first project was an old project I converted from running on my own virtual server (with IIS and MSSQL setup manually). It's called SebKul, and can be used to analyze your private economy by automatically logging in to SEB (Swedish bank) and running some measurements. For example, it will calculate the amount of money you may spend per day before running out of cache in the end of the month. If you spend too much money one day, it will mail you letting you know you need to be more careful in the rest of the month. You may also group different expenses to see what you spend the most money on. It is really beta, but if you have SEB it might be fun to try out: http://sebkul.azurewebsites.net (in swedish)

The second project was a simple mailing application - Mail Me When. Let's say you are interested in knowing when a new episode of a serie is available for download, but don't want to check the piratebay every now and then. This site will automatically check the piratebay rss, and scan for the serie you are interested in. If a new episode appears, it will send you a mail.

The third project is a project I'm currently working on - Inköpslista (shopping list). I was tired of always forgetting what to buy when in the grocery store, and never having the (paper) shopping list nearby when I needed something. I browsed the web for a digital shopping list alternative, but couldn't find anyone fitting my (simple) needs (the text within parenthesis is how I solved it):
  • Easy access from any device (a simple web page)
  • Easy login (a technique based on IP and cookies)
  • Easy sharing (just send a link to your friend)
  • Mobile friendly (using jQuery Mobile)
On top off that I made it a bit clever by:
  • Knowing what store you are in (using GPS coordinates), and presenting the products to buy in the same order you selected then in when shopping in this store the last time
  • Recommending products you buy frequently (i.e. milk every week, cheese every third week)

It actually turned out to be something I'm really pleased with, and now uses on a daily basis! Try it out an let me know what you think.

So if you haven't tried Windows Azure yet (you don't even have to be a .net developer), give it a try. Three months for free, it's worth it!