Zulip Chat Archive

Stream: Equational

Topic: favicon.ico for the project


Eric Taucher (Oct 20 2024 at 16:38):

In creating a possible dynamic display of the implications graph on an HTML page, it would be beneficial to have a custom favicon.ico.

Currently need a 48x48 icon.

Any ideas or someone interested in creating one.

Terence Tao (Oct 22 2024 at 16:49):

Maybe just an     \implies symbol?

Terence Tao (Oct 22 2024 at 16:50):

Or a small graph with several such symbols

Terence Tao (Oct 22 2024 at 16:51):

Though with only 48 x 48 it probably one cannot have more than one arrow without looking extremely cluttered

Terence Tao (Oct 22 2024 at 17:05):

Many of the options at https://www.flaticon.com/free-icons/implies seem acceptable

Pietro Monticone (Oct 22 2024 at 18:45):

This looks good to me https://www.flaticon.com/free-icon/implies_12958027?term=implies&page=1&position=27&origin=search&related_id=12958027

image.png

Eric Taucher (Oct 22 2024 at 18:50):

Should we take some suggestions for a few days and then put it up for a vote?

Jose Brox (Oct 22 2024 at 21:53):

Eric Taucher ha dicho:

Should we take some suggestions for a few days and then put it up for a vote?

I like this one:

https://www.flaticon.com/free-icon/signal_16490824

imagen.png

Alex Meiburg (Oct 23 2024 at 03:24):

Can I suggest something with a miniature volcano? Something punning on "magma" :)

Alex Meiburg (Oct 23 2024 at 03:31):

https://www.flaticon.com/free-icon/mountain_16073986?term=magma&page=1&position=36&origin=search&related_id=16073986 Based on this,
magma_imp.png

Jose Brox (Oct 24 2024 at 09:07):

Alex Meiburg ha dicho:

https://www.flaticon.com/free-icon/mountain_16073986?term=magma&page=1&position=36&origin=search&related_id=16073986 Based on this,
magma_imp.png

Very nice! But that would be "lava", not "magma"! :thinking:

Daniel Weber (Oct 24 2024 at 09:19):

https://www.flaticon.com/free-icon/geology_5275394?term=earth+layers&related_id=5275394, with an arrow on it could work for magma, maybe?

Daniel Weber (Oct 24 2024 at 09:20):

An arrow between tables is another option

Alex Meiburg (Oct 24 2024 at 15:17):

Jose Brox said:

Very nice! But that would be "lava", not "magma"! :thinking:

I'm aware. And was waiting for someone to say something objecting, and it took much longer than I expected. Now I've lost a bet! :wink:

Alex Meiburg (Oct 24 2024 at 15:18):

the sad reality is that it's harder (although not impossible, as Daniel's link shows) to illustrate a substance that is, as part of its definition, covered by something else and obscured from the air.

Fan Zheng (Oct 25 2024 at 10:45):

How about taking the right half of @Daniel Weber 's magma icon, flip it to the left, and put the fork of implications suggested by @Jose Brox on the right?

Eric Taucher (Oct 25 2024 at 11:03):

When creating this topic set the limit to 48x48 pixels as a ico file type as that is what I typically use and know to work. If others want to try other formats and size that should work as a favicon, e.g. 64x64, png, etc. please consider that. The true test of a favicon is to have it display in the name next to a tab of an web browser.

Eric Taucher (Oct 25 2024 at 11:05):

I do not have a pressing need for a specific favicon.ico at present as I typically just use one as a place holder to check the functionality of the HTML, but know that giving others time to thing about such often produces better results in the long run.

Daniel Weber (Oct 25 2024 at 11:10):

Fan Zheng said:

How about taking the right half of Daniel Weber 's magma icon, flip it to the left, and put the fork of implications suggested by Jose Brox on the right?

Like this?
testico.png

Eric Taucher (Oct 25 2024 at 11:16):

Have also been using ChatGPT with the 01-preview model to create some Python code.

Share:
https://chatgpt.com/share/671b7bba-58cc-8013-b5a1-05f18bde507a

For those that can not access the share here is the latest code it created that I did test and works.

from PIL import Image, ImageDraw

# Create a new image with a transparent background
size = (64, 64)
image = Image.new('RGBA', size, (255, 255, 255, 0))
draw = ImageDraw.Draw(image)

# Define nodes for the Hasse diagram
# Positions are (x, y) tuples
nodes = [
    (32, 8),   # Top node
    (16, 24),  # Left middle node
    (48, 24),  # Right middle node
    (24, 40),  # Left bottom node
    (40, 40),  # Right bottom node
    (32, 56),  # Bottom node
]

# Draw nodes as small circles
node_radius = 2
for x, y in nodes:
    draw.ellipse(
        [
            (x - node_radius, y - node_radius),
            (x + node_radius, y + node_radius)
        ],
        fill='black'
    )

# Define edges as pairs of node indices
edges = [
    (0, 1),  # Top node to left middle node
    (0, 2),  # Top node to right middle node
    (1, 3),  # Left middle node to left bottom node
    (2, 4),  # Right middle node to right bottom node
    (3, 5),  # Left bottom node to bottom node
    (4, 5),  # Right bottom node to bottom node
]

# Draw edges as lines between nodes
for start_idx, end_idx in edges:
    start_pos = nodes[start_idx]
    end_pos = nodes[end_idx]
    draw.line([start_pos, end_pos], fill='black', width=1)

# Optional: Draw arrows to represent implications
# Since the image is small, arrows are simplified as lines with a small 'v' at the end
def draw_arrow(draw, start_pos, end_pos):
    draw.line([start_pos, end_pos], fill='black', width=1)
    # Calculate arrowhead points
    arrow_length = 4
    angle = math.atan2(end_pos[1] - start_pos[1], end_pos[0] - start_pos[0])
    left_angle = angle + math.pi / 6
    right_angle = angle - math.pi / 6
    left_x = end_pos[0] - arrow_length * math.cos(left_angle)
    left_y = end_pos[1] - arrow_length * math.sin(left_angle)
    right_x = end_pos[0] - arrow_length * math.cos(right_angle)
    right_y = end_pos[1] - arrow_length * math.sin(right_angle)
    draw.line([end_pos, (left_x, left_y)], fill='black', width=1)
    draw.line([end_pos, (right_x, right_y)], fill='black', width=1)

import math

# Redraw edges with arrows to indicate implications
draw.rectangle([(0, 0), size], fill=(255, 255, 255, 0))  # Clear the image

# Draw nodes again
for x, y in nodes:
    draw.ellipse(
        [
            (x - node_radius, y - node_radius),
            (x + node_radius, y + node_radius)
        ],
        fill='black'
    )

# Draw edges with arrows
for start_idx, end_idx in edges:
    start_pos = nodes[start_idx]
    end_pos = nodes[end_idx]
    draw_arrow(draw, start_pos, end_pos)

# Save the image as favicon.ico with multiple sizes
icon_sizes = [(16, 16), (32, 32), (48, 48), (64, 64)]
image.save('favicon.ico', format='ICO', sizes=icon_sizes)

Instructions to Run the Code

Install the Pillow Library

If you haven't installed Pillow yet, run:

pip install Pillow

Save the Script

Copy the Python code provided above.
Save it as create_hasse_favicon.py.

Run the Script

Execute the script from your command line:

python create_hasse_favicon.py

Locate Your Favicon

After running the script, a favicon.ico file will be created in the same directory.

Terence Tao (Oct 25 2024 at 14:34):

Maybe it's time to show some sample icons and set up a poll? I'm happy for someone else to take the lead on this.

Eric Taucher (Oct 25 2024 at 14:42):

Terence Tao said:

Maybe it's time to show some sample icons and set up a poll?

I would like to wait until we have at least 10 or more. I still have not really put much effort into it, just leaving it on the back burner to focus on other items.

Eric Taucher (Oct 25 2024 at 14:43):

Terence Tao said:

I'm happy for someone else to take the lead on this.

I have no problem with that.

One question: Is there a deadline for one being needed if it is to be present with a GitHub repository or a paper?

Terence Tao (Oct 25 2024 at 14:46):

I don't think there is any time pressure here. We probably won't start writing until we have either resolved all the implications, or are clearly stuck on all open implications, and even then it will take weeks to get the paper finalized, and even after that we can keep working on other aspects of the repo as the paper is being submitted. So there isn't any hard deadline any time soon.


Last updated: May 02 2025 at 03:31 UTC