Monthly Archives: September 2008

Sending CTRL+ ALT + DEL to Virtual Machine

I found this handy little tip today when I had to send CTRL+ALT+DELETE to a remote desktop session (which always ends up being processed by the local machine and not the remote one). The keystroke is CTRL+ALT+END. Handy to know and remember!

Others include..

Shift+Ctrl+Alt+Delete for VNC.
Ctrl+Alt+Del for Local system.
Ctrl+Alt+End for Remote Desktop.
Ctrl+Alt+Insert for VMWare image.

Characteristics of a Good Leader

How often have you heard the comment, “He or she is a born leader?” There are certain characteristics found in some people that seem to naturally put them in a position where they’re looked up to as a leader.

Whether in fact a person is born a leader or develops skills and abilities to become a leader is open for debate. There are some clear characteristics that are found in good leaders. These qualities can be developed or may be naturally part of their personality. At Billhighway, we aim to set the bar pretty high for “Leaders” as referenced by our core values. While conducting performance reviews recently, I came across the following qualities which I thought were worth sharing.  

Qualities Found In A Good Leader:

1. A good leader has an exemplary character. It is of utmost importance that a leader is trustworthy to lead others. A leader needs to be trusted and be known to live their life with honestly and integrity. A good leader “walks the talk” and in doing so earns the right to have responsibility for others. True authority is born from respect for the good character and trustworthiness of the person who leads.

2. A good leader is enthusiastic about their work or cause and also about their role as leader. People will respond more openly to a person of passion and dedication. Leaders need to be able to be a source of inspiration, and be a motivator towards the required action or cause. Although the responsibilities and roles of a leader may be different, the leader needs to be seen to be part of the team working towards the goal. This kind of leader will not be afraid to roll up their sleeves and get dirty.

3. A good leader is confident. In order to lead and set direction a leader needs to appear confident as a person and in the leadership role. Such a person inspires confidence in others and draws out the trust and best efforts of the team to complete the task well. A leader who conveys confidence towards the proposed objective inspires the best effort from team members.

4. A leader also needs to function in an orderly and purposeful manner in situations of uncertainty. People look to the leader during times of uncertainty and unfamiliarity and find reassurance and security when the leader portrays confidence and a positive demeanor.

5. Good leaders are tolerant of ambiguity and remain calm, composed and steadfast to the main purpose. Storms, emotions, and crises come and go and a good leader takes these as part of the journey and keeps a cool head.

6. A good leader as well as keeping the main goal in focus is able to think analytically. Not only does a good leader view a situation as a whole, but is able to break it down into sub parts for closer inspection. Not only is the goal in view but a good leader can break it down into manageable steps and make progress towards it.

7. A good leader is committed to excellence. Second best does not lead to success. The good leader not only maintains high standards, but also is proactive in raising the bar in order to achieve excellence in all areas.

These seven personal characteristics are foundational to good leadership. Some characteristics may be more naturally present in the personality of a leader. However, each of these characteristics can also be developed and strengthened. A good leader whether they naturally possess these qualities or not, will be diligent to consistently develop and strengthen them in their leadership role.

Testing IT Professionals

There is an article up on Slashdot this morning discussing the subject of testing IT job candidates, which is worth a read for the person responsible for recruiting IT Pros in your shop.

An announomous reader writes “After having my university degrees, a couple of IT certifications, and over ten years of work experience in the industry, with verifiable employment, is it reasonable to ask me to take some test on a job interview? The same companies don’t ask other professionals (lawyer, accountant, sales, HR, etc.) to submit to any kind of in-house tests when they are hired. Why are IT professionals treated differently and in such a paternalistic way?”

Scott Wilson, of CIO Weblog says, it is too blanket a conversation to be having, although the matter is clearly an important one on both sides of the table. But the fact is that there are some jobs which you can reasonably test people on before they are hired, and others were only their experience and whatever Socratic dialogue you can come up with during the interview are worth much. The higher you go in the hierarchy, the less you can rely on tests. It’s reasonable to sit a tech support candidate down in front of a computer (an unplugged computer; always my favorite) and say, “Figure out what is wrong with this and fix it.” It’s more difficult to do with an IT manager who may be responsible for fixing a whole department.

The problem is that technology is broad and oddly enough, less codified in some ways than other professions where testing is the norm (medicine, law, accounting, etc). For a given problem in this field, there may be a dozen equally acceptable technical solutions, and more emerging each day as the state of the art advances. It’s extremely difficult for any test to judge multiple right answers, or to select among the gradations of right to find the ideal answer. Beyond that, while you can test knowledge in such a fashion, it’s very difficult to test the qualities that really matters in such a dynamic environment, such as adaptability and intelligence. You may bring in a candidate who has never worked on systems similar to yours before and he may fail every knowledge question on them that you can ask; yet he may be a better candidate than the one who knows the system inside and out, because he may be able to learn faster and adapt better… and if you think your systems are going to remain static for long, you must be new here. The ability to walk in cold on a new job and pick it all up from first or second principles is by far the most impressive and valuable skill in information technology today; it’s also the one that is least likely to be demonstrated in formal testing.

Visual Studio 2008 SP1

VS08 SP1, officially released 8/11/08, finally includes the EF, the Entity Data Model (EDM) and LINQ to Entities. EDM is a full-blown language-independent, database-independent entity-relationship model. It is supported by an Entity SQL language and is potentially useful for data-centric line-of-business applications. LINQ to Entities integrates queries against entities into C# and Visual Basic, which may obviate the need to learn the subtleties of Entity SQL for many programmers.

Note that Entity SQL is significantly different from the Transact-SQL query language used in Microsoft SQL Server. Speaking of SQL Server, SP1 adds full support for SQL Server 2008 to Visual Studio 2008, hot on the heels of the release of SQL Server 2008.

The major new Web features of SP1 are ASP.Net Dynamic Data and URL Routing. Both seem to have been influenced by the popularity of Ruby on Rails, in that they support the Model-View-Controller pattern and quick generation of Web pages from database schemas.

Dynamic Data lets you build a basic data-driven Web application very quickly, based on a data model, in much the same spirit as building a Rails scaffold application. It also improves the way the data-bound controls work, adding validation and templates. The MSDN walk-through of creating a new dynamic data Web site using scaffolding includes two ways of creating the data model: one using LINQ to SQL and the other using the Entity Framework. Check the Dynamic Data in Action section of the official ASP.Net page for a series of video tutorials.

URL Routing lets you create routing tables for your ASP.Net Web sites. This is a feature that was originally developed for the ASP.Net MVC Framework, which is still in preview; it was useful enough by itself that it was split off and released with SP1. The MVC Framework looks roughly like what you’d expect if you saw a proposal whose one-line sell was “ASP.Net meets Rails.”

What does URL routing actually do for you? Instead of having to use HTTP POST or query syntax to get to a data-dependent page, or having to do URL rewriting, you can use an ordinary-looking URL and have it translated by a routing table, which is more consistent with RESTful design and with the way search engines work — and more like Rails.

Speaking of REST support, the new Windows Communication Foundation (WCF) Web Programming Model adds support for REST, AJAX and JSON services, and both ATOM and RSS feeds. This is on top of WCF’s already strong support for XML Web services, the WS-* stack and an efficient but proprietary binary protocol. Who says Microsoft is out of touch with Web 2.0 and SOA?

I haven’t found any downside to installing VS08 SP1, other than the time; it took me several hours to download and install it over a relatively good, bonded T1 connection. Once installed, the SP1 changes are, in my experience, all good. Unless you have add-ons or SDKs that still require Visual Studio 2005 (the .Net Micro Framework comes to mind), I don’t see any reason for a Microsoft shop not to completely switch over to Visual Studio 2008 SP1.

Office Relocation Part 1: Planning the move

Below is the first part in a multi-post series surrounding a typical Office Relocation.  To read the introduction to this series or to view links of other sections, please click here.

For many companies the cost of leasing office space is typically one of the companies highest expense items – second to only the cost of salaries and wages – its important to be sure that both the move and the timing of the move are right for your company.  Briefly, the relocation process contains:

  • Establishing a relocation team to coordinate the move. This may also include an advisory team consisting of real estate and relocation professionals, a commercial real estate agent and real estate attorney.
  • Determining your needs.  How much space do you require?  What type of building fits your business?  What is your preferred geographic location?  Do you need to be located near restaurants, hotels and/or public transportation?  Lastly, you’ll need to prepare a budget.
  • Identify potential properties. Obtain a list of available properties from your commercial real estate agent.  Narrow the list by excluding properties that are unsuitable.  Schedule a tour of the remaining facilities.  Determine which locations could be appropriate for your business.
  • Prepare a preliminary space plan. With the help of a space planner or architect, determine the most efficient use of space at your two or three top building choices.  For construction cost estimates, establish a general type and amount of changes required.
  • Develop a Request for Proposal (RFP).  Your commercial real estate agent will prepare and distribute an RFP to the landlords of your top building choices.  Based upon response, determine which space would be the best alternative for your business.  Once determined, your real estate agent will submit a letter of intent to the landlord outlining the terms you intend the lease to be based upon.
  • Finalize space plan. Get input from departmental representatives and have a formal blueprint created to represent your new space should remodeling/construction be necessary.
  • Negotiate the terms of your lease. Once a lease is obtained and reviewed by decision-maker(s) from your company, get input from your real estate agent and attorney.  Renegotiate and/or accept lease terms.

Now, having conceptualized the process, you’ll need to dive a bit deeper into the details required for planning your move.

  1. Identify dedicated resources. This should include a relocation coordinator and departmental representation.  Each participant should understand occasional evening and weekend work may be necessary.  The team should also plan to attend weekly progress meetings, once details begin to materialize.
  2. Develop an advisory team:
      ->Commercial Real Estate Agent/Broker:
      Choose someone experienced in lease negotations and specialized in similar types of space (e.g. office, industrial, retail, etc.). Understand how he/she finds available space. Ask how this person will get paid for providing services. Also ask for 2 or 3 references of similar clients.
      ->Real Estate Attorney:
      He/she should help in determining rights of both parties and understanding the significance of all lease terms. Should also recognize and leverage the goals of the business with those of the landlord.
      ->Architect/Space Planner:
      Relocation is an excellent opportunity to design a more efficient working environment. This person can help in determining the correct amount of space required, taking into consideration current/future employees and growth expectations.
      ->Furniture Consultant:
      If buying new furniture, bring a furniture vendor into the process to help with the type of configuration of workstations and individual office furniture. Design services are typically offered at no charge to you, depending on the type of and quantity of furniture ordered.
      ->IT Consultant:
      This is crucial in helping to design and setup telephone/data services, esp. if you are planning to move significant existing equipment. Key considerations include building ample capacity for phone/data networks with appropriate access points throughout the new office. This resource may also be helpful in coordinating external vendors, such as utility providers, ISPs, phone companies, etc. and renegotiate contracts.
  3. Determine the budget. Consider the costs of professional advisory fees, hiring a moving company, relocating your equipment and computer network, replacing office furniture and printing costs for new business cards, stationary and other printed material, including relocation announcements for customers.
  4. Establish a Time Line. A typical move can take anywhere from six to 12 months of planning.  In general, your facility selection and lease review process will take the longest amount of time.  It’s important to continue working through other facets of the move, choosing a moving company, researching furniture options and office equipment during the facility selection process.
  5. Key Considerations
      Evaluate the feasibility of renewing your current lease before making decisions to relocate. If you choose to move, interview several commercial real estate agents. Be sure to check references as well as companies/properties they represent. Establish a moving date well in advance, ideally in less busy period of the business to ensure ample time for the relocation process.
  6. Action Steps
      10-12 months prior to the move you should: Appoint a relocation coordinator, interview and select a commercial real estate agent, engage services of a real estate attorney, select the rest of your advisory team including an architect or space planner as well as furniture and IT consultants. Next develop your relocation budget, including estimates for professional services, moving expenses and the cost of new furnishings and equipment. Lastly, schedule the prospective moving day, knowing that this may be a moving target until the office space selection and other factors are determined.

Next, we’ll dive into part 2, creating your ideal office environment.

Google “Chrome” Browser leaked

Google announced their very own browser project called Google Chrome — an announcement in the form of a comic book drawn by Scott McCloud.  Google says Google Chrome will be open source, include a new JavaScript virtual machine, include the Google Gears add-on by default, and put the tabs above the address bar (not below), among other things. While Google provided the URL www.google.com/chrome there’s nothing up there yet. The official Google Blog recently posted “A fresh take on the browser.”

In effect, this move is a blow aimed squarly at Redmond. It will be Netscape vs. Internet Explorer all over again. Except that instead of two giants fighting it out, it will be Microsoft against everyone else. And when everyone else happens to be giants in their own right, Microsoft’s prospects will start looking rather grim. Especially given the solid work already done by FireFox, Opera, and Safari.  Rumors also have it Microsoft stopped developing IE nearly 8 years ago (upgrades aimed at standards-compliance not withstanding.)