IT Readings Log   

Friday, April 29, 2005

Outsourcing, a Mega-Trend that Forces Changes onto Every IT Organization

Outsourcing is when the volume, repetitive or regular work is being moved overseas so the main corporation can use the cash better, either on marketing, or in technology. Now, this is the simple definition, the complex one is described by the following article. Still... what happens when the main corporation ideintifies that the offshore company produces more and cheaper but also higher as quality, so it actually becomes useless to keep the main company which just turned into a high level cost / expense considering the overall productivity and benefits ?
That sucks right? It happened so many times and the so called IT big guys had to face it by witnessing a major IT Industry fall down a few years ago.
Outsourcing was the solution and outsourcing took over. The student taking over the teacher's work. Now outsourcing rules. there it is no major company that does not base her work on outsourcing. They call it different, but it is still outsourcing... Microsoft, Siemens, Oracle, IBM, SAP, you name it. They are all international.
Of course "the product" will always be developed in house, but the developers and the key resources are and will be "extracted" out of the best, even if outsourcing guys... shouldn’t we call that outsourcing? If Rahim worked 10 years in India's offshore company, but now he's the lead developer - the key resource of the new "in house product", we will no longer call that outsourcing, right ?

http://www.codeguru.com/Cpp/misc/misc/applicationcontrol/article.php/c9649__1/

Thursday, April 28, 2005

Why Standards Matter

I started to read this article with the hope that I will find an interesting and documented description about standards and also hoping that the article will actually present enough arguments and nice examples that I can present it to development team and just convince them about the need of standards in everything we do.
It wasn't like that: the article has some intentions on addressing what I was hopping to find, but it turns into the already boring anti-Microsoft argue.
I am not a Microsoft fan but so far I used it successfully and, considering web development, Internet Explorer was and still is the best browser to build your application for. I don't know for how long it will still remain on top, but I advice the author of this article to try to built a Dynamic HTML Fancy website for both Internet Explorer and Netscape, but for ALL versions, starting with Netscape 4.7. He he.... good luck boy! See how Netscape respected ANY type of standards regarding its object model across versions...

http://itmanagement.earthweb.com/columns/quaquest/article.php/3500761

A Quick Peek at Longhorn

Longhorn is a word that sounds already like coming from the old ages, something that, even if we have fear for, even if we feel like say it whispered, we get excited and extremely attracted by it. Longhorn became a "long time waited product", it became the "magic" and the "wonder" of Microsoft.
If it will fail expectations, it will be a major blow up. The more you keep the crowd excited - the more you have to feed their excitement. From the much awaited "boom" it will easily turn into a "fussss....". Let's see.
Here's an article about Longhorn, trying to describe some new features and even presenting a Slide Show of Longhorn Screenshots.

http://www.pcmag.com/article2/0,1759,1789345,00.asp

Microsoft to Pit 'Metro' Format Against Adobe PDF, PostScript?

I doubt that. PDF format has its market place and whatever competition tried to promote was a failure comparing to the popularity of PDF format. By reading the following article, my mind goes to Open Office. Open Office became one of the most popular text editors, among other operations. I am not talking about editing text but saving it into an XML based format, available everywhere. Of course that XML is the "new wave", of course that portability, fast search, smart query and web related items should be based on XML... Microsoft felt all these and made XML the new core of it's products. All of them aim XML, why not an XML based document format?
"Metro" - the new document format is at the beginning... will it take over and win against PDF? I don’t know, but I am already trying to imagine what Microsoft would do to enforce it...


http://www.eweek.com/article2/0,1759,1789807,00.asp?kc=EWRSS03129TX1K0000610

Security: Blind SQL Injection

SQL Injection - This is generally a known security issue when building Web, database driven applications. The articles below describes it very detailed and using good examples. These are mandatory reading for Web application developers and these can be interesting reading for 'wannabe' hackers .
Another hack can be performed using the OPENROWSET technique. Read the third article, too.

Click for `Blind Server SQL Injection` Article

Click for `Advanced SQL Injection` Article

Click for `Manipulating SQL Server using Injection` Atricle

More about: Identifying browsers using CSS properties

More organized info on "CSS hacks" article...

http://centricle.com/ref/css/filters/

Wednesday, April 27, 2005

ASP.Net RangeValidator Issue

Situation: try to implement a RangeValidator by setting it's Type to Double (MSDN quote for "Double" Type of Validator: "Specifies a double-precision floating-point number data type."), set the MinimumValue to 0 for example and then try to set it's Maximum Value to the maximum Double Value (maximum value allowed by Double Type of Data - MSDN: 1.79769313486232e308) or to a value close to that, like 1.79769313486232E+307 and so on..., try to place it in a string, convert it, whatever... it won't work. It will work only in one case, if you write the entire number without scientific notation and wtire it as a string, using doublequotes. See article:

http://stup.org/blogs/nidhogg/archive/2004/12/15/410.aspx

Tuesday, April 26, 2005

Understanding Threading in .NET Framework

When handling complex server-side processes, but not only then, we eventually reach to implement a threading process. Here's a simple article describing at "trainee" level where you should start when considering a transaction process in .Net.

http://www.codeproject.com/csharp/threadinginnet.asp

Understanding Threading in .NET Framework

When handling complex server-side processes, but not only then, we eventually reach to implement a threading process. Here's a simple article describing at "trainee" level where you should start when considering a transaction process in .Net.

http://www.codeproject.com/csharp/threadinginnet.asp

SQL Advanced: SQL server extended SP to send UDP messages

If built carefully (considering the security issues but also the performance issues), the SQL extended stored procedures can be used successfully in solving critical complex problems. Here's an example on how can you "announce" that a table has changed:

http://www.codeproject.com/useritems/extended_stored_procedure.asp

Tracing web application with ASP.net

Do you like debugging? How hard is for you to figure out what is crashing and where? Usually we use lots of "response.write" lines of code or breakpoints, but that requires special development conditions and usually cannot be performed on the QA servers or even more: on production servers. "Tracing" your applications might help.
The following links explain what Tracing is about and how can we use it in .Net.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspnet/html/asp01252001.asp

http://www.codeproject.com/useritems/Tracing_Explained.asp

An Efficient Method of String Concatenation

Good hint on .Net and Strings...

http://www.devx.com/tips/Tip/27974?trk=DXRSS_DOTNET

DevX: ASP.NET Development Through Web Controls and Declarative Programming

I believe that most of the applications (software systems) have several common elements, or, at least, you should be able to identify common components customized across applications, no matter what the application is about. These common components can be constantly improved and new features added to them, so they become available and usable in more and more situations. I believe that new / future Development Environments will gain a lot if they will address components / controls / objects with the proper attention.
Here's an article on .Net Components and the future in this area. Very detailed article.


http://www.devx.com/codemag/Article/27817/0/page/1

Monday, April 25, 2005

Opera Version 8 Hits Million Downloads Milestone

More news on Browser War...

http://www.technewsworld.com/rsstory/42588.html

Desktop Java Features in Mustang

Features for Java 6.0, next release named: Mustang. Some of them sound quite interesting, like:

- True Double Buffering (This will provide two immediate advantages: exposing a Java application [moving an application to the front that was previously obscured] will be nearly instantaneous, and an application that hangs the event dispatch thread can still have its contents restored during an expose event. )
- Native Windows and GTK Look and Feel rendering (Use Microsoft's API for rendering portions of components)
- Full support for Firefox

http://java.sun.com/developer/technicalArticles/J2SE/Desktop/mustang/

Composure. Handling critical situations.

I felt so many times that a project reached into a critical situation and I felt so many times I am way too frustrated to handle the situation properly. My frustrations were close to mess up the project, even more, to mess up other people's work and efforts. This is what makes me control the situation better: always consider the outcome of my reactions / attitude, always consider what is depending on my behavior.

True. Read the article

http://www.sitepoint.com/blog-post-view?id=257179

Sunday, April 24, 2005

Online Customer Experience: Will We Get It Right One Day?

Can Software Development Companies keep up with the requests and technical evolution? Can we ever complete a product so it doesn't show up another one on the market even before it ends and still satisfy Client needs? Can we satisfy more Clients with the same product without making it so customizable and therefore increasing the investment as time and money? etc… No answers, but good questions.

http://www.ecommercetimes.com/rsstory/42274.html

Down To Business: Be an equal

This is a great article (even if short - it presents the main idea very concise) that presents one of the most critical business situations: bidding and accepting a project. How low will you go, what are you prepared to accept and what compromises will you do to get the project? Theoretically you should do as this article describes: be straight, fair, be an equal. Refuse compromises, stand up for your quality standards, enforce your estimates, be honest and straight. Is this possible?

http://www.sitepoint.com/blog-post-view?id=255702

Another Great Battle in the Browser Wars Looms Ahead

Browsers, browsers, browses... IE is the King so far. FireFox ... comes strong from behind. Still waaaay to slow. But there it is a start in anything.

http://itmanagement.earthweb.com/entdev/article.php/3499281

MySQL Visual Database Migration Tool

MySQL keeps on growing. Even if it is not yet as advanced and full of features as the professional servers, it has some areas where it is better. This is not a big deal; the big deal is that it gets more and more advanced as features, and, if it will be able to keep the areas where it is already better we will probable have MySQL as the future’s best database engine. The question in this case is… will it remain free or low cost as it is now?

http://www.sitepoint.com/blog-post-view?id=255556

Using ASP.NET to Prompt a User to Save When Leaving a Page

Well, this is the most annoying and stressful request a development team can receive from the client, especially when you have the project built. “I enter all this data, then I click the link from my mail and it opens in my application browser window. All my data is lost. Please fix this defect as soon as possible.” Sounds familiar? It is kind of the request that invites development team to build for every Data Entry Screen a mechanism to not let the user leave that page unless they save or discard the data. There are several solutions, more or less feasible. Here's one.

http://aspnet.4guysfromrolla.com/articles/101304-1.aspx

Improving Performance with SQL Server 2000 Indexed Views

MSDN Article on Indexed Views. Indexed View represents a new feature launched with the SQL Server 2000 and it is defined as: “Indexed views can significantly improve the performance of an application where queries frequently perform certain joins or aggregations. An indexed view allows indexes to be created on views, where the result set of the view is stored and indexed in the database”. The article is very well written and should be considered for performance SQL code.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsql2k/html/indexedviews1.asp

Generics in .NET: Type Safety, Performance, and Generality

Interesting comparison between .Net Generics (System.Collections.Generic) and .Net’s non-generic Collections, more on performance level. Article is for Advanced Developers but worth a look no matter your level – examples are simple.

http://www.codeguru.com/columns/DotNet/article.php/c9661__1/

What You Need to Know About Web Controls

Considering the work we all did on .Net Web Controls so far, this article is at trainee level. If you have no clue about .Net Controls take a look here.

http://www.devx.com/codemag/Article/27820?trk=DXRSS_WEBDEV

Not Another C# Versus VB Article

Even if the author entitles the article as “Not Another C# Versus VB Article”, it is exactly what he is doing. The article, comparing to the other ones I read so far is a good one and documented well. It is also an aggressive one, kind of negative attitude against the VB.
I agree with most of this article, but the author forgets one very important element, probable the most important element considering software development: It is not about the TOOL to be used, it is always about the expected results and final product. Depending on expectations and project limitations a tool is to be selected to reach to best results in given time and with the given resources. Focusing on the tool instead of focusing on the result might lead you to failure in delivery but to a great understanding and usage of the tool. What do you chose?

http://www.codeproject.com/useritems/CSharpVersusVB.asp

AJAX - related links

What is AJAX? It is a process. It is a technique. It is about different server interrogation considering the web techniques. It is not a new technology or language, it is the same old JavaScript, HTML, XML and CSS technologies, used for great web results (See Google Suggest Tool, or Google Maps).
AJAX = "Asynchronous JavaScript And XML"

Links below present a definition and architecture on AJAX, but also a well described example.

Ajax: A New Approach to Web Applications
http://www.adaptivepath.com/publications/essays/archives/000385.php

AJAX was Here- Part 1 – Client Side Framework
http://www.codeproject.com/useritems/AJAXWasHere-Part1.asp

AJAX Was Here - Part 2 – ASP.Net Integration
http://www.codeproject.com/useritems/AJAXWasHere-Part2.asp

Remote Scripting
http://www.codeproject.com/aspnet/AlvaroRemoteScripting.asp

Demo on Remoting JS
http://www.ashleyit.com/rs/jsrs/select/php/select.php

Avoid Common Offshoring Pitfalls

For me / us, the offshore software development solution looks like the ideal situation, the perfect way of building a software project: less expensive and higher as quality. There are several down-sides to the offshore solution, but as far as I am concerned most of them are cancelled by the benefits. Here’s a short article on what might “scare” an investor or client. Some example is being detailed…

http://itmanagement.earthweb.com/columns/article.php/3496331

Management: Whatever Doesn't Make You Stronger Kills You

Excellent article on company’s monoculture, on how certain characteristics and behavior elements get propagated within an organization. It also details consequences and addresses possible solutions on avoiding failure.

http://www.cioinsight.com/article2/0,1397,1783485,00.asp

Introducing Regular Expressions

Basics on Regular Expressions, includding some examples.

http://www.codeproject.com/useritems/Regular_Expressions.asp

Free Java & OpenSource Components

Title says it all. The site is launched by the famous O'Reilly Publisher.

http://www.codezoo.net/

13 Productivity Tips for Database Development Using Transact-SQL

Some of these tips are very useful, actually all of them if you didn't know some of them already, but it is far from defining the most important 13 tips. Read them to make sure you already know them.

http://www.devx.com/codemag/Article/27813/0/page/1

How Table Variables Can Speed Up Your Queries

When trying to implement complex data handling in SQL, very often developers use temporary tables. The newer versions of SQL support tables as variables. As you know, temporary tables get stored into tempdb and, theoretically variable – tables get stored and executed in memory, but eventually reach to HDD if there it is not enough memory. What’s better to use and when? Here's just an example.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsqlpro05/html/sp05b7.asp

ASP.Net - Skin Your Web Apps Using Model-View-Controller

Article describes and provides samples for the very obvious feature of ASP.NET: considering that the axpx.vb code behind exists and also the vb classed defined, we can change the aspx “skin” of the application that way we want, not only as style / css, but as layout, too. We can even replace the entire aspx with another or even load them dynamically as long as some rules get respected.

http://www.devx.com/codemag/Article/27815/0/page/1

Saturday, April 23, 2005

ADOBE buying MACROMEDIA

Blog on the news. Adobe buying Macromedia... No comments.

http://www.sitepoint.com/blog-post-view?id=254597

How to become a hacker

Supposedly the definition of a hacker, but kind of puerile. More like a geek, Linux-lover, hippie description. Worth take a look, it is well documented.

http://www.catb.org/~esr/faqs/hacker-howto.html

How Linux Saved Microsoft

Competition usually leads to constantly increasing quality of the products competing to each other. Elementary business rule of constantly raising standards, pointed out as Microsoft versus Linux.

http://www.technewsworld.com/rsstory/42229.html

Recovery Process Needs Rollback Planning

Very important Configuration Management strategy. I saw this happening all the time, not only as Configuration Management, but as Development, too. Sometimes we go too far with developing one control or process without having a “restore” option that will allow the user the minimum usability and functionality required. Sometimes we are blinded by our passion or desire to achieve something and do not consider eventual failure of our idea and the impact on project usage. Check it out for more details :

http://itmanagement.earthweb.com/netsys/article.php/3497886

Selling Web Design Services Blog: Down To Business

Small Business Scenario and Ideas. Main idea: do not underestimate the small clients, provide high quality services and show same attention and interest to any of your clients.

http://www.sitepoint.com/blog-post-view?id=253790

CSS Trainee: Dynamic Content

Trainee level reading, but presenting a clean and simple Dynamic Content Page handled with CSS and Javascript.

http://www.alistapart.com/articles/eatcake/

Cool CSS Dropdown

This is something that will really create a design impact on your web application if used properly. It is about providing a nice shape and behavior for a simple DropDown.

Well writtend and documented. Use it.

http://easy-designs.net/articles/replaceSelect/

Microsoft's New VB 6.0 Support Center

We all know that Microsoft decided to turn off the support for Microsoft Visual Basic 6.0 and there was a petition started on the net to force Microsoft to continue the support on this so popular programming language (if you are interested in the petition you can find it here ).

Well, guess what.. the petition was signed by lots of certified MS developers and experts, so many that Microsoft decided to continue the support on VB.

Here it is the link for the new support-site on VB 6.0 http://msdn.microsoft.com/VBRun/

Auto-complete Control

Article describing how to build a simple Text Box with auto complete feature. It is Trainee Level Reading, but can be used as reference / startup for developing more evolved controls.

Down-sides: the autocomplete feature loads data out of a JavaScript Array, so the control is not going to be usable when large volume of Data. The control's JavaScript - Auto Complete panel can be improved as design, too.

Check it here: http://www.codeproject.com/jscript/jsactb.asp

Thursday, April 07, 2005

MSDN: Designing an API with the Visual Studio 2005 Class Designer

Introduction to VS 2005 Class Designer. Some UML and OOP involved, but nice step forward vor VS Studio.

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/VSTSClassDesigner.asp

.NET Remoting Sample

TCP IP / Chat-like .Net sample. Useful when building proof of concept. Code and demo included.

http://www.codeproject.com/csharp/RemotingChatSample.asp

ADVANCED .NET Services : Preparing for Indigo - Choosing the Right Technology Today

Descriptive article for several similar technologies within .Net. Kind of long article and addressed to the advanced .Net guys that might be interested in .Net Services

http://www.devx.com/codemag/Article/27816/0/page/1

PROJECT MANAGEMENT Article

Seven articles with extracts out of a Project Management Book. Not for developers, but for guys interested in project management.

http://www.devshed.com/c/a/Administration/Initiating-the-Project/

Effective C# - Part I: DO's and DONT's

Very interesting C# article about some "lessons learned": things to do and things not to do with reasons and details.

http://www.codeproject.com/csharp/effectivecspart1.asp

SQL Server DO's and DONT's

Similar with the below C# article but it is about SQL Server Practices. Very interesting, worth reading. Some of the "DONT'S" are a common practice among developers - need to correct this.

http://www.codeproject.com/cs/database/sqldodont.asp

CSS hacks and browser detection

Cool way of detecting browser and making things display nice by using plain CSS, without complex JavaScript functions.

http://www.codeproject.com/html/css-hacks.asp

UML Design with MS VISIO - The Basics

Complex Article that describes how to use MS Visio Enterprise for Designing some Login Module Classes in both VB and C#, using UML Concepts. Same article addresses a Database after designing it with VISIO UML tools and also reverse engineering a database using the same tool.

http://www.aspfree.com/c/a/.NET/The-Basics/1/

IT Articles - Group 05

ARTICLES:

The New Tech Outsourcing Leaders: Bulgaria, Latvia and Romania?
http://www.prweb.com/releases/2005/3/prweb222463.htm

Software turns .Net to Flash
http://www.xamlon.com/software/xamlonpro/flash/

Management by Wishful Thinking Is More Common than You'd (Wish to) Think
http://www.eweek.com/article2/0,1759,1780923,00.asp?kc=EWRSS03129TX1K0000609

DEVELOPMENT:

Complete Comparison for VB.NET and C#
http://www.codeproject.com/useritems/vbnet_c__difference.asp

Refactoring to Design Patterns: Facade Pattern
http://www.codeproject.com/useritems/Facadepattern.asp

SQL Tuning Tutorial - Understanding a Database Execution Plan
http://www.codeproject.com/useritems/sql-tuning-tutorial-1.asp

.NET Regular Expressions and Captures
http://www.codeguru.com/Csharp/.NET/net_general/tipstricks/article.php/c9525

IT Articles - Group 04

ARTICLES:

Why Consistency is Critical
http://www.sitepoint.com/article/why-consistency-is-critical

Project Management: Keys to Successful Contracting
http://www.sitepoint.com/article/contractor-scapegoat

DEVELOPMENT (SQL):

Understanding the difference between “IS NULL” and “= NULL”
http://www.sqlservercentral.com/columnists/jtravis/sp_performance.asp

SQL SERVER 2005: Heirarchical Queries in SQL Server 2005
http://www.theserverside.net/articles/showarticle.tss?id=HeirarchicalQueries

IT Articles - Group 03

ARTICLES:

Leveraging Configuration Management
http://itmanagement.earthweb.com/netsys/article.php/3375531

DEVELOPMENT:

Microsoft - NEW C Omega Language:Meet the Future of Data Head-on with Comega (C Omega)
http://www.devx.com/dotnet/Article/27670?trk=DXRSS_DOTNET

Advanced Basics: Remembering User Information in Visual Basic .NET
http://msdn.microsoft.com/msdnmag/issues/05/04/AdvancedBasics/default.aspx

Build your own Webserver in VB.NET
http://www.codeproject.com/useritems/Webserver.asp

IT Articles - Group 02

ARTICLES:

Interoperability Isn't Spelled 'XML'
http://itmanagement.earthweb.com/columns/article.php/3491561

Microsoft Shares Longhorn Networking Details
http://www.eweek.com/article2/0,1759,1778435,00.asp?kc=EWRSS03129TX1K0000610


DEVELOPMENT:

Print a DataGrid Alone from an ASP.NET Web Page
http://www.devx.com/tips/Tip/27626?trk=DXRSS_DOTNET

Model XML to Please Humans and Computers Alike (2 pages)
http://www.devx.com/xml/Article/27266?trk=DXRSS_XML

How to scroll an ASP.NET control into view after page load using codebehind
http://www.codeproject.com/useritems/ViewControl.asp

Two-Way Data Binding in ASP.Net
http://www.codeproject.com/useritems/ASPNetTwoWayDataBinding.asp

Improving Developer Productivity with Visual Studio .NET Macros http://aspnet.4guysfromrolla.com/articles/032305-1.aspx

Your Introduction to the My Object in VS 2005
http://www.codeguru.com/Csharp/.NET/net_vs_addins/visualstudionet2003add-ins/article.php/c9491

IT Articles - Group 1

ARTICLES:



Could Ajax Wash Away 'Smart Clients'?
http://www.microsoft-watch.com/article2/0,1995,1777009,00.asp

Visual Studio 2005 Ship Date Slips Again
http://www.eweek.com/article2/0,1759,1777752,00.asp?kc=EWRSS03129TX1K0000610

CSS Support Could Be Internet Explorer's Weakest Link
http://www.microsoft-watch.com/article2/0,1995,1776935,00.asp

Users Express Confidence in SQL Server 2005 Performance
http://www.eweek.com/article2/0,1759,1776188,00.asp?kc=EWRSS03129TX1K0000608

Developers Protest VB6 Decision
http://www.eweek.com/article2/0,1759,1776357,00.asp?kc=EWRSS03129TX1K0000612


DEVELOPMENT:


Configuration API Improvements in ASP.NET 2.0

http://www.devx.com/dotnet/Article/27562?trk=DXRSS_DOTNET

Avoid Preserving Viewstate when Using the DataGrid Control for Data Entry
http://www.devx.com/tips/Tip/27466?trk=DXRSS_DOTNET

Create and Drop Stored Procedures as a Group
http://www.devx.com/tips/Tip/27477?trk=DXRSS_DB

Building Temporary Tables to Optimize Queries
http://www.devx.com/tips/Tip/27467?trk=DXRSS_DB

Wednesday, April 06, 2005

MSDN: On the Way to Mastering ASP.NET: Introducing Custom Entity Classes

Article about Object Oriented Design in .Net, well documented with samples in both C# and VB. Contains Development fundamentals.

http://msdn.microsoft.com/asp.net/default.aspx?pull=/library/en-us/dnaspp/html/custentcls.asp

Browser Detect

Browser detection gets more and more complicated, now that several browsers can "impersonate" as other browser version...

http://www.quirksmode.org/js/detect.html

http://www.quirksmode.org/js/support.html

Cool way of detecting browser and making things display nice by using plain CSS, without complex JavaScript functions.

http://www.codeproject.com/html/css-hacks.asp