Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

100% Positive

Analyzed from 422 words in the discussion.

Trending Topics

#flags#bits#countries#encoding#arms#https#different#used#store#coats

Discussion (8 Comments)Read Original on HackerNews

mabster•43 minutes ago
Loved the title. I was like "that's 10 bits too many for a flag!" Haha
xp84•7 minutes ago
Slightly reminds me of how we used to use TINYINT in MySQL to store boolean flags (which can store a range from -128 to 127 or 0-255 if unsigned).

I'm the kind of nerd who secretly wished to store many such bools in one integer and use the bitwise operators to query them, but restrained myself from ever doing this, since if I managed to sneak that through code review, the number of curses of my name would no doubt become so large (and so loud) over time that it would affect my employability.

kjgkjhfkjf•about 1 hour ago
In case anyone else was curious about using a lookup table: there are there are fewer than 256 recognized countries or territories [1], so 8 bits should be enough for a key.

This would be superior to the 11-bit encoding presented here because it handles complexities such as coats of arms. It would also handle bizarre situations such as two countries having almost identical flags [2].

[1] https://en.wikipedia.org/wiki/List_of_countries_and_territor...

[2] https://www.worldatlas.com/articles/country-flags-that-resem...

eventualcomp•18 minutes ago
Maybe there's an allegory to the sciences. But I rather a model be suboptimal in encoding that can be used to generate hypothetical reasonable flags in its unpopulated states, than having an optimal encoding which doesn't answer questions or reveal possibilities in its unpopulated states. Like what does flag #0xFE look like in an 8-bit encoding? I really like the idea of driving compressed trees in reverse with random data to generate new fascinating (valid) sequences.

Also, for compressing into 8 bits - is this not like saying "I can compress all of Shakespeare's plays in 6 bits" because there are ~39 plays, but then the size of the "shakespearezip" is just the sum of the works?

dhosek•32 minutes ago
I’m surprised that the near-identical flags list omits Slovenia and Slovakia which both have white-blue-red horizontal stripes and a coat of arms (albeit with slightly different placement and different background colors on the coats of arms). A part of me feels like it’s part of a long-time joke the two countries are playing to confuse non-Slavs (the Slovenian word for their language is Slovenščina while the Slovak word for their language is Slovenčina and this is just the beginning of the confusion between the two countries/nationalities).
porphyra•43 minutes ago
you could also exploit the fact that some flags may appear more frequently than others and use huffman encoding or something to encode the commonly used flags in a shorter sequence than rarely-mentioned countries, and save some bits on average
opiotrek•about 1 hour ago
but then you have to have the svg built into decoder. will they be smaller than 5KB?

also then it's no different from a svg sprite

pimlottc•about 1 hour ago
Surprised this didn’t mention heraldry, which has what’s basically a DSL for coats-of-arms:

https://en.wikipedia.org/wiki/Blazon

Smalltalker-80•about 1 hour ago
Nobody? Okay then: "Fun with flags!". There, I said it.
ano-ther•about 1 hour ago
Cool idea. Interesting that Indonesia, Poland and Monaco with very similar two-stripe designs have different compression rates (11, 14 and 17 respectively). Probably the aspect ratio that also gets encoded.
jtxt•about 1 hour ago
Cool project and results! https://vantezzen.github.io/miniflags/