Graffiti leakeage… a marketing “leak”?

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

My 2 cents…

Just saw the announcement of Telligent Graffiti CMS.

I don’t know why, but it feels so “marketing”… I don’t know if you’ve heared, but an employee of Telligent decided to record Scott W.’s internal presentation on a new product called Graffiti. When I saw it I only had 2 thoughs:

a) This is some scam, because noone in their right mind would loose a job over this (e.g. film it and show it on the company’s blog site)
b) Just another DotNetNuke / Joomla wannabe :)

Don’t get me wrong, Telligent guys are great and their Community Server is a GREAT product… but this is just too early in the product cycle to decide if it will be any good or a YAC (Yet Another CMS), and also if they chose to brake the news out like this… come one guys, you could have done it better :)


Cheers!


Filed under: General
Written on: 30 Aug 2007 · 1 Comment »

Would you refactor this? Refactoring post #2

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...


Today had a pair programming session with a fellow developer in my company.

He made a function like this:

private string _CreateHtmlTableRowForField(string fieldName, string fieldValue) {

string
output;

output += “
“;
output += “ “;
output += fieldName;
output += “

“;
output += “ “;
output += fieldValue;
output += “

“;
output += “

“;

return output;
}

Would you refactor this? Idea is that the structure of this HTML will probably never change (it’s a simple implementation of something for a small business problem).



Filed under: Refactoring
Written on: 27 Aug 2007 · No Comments »

Mending unclear code… Refactoring post #1.5

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...


So previously we had a function like this:

protected void FinalizeImportButton_Click(object sender, EventArgs e) {

if
(_IsNotImportStatus(ResponseImport.ImportStatusId, ResponseImportStatusEnum.Imported)) return;

ResponseImportServiceExtended responseImportService = new ResponseImportServiceExtended();
responseImportService.ChangeImportStatus(ImportId, (
long)ResponseImportStatusEnum
.Finalized);

Navigation.RedirectToUrl(SiteMap.ResponseImports.ImportsList, false);

}

Maybe it could be written a little bit clearer? Today when I see what I wrote, I definetly think so. Let’s see:

protected void FinalizeImportButton_Click(object sender, EventArgs e) {

if
(!_IsImportInImportedStatus(ResponseImport)) return;

ServiceLocator<ResponseImportServiceExtended>.ChangeStatusToFinalized(ResponseImport);

Navigation.RedirectToUrl(SiteMap.ResponseImports.ImportsList);

}

What do you think? Would you understand this a little bit easier and quicker?

Ofcourse this approach requires:
a) More customized functions
b) Service Locator

Which in return requires more complicated code, but for the sake of clarity and maintainability (e.g. Instantiating service would be done all in one place…) this would be a smarter approach I think.

Cheers!


Filed under: Refactoring
Written on: 27 Aug 2007 · No Comments »

MSCommunity ALLCommunity CodeCamp 2007!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

The cat is out of the bag…

MSCommunity ALLCommunity CodeCamp has been announced once more!


Here is the scoop in English:

http://codecamp.mscommunity.net/English/Overview.aspx

And in case you are a Croatian viewer, the complete site is in Croatian:

http://codecamp.mscommunity.net/


Do join us! More on the content and other neat things this year in future posts!

Cheers!


Filed under: CodeCamp
Written on: 26 Aug 2007 · No Comments »

SQL 2008 upcoming webcast for developers!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Just got an email from a colleague in MS about a webcast that could be very interesting.

It’s named: MSDN Webcast: Data Programmability and SQL Server 2008 (Level 200)

And you can sign up for it here:
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032347487&EventCategory=4&culture=en-US&CountryCode=US


Check it out! :)


Filed under: SQL
Written on: 23 Aug 2007 · No Comments »

Bought a new car!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Some great news!

I’ve ordered my first completly new car! It’s a black Ford Focus - picture to follow shortly!

Anyway it should arrive somewhere next week and I am suuuper excited! Wish me luck, as I see it - it should be a great car!



Filed under: Personal
Written on: 22 Aug 2007 · No Comments »

Educating developers… a moral dilema

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

A situation I encountered today. A developer was asking around how to compare two same tables by data and extract the rows which do not exist in each of them (left or right comparasment).

There are at least 2 ways I could have advised this developer to solve the problem:

a) Tell him how to write a SQL query to do this - this would be good for his knowledge, but bad for my and his timesheet because we are both in a time jam currently
b) Tell him to just use RedGate SQL Data Compare tool which does this out of the box - this is better solution short term, but does it criple the developer long term?

Both ways are good and bad, I must say I had a moral dilema about this. I feel it’s better to teach a man to fish, then feed him with a fish, but in a given moment I really didn’t have time to spend helping him?

Anyway, I advised RedGate, but a colleague had some more time then me and helped him to learn how to do this via SQL so it turned out to be best… although I am still questioning myself about it?



Filed under: Education
Written on: 20 Aug 2007 · 1 Comment »

Not writting clear code… Refactoring post #1

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Just caught myself (code which I wrote) reading something that is not clear as I though when I’ve written it a few months back:

protected void FinalizeImportButton_Click(object sender, EventArgs e) {

if
(_IsNotImportStatus(ResponseImport.ImportStatusId, ResponseImportStatusEnum.Imported)) return;

ResponseImportServiceExtended responseImportService = new ResponseImportServiceExtended();
responseImportService.ChangeImportStatus(ImportId, (
long)ResponseImportStatusEnum
.Finalized);

Navigation.RedirectToUrl(SiteMap.ResponseImports.ImportsList, false);

}

While I didn’t think of of it when I written it… today I see it’s not as clear as I thought it would be. What do you think? What does this code do?

I’ll write a followup post tommorow explaining how I would write it today :)



Filed under: Refactoring
Written on: 16 Aug 2007 · No Comments »

Great resource… free book about TFS!

1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Just got an email from a prudct manager from Microsoft.

Some introduction:

We just released the final version of the “Team Development with Team Foundation Server” Guide. This guide has been in beta for the last couple of months. This guide shows you how to get the most out of Team Foundation Server to help improve the effectiveness of your team-based software development. Whether you are already using Team Foundation Server or adopting from scratch, you’ll find guidance and insights you can tailor for your specific scenarios. It’s a collaborative effort between patterns & practices, Team System team members, and industry experts.

Part I, “Fundamentals,” gives you a quick overview of team development with Team Foundation Server. You’ll see the big picture in terms of your software development environment, including the development and test environment. You’ll also learn the basic architecture of Team Foundation Server.

Part II, “Source Control,” shows you how to structure your source code and manage dependencies. It also shows you how to determine a branching and merging strategy if you need isolation for your development efforts.

Part III, “Builds,” shows you how to set up team builds, how to produce continuous integration builds for your development team, and how to drop scheduled builds to your test team. It also discusses common problems and how to work around them.

Part IV, “Large Project Considerations,” show you additional considerations you need to deal with when working with large projects.

Part V, “Project Management,” shows you how to use Team Foundation Server work items, areas and iterations to streamline your development process regardless of what project management approach you use.

Part VI, “Process Templates,” shows you how to get the most out of the process templates and process guidance that is supplied with Team Foundation Server out of the box. It also shows how you can customize the process templates, and make modifications to work items and workflow to map to the software engineering process your team is already using.

Part VII, “Reporting,” shows you how all of the other Team Foundation Server components integrate their data store into a common reporting mechanism. You’ll learn how to use the default reports as well as how to build your own custom reports.

Part VIII, “Setting Up and Maintaining the Team Environment,” removes the mystery from Team Foundation Server deployment. You’ll learn how to choose between a single server and multiple server deployment. You’ll also learn how to support remote development teams and how to maximize Team Foundation Server performance.

Part IX, “Visual Studio 2008 Team Foundation Server”, shows the changes that are coming in the next version of Team Foundation Server. You’ll learn what new features are planned as well as what features are going to be significantly improved. Some of the changes impact the guidance we give elsewhere in this guide, so use this section to improve your Team Foundation Server upgrade planning.

This guide is available at: http://www.codeplex.com/TFSGuide. We will be making this available at MSDN as well.


So go ahead and get it now to learn even more about TFS!


Filed under: General, Interesting sites
Written on: 07 Aug 2007 · No Comments »