• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 22:01
CEST 04:01
KST 11: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
Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun12[ASL21] Ro8 Preview Pt1: Inheritors16[ASL21] Ro16 Preview Pt2: All Star10Team Liquid Map Contest #22 - The Finalists22[ASL21] Ro16 Preview Pt1: Fresh Flow9
Community News
Code S Season 1 (2026) - RO12 Results02026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15Weekly Cups (April 6-12): herO doubles, "Villains" prevail1
StarCraft 2
General
Code S Season 1 (2026) - RO12 Results Code S Season 1 - RO12 Group A: Rogue, Percival, Solar, Zoun Team Liquid Map Contest #22 - The Finalists Blizzard Classic Cup @ BlizzCon 2026 - $100k prize pool MaNa leaves Team Liquid
Tourneys
RSL Revival: Season 5 - Qualifiers and Main Event GSL Code S Season 1 (2026) SC2 INu's Battles#15 <BO.9 2Matches> WardiTV Spring Cup SEL Masters #6 - Solar vs Classic (SC: Evo)
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
The PondCast: SC2 News & Results Mutation # 523 Firewall Mutation # 522 Flip My Base Mutation # 521 Memorable Boss
Brood War
General
[BSL22] RO16 Group A - Sunday 21:00 CEST [BSL22] RO16 Group B - Saturday 21:00 CEST Pros React To: Leta vs Tulbo (ASL S21, Ro.8) RepMastered™: replay sharing and analyzer site BW General Discussion
Tourneys
Escore Tournament StarCraft Season 2 [BSL22] RO16 Group Stage - 02 - 10 May [Megathread] Daily Proleagues [ASL21] Ro8 Day 2
Strategy
Fighting Spirit mining rates Simple Questions, Simple Answers What's the deal with APM & what's its true value Any training maps people recommend?
Other Games
General Games
Daigo vs Menard Best of 10 Stormgate/Frost Giant Megathread Nintendo Switch Thread Dawn of War IV Diablo IV
Dota 2
The Story of Wings Gaming
League of Legends
G2 just beat GenG in First stand
Heroes of the Storm
Simple Questions, Simple Answers Heroes of the Storm 2.0
Hearthstone
Deck construction bug Heroes of StarCraft mini-set
TL Mafia
Vanilla Mini Mafia Mafia Game Mode Feedback/Ideas TL Mafia Community Thread Five o'clock TL Mafia
Community
General
US Politics Mega-thread European Politico-economics QA Mega-thread Russo-Ukrainian War Thread 3D technology/software discussion Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
[Manga] One Piece Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books Movie Discussion!
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion
World Cup 2022
Tech Support
streaming software Strange computer issues (software) [G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Sexual Health Of Gamers
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1697 users

The Big Programming Thread - Page 442

Forum Index > General Forum
Post a Reply
Prev 1 440 441 442 443 444 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.
Tobberoth
Profile Joined August 2010
Sweden6375 Posts
February 11 2014 09:33 GMT
#8821
On February 11 2014 17:24 gedatsu wrote:
I'm iffy about including programming as a mandatory subject. Most people will never have a reason to code a single line in their entire life. There are more important skills to "everyday life" that we don't teach in school, such as driving a car.

On the other hand, there already are a number of technical subjects in school curricula that are equally useless. Chemistry is a big one, which I think should be ditched immediately.

There's more to it than just being important in everyday life. I don't use chemistry, ever, but it's good to know how it works early so that if I'm interested, I can study it in high school and then get a career in it. I'm willing to bet that the amount of people with degrees in chemistry would sink very quickly if it was removed from the obligatory curriculum.
Manit0u
Profile Blog Joined August 2004
Poland17740 Posts
Last Edited: 2014-02-11 12:47:10
February 11 2014 12:40 GMT
#8822
They should do it the way I learned some basic programming skills as a kid. Make them play MUDs and write their own scripts for the clients as their assignments. At least then you're actually writing something that's useful to you, you get a chance to test it actually being used and you learn the very basics that will go a long way if you'll ever want to improve.

What writing such scripts taught me:
1. Declaring and manipulating variables.
2. If/else/elseif statements.
3. For and while loops.
4. Regexp.
5. Stream manipulation.

That's for starters, you'll use it practically everywhere so it's good to know that and learning it through scripting is easier (especially when you get to test the results immediately).

Example:

Capitalize first letter of string s:

strcat(toupper(substr(s, 0, 1)), substr(s, 1))
Time is precious. Waste it wisely.
supereddie
Profile Joined March 2011
Netherlands151 Posts
February 11 2014 13:32 GMT
#8823
Teaching children programming is useless; programming languages come and go faster than spoken languages so those are only of fairly limited use. Instead, teach them logic. Teach them critical thinking. Teach them problem solving. These things are the basis for programming anyway, and are actually useful in real-life.
"Do not try to make difficult things possible, but make simple things simple." - David Platt on Software Design
tofucake
Profile Blog Joined October 2009
Hyrule19210 Posts
February 11 2014 15:20 GMT
#8824
The basics of programming are almost universal: conditional statements, variables, code flow, and loops. Learning one language makes it significantly easier to pick up others.
Liquipediaasante sana squash banana
Badboyrune
Profile Blog Joined May 2010
Sweden2247 Posts
February 11 2014 15:47 GMT
#8825
On February 11 2014 22:32 supereddie wrote:
Teaching children programming is useless; programming languages come and go faster than spoken languages so those are only of fairly limited use. Instead, teach them logic. Teach them critical thinking. Teach them problem solving. These things are the basis for programming anyway, and are actually useful in real-life.


You cant just teach children abstract concepts such as critical thinking and problem solving magically. You need some sort of concrete foundation to teach these kinds of concepts through. You don't teach programming instead of critical thinking and problem solving, you teach programming as a way for students to learn critical thinking and problem solving. Then as an added bonus they also learn things like how computers work and knowledge of how to create basic programs themselves.
"If yellow does start SC2, I should start handsomenerd diaper busniess and become a rich man" - John the Translator
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2014-02-11 19:57:46
February 11 2014 19:56 GMT
#8826
When you call many methods, e.g.:

object.method1().method2().method3()


Is it ok or is there a point when you need to simplify it? E.g.


Object obj = object.method1().method2();
obj.method3();


How far are you allowed to go without corrupting readability?
Tobberoth
Profile Joined August 2010
Sweden6375 Posts
February 11 2014 20:20 GMT
#8827
On February 12 2014 04:56 darkness wrote:
When you call many methods, e.g.:

object.method1().method2().method3()


Is it ok or is there a point when you need to simplify it? E.g.


Object obj = object.method1().method2();
obj.method3();


How far are you allowed to go without corrupting readability?

I don't think there's any best practice for it, you'll just have to use common sense. When using stuff like LINQ in C#, it's very common to use tons of methods in a row, it's also common in JQuery and most functional languages. You get used to it, and if the methods have names which makes sense, it reads more like a sentence which makes it far easier.

I personally never limit myself, but I make sure to break often enough to keep it fitting in a vim window for example.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
February 11 2014 20:24 GMT
#8828
Code isn't readable when you can't read it anymore. Write some code with a long chain and look back at it after a couple of days. If you have trouble reading it, change it.

In other words: Depends on the methods.
Especially: if the object doesn't change, you likely can get away with longer chains. If the methods do complex transformations, you probably should introduce some intermediate variables.

In terms of Linq (C#): Select and SelectMany and especially First and FirstOrDefault usually are good points to stop. A simple filter like Where or OfType usually isn't too hard to read.
If you have a good reason to disagree with the above, please tell me. Thank you.
mcc
Profile Joined October 2010
Czech Republic4646 Posts
February 11 2014 20:56 GMT
#8829
On February 12 2014 04:56 darkness wrote:
When you call many methods, e.g.:

object.method1().method2().method3()


Is it ok or is there a point when you need to simplify it? E.g.


Object obj = object.method1().method2();
obj.method3();


How far are you allowed to go without corrupting readability?

Just use the fact that newline is not statement terminating in most languages and just have the calls on new lines if it increases readability. But as others pointed out it heavily depends on circumstances.
AKnopf
Profile Blog Joined March 2011
Germany259 Posts
Last Edited: 2014-02-11 21:55:59
February 11 2014 21:54 GMT
#8830
On February 12 2014 04:56 darkness wrote:
When you call many methods, e.g.:

object.method1().method2().method3()


Is it ok or is there a point when you need to simplify it? E.g.


Object obj = object.method1().method2();
obj.method3();


How far are you allowed to go without corrupting readability?


There have been quite a lot of people wondering about your exact question. A way to think about this problem is called the Law Of Demeter (Link: https://en.wikipedia.org/wiki/Law_of_Demeter). Its widely accepted. I may try to explain it in my own words:

An object has references to other objects, these are its direct neighbours. They can be accessed through getter methods, in your example this would be 'method1()'. Both objects have a type (yes, even in dynamically typed languages). The first object - in your example 'object' now goes further and calls a method 'method2()' on its neighbour called 'method1()'.
By the Law Of Demeter, this is OK as long as the type of that neighbour of a neighbour is either that of yourself or that of your direct neighbour. So any object may only know about types of its own type or of a type of any of its direct neighbours.

Lets get a little more concrete now:
Lets say you have the following class (pseudo code, but you will get the point)

class House
private House _left = new House
private House _right = new House
private Door _door = new Door

public left()
_left

public right()
_right

public door()
_door

class Door
private Handle _handle = new Handle

public Handle handle()
_handle

class Handle
private Color _color = new Color //not needed in this example



So you have a row of houses. Each house refers to its direct neighbours (left and right) and to its door. The types that House is allowed to know are therefore House and Door, but not Handle, because House has no direct reference to Handle, only indirectly through Door.
Door is allowed to know about Door and Handle.
Handle is allowed to only know Handle.

So inside a method of House, the following would be OK:

left().left().left().door()

but not

left().door().handle()


The first method chain has more methods chained (4) but the second has only 3. Yet the first is OK and the second its. Its because the second one needs a House to know about Handle. But House has no other reference to a Handle but in this method.



Now that I've written all of this i realize that it does not answer your question. Because no matter what version of your code you use, in regard to the Law Of Demeter its the same. House either references Handle our not. If its does so in 1 or 2 lines, does not matter.

To finally answer your question: I would say it depends on what the methods do and what the conventions in your language and project are. Maybe show us the real code or ask a co-worker or who-ever about the concrete case and let him tell you the reasoning behind his opinion so you can learn. In this very abstract case though I would say its a matter of personal preference.
The world - its a funny place
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2014-02-12 03:47:08
February 12 2014 03:41 GMT
#8831
Could someone explain how profilers work? I've noticed my GUI game grows by 4-8 bytes rapidly (per second maybe?). So, I've decided to run a profiler (VisualVM), the top memory results were:

Screenshot: http://prikachi.com/images/194/7057194t.png

I don't know if char[] is just being char or if I'm doing something incorrectly, but I don't like how my program's memory grows while idle. Suggestions?
phar
Profile Joined August 2011
United States1080 Posts
February 12 2014 05:38 GMT
#8832
Single snapshot isn't as helpful as multiple for a diff. Try to see what's growing, and by how much.

If your program's memory grows by 4-8 bytes per second, I wouldn't sweat it unless it does that indefinitely. 8 bytes of RAM is cheap.
Who after all is today speaking about the destruction of the Armenians?
Tobberoth
Profile Joined August 2010
Sweden6375 Posts
February 12 2014 07:28 GMT
#8833
On February 12 2014 12:41 darkness wrote:
Could someone explain how profilers work? I've noticed my GUI game grows by 4-8 bytes rapidly (per second maybe?). So, I've decided to run a profiler (VisualVM), the top memory results were:

Screenshot: http://prikachi.com/images/194/7057194t.png

I don't know if char[] is just being char or if I'm doing something incorrectly, but I don't like how my program's memory grows while idle. Suggestions?

Where are you using all those char[]? I've never profiled java myself and I assume java uses it internally, but it just looks weird that there's so much char[] allocations going on when there's so little string activity.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
February 12 2014 11:37 GMT
#8834
On February 12 2014 16:28 Tobberoth wrote:
Show nested quote +
On February 12 2014 12:41 darkness wrote:
Could someone explain how profilers work? I've noticed my GUI game grows by 4-8 bytes rapidly (per second maybe?). So, I've decided to run a profiler (VisualVM), the top memory results were:

Screenshot: http://prikachi.com/images/194/7057194t.png

I don't know if char[] is just being char or if I'm doing something incorrectly, but I don't like how my program's memory grows while idle. Suggestions?

Where are you using all those char[]? I've never profiled java myself and I assume java uses it internally, but it just looks weird that there's so much char[] allocations going on when there's so little string activity.


I think it's because of string's implementation. Either way, I've started using intern() on strings that are supposed to be reused. It's a bit better, but I wish Java's garbage collection was a bit more adequate. It's just so stupid to sit and wait for something to decide to finally deallocate an object.
Garfailed
Profile Joined May 2011
Netherlands409 Posts
February 12 2014 13:22 GMT
#8835
I need to build an app for android, with a "EditText" where the user can enter a numeric value.
It then calculates the binary, octal, and hexadecimal equivalents.
There are 4 buttons which are +10, +1, -1, -10. these buttons manipulate the number in de EditText.
i've got it to work with the buttons, when i press, for instance +1, it ups the number in the EditText by 1, then calculates the binary, octal and hexadecimal values.

BUT... when a user manually changes the number, the binary, octal, and hexadecimal textviews have to change aswell.
How do i do this? The buttons work because on the ButtonListener i update the values, but how do i do this when i cant use a button to trigger the update method? i can't seem to figure this out .

(Also, i dont think my code adds anything to this post, so i won't add it)
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2014-02-12 13:42:53
February 12 2014 13:37 GMT
#8836
On February 12 2014 22:22 Garfailed wrote:
I need to build an app for android, with a "EditText" where the user can enter a numeric value.
It then calculates the binary, octal, and hexadecimal equivalents.
There are 4 buttons which are +10, +1, -1, -10. these buttons manipulate the number in de EditText.
i've got it to work with the buttons, when i press, for instance +1, it ups the number in the EditText by 1, then calculates the binary, octal and hexadecimal values.

BUT... when a user manually changes the number, the binary, octal, and hexadecimal textviews have to change aswell.
How do i do this? The buttons work because on the ButtonListener i update the values, but how do i do this when i cant use a button to trigger the update method? i can't seem to figure this out .

(Also, i dont think my code adds anything to this post, so i won't add it)


I think this answers your question: http://stackoverflow.com/questions/14265553/java-android-programming-edittext-gettext-tostring

EditText.getText().toString()


Or do you need event handling? I've recently found
Observer
and
Observable
, they're useful when you need to let some object know about a change.
Garfailed
Profile Joined May 2011
Netherlands409 Posts
February 12 2014 13:41 GMT
#8837
On February 12 2014 22:37 darkness wrote:
Show nested quote +
On February 12 2014 22:22 Garfailed wrote:
I need to build an app for android, with a "EditText" where the user can enter a numeric value.
It then calculates the binary, octal, and hexadecimal equivalents.
There are 4 buttons which are +10, +1, -1, -10. these buttons manipulate the number in de EditText.
i've got it to work with the buttons, when i press, for instance +1, it ups the number in the EditText by 1, then calculates the binary, octal and hexadecimal values.

BUT... when a user manually changes the number, the binary, octal, and hexadecimal textviews have to change aswell.
How do i do this? The buttons work because on the ButtonListener i update the values, but how do i do this when i cant use a button to trigger the update method? i can't seem to figure this out .

(Also, i dont think my code adds anything to this post, so i won't add it)


I think this answers your question: http://stackoverflow.com/questions/14265553/java-android-programming-edittext-gettext-tostring

EditText.getText().toString()


I already use the information said in there. I read the number and change it to hexadecimal, octal and binary when the user presses a button like +1. However, i need a way to trigger the update() method, when the number changes, without touching any of the buttons.
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2014-02-12 13:47:31
February 12 2014 13:45 GMT
#8838
On February 12 2014 22:41 Garfailed wrote:
Show nested quote +
On February 12 2014 22:37 darkness wrote:
On February 12 2014 22:22 Garfailed wrote:
I need to build an app for android, with a "EditText" where the user can enter a numeric value.
It then calculates the binary, octal, and hexadecimal equivalents.
There are 4 buttons which are +10, +1, -1, -10. these buttons manipulate the number in de EditText.
i've got it to work with the buttons, when i press, for instance +1, it ups the number in the EditText by 1, then calculates the binary, octal and hexadecimal values.

BUT... when a user manually changes the number, the binary, octal, and hexadecimal textviews have to change aswell.
How do i do this? The buttons work because on the ButtonListener i update the values, but how do i do this when i cant use a button to trigger the update method? i can't seem to figure this out .

(Also, i dont think my code adds anything to this post, so i won't add it)


I think this answers your question: http://stackoverflow.com/questions/14265553/java-android-programming-edittext-gettext-tostring

EditText.getText().toString()


I already use the information said in there. I read the number and change it to hexadecimal, octal and binary when the user presses a button like +1. However, i need a way to trigger the update() method, when the number changes, without touching any of the buttons.


So you need some kind of notifier when the number is changed from EditText? Edit: actually, there is a solution here: http://stackoverflow.com/questions/11134144/android-edittext-onchange-listener
Garfailed
Profile Joined May 2011
Netherlands409 Posts
February 12 2014 14:04 GMT
#8839
On February 12 2014 22:45 darkness wrote:
Show nested quote +
On February 12 2014 22:41 Garfailed wrote:
On February 12 2014 22:37 darkness wrote:
On February 12 2014 22:22 Garfailed wrote:
I need to build an app for android, with a "EditText" where the user can enter a numeric value.
It then calculates the binary, octal, and hexadecimal equivalents.
There are 4 buttons which are +10, +1, -1, -10. these buttons manipulate the number in de EditText.
i've got it to work with the buttons, when i press, for instance +1, it ups the number in the EditText by 1, then calculates the binary, octal and hexadecimal values.

BUT... when a user manually changes the number, the binary, octal, and hexadecimal textviews have to change aswell.
How do i do this? The buttons work because on the ButtonListener i update the values, but how do i do this when i cant use a button to trigger the update method? i can't seem to figure this out .

(Also, i dont think my code adds anything to this post, so i won't add it)


I think this answers your question: http://stackoverflow.com/questions/14265553/java-android-programming-edittext-gettext-tostring

EditText.getText().toString()


I already use the information said in there. I read the number and change it to hexadecimal, octal and binary when the user presses a button like +1. However, i need a way to trigger the update() method, when the number changes, without touching any of the buttons.


So you need some kind of notifier when the number is changed from EditText? Edit: actually, there is a solution here: http://stackoverflow.com/questions/11134144/android-edittext-onchange-listener



aah yes, that did the job, got it fully operational now thanks alot!
I should really start using stackoverflow for this kind of junk
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2014-02-13 01:18:36
February 13 2014 01:17 GMT
#8840
Anyone with practical experience of Java's System Look and Feel? It uses the native platform's L&F, so I wonder if there is any problem with that. I handle exceptions by reverting to the Cross Platform L&F which should be available for all JVM.

Edit: Motif L&F looks terrible... :D
Prev 1 440 441 442 443 444 1032 Next
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
2026 GSL S1: Ro12 Group A
CranKy Ducklings109
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RuFF_SC2 144
PiGStarcraft114
ProTech102
PattyMac 5
StarCraft: Brood War
NaDa 23
Dota 2
monkeys_forever836
League of Legends
Doublelift3914
Counter-Strike
fl0m4144
taco 664
Super Smash Bros
C9.Mang0342
Other Games
summit1g7198
tarik_tv5023
JimRising 372
WinterStarcraft326
ViBE65
amsayoshi38
Organizations
Other Games
gamesdonequick664
BasetradeTV151
Dota 2
PGL Dota 2 - Main Stream65
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 11 non-featured ]
StarCraft 2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
Other Games
• Scarra1218
Upcoming Events
Replay Cast
6h 59m
RSL Revival
7h 59m
Classic vs GgMaChine
Rogue vs Maru
WardiTV Invitational
8h 59m
Percival vs Shameless
ByuN vs YoungYakov
IPSL
13h 59m
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
16h 59m
Replay Cast
21h 59m
RSL Revival
1d 7h
herO vs TriGGeR
NightMare vs Solar
uThermal 2v2 Circuit
1d 11h
BSL
1d 16h
IPSL
1d 16h
eOnzErG vs TBD
G5 vs Nesh
[ Show More ]
Patches Events
1d 21h
Replay Cast
2 days
Wardi Open
2 days
Afreeca Starleague
2 days
Jaedong vs Light
Monday Night Weeklies
2 days
Replay Cast
2 days
Sparkling Tuna Cup
3 days
Afreeca Starleague
3 days
Snow vs Flash
WardiTV Invitational
3 days
GSL
4 days
Classic vs Cure
Maru vs Rogue
GSL
5 days
SHIN vs Zoun
ByuN vs herO
Replay Cast
5 days
Escore
6 days
The PondCast
6 days
WardiTV Invitational
6 days
Replay Cast
6 days
Liquipedia Results

Completed

Escore Tournament S2: W5
WardiTV TLMC #16
Nations Cup 2026

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
KK 2v2 League Season 1
Acropolis #4
SCTL 2026 Spring
RSL Revival: Season 5
2026 GSL S1
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026
Stake Ranked Episode 1
BLAST Open Spring 2026
ESL Pro League S23 Finals
ESL Pro League S23 Stage 1&2
PGL Cluj-Napoca 2026

Upcoming

BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
Maestros of the Game 2
2026 GSL S2
Stake Ranked Episode 3
XSE Pro League 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
IEM Atlanta 2026
Asian Champions League 2026
PGL Astana 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.