Archive for the ‘Technology’ Category
Continuous Integration with TeamCity follow up
The presentation last night went really well. We had a steady stream of questions and there seemed to be general interest in the topic.
We talked about what Continuous Integration is and then I introduced a build configuration that I had pre-configured around a sample ASP.NET application. For some reason I couldn’t get the jabber notifications to work, but they had worked flawlessly before.
After talking with several people I’ve clarified a couple of points that will help the next time I present the talk, likely at the Iowa Code Camp. Thanks for all of the feedback and questions.
Here are the slides from the talk if you are interested.
Continuous Integration with TeamCity (and LiveMeeting)
Tomorrow I’m presenting “Continuous Integration with TeamCity” at CRineta. We’re starting off with the fundamentals of Continuous Integration and then we are going to configure TeamCity. We have an ASP.NET project in a Subversion repository that will be the subject of much of the demonstrations.
I love this topic and am excited to get to show this to the group.
We are also are going to broadcast this presentation over Live Meeting for the first time. Thanks to Josh Flory for getting this going and providing the Live Meeting account for our first run.
If you are interested in attending the Live Meeting, email me and I’ll hook you up. If you don’t have my email then contact me through the About page on my blog. Live Meeting will be a first for us, so there are no guarantees with the quality this time around.
By the way, if you are attending the (actual/physical) meeting remember that we are changing our location to Kirkwood. The directions are posted on CRineta.org.
Update: Here are the slides from the talk.
Google Page Rank Update
In January I posted about attempting to get the #1 spot for the name Chris Sutton. If you read the original post you’ll know that there is a retired but famous soccer player named Chris Sutton. His Wikipedia entry is sitting on top of the search page and is the only thing holding me back from the #1 position.
Getting #3 wasn’t too bad, #2 took a lot of time, but I think #1 is going to be exceedingly hard.
I’m skeptical if I can pull it off in 3 months, but the goal is still to knock him off the top by end of December.
jQuery and Microsoft – Ripple Effects
So a couple of days ago we received good and surprising news that jQuery would be bundled in the next version of Visual Studio and more immediately in ASP.NET MVC.
We are now seeing the ripple effects as DotNetNuke is deciding to add jQuery support into version 5 of their platform.
I hope to see more and more good come of this decision.
World’s simplest source code updater
Update: So, I’ll fess up and admit this wasn’t the simplest. Tim Barcz did this 1 (or 2 or 3) better and simplified the script with:
@ECHO OFF
FOR /D %%a IN (“*”) DO IF EXIST %%~dpa%%a\.svn svn update %%~dpa%%a
PAUSEI feel like I was trying to start a fire by hitting two rocks together and Tim walked in and pulled out a box of matches.
Many of the projects I watch are hosted on Subversion repositories. I’m tired of right clicking in each directory with TortoiseSVN and clicking “SVN Update.”
So I went the simplest route possible to automate updating source. I have this set of commands in a file called update.cmd. In the morning I double click it and I can see any updates from the previous day.
Of course, you need to adjust the directories and project names for the projects you watch.
rem this script expects svn to be in the path
cd witty
svn upcd ..\ironruby
svn upcd ..\subsonicproject
svn upcd ..\masstransit
svn upcd ..\spark
svn upcd ..\crineta
svn upcd ..\programmingmvc
svn upcd ..\codecampserver
svn upcd ..\coregallery
svn upcd ..\csla
svn uppause
Chrome
Wouldn’t it be ironic if Chrome wiped out Firefox’s market share, ended up with 10-20% of the market and relegated Firefox to an Opera-like status while everyone else stayed with Internet Explorer?
I like Firefox by the way, I want to see it thrive because of its extensions like firebug and its standards compliance.
In the late 90′s Internet Explorer soundly beat Netscape. Now Netscape’s descendant who has been working tirelessly to gain marketshare for several years could be in jeopardy.
Do you think Chrome poses a real threat to Firefox?
jQuery and ASP.NET MVC
I just saw Scott Hanselman’s announcement that jQuery is going to be packaged with ASP.NET MVC. If you haven’t already been using this Javascript library with ASP.NET development you are missing out on a great library.
For more about this announcement see Scott Guthrie’s post and John Resig’s post.
This doesn’t change anything for me as I’ve been using jQuery in my ASP.NET and ASP.NET MVC projects for about 8 months, but having it packaged in will bring much wider adoption to this library. I think there will be a lot of happier web developers because of this choice.
Looking Back at the MVC Pattern – Prologue
Looking back at original writings surrounding an idea is important when you are trying to take your understanding deeper.
My goal in this series is to draw attention to some of the original documents and highlight what people said about MVC in its inception.
It’s been noted before that naming a pattern is important. With the MVC pattern you really need to start with Trygve Reenskaug’s writings since he named and described MVC.
In my next post we’ll look at his original MVC paper called Thing-Model-View-Editor.
Please stop using Visual Source Safe
I’ve had this kind of error dozens of times in the last 8 years. Does this inspire confidence? If any other database that you work with corrupted itself this frequently and this drastically would you keep using that database?
If you answered ‘no’ in both cases (and I hope you did), then consider something better, stable and free like Subversion and TortoiseSVN. Or if you have the money and you need to stick with Microsoft technologies then consider Team Foundation Server. At a very minimum both of these options have atomic commits where Visual Source Safe does not.
This is a fraction of the error message by the way. I cut out 9/10 of the error message for brevity.
Visual SourceSafe Analyze Version 8.0
Copyright (C) Microsoft Corporation. All rights reserved.
Database analysis in progress @ 7/16/08;11:18a.
Unable to open file ‘\\nhdev\nhvss\data\G\GGBAAAAA’.
File “\\nhdev\nhvss\data\G\GGBAAAAA” not found
The project User references a child whose physical file (GGBAAAAA) is missing or corrupted.
Unable to open file ‘\\nhdev\nhvss\data\H\HGBAAAAA’.
File “\\nhdev\nhvss\data\H\HGBAAAAA” not found
The project User references a child whose physical file (HGBAAAAA) is missing or corrupted.
The file ‘web.config’ (LEBAAAAA) lists ‘ZDBAAAAA’ as its parent, but that file does not reference it as a child or is missing/corrupted.
The item ‘Registration’ (ZDBAAAAA) is orphaned and needs to be removed.
The item ‘User’ (WEBAAAAA) is orphaned and needs to be removed.
Analysis complete @ 7/16/08;11:19a
Potentially serious errors or inconsistencies were found: run ANALYZE -F to fix these problems.
To fix the database problems, you can restart the analyze using the following command:
“C:\Program Files\Microsoft Visual SourceSafe\analyze.exe” -F -V3 -D “\\nhdev\nhvss\data”
Update: If you are not the admin for VSS then you may not have seen these messages, but you see them fairly frequently if you are the admin.
Chat with Sarah – the future of automated help
PayPal has a virtual agent that is supposed to help field questions. Maybe it is helpful in some cases, but for a significant question it is useless. Here is the actual text from our “conversation.”
Sarah – PayPal :
Hello, I’m Sarah, and I’m here to answer questions you have about PayPal. Just type into the box below and click Submit to get started.
I’m in training now, so if I don’t know the answer to your PayPal question, I’ll try to learn it for next time!
You :
I forgot my password and I can’t get it reset, can you help me?
Sarah – PayPal :
If you have forgotten your PayPal login password, or if your password has been locked, you can reset your password by confirming your identity.
1. Visit the PayPal website at https://www.paypal.com/
2. Click the Forgot your Password? link.
3. Enter the email address you used to register.
4. Enter the code shown in the security text box.
4. Click Continue.
6. Confirm your account ownership and click Continue.
7. Confirm additional account information and click Continue.
8. Create a new password and click Submit. Anything else I can do to help you?
You :
I’ve already tried that.
Sarah – PayPal :
Ok, what’s your question?
You :
I already asked my question, you need to give a better answer.
Sarah – PayPal :
I was trained to give personalised answers, which sometimes means that I may have to ask a private question or two! If you think of anything else I can help you with, I’ll be here.
You :
Can you help me?
Sarah – PayPal :
As a virtual advisor I’m here to help you with questions about PayPal.
You :
Can I talk to a real person?
Sarah – PayPal :
I may be able to help with your request. However, if I can’t answer your question, you can visit the Help Center, or Contact Us.
You :
Do you know anything about Alan Turing?
Sarah – PayPal :
I don’t understand. If you think of anything else I can help you with, I’ll be here.
You :
That’s what I thought.
Sarah – PayPal :
If there’s anything else you’d like to ask me, I’m here 24-7 to answer any questions you might have.