Web Design. Development. Optimization. RSS 2.0
 Tuesday, June 08, 2004

I blogged earlier about a great, new client I am currently working for. I have been here about a month (already?) and this project is really interesting to me. I am learning lots and lots of new things. I am biking to work every day, so the location is a definite bonus.

In addition, I am persuing my MCSD for .NET. I have an exam scheduled for one week from today, and I am confident I will be ready for it. I will make the final decision later this week whether to postpone it or not. But at this moment, I intend to study hard and take the exam on Tuesday.

Also, I have been getting a number of emails recently asking me to do some small programming side-projects. That's nice. I helped a client this past week fix a PHP site, and it looks like I might build a CMS site for him soon. xguru.com has had two or three other email requests for bids that might lead to some side work for me or another developer.

And today I was contacted by an editor at McGraw-Hill Osborne about possibly writing another book.

All in all, any complaints I had two weeks ago about having tons of free time and not enough to do are gone. It looks like I will be working 12 or more hours a day for the next two months!

By the way, is this a sign of something? Is there a boom going on in the economy, and people are slow to notice? There is definitely something up with all this work that is landing in my lap...

 

Tuesday, June 08, 2004 5:40:38 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
The Blogging Life
Del.icio.us Digg Technorati Blinklist Furl reddit

The list of large companies offering their customers RSS feeds: Amazon.com, Yahoo, Reuters, BBC, Washington Post, eBay, Time Magazine... and the list goes on and on.  RSS has hit critical mass.

Here's where I see this going... the next version of Outlook and Outlook Express will have built-in RSS newsreaders. The next version of Internet Explorer will have a built in XSLT transformation for the RSS XML so that it appears readable to users. The next version of MS Office will be able to save documents to RSS format.

Think of how the HTML format has been supported by Microsoft tools and technologies. RSS should follow the same path.

The problem with Atom is that it does not present me with anything new. RSS seems to provide me with everything I need in terms of RSS publishing and/or reading. What has Atom got to offer?

I think I will remove my Atom feed for now. I don't want to contribute to the pollution of a clean standard.

 

Tuesday, June 08, 2004 11:07:24 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
Technology | The Blogging Life
Del.icio.us Digg Technorati Blinklist Furl reddit
 Monday, June 07, 2004

This is a cool idea. I actually have an old Laptop lying around. I'm gonna investigate it a litte to see if I can do it.

From Robert Scoble (the Scobolizer):

Citizen Engineers: Build your own digital picture frame from an old laptop

I should have linked to this in an earlier post, but it's so cool that I think I'll call it out separately: Learn to build your own digital picture frame. That's part of a new feature we started on Channel9 named "Citizen Engineers."

 

Monday, June 07, 2004 1:09:48 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
Technology
Del.icio.us Digg Technorati Blinklist Furl reddit
 Friday, June 04, 2004

Some people debate the benefits of earning developer certifications. While they are obviously important in the Systems Engineer field, where MCSEs and Cicso certifications are often job prerequisites, the common wisdom for Developers seems to be that “what you have done” counts way more than simply “passing a certification exam”.

The anecdotal evidence gathered from my personal experience is overwhelmingly in favour of certification, as far as I'm concerned. I have been Microsoft certified for 6 years, and have:

  • landed at least one job where having an MCSD certification was a prerequisite to even apply;
  • gotten into the book industry on the back of my certification; and
  • found situations where interviewers/employers mention it favorably - “Ah, I see you're certified. That's good!”.

I am not out to convince people that everyone needs to become certified, or that certification is the Holy Grail that will allow you to find work faster and easier than anyone else. I just want to say that I, personally, find that Microsoft certification is one element that has helped drive my career forward.

(See Eric Sink's excellent article on Career Calculus, to understand the correlation between constant learning and career development.)


As some of you know, I have been maintaining a MCSD/MCAD Certification Wiki elsewhere on this site. As I gather info and links, I update the pages of the Wiki. Since I am currently studying for the 70-316 exam (officially called Developing and Implementing Windows-based Applications with Microsoft Visual C# .NET and Microsoft Visual Studio .NET), that is the section of the Wiki with the most information.


Some people study for an exam, and then wait until they are 100% ready to book it. I can't work like that. I prefer to book the exam the moment I decide to go for it, and schedule it for a date 3 or 4 weeks in the future. Then I study like crazy and take the exam. Booking the exam first gives me a definitive deadline to work towards, ensuring I devote the time necessary to pass. 

Of course, if I honestly felt I was not ready a few days before the scheduled exam date, I could always call Prometric and reschedule the test... there's no charge for that. I've had to do that once or twice when my work schedule did not permit me to take time off to study for or take the test.

 

Friday, June 04, 2004 4:07:46 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.NET | The Blogging Life
Del.icio.us Digg Technorati Blinklist Furl reddit
 Wednesday, June 02, 2004

God, I love this stuff.

So I sit down, and in less than an hour build a simple model-based testing program for my Rock Paper Scissors web service.

Basically, I start by defining all the valid states for my service.

private enum states
{
    Offline,
    ShakeHands,
    TakeTurn,
    ReceiveTurnFeedback,
    ReceiveGameFeedback
};

Then I create an array indicating all the valid state from-to combinations.

private states [] testorders =
    {states.Offline, states.ShakeHands,
    states.ShakeHands, states.TakeTurn,
    states.ShakeHands, states.ReceiveGameFeedback,
    states.TakeTurn, states.ReceiveTurnFeedback,
    states.ReceiveTurnFeedback, states.TakeTurn,
    states.ReceiveTurnFeedback, states.ReceiveGameFeedback,
    states.ReceiveGameFeedback, states.Offline};

So, taking the first line of the array above, if the rps service is currently offline, the only valid action would be to shake hands. If you have just shaken hands, you have two choices: you can either take a turn, or receive game feedback (close the game down).

The actual code is rather simple. If my RPS service were a professional application, I would improve this a bit. Basically, I keep track of the current state, loop through the array looking for all the possible actions, and then randomly take one.

// What can my next states be?
ptr = 0;
for (int j = 0; j < testorders.Length - 1; j += 2)
{
    if (testorders[j] == CurrentState)
    {
        // Add this to the list
        NextState[ptr++] = testorders[j+1];
    }
}

// Pick one
CurrentState = NextState[rndm.Next(0, ptr - 1)];

If I do this enough times, I will have tested every allowable combination of actions and states. And somehow there was a new allowable action, for instance, SayNiceGame(), I could add that to my states array easily enough.

Possible improvements to my application would include testing for exceptions, and handling them gracefully; keeping statistics about the number of tests run; calculating the percentages of each choice made (rock, paper and scissors)... You can start with a basic test model, and make it more complex as you have time.

Testing Web Service, v1.0 - C# Source Code

Testing Web Service, v1.0 - .NET Binary

 

Wednesday, June 02, 2004 12:54:08 AM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.NET | Demo Code
Del.icio.us Digg Technorati Blinklist Furl reddit
 Tuesday, June 01, 2004

Josh Ledgard points (through Nihit Kaul) to an excellent article on testing methodologies - well worth a read. Automated testing seems to be the new "hot" technology of 2004.

 

For Testers: Nihit Kaul Talks Up Model Based Testing

It was my belief as a test lead and is still my belief.  To test a product with any amount of interesting complexity you need to find good ways to reduce a reliance on manual processes.  If you test manually you need automation.  If you are writing a test plan you need to have a machine figure out the details.  If you start writing automation you need to reduce the cost of writing automation.  One way to reduce costs and start abstracting the testing problems is through model based testing.  Nihit has a good introduction article to the practice you should read. 

Internally we have gone so far as to write automation that abstracts Visual Studio, write a model that represents a feature, and have that model make calls to the automation. This reduces the cost of writing scripted automation.  Only a few teams have started doing this and I think it has a long way to go, but I would be surprised if the use of such practices don't take off quickly. 

 

Tuesday, June 01, 2004 11:49:50 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
.NET | Technology
Del.icio.us Digg Technorati Blinklist Furl reddit

I have written about Eric Sink on this blog a couple of times before, but it's time to do it again.

Eric runs a successful software company called SourceGear, who have a professional source control product called Vault. He writes a regular column for MSDN called the Business of Software, and on his personal blog is now posting his take on the 22 Immutable Laws of Marketing.

If you are at all interested in the business side of the software industry, read Eric Sink. As soon as possible.

 

Tuesday, June 01, 2004 10:54:59 PM (Eastern Daylight Time, UTC-04:00)  #    Comments [0] -
Business and Investing | Technology
Del.icio.us Digg Technorati Blinklist Furl reddit
Archive
<June 2004>
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Scott Duffy
Sign In
Statistics
Total Posts: 474
This Year: 34
This Month: 4
This Week: 0
Comments: 73
Themes
Pick a theme:
All Content © 2008, Scott Duffy
DasBlog theme 'Business' created by Christoph De Baene (delarou)