Ergonomics - Starting With a Keyboard and Mouse

by Ventsy Popov

After spending some time in pains and using different ointments for my wrists I decided it's about time to ease my everyday work with my PC. As a starting point, I began digging throughout the net in search of appropriate ergonomic solutions for a keyboard and a mouse. One of the options was a pack of Microsoft keyboard and mouse (this is not an ad, though I might tend to be a little subjective when it comes Microsoft :)). My choice weighed down that direction even more,  when a friend of mine (thanks Viktor) gave me firsthand positive feedback.

I am happy to brag about my new purchase – Microsoft Natural Ergonomic Desktop 7000: 


And here is what you can find inside the package: 


I also took a couple of shots to see the main idea of how wrists are positioned in a more straightened and restful way:



That was my first step (I intend not to be the last) into comforting my work. What are your tricks for making a comfy working environment?


A Way of Organizing Project Documentation

by Ventsy Popov

Have you ever thought if the way you are organizing your documents works for you and your team? Recently I had to sit and think (and research) of a common structure that on one hand is general enough to work (with minor adjustments) for most of the projects I participate in, and on the other hand is logical and self-explanatory.

Here is what I came up with:

  1. Project Planning
    1. Brief – an overview of the project setting one's focus on the subject.
    2. Specification – definition of the scope and work that has to be done.
    3. Plan – time schedule describing when and what should be done in a sequential manner along with specific milestones.
    4. Roles & Responsibilities – definition of a person's/team's involvement in the project.
  2. Environment
    1. Technical Documentation
      1. Network Access – what credentials and software is needed and how to use it.
      2. Systems and architecture – any specifics about interacting servers or applications.
    2. Rules & Procedures – description of things such as way of time tracking, question escalation, access requests, etc.
    3. Guides/Manuals – any documentation such as user manuals, installation guides, or other information regarding environment set-up or usage.
  3. Project Areas (Modules)
    1. Area 1
      1. Requirements – expectations that have to be met by persons/teams involved in this area.
      2. Processes – description of the steps that are taken for fulfilling the above requirements.
      3. Issues & Solutions – any issue that is found during the process of work and its corresponding workaround (if no workaround, then it belongs to “Questions & Concerns).
    2. Area 2
      1. ...
  4. Questions & Concerns – any open questions that need to be resolved along with obstacles/assumed difficulties or recommendations.
  5. Meetings & Discussions – description of meetings (discussed topics, decisions taken, responsibilities distributed, deadlines that were set, etc.).
  6. Contacts – contact information of the persons taking part in the project.


Reader, do share your thoughts or experience on this matter :).

Oraganization | Management

How to Access a Local Web Site or Service, Using Host Header

by Ventsy Popov

If we are part of a software developer team (contrary to one-man-does-it-all guy), quite often we find ourselves in a situiation in which we have to set-up a new developer environment. One of the issues we have to cope with, is adjusting configuration, that has to match the new machine specifics. An useful trick that is often used, is to implement aliases (SQL Server aliases, host aliases, etc.) on each developer machine, so that there are no differences in the configuration. This way if the configuration settings are preserved in a version control system, they are used by each develeper without the need anything to be changed. Instead, what happens behind the curtains is all the settings are interpreted with the help of the mentioned aliases to match the working machine environment.

Following the abovely described practice, recently we (the team and I) had to deal with a securuty isse that did not allow us to take full advantage of aliases configuration. My point in this post is to describe the problem and solution, hoping that it can be useful to someone else, and not only me :).

What was required

We had a MS SQL Reporting Services solution with a couple of projects in it. Projects had to be configured so that :
    -Each one had to use one and the same "Target Server URL" for deployment;
    -Behind this "Target Server URL", actually had to stand the developer's local machine.

What had to be done

In order for these things to work, every developer machine had to include two changes:
1) To have a record in the C:\Windows\System32\Drivers\Etc\Host file saying that "fixedname" server is actually
2) And in the Report Server Web Service configuration, we had to add  http://fixedname/ as a new URL from which the service could be accessed.

What was the problem

After doing what logically seemed to be enough and tried to open reporting services through the newly added URL, we found out that windows authentication did not work for this URL, and we could not use it at all.

What was the reason

After digging for sometime it turned out that after IIS 5.1 and above in combination with Windows Server 2003 SP1 (or Windows XP SP2) and later versons of Windows OS a securty check was implied. This check did not allow us to authenticate when the request was fired from the local machine using a host header, that matched a host header configured for the same machine. If we fired the request from another machine within the network, things worked perfectly. But in our situation, requests had to made and serviced by the same environment.

What was the solution

Well, it happend so, that there was trick which we could use in order to pass by the securtiy check – to disable it. Disbaling it in our case was justified, but do be careful to consider it carefully when you forbid a security feature. All we had to do was:
1. Click Start, click Run, type regedit, and then click OK.
2. In Registry Editor, locate and then click the following registry key:
3. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa
4. Right-click Lsa, point to New, and then click DWORD Value.
5. Type DisableLoopbackCheck, and then press ENTER.
6. Right-click DisableLoopbackCheck, and then click Modify.
7. In the Value data box, type 1, and then click OK.
8. Quit Registry Editor, and then restart your computer.
... as instructed in the following Microsoft KB Article:

This scenario can be applied not only when it comes to Reporting Services, but whenever you need a web site requiring a host header, to be accessed form the same machine that hosts the site.

Reporting Services | IIS