this post was submitted on 24 May 2026
343 points (98.0% liked)

Mildly Infuriating

46106 readers
261 users here now

Home to all things "Mildly Infuriating" Not infuriating, not enraging. Mildly Infuriating. All posts should reflect that. Please post actually infuriating posts to !actually_infuriating@lemmy.world

I want my day mildly ruined, not completely ruined. Please remember to refrain from reposting old content. If you post a post from reddit it is good practice to include a link and credit the OP. I'm not about stealing content!

It's just good to get something in this website for casual viewing whilst refreshing original content is added overtime.


Rules:

1. Be Respectful


Refrain from using harmful language pertaining to a protected characteristic: e.g. race, gender, sexuality, disability or religion.

Refrain from being argumentative when responding or commenting to posts/replies. Personal attacks are not welcome here.

...


2. No Illegal Content


Content that violates the law. Any post/comment found to be in breach of common law will be removed and given to the authorities if required.

That means: -No promoting violence/threats against any individuals

-No CSA content or Revenge Porn

-No sharing private/personal information (Doxxing)

...


3. No Spam


Posting the same post, no matter the intent is against the rules.

-If you have posted content, please refrain from re-posting said content within this community.

-Do not spam posts with intent to harass, annoy, bully, advertise, scam or harm this community.

-No posting Scams/Advertisements/Phishing Links/IP Grabbers

-No Bots, Bots will be banned from the community.

...


4. No Porn/ExplicitContent


-Do not post explicit content. Lemmy.World is not the instance for NSFW content.

-Do not post Gore or Shock Content.

...


5. No Enciting Harassment,Brigading, Doxxing or Witch Hunts


-Do not Brigade other Communities

-No calls to action against other communities/users within Lemmy or outside of Lemmy.

-No Witch Hunts against users/communities.

-No content that harasses members within or outside of the community.

...


6. NSFW should be behind NSFW tags.


-Content that is NSFW should be behind NSFW tags.

-Content that might be distressing should be kept behind NSFW tags.

...


7. Content should match the theme of this community.


-Content should be Mildly infuriating. If your post better fits !Actually_Infuriating put it there.

-The Community !actuallyinfuriating has been born so that's where you should post the big stuff.

...


8. Reposting of Reddit content is permitted, but attribution is not required in any way. No links to Reddit in post body


-If you would like to provide a source link, do so in the comments but not in the post body.

...

...


Also check out:

Partnered Communities:

1.Lemmy Review

2.Lemmy Be Wholesome

3.Lemmy Shitpost

4.No Stupid Questions

5.You Should Know

6.Credible Defense


Reach out to LillianVS for inclusion on the sidebar.

All communities included on the sidebar are to be made in compliance with the instance rules.

founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] Snazz@lemmy.world 6 points 2 days ago (1 children)

What I would have done is started filling in letters randomly and every time a C or W ends up next to an O, choose the same letter or an O to put on the opposite side of the O.

Its hard to prove, but I’m pretty sure there isn't a situation where a space can’t be filled in with this algorithm.

[–] MatSeFi@lemmy.liebeleu.de 2 points 1 day ago

Yes, this would work — but it comes with a subtle statistical bias: the character 'W' ends up underrepresented. With a naïve “avoid COW” approach, only about 25% of the grid will typically be 'W'.

A more elegant solution would be:

  • fill the grid completely at random
    • search for every "COW" cluster
      • whenever one is found, copy a random character from one cell in the cluster into another cell of the same cluster
    • Iterate until no "COW" remains

That keeps the distribution much closer to uniform while still guaranteeing a valid puzzle. Then just insert the single "COW" manually wherever you want the hidden solution to be.

Julia code example

s= (320,180)            #size
m=rand(['C','O','W'],s) #random init
c=1
while c>0      #iterate till solved
    c=0
    for i in 1:first(s)
        for j in 1:last(s)

            #check for 'COW' in each cluster of 3 and copy a character
            #from a rendom cell to an other random cell of the cluster if found
            
            if i>2 &&  m[i-2:i,j] ==['C','O','W']   #vertical
                c +=1
                r =shuffle([1,2])
                m[i-r[1],j] = m[i-r[2],j]
            end
            if j>2 && m[i,j-2:j]  ==['C','O','W']   #horizontal
                c +=1
                r =shuffle([0,1,2])
                m[i,j-r[1]] = m[i,j-r[2]]
            end
        end
    end
end

The neat part is that this preserves an almost perfectly balanced character frequency.

For comparison, the puzzle in the example image seems to contain roughly:

C: ~260 (~25%) O: ~520 (~50%) W: ~244 (~25%)

So the original author clearly used a different generation strategy.

Possibly on purpose: visually, 'C' and 'O' are much easier to confuse than 'W'. Reducing the number of 'W's therefore increases the search difficulty. In that sense, the approach suggested by @Snazz@lemmy.world is probably preferable: keep the distribution mostly balanced, but intentionally bias it just enough to make the puzzle psychologically annoying.

I wonder if there is a non iterative way to generate this puzzle with a 'uniform' character distribution 🤔