• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 20:58
CEST 02:58
KST 09:58
  • Home
  • Forum
  • Calendar
  • Streams
  • Liquipedia
  • Features
  • Store
  • EPT
  • TL+
  • StarCraft 2
  • Brood War
  • Smash
  • Heroes
  • Counter-Strike
  • Overwatch
  • Liquibet
  • Fantasy StarCraft
  • TLPD
  • StarCraft 2
  • Brood War
  • Blogs
Forum Sidebar
Events/Features
News
Featured News
Code S Season 2 (2026) - RO12 Preview0herO wins GSL Code S Season 1 (2026)0Code S Season 1 (2026) - RO4 & Finals Preview5[ASL21] Ro4 Preview: On Course12Code S Season 1 - RO8 Preview7
Community News
Weekly Cups (May 11-17): Classic wins double0Code S Season 1 (2026) - RO8 Results2Weekly Cups (May 4-10): Clem, MaxPax, herO win1Maestros of The Game 2 announcement and schedule !18Weekly Cups (April 27-May 4): Clem takes triple0
StarCraft 2
General
Code S Season 2 (2026) - RO12 Preview herO wins GSL Code S Season 1 (2026) Weekly Cups (May 11-17): Classic wins double Code S Season 1 (2026) - RO4 & Finals Preview Team Liquid Map Contest #22 - The Finalists
Tourneys
GSL Code S Season 1 (2026) GSL Code S Season 2 (2026) Maestros of The Game 2 announcement and schedule ! $1,400 SEL Season 3 Ladder Invitational $5,000 WardiTV Spring Championship 2026
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players
External Content
The PondCast: SC2 News & Results Mutation # 526 Rubber and Glue Mutation # 525 Wheel of Misfortune Mutation # 524 Death and Taxes
Brood War
General
Lights Ro.8 Review (asl s21) 25 Years Since Brood War Patch 1.08 vespene.gg — BW replays in browser BGH Auto Balance -> http://bghmmr.eu/ BW General Discussion
Tourneys
[Megathread] Daily Proleagues [ASL21] Semifinals B [BSL22] RO8 Bracket Stage + Another TieBreaker [ASL21] Ro8 Day 4
Strategy
Muta micro map competition Fighting Spirit mining rates [G] Hydra ZvZ: An Introduction Simple Questions, Simple Answers
Other Games
General Games
Stormgate/Frost Giant Megathread Warcraft III: The Frozen Throne ZeroSpace Megathread War of Dots, 2026 minimalst RTS Nintendo Switch Thread
Dota 2
The Story of Wings Gaming
League of Legends
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread YouTube Thread Russo-Ukrainian War Thread UK Politics Mega-thread
Fan Clubs
The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software)
TL Community
The Automated Ban List
Blogs
Why RTS gamers make better f…
gosubay
How EEG Data Can Predict Gam…
TrAiDoS
ramps on octagon
StaticNine
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1293 users

Math: Odds of Blogs Sidebar Being Diagonal

Blogs > micronesia
Post a Reply
micronesia
Profile Blog Joined July 2006
United States24773 Posts
August 29 2011 04:28 GMT
#1
Every once in a while I notice the blogs section in the sidebar has an interesting look to it: the usernames of the five most recent posters are arranged in ascending or descending length order. I was just wondering what the odds are of that happening so... here goes!

In the first slot we need either the shortest or longest name (let's assume no two names are the same length). This means we have 2 out of 5 odds. The next slot has to be the next longest (or shortest) name, so the odds are 1 in 4. The next slot has odds of 1 in 3, then the next 1 in 2. The last doesn't matter.

So the odds are:

+ Show Spoiler +
2/5 * 1/4 * 1/3 * 1/2 = 2/120 = 1/60.


Not too difficult, but seems like a reasonable answer given the fact that I notice this phenomenon from time to time, but not often.

Another interesting thing that came up... when I first did this a minute ago I typed it into MS calculator and got an answer of 0.01666...

I recognized that that was probably a fraction but couldn't figure out how to convert it offhand without using a calculator's answer->fraction function. According to someone I just spoke to:

In general, if a decimal eventually repeats with period n, you can multiply by 10^n-1 to get a terminating one.


So 9*0.01666... = 0.15 = 15/100. So 0.0166666 = 15/900 = 1/60.

An interesting trick/rule I had no idea about.

****
ModeratorThere are animal crackers for people and there are people crackers for animals.
Ingenol
Profile Blog Joined November 2008
United States1328 Posts
August 29 2011 04:32 GMT
#2
Hmmmm that's a pretty neat trick.
infinitestory
Profile Blog Joined April 2010
United States4053 Posts
August 29 2011 04:32 GMT
#3
Alternatively, you could replace the usernames by their ordinal length (i.e. numbers 1-5, based on length). Then, the only arrangements that will look "diagonal" are 12345 and 54321, so 2/(5!) = 1/60.
Translator:3
micronesia
Profile Blog Joined July 2006
United States24773 Posts
August 29 2011 04:34 GMT
#4
Yeah that's the shortcut infinitestory :p

ty for pointing it out
ModeratorThere are animal crackers for people and there are people crackers for animals.
JeeJee
Profile Blog Joined July 2003
Canada5652 Posts
August 29 2011 04:53 GMT
#5
re: the whole repeating decimal thing
another way to look at it:

how to create any repeating decimal you want:
let's say you're pro and you wanna repeat 31337
so 0.313373133731337....

x=0.3133731337...
100000x = 31337.31337....
subtract the 2
99999x = 31337

so the fraction that makes the original x is 31337/99999 (which is sadly irreducible. sometimes you get cool fractions though).

same for the 0.0166...

x=0.0166..
100x=1.66...
1000x=16.66....
900x = 15

it's pretty cute
(\o/)  If you want it, you find a way. Otherwise you find excuses. No exceptions.
 /_\   aka Shinbi (requesting a name change since 27/05/09 ☺)
nitdkim
Profile Blog Joined March 2010
1264 Posts
August 29 2011 04:54 GMT
#6
Short thread title attract eyes of mods. Those threads are usually instalocked.
PM me if you want random korean images translated.
Ingenol
Profile Blog Joined November 2008
United States1328 Posts
August 29 2011 04:59 GMT
#7
On August 29 2011 13:53 JeeJee wrote:
re: the whole repeating decimal thing
another way to look at it:

how to create any repeating decimal you want:
let's say you're pro and you wanna repeat 31337
so 0.313373133731337....

x=0.3133731337...
100000x = 31337.31337....
subtract the 2
99999x = 31337

so the fraction that makes the original x is 31337/99999 (which is sadly irreducible. sometimes you get cool fractions though).

same for the 0.0166...

x=0.0166..
100x=1.66...
1000x=16.66....
900x = 15

it's pretty cute

Ah yes, that reminds me of learning 0.99999999...=1. That blew my mind in 9th grade.
Clerseri
Profile Joined June 2010
Australia150 Posts
August 29 2011 05:07 GMT
#8
If you wanted to be picky, there's a chance that names are of equal length. Which means one of three thigns -

either equal names are always unacceptable, in which case diagonal becomes significantly less likely.

Or they are always acceptable, in which case it becomes much MORE likely, because you now have two chances to hit the right name at that point.

Or they are sometimes acceptable (two names of equal length still makes it look diagonal, but 5 names of equal length don't) in which case you're on your own
Fantasy will be the next big thing in SC2.
micronesia
Profile Blog Joined July 2006
United States24773 Posts
August 29 2011 05:13 GMT
#9
On August 29 2011 14:07 Clerseri wrote:
If you wanted to be picky, there's a chance that names are of equal length. Which means one of three thigns -

either equal names are always unacceptable, in which case diagonal becomes significantly less likely.

Or they are always acceptable, in which case it becomes much MORE likely, because you now have two chances to hit the right name at that point.

Or they are sometimes acceptable (two names of equal length still makes it look diagonal, but 5 names of equal length don't) in which case you're on your own

Yeah. The cases I can think of I think there were none of equal length amazingly!
ModeratorThere are animal crackers for people and there are people crackers for animals.
Yurie
Profile Blog Joined August 2010
12088 Posts
August 29 2011 05:17 GMT
#10
I thought this thread would have used the database over blog posters to get length of posters nicks and the frequency of them posting to calculate it. This is nice as well though.
Primadog
Profile Blog Joined April 2010
United States4411 Posts
August 29 2011 05:47 GMT
#11
On August 29 2011 14:17 Yurie wrote:
I thought this thread would have used the database over blog posters to get length of posters nicks and the frequency of them posting to calculate it. This is nice as well though.


This is an interesting question. I wonder how hard is it to pull TL username length distribution from the database?

If we have the probability curve (actually a histogram), we can use an analysis similar to above, multiply by the probability that none of the five recent blog names have the same length, to get an even more precise answer.

And if we want to take it one step further, we can dig the database for the probability curve for TL bloggers only, skimmed using the full set of blog and blog counts.

Thank God and gunrun.
micronesia
Profile Blog Joined July 2006
United States24773 Posts
August 29 2011 05:55 GMT
#12
On August 29 2011 14:47 Primadog wrote:
Show nested quote +
On August 29 2011 14:17 Yurie wrote:
I thought this thread would have used the database over blog posters to get length of posters nicks and the frequency of them posting to calculate it. This is nice as well though.


This is an interesting question. I wonder how hard is it to pull TL username length distribution from the database?

If we have the probability curve (actually a histogram), we can use an analysis similar to above, multiply by the probability that none of the five recent blog names have the same length, to get an even more precise answer.

And if we want to take it one step further, we can dig the database for the probability curve for TL bloggers only, skimmed using the full set of blog and blog counts.


There's 10 pages of bloggers (slightly less than 800 total bloggers); putting the data into a spreadsheet is actually pretty easy. The tricky part is accounting for active vs inactive bloggers :p
ModeratorThere are animal crackers for people and there are people crackers for animals.
Primadog
Profile Blog Joined April 2010
United States4411 Posts
Last Edited: 2011-08-29 08:17:17
August 29 2011 06:00 GMT
#13
Oh ya, we can use the blogger ladder to estimate that data set, good thinking.

Here's what I got so far:

Let's suppose
Pn = the probability the next blogger post's username is length n
ie P1 + P2 + P3.... = 1 (anyone know what's the length limit for TL usernames?)

For an arbitrary set of 5 recent blog posts, let the username lengths be:
a, b, c, d, e

then the probability that none of the usernames have equal length for this set are
1(1-Pa)(1-Pa-Pb)(1-Pa-Pb-Pc)(1-Pa-Pb-Pc-Pd)

then we apply the magic of combinatrix in this step, but this where I got stuck.
Thank God and gunrun.
slmw
Profile Blog Joined October 2010
Finland233 Posts
Last Edited: 2011-08-29 08:54:38
August 29 2011 08:37 GMT
#14
I had a little spare time at work, so here it goes.

First, let's parse the poster names from blogs written in August:
Perl:
+ Show Spoiler +

#!/usr/bin/perl -w
require LWP::UserAgent;
my $net = LWP::UserAgent->new;
$net->agent("Mozilla");
$url="http://www.teamliquid.net/forum/index.php?viewdays=30&show_part=18&currentpage=";
for($i=34;$i>=1;$i--) {
$_=$net->get("$url"."$i");
$_=$_->content;
while(s/href="\/blogs[^>]+>([^<]+)<[^\n]+\n<td [^>]+>([^<]+)<//) {
$lengths[length($2)]++;
}
}
for($i=1;$i<20;$i++) {
print $i.": ".$lengths[$i]."\n";
}


The program outputs the following results:
+ Show Spoiler +

1: 0
2: 13
3: 28
4: 68
5: 103
6: 188
7: 131
8: 179
9: 115
10: 121
11: 77
12: 64
13: 46
14: 28
15: 25
16: 4
17: 0
18: 0
19: 0


By using these results, we can count the number of ways of getting a strictly monotonically increasing set of 5 posters. I used a simple dynamic programming algorithm.
C++:
+ Show Spoiler +

#include<iostream>
#include "stdint.h"
using namespace std;
int64_t counts[] = {13,28,68,103,188,131,179,115,121,77,64,46,28,25,4};
int64_t ways[5][15];

int64_t num_of_ways(int pos, int num) {
if(pos==0) return counts[num];
if(ways[pos][num]>=0) return ways[pos][num];
int64_t sum=0;
for(int i=0;i<num;i++) sum+=num_of_ways(pos-1,i);
sum*=counts[num];
ways[pos][num] = sum;
return sum;
}

int main() {
for(int i=0;i<5;i++) for(int j=0;j<15;j++) {
ways[i][j]=-1;
}
int64_t ans=0;
for(int i=0;i<15;i++) {
ans+=num_of_ways(4,i);
}
cout<<ans<<endl;

}

The output is 6385086626728.

We can select the set of 5 posters in 2366359177588560 different ways [sum*(sum-1)*..(sum-4)], but only 2*6385086626728 of them are strictly monotonic.

2*6385086626728/2366359177588560 = 0.00539654899999984538

The probability of a diagonal list is then 0.54%.

+ Show Spoiler +
I have no idea if this is correct, but I just wasted 20 minutes of my life doing this.



Edit: Fixed an error in the number of all sets. The results appears to be approximately the same as in a monte carlo simulation, so this is probably correct. Hurray.
Primadog
Profile Blog Joined April 2010
United States4411 Posts
Last Edited: 2011-08-29 09:32:26
August 29 2011 09:27 GMT
#15
Programmers ruin the fun and games with probability The answer is lower than the probability by micronesia, so it passes the smell test and feels in the ball park.

edit: great work, btw.

editedit: who is the 2 letter name guy? 3 letter name guy? Can't think of a regular blogger with such a short name.
Thank God and gunrun.
slmw
Profile Blog Joined October 2010
Finland233 Posts
August 29 2011 09:49 GMT
#16
User NB made several blog posts in August.
The other bloggers of length 2-3 are:
+ Show Spoiler +

BG1
ckw
cz
DNB
DnX
giX
GTR
hnQ
JFO
Jh
JWD
LML
MiB
Noe
PH
qxc
Qzy
rei
Ryo
VIB
W2
Yew


See.Blue
Profile Blog Joined October 2008
United States2673 Posts
August 29 2011 15:07 GMT
#17
Was about to post what infinitestory said. Cool blog!
Khenra
Profile Blog Joined January 2009
Netherlands885 Posts
Last Edited: 2011-08-29 15:50:50
August 29 2011 15:47 GMT
#18
EDIT: Nevermind, I misinterpreted. I thought you wanted every next username to be longer/shorter (> or <), while you meant same size or longer/shorter (>= or <=).

---

You missed one thing: the probability of two names being the same length.

So the odds are smaller than what you suggested, since you have to take out all the cases in which two names are the same length. However, there is no way to calculate these odds exactly.
This signature is ruining eSports.
XXGeneration
Profile Blog Joined November 2010
United States625 Posts
August 29 2011 15:49 GMT
#19
We also have to realize that more characters does not necessarily represent a longer name.

Example from the above list:

W2
rei

"I was so surprised when I first played StarCraft 2. I couldn't believe that such an easy game exists... I guess the best way to attract people these days is to make things easy and simple." -Midas
Zona
Profile Blog Joined May 2007
40426 Posts
September 01 2011 04:08 GMT
#20
On August 29 2011 14:55 micronesia wrote:
Show nested quote +
On August 29 2011 14:47 Primadog wrote:
On August 29 2011 14:17 Yurie wrote:
I thought this thread would have used the database over blog posters to get length of posters nicks and the frequency of them posting to calculate it. This is nice as well though.


This is an interesting question. I wonder how hard is it to pull TL username length distribution from the database?

If we have the probability curve (actually a histogram), we can use an analysis similar to above, multiply by the probability that none of the five recent blog names have the same length, to get an even more precise answer.

And if we want to take it one step further, we can dig the database for the probability curve for TL bloggers only, skimmed using the full set of blog and blog counts.


There's 10 pages of bloggers (slightly less than 800 total bloggers); putting the data into a spreadsheet is actually pretty easy. The tricky part is accounting for active vs inactive bloggers :p

There's probably way more than 800 bloggers - your blog drops off the list if you haven't posted a new blog in awhile. The inactive bloggers are already culled from the list.
"If you try responding to those absurd posts every day, you become more damaged. So I pay no attention to them at all." Jung Myung Hoon (aka Fantasy), as translated by Kimoleon
Please log in or register to reply.
Live Events Refresh
PiGosaur Cup
00:00
#82
PiGStarcraft891
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
PiGStarcraft891
StarCraft: Brood War
GuemChi 5539
Artosis 632
NaDa 28
Dota 2
monkeys_forever256
LuMiX1
League of Legends
Doublelift5470
Counter-Strike
taco 706
Super Smash Bros
hungrybox1236
PPMD25
ChuDatz23
Other Games
summit1g12562
Day[9].tv819
C9.Mang0544
ViBE162
Maynarde102
Livibee93
Trikslyr64
CosmosSc2 20
Organizations
Other Games
gamesdonequick933
BasetradeTV164
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 14 non-featured ]
StarCraft 2
• Hupsaiya 85
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• masondota21684
Other Games
• imaqtpie1117
• Day9tv819
Upcoming Events
GSL
8h 32m
Cure vs sOs
SHIN vs ByuN
Replay Cast
23h 2m
GSL
1d 8h
Classic vs Solar
GuMiho vs Zoun
WardiTV Spring Champion…
1d 10h
Replay Cast
1d 23h
Sparkling Tuna Cup
2 days
WardiTV Spring Champion…
2 days
Replay Cast
2 days
RSL Revival
3 days
Classic vs SHIN
Rogue vs Bunny
BSL
3 days
[ Show More ]
Replay Cast
3 days
Afreeca Starleague
4 days
Flash vs Soma
RSL Revival
4 days
BSL
4 days
Patches Events
4 days
Replay Cast
5 days
Universe Titan Cup
5 days
Rogue vs Percival
Wardi Open
5 days
Monday Night Weeklies
5 days
Replay Cast
5 days
Kung Fu Cup
6 days
Liquipedia Results

Completed

Proleague 2026-05-18
2026 GSL S1
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
IPSL Spring 2026
KCM Race Survival 2026 Season 2
Acropolis #4
KK 2v2 League Season 1
BSL 22 Non-Korean Championship
YSL S3
Proleague 2026-05-19
SCTL 2026 Spring
RSL Revival: Season 5
Heroes Pulsing #1
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2

Upcoming

Escore Tournament S2: W8
CSCL: Masked Kings S4
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
WardiTV Spring 2026
2026 GSL S2
Bounty Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
TLPD

1. ByuN
2. TY
3. Dark
4. Solar
5. Stats
6. Nerchio
7. sOs
8. soO
9. INnoVation
10. Elazer
1. Rain
2. Flash
3. EffOrt
4. Last
5. Bisu
6. Soulkey
7. Mini
8. Sharp
Sidebar Settings...

Advertising | Privacy Policy | Terms Of Use | Contact Us

Original banner artwork: Jim Warren
The contents of this webpage are copyright © 2026 TLnet. All Rights Reserved.