Monday, January 13, 2014

What is Debug/Checked Build in MSDN Downloads of Windows

The debug/checked build contains binaries with additional debug information, assertions, trace messages, and no compiler optimizations. This version is only meant to be used to debug your applications or diagnose system problems, often with a kernel debugger. It is not meant for normal use since it is substantially slower than the retail builds.

Wednesday, January 8, 2014

Drawing circles (and lines, triangles, squares, octagons, etc) with HTML5

<!DOCTYPE html>
Step: <input type="text" id="stepValue" value="20"/><br/>
Radius: <input type="text" id="radius" value="50"/><br/>
offset from left: <input type="text" id="h" value="10"/><br/>
offset from top<input type="text" id="k" value="10"/><br/>
clear <input type="checkbox" id="clear" checked/>
<input type="button" value="Draw" onclick="drawCircle();"/><br/>
<canvas id="canvas1" width="220" height="220" style="border:1px solid #c3c3c3;">
Your browser does not support the HTML5 canvas tag.


function drawCircle(){
var stepParam = parseInt(document.getElementById("stepValue").value);
var radius = parseInt(document.getElementById("radius").value);
var clear = document.getElementById("clear").checked;

var canvas=document.getElementById("canvas1");
   var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, canvas.width, canvas.height);
    //var step = 2*Math.PI/100;
var step = 2*Math.PI/stepParam;
    var r = radius;
    var h = parseInt(document.getElementById("h").value) + r; // offset from left margin, remove r for concentric
    var k = parseInt(document.getElementById("k").value) + r; //offset from top, remove r for concentric

    ctx.beginPath();  //tell canvas to start a set of lines

    for(var theta=0;  theta < 2*Math.PI;  theta+=step)
     { var x = h + r*Math.cos(theta);
       var y = k - r*Math.sin(theta);  

    ctx.closePath();     //close the end to the start point
ctx.stroke();        //actually draw the accumulated lines


Monday, January 6, 2014

Reviewing Optical Lithography since 1995

I was re-reading an article from 1995 that warned of the 180 nm limit in CPU manufacturing.  Reviewing where the technology went since then, I found this Wikpedia excerpt encapsulated it as much as anything:

Optical lithography has been extended to feature sizes below 50 nm using the 193 nm ArF excimer laser and liquid immersion techniques. Also termed immersion lithography, this enables the use of optics with numerical apertures exceeding 1.0. The liquid used is typically ultra-pure, deionised water, which provides for a refractive index above that of the usual air gap between the lens and the wafer surface. The water is continually circulated to eliminate thermally-induced distortions. Water will only allow NA's of up to ~1.4, but materials with higher refractive indices will allow the effective NA to be increased further.
Experimental tools using the 157 nm wavelength from the F2 excimer laser in a manner similar to current exposure systems have been built. These were once targeted to succeed 193 nm lithography at the 65 nm feature size node but have now all but been eliminated by the introduction of immersion lithography. This was due to persistent technical problems with the 157 nm technology and economic considerations that provided strong incentives for the continued use of 193 nm excimer laser lithography technology. High-index immersion lithography is the newest extension of 193 nm lithography to be considered. In 2006, features less than 30 nm were demonstrated by IBM using this technique

Thursday, January 2, 2014

WinXP Recovery Just Shows Desktop, No Start Menu, Task Bar

ctrl+alt+del and click start task manager
Right click and click New Task (Run...)
Type (in command prompt) start explorer.exe