Sunday 24 May 2009

Race Condition in netio.sys on Vista (and allusion to BIOS shadowing)

This results in BSOD on multiprocessor system. Solution is to download the MS hotfix (they will send you a password protected zip file to install the hotfix from).More details here.
When your PC crashes you may also see a message to disable ROM caching or shadowing. ROM is much slower to access than RAM (120ns compared with 50ns, say), so a performance "trick" is to shadow the ROM in the RAM (i.e. mirror the code). There is usually a separate parameter to control the shadowing of the system BIOS, video BIOS and adapter ROM areas.

Saturday 23 May 2009

Performance Considerations for using .NET framework

Very good article here.
Also details some of the optimisations on the path from MSIL to native, such as:

  • Constant folding - if x=5+7 at compile-time, x=12 at runtime
  • Loop unrolling
  • Code hoisitng - read the article to find out what this is!

Friday 22 May 2009

Why Windows Networking ipv6 Rocks

To be a Windows configuration and networking uber-master, you must be fully familiar with the the command-line tools like ipconfig, route.exe and netsh. You must also aware and ready for the oncoming onslaught of IPv6, know why it is needed and also be reasonably au fait with the new IPv6 header format (similarities and differences with IPv4). You need to know what SSIDs are (easy, they are Service set ids used to identify 802.11 wireless networks).
Even then, you will only be skimming the surface of knowledge possessed by true Windows networking gymnasts.

The key beauty of v6 IP, is its incredibly ingenious and generous 128 bit source and destination IP addresses (FOUR TIMES THE SIZE OF IPv4), which can express over 10^38 possible combinations - amazing! Ubiquitous, interplanetary computing here we come!

IPv6 will form the basis of the IP-routing infrastructure of the 21st Centuramos. This is a certainty.

Here's ANOTHER super-cool fact about IPv6, it has standards-based security built in in the form of IPSec - ENCRYPTION SERVICES for IP NETWORK TRAFFIC. I know what you are thinking? How do I QUICKLY apply IPSec technology to secure traffic between client and server? There is some terminology to get familiar with before you start reading up on IPSec meaningfully. The first is L2TP (Layer Two Tunnelling Protocol).

IPv6 configuration is complicated by different types of addresses (G-L-S), for varying levels of GLOBALNESS and LOCALNESS. We have Global addresses (globally reachable on IPv6 portion of the Internet; these addresses typically begin with "2" or "3"), Link-local, used on a specific link (always begin with fe80), site-local, used within an organization's intranet, can be reused for different sites of an organization.

Praciticalites - To get help on ipconfig, open a command window and type ipconfig /?.

Now you can type:

ipconfig .. or...
ipconfig /all

You'll probably see rows like:
Wireless LAN adapter
Ethernet adapter Local Area Connection 2:
Ethernet adapter Local Area Connection 3:
Tunnel adapter Local Area Connection* 6:
Tunnel adapter Local Area Connection* 7:

You'll see IPv6 addresses are given before IPv4 addresses.

What is a tunnel adapter I hear you holler? some IPv6 transition technology, methinks...prepare to see a lot of these "transition technologies" going forward!

Sunday 10 May 2009

Programming Quotes

Monte Carlo sampling is no way to understand code.
Gordon McMillan (comp.lang.python)

You think you know when you can learn, are more sure when you can write, even more when you can teach, but certain when you can program.
Alan Perlis

Just getting something to work usually means writing reams of code fast, like a Stephen King novel, but making it maintainable and high-quality code that really expresses the ideas well, is like writing poetry. Art is taking away.
Erik Naggum (comp.lang.lisp)

Friday 8 May 2009

PowerPoint Science

PowerPoint puts presentation-making powers into the hands of ordinary Windows Joes. Here are some top tips:

Q: How do I view lots of slides on 1 page?
A: File -> Print Preview, Select: Print What [ Handout (6 slides per page) ]

Q: How do I view two slides at the same time?
A: Window -> New Window. Window -> Arrange All.

Wednesday 6 May 2009

Windows Numbers

3389 - the default port to listen for RDP connection requests on a Windows machine

127.0.0.1 - standard IP address used for a loopback network connection

Monday 4 May 2009

Windows Processes

Some Windows processes not adequately explained by Task manager:

* igfxsvrc.exe: process associated with Intel Common User Interface, installed with graphics card drivers with Intel chipsets.
* igfxext.exe: related

If lots of instances occur, it could be malware.

* monitor.exe: Windows process, relating to monitoring hardware components for performance bottlenecks

Saturday 2 May 2009

Virtualization on Windows - And Why you Need it Now

VMware Player allows you to run virtual machines on Windows (or Linux)...but on this blog we are only interested in Windows! The current version is 2.5. It's used to operate VMs created by VMware Workstation, VMware Fusion, VMware Server or VMware ESX and Microsoft Virtual Server and Microsoft Virtual PC virtual machines. Woo hoo! If you want to run Sage (open source math application) on Windows YOU NEED VMWARE PLAYER!!!

A lot of investment is going on in hypervisor technology.

Hypervisors may include software or hardware used to create virtual machines. They are also known as VMMs or virtual machine monitors, and are referred to as hosts, with the VMs they create being known as guests. The term hypervisor is actually quite old in computer terms, it dates from 1974 in an article by Gerald Popek (PhD mathematician from Harvard, later to taken on various CTO roles) and Robert Goldberg. They came up with the hypervisor classification of Type 1 (bare metal, or the "old IBM way") and Type 2 ("software way") which is adopted by many companies such as VMWare. A Type 2 hypervisor is also known as a "hosted hypervisor".

A lot of dynamics around the industry are changing in the area of virtualization.