• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 12:58
CET 18:58
KST 02: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
RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners11Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12
Community News
[TLMC] Fall/Winter 2025 Ladder Map Rotation10Weekly Cups (Nov 3-9): Clem Conquers in Canada4SC: Evo Complete - Ranked Ladder OPEN ALPHA8StarCraft, SC2, HotS, WC3, Returning to Blizzcon!45$5,000+ WardiTV 2025 Championship7
StarCraft 2
General
RSL Season 3 - RO16 Groups A & B Preview Mech is the composition that needs teleportation t [TLMC] Fall/Winter 2025 Ladder Map Rotation Weekly Cups (Nov 3-9): Clem Conquers in Canada Craziest Micro Moments Of All Time?
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament RSL Revival: Season 3 Constellation Cup - Main Event - Stellar Fest Tenacious Turtle Tussle Master Swan Open (Global Bronze-Master 2)
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 499 Chilling Adaptation Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection
Brood War
General
BW General Discussion FlaSh on: Biggest Problem With SnOw's Playstyle What happened to TvZ on Retro? Brood War web app to calculate unit interactions [ASL20] Ask the mapmakers — Drop your questions
Tourneys
[Megathread] Daily Proleagues Small VOD Thread 2.0 [BSL21] RO32 Group D - Sunday 21:00 CET [BSL21] RO32 Group C - Saturday 21:00 CET
Strategy
Current Meta Simple Questions, Simple Answers PvZ map balance How to stay on top of macro?
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Clair Obscur - Expedition 33 Beyond All Reason Should offensive tower rushing be viable in RTS games?
Dota 2
Official 'what is Dota anymore' discussion
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
TL Mafia Community Thread SPIRED by.ASL Mafia {211640}
Community
General
US Politics Mega-thread Things Aren’t Peaceful in Palestine Russo-Ukrainian War Thread Artificial Intelligence Thread Canadian Politics Mega-thread
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
[Manga] One Piece Anime Discussion Thread Movie Discussion! Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023
World Cup 2022
Tech Support
SC2 Client Relocalization [Change SC2 Language] Linksys AE2500 USB WIFI keeps disconnecting Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List
Blogs
Dyadica Gospel – a Pulp No…
Hildegard
Coffee x Performance in Espo…
TrAiDoS
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Reality "theory" prov…
perfectspheres
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1584 users

The Big Programming Thread - Page 950

Forum Index > General Forum
Post a Reply
Prev 1 948 949 950 951 952 1032 Next
Thread Rules
1. This is not a "do my homework for me" thread. If you have specific questions, ask, but don't post an assignment or homework problem and expect an exact solution.
2. No recruiting for your cockamamie projects (you won't replace facebook with 3 dudes you found on the internet and $20)
3. If you can't articulate why a language is bad, don't start slinging shit about it. Just remember that nothing is worse than making CSS IE6 compatible.
4. Use [code] tags to format code blocks.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
March 06 2018 23:28 GMT
#18981
I have a set of node-weight pairs. So, each node corresponds to a weight.

In each loop, I traverse the nodes in sorted order (minimum to maximum) and do some math stuff.
After every loop, the weight of any of my nodes may change.


What is a very fast design for doing this?

Right now I am using http://www.grantjenks.com/docs/sortedcontainers/sorteddict.html

A sorted dictionary, where I map weights to the node. Then traverse the keys which the dict presents in sorted order.

With this approach, I must delete and re-add new key-value pairs at every step.
But, if I want my weights sorted, any implementation must either sort or start from an empty structure. I can't expect values to magically sort as I re-assign them.

So I wonder if it's even possible to get much faster than what I am using right now. The only thing I could think of is some sort of heap, where I heap the weights and the nodes are glued to them.

Maybe you guys have some clever idea or structure I don't know about.
Acrofales
Profile Joined August 2010
Spain18115 Posts
March 07 2018 07:48 GMT
#18982
On March 07 2018 08:28 travis wrote:
I have a set of node-weight pairs. So, each node corresponds to a weight.

In each loop, I traverse the nodes in sorted order (minimum to maximum) and do some math stuff.
After every loop, the weight of any of my nodes may change.


What is a very fast design for doing this?

Right now I am using http://www.grantjenks.com/docs/sortedcontainers/sorteddict.html

A sorted dictionary, where I map weights to the node. Then traverse the keys which the dict presents in sorted order.

With this approach, I must delete and re-add new key-value pairs at every step.
But, if I want my weights sorted, any implementation must either sort or start from an empty structure. I can't expect values to magically sort as I re-assign them.

So I wonder if it's even possible to get much faster than what I am using right now. The only thing I could think of is some sort of heap, where I heap the weights and the nodes are glued to them.

Maybe you guys have some clever idea or structure I don't know about.

Can multiple nodes have the same weight? If so, a sorteddict won't work.

Either way, a sorted dict in that way probably uses a heap as the underlying data structure anyway. If I had to implement it from start, I'd probably use a binary heap of tuples (weight, node), with the sort only on the weight, obviously. Maybe a Fibonacci heap if delete operations are few and far between. Most heaps can work with duplicate values.
Manit0u
Profile Blog Joined August 2004
Poland17432 Posts
Last Edited: 2018-03-07 13:59:19
March 07 2018 13:58 GMT
#18983
It should be noted that no ethically-trained software engineer
would ever consent to write a DestroyBaghdad procedure.
Basic professional ethics would instead require him to write
a DestroyCity procedure, to which Baghdad could be given as a parameter.
Time is precious. Waste it wisely.
emperorchampion
Profile Blog Joined December 2008
Canada9496 Posts
March 07 2018 15:43 GMT
#18984
On March 07 2018 22:58 Manit0u wrote:
It should be noted that no ethically-trained software engineer
would ever consent to write a DestroyBaghdad procedure.
Basic professional ethics would instead require him to write
a DestroyCity procedure, to which Baghdad could be given as a parameter.


I'm sure that there's some pun involving constructors / destructors to be made here.
TRUEESPORTS || your days as a respected member of team liquid are over
Excludos
Profile Blog Joined April 2010
Norway8163 Posts
March 07 2018 17:13 GMT
#18985
On March 07 2018 22:58 Manit0u wrote:
It should be noted that no ethically-trained software engineer
would ever consent to write a DestroyBaghdad procedure.
Basic professional ethics would instead require him to write
a DestroyCity procedure, to which Baghdad could be given as a parameter.


Haha, hilarious! Where's that from?
Manit0u
Profile Blog Joined August 2004
Poland17432 Posts
Last Edited: 2018-03-08 17:51:04
March 08 2018 14:52 GMT
#18986
On March 08 2018 02:13 Excludos wrote:
Show nested quote +
On March 07 2018 22:58 Manit0u wrote:
It should be noted that no ethically-trained software engineer
would ever consent to write a DestroyBaghdad procedure.
Basic professional ethics would instead require him to write
a DestroyCity procedure, to which Baghdad could be given as a parameter.


Haha, hilarious! Where's that from?


It's a quote from Nathaniel Borenstein: http://www.gdargaud.net/Humor/QuotesProgramming.html

More goodies: https://en.wikiquote.org/wiki/Programming#Computer_Programming_quotes

nsfw image removed

User was warned for this post
Time is precious. Waste it wisely.
nunez
Profile Blog Joined February 2011
Norway4003 Posts
Last Edited: 2018-03-09 20:36:53
March 09 2018 20:02 GMT
#18987
working on my state-machine library (c++). recently i wrote a random-generation module (of dfa, nfa-graphs or expressions).

i exposed it through a RESTful web-api (i think), using boost beast to write a tiny server. boost beast seems like a great addition to the boost libraries. maybe it could do with a more detailed model of the uri. then wrote a simple gui (html/css/js) that fetches a random graph (layout done server-side with ogdf) and draws it using sigmajs (also neat). this is my first foray into javascript, it seems totally crazy, but also quite careless and free.

below are two examples of nfa-graphs over a binary alphabet, with colors from solarized theme. note that the top-most automaton has initial states in each connected component, it is the graph of one nfa. it's a bit hard to decipher the automaton (doesn't show transition symbols f.ex.), but it is just for show.
[image loading]
[image loading]

i was contemplating writing everything in c++, or doing c++/python or c++/web. i chose the c++/web approach because i haven't tried it before. the c++/python stack seems super-nice as well though, especially considering how easy it is to set up bindings twixt c++ and python with pybind or boost python, and also considering how low-tech a python environment can be, and also the versatility of python wrt build-processes, deployment and testing. the pure c++ approach seems a bit of a hassle at the moment. i didn't get friendly with any of the gui-toolkits yet. i'd try emscripten, but it uses clang, and doesn't support concepts yet.

i suspect there are some well-versed web-devs in this thread. i was wondering about your thoughts on letting a resource in REST refer to an operation. i am a bit confused here, as i have seen some articles contrasting REST with f.ex. RPC-JSON. this contrast only seems to make sense if resources are not allowed to be operations.

f.ex. i exposed my random generation like this:
http://host:port/rand/{graph,expr}/{dfa,nfa}

the server responds to a GET on this url by computing a random automaton of the designated type and return it. i probably want to parametrize the random generation. if i were to encode the parameters in the query, it seems the only difference between this and RPC-JSON would be the format of the parameters (encode in query vs JSON-format body), and maybe the verb of the request? this seems sort of irrelevant so i suspect i am missing something, and remember i am new to this.
conspired against by a confederacy of dunces.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
Last Edited: 2018-03-10 02:55:46
March 10 2018 02:55 GMT
#18988
REST logically maps to a database/object model (i.e. CRUD operations), while RPC logically maps to a function call (i.e. other operations).

If you want an API to make a function call on your server you want RPC (which stands for Remote Procedure Call). You can accomplish the same things in either but one or the other makes it logically simpler depending on your use case.

Your JSON-RPC call might look like:

http://host:port/generateRandomGraph

with a body of:

{
"graph": "dfa",
"expr": "nfa"
}


Your understanding of the difference between RPC and REST seems right. Google "REST vs RPC" to get a more detailed explanation. There is a lot of discussion on the difference.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
berated-
Profile Blog Joined February 2007
United States1134 Posts
Last Edited: 2018-03-10 12:27:09
March 10 2018 12:06 GMT
#18989
On March 10 2018 05:02 nunez wrote:
i suspect there are some well-versed web-devs in this thread. i was wondering about your thoughts on letting a resource in REST refer to an operation. i am a bit confused here, as i have seen some articles contrasting REST with f.ex. RPC-JSON. this contrast only seems to make sense if resources are not allowed to be operations.

f.ex. i exposed my random generation like this:
http://host:port/rand/{graph,expr}/{dfa,nfa}

the server responds to a GET on this url by computing a random automaton of the designated type and return it. i probably want to parametrize the random generation. if i were to encode the parameters in the query, it seems the only difference between this and RPC-JSON would be the format of the parameters (encode in query vs JSON-format body), and maybe the verb of the request? this seems sort of irrelevant so i suspect i am missing something, and remember i am new to this.


I've spent a good couple years fighting with this, trying to read through the internet and determine what is "right" and how to do things. It's important to remember that REST is just an architectural style, it doesn't necessarily tell you specifics on how to implement but more guiding principles.

In a REST world, there are only nouns. Everything is a resource. From my interpretation of REST -- if that is the direction you ultimately wanted to go -- there are a few things that stick out as needing to be changed.

In your example, the automaton is the resource. GETs are supposed to be idempotent and cannot modify server state. Generating an automaton as a result of a GET request is therefore a no no. Also, each context path is suppose to be another resource -- the fact that it's random, {graph | expr}, {dfa | nfa} are all attributes of the automaton, they don't seem to be resources of their own. In the new scheme, one could POST to /automatons with the parameters needed to create one which could return an id that could be retrieved later via a GET

If you don't like that, another way that I've found that people semantically get around the fact that verbs do not exist is that there are events. A generate automaton event is a noun and something that can be created. Similarly to before you would POST the params to the automaton creation event that returns a link to the newly created resource.

You can keep going down this path, but, even though REST is one of the hot buzzwords, it's why I've ultimately iterated to the fact that most people don't actually want a RESTful api in it's purest definition. There are a ton of great principles in REST as applied to http -- using HTTP verbs correctly, using media type to represent the type of content flow, etc ... but I personally find that pragmatically most of us think in verbs and operations.

There are also other tradeoffs like it's just harder to test POSTs than it is GETs, harder to share with people a single link to show off, especially if you are new to all this and just want to test or show off that just by supplying different params you can generate different automaton. I'd personally just do what works and leave out the "correctness" for a later point -- but if you want to do it "right' hopefully this was helpful.


this seems sort of irrelevant so i suspect i am missing something, and remember i am new to this.


:D tech people and their purity... good luck fighting this one for a long time
nunez
Profile Blog Joined February 2011
Norway4003 Posts
Last Edited: 2018-03-10 13:53:04
March 10 2018 13:51 GMT
#18990
thanks for replies, very helpful.

the random-generators for each type of automaton (graph-dfa,graph-nfa,expr-dfa,expr-nfa) is modelled as resources. rand, rand/expr and rand/graph are all collections, whilst f.ex. rand/graph/dfa is the random-generation algorithm as a resource. {graph,expr} refers the form of the automaton, whilst {dfa,nfa} refers to the content, neither are attributes (at least not in the state-machine theory i am familiar with). the attributes of an automaton are it's states, transitions, etc, which i did not bother to expose.

another part of the API exposes the actually existing automatons (store/my_neat.graph_dfa, store/my_neat.graph_nfa), but it is irrelevant to this discussion.

the kicker is that a GET on one of the generators returns the result of a generation, and not the generator itself. that is, the algorithm doesn't modify the server-state when you GET rand/graph/dfa, it generates an automaton and replies with it. the generation is const with respect to server state. if it stored the generated automaton on the server, then it would be abusing GET. i should have been more clear on this.

again my confusion loops back to whether or not you can model operations / algorithms / functions as a resource, which i have not found a clear answer too. is it an abuse? is the 'pureness' of your REST-api a metric of how similar the object (what is being modeled) is to CRUD? then i can see the allure of a pure REST-api... not in REST itself, but in the simplicity of its object.

the event-based approach was new to me, very interesting.

i try to be pragmatic above all, so i won't lose any sleep over this in any case. i am learning the concepts is all.
conspired against by a confederacy of dunces.
berated-
Profile Blog Joined February 2007
United States1134 Posts
Last Edited: 2018-03-10 16:13:25
March 10 2018 15:38 GMT
#18991
On March 10 2018 22:51 nunez wrote:
thanks for replies, very helpful.

the random-generators for each type of automaton (graph-dfa,graph-nfa,expr-dfa,expr-nfa) is modelled as resources. rand, rand/expr and rand/graph are all collections, whilst f.ex. rand/graph/dfa is the random-generation algorithm as a resource. {graph,expr} refers the form of the automaton, whilst {dfa,nfa} refers to the content, neither are attributes (at least not in the state-machine theory i am familiar with). the attributes of an automaton are it's states, transitions, etc, which i did not bother to expose.

another part of the API exposes the actually existing automatons (store/my_neat.graph_dfa, store/my_neat.graph_nfa), but it is irrelevant to this discussion.

the kicker is that a GET on one of the generators returns the result of a generation, and not the generator itself. that is, the algorithm doesn't modify the server-state when you GET rand/graph/dfa, it generates an automaton and replies with it. the generation is const with respect to server state. if it stored the generated automaton on the server, then it would be abusing GET. i should have been more clear on this.

again my confusion loops back to whether or not you can model operations / algorithms / functions as a resource, which i have not found a clear answer too. is it an abuse? is the 'pureness' of your REST-api a metric of how similar the object (what is being modeled) is to CRUD? then i can see the allure of a pure REST-api... not in REST itself, but in the simplicity of its object.

the event-based approach was new to me, very interesting.

i try to be pragmatic above all, so i won't lose any sleep over this in any case. i am learning the concepts is all.


But your GET still wouldn't be idempotent. Multiple calls to /rand/graph/nfa would produce different results I'm assuming since it says random.

I was using the term modifying state too loosely. I guess what I meant is you still created something. Even though you are not storing the results from a random generation it is still creating the results. Not just reading it.
nunez
Profile Blog Joined February 2011
Norway4003 Posts
Last Edited: 2018-03-10 17:03:32
March 10 2018 17:00 GMT
#18992
i assumed the idempotency was defined wrt resources, and not responses. the resource, on the server, or the state of the server itself, does not change, but the response sent back to the client is different every time.

consider f.ex. the inclusion of a date-field in the response: it might differ for each corresponding request.
conspired against by a confederacy of dunces.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
March 10 2018 18:53 GMT
#18993
You are correct.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
sc-darkness
Profile Joined August 2017
856 Posts
March 10 2018 23:19 GMT
#18994
I've not done much C++ since I started a new job. Probably about 3 weeks except reading some code. Do you guys feel the need to do some warm-up like me? What helps to regain confidence, I mean what kind of exercise do you go for? Some fun project I guess? I expect to start using C++ in the near future though.
Excludos
Profile Blog Joined April 2010
Norway8163 Posts
March 10 2018 23:59 GMT
#18995
On March 11 2018 08:19 sc-darkness wrote:
I've not done much C++ since I started a new job. Probably about 3 weeks except reading some code. Do you guys feel the need to do some warm-up like me? What helps to regain confidence, I mean what kind of exercise do you go for? Some fun project I guess? I expect to start using C++ in the near future though.


Depends a bit. I'm equal fan of just jumping in and be super slow the first few weeks until I get confident again. Unless you're starting from scratch it's going to take that long to learn the code you're jumping into anyways. But otherwise, yeah, just do some projects you might find fun! I just did a bunch of Unity stuff because I wanted to touch up on C# myself.

Otherwise, there's always Codewars
mantequilla
Profile Blog Joined June 2012
Turkey779 Posts
Last Edited: 2018-03-11 00:08:02
March 11 2018 00:06 GMT
#18996
new trends on web programming emerge faster than I can forget the old ones.

just a few years ago I was learning jsf 1.2 and then it went like

jsf 1.2+richfaces -> jsf 2+primefaces -> extjs -> angularjs -> angularjs 2-3-4 -> react -> whatever the hell is trendy right now

I just want to settle down and get proficient in something. It is so pointless to learn to put down the same damn button in 24 different ways.
Age of Mythology forever!
tofucake
Profile Blog Joined October 2009
Hyrule19152 Posts
March 11 2018 00:19 GMT
#18997
yeah that's because you're just trying to learn the newest thing instead of learning just the ones you need. Angular, Vue, and React are all still popular, but each serves a different role. Pick the framework for the job, or pick a framework and take jobs based on that (if you're a contractor or work an agency or something).
Liquipediaasante sana squash banana
Hanh
Profile Joined June 2016
146 Posts
March 11 2018 01:32 GMT
#18998
On March 11 2018 02:00 nunez wrote:
i assumed the idempotency was defined wrt resources, and not responses. the resource, on the server, or the state of the server itself, does not change, but the response sent back to the client is different every time.

consider f.ex. the inclusion of a date-field in the response: it might differ for each corresponding request.


An easy way to reason about GET vs POST is to remember that the client (browser) is allowed to cache the response of a GET query. If that affects your expected behavior, GET should be avoided.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
March 11 2018 06:26 GMT
#18999
On March 11 2018 10:32 Hanh wrote:
Show nested quote +
On March 11 2018 02:00 nunez wrote:
i assumed the idempotency was defined wrt resources, and not responses. the resource, on the server, or the state of the server itself, does not change, but the response sent back to the client is different every time.

consider f.ex. the inclusion of a date-field in the response: it might differ for each corresponding request.


An easy way to reason about GET vs POST is to remember that the client (browser) is allowed to cache the response of a GET query. If that affects your expected behavior, GET should be avoided.

I have been wondering about this, too. I'm working on something that is similar to a forum in a SPA. The content of a thread necessarily changes over time. So when I request a certain thread (all its comments), do I use a GET (bad because of caching) or a POST (doesn't seem to be what POST is supposed to be for).
If you have a good reason to disagree with the above, please tell me. Thank you.
Hanh
Profile Joined June 2016
146 Posts
March 11 2018 08:31 GMT
#19000
In your case, I'd use GET with a Cache-Control header (or something to the same effect) because you are expecting every user to see the same result, i.e. the user is getting the latest snapshot of the resource.
However, in the OP the user will get something different every time. I'd use POST because it seems that the user is "posting" a request for a new graph. If instead the url was of the form /rand/graph/nfa?seed=xxx then I think GET would be fine.
Prev 1 948 949 950 951 952 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 16h 2m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SteadfastSC 291
BRAT_OK 86
JuggernautJason36
MindelVK 16
StarCraft: Brood War
Britney 37933
Rain 3655
Calm 3299
Horang2 1666
Hyuk 704
actioN 540
Soma 420
PianO 290
firebathero 230
hero 188
[ Show more ]
Rush 154
Barracks 69
Dewaltoss 63
White-Ra 57
TY 53
Free 29
Terrorterran 17
Movie 15
Shine 14
Bale 10
Dota 2
qojqva2819
Dendi1278
Counter-Strike
kRYSTAL_37
Super Smash Bros
Mew2King73
Other Games
B2W.Neo814
Beastyqt690
Lowko341
Fuzer 160
Liquid`VortiX151
QueenE79
Trikslyr49
EmSc Tv 10
febbydoto8
Organizations
Other Games
EmSc Tv 10
StarCraft 2
EmSc2Tv 10
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 21 non-featured ]
StarCraft 2
• StrangeGG 53
• poizon28 23
• AfreecaTV YouTube
• sooper7s
• intothetv
• Migwel
• Kozan
• IndyKCrew
• LaughNgamezSOOP
StarCraft: Brood War
• HerbMon 24
• Michael_bg 5
• FirePhoenix5
• blackmanpl 1
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• C_a_k_e 3549
• WagamamaTV311
League of Legends
• Nemesis2933
• TFBlade806
Other Games
• Shiphtur241
Upcoming Events
CranKy Ducklings
16h 2m
RSL Revival
16h 2m
herO vs Gerald
ByuN vs SHIN
Kung Fu Cup
18h 2m
Cure vs Reynor
Classic vs herO
IPSL
23h 2m
ZZZero vs rasowy
Napoleon vs KameZerg
OSC
1d 1h
BSL 21
1d 2h
Tarson vs Julia
Doodle vs OldBoy
eOnzErG vs WolFix
StRyKeR vs Aeternum
Sparkling Tuna Cup
1d 16h
RSL Revival
1d 16h
Reynor vs sOs
Maru vs Ryung
Kung Fu Cup
1d 18h
WardiTV Korean Royale
1d 18h
[ Show More ]
BSL 21
2 days
JDConan vs Semih
Dragon vs Dienmax
Tech vs NewOcean
TerrOr vs Artosis
IPSL
2 days
Dewalt vs WolFix
eOnzErG vs Bonyth
Replay Cast
2 days
Wardi Open
2 days
Monday Night Weeklies
2 days
WardiTV Korean Royale
3 days
BSL: GosuLeague
4 days
The PondCast
4 days
Replay Cast
5 days
RSL Revival
5 days
BSL: GosuLeague
6 days
RSL Revival
6 days
WardiTV Korean Royale
6 days
Liquipedia Results

Completed

Proleague 2025-11-07
Stellar Fest: Constellation Cup
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
BSL Season 21
CSCL: Masked Kings S3
RSL Revival: Season 3
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025
Thunderpick World Champ.
CS Asia Championships 2025
ESL Pro League S22
StarSeries Fall 2025
FISSURE Playground #2
BLAST Open Fall 2025
BLAST Open Fall Qual

Upcoming

SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
META Madness #9
BLAST Bounty Winter 2026
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
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 © 2025 TLnet. All Rights Reserved.