• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 15:01
CET 21:01
KST 05:01
  • 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
TL.net Map Contest #21: Winners1Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10[ASL20] Finals Preview: Arrival13TL.net Map Contest #21: Voting12[ASL20] Ro4 Preview: Descent11
Community News
Starcraft, SC2, HoTS, WC3, returning to Blizzcon!20$5,000+ WardiTV 2025 Championship5[BSL21] RO32 Group Stage3Weekly Cups (Oct 26-Nov 2): Liquid, Clem, Solar win; LAN in Philly2Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win9
StarCraft 2
General
TL.net Map Contest #21: Winners Starcraft, SC2, HoTS, WC3, returning to Blizzcon! RotterdaM "Serral is the GOAT, and it's not close" Weekly Cups (Oct 20-26): MaxPax, Clem, Creator win 5.0.15 Patch Balance Hotfix (2025-10-8)
Tourneys
$5,000+ WardiTV 2025 Championship Constellation Cup - Main Event - Stellar Fest Merivale 8 Open - LAN - Stellar Fest Sea Duckling Open (Global, Bronze-Diamond) $3,500 WardiTV Korean Royale S4
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 498 Wheel of Misfortune|Cradle of Death Mutation # 497 Battle Haredened Mutation # 496 Endless Infection Mutation # 495 Rest In Peace
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ SnOw's ASL S20 Finals Review [BSL21] RO32 Group Stage Practice Partners (Official) [ASL20] Ask the mapmakers — Drop your questions
Tourneys
[Megathread] Daily Proleagues [BSL21] RO32 Group B - Sunday 21:00 CET [BSL21] RO32 Group A - Saturday 21:00 CET BSL21 Open Qualifiers Week & CONFIRM PARTICIPATION
Strategy
Current Meta How to stay on top of macro? PvZ map balance Soma's 9 hatch build from ASL Game 2
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV ZeroSpace Megathread General RTS Discussion Thread
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
Russo-Ukrainian War Thread US Politics Mega-thread Things Aren’t Peaceful in Palestine YouTube Thread Dating: How's your luck?
Fan Clubs
White-Ra Fan Club The herO Fan Club!
Media & Entertainment
Movie Discussion! [Manga] One Piece Anime Discussion Thread Korean Music Discussion Series you have seen recently...
Sports
2024 - 2026 Football Thread NBA General Discussion MLB/Baseball 2023 TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion
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 Recent Gifted Posts
Blogs
Saturation point
Uldridge
DnB/metal remix FFO Mick Go…
ImbaTosS
Why we need SC3
Hildegard
Career Paths and Skills for …
TrAiDoS
Reality "theory" prov…
perfectspheres
Our Last Hope in th…
KrillinFromwales
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1327 users

The Big Programming Thread - Page 838

Forum Index > General Forum
Post a Reply
Prev 1 836 837 838 839 840 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.
Manit0u
Profile Blog Joined August 2004
Poland17420 Posts
February 08 2017 07:23 GMT
#16741
On February 08 2017 14:36 plasmidghost wrote:
Show nested quote +
On February 08 2017 14:33 WolfintheSheep wrote:
struct Test //creates a structure
{
char name[10]; //a 10-character array
int num1; //the first integer
int num2; //the second integer
int sum; //the result of the subtraction of num2 from num1
}
inst; //instance of the struct

...

inst.sum = &inst.num1 - &inst.num2;
printf("The result is: %d\n", &inst.sum);


So first question is, why you are using ampersands here? Which should tell you the exact answer about why this isn't working.

+ Show Spoiler +
Hint: 134615508 is a memory address.

Wow, okay, that fix was actually incredibly simple. Whenever I executed it before, I got the error "Segmentation fault (core dumped)" and I saw someone say that putting an ampersand fixed it
Now that everything's working fine, I do have a question about this statement:

printf("Enter a name (up to 10 characters): ");
fgets(inst.name, 11, stdin);

It currently will work correctly if the user hits the enter key with 10 characters or less inputted, but if they input 11 or more characters and hit Enter, the rest of the code immediately executes, meaning the user can't put in any numbers. Is there a way to fix that? I tried doing a for loop to accept 10 characters, 1 at a time, but it had the problem that if you inputted 4 characters, you had to press enter 6 times to get to the next part of the code, as well as it would take more than 10 characters if you inputted them all at once


Wait a moment here...


&inst.num1 - &inst.num2


Are those pointers to the struct members or struct itself? I don't remember much of my C but I'm almost sure that if you work on a pointer to the structure then you need this syntax:


&struct->member
Time is precious. Waste it wisely.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2017-02-08 08:00:49
February 08 2017 07:32 GMT
#16742
On February 08 2017 14:36 plasmidghost wrote:
Show nested quote +
On February 08 2017 14:33 WolfintheSheep wrote:
struct Test //creates a structure
{
char name[10]; //a 10-character array
int num1; //the first integer
int num2; //the second integer
int sum; //the result of the subtraction of num2 from num1
}
inst; //instance of the struct

...

inst.sum = &inst.num1 - &inst.num2;
printf("The result is: %d\n", &inst.sum);


So first question is, why you are using ampersands here? Which should tell you the exact answer about why this isn't working.

+ Show Spoiler +
Hint: 134615508 is a memory address.

Wow, okay, that fix was actually incredibly simple. Whenever I executed it before, I got the error "Segmentation fault (core dumped)" and I saw someone say that putting an ampersand fixed it
Now that everything's working fine, I do have a question about this statement:

printf("Enter a name (up to 10 characters): ");
fgets(inst.name, 11, stdin);

It currently will work correctly if the user hits the enter key with 10 characters or less inputted, but if they input 11 or more characters and hit Enter, the rest of the code immediately executes, meaning the user can't put in any numbers. Is there a way to fix that? I tried doing a for loop to accept 10 characters, 1 at a time, but it had the problem that if you inputted 4 characters, you had to press enter 6 times to get to the next part of the code, as well as it would take more than 10 characters if you inputted them all at once


The inst.name char array needs to be size 11, otherwise fgets with 11 writes over the end of the array, meaning the null terminator is written into adjacent memory, which is lucky this time because it will likely be written into struct padding.


For your problem, if you use fgets(11, stdin) and enter more than 10 characters, only 10 characters are taken from stdin and put into the specified char array, plus a \0 at the 11th position. The remaining characters stay in the stdin buffer, so the next time you try to get from stdin it automatically reads from the remaining characters.

If you want to clear the input buffer, you can use this after fgets.

http://c-faq.com/stdio/stdinflush2.html

Otherwise, the proper way to do input with correct error handling is to only use getchar() and manually read one by one into buffers. If the user overflows the buffer you know they're doing the wrong things. While you're filling the buffer you enforce your rules, such as <10 characters to read.

You have the correct idea with the for loop, but your implementation should also handle all the error cases. This is all proper input sanitation and an important thing to try for yourself and learn.
There is no one like you in the universe.
TheEmulator
Profile Blog Joined July 2010
28092 Posts
February 08 2017 07:36 GMT
#16743
Speaking of C, is the K&R book still the go to? I haven't done c or c++ since I took the two intro courses as electives from my uni 3 years ago lol. Kind of want to pick up C again and maybe learn some more about how low level stuff works (and appreciate how magical Python is).
Administrator
Acrofales
Profile Joined August 2010
Spain18108 Posts
Last Edited: 2017-02-08 08:25:02
February 08 2017 08:06 GMT
#16744
On February 08 2017 09:54 travis wrote:
if i have a function


int whatever() {
while(1) {
//do some stuff
if(some condition is met) {
return (some int);
}
}
}


is this oversimplified example an easy way to create a loop in a function that needs to meet some criteria before stopping?
since this will just loop and then when it meets the criteria you can just return whatever it is you want to return ?

or are loops typically done this way?



int whatever() {
while(condition is not met) {
//do stuff
}

return(some int);

}



I guess this is a dumb question. It probably just depends on what's better for what you are trying to do. But really I am trying to make sure that nothing breaks in the first one.


Write your condition in the while clause. Don't write while(true) unless you are waiting for something outside of your program's control (such as a button being pressed) and even then, most programming languages have better control structures than while(true) loops, and at the very least you're going to need threading, and you always want to avoid busy waits.

I guess if your condition is really hard to write as a single clause you can consider it, but then your code probably needs refactoring in any case...

If you need the code to execute at least once, regardless of whether your condition holds or not, use a do.. while loop.

Regarding blisse's comment: I personally don't mind returning from different spots: I don't think debugging this form is inherently harder than debugging the same, but written with breaks.
Acrofales
Profile Joined August 2010
Spain18108 Posts
Last Edited: 2017-02-08 08:26:02
February 08 2017 08:22 GMT
#16745
On February 08 2017 12:45 Neshapotamus wrote:
After seeing travis post his simple question.

I have seen people write this code in every which way (code at bottom)

I listed several of them at the bottom.

Anyone have any preference to which version they write?

More recently, I prefer to write "fun1" way as this is the easiest to reason about meaning it maps directly into math. You also get other benefits as its easier to parallelize. However, you need a TCO language to execute the statement.

The second most intuitive is fun2.

Anyone who writes fun5, I just avoid...



void fun1(){

void fun(int a, int b) {
if (a > b){
return
}
else fun(a, b+1)
}

a = <init>
b = <init>
fun(a,b)
}



void fun2(){
a = <init>
for(int b = <init>; a > b; b++){
}
}

void fun3(){
a = <init>
b = <init>
while(true){
if (a > b){
break;
}
b += 1
}
}

void fun4(){
a = <init>
b = <init>
while(a > b){
b += 1
}
}

void fun5(){
start:
if (a > b){
b += 1
goto start
}
}



Honestly, why not

int a = init;
int b = a;


And that's the problem with such a simplistic example, because it doesn't show the (dis)advantages of each approach. For a more complex example, any one of fun1, fun2 or fun4 are OK for me, depending on what exactly you need to do. Fun3 is almost always bad (see my response to travis, one post up), and fun5 is only acceptable if you got stuck in the 70s...

In general, if you're incrementing a counter, a for loop is by far the most intuitive way of writing that in imperative languages. If you have a boolean condition, use a while loop. And for some things, recursion is simply easier. For example, tree traversal.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2017-02-08 10:46:07
February 08 2017 08:28 GMT
#16746
--- Nuked ---
Manit0u
Profile Blog Joined August 2004
Poland17420 Posts
February 08 2017 11:06 GMT
#16747
On February 08 2017 16:36 TheEmulator wrote:
Speaking of C, is the K&R book still the go to? I haven't done c or c++ since I took the two intro courses as electives from my uni 3 years ago lol. Kind of want to pick up C again and maybe learn some more about how low level stuff works (and appreciate how magical Python is).


K&R is da bomb.

Unrelated, but cracked me up really good:
Time is precious. Waste it wisely.
mantequilla
Profile Blog Joined June 2012
Turkey779 Posts
February 08 2017 17:38 GMT
#16748
do you guys have an idea what kind of technical knowledge is required to work in defense industry as a programmer? I assume they are not writing web apps with angular

disclaimer: I don't know c or c++.
Age of Mythology forever!
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2017-02-08 18:43:33
February 08 2017 18:36 GMT
#16749
On February 09 2017 02:38 mantequilla wrote:
do you guys have an idea what kind of technical knowledge is required to work in defense industry as a programmer? I assume they are not writing web apps with angular

disclaimer: I don't know c or c++.


I don't know about your question, but just a reminder that you might need security clearance for that thing.

Edit: I also remember hearing about MISRA, but I don't know how widely used it is.

On February 08 2017 16:36 TheEmulator wrote:
Speaking of C, is the K&R book still the go to? I haven't done c or c++ since I took the two intro courses as electives from my uni 3 years ago lol. Kind of want to pick up C again and maybe learn some more about how low level stuff works (and appreciate how magical Python is).


Why do you want to pick C up? Why do you want to limit yourself to C only? Use C++ so you can use C and C++ if you want. C++ is better than ever though. It's much harder to end up with memory leaks in C++11/14, too.
Artesimo
Profile Joined February 2015
Germany563 Posts
Last Edited: 2017-02-08 21:05:23
February 08 2017 20:39 GMT
#16750
Quick question as I am currently preparing for my (really basic) JPQL / databases exam:

What consitencyproblems could occour with the following code(see comments)
EDIT: Slow down Manit0u, I only have to know what consitencyproblems can occour here, not how to fix them

em.getTransaction().begin();
Player playerA = (Player) em.find(Player.class, newLong(30)); //Player is now in persistence context
em.getTransaction().commit();
playerA.setFirstName("Alex");//changing players name, however since it is outside of the transactionscope, it is not yet in the DB
em.getTransaction().begin();//new transaction context
em.getTransaction().commit();//transaction context closed, name is now 'Alex' in DB, if this fails, playerA.name=Alex, but in the DB the old name remains
TheEmulator
Profile Blog Joined July 2010
28092 Posts
Last Edited: 2017-02-08 20:49:02
February 08 2017 20:48 GMT
#16751
Some of you might appreciate the genius here.

Administrator
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2017-02-08 20:58:40
February 08 2017 20:55 GMT
#16752
On February 09 2017 05:39 Artesimo wrote:
Quick question as I am currently preparing for my databases exam:

What consitencyproblems could occour with the following code(see comments)

em.getTransaction().begin();
Player playerA = (Player) em.find(Player.class, newLong(30)); //Player is now in persistence context
em.getTransaction().commit();
playerA.setFirstName("Alex");//changing players name, however since it is outside of the transactionscope, it is not yet in the DB
em.getTransaction().begin();//new transaction context
em.getTransaction().commit();//transaction context closed, name is now 'Alex' in DB, if this fails, playerA.name=Alex, but in the DB the old name remains


This looks like a silly example to me, so here are a few comments first:
1. Why commit() when you only find a player (read only query)? There's no change. Maybe your lecturer is trying to confuse you, but it's still dumb.
2. Name is changed to Alex before you create a new transaction, so when you attempt to read/synchronise names, you might end up with the old name. However, as I said, this is silly and it looks more like implementation detail of this data context than actual databases.

Note: I was never good at databases.
Manit0u
Profile Blog Joined August 2004
Poland17420 Posts
Last Edited: 2017-02-08 21:06:31
February 08 2017 20:58 GMT
#16753
On February 09 2017 03:36 Shield wrote:
Show nested quote +
On February 08 2017 16:36 TheEmulator wrote:
Speaking of C, is the K&R book still the go to? I haven't done c or c++ since I took the two intro courses as electives from my uni 3 years ago lol. Kind of want to pick up C again and maybe learn some more about how low level stuff works (and appreciate how magical Python is).


Why do you want to pick C up? Why do you want to limit yourself to C only? Use C++ so you can use C and C++ if you want. C++ is better than ever though. It's much harder to end up with memory leaks in C++11/14, too.


There's nothing wrong in C. It's relatively easy to learn (not a big language), but very hard to master. It's arguably more useful than C++, depending on what you're interested in - if you want to supplement your other languages by learning something more low level, how some of the libraries for your language of choice are implemented or just dabble in the OS internals for example.

K&R C is 272 pages (and it's really all you need), while it's C++ equivalent is 1368 pages long and you'd probably need to read on STL, boost and other bullshit, which weigh in at similar info level.

Besides, Rust seems to be gaining a ton of traction now, with many libraries being ported to it and some big companies (Mozilla primarily) picking it up for their production line.

But you don't have to heed my warnings. For me, C++ is just above Java on the list of programming languages I find fun to work with and into which I'd like to dive in (hint: Java is at the very bottom of my list).

On February 09 2017 05:39 Artesimo wrote:
Quick question as I am currently preparing for my databases exam:

What consitencyproblems could occour with the following code(see comments)

em.getTransaction().begin();
Player playerA = (Player) em.find(Player.class, newLong(30)); //Player is now in persistence context
em.getTransaction().commit();
playerA.setFirstName("Alex");//changing players name, however since it is outside of the transactionscope, it is not yet in the DB
em.getTransaction().begin();//new transaction context
em.getTransaction().commit();//transaction context closed, name is now 'Alex' in DB, if this fails, playerA.name=Alex, but in the DB the old name remains


Why do it in such a convoluted way?

If you really want to ensure the consistency, you should do something like:


open_transaction()

try {
fetch_player_data()
change_player_data()
commit()
} catch Errors {
rollback()
} finally {
close_transaction()
}


This way, your intent is clear, it's easy to debug and modify and much less prone to errors.
Time is precious. Waste it wisely.
Artesimo
Profile Joined February 2015
Germany563 Posts
February 08 2017 21:04 GMT
#16754
On February 09 2017 05:58 Manit0u wrote:
Why do it in such a convoluted way?

If you really want to ensure the consistency, you should do something like:


open_transaction()

try {
fetch_player_data()
change_player_data()
commit()
} catch Errors {
rollback()
} finally {
close_transaction()
}


Thank you for the detailed answer, unfortunately it is for the wrong problem. I am not tasked to fix this, I only need to point out every thing that could go wrong.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2017-02-08 21:09:34
February 08 2017 21:06 GMT
#16755
^ There's nothing wrong in C? Yeah, repeating yourself because you don't have templates is surely nothing wrong. Dealing with heap memory more often than you need to is nothing wrong in C. Not being able to tell who deletes what because your stuff cannot be wrapped via an RAII class (to put it simply, destructor deallocates stuff for you so you never leak memory) is nothing wrong. Learning low level stuff? Yeah, right. As if you can't #include <windows.h> or the appropriate *nix header from C++. C++ can do everything C can *and* more by definition because C is a subset of C++. This isn't a flame war, it is the facts.
TheEmulator
Profile Blog Joined July 2010
28092 Posts
Last Edited: 2017-02-08 21:20:21
February 08 2017 21:17 GMT
#16756
To be clear I'm fully aware of the differences between the languages since I've studied both. I'm not intending to work with either language professionally, if I was I would probably focus on both TBH. This is purely just a side thing that I'm interested in studying since I have more time now that I'm done University, and I chose C simply because "I wanted to"

I appreciate your concern though. No harm in that.
Administrator
raNazUra
Profile Joined December 2012
United States10 Posts
February 08 2017 21:19 GMT
#16757
Quick git question: I've cloned a project from github, and messed around with it some. Now I want to upload it as a completely fresh project, and am not 100% sure how to. I'm not even really sure what keywords I should be Googling for, so if anyone even just wants to drop some of those I'm happy to figure it out on my own from there.
Speak the truth, even if your voice shakes
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2017-02-08 21:40:41
February 08 2017 21:35 GMT
#16758
On February 09 2017 06:19 raNazUra wrote:
Quick git question: I've cloned a project from github, and messed around with it some. Now I want to upload it as a completely fresh project, and am not 100% sure how to. I'm not even really sure what keywords I should be Googling for, so if anyone even just wants to drop some of those I'm happy to figure it out on my own from there.


Any reason why you aren't forking the project and continuing on your fork? Missing lots of context for better solutions to this. What do you mean by "completely fresh project"? Did you clone a project or did you fork it?


Otherwise easiest way to blow away all the git history (fresh project) is:

Delete the .git folder in the root directory
Create a new git project in the root directory
Add all the files to a new commit
Push to your git server or github
There is no one like you in the universe.
Manit0u
Profile Blog Joined August 2004
Poland17420 Posts
Last Edited: 2017-02-08 22:50:34
February 08 2017 22:45 GMT
#16759
On February 09 2017 06:35 Blisse wrote:
Show nested quote +
On February 09 2017 06:19 raNazUra wrote:
Quick git question: I've cloned a project from github, and messed around with it some. Now I want to upload it as a completely fresh project, and am not 100% sure how to. I'm not even really sure what keywords I should be Googling for, so if anyone even just wants to drop some of those I'm happy to figure it out on my own from there.


Any reason why you aren't forking the project and continuing on your fork? Missing lots of context for better solutions to this. What do you mean by "completely fresh project"? Did you clone a project or did you fork it?


Otherwise easiest way to blow away all the git history (fresh project) is:

Delete the .git folder in the root directory
Create a new git project in the root directory
Add all the files to a new commit
Push to your git server or github


That's the solution if you want to lose all of history and such. Another choice would be changing the upstream address to your own repo.

https://help.github.com/articles/changing-a-remote-s-url/

On February 09 2017 06:04 Artesimo wrote:
Show nested quote +
On February 09 2017 05:58 Manit0u wrote:
Why do it in such a convoluted way?

If you really want to ensure the consistency, you should do something like:


open_transaction()

try {
fetch_player_data()
change_player_data()
commit()
} catch Errors {
rollback()
} finally {
close_transaction()
}


Thank you for the detailed answer, unfortunately it is for the wrong problem. I am not tasked to fix this, I only need to point out every thing that could go wrong.


Just compare the code. In your example plenty of things could go wrong. You could go out of transaction scope unexpectedly, you make two commits for a single change operation, etc.

Bonus question: What would happen to the original code if no object was fetched from the db?

I'm not entirely sure why they're assigning you such questions. I would personally use a hatchet on anyone trying to push code like that.
Time is precious. Waste it wisely.
Artesimo
Profile Joined February 2015
Germany563 Posts
February 08 2017 23:07 GMT
#16760
On February 09 2017 07:45 Manit0u wrote:
Just compare the code. In your example plenty of things could go wrong. You could go out of transaction scope unexpectedly, you make two commits for a single change operation, etc.

Bonus question: What would happen to the original code if no object was fetched from the db?

I'm not entirely sure why they're assigning you such questions. I would personally use a hatchet on anyone trying to push code like that.


Yeah, which is why I was asking in here... I am not really sure what exactly the point of the question is. I am pretty sure they are looking for one/two very specific answers but I am just not sure...

About the bonus question: I assume since there hasn't been fetched an actual object from the DB, the entity is empty and you would get some kind of error since you are calling a non static function (setName) in a static enviroment?
Prev 1 836 837 838 839 840 1032 Next
Please log in or register to reply.
Live Events Refresh
LAN Event
18:00
Day 3: Ursa 2v2, FFA
SteadfastSC341
IndyStarCraft 173
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 461
SteadfastSC 341
IndyStarCraft 173
White-Ra 151
UpATreeSC 149
ProTech122
Railgan 44
MindelVK 34
ROOTCatZ 15
StarCraft: Brood War
Shuttle 454
BRAT_OK 69
scan(afreeca) 32
Shine 7
ivOry 5
Dota 2
qojqva3461
Dendi1022
Counter-Strike
pashabiceps824
Heroes of the Storm
Liquid`Hasu247
Other Games
FrodaN1350
fl0m758
Beastyqt582
Mlord517
ceh9442
KnowMe194
ArmadaUGS173
C9.Mang092
Mew2King77
Trikslyr55
shahzam7
OptimusSC21
Organizations
Counter-Strike
PGL125
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 20 non-featured ]
StarCraft 2
• Reevou 13
• Adnapsc2 9
• Dystopia_ 0
• Kozan
• sooper7s
• AfreecaTV YouTube
• Migwel
• LaughNgamezSOOP
• intothetv
• IndyKCrew
StarCraft: Brood War
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• C_a_k_e 2940
• Ler90
League of Legends
• Nemesis2245
• TFBlade918
Other Games
• imaqtpie1157
• WagamamaTV313
• Shiphtur223
Upcoming Events
OSC
1h 59m
Replay Cast
2h 59m
OSC
15h 59m
LAN Event
18h 59m
Korean StarCraft League
1d 6h
CranKy Ducklings
1d 13h
LAN Event
1d 18h
IPSL
1d 21h
dxtr13 vs OldBoy
Napoleon vs Doodle
BSL 21
1d 23h
Gosudark vs Kyrie
Gypsy vs Sterling
UltrA vs Radley
Dandy vs Ptak
Replay Cast
2 days
[ Show More ]
Sparkling Tuna Cup
2 days
WardiTV Korean Royale
2 days
LAN Event
2 days
IPSL
2 days
JDConan vs WIZARD
WolFix vs Cross
BSL 21
2 days
spx vs rasowy
HBO vs KameZerg
Cross vs Razz
dxtr13 vs ZZZero
Replay Cast
3 days
Wardi Open
3 days
WardiTV Korean Royale
4 days
Replay Cast
5 days
Kung Fu Cup
5 days
Classic vs Solar
herO vs Cure
Reynor vs GuMiho
ByuN vs ShoWTimE
Tenacious Turtle Tussle
6 days
The PondCast
6 days
RSL Revival
6 days
Solar vs Zoun
MaxPax vs Bunny
Kung Fu Cup
6 days
WardiTV Korean Royale
6 days
Liquipedia Results

Completed

BSL 21 Points
SC4ALL: StarCraft II
Eternal Conflict S1

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
SOOP Univ League 2025
YSL S2
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
Esports World Cup 2025

Upcoming

BSL Season 21
SLON Tour Season 2
BSL 21 Non-Korean Championship
Acropolis #4
HSC XXVIII
RSL Offline Finals
WardiTV 2025
RSL Revival: Season 3
Stellar Fest
META Madness #9
BLAST Bounty Winter 2026: Closed Qualifier
eXTREMESLAND 2025
ESL Impact League Season 8
SL Budapest Major 2025
BLAST Rivals Fall 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.