in

ASP.NET Weblogs

Sijin Joseph's blog

My experiences with .Net

Published by

Comments

 

sirshannon said:

it has very little source code in the article, no downloadable source code (that I could find) and the exe doesn't work for me after I install it. It can't seem to save any information without crashing, so every time I open it, it's just like the first time: a clean, empty program.
I thought it was nice too, until I used the thing and read the article.
April 1, 2003 8:00 PM
 

julie said:

wow!! Which part of the Himalayas will you be in?
April 4, 2003 7:49 PM
 

Jan Tielens said:

Hi Sijin,

I blogged a few times about my open source build tool project: Hippo.NET. Maybe you are intrested in it...

http://dotnetweblogs.com/Jan/posts/5588.aspx
http://hipponet.sourceforge.net/

Greetz
Jan
April 14, 2003 4:00 AM
 

Royo said:

I have " Applied .Net framework Programming " already. should i get this one or does it repeat the other?
April 14, 2003 2:18 PM
 

Sijin Joseph said:

Hi Jan,
I had already downloaded and tried Hippo.Net before posting this, forgot to mention it though, but i am thinking if i go in for a NAnt based solution then it's going to be a pain managing all inter project build dependencies. The only problem with BuildIt is that it fails to build sometimes even though it builds fine from the IDE i am going to give automation bases build solutions one more try and see how it goes. If that dosen't work Hippo.Net is going to be my first choice :):)
April 15, 2003 12:13 PM
 

Sijin Joseph said:

There is some overlap but some of the topics like object interception and contextx etc. don't even find a mention in Applied .Net Framework Programming, if you want to know about .Net internals this is a must buy book.
April 15, 2003 12:19 PM
 

Drew said:

FinalBuilder is terrific. We use it daily and it is so nice. The author is very responsive to queries and problems.
April 15, 2003 10:47 PM
 

Jim Arnold said:

We're currently working on getting CruiseControl.Net working smoothly in a VS.Net/Nant environment, so keep watching http://continuousintegration.net for updates.

Jim
April 15, 2003 11:29 PM
 

Cort said:

If you want to see something already done, using C#, Maverick.Net is an MVC framework for web applications. You can find information at http://mavnet.sourceforge.net/.

Cort
April 16, 2003 1:06 AM
 

TrackBack said:

Safari : heLP .Net Blog
May 2, 2003 6:46 AM
 

TrackBack said:

Online books : heLP .Net Blog
May 2, 2003 6:46 AM
 

Jeff Gonzalez said:

I cannot find the KB article, but we ran into the same thing. We ended up finding out that you cannot reference an assembly named Security.dll. It has no bearing on CAS at all though.
January 23, 2004 9:24 AM
 

Raymond Chen said:

That's because there'a a DLL in your System32 directory called "security.dll" - this is the one that is used to do SSPI.

The LoadLibrary documentation states that the application directory is searched before the system directory. This is by design so you can include your desired version of say the VB runtime without getting roached by somebody else installing VB N+1 into the system32 directory.

As for the security implications: When you install your program you shouldn't give everybody write permission into its directory.
January 23, 2004 11:15 AM
 

Sijin Joseph said:

I still have to see an application that write protects it's installation directory. I am talking about shrinwrapped software. With customized internal software maybe that is possible.

So does that mean that it is infact possible to replace security.dll with one's own implementation, i wonder what other libs can be replaced as such if possible. I am going to try and run security.dll thru ILDASM change it and see what works.
January 24, 2004 12:07 AM
 

Eric G. Harrison said:

We ran into exactly the same problem many moons ago. How many man-hours have been wasted hunting this problem down? The VS.NET IDE group should just prevent naming a dll Security!
January 26, 2004 2:35 PM
 

Scott said:

http://www.u-aizu.ac.jp/~tripp/punc.html

Here is what a quick Google of "space after punctuation" turned up for me. Ironically enough, it's a Japanese domain.

The reference book for English writing style and composition is the Strunk and White manual of style.

http://www.amazon.com/exec/obidos/tg/detail/-/020530902X/104-2278891-2544706?v=glance

That's interesting that you were never taught that rule. Perhaps we should send a crate load over to India for use in their colleges? :)
January 27, 2004 2:38 AM
 

Sijin Joseph said:

Great, Thanks. Btw i am sure they teach that in college, I was talking about in school. But anyways since English is not a native Indian language, although we are pretty good at it, I don't think the schools in India even teach such rules barring a few exceptions.
January 27, 2004 3:55 AM
 

Ricky Dhatt said:

The two space rule after sentence period is a relic from the typewriter-era. Only a single space is needed.

When googling for this type of thing use the phrase "style guide"
January 27, 2004 4:36 AM
 

SBC said:

January 28, 2004 10:33 AM
 

SBC said:

January 31, 2004 8:20 PM
 

TrackBack said:

February 12, 2004 8:26 PM
 

TrackBack said:

Reusable .NET Error Dialog
February 12, 2004 10:33 PM
 

TrackBack said:

February 13, 2004 3:24 AM
 

Stephane Rodriguez said:


Way to go. Subscribed!
February 13, 2004 8:42 AM
 

Darrell said:

CVSNT and TortoiseCVS and the proxy from PushOK actually take a little work to figure out, whereas Microsoft has integrated all 3 things into 1 easy to not understand install process. Then they flock to something like SourceGear's Vault just because it wraps these 3 things up into 1 again.
February 13, 2004 8:53 AM
 

Darrell said:

Oh yeah, and the general understanding of Configuration Mgmt practices, such as branching and independent code lines, is relatively low.
February 13, 2004 8:54 AM
 

AJ said:

Does CVSNT have any issues with spaces in filenames?
February 13, 2004 12:11 PM
 

TrackBack said:

February 13, 2004 1:00 PM
 

Sijin Joseph said:

I think the latest version of CVSNT does not have such issues. I have filenames with spaces and they seem to be working fine.
February 16, 2004 3:12 AM
 

TrackBack said:

February 18, 2004 10:41 PM
 

Kant said:

Thanks for the links. Those two components are excellent.

Kant
March 5, 2004 2:27 AM
 

Sijin Joseph said:

Hey Kant nice to see a fellow CPian :) :jig:
March 5, 2004 2:31 AM
 

Brent Ferree said:

I've been working with CVSNT and TortoiseCVS and the proxy from PushOK and VS.NET 2003. PushOK works but we've had to do some hacks to get it to work properly on the computers that did not add the solution to source control. We're primary working on asp.net apps. We've found that it's necessary to copy the source files including the CVS dir's to the other computers and get latest for everything to work properly because we can't get the open project from source control to successfull get a project and make it work. These projects are microsoft Asp.net content management server projects and i don't know if thats the difference or not but otherwise it appears to work. I just wish we didnt have to have a hack to make it work.

Has anyone else experienced anything similar?
March 23, 2004 6:58 PM
 

Anand said:

Well, there are tons of thing that the IL/CLR supports that is not exposed via the differnt languages. Global methods are one and so is, the "protected or internal" scope specifier.
March 25, 2004 2:41 AM
 

Frederic Gos said:

No. Why should I?
March 25, 2004 9:25 AM
 

Adam Weigert said:

I have the same question... :-\
March 25, 2004 9:32 AM
 

RohanD said:

What's the surprise? You are calling a public Property from a derived class. For that matter, I would be surprised if it didn't work. Waitasec, is this an *early* April Fool's joke?
March 25, 2004 10:48 AM
 

rajbk said:

The public property is accessible in your derived class. Even if you had

internal string Foo

it will still work.

March 25, 2004 4:39 PM
 

IM said:

Scary! This looks like a major security hole. Anyone can override a class and access it's public properties!

I wonder how long it'll take for this to be patched. I'm worried about the number of public properties I left dangling off the various classes I've written.

My god I just realised - you dont even need to override the class!!
March 26, 2004 5:49 AM
 

Sijin Joseph said:

Too much wine i think :D :D :D don't know what i was thinking when i posted that , i am still ROTFL. But the award for the comment that made me laugh the most goes to IM :D :D :D
March 28, 2004 8:08 AM
 

IM said:

Alcohol + Internet = NO! :-)
March 30, 2004 5:56 AM
 

CC said:


I thought the gmail one was for real ! Still do given that they also registered www.gmail.com
April 1, 2004 8:13 AM
 

Sijin Joseph said:

Yeah , I hope so too. :) we'll know tommorrow.
April 1, 2004 8:42 AM
 

Craig said:

Three errors --

BuildIncrementer(24): 'project' is a type and cannot be used as an expression.

BuildIncrementer(63): 'projectItem' is a type and cannot be used as an expression.

BuildIncrementer(127): Name 'sEPReplaceTextOptions' is not declared.
April 16, 2004 11:32 AM
 

Sijin Joseph said:

Hey Craig,

I get no errors when using this macro, are you sure you have "option stict on" in your macro code?
April 16, 2004 12:15 PM
 

Sijin Joseph said:

Also i think sEPReplaceTextOptions should be vsEPReplaceTextOptions
April 16, 2004 12:17 PM
 

Prasad Patnaik said:

Although Log4Net is very good tool and suppose to be the best tool for logging. but there are some draw backs for custom exceptions. I faced some thread errors while logging a web application. There are lot of scope of improvement I feel Mircosoft Exception Management Block with EIF is more efficient then Log4Net.
May 6, 2004 1:20 AM
 

Amit Goel said:

Hi When I am Trying to Buid the Solution
It is Generating the Log File AS Follows
it is giving Error in Building the in Project Debug and Release Mode

Can U Pls Tell me Why it is giving the Error
Any FeedBacks Shall eb Highly Apperiacted
Thanks and Regards
Amit Goel
amit.goel@wipro,com


============================================
Build Report Generated by BuildIt
=============================================
Build Number: 1
Build Start: 5/18/2004 2:49:43 PM
Build End: 5/18/2004 2:51:23 PM
Build Duration: 1 minute(s)
Archive Folder: C:\Inetpub\wwwroot\BuildIT\Archive\1\
Latest Folder: C:\Inetpub\wwwroot\BuildIT\Latest\
Build Results: 0 succeeded, 1 failed

=============================================
Succeeded
=============================================

=============================================
Failed
=============================================
C:\Inetpub\wwwroot\BuildIT\SSM_Phase2.sln

May 18, 2004 9:15 AM
 

Sijin Joseph said:

Well not enough niformation in there to resolve your problem, a couple of tips

1. Make sure all the solutions build in Debug and Release mode from within the IDE itself.

2. Double check your config file settings.

3. Another useful trick is to run BuildIt from the debugger and trace the exception that is occuring, then you will know if the build is failing because of some problem in your source code or some configuration problem with buildIt.

Also i think there is an option to enable verbsoe logging while using buildIt, try turning it on and see if it sheds more light on your problem.
May 19, 2004 12:04 AM
 

TrackBack said:

May 27, 2004 4:22 PM
 

Randy Charles Morin said:

Cool!
June 14, 2004 10:44 AM
 

Nassir said:

Good free components
June 15, 2004 7:09 AM
 

TrackBack said:

It'll conflict with DLL in your System32 directory.
July 2, 2004 12:02 AM
 

Michael Giagnocavo said:

"I still have to see an application that write protects it's installation directory." -- hmm, everything in my Program Files directory is read-only to users. At any rate, what's the issue in doing that for shrinkwrapped software?
July 2, 2004 11:53 AM
 

Wesner Moise said:

Interface are always reference types. When a valuetype is casted to an interface, a boxed type is created and referenced. An interface method that causes a side effect only changes the boxed version, not the original struct.

Note that ValueType and Enum classes are also actually reference types. A variable of either of these two types hold a reference to a boxed struct.

Forexample, with ValueType value = 1, value is a reference type.

One other interesting case, it isn't possible to modify a boxed struct in C# (C++/CLI does allow) directly. A direct call requires the boxed struct to be unboxed, causing a copy. Interface calls are required to changed the original data. Hence, the standard C# value types have immutable boxed value.
July 5, 2004 9:10 AM
 

oleg@tkachenko.com (Oleg Tkachenko) said:

No, interfaces are always reference types. You forgot about boxing/unboxing.
See http://msdn.microsoft.com/library/en-us/dncscol/html/csharp02152001.asp?frame=true
July 5, 2004 9:11 AM
 

Sijin Joseph said:

Hey guys,
Thanks for the heads up. Yeah i really forgot about the whole boxing thing.
July 5, 2004 9:35 AM
 

Eric Newton said:

quote: "Alcohol + Internet = NO! :-)"

::agrees::
July 5, 2004 12:34 PM
 

Eric Newton said:

Just try getting two spaces after every period in HTML: surprise! whitespace is collected into a single char.
July 5, 2004 12:50 PM
 

Paul Coddington said:

Michael Giagnocavo wrote: "At any rate, what's the issue in doing that for shrinkwrapped software?"

Sadly, because a lot of shrinkwrapped software still lives (in the minds of their developers) in the pre-multi-user era (circa 1995) of using INI files, and keeping data stores in the program installation directory.

Most of the multimedia applications I have tried are like this, even big name companies. Some throw the dummy if users have not got write access to the INI files even when nothing is being written to them.

Most people don't worry about it because they are happy to run as Administrators, but try and set up your machine at home to be secure with a seperate account for each user with child accounts restricted and you'll find the number one barrier to achieving a secure system with independant settings and working folders for each user will be the third party programs that believe doing things properly* is the "Microsoft way" and therefore should be avoided. Some Microsoft products are guilty of this as well, of course.

Sadly, the made for Windows logo is not a lot of help when you have a task for which no major programs qualify and no-one is forced to meet the standards.

*By this, I mean "when in Rome...". If you write a program to run on Linux, do it the Linux way, but on Windows do it the Windows way. There are proper ways that match the conventions for each OS.
July 5, 2004 11:01 PM
 

Justin Lovell said:

That is funny. I also ran across that site in one of my searches yesterday.
July 12, 2004 8:48 AM
 

rizzo said:

why go to a site, when you can generate them yourself so much faster.

http://www.vbrad.com/source/tip_conn_str.htm
July 12, 2004 1:10 PM
 

jeremy said:

yournameis
July 17, 2004 11:13 PM
 

matthew said:

don't use it. It has bugs which have not been fixed for 2 years. It is not being maintained. Check the bug tracker. There are fixes for bugs posted by users 18 months ago, and the source code has not been checked in.

Just another dead project.
July 20, 2004 7:50 AM
 

Paul Gielens said:

I'm using it on my current project and thus far haven't experienced any bugs of significance.
July 20, 2004 9:15 AM
 

TrackBack said:

August 24, 2004 8:15 PM
 

TrackBack said:

.Netscapades - Adventures of an Independent Software Developer » Quick Reference : Base64 and UUEncode
September 1, 2004 10:34 PM
 

Jeff Atwood said:

I read this and now I'm afraid I may never have sex with a woman again.
September 13, 2004 8:29 PM
 

Jason Reis said:

Great links. Thanks for sharing.
September 14, 2004 9:08 AM
 

Jamie Cansdale said:

October 12, 2004 6:46 AM
 

Bryce said:

There is also the solution task in NAnt itself so you don't have to convert the .sln file to a NAnt build script. You can just point NAnt to the solution file itself.

http://nant.sourceforge.net/nightly/help/tasks/solution.html
October 13, 2004 3:16 AM
 

Wallym said:

Congratulations!
January 6, 2005 12:46 AM
 

joeycalisay said:

congrats!
January 9, 2005 9:12 PM
 

Saurabh Verma said:

Sounds Great...
January 16, 2005 11:36 PM
 

Samuel Jack said:

I've faced this same problem, and I have been told that it is by design. I've not been able to find an elegant way around this - it seems that it is a design bug. I've opened a suggestion on MS Product Feedback Center that they review and correct this. You can vote for it here if you want: http://lab.msdn.microsoft.com/ProductFeedback/viewfeedback.aspx?feedbackid=90c370c2-b82d-4a97-bfce-4a5ee5986337

January 20, 2005 11:50 AM
 

TrackBack said:

February 14, 2005 8:45 PM
 

TrackBack said:

February 14, 2005 8:45 PM
 

Scott Galloway said:

Wow that's a good tutorial! Pretty much covers everything to do with XmlSerialization!
February 15, 2005 6:49 AM
 

Wim said:

I assume that's the same article as it can be accessed here (and requires no registration):

http://www.ddj.com/documents/s=9211/ddj050201dnn/
February 17, 2005 6:26 AM
 

Christophe Lauer [MS] said:

Patrick is also the author of a book about .NET published by O'Reilly. Sorry, the book is only avalable in French :)
http://smacchia.chez.tiscali.fr/en/Livres.html
February 23, 2005 2:59 AM
 

Daniel Auger said:

March 3, 2005 11:35 AM
 

TrackBack said:

Ping Back来自:blog.csdn.net
March 23, 2005 1:05 AM
 

Ron Krauter said:


Thanks a lot for posting this article..
March 23, 2005 9:19 AM
 

LicenseWizard said:

What's the license like for this stuff? Is it PD?
March 25, 2005 1:56 PM
 

Sijin Joseph said:

Yeah you're free to use it in any way you want. :)
March 25, 2005 2:02 PM
 

TrackBack said:

March 30, 2005 12:47 AM
 

Nicholas said:

I doubt that our vocation will standardize to such an extent that the process will have the complexity of bridging loosely coupled objects - the occupation is not immutable; imagine if this were the assumption in COBOL's reign "one day we will have sufficient COBOL routines that the industry will be little more than putting these pieces together..."

Never happened.

Also to them who question the high salaries of programmers; well, coding a color and alpha channel transform in an object oriented application with C# and then extending over to a few others as C++, JS, CSS, PERL before finishing in ActionScript requires more intelligence than the professions of them who complain about our high pay. So sorry we STUDIED in school!
March 30, 2005 11:14 AM
 

Sahil Malik said:

Software is in one manner tougher than construction. In software the building is in your heads, and in many cases way more complex than an average townhouse.

That creates interesting challenges for us software developers in communicating with people who are not software developers.

And that skill of holding a skyscraper in your head, and describing every brick's details to someone blind, without overwhelming him - is what we do, and we always will be paid a little bit extra for.
March 30, 2005 11:40 AM
 

Alex said:

COnstruction people don't get paid high because it's not up to them whenever or not there are bugs in buildings... Architects are the people who do the thinking and get paid ridiculous money for that. Constructions workers are just bees.

Besides, buildings do have bugs... whenever your elivator breaks down, or hot water suddenly gets cold... Same goes for bad design... whenever you have a bearing wall right smack in the middle of your appartment, or you have terrible piping...

I think it's all quite alike... people who do the thinking get paid alot more than people who execute that thinking.
March 30, 2005 1:15 PM
 

Stefano Demiliani said:

Paied so much? Maybe in USA... in Italy there are to much consultant company that don't pay so much for a developer.
March 30, 2005 2:35 PM
 

foobar said:

Uh, construction people do get paid lots of money. I know lots of people who build houses that make 6 digits.
March 30, 2005 2:48 PM
 

Dean Harding said:

I think it's the other way around: there's bugs galore in most buildings but one bug in an app is something that *must* be fixed or people get angry.

Buildings are a myriad of cracks and not-quite-square walls, a missing bolt here, too much liquid nails there. Building engineers can live with it, because they can simply over-engineer other parts to compensate. Like you build the foundations a few metres deeper than actually needed so that imperfections in the ground don't tumble the whole building.
March 30, 2005 7:27 PM
 

TrackBack said:

^_^,Pretty Good!
April 9, 2005 8:53 PM
 

TrackBack said:

^_^,Pretty Good!
April 9, 2005 8:53 PM
 

TrackBack said:

^_^,Pretty Good!
April 9, 2005 8:53 PM
 

Anon. said:

In one word...

Immature.


The software industry just like any other new technology is currently immature, 20 years ago there was no demand whatsoever in the general business market. Now with desktops everywhere that has changed - with the advent of the internet we all know what happened with India.

The biggest hoodwink at present is purported by the software sales industry - it is those guys/girls who are winning the money that pays your wages and they're taking home even more ;-)
April 20, 2005 12:19 AM
 

Maria Guitierez said:

how much do you get paid an hour? whats the total for one year?
April 27, 2005 4:15 PM
 

Greg said:

Very cool. And great timing... I was JUST about to have to do this very thing (query a MDB for tables/etc) today or tomorrow.

Thanks for posting it!
May 3, 2005 1:10 PM
 

Javier Luna said:

I believe that any DataLayer must be a simple code block, that they allow operations against DB.

That code block would not have to know on the Business Entities. Single to specialize it is to execute the operations (Store Procedures and SQL Sentences) against the engine DB (SQL, Oracle, DB2, etc.), with which this setting.

Finally, I invite to you to download the DataLayer.Primitives Public Version.

This is very cool Data Layer :)

DataLayer.Primitives - Readme!
http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=1389

Cheers,

Javier Luna
http://guydotnetxmlwebservices.blogspot.com/
May 26, 2005 11:30 PM
 

Jim Arnold said:

"The only negative trait in his personality is I think his arrogance (I didn't interact with him much at all but that's what I got from what little I did)"

You're not the first to say that, but I think you should read:

http://martinfowler.com/bliki/PedestalPhobia.html

I work for ThoughtWorks and have only met him a couple of times, but he's definitely a Good Guy .

Jim
April 24, 2006 6:17 PM
 

Ward Bekker said:

Ok, I'll bite ;-)

One of the laws of nature is that things change. Like all people, managers experience this law every day. You argue that managers should be paid more because they have to cope with a much bigger amount of uncertainty/change. Because you are a manager, and might you want to rationalize your recent paycheck increase I understand you are looking for supporting arguments. I, however, do not agree with this argument, because uncertainty is also a very big friend of the programmer. Complete methodologies like Extreme Programming are created to cope with constant changes in requirements. A 3rd party module doesn't fit the bill, but you forced from above to use it. Computers crash. Someone borked a server you use for development, etc.

A big part of the rational behind the amount on the paycheck of the manager and the programmer is about how smart/good they are in solving their set of issues. Experience helps, so does intelligence. The other part is responsability. Yes, some managers have big responsabilities, but also do software architects. Do you know how costly a bad decision of a software architect can be? You need people you trust to handle big responsibilities. If you develiver every time, that trust should be reflected by your paycheck.

Don't let arrogance color your arguments. If you do you work good and get paid accordingly, great for you! Management may feel more difficult for you than programming, please don't assume that true for everybody.

Regards,

Ward Bekker






May 2, 2006 8:00 AM
 

Hector Correa said:

> As you can see it's making computers do
> what you want that is a walk in the park
> compared to people programming.

A few years ago I read somewhere how difficult it was for programmers to interact with people after spending 8 hrs with a computer that does exactly what you ask it to and does not question the request.

I am not sure how true it is (and I cannot remember the source) but there are days where I can relate to that article :)
May 2, 2006 10:43 AM
 

Robert Porter said:

Actually it has been my experience, with one notable exception, that managers get paid less than developers.

I am sure you could make a case either way, but my own 20 odd years of experience doing both has taught me that managing people and projects, while difficult and potentially complex, is no where near the complexity of most development.

Another issue is that comes to mind is risk. If a manager makes a bad decision a project may come in late, if a programmer makes a bad decision it could cost the company dearly.

Again, I know you could give me examples of the opposite case. But remember we are not talking high end management but we are talking I assume senior developers.

Anyway, thats my two cents, for what it's worth.

Cheers,

Bob
May 2, 2006 7:10 PM
 

Anonymous said:

If you think those were "stupid" questions, why not post it on the blog?
May 7, 2006 6:00 AM
 

Thomas Jaeger said:

I completely disagree. Managers should get paid less; in fact, a lot less. In my 15 years of professional experience as Software Architect and Senior Developer, there is nothing more uncertain than the meeting the business requirements of the users or the expectations of users in a commercial shrink-warp software. I’ve managed some developers before and it is a lot less complicated then delivering an overall solution that meets or exceeds the users’ expectations. Granted, it also depends on being able to utilize highly-skilled and experienced developers. I’m talking about Senior Developers or Guru Developers, not College grads or offshore-outsourced developers. But, a highly-skilled AND experienced developer should be paid a lot more than a manager because at the end of the day, the developer will be the one who delivers the product and not the manager. The developer is the one who actually “creates” and not the manager. You can’t have management and no developers (even it is outsourced to a cheap, low-quality offshore site). But, you can (not that you should) have developers without management. I could go into a lore more detail; but, that’s for another time...
May 8, 2006 1:33 PM
 

Sergei N. said:

well, you just walked to the dark side and kissed their asses already.
May 8, 2006 2:10 PM
 

Neil said:

I disagree.

Managers earn more due to: 1. Citizenship 2. Relationship to the stakeholders.

As we all know, many coders are H1-B indentured servant-types. (yes, there are H1-B PM's, but very few). The h1-B program has driven rates, thereby wages, down considerably. (argue-away, I'm in my 23rd year in this business and my rate is at my 1990 rate).

2. Managers are exposed to the people who write, or a close to those who write, the checks. Schmoozing = Money.

I own a small, 30-person consulting shop. I am a developer, manager and owner. I find the project management component of the business far, far less taxing than the actual development. I also pay my developers and managers the same; architects more than all others.
May 8, 2006 2:45 PM
 

Duane Fields said:

Managers get paid more simply because there are less people willing and able to perform this role. It's supply and demand. Many, many good programmers that I know would make horrible managers, and many more have zero desire to play in this role. It's much easier to worry about yourself than everyone else.
May 8, 2006 5:13 PM
 

piers7 said:

No, that's simplistic. What actually matters is Supply and Demand, that is:

- How easy it is to get management at a given level vs programmers at a given level

Depending on what kind of project you're working on, you may want to alter the spend ratio between development and management based on where the risks are, but you can't buck the market rate (well, you can of course, and people do all the time, normally with sub-optimal consiquences)

Additionally, if your project is sufficiently large/technical that your management needs to have a lot of technical experience then you might find yourself having to employ / promote an (ex)programmer as the manager. At this point the supply/demand economics *demand* that the manager is paid more - or they'd (presumably) go back to coding.

How much 'harder' managment is than development doesn't matter - all that matters is the availability of people to do the task. This is affected by 'hardness' (less people can do it), but also by other factors (like whether colleges are pooring out middle managers rather than developers, and skills-transferability etc...)
May 8, 2006 9:29 PM
 

Greg said:

It's interesting that managers get paid more than developers. How come it doesn't work that way in sports? Why doesn't the coach of a sports team make more than the players?
May 9, 2006 12:45 AM
 

savaged said:

If it is management of people itself that is more demanding then shouldn't the salary be the same for someone managing people in another field? For example should the individual managing six developers earn the same money as a foreman managing six builders?
May 9, 2006 7:11 AM
 

David Dossot said:

I think the traditional explanation is that managers have more responsibility so they must have a bigger salary.

Interestingly, having more responsibility does not mean that your mind is more occupied. I have occupied various positions from programmer to director (I have sinusoidal career path ;-) and I can tell you that I have more concerns and bad nights when I deal with complex programming tasks than with complex managerial ones. I also find easier to "leave my concerns at work" when these concerns are related to management rather than when they are related to programming.

So, hey, programmers should get more bucks because they are more worried!

More seriously, the salary gap is also due to prejudices in career paths and the fact that the ones who ask others to do are more regarded than the ones who do. I tried to write a paper on this, some times ago: http://perso.wanadoo.fr/lothar/datastore/TooSkilledForProgramming.pdf

Finally, the trick is in fact to cumulate activities: programmer, manager, mentor... in order to get the salary of one and the fun of others!
May 9, 2006 8:11 AM
 

Jason brown said:

How many of us programmers would respond well to a manager attempting to direct us in our work environment knowing that said manager was earning for example, £10k less than we were. Logical or not salaries are often based on seniority of title rather than seniority of intellect.

The company I work for uses ex programmers as development managers and it works very well. There is a salary uplift because the managers have to deal with staff higher up in the chain of command and they carry personal responsibility for the success / failure of the project they work on. The basic premise is that if you haven't managed your team well enough to deliver when agreed then you are in the wrong position.
May 9, 2006 10:50 AM
 

ashutosh - programmer. said:

well i want ot keep it simple,
its all abt ResponsibilitieS, a manager has much more higher responsibility than a programmer, he has his neck on the entire project and not a part of the project like a module or so. he has to manage the project as well as the people, and see to that programmers do their job properly and in time. he is responsible to deliver for the project and not the programmer. But he has to make sure tht the programmer does his part properly.
he has to make critical decisions, not like programmers who's decisions are often guided by senior ppl (critical ones that is).

bottom line
With great Pays, comes greater Responsibilities. (or the other way round)

(ok some part of it was from Spiderman movie.)

Regards,
ASD.

May 9, 2006 11:40 AM
 

ashutosh - programmer. said:

well i want ot keep it simple,
its all abt ResponsibilitieS, a manager has much more higher responsibility than a programmer, he has his neck on the entire project and not a part of the project like a module or so. he has to manage the project as well as the people, and see to that programmers do their job properly and in time. he is responsible to deliver for the project and not the programmer. But he has to make sure tht the programmer does his part properly. he has to make critical decisions, not like programmers who's decisions are often guided by senior ppl (critical ones that is).

bottom line
With great Pays, comes greater Responsibilities. (or the other way round)

(ok some part of it was from Spiderman movie.)

Regards,
ASD.

May 9, 2006 11:44 AM
 

Stefan Didak said:

I believe managers should be paid for what they are worth, not simply because they are filling a seat with an associated title.

In my days since the late 80's I've seen managers who didn't have a clue about anything as well as managers who were good at managing resources but lacked the technical experience to properly relate to the tasks their teams needed to perform. A lot of managers are often not worth as much as the developers they are required to "lead".

However, there are also managers who come from a technical background, have been developers for a very long time, keep their technical expertise at a current level and happen to have the additional skills that allows them the capacity to efficiently lead a team of developers. Someone like myself, who has been doing C/C++ since the mid-80s and has additional skills beyond solving the technical tasks. Why should we be paid less than a developer if our experience and effort goes beyond that of other managers in similar or identical roles that do not have the same background?

In other words, managers should not be paid more than developers just because of the job-req but because of what they bring to the table and the team.
May 9, 2006 5:23 PM
 

Ron Cousineau said:

I have read all entries and some of you make very good points. I am PMP certified (which really does mean something unlike CNA and other less rigourous certifications) and would like to make one thing clear.

If you are a developer and are discontent with your rate, please take on a manager role and the accountability that goes with it to earn bigger bucks. You will most likely revert to full-time programming because you won't last very long in the political arena.

I hear the same argument from full time Federal employees (FTEs)stating that contractors make far too much money...

Yet, here I sit waiting for my contract to be signed after 3 weeks of outage in a single income family. They are literally holding me hostage and don't get me started on sick leave, stress leave, pension, holidays, bereavement, child care leave, training, short/long term disability, hospital, dental, travel expenses, blah blah blah
May 9, 2006 10:44 PM
 

Jitesh said:

Hmm.. Interesting article. My thoughts.

Managers should be payed more than programmers. I disagree.

Reasons:
Most of the managers neither manage people not manage projects. When I say most I mean 80%. In most companies today, managers are people with 5-12 years of programming experience . Out of these, probably the early managers do exhibit their managerial skills. But the later managers, i.e. those with 8-12 years of pre-management experience are managers simply because the company needed to retain them.

Programmerrs should be payed more than Managers. I disagree.

Reasons:
- In most companies programmers do not interact with the client for whatever reasons.
- A programmer is not concerned of retaining his team after the annual appraisals.
- A programmer is not concerned with implementing initiatives like KM, best practices within the team. He may do it for himself though.
- A programmer is not concerned with maintaining relationship with the clients, to get more work.
- A programmer does not have monetory budget worries.

And last of all but not the least, a programmer does not have to make unrealistic commitments to his client ;)

This does throw up a few open questions:-
1. Is there a need to change the way people are promoted as managers?
2. Should managers be MBA's with only knowledge to manager?
3. Should RA, Estimation be best left to Architects/Programmers?
4. Should mangers come in only when the project actually starts?

Think aloud.

Cheers!
May 10, 2006 12:38 AM
 

Meither manager nor a programmer said:

OOPS...u kicked a whole bread of perceived intellect under the belt....It pains, really.

One R (Reasons) is not enough to understand why, but RRR (Responsibilities/Risk/Resurance) should be the way to go.

Though managers do not work as much as the programmers do, they do carry the RRR for a community (a bunch/group/mob) of developors.

In complex project environment, the managers do need to understand a veriety of complex technologies and make a decision as to what to choose and why ? Programmers simply write to accomplish the tasks assigned.

Anyway, the truth is "One who can create/cope-up higher pain and stress in one's ass, gets paid more".
May 10, 2006 2:50 AM
 

gw said:

It's pretty simple. It comes down to supply and demand. Programmers these days are a dime a dozen compared to the period in time when we were paid better. Once you have a field that pays well you'll see university enrollment for that field skyrocket, which is what happened to computer science. People that have the skills along with the software knowledge necessary for software development are short in supply.

Sports athletes are higher in demand but shorter in supply than coaches. The star players are what draw people to the games, not the coaches. Programmers don't bring buyers because the end users don't know about us.
May 10, 2006 1:37 PM
 

Dean Harding said:

> This video shows how you can get "system" level access very easily on a WinXp box. Looks totally possible. > The basic crux is that we run a scheduled task that launches command prompt, since scheduler is run by > the system account, we get a command prompt that is owned by system!! The "AT" command that they use can only be run by administrators. The SYSTEM account doesn't *really* get any more privilege than Administrator, contrary to what the video says, because the Administrator has permission to configure services which run as SYSTEM anyway. Basically, for that video to work, their "passive" user would have had to be a member of the Administrators local group.
August 1, 2006 1:09 AM
 

John said:

Very useful. I thank you, Sijin. One suggestion for improvement, change If (txtrgs.Count > 1) Then build = txtrgs.Item(2) ElseIf txtrgs.Count > 2 Then revision = txtrgs.Item(3) End If to If (txtrgs.Count > 1) Then build = txtrgs.Item(2) If txtrgs.Count > 2 Then revision = txtrgs.Item(3) End If End If so revision won't always be Nothing. Also, I am calling this from BuildEvents_OnBuildBegin so my numbers checked into SourceSafe and those in my built files will match.
August 10, 2006 7:39 PM
 

foobar said:

The most common reason to use Interfaces is to mete out functionality so that the functionality doesn't need to follow a class hierarchy. This represents about 90% of my interface usage. The other 10% are as marker interfaces and as nouns. There's no point in making something like an "IDog" interface. An "IWalk" interface would be more useful. If the interface word isn't a verb, seriously reconsider why you're making an interface.
October 25, 2006 12:27 PM
 

Wictor said:

I agree mostly, but I think that the interface design is a good way to design applications when you have a similarity in classes. For example, when you are making your application open to plugins etc. But as you say, one should not start with an interface, you should start with a pen and paper :-) and from that derive your needs for an interface based design. Just my two cents /WW
October 25, 2006 12:53 PM
 

FransBouma said:

I disagree. I most often start with an interface IF I want to use interfaces for that type, then implement it. You see: the interface is a type definition, not a type implementation, so if you define types first, you can think through the application without actually building it.

It has been very successful to me :)

(and of course, agile-fanatics disagree with me, as refactoring sucks with interfaces but IMHO: who cares what agile-fanatics say).

Interfaces are essential for multiple-type inheritance, and therefore are an essential element in your class model in a single-implementation inheritance environment like .NET.

October 25, 2006 2:27 PM
 

Joe said:

> Always program to an interface not an implementation > it's never a good idea to start with an interface Both are wrong of course.
October 25, 2006 3:02 PM
 

Mike Diehl's WebLog said:

I've been re-reading this post from Sikin Joseph for most of the afternoon....I got it into my head

October 25, 2006 4:39 PM
 

CodeSniper said:

The most common cause for such Interface rigidity discussed above is when developers create an interface that mirrors your type (much like many COM interfaces), rather than using interfaces to enforce a contract.

Avoid doing this:

public class Foo : IFoo

{

 public DoFoo()

 {

   ...

 }

 public DoBar()

 {

   ...

 }

}

And try something more like:

public class Foo : IFooable, IBarable

{

 public DoFoo()

 {

   ...

 }

 public DoBar()

 {

   ...

 }

}

Where IFooable & IBarable each enforce single finite bits of behavior.  IFooable => DoFoo() and IBarable => DoBar()

That way, when you need to add a new feature or want to refactor, you can simply add your functionality (with an interface or not)) without affecting the existing interfaces.  Alternatively, you might decide that your class violates the single responsibility principal and do an extract class refactor so that the IFooable and IBarable behaviors are separate.  

Keep in mind that each interface doesnt "define" your whole class, it simply defines a contract that your class must minimally enforce.

~Lance

October 25, 2006 4:43 PM
 

Arnon Rotem-Gal-Oz said:

I agree with Frans Bouma Sure using Interfaces just because you think one day you'd might want to extend them is not a good reason However, Interfaces are essential for other purposes For example, Using interfaces you can mock non-existing (yet) classes and enhance the unit tests. Another example for using Interfaces is to increase loose coupling (e.g. by techniques like dependency injection - take a look at Spring.net) etc. Arnon
October 26, 2006 5:58 AM
 

Chris McKenzie said:

The "Program to an interface, not an implementation" does not necessarily mean to program to an "Interface" as defined in .NET--it could just as easily mean to program to an interface defined (but not fully implemented) in an abstract class. It does not always make sense to "start with an Interface." I personally find it useful to interface all of my outward facing objects. The key here is to distinguish from that which is visible to external assemblies, an that which is not. Try to make those objects Interfaces or Abstract Classes. As an example, I would create an IEmployee interface, a simple Employee implementation class, and then create an EmployeeEditor Control that also implements the IEmployee interface. Then I would create an IEmployeeDB Interface that stores and retrieves IEmployee objects to and from a datasource. I would implement IEmployeeDB for each datasource that I would use (usually XML and Sql Server)--but leave the application architecture open to other data sources.
October 26, 2006 9:19 AM
 

BlinkingMind said:

never is a too extremist an approach on this. For instance,in the case highly collaborative projects that may be spread across countries, the interfaces serve to define the common language for the programmers, testers, DB team, UI team and also is a very good way of documenting your design. The point that does raise a strong case against interfaces is "Starting with an interface on inward facing code means... "; inward being the key word here. But then, interfaces in such situations are unnecessary anyway.
October 26, 2006 4:29 PM
 

AddressOf.com said:

Sijin Joseph pointed out a pretty nice example of a reusable error dialog that Jason Bock put together.

November 3, 2006 10:36 PM
 

Srinivas said:

This really worked for me
November 11, 2006 12:18 PM
 

Srinivas kandhagatla said:

This really worked for me
November 11, 2006 12:18 PM
 

Manager said:

I have thought for a long time that the only profession more arrogant than Medical Doctor was IT, specifically programmers.  The response to Mr. Joseph's blog continues to confirm my suspicions.  A recent cultural example:  The CDW commercials showing just how stupid everyone else in the organization is, as the "wily and brilliant" systems guy manipulates them, is a perfect example of the contempt that IT professionals have for those who don't speak their language. The ignorance displayed in these responses as to the value of managing an organization, never ceases to amaze me.  

I have always marvelled at the creativity and craft needed for good systems design and creation.  I have seen little reciprocation or appreciation of the skills required to effectively manage subordinates, superiors, customers (inside or oustide) and peers.  In fact, most IT professionals, if they were to admit it in their heart of hearts, are incapable of the human communication skills required to (among many other things): a), balance the needs of employees, company and shareholders b), counsel and develop/discipline employees c), sell concepts to allign support for strategic movement, or d), Even speak to a group!

Mr. Joseph has the gravitas to speak to the value of both contributors to an organization.  Most of the respondants to his blog do not.  There is nothing easier in the world to do than to criticize leadership.  And nothing more arrogant and ignorant than dismissing what you don't understand.

November 14, 2006 9:43 AM
 

Jenny Daniter said:

how much do architects get paid an hour?

January 10, 2007 7:15 PM
 

Himanshu Baiswar said:

Thats really very good article for beginners.

March 9, 2007 1:48 AM
 

Oege de Moor said:

If you liked NDepend and its code query language, be sure to also check out .QL, an object-oriented code query language developed by Semmle:

http://semmle.com

.QL is object-oriented, and that makes it very flexible: you get better content-assist, shorter and more intuitive queries, and thanks to overriding it is easy to tailor existing queries to new needs. For now it's available only in Eclipse for Java, but if there's sufficient interest, a .NET version is around the corner.

We'd love to hear what you think of it; post on the forums at http://semmle.com, or just email me at oege@semmle.com.

[Disclosure: I am a prof in computer science at Oxford, and the CEO of Semmle]

April 5, 2007 10:20 AM
 

Senior Developer / Project Lead said:

Even though most of the managers I have had are completely clueless, there are a few that actually are good and deserve the pay.  The part that is hard to understand is why a project manager gets paid more than a senior developer.  They capture requirements and just monitor the progress of the project.  Not the outcome.  A good development lead / project lead can do just the same and has a direct impact on the outcome.  I hope corporations will see that senior developers do a lot better job of gathering requirements and driving a project than project managers.  We still need portfolio managers to help with project priorities, but that is about all.

May 8, 2007 8:40 PM
 

Senior Developer / Project Lead said:

For the person who said developers are a dime a dozen.  Try finding a senior developer that can handle a half a million dollar project.  I spent weeks interviewing and only found one who might be able to do the job.  Now try finding a PM.  It took less than a week to find several.  

May 8, 2007 9:02 PM
 

Goran said:

I like SouthParks's - "Something Wall-Mart This Way Comes" analogy better :).

May 14, 2007 8:04 AM
 

Twain said:

You're just a programmer without a degree who wished you had one. Just by reading your post one realizes that you completely misunderstood what building system is about
May 16, 2007 1:26 AM
 

Sijin Joseph said:

Hi Twain, Could you elaborate on what exactly I have misunderstood about building systems?

May 16, 2007 5:22 AM
 

Fabrice Marguerie said:

You should remove your links to such web sites. You are giving them Google juice they don't deserve.
May 16, 2007 5:36 AM
 

Scott Galloway said:

I really don't think you *need* a CS degree to be a good (or even great) programmer. But it helps. I don't have a CS degree, did study CS as a minor but my qualifications are in Psychology. What the CS degree gives you is an understanding of the foundations of CS, algorithmic programming etc...but if someone with no CS degree becomes a programmer it was a choice, usually a passion which they followed through on. I've been responsible for hiring teams of developers, managing developers and leading teams as an architect and all I can say is that the person is more important than the degree they have. Any half decent company cares more about experience and apritude rather than how you spent four years of your life; in some fields a wider range of experience is actually more useful that an individual who has a one track career path. One essay I really love on the subject is Hackers and Painters by Paul Graham..he does have a graduate degree in CS but sees more parallels with art than science in programming...
May 16, 2007 12:58 PM
 

Adsense Income In 24 Hours » Blog Archive » Account Adsense Google - EVERYTHINGS ABOUT ADSENSE said:

Pingback from Adsense Income In 24 Hours » Blog Archive » Account Adsense Google - EVERYTHINGS ABOUT ADSENSE
May 16, 2007 3:10 PM
 

aa said:

I've seen a lot of people (high school grads/associate degree holders) without a CS degree writing very sloppy code... They may get the job done but down the road you see many more bugs, security holes, and unusable code in their applications... Like everything else, there're exceptions but one without a CS degree needs to read a lot with dedication in order to become a good programmer. By the way, a CS degree only covers the very basic of programming. It's more like teaching peopole how to THINK.
May 16, 2007 4:17 PM
 

Mark said:

aa: I've seen people with and without CS degrees who write extremely bad code and it's at about 50/50 in my experience. I have a CS degree and 20 years of experience in programming to go along with it. Programmers who do not have a CS degree are an exception, and having a CS degree doesn't suggest the programmer will have fewer bugs.
May 17, 2007 7:55 AM
 

Casey Barton said:

What I don't understand is the assumption that someone without a CS degree can't learn theoretical CS. It's really not that hard for a "street hacker" to learn all about algorithmic complexity and NP-Completeness. To the extent that it has any value to what he's doing, a good hacker will learn this stuff. And he'll learn it from a variety of sources instead of a single biased prof, and he'll learn the latest perspectives on it rather than what in the textbook.
May 17, 2007 10:48 AM
 

Fabrice Marguerie said:

Funny that you let spam in your comment...
May 18, 2007 8:54 PM
 

Vikram said:

wow this is a cool list. Thanks for sharing
May 21, 2007 8:13 PM
 

foobar said:

Thanks for this. A great help.
May 22, 2007 1:52 AM
 

Amit Kamath said:

I use doPDF which is great to save webpages as PDF ( which cannot be saved as MHT) . It is a free PDF converter that creates PDF files from virtually any type of document - www.dopdf.com
May 22, 2007 2:55 AM
 

Marco said:

a very good open source code generator is http://www.kontac.net/WelcomeSC.aspx
May 22, 2007 9:35 AM
 

pavan said:

Thanks for the list. Definitely useful
May 22, 2007 3:11 PM
 

software engineering » Blog Archive » What they don't teach you in CS class said:

Pingback from  software engineering  » Blog Archive   » What they don't teach you in CS class

May 28, 2007 3:14 AM
 

software engineering » Blog Archive » Software Engineering Radio Podcast on Sensor Networks said:

Pingback from  software engineering  » Blog Archive   » Software Engineering Radio Podcast on Sensor Networks

May 28, 2007 6:07 PM
 

Chinga said:

Thanks for this... it gave me some needed insight. Cheers
May 29, 2007 5:35 AM
 

software engineering » Blog Archive » What they don't teach you in CS class said:

Pingback from  software engineering  » Blog Archive   » What they don't teach you in CS class

May 31, 2007 10:12 AM
 

Mal said:

Hi Sijin - it's also worth looking at commercial build tools - the one I use is FinalBuilder (http://www.finalbuilder.com). It has built in actions to automate all the tools you mention above, plus it's much easier to use and more powerful than NAnt, MSBuild etc.
May 31, 2007 11:28 PM
 

Pink Floyd said:

Its true if the project manager is considerate about the team member and takes opinion and decisions based on the teams decision... In my case, it so happens like my Project manager wants most of the members of the team to get transfred to a new place in the southern region while he stayin in the current location. the other situation being... i happen to ask him for my transfer to my home town once i completed my project due to medical reason, but my Project manager seein my potential happens to block me inspite the higher officials thinkin of gettin me transfered. i jus got bugged by that... to conclude the situation: 1) He doesnt want to get reallocated to a new place but send his team. 2) He not sendin me to my place inspite of my health condition, cuz of the potential threat to the project.
June 5, 2007 7:24 AM
 

Bhavani said:

As a nivice to the build process, I found this page quite informative and comprehensive. Thanks

June 27, 2007 2:31 AM
 

Jason Haley said:

July 9, 2007 9:38 AM
 

Jason Haley said:

July 9, 2007 9:40 AM
 

mac geeenius said:

Sahil Malik go have a curry or something

July 12, 2007 5:57 AM
 

tifosi said:

Where can i get this book in India especially in Pune

July 15, 2007 11:50 PM
 

Gary Phillips said:

Thanks a lot for this useful list - I will check out the ones I did not know about.

July 25, 2007 8:19 PM
 

Michelle said:

I was tracking down a similar bug in my application, and this was driving me nuts. Eventually I just put a boolean value in a static class to check if it had loaded before.

Straight from MSDN: "Form.Load Event: Occurs before a form is displayed for the first time."

It's not even documented in the ShowDialog method. What a bother. Thank you for the post.

July 27, 2007 11:02 AM
 

Jason Haley said:

August 3, 2007 11:03 AM
 

Paul Ballard said:

I'm looking at similar issues with a third party vendor.  If you don't mind, I'd like to compare notes.  You can email me directly at Paul<dot>Ballard<at>BallardSoftware<dot>com

Thanks,

Paul

August 7, 2007 7:27 AM
 

Shaun said:

Impressive list :) A lot of good tools here.

August 11, 2007 1:58 PM
 

jone said:

i made copy of your script, and save it as vssCheckInOut.vbs.

but when i run th escript i get error :

C:\jone\script\vssCheckInOut.vbs(1, 29) Microsoft VBScript compilation error: Exp

ected end of statement

can you help to find what i make wrong?

August 19, 2007 10:26 AM
 

Sijin Joseph said:

Hi jone - the script is written using jscript and not vbscript

August 20, 2007 1:38 PM
 

shashi said:

thanks

August 22, 2007 11:19 AM
 

Pradeep Bhardwaj said:

sijin, that's a great article. i am studying the build process for .net applications. can you tell me what are the major activities in a build process with deliverables of each stage, approximate time lines and persons involved. thank once again!

August 24, 2007 3:07 AM
 

chandrashekar said:

Thank u ..it gives good overview of connection pooling in ado.net

September 11, 2007 1:21 AM
 

hot free layouts myspace backgrounds said:

hot free layouts myspace backgrounds

September 19, 2007 2:44 AM
 

free myspace codes for music videos of hate me said:

free myspace codes for music videos of hate me

September 26, 2007 12:17 AM
 

john said:

cool man. thank a lot. appreciated

October 3, 2007 12:47 PM
 

eddy said:

we hardly get paid enough

i am a bin man and i get paid £4 an hour and my brother Andrew gets paid £3.50 an hour, he works in a call centre.

You only get paid alot when you are a doctor or something.

October 9, 2007 2:13 PM
 

VS 2005 Toolset. « Dotan’s Weblog said:

Pingback from  VS 2005 Toolset. &laquo; Dotan&#8217;s Weblog

October 19, 2007 6:59 AM
 

Is Ruby "The One"? said:

Pingback from  Is Ruby "The One"?

November 27, 2007 8:59 PM
 

How to leak memory in .Net - Statics and Event Handlers said:

Pingback from  How to leak memory in .Net - Statics and Event Handlers

November 28, 2007 12:13 PM
 

Eddie said:

A Manager? Oh sure learn a couple of programs and call you self a manager.  Crystal reports no problem, but learn a programming language and "wow" that's a different story.

December 4, 2007 2:48 AM
 

MarcLaFleur said:

It has been a long time since I've seen something this cool.

March 28, 2008 9:58 AM
 

.NET Developer Notes said:

SearchMe - Cool Search Engine

March 28, 2008 12:13 PM
 

Ryan Ternier said:

This is a very cool search engine - very interesting and I'm waiting to see how it catches on.

However, the "searching" portion of it is a bit under-par.

March 31, 2008 1:46 AM
 

dvd clone said:

Gosh provides an alternate way to run command- line Groovy scripts, as well as a simplified way to write Windows Services ( WinNT Services ) using Groovy. Gosh treats scripts the same, whether they are run from the command- line or as a service (including

April 6, 2008 9:02 PM
 

Wikipedia » Blog Archive » An alternative model of computation for concurrency said:

Pingback from  Wikipedia  &raquo; Blog Archive   &raquo; An alternative model of computation for concurrency

April 12, 2008 11:31 AM
 

Jason Haley said:

April 12, 2008 12:43 PM
 

jaimedp said:

Very interesting list, I agree, it would be very difficult to find someone with proficiency in all areas. And depending on the type of job, you would be looking for different abilities in different areas. In any case I would also add the following topics to you matrix.

+ Interaction Design

UI Design

Aesthetics

Action Flow

+ Professionalism

Basic work ethics

Objectives / Learning goals

Enthusiasm

April 30, 2008 2:55 PM
 

Jason Haley said:

May 1, 2008 10:07 AM
 

Bahador said:

Awesome!

Favorite rows:

problem decomposition

books

blogs

Thanks for sharing!

May 1, 2008 10:54 AM
 

kevin dan said:

from wikipedia, Competency includes altitude and behavior as well, it's far more important than technical skills, IMHO.

Bo be good programmer in a team, altitude comes first.

May 2, 2008 8:02 AM
 

Kavitha said:

Hi,

I was trying to do a VSS checkin checkout automation (mailing the admin once the checkin or checkout done on the database).. i copied the source code from this link

msdn.microsoft.com/.../bb509341.aspx

I created a activeX dll as metnioned in the above link and when i tried to open the database the init function is called..but when i tried to add file/checkout any files..the function which handles these events are not called at all.. any clue abt why?

May 5, 2008 7:26 AM
 

paul_mendoza said:

I actually use subversion to update our site at www.mangosteennation.com. I have a folder on the server that is the SVN folder. Then whenever I need to do a deploy to production, I do a get latest on that folder. Then I copy over all of the files from that SVN folder over to the folder that has the live website running in it. It seems to work pretty well. Only thing I never copy is the web.config because it has connection string information in it for our testing database.

May 5, 2008 11:58 AM
 

EtienneT said:

We post about something similar.  We are using SVN to deploy our websites and we really like it.

Something bad happen during a deploy?  No problem you can just revert back to the last version.

You can find our blog post about it here:

blog.lavablast.com/.../I2c-for-one2c-welcome-our-new-revision-control-overlords!.aspx

May 5, 2008 12:07 PM
 

rams said:

Thanks for the tip. This is really cool and very helpful in our case.

May 5, 2008 12:32 PM
 

John S. said:

Paul, if you build the web.config handling into your build process (if you use ASP.NET, using Web Deployment projects), then you can use svn to deploy web.config and all.

May 5, 2008 12:54 PM
 

DotNetKicks.com said:

You've been kicked (a good thing) - Trackback from DotNetKicks.com

May 5, 2008 12:55 PM
 

Nick Parker said:

We use subversion to update our integration / testing server and then run vice-versa between that and the production server, which very quickly moves only the files that have changed.

May 5, 2008 1:34 PM
 

RipR said:

I use SVN to manage the the production environment for the company I work for.  And although I don't use it currently I built a web interface for a past client that would allow them to update their production environment from an SVN repository.  I used some classes from AnkhSVN for that solution.

May 5, 2008 3:47 PM
 

Will Asrari said:

Why would you want to deploy with all those SVN folders?  Also, if it's a web application project why would you want to deploy with all the .file_extension.cs and .designer.cs files?

I can see how it could work but I prefer cleaner deployments.

May 6, 2008 2:23 AM
 

BCdotNET said:

Our set-up:

- team checks code itno SVN

- build server with CCNet automatically checks for code updates every 10 minutes or so, rebuilds if code updates are found

- new builds are automatically deployed to DEV server

- on request, deploy of a specific build to INT(egration) server can be done

- ditto for PROD

Actually, code that's gonna be deployed to INT is branched first. So it's always a specific branch that is deployed to INT (or PROD), whereas the trunk is used for ongoing development (though we also use branches to develop things that can't be in the trunk yet).

We've actually written an interface where we can select which branch of which project needs to be deployed to which server in which environment.

May 6, 2008 7:07 AM
 

Dew Drop - May 6, 2008 | Alvin Ashcraft's Morning Dew said:

Pingback from  Dew Drop - May 6, 2008 | Alvin Ashcraft's Morning Dew

May 6, 2008 9:10 AM
 

Chris said:

Our customer facing site is 4 gigs with all the artifact files.  We have 2 designs and 2 developers that belong to different departments and it was a nightmare to keep track of changes.

I (one of the developers) wrote a few tiny utils to parse svn logs and svn info to find files that were added, changed, deleted and using that info built nant scripts for each process.  I zip up any files that have been added or changed from our working copy and run the nant script for those that were deleted.  

I created a web interface for the designers so that after they commit a change they can hit the web interface, choose the revision number and start the deployment.  The web interface also has an iframe that points to a local CC.NET, staging CC.NET and prod CC.NET.  After they choose the revision they do a force build local which moves everything to staging.  do a force built on staging to run a backup and deploy.  after they test then do a force build on prod.

May 6, 2008 7:23 PM
 

Random Binary said:

Using Subversion as a Deployment Tool

May 7, 2008 9:37 AM
 

Functional Languages said:

hubs about Functional Languages to It is possible to write functional programs in Neumann languages by totally avoiding the use of store and modeling the entire computation using only functions that use local variables. On the other hand functional languages

May 11, 2008 6:07 PM
 

www.Network2Computers.com said:

I\'m supporting this idea all the way! I can not imagine who would disagree with it. On the whole - make posts like this more often.

May 14, 2008 6:20 PM
 

Nischal said:

hey sijin,

I have done exactly the same thing as you said but I cannot access inter net wirelessly. The only difference is that I have mtnl Triband connection instead of hathway. Please tell me if I have to do some other setting also?

Please help buddy

May 31, 2008 4:53 PM
 

Searchme said:

Thanks for posting about Searchme – we really appreciate it! We wanted to let you know that we’ve just added this cool new feature called Stacks, which lets you collect groups of your favorite web pages and then share them via email, web sites, Facebook®, MySpace®, and blogs like yours. We’ve also added Searchme Media Search, which lets you search for images or videos from Flickr™ and YouTube™.

Check out our Demo Videos:

www.searchme.com/.../press_videos.php

Or check out Stacks in action:

www.searchme.com/stacks

Thanks!

The Searchme Team

June 24, 2008 2:56 PM
 

Jason Haley said:

June 25, 2008 10:21 AM
 

Alain O'Dea said:

I agree with your requirements ideally, but any platform that requires browser plugins makes deployment harder, particularly to large businesses or organizations. I am more inclined to think that fundamental platform improvements across all the browsers are the real solution. Many significant steps in this direction including more consistent CSS and higher performance JavaScript environments across major browsers have made plugin-free HTML+CSS+JS web applications capable of delivering good user experiences. Some interesting developments like WebKit's client-side databases could significantly simplify the deployment of web apps with offline support if adopted in other major browsers.

June 25, 2008 8:00 PM
 

Dean said:

GWT is a great, standards based solution... Grails as well.

June 25, 2008 11:24 PM
 

Lexapro. said:

Lexapro side effects. Lexapro.

July 15, 2008 1:34 AM
 

Martin said:

I also use subversion as a deployment tool to live sites (mainly pre-compiled Flash presentations/applications and PHP code).  The staging and live sites are working copies and I update from a tagged online version.  I love the efficiency of the process and the ease of use.  Basically, every integrator in our office, junior and senior can update live sites without much worries (knowing that a rollback is just as easy).

I do admit that publishing to production with the added .svn folders isn't all that clean, but what's the cost of drive space versus the cost of inefficient processes?

Unfortunately for us, the person in charge of hosting architecture is bent on "compiling" the website when it comes to live deployment...  I don't get it.  Managing added files and folders is relatively easy, just a zipped package to upload.  But what about renaming, deleting, and rolling back ?  You'll have to script something to do the actual deletion and renaming... Subversion does that for you.  You'll have to copy your entire site to be able to rollback ...  ".svn" folders are probably lighter than a full duplicate all in all.

Is subversion a security threat? I just don't get it.

July 21, 2008 8:02 PM
 

Ilia said:

Did you ever come across any documentation on those COM interfaces (SourceSafe and Outlook.Application)?

SourceSafe in particular?

I have been scaring for code snippets to figure out how to use it and that is just not doing it for me anymore.

August 1, 2008 11:24 AM
 

AMammenT said:

@Martin: Subversion isn't a security threat in and of itself as far as I know.  The only problem is that, in general, a host of people have access to subversion, and most of the controls around subversion are procedural in most organizations - developers agree to commit to certain branches, etc, but they are not actively prevented from doing so.  

This means that introducing broken code into "production" is relatively easy.  Yes, it could be rolled back, but....  

Keep in mind that the person in charge of hosting architecture is being held accountable for a functioning production system at all times.  He's on hook to put process in place that aren't sufficiently controlled.  

If you do want to use Subversion for managing production, I'd recommend talking to your head of hosting and asking what controls would be sufficient for him to feel comfortable using svn in production.  Don't be surprised if this ends up needing a separate svn repo managed slightly differently than the dev repos.  

August 14, 2008 1:44 PM
 

Munkhbaatar said:

Thanks for this list, It was very helpful

September 13, 2008 9:45 PM
 

ecart said:

Hi,

I still do not have a clear idea of how you guys are using SVN for deployment.

In my environment, I have development and production servers. SVN repository is on the DEV server, every time we need to deploy to PROD, we push the changed files manually to the PROD servers. I can sync the Dev and Prod servers but there are a lot of unused files in Dev which should not go to Prod. Tagging seems to be one of the options in SVN but haven't tried it yet. Can you please advice?

Thanks in advance.

September 23, 2008 11:05 AM
 

emmauel said:

The software industry just like any other new technology is currently immature, 20 years ago there was no demand whatsoever in the general business market. Now with desktops everywhere that has changed - with the advent of the internet we all know what happened with India.

October 6, 2008 10:58 PM
 

Rishi said:

Thanks, great article.

I want to know the build process of a software in PHP.

October 8, 2008 2:12 AM
 

Brian Boss said:

If you find managing people more difficult than managing computers it demonstrates nothing other than your relative ability at managing people vs managing computers to extrapolate it further is a misreading of the system log.

October 8, 2008 6:44 AM
 

Jack Manager said:

I find it interesting to read these articles.  Believe me when I say as a very experienced IT professional that managers have an extremely difficult job balancing expectations of the business and supporting the development team.  For sure developers are intelligent people - they can also be manipulative and be revisionist in the facts and they are all not as driven as they envision themselves.  They don't all often contribute as much as they think they do can be slackers as much as the next guy.  Ours are highly paid and I think we have a good team, but although they are a talented crew, they often complain about: everything, everyone, and regularly avoid responsibility for missed deliverables.  I highly respect them but do not always respect their lack of respect for the management process.  We have been using Agile methodologies which seem to be fantastic in some ways but although it seems like a wonderfully adaptive process it can seem to give them no possibility to be judged or considered an underperformer.  The difficulty and inability to judge their work using these processes is troubling for me and although my team is a good one,  I worry about developers that want to shirk the process when it suits them and use it like a crutch other times.  Stop whining and get to work and don't worry about being considered an artist!   I would put my work ethic up against any of developer on my team but wonder if they look in the mirror and judge their own work frankly as often as I do my own.

November 2, 2008 4:33 PM
 

Miguel said:

In your opinion what would be the proper way to create a Release check list before code is push to a production environment..

November 10, 2008 1:39 PM
 

prashanthspark said:

iam having issues in dot net c# for decoding attachments which are in uunecoded format

pls help me :) resolving this

January 16, 2009 10:20 AM
 

Conn.Close & Conn.Dispose | keyongtech said:

Pingback from  Conn.Close &amp; Conn.Dispose | keyongtech

January 22, 2009 12:21 AM
 

Rajesh said:

This is really an informative one. Thanks

February 19, 2009 1:54 AM
 

John Haugeland said:

Apparently this got cross-posted to someone else's site.  I reformatted it for them; you are of course also welcome to it, since it's your content originally.

www.starling-software.com/.../programmer-competency-matrix.html

February 24, 2009 12:48 PM
 

Basab said:

Hi Sijin,

Thanks for the info. Very precise and informative, thanks for the link too!!

March 24, 2009 2:00 PM

About Anonymous

ertert