• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 04:39
CET 10:39
KST 18:39
  • 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 - Playoffs Preview0RSL Season 3 - RO16 Groups C & D Preview0RSL Season 3 - RO16 Groups A & B Preview2TL.net Map Contest #21: Winners12Intel X Team Liquid Seoul event: Showmatches and Meet the Pros10
Community News
Weekly Cups (Nov 24-30): MaxPax, Clem, herO win2BGE Stara Zagora 2026 announced15[BSL21] Ro.16 Group Stage (C->B->A->D)4Weekly Cups (Nov 17-23): Solar, MaxPax, Clem win3RSL Season 3: RO16 results & RO8 bracket13
StarCraft 2
General
Chinese SC2 server to reopen; live all-star event in Hangzhou Maestros of the Game: Live Finals Preview (RO4) BGE Stara Zagora 2026 announced Weekly Cups (Nov 24-30): MaxPax, Clem, herO win SC2 Proleague Discontinued; SKT, KT, SGK, CJ disband
Tourneys
RSL Offline Finals Info - Dec 13 and 14! StarCraft Evolution League (SC Evo Biweekly) RSL Offline FInals Sea Duckling Open (Global, Bronze-Diamond) $5,000+ WardiTV 2025 Championship
Strategy
Custom Maps
Map Editor closed ?
External Content
Mutation # 502 Negative Reinforcement Mutation # 501 Price of Progress Mutation # 500 Fright night Mutation # 499 Chilling Adaptation
Brood War
General
BW General Discussion Which season is the best in ASL? Data analysis on 70 million replays BGH Auto Balance -> http://bghmmr.eu/ [ASL20] Ask the mapmakers — Drop your questions
Tourneys
[BSL21] RO16 Group D - Sunday 21:00 CET [BSL21] RO16 Group A - Saturday 21:00 CET [Megathread] Daily Proleagues [BSL21] RO16 Group B - Sunday 21:00 CET
Strategy
Current Meta Game Theory for Starcraft How to stay on top of macro? PvZ map balance
Other Games
General Games
Stormgate/Frost Giant Megathread Nintendo Switch Thread ZeroSpace Megathread The Perfect Game Path of Exile
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
Mafia Game Mode Feedback/Ideas TL Mafia Community Thread
Community
General
Russo-Ukrainian War Thread US Politics Mega-thread Things Aren’t Peaceful in Palestine The Big Programming Thread Artificial Intelligence Thread
Fan Clubs
White-Ra Fan Club
Media & Entertainment
[Manga] One Piece Movie Discussion! Anime Discussion Thread
Sports
2024 - 2026 Football Thread Formula 1 Discussion NBA General Discussion
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Where to ask questions and add stream? The Automated Ban List
Blogs
Physical Exertion During Gam…
TrAiDoS
James Bond movies ranking - pa…
Topin
Thanks for the RSL
Hildegard
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1741 users

The Big Programming Thread - Page 540

Forum Index > General Forum
Post a Reply
Prev 1 538 539 540 541 542 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.
ZenithM
Profile Joined February 2011
France15952 Posts
Last Edited: 2014-10-30 00:03:02
October 29 2014 23:47 GMT
#10781
On October 30 2014 01:48 Morfildur wrote:
Show nested quote +
On October 30 2014 01:14 LaNague wrote:
you are free to write in assembler if you dont like prose.


But most workplaces will use other languages where you can be more productive with.


The reason why languages won't become much closer to prose is because spoken language has a huge amount of ambiguities, which simply don't work in programming languages. A programming language has to be precise, so while you can change "{" to "begin" or indent several lines, it's still simply a different syntax for a very precise concept. If you just want words instead of symbols, there are C preprocessor macros that can do it for you.

#define begin {
#define end }
#define is =
#define is_not !=
...


I'd say that functional languages are the closest to spoken language because they work directly with concepts instead of abstraction, e.g. "let x be y and do z with it", even though they have a lot more "syntax" than e.g. python. However, even they are bound by the precision required to turn it into something the computer can work with.

While computers can "understand" spoken language, i.e. prose, it's not usable for the actual programming.

No, that's the reason programming languages aren't currently closer to prose. As natural language understanding becomes better, there will be a time when it's worth it to just talk to your computer about what you want your program to do, and it will be called "coding".
Otherwise you're right, functional languages are the closest to prose, albeit an overly formal one ;D

On October 30 2014 03:07 Blisse wrote:
Show nested quote +
On October 29 2014 22:02 Morfildur wrote:
On October 29 2014 10:11 Blisse wrote:
Do you think the future of coding will be 5K to 8K monitors? :3



Programming probably benefits a lot more from additional monitors compared to bigger or higher resolution monitors. The physical separation really helps a lot, e.g. when making changes and watching them on the second monitor or when having the documentation *cough*or stackoverflow*cough* on one screen and the code you are writing on the other.

I'd say that any programmer working with just one monitor, whether it's 1k, 2k, 4k, 8k or 128k is hurting his own productivity (and enjoyment).


I just don't understand why you guys think that using 4K means you'll see less. Using the shitty 4K 39" Seiko or good 32" Dell, 4K is still 4x more space than 1 1080p screen, so even with 3 1080p screens you're still only approaching one 4K screen. You can have more than one browser or code editor open at the same time on one 4K screen so I don't understand the argument against it.

There is no possible argument against more pixel density, assuming your OS has a good UI scaling framework and your computer still has the same power consumption and overall performances.
The thing is, there is no argument for either, in the case of reading text. Increasing pixel density helps us display smaller details. While it's all cool for a movie, pictures and video games, it's completely useless for fonts. Higher pixel density simply means that you can fit more text in a square inch of your screen. But past a point, a font needs to be of a certain minimal physical size to be readable. We just want to fit on our screen the maximum amount of characters we can read comfortably with our naked eye. And we're already there.

Edit: And by the way, there will come a point (we're probably not far at all) where we can't distinguish with our naked eye a certain pixel density from a higher pixel density. This is true for movies or pictures or whatever you display on your screen. Currently you can certainly distinguish text displayed on a 720p screen from one displayed on a 1080p screen, but you don't really read them any easier/harder.

Edit2: I understand that it may seem like I'm making a confusion between pixel density ("300 ppi") and resolution ("4K"). I'm not :D. Advertising and marketing are making this confusion for consumers though. Today when we talk about how "4K" and how amazing it looks, we're really talking about monitors with the same size as before but with more pixels, hence a higher pixel density. We're not talking about screens that are 4 times larger because it doesn't make any sense and it's not that interesting. Do I have any use for a 45 inch desktop monitor? Hmm probably not. But sure, if you like theater screens to code, you damn sure need your 4K, go ahead.
Cynry
Profile Blog Joined August 2010
810 Posts
October 31 2014 09:35 GMT
#10782
Hey guys !
Yet another segfaulting function that I can't seem to figure out...
#include <stdlib.h>
#include <string.h>

char *ft_strjoin(char const *s1, char const *s2)
{
char *result;
unsigned int length;
unsigned int isrc;
unsigned int ires;

isrc = 0;
ires = 0;
length = ft_strlen(s1) + ft_strlen(s2) + 1;
result = NULL;
result = (char *)malloc(sizeof(result) * length);
while (s1)
{
result[ires] = s1[isrc];
ires++;
isrc++;
}
isrc = 0;
while (s2)
{
result[ires] = s2[isrc];
ires++;
isrc++;
}
result[ires] = '\0';
return (result);
}

int main(void)
{
const char s1[] = "hey ";
const char s2[] = "'sup ?";
char *result;

result = (char *)malloc(sizeof(result) * 11);
result = ft_strjoin(s1, s2);
ft_putstr((char const *)result);
}


Guess it's obvious, but strjoin is supposed to join 2 string together into a third one that I malloc and return. I suspect there's much better way to do it but that's what I came up with. And well, it doesn't work.
Halp ?
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2014-10-31 10:04:49
October 31 2014 09:51 GMT
#10783
If you can code on a 14" 1080p laptop screen, then you can code just as perfectly well on a 28" 4K monitor. I don't know about you guys, but I'm not blind... you're acting like 4K at 27-32" screens makes your text minuscule. It doesn't.

@cynry,

1. in main, you allocated an array using malloc and then replaced it with a pointer. what's up with that?
2. your while loop ends when s1/s2 hits a \0. but you never actually increment s1/s2. you probably want

while (s1)
{
result[ires] = *s1;
ires++;
s1++;
}



edit: shoot, is sizeof(char) in c/c++ not sizeof(char*)? err, that as well then
There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:07:03
October 31 2014 10:00 GMT
#10784
On October 31 2014 18:51 Blisse wrote:
If you can code on a 14" 1080p laptop screen, then you can code just as perfectly well on a 28" 4K monitor. I don't know about you guys, but I'm not blind... you're acting like 4K at 27-32" screens makes your text minuscule. It doesn't.

@cynry,

1. in main, you allocated an array using malloc and then replaced it with a pointer. what's up with that?
2. your while loop ends when s1/s2 hits a \0. but you never actually increment s1/s2. you probably want

while (s1)
{
result[ires] = *s1;
ires++;
s1++;
}


1. Forgot to remove it, thought I might as well try to malloc the result in case it was what caused the error.
2. Very. Good. Point. ><


Edit : Tried your solution and still segfault.
So I did that :

while (s2[isrc])
{
result[ires] = s2[isrc];
ires++;
isrc++;
}

And it works.
Still wondering why your solution didn't. From the little I know about pointers it shouuuuuld ?
bangsholt
Profile Joined June 2011
Denmark138 Posts
October 31 2014 10:01 GMT
#10785
You should only malloc once - otherwise you leak those bytes.

Also, consider the diffence between sizeof(result) and sizeof(char).

But you should check your while loops, that's where the issue starts - a small hint - when do they terminate?
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 31 2014 10:08 GMT
#10786
On October 31 2014 19:00 Cynry wrote:
And it works.
Still wondering why your solution didn't. From the little I know about pointers it shouuuuuld ?


it should be a while(*s1) not while(s1)

check your mallocs as well though, you're over-malloc-ing.
There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:20:24
October 31 2014 10:12 GMT
#10787
On October 31 2014 19:01 bangsholt wrote:
Also, consider the diffence between sizeof(result) and sizeof(char).

Oh I wanted to ask about that. Not the fact that I did a sizeof a pointer instead of a sizeof a char (now corrected), but about the differences between
sizeof(*result)
and
sizeof(char)

If I understood correctly, it's the exact same for the computer, both point to a char and should return 1. But I heard some people say the first one is better for portability. Can't pretend to understand exactly why, so I'd like to hear some thoughts about it.

Edit : Ok, it works with while(*s1). Much cleaner looking, thanks !
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 31 2014 10:20 GMT
#10788
I don't see a call to free, isn't that missing as well? Sure, the program terminates right after so it doesn't really matter, but that's not a good reason to not free your resources.
If you have a good reason to disagree with the above, please tell me. Thank you.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:32:52
October 31 2014 10:24 GMT
#10789
On October 31 2014 19:20 spinesheath wrote:
I don't see a call to free, isn't that missing as well? Sure, the program terminates right after so it doesn't really matter, but that's not a good reason to not free your resources.

Would freeing right before the return of ft_strjoin work ?
I'm not too familiar with memory stuff yet, free "unlock" the memory but the data is still there, right ? So as long as nothing writes over it, I can still point to it and have the same result ?

Edit : This is where I'm at. Now with free, malloc check (I think ?) and an ending \n !
#include <stdlib.h>
#include <string.h>

char *ft_strjoin(char const *s1, char const *s2)
{
char *result;
unsigned int length;
unsigned int i;

i = 0;
length = ft_strlen(s1) + ft_strlen(s2) + 1;
result = (char *)malloc(sizeof(*result) * length);
if (!result)
return (NULL);
while (*s1)
{
result[i] = *s1;
i++;
s1++;
}
while (*s2)
{
result[i] = *s2;
i++;
s2++;
}
result[i] = '\0';
return (result);
}

int main(void)
{
char const s1[] = "heeeeeeey";
char const s2[] = " sexy lady !\n";
char const *result;

result = ft_strjoin(s1, s2);
ft_putstr((char const *)result);
free((char *)result);
}
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2014-10-31 10:52:55
October 31 2014 10:25 GMT
#10790
It's better for portability but you don't really have to worry about it for the most part.

Using malloc(sizeof(*result)) is a lot more friendly to changes in code.

If you change the type of result (from char* result to int* result), you aren't forced to go find and change the now broken malloc(sizeof(char)) code to malloc(sizeof(char*)). sizeof(*result) handles that for you.

sizeof(*result) is also easier to type if you don't want to think about the malloc.

however, because it seems like you're writing a library of string formatting functions, you could totally make the case that you should use sizeof(char) here instead.


edit:
you need* to free the malloc at some point in your program before it ends. don't free it before you actually use it though, then you get unexpected results. the compiler decides whether it will zero/obfuscate free'd memory or leave it untouched, so it's a coinflip.

* you don't really need to do it but it's a good practice.

we talked about this in a previous page but it might be a good idea to prefix the pointer name if it's a malloc'd pointer. this makes sure it's clear that you malloc'd it, and that you need to free it at some point.

finally, it's a bad practice to use malloc in a different scope than where you would free it. this is because you can't tell the difference between a char* pointing to malloc'd memory or stack memory. we can circumvent this with good naming conventions but it's still a big problem. that's a reason why sometimes you'll see "void join(char* s1, char* s2, char* output)" rather than what you have. can't help it in assignments but good to think about.

edit final:
i'm not sure if you have the const correctness totally right (but i have no clue)

http://www.possibility.com/Cpp/const.html

nevermind this is C not C++
http://en.wikipedia.org/wiki/Const-correctness
There is no one like you in the universe.
bangsholt
Profile Joined June 2011
Denmark138 Posts
October 31 2014 10:29 GMT
#10791
On October 31 2014 19:12 Cynry wrote:
Show nested quote +
On October 31 2014 19:01 bangsholt wrote:
Also, consider the diffence between sizeof(result) and sizeof(char).

Oh I wanted to ask about that. Not the fact that I did a sizeof a pointer instead of a sizeof a char (now corrected), but about the differences between
sizeof(*result)
and
sizeof(char)

If I understood correctly, it's the exact same for the computer, both point to a char and should return 1. But I heard some people say the first one is better for portability. Can't pretend to understand exactly why, so I'd like to hear some thoughts about it.


Have you tried to make a simple main that runs sizeof(char*) and sizeof(char) and looked at the result?

A pointer on a "newer" machine would usually be 4 or 8 bytes, when it's desktop.

A char is usually 1 byte.

So, no, both are not 1 byte.

On October 31 2014 19:24 Cynry wrote:
Show nested quote +
On October 31 2014 19:20 spinesheath wrote:
I don't see a call to free, isn't that missing as well? Sure, the program terminates right after so it doesn't really matter, but that's not a good reason to not free your resources.

Would freeing right before the return of ft_strjoin work ?
I'm not too familiar with memory stuff yet, free "unlock" the memory but the data is still there, right ? So as long as nothing writes over it, I can still point to it and have the same result ?


"So as long as nothing writes over it", yes.

But by free'ing you're allowing that memory to be used again - so it can be overwritten.

The solution is easy - don't free until you're done with what you've malloc'ed.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 31 2014 10:34 GMT
#10792
@bang, he has sizeof(*result) so he's dereferencing the pointer already
There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
October 31 2014 10:37 GMT
#10793
Changed a bunch of stuff that I edited in my previous post.

int             main(void)
{
char *wtv;

ft_putnbr(sizeof(char));
ft_putnbr(sizeof(char*));
ft_putnbr(sizeof(*wtv));
ft_putnbr(sizeof(wtv));
}

This returns 1, 4, 1, 4. So you're right about char and char* being different but it's not really what we talked about.
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
October 31 2014 10:42 GMT
#10794
Poll: What do you do? (and why)

return result; (9)
 
90%

return(result); (1)
 
10%

10 total votes

Your vote: What do you do? (and why)

(Vote): return result;
(Vote): return(result);


There is no one like you in the universe.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 10:59:38
October 31 2014 10:51 GMT
#10795
On October 31 2014 19:25 Blisse wrote:finally, it's a bad practice to use malloc in a different scope than where you would free it. this is because you can't tell the difference between a char* pointing to malloc'd memory or stack memory. we can circumvent this with good naming conventions but it's still a big problem. that's a reason why sometimes you'll see "void join(char* s1, char* s2, char* output)" rather than what you have. can't help it in assignments but good to think about.

So, because free is coin-flippy (so no free before the return of strjoin) and what I quoted, there's no clean way to free what I malloc-ed in this case ?
Especially considering that I musn't include the main when I return the assignment...

Edit : return (result) for me, and I don't know why :D
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
October 31 2014 11:34 GMT
#10796
The only time I ever have parentheses around my return value is when I had a complex statement as a return value that requires parentheses at some time, modified that statement and forgot to remove the now pointless parentheses.
Return is not a function and I doubt it's a good idea to make it look like one.
If you have a good reason to disagree with the above, please tell me. Thank you.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 13:33:03
October 31 2014 13:29 GMT
#10797
Referencing Manitou's post in the funny pictures thread :
The two states of beginners in C
"I am a God" || "segfault"
....

Soooo here's another one. Don't worry, once I'm actually in school (I'm just getting ahead in work right now, school year still hasen't started) I'll have plenty of students to bother with my questions.

strtim, removes ' ', '\n', '\t' at the start and the end of a string and returns a copy of the result. But that doesn't matter, the error seems to come from my strlen or something around it. Way before the actual algorythm anyway, which should have plenty of other surprises...

#include <stdlib.h>
#include <string.h>

char *ft_strtrim(char const *s)
{
unsigned int isrc;
unsigned int ires;
unsigned int len;
char *res;

isrc = 0;
ires = 0;
len = ft_strlen(s);
/** while (s[isrc] == ' ' || s[isrc] == '\n' || s[isrc] == '\t')
isrc++;
while (s[len] == ' ' || s[len] == '\n' || s[len] == '\t')
len--;
res = (char *)malloc(sizeof(*res) * (ft_strlen(s) - (isrc + len) + 1));
while (isrc <= len)
{
res[ires] = s[isrc];
isrc++;
ires++;
}
res[ires] = '\0';
return (res);
**/
}

int main(void)
{
char const test1[] = " ha ha ha ";
char const test2[] = "ho ho ho . \n ";
char const test3[] = "nothing here";
char const test4[] = "\t what is \t I don't even know...";
char *result;

result = ft_strtrim(test1);
ft_putstr(result);
ft_putchar('\n');
/** result = ft_strtrim(test2);
ft_putstr((char const *)result);
ft_putchar('\n');
result = ft_strtrim(test3);
ft_putstr((char const *)result);
ft_putchar('\n');
result = ft_strtrim(test4);
ft_putstr((char const *)result);
ft_putchar('\n');
**/


My strlen :
#include <string.h>

size_t ft_strlen(char const *s)
{
size_t length;

length = 0;
if (!s)
return (0);
while (s[length])
length++;
return (length);
}


Behaviour :
If I remove either call to strlen from strtrim or its main, it works. Both, and segfault.
If I comment the while loop of strlen, it works with both call to it.
If I comment the call to ft_putstr from the main, it works with both call to strlen. putstr also has a call to strlen, but I can't really comment it.
Sooo... Waddafuck ?

Edit : just in case, I now know what is \t, so disregard that.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2014-10-31 14:38:22
October 31 2014 14:32 GMT
#10798
--- Nuked ---
Alzadar
Profile Blog Joined April 2010
Canada5009 Posts
October 31 2014 14:47 GMT
#10799
Your strlen can't deal with an empty string.
I am the Town Medic.
Cynry
Profile Blog Joined August 2010
810 Posts
Last Edited: 2014-10-31 15:11:42
October 31 2014 15:05 GMT
#10800
On October 31 2014 23:47 Alzadar wrote:
Your strlen can't deal with an empty string.

        if (!s)
return (0);

Thought that would do the trick, is that wrong ?

Are you sure that the problem isn't the fact that you're not returning anything in ft_strtrim?

EDIT: Instead of giving this thread one doghunt with snippets of code and stuff every day, this is the ideal time to learn how to use a debugger... when you're still making a lot of mistakes

EDIT2: Question to the C wizards in this thread. If nothing is returned in a non-void function (like in this case), no compiler warnings seems to be given. Why? And what does it return, null?

There is actually a warning for that, but I think it doesn't display by default with gcc. Some flag makes it treated as an error.

Indeed, un-commenting the return of strtrim makes it better. Thing is, with the whole program I got segfault, and I assumed it was the same error I got when commenting most of the code. Silly me :D

Now, debugger, that sounds great ! Didn't even knew it existed...
Prev 1 538 539 540 541 542 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 21m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 168
StarCraft: Brood War
Britney 30193
GuemChi 1487
Horang2 465
BeSt 309
actioN 288
Mini 238
Jaedong 168
Sharp 120
Killer 108
Pusan 101
[ Show more ]
Dewaltoss 69
Sacsri 67
sorry 54
EffOrt 52
Light 48
Barracks 47
Rush 44
ggaemo 43
Shinee 31
ToSsGirL 30
Shine 29
ZergMaN 24
soO 22
Noble 16
Bale 14
Hm[arnc] 10
hero 8
Dota 2
febbydoto138
Fuzer 105
NeuroSwarm93
canceldota42
League of Legends
JimRising 455
C9.Mang0275
Reynor71
Counter-Strike
olofmeister1075
shoxiejesuss467
Super Smash Bros
Westballz19
Other Games
summit1g10912
WinterStarcraft564
ceh9505
crisheroes348
Happy312
Mew2King41
Organizations
Other Games
gamesdonequick580
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 15 non-featured ]
StarCraft 2
• LUISG 35
• Light_VIP 21
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• iopq 3
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Dota 2
• lizZardDota240
League of Legends
• Jankos1239
Upcoming Events
The PondCast
21m
OSC
6h 21m
Demi vs Mixu
Nicoract vs TBD
Babymarine vs MindelVK
ForJumy vs TBD
Shameless vs Percival
Replay Cast
14h 21m
Korean StarCraft League
1d 17h
CranKy Ducklings
2 days
WardiTV 2025
2 days
SC Evo League
2 days
BSL 21
2 days
Sziky vs OyAji
Gypsy vs eOnzErG
OSC
2 days
Solar vs Creator
ByuN vs Gerald
Percival vs Babymarine
Moja vs Krystianer
EnDerr vs ForJumy
sebesdes vs Nicoract
Sparkling Tuna Cup
3 days
[ Show More ]
WardiTV 2025
3 days
OSC
3 days
BSL 21
3 days
Bonyth vs StRyKeR
Tarson vs Dandy
Replay Cast
3 days
Wardi Open
4 days
StarCraft2.fi
4 days
Monday Night Weeklies
4 days
Replay Cast
4 days
WardiTV 2025
5 days
StarCraft2.fi
5 days
PiGosaur Monday
5 days
StarCraft2.fi
6 days
Tenacious Turtle Tussle
6 days
Liquipedia Results

Completed

Proleague 2025-11-30
RSL Revival: Season 3
Light HT

Ongoing

C-Race Season 1
IPSL Winter 2025-26
KCM Race Survival 2025 Season 4
YSL S2
BSL Season 21
CSCL: Masked Kings S3
Slon Tour Season 2
Acropolis #4 - TS3
META Madness #9
SL Budapest Major 2025
ESL Impact League Season 8
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

Upcoming

BSL 21 Non-Korean Championship
Acropolis #4
IPSL Spring 2026
Bellum Gens Elite Stara Zagora 2026
HSC XXVIII
RSL Offline Finals
WardiTV 2025
Kuram Kup
PGL Cluj-Napoca 2026
IEM Kraków 2026
BLAST Bounty Winter 2026
BLAST Bounty Winter Qual
eXTREMESLAND 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.