• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 07:45
CET 13:45
KST 21:45
  • 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 Revival - 2025 Season Finals Preview8RSL Season 3 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12
Community News
Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets3$21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7)15Weekly Cups (Dec 29-Jan 4): Protoss rolls, 2v2 returns7[BSL21] Non-Korean Championship - Starts Jan 103SC2 All-Star Invitational: Jan 17-1825
StarCraft 2
General
SC2 All-Star Invitational: Jan 17-18 Weekly Cups (Jan 5-11): Clem wins big offline, Trigger upsets When will we find out if there are more tournament SC2 Spotted on the EWC 2026 list? Weekly Cups (Dec 29-Jan 4): Protoss rolls, 2v2 returns
Tourneys
Sparkling Tuna Cup - Weekly Open Tournament SC2 AI Tournament 2026 $21,000 Rongyi Cup Season 3 announced (Jan 22-Feb 7) $25,000 Streamerzone StarCraft Pro Series announced WardiTV Winter Cup
Strategy
Simple Questions Simple Answers
Custom Maps
Map Editor closed ?
External Content
Mutation # 508 Violent Night Mutation # 507 Well Trained Mutation # 506 Warp Zone Mutation # 505 Rise From Ashes
Brood War
General
BW General Discussion [ASL21] Potential Map Candidates A cwal.gg Extension - Easily keep track of anyone Potential ASL qualifier breakthroughs? BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[Megathread] Daily Proleagues [BSL21] Grand Finals - Sunday 21:00 CET [BSL21] Non-Korean Championship - Starts Jan 10 SLON Grand Finals – Season 2
Strategy
Game Theory for Starcraft Simple Questions, Simple Answers Current Meta [G] How to get started on ladder as a new Z player
Other Games
General Games
Beyond All Reason Nintendo Switch Thread Awesome Games Done Quick 2026! Mechabellum Stormgate/Frost Giant Megathread
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
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine European Politico-economics QA Mega-thread Trading/Investing Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
Anime Discussion Thread
Sports
2024 - 2026 Football Thread
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
The Automated Ban List TL+ Announced
Blogs
My 2025 Magic: The Gathering…
DARKING
Physical Exercise (HIIT) Bef…
TrAiDoS
Life Update and thoughts.
FuDDx
How do archons sleep?
8882
James Bond movies ranking - pa…
Topin
Customize Sidebar...

Website Feedback

Closed Threads



Active: 2511 users

The Big Programming Thread - Page 805

Forum Index > General Forum
Post a Reply
Prev 1 803 804 805 806 807 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
Poland17598 Posts
November 27 2016 17:22 GMT
#16081
On November 28 2016 02:16 travis wrote:
What does this do:


int i = 0

for(int j = 0: j < 10; j++) {
for(i++; i < 10; i++) {
print hi
} }


I guess you meant there to be "print i" not "print hi". It would simply print out 123456789.
Time is precious. Waste it wisely.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 27 2016 17:26 GMT
#16082
naw the print statement was in there just so that there would be something inside
the question was more about the looping
I was actually trying to do a basic bubble sort, but I figured it out

outer loop needs to be:

for(int i=0; i < array length; i++)

and then inner loop is:

for(int j=1; j < (array length - i); j++)
Mr. Wiggles
Profile Blog Joined August 2010
Canada5894 Posts
November 27 2016 19:00 GMT
#16083
On November 27 2016 18:51 Aerisky wrote:
Show nested quote +
On November 27 2016 03:44 Nesserev wrote:
On November 27 2016 03:32 phar wrote:
Anyways, how about that bike shed?

First quality post in a while

EDIT: Anyone got any recommended reads that really blew them away recently?

Just read "Story of Your Life" by Ted Chiang (short story on which Arrival was based) which was really great.

JK but I actually read https://learnpythonthehardway.org/book/nopython3.html recently, and found it pretty interesting since I generally like python 3. I was blown away as I really felt some of his concerns were over, uh, blown, and didn't realize it was that big of an issue (is python actually a dying language)? Not sure whence this rant came, tbh. What do you guys think?

I don't feel like I'm experienced enough to have an informed opinion, but other than better error messages and what I've heard was rather bungled handling of the transition from python 2 to 3, I don't really feel like there's that much doom and gloom to be had regarding python 3.

Maybe the guy has had lots of problems with string encoding in his own work, but based on my own personal experience, I have to disagree with the thrust of his argument, and most of his conclusions.

Firstly, I don't know enough about the Python VM/compiler internals to be able say how hard it would have been to include backwards-compatibility from the start, versus only supporting Python 3. As for the conversion argument, from my own experience, porting projects to Python 3 has been pretty easy, and most of the work is in auditing the code to take advantage of new Python 3 features.

Secondly, I don't think implicit conversions between byte sequences and Unicode strings are safe in general. This only works if you're operating entirely in ASCII, or if you didn't need a string in the first place. In Unicode, a byte != a code point, so turning your Unicode string into a sequence of bytes and then trying to print it is going to work, but will result in garbled messages. String and byte sequences are semantically different, and I think it makes sense to separate the two and force explicit conversions when needed.

I agree that having multiple string formatting choices as we do now is a smell, and goes against the "there should be one obvious way to do it" principle of Python.

Lastly, I would question how many people have to actually work with multiple encodings and converting between them on a regular basis. Most of my professional work with Python is with building/supporting a large distributed, automated, test framework, and I basically never had to touch strings. I also concurrently used Python 2 and 3, and found very little mental switching needed between them, besides missing some features from Python 3.

On another note, this sentence made me burst out laughing:

Now, I fear that everyone who currently codes Python 2 is simply going to move to a more stable language like Go, Rust, Clojure, or Elixir.

I could maybe see some Python programmers moving to Go, but when his argument is that having a couple of static string formats is confusing enough to kill Python and drive beginners from the language, saying they'll go to one of these other languages is hilarious.

I mean, Rust doesn't even let you index into Strings, because they're always valid UTF-8, and the semantics of indexing are unclear: https://doc.rust-lang.org/std/string/struct.String.html . You have to convert the string using either as_bytes() or chars() to get iterators over the bytes or characters. There's also no implicit conversion the other way, from a u8[] to a std::String. This is just strings too, before you get into some of the more confusing to grok things like the borrow checker and lifetimes.

Never mind that these languages aren't even necessarily targeting the same design space as Python is either. It's like saying, "Now, I fear that everyone who currently codes Python 2 is simply going to move to a more stable language like Ruby, C, Haskell, or Erlang.". It's just listing languages, I don't see how there's some logical transition to any of these.

If I was a Python language contributor, who was worried about someone else coming and gobbling up my users, I'd probably be most scared of Go, or else Julia from the scientific side of things. The reasons to be scared also aren't related to having multiple static string types either.
you gotta dance
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-11-27 19:35:48
November 27 2016 19:32 GMT
#16084
--- Nuked ---
TheEmulator
Profile Blog Joined July 2010
28095 Posts
November 27 2016 19:37 GMT
#16085
I like Zed Shaw and what he's done (I've read LPTHW for example), but sometimes you just have to ignore him
Administrator
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
November 27 2016 19:42 GMT
#16086
--- Nuked ---
Prillan
Profile Joined August 2011
Sweden350 Posts
November 27 2016 19:59 GMT
#16087
On November 28 2016 02:16 travis wrote:
edit: there is something magical about asking a question and then instantly figuring out the answer

https://en.wikipedia.org/wiki/Rubber_duck_debugging
TheBB's sidekick, aligulac.com | "Reality is frequently inaccurate." - Douglas Adams
Targe
Profile Blog Joined February 2012
United Kingdom14103 Posts
November 27 2016 23:11 GMT
#16088
am i good to ask why a bug is happening in my code here even though the program its in is part of my coursework?
im not asking for a solution to my coursework, just cant work out why the bug is happening
11/5/14 CATACLYSM | The South West's worst Falco main
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
November 27 2016 23:26 GMT
#16089
On November 28 2016 08:11 Targe wrote:
am i good to ask why a bug is happening in my code here even though the program its in is part of my coursework?
im not asking for a solution to my coursework, just cant work out why the bug is happening


I don't think most people here really care (in my experience), so it's up to your personal integrity.
I ask questions about my coursework sometimes, when I do it's generally because I think it isn't really cheating or that my school's requirements are being constricting to my growth.
Targe
Profile Blog Joined February 2012
United Kingdom14103 Posts
Last Edited: 2016-11-27 23:56:51
November 27 2016 23:33 GMT
#16090
On November 28 2016 08:26 travis wrote:
Show nested quote +
On November 28 2016 08:11 Targe wrote:
am i good to ask why a bug is happening in my code here even though the program its in is part of my coursework?
im not asking for a solution to my coursework, just cant work out why the bug is happening


I don't think most people here really care (in my experience), so it's up to your personal integrity.
I ask questions about my coursework sometimes, when I do it's generally because I think it isn't really cheating or that my school's requirements are being constricting to my growth.

great, thanks

considering the end result of the coursework is to produce a simple c compiler, one bug isnt the biggest detriment to me doing it all (i often search stackoverflow for the solutions to bugs)

spoilered the relevant code here (i think its enough?), language is C

basically the variables in two instances of mainClosure seem to be different when called from set_up_global() and main() even though im acquiring them the same way through get_func_binding() in both cases and im returning the TOKEN* used to call get_func_binding() in set_up_global() to main() in order to call get_func_binding() again

+ Show Spoiler +


TOKEN* set_up_global(NODE* tree, FRAME* theFrame) {
TOKEN* main;
if (tree->left-> type == '~') {
printf("got BRANCH\n");
set_up_global(tree->right, theFrame);
set_up_global(tree->left, theFrame);
}
else if (tree->type == 'D') {
printf("got DECLARATION\n");
//print_tree(tree->left->left);//return type
//print_tree(tree->left->right->left);//function name
TOKEN* nameToken = (TOKEN*)tree->left->right->left->left;

char testString[5];
sprintf(testString, nameToken->lexeme);
if (strcmp(testString, "main") == 0) {
printf("MAIN FOUND\n");
main = nameToken;
}
printf("nameToken name is: ");
printf(nameToken->lexeme);
printf("\n");
//printf("name: %s\n", nameToken->lexeme);
//print_tree(tree->left->right->right);//formals
//print_tree(tree->right);//body
add_function_binding(theFrame, nameToken,
(NODE *)tree->left->right->right, (NODE *)tree->right);
printf("making mainClosure\n");
struct closure mainClosure = get_func_binding(theFrame, main);
print_tree(mainClosure.body);

} else if (tree->type == '~') {
printf("got VAR\n");
TOKEN* val = (TOKEN*)tree->right->right->left;
printf("bindingtest=%d\n", val->value);
int theVal = val->value;
print_tree(tree->right->right);

if (tree->right->right->type == '+' || tree->right->right->type == '-' ||
tree->right->right->type == '*' || tree->right->right->type == '/') {
printf("PLUS\n");
int l = interpret(tree->right->right, theFrame);
printf("l=%d\n", l);
theVal = l;
}

add_binding(theFrame, (TOKEN*)tree->right->left->left, theVal);
//print_tree(tree->right->right);//value
//print_tree(tree->right->left);//var name
}

return main;
}


int main(int argc, char** argv)
{
if (argc>1 && strcmp(argv[1],"-d")==0) yydebug = 1;
init_symbtable();

// head = (listnode*)malloc(sizeof(listnode));
// FRAME* main = (FRAME*)malloc(sizeof(FRAME)); //setup main scope
// main->next = global; //link main and global frames

// TOKEN* testtoken = lookup_token("z"); //testing to see if frames work
// add_binding(main,testtoken,5);

NODE* tree;

int r;
printf("--C COMPILER\n");
yyparse();
tree = ans;
printf("parse finished with %p\n", tree);
print_tree(tree);
printf("\n\n-----\n\n");
print_tree(tree->right->right);

FRAME* g = (FRAME*)malloc(sizeof(FRAME));
TOKEN* mainToken = set_up_global(tree ,g);
//printf(mainToken->lexeme);
struct closure mainClosure = get_func_binding(g, mainToken);
printf("PRINTING MAIN\n");
//print_tree(mainClosure.formals);
//print_tree(mainClosure.body);
//r = interpret(,g);
// printf("%d\n",r);
//compile(tree->right);
return 0;
}



EDIT: i think i found why its not working? its due to the fact the function recursively calls itself so the TOKEN* main that gets returned might not necessarily have been assigned a value?
11/5/14 CATACLYSM | The South West's worst Falco main
tofucake
Profile Blog Joined October 2009
Hyrule19188 Posts
Last Edited: 2016-11-28 00:22:08
November 28 2016 00:21 GMT
#16091
The homework rule is to avoid situations like

I have this homework problem:

>homework problem<

please give me code for it


If you've already got an answer, or if you want direction in how to approach the homework/quiz/test/schoolwork/whatever, that's different than just asking for the answer to a problem. We don't mind helping people find how to solve a problem, or even giving loads of examples on how problems can be approached. Don't be scared
Liquipediaasante sana squash banana
Targe
Profile Blog Joined February 2012
United Kingdom14103 Posts
November 28 2016 00:31 GMT
#16092
guess i got worried after seeing stuff like "homework thread" in blog comments lol

i dont think its even possible for me to ask questions like the example you gave at this stage in my degree tbh, all my coursework now is a bit beyond simple solutions
11/5/14 CATACLYSM | The South West's worst Falco main
Aerisky
Profile Blog Joined May 2012
United States12129 Posts
November 28 2016 00:33 GMT
#16093
@Nesserev and Mr. Wiggles whoa, thanks for the really detailed responses. I agree, yeah. The late start of Python 3 was definitely in part the fault of the maintainers/designers to an extent, but it overall seems to be headed in the right direction. I also got the impression that Zed has some beef based on some conversations with the Python team that didn't go very well w.r.t. backwards compatibility and the other points mentioned.
Jim while Johnny had had had had had had had; had had had had the better effect on the teacher.
meatpudding
Profile Joined March 2011
Australia520 Posts
November 28 2016 00:47 GMT
#16094
On November 28 2016 08:33 Targe wrote:
Show nested quote +
On November 28 2016 08:26 travis wrote:
On November 28 2016 08:11 Targe wrote:
am i good to ask why a bug is happening in my code here even though the program its in is part of my coursework?
im not asking for a solution to my coursework, just cant work out why the bug is happening


I don't think most people here really care (in my experience), so it's up to your personal integrity.
I ask questions about my coursework sometimes, when I do it's generally because I think it isn't really cheating or that my school's requirements are being constricting to my growth.

great, thanks

considering the end result of the coursework is to produce a simple c compiler, one bug isnt the biggest detriment to me doing it all (i often search stackoverflow for the solutions to bugs)

spoilered the relevant code here (i think its enough?), language is C

basically the variables in two instances of mainClosure seem to be different when called from set_up_global() and main() even though im acquiring them the same way through get_func_binding() in both cases and im returning the TOKEN* used to call get_func_binding() in set_up_global() to main() in order to call get_func_binding() again

+ Show Spoiler +


TOKEN* set_up_global(NODE* tree, FRAME* theFrame) {
TOKEN* main;
if (tree->left-> type == '~') {
printf("got BRANCH\n");
set_up_global(tree->right, theFrame);
set_up_global(tree->left, theFrame);
}
else if (tree->type == 'D') {
printf("got DECLARATION\n");
//print_tree(tree->left->left);//return type
//print_tree(tree->left->right->left);//function name
TOKEN* nameToken = (TOKEN*)tree->left->right->left->left;

char testString[5];
sprintf(testString, nameToken->lexeme);
if (strcmp(testString, "main") == 0) {
printf("MAIN FOUND\n");
main = nameToken;
}
printf("nameToken name is: ");
printf(nameToken->lexeme);
printf("\n");
//printf("name: %s\n", nameToken->lexeme);
//print_tree(tree->left->right->right);//formals
//print_tree(tree->right);//body
add_function_binding(theFrame, nameToken,
(NODE *)tree->left->right->right, (NODE *)tree->right);
printf("making mainClosure\n");
struct closure mainClosure = get_func_binding(theFrame, main);
print_tree(mainClosure.body);

} else if (tree->type == '~') {
printf("got VAR\n");
TOKEN* val = (TOKEN*)tree->right->right->left;
printf("bindingtest=%d\n", val->value);
int theVal = val->value;
print_tree(tree->right->right);

if (tree->right->right->type == '+' || tree->right->right->type == '-' ||
tree->right->right->type == '*' || tree->right->right->type == '/') {
printf("PLUS\n");
int l = interpret(tree->right->right, theFrame);
printf("l=%d\n", l);
theVal = l;
}

add_binding(theFrame, (TOKEN*)tree->right->left->left, theVal);
//print_tree(tree->right->right);//value
//print_tree(tree->right->left);//var name
}

return main;
}


int main(int argc, char** argv)
{
if (argc>1 && strcmp(argv[1],"-d")==0) yydebug = 1;
init_symbtable();

// head = (listnode*)malloc(sizeof(listnode));
// FRAME* main = (FRAME*)malloc(sizeof(FRAME)); //setup main scope
// main->next = global; //link main and global frames

// TOKEN* testtoken = lookup_token("z"); //testing to see if frames work
// add_binding(main,testtoken,5);

NODE* tree;

int r;
printf("--C COMPILER\n");
yyparse();
tree = ans;
printf("parse finished with %p\n", tree);
print_tree(tree);
printf("\n\n-----\n\n");
print_tree(tree->right->right);

FRAME* g = (FRAME*)malloc(sizeof(FRAME));
TOKEN* mainToken = set_up_global(tree ,g);
//printf(mainToken->lexeme);
struct closure mainClosure = get_func_binding(g, mainToken);
printf("PRINTING MAIN\n");
//print_tree(mainClosure.formals);
//print_tree(mainClosure.body);
//r = interpret(,g);
// printf("%d\n",r);
//compile(tree->right);
return 0;
}



EDIT: i think i found why its not working? its due to the fact the function recursively calls itself so the TOKEN* main that gets returned might not necessarily have been assigned a value?


I'm not sure exactly if this is your problem, but g isn't initialised before it's passed to set_up_global. Also, in set_up_global, anything that changes the pointer theFrame is only going to act locally, and not change the object pointed to by g. I'm not sure what your problem is, but I would recommend initialising g.
Be excellent to each other.
Manit0u
Profile Blog Joined August 2004
Poland17598 Posts
Last Edited: 2016-11-28 01:31:25
November 28 2016 01:24 GMT
#16095
I think that the first thing you should work on is structuring your data properly:


tree->left->right->left->left


Holy hell...

Also, may I ask why do you want to introduce closures in C? C is not a functional language and trying to make it so isn't going to help you.

Edit: I assume you have seen this already?
Time is precious. Waste it wisely.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-28 03:45:45
November 28 2016 01:56 GMT
#16096
ungraded lab exercise at my school
we are doing threading

the idea in this excersize is to replace all the values in a 2 dimensional array with the square root of each value

but in this class, we are doing it by making height number threads, and each thread will square root every width value

so, I made ProcessRow, which has the runnable for my thread behavior

but what do I put into my main method and "//do stuff here"? The directions say I need to create an "array of threads".
I know I need to do something like.. new thread. which I guess I will put in every index. and then I need to go through the indexes and do that index.start. Also I then need to "join" the threads before it gets to the timer.

I know I am basically asking someone to do this part of the work for me, but yeah, it's a bit confusing.


+ Show Spoiler +


public class MathWithMultipleThreads {

private static Random random = new Random();

private static double[][] makeArray(int height, int width) {
double[][] answer = new double[height][width];
for (int row = 0; row < height; row++) {
for (int col = 0; col < width; col++) {
answer[row][col] = random.nextDouble();
}
}
return answer;
}

public static void main(String[] args) throws InterruptedException {
double[][] array = makeArray(1000, 1000);
long start = System.nanoTime();

//do stuff here



long end = System.nanoTime();
System.out.println((end - start)/1000000000.0);
}

class ProcessRow implements Runnable {

double[] arrayRow;

public ProcessRow(double[] rows) {
arrayRow = rows;
}

@Override
public void run() {

for (int col = 0; col < arrayRow.length; col++){
arrayRow[col] = Math.sqrt(arrayRow[col]);
}


}

}
}


tofucake
Profile Blog Joined October 2009
Hyrule19188 Posts
November 28 2016 03:20 GMT
#16097
On November 28 2016 09:31 Targe wrote:
guess i got worried after seeing stuff like "homework thread" in blog comments lol

i dont think its even possible for me to ask questions like the example you gave at this stage in my degree tbh, all my coursework now is a bit beyond simple solutions

Just follow the thread for a few days and you'll see how it works. It's a lot of Travis along for homework help :p
Liquipediaasante sana squash banana
Blitzkrieg0
Profile Blog Joined August 2010
United States13132 Posts
November 28 2016 03:26 GMT
#16098
Was all that code provided? I feel like the Thread should be setup in a different way, but it may just make more sense in my mind that way.
I'll always be your shadow and veil your eyes from states of ain soph aur.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-11-28 03:34:47
November 28 2016 03:33 GMT
#16099
On November 28 2016 12:20 tofucake wrote:
Show nested quote +
On November 28 2016 09:31 Targe wrote:
guess i got worried after seeing stuff like "homework thread" in blog comments lol

i dont think its even possible for me to ask questions like the example you gave at this stage in my degree tbh, all my coursework now is a bit beyond simple solutions

Just follow the thread for a few days and you'll see how it works. It's a lot of Travis along for homework help :p



I like to think of it as I am a driving force of the thread.


On November 28 2016 12:26 Blitzkrieg0 wrote:
Was all that code provided? I feel like the Thread should be setup in a different way, but it may just make more sense in my mind that way.




This is what was provided

+ Show Spoiler +


public class MathWithMultipleThreads {

private static Random random = new Random();

private static double[][] makeArray(int height, int width) {
double[][] answer = new double[height][width];
for (int row = 0; row < height; row++) {
for (int col = 0; col < width; col++) {
answer[row][col] = random.nextDouble();
}
}
return answer;
}

public static void main(String[] args) throws InterruptedException {
double[][] array = makeArray(1000, 1000);
long start = System.nanoTime();

//do stuff here



long end = System.nanoTime();
System.out.println((end - start)/1000000000.0);
}
}



but they also basically told us to create an inner class that implements runnable
Blitzkrieg0
Profile Blog Joined August 2010
United States13132 Posts
November 28 2016 03:36 GMT
#16100
so what you wrote doesn't actually access 'array' that was created so you're doing the square root on different data.
I'll always be your shadow and veil your eyes from states of ain soph aur.
Prev 1 803 804 805 806 807 1032 Next
Please log in or register to reply.
Live Events Refresh
WardiTV Invitational
12:00
Group C
Shameless vs GuMihoLIVE!
Shameless vs YoungYakov
Creator vs YoungYakov
Creator vs GuMiho
GuMiho vs YoungYakov
WardiTV624
TKL 42
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
Lowko180
TKL 42
StarCraft: Brood War
Shuttle 1148
Mini 572
Soma 514
BeSt 495
ZerO 383
Light 358
Snow 353
Hyun 334
hero 292
Rush 267
[ Show more ]
Hyuk 236
Last 203
Mong 192
Zeus 158
Barracks 83
Pusan 73
Aegong 57
Mind 56
Horang2 44
Free 44
soO 43
JYJ 34
GoRush 32
HiyA 24
Bale 17
Noble 14
JulyZerg 11
scan(afreeca) 10
Terrorterran 5
Dota 2
XcaliburYe103
ODPixel68
Counter-Strike
fl0m1264
olofmeister1195
x6flipin491
Super Smash Bros
Mew2King90
Other Games
singsing1832
B2W.Neo979
Gorgc828
Pyrionflax290
crisheroes270
Sick146
XaKoH 36
ZerO(Twitch)5
Organizations
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 17 non-featured ]
StarCraft 2
• HappyZerGling 77
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• LaughNgamezSOOP
• intothetv
• Kozan
StarCraft: Brood War
• iopq 4
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• C_a_k_e 1196
• WagamamaTV356
League of Legends
• Jankos1894
• TFBlade645
• Stunt639
Upcoming Events
The PondCast
21h 15m
OSC
23h 15m
Jumy vs sebesdes
Nicoract vs GgMaChine
ReBellioN vs MaNa
Lemon vs TriGGeR
Gerald vs Cure
Creator vs SHIN
OSC
1d 23h
All Star Teams
2 days
INnoVation vs soO
Serral vs herO
Cure vs Solar
sOs vs Scarlett
Classic vs Clem
Reynor vs Maru
uThermal 2v2 Circuit
2 days
All Star Teams
3 days
MMA vs DongRaeGu
Rogue vs Oliveira
Sparkling Tuna Cup
3 days
OSC
3 days
Replay Cast
4 days
Wardi Open
4 days
[ Show More ]
The PondCast
6 days
Liquipedia Results

Completed

Proleague 2026-01-13
Big Gabe Cup #3
NA Kuram Kup

Ongoing

C-Race Season 1
IPSL Winter 2025-26
BSL 21 Non-Korean Championship
CSL 2025 WINTER (S19)
OSC Championship Season 13
Underdog Cup #3
BLAST Bounty Winter Qual
eXTREMESLAND 2025
SL Budapest Major 2025
ESL Impact League Season 8
BLAST Rivals Fall 2025
IEM Chengdu 2025
PGL Masters Bucharest 2025

Upcoming

Escore Tournament S1: W4
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
Rongyi Cup S3
SC2 All-Star Inv. 2025
Nations Cup 2026
BLAST Open Spring 2026
ESL Pro League Season 23
ESL Pro League Season 23
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 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.