Window size

A simple window size reporter which runs in modern browsers (and even those back to Safari 5 and IE 6). Additionally, the browser agent string is displayed and if feasible, a simple canvas animation. Click here to launch in a new window.


Loss of image quality in Word 2007

Finally, a mystery is solved. When saving a document using Word 2007, image quality would decrease. At first, I thought it was due to saving as a PDF. Turns out there is an option to fix this issue and it took a long time to find it.

Compression can be disabled on a per-file basis using the following steps:
Click the Office Button, and then click Save As.
Click Tools, and then click Compress Pictures.
Click Options.
Click to clear the Automatically perform basic compression on save check box.
Click OK.
In the Compress Pictures dialog box, click Cancel.

Note: Clicking OK on this dialog will not prevent the issue from occurring.

You can also modify a registry setting to prevent basic compression from occurring by default.

For further details see:


Update: Another option is to double the size of the document. For example, if targeting a size of 8.5x11, then set the document size to 17x22 and adjust margins and font size to compensate. When saving to PDF, the images will still be down-sampled to 220dpi, however, this translates to 440dpi at double the size. If printing, scale the document to 50% in the printer settings. Images will be crisp. Or...move on to libreoffice.org



Noi viviamo sommersi nel fondo d'un pelago d'aria. -Evangelista Torricelli


JavaScript popularity

According to the 2019 Stack Overflow survey: "For the seventh year in a row, JavaScript is the most commonly used programming language"



The CSS cubic-bezier timing function creates easing curves using 4 control points.

The first and last control points are fixed at (0,0) and (1,1), while the second and third control points are passed as arguments to create a variety of easing curves.

Sometimes an "in-out" easing is needed which starts slow and ends slow. I experimented to find a curve that best approximates the smootherStep function (see here) which produces a natural acceleration similar to when we change lanes while driving on the highway or when we reach for something (see also this).

Specifying the timing function as "cubic-bezier(.49,0,.51,1)" creates the lowest error compared to the minimum-jerk reference (see code at the bottom of this article). Visualize the timing here using Lea Verou’s cubic-bezier.com (compare to ease-in-out). JSFiddle example: https://jsfiddle.net/intrinsica/9ryqet30

If a preset it created, it could be aliased as easeSmoother or easeInOutSmoother.

The green curve below is the reference min-jerk function. The purple curve is the easeSmoother cubic-bezier.

JavaScript reference (see also):

function MinJerk(t) {
  var ts = t * t, tc = ts * t;
  return 6*tc*ts - 15*ts*ts + 10*tc;


let MinJerk = t => (6*t*t-15*t+10)*t*t*t;

Below is the L2 error curve, comparing the cubic-bezier to the reference min-jerk function.

KVR News:

The Gadget Blog | Latest Gadgets, Technology