Display the Hacker Logo You may have heard of the "Hacker Logo", also called the "Hacker Emblem". It looks like this:



This is a pattern from a mathematical simulation called the Game of Life. The glider is the simplest Life pattern that moves, and the most instantly recognizable of all Life patterns.

The challenge

The challenge is pretty simple: Display the hacker logo. This is defined as:


A 3x3 grid with a border, a white background and gray gridlines.
Five black dots arranged in the GoL glider pattern.
Nothing else.


The rules


The black dots must fill 40%-80% of their individual grid-boxes.
You will display the emblem with graphical output but no ASCII art.
The output must be at least 30x30 pixels.
The output must only have the colors gray, black and white.
Each grid-box in the grid will be the same size. The grid will be a regular 3x3 square.
You may not pull the logo from the internet or your filesystem.
Your program will display the logo on an empty screen/window. If it terminates it must do so normally.
Note that "dots" does not necessarily mean "circles". A "dot" is a single geometric shape centered in the middle of the grid-box with one surface. For example, while a circle or square will qualify as a dot, two triangles or a checkerboard will not.


The winner

As this is code-golf, the shortest answer in each language wins!

Please include a screenshot of the output of your program in your answer.
CSS+HTML, 56+84=140 bytes 52+84=136 bytes

Saved 4 bytes by incorporating suggestions from the comments.



td{border:1px solid#888;line-height:.4;font-size:3em
&lt;table cellspacing=0&gt;&lt;tr&gt;&lt;td&gt;&lt;td&gt;•&lt;td&gt;&lt;tr&gt;&lt;td&gt;&lt;td&gt;&lt;td&gt;•&lt;tr&gt;&lt;td&gt;•&lt;td&gt;•&lt;td&gt;•




This uses the UTF-8 character • which is 2 bytes long and takes advantage of the graciousness of HTML syntax.