• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 14:17
CEST 20:17
KST 03:17
  • 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
Team Liquid Map Contest #22 - The Finalists12[ASL21] Ro16 Preview Pt1: Fresh Flow9[ASL21] Ro24 Preview Pt2: News Flash10[ASL21] Ro24 Preview Pt1: New Chaos0Team Liquid Map Contest #22 - Presented by Monster Energy21
Community News
2026 GSL Season 1 Qualifiers11Maestros of the Game 2 announced32026 GSL Tour plans announced10Weekly Cups (April 6-12): herO doubles, "Villains" prevail1MaNa leaves Team Liquid20
StarCraft 2
General
Weekly Cups (April 6-12): herO doubles, "Villains" prevail MaNa leaves Team Liquid Oliveira Would Have Returned If EWC Continued Team Liquid Map Contest #22 - The Finalists 2026 GSL Tour plans announced
Tourneys
2026 GSL Season 1 Qualifiers Sparkling Tuna Cup - Weekly Open Tournament Master Swan Open (Global Bronze-Master 2) SEL Doubles (SC Evo Bimonthly) $5,000 WardiTV TLMC tournament - Presented by Monster Energy
Strategy
Custom Maps
[D]RTS in all its shapes and glory <3 [A] Nemrods 1/4 players [M] (2) Frigid Storage
External Content
Mutation # 521 Memorable Boss The PondCast: SC2 News & Results Mutation # 520 Moving Fees Mutation # 519 Inner Power
Brood War
General
ASL21 General Discussion Pros React To: Tulbo in Ro.16 Group A [BSL22] RO32 Group Stage mca64Launcher - New Version with StarCraft: Remast BGH Auto Balance -> http://bghmmr.eu/
Tourneys
[ASL21] Ro16 Group B Korean KCM Race Survival 2026 Season 2 [Megathread] Daily Proleagues [ASL21] Ro16 Group A
Strategy
What's the deal with APM & what's its true value Any training maps people recommend? Fighting Spirit mining rates Muta micro map competition
Other Games
General Games
General RTS Discussion Thread Battle Aces/David Kim RTS Megathread Nintendo Switch Thread Stormgate/Frost Giant Megathread Starcraft Tabletop Miniature Game
Dota 2
The Story of Wings Gaming Official 'what is Dota anymore' discussion
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
Russo-Ukrainian War Thread Things Aren’t Peaceful in Palestine US Politics Mega-thread YouTube Thread Canadian Politics Mega-thread
Fan Clubs
The IdrA Fan Club
Media & Entertainment
Anime Discussion Thread [Req][Books] Good Fantasy/SciFi books [Manga] One Piece Movie Discussion!
Sports
2024 - 2026 Football Thread McBoner: A hockey love story Formula 1 Discussion Cricket [SPORT]
World Cup 2022
Tech Support
[G] How to Block Livestream Ads
TL Community
The Automated Ban List
Blogs
Reappraising The Situation T…
TrAiDoS
lurker extra damage testi…
StaticNine
Broowar part 2
qwaykee
Funny Nicknames
LUCKY_NOOB
Iranian anarchists: organize…
XenOsky
ASL S21 English Commentary…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1949 users

The Big Programming Thread - Page 699

Forum Index > General Forum
Post a Reply
Prev 1 697 698 699 700 701 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
Poland17724 Posts
Last Edited: 2016-01-06 01:43:55
January 06 2016 01:42 GMT
#13961
On January 06 2016 10:29 aksfjh wrote:
Show nested quote +
On January 06 2016 05:19 Morfildur wrote:
On January 06 2016 03:24 Manit0u wrote:

$response = json_decode(json_encode($this->curl->response), true);


Why?! T_T


It's actually not too uncommon. It's a quick way to turn an object tree into an array. It's not exceptionally fast and it really should be in some properly named function somewhere, but the code in itself isn't bad.

Depends on your definition of "bad." It works, but I know some devs that would skewer you for that.


Holy crap. You guys just enlightened me. When I first saw it I was like "why would you encode stuff that you're about to decode instead of just leaving it as it is". Then you two answered and it dawned on me.

I have to agree that even if it works it's still really bad because it's not obvious/explicit enough to tell a person who hasn't seen it before what's actually going on.

Edit:
I guess that's one of the places where actual comments would help a lot...
Time is precious. Waste it wisely.
Cyx.
Profile Joined November 2010
Canada806 Posts
Last Edited: 2016-01-06 06:33:14
January 06 2016 06:31 GMT
#13962
On January 06 2016 10:42 Manit0u wrote:
Show nested quote +
On January 06 2016 10:29 aksfjh wrote:
On January 06 2016 05:19 Morfildur wrote:
On January 06 2016 03:24 Manit0u wrote:

$response = json_decode(json_encode($this->curl->response), true);


Why?! T_T


It's actually not too uncommon. It's a quick way to turn an object tree into an array. It's not exceptionally fast and it really should be in some properly named function somewhere, but the code in itself isn't bad.

Depends on your definition of "bad." It works, but I know some devs that would skewer you for that.


Holy crap. You guys just enlightened me. When I first saw it I was like "why would you encode stuff that you're about to decode instead of just leaving it as it is". Then you two answered and it dawned on me.

I have to agree that even if it works it's still really bad because it's not obvious/explicit enough to tell a person who hasn't seen it before what's actually going on.

Edit:
I guess that's one of the places where actual comments would help a lot...

Don't know about PHP but I've seen this done in Javascript to implement a deep copy function as well. It's incredibly straightforward, and I honestly really like it. There are a few pitfalls but it works pretty well for a large number of situations. http://stackoverflow.com/questions/122102/what-is-the-most-efficient-way-to-clone-an-object
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
January 06 2016 07:58 GMT
#13963
On January 06 2016 10:42 Manit0u wrote:
Show nested quote +
On January 06 2016 10:29 aksfjh wrote:
On January 06 2016 05:19 Morfildur wrote:
On January 06 2016 03:24 Manit0u wrote:

$response = json_decode(json_encode($this->curl->response), true);


Why?! T_T


It's actually not too uncommon. It's a quick way to turn an object tree into an array. It's not exceptionally fast and it really should be in some properly named function somewhere, but the code in itself isn't bad.

Depends on your definition of "bad." It works, but I know some devs that would skewer you for that.


Holy crap. You guys just enlightened me. When I first saw it I was like "why would you encode stuff that you're about to decode instead of just leaving it as it is". Then you two answered and it dawned on me.

I have to agree that even if it works it's still really bad because it's not obvious/explicit enough to tell a person who hasn't seen it before what's actually going on.

Edit:
I guess that's one of the places where actual comments would help a lot...

It definitely should be wrapped into a function. That way you can use it without needing to understand. When it's encapsulated properly, it doesn't look so bad (unless there is an obvious equivalent, shorter and more straightforward implementation).
If you have a good reason to disagree with the above, please tell me. Thank you.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
January 06 2016 10:28 GMT
#13964
--- Nuked ---
Manit0u
Profile Blog Joined August 2004
Poland17724 Posts
January 06 2016 12:04 GMT
#13965
On January 06 2016 19:28 Nesserev wrote:
Show nested quote +
On January 05 2016 08:55 Manit0u wrote:
Required reading before you ask any more questions:

http://www.sitepoint.com/web-site-basics-beginners/

https://developer.mozilla.org/en-US/docs/Web/Guide/Introduction_to_Web_development

http://coding-geek.com/how-databases-work/

http://code.tutsplus.com/tutorials/mvc-for-noobs--net-10488

https://developer.chrome.com/apps/app_frameworks (it's about JS but general concepts stay the same)

Edit:
Also, if you really want to learn Django properly, please get this book: http://shop.oreilly.com/product/0636920029533.do

It's amazing.


Should've mentioned that the book is available for free online:
http://chimera.labs.oreilly.com/books/1234000000754/index.html


Didn't know that. I only read paper books. I need this tactile feeling and e-books somehow don't work for me (my Kindle lies on the shelf not being used for several years). Also, by buying the book I support the author and I don't mind buying good books
Time is precious. Waste it wisely.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
January 06 2016 17:15 GMT
#13966
--- Nuked ---
Shield
Profile Blog Joined August 2009
Bulgaria4824 Posts
Last Edited: 2016-01-06 19:07:50
January 06 2016 19:07 GMT
#13967
Has anyone used matlab? I'm currently translating some code from matlab and I find it very hard to understand what is what because data types aren't declared. That, and the language is new to me. I'm used to C style syntax. Any advice?
tofucake
Profile Blog Joined October 2009
Hyrule19203 Posts
January 06 2016 20:23 GMT
#13968
you have 2 options with matlab:
1. be an expert
2. flounder blindly until you get the results you want

I've never met anyone who was "ok" or "decent" at matlab
Liquipediaasante sana squash banana
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
Last Edited: 2016-01-07 02:32:52
January 07 2016 01:28 GMT
#13969
okay, I have a legit question about this TDD book I was recommended.

I am in a section where I am running this test:


def test_home_page_returns_correct_html(self):
request = HttpRequest()
request.method = 'POST'
request.POST['item_text'] = 'A new list item'

response = home_page(request)

self.assertIn('A new list item', response.content.decode())
expected_html = render_to_string(
'home.html',
{'new_item_text': 'A new list item'}
)
print(expected_html)
print(response.content.decode())
self.assertEqual(response.content.decode(), expected_html)


I added the two print statements to see why I was getting a different error than what is in the book.

The error that he gets in the book is:


ERROR: test_home_page_returns_correct_html (lists.tests.HomePageTest) [...] 'new_item_text': request.POST['item_text'], KeyError: 'item_text'



I get a much different error, basically saying that the actual html and the decoded content don't match

and after printing them, the reason is because the actual html has

<input type='hidden' name='csrfmiddlewaretoken' value='dZrKJSMg5KzxomI3LCeFArGXoW991SgX' />

in it. because of the {% csrf_token %}

But we are using POST, which means afaik I *have* to have the csrf token in order to use my view at all. Furthermore, he specifically had me write the csrf token in.

But then that leads me to the question - why isn't he having this problem??
Or more importantly, what can I do to make my expected_html match the actual html when there is a csrf token that, if my understanding is correct, will change every time i run it? lol


edit: it looks like its because im using django 1.9 and he uses 1.8.
found a workaround. couldn't figure out how to do it myself lol
Acrofales
Profile Joined August 2010
Spain18263 Posts
January 07 2016 01:51 GMT
#13970
On January 07 2016 05:23 tofucake wrote:
you have 2 options with matlab:
1. be an expert
2. flounder blindly until you get the results you want

I've never met anyone who was "ok" or "decent" at matlab

I do the latter. I flounder similarly in R. Due to this, I do most of my data analysis in python, which requires far less floundering, and although its libraries are less powerful, it has most of the tools I need.
solidbebe
Profile Blog Joined November 2010
Netherlands4921 Posts
January 07 2016 07:32 GMT
#13971
On January 07 2016 04:07 darkness wrote:
Has anyone used matlab? I'm currently translating some code from matlab and I find it very hard to understand what is what because data types aren't declared. That, and the language is new to me. I'm used to C style syntax. Any advice?

Im pretty sure matlab has just one datatype, matrices.
That's the 2nd time in a week I've seen someone sig a quote from this GD and I have never witnessed a sig quote happen in my TL history ever before. -Najda
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
January 07 2016 07:51 GMT
#13972
Instead of addition they actually add 2 1x1 matrices. Honestly, I never could handle that language. It's always hard to switch over to another language where you don't even know how to do the most basic functions. It's not fun becoming a beginner again.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
Manit0u
Profile Blog Joined August 2004
Poland17724 Posts
January 07 2016 11:26 GMT
#13973
On January 07 2016 10:28 travis wrote:
okay, I have a legit question about this TDD book I was recommended.

I am in a section where I am running this test:


def test_home_page_returns_correct_html(self):
request = HttpRequest()
request.method = 'POST'
request.POST['item_text'] = 'A new list item'

response = home_page(request)

self.assertIn('A new list item', response.content.decode())
expected_html = render_to_string(
'home.html',
{'new_item_text': 'A new list item'}
)
print(expected_html)
print(response.content.decode())
self.assertEqual(response.content.decode(), expected_html)


I added the two print statements to see why I was getting a different error than what is in the book.

The error that he gets in the book is:

Show nested quote +

ERROR: test_home_page_returns_correct_html (lists.tests.HomePageTest) [...] 'new_item_text': request.POST['item_text'], KeyError: 'item_text'



I get a much different error, basically saying that the actual html and the decoded content don't match

and after printing them, the reason is because the actual html has
Show nested quote +

<input type='hidden' name='csrfmiddlewaretoken' value='dZrKJSMg5KzxomI3LCeFArGXoW991SgX' />

in it. because of the {% csrf_token %}

But we are using POST, which means afaik I *have* to have the csrf token in order to use my view at all. Furthermore, he specifically had me write the csrf token in.

But then that leads me to the question - why isn't he having this problem??
Or more importantly, what can I do to make my expected_html match the actual html when there is a csrf token that, if my understanding is correct, will change every time i run it? lol


edit: it looks like its because im using django 1.9 and he uses 1.8.
found a workaround. couldn't figure out how to do it myself lol


You should be using the latest LTS version of the framework (and that's 1.8 for Django).
Time is precious. Waste it wisely.
Manit0u
Profile Blog Joined August 2004
Poland17724 Posts
Last Edited: 2016-01-07 17:35:33
January 07 2016 17:11 GMT
#13974
Edit: Nevermind. Stupid me. There were some values < 0 so floor returned seemingly higher numbers (they were converted to absolute values AFTER flooring).
Time is precious. Waste it wisely.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
January 07 2016 20:50 GMT
#13975
I have a couple questions about the commonly seen "self" parameter in python

It seems to have the same purpose as "this" in java. except from what I read, self isn't actually a keyword, so it can be anything

so a couple questions I have - is this parameter required in all methods you write in python?
is this parameter basically just saying "from now on this is how this method can refer to itself"
and finally - why? why not just use "this" like in java?
Manit0u
Profile Blog Joined August 2004
Poland17724 Posts
January 07 2016 21:22 GMT
#13976
On January 08 2016 05:50 travis wrote:
I have a couple questions about the commonly seen "self" parameter in python

It seems to have the same purpose as "this" in java. except from what I read, self isn't actually a keyword, so it can be anything

so a couple questions I have - is this parameter required in all methods you write in python?
is this parameter basically just saying "from now on this is how this method can refer to itself"
and finally - why? why not just use "this" like in java?


http://stackoverflow.com/questions/2709821/what-is-the-purpose-of-self-in-python
Time is precious. Waste it wisely.
Deleted User 3420
Profile Blog Joined May 2003
24492 Posts
January 07 2016 21:36 GMT
#13977
I already read that. I think I get a grasp of how it works, for the most part. And why, for the most part. I just don't see the advantage of doing it this way instead of just having a keyword. It actually seems like it's making it more complicated instead of less, which is something I haven't seen in python so far.

Maybe this is a question I will need to ask myself in 6 months.
Prillan
Profile Joined August 2011
Sweden350 Posts
January 07 2016 22:01 GMT
#13978
On January 08 2016 06:36 travis wrote:
I already read that. I think I get a grasp of how it works, for the most part. And why, for the most part. I just don't see the advantage of doing it this way instead of just having a keyword. It actually seems like it's making it more complicated instead of less, which is something I haven't seen in python so far.

Maybe this is a question I will need to ask myself in 6 months.

I think that the most important point is that it makes it explicit, so that methods are just normal functions attached to a class. Consider the example by Guido van Rossum (the creator of Python).
class C:
def meth(self, arg):
self.val = arg
return self.val

An equivalent way of writing the above is
# Define an empty class:
class C:
pass

# Define a global function:
def meth(myself, arg):
myself.val = arg
return myself.val

# Poke the method into the class:
C.meth = meth

Source: http://neopythonic.blogspot.se/2008/10/why-explicit-self-has-to-stay.html


Then we have decorators, which modify functions. Because of the explicit self parameter, they work the same on methods.

# Decorator that prints all arguments passed to the wrapped function
def printer(f):
def wrapper(*args, **kwargs):
print(args, kwargs)
return f(*args, **kwargs)
return wrapper


class A:
@printer
def method(self, x):
self.y = x

@printer
def function(x, y):
return x + y


Which results in
>>> a = A()
>>> a.method(1)
(<__main__.A object at 0x769d3dd0>, 1) {}
>>> function(1, 2)
(1, 2) {}
3
TheBB's sidekick, aligulac.com | "Reality is frequently inaccurate." - Douglas Adams
Manit0u
Profile Blog Joined August 2004
Poland17724 Posts
Last Edited: 2016-01-07 22:20:04
January 07 2016 22:02 GMT
#13979
On January 08 2016 06:36 travis wrote:
I already read that. I think I get a grasp of how it works, for the most part. And why, for the most part. I just don't see the advantage of doing it this way instead of just having a keyword. It actually seems like it's making it more complicated instead of less, which is something I haven't seen in python so far.

Maybe this is a question I will need to ask myself in 6 months.


You think this is complicated? PHP has both self and this. And in JavaScript you often see stuff like that:


var self = this;


Try figuring those out

Edit:
Not for the faint of heart: http://alistapart.com/article/getoutbindingsituations
Time is precious. Waste it wisely.
emperorchampion
Profile Blog Joined December 2008
Canada9496 Posts
Last Edited: 2016-01-07 23:00:06
January 07 2016 22:15 GMT
#13980
On January 07 2016 04:07 darkness wrote:
Has anyone used matlab? I'm currently translating some code from matlab and I find it very hard to understand what is what because data types aren't declared. That, and the language is new to me. I'm used to C style syntax. Any advice?


Anything in particular you need to know about? Matlab is pretty frustrating to work with sometimes, but it's easy to get results quickly and everything is built in. It really depends on the scope of your project, but you should probably make functions for most things in separate files even if it's small. I've gotten burned pretty bad in the past with thinking "oh this is just going to be a small program, I don't need any functions..." then you end up adding and adding and adding... >_< It's really annoying that you can't have functions within the main file, but anyhow.


A couple pointers:
- matrices are (row, column), there is no 0 index
- Try to make the most use of the indexing A(:,:) (all rows and columns of A), or A(2:end, 3:end-1), ect.
- Try to replace loops with indexing, much faster and easier, loops should be the last option imo, built in functions or index are the way to go
- You can concatenate matrices B = [A(:,[1,2]), C(:,:)], (assuming similar dimensions of A and C)
- concatenate by row B = [A([1,2],:) ; C]
- "push-back": a = [a, b]
- make use of google to find out functions, there are a ton of them


On January 07 2016 16:32 solidbebe wrote:
Im pretty sure matlab has just one datatype, matrices.


Pretty much, and cells, which are the most annoying thing ever to work with.
TRUEESPORTS || your days as a respected member of team liquid are over
Prev 1 697 698 699 700 701 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 5h 43m
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
mouzHeroMarine 288
UpATreeSC 97
MindelVK 56
StarCraft: Brood War
Britney 25378
Calm 3645
ggaemo 271
Soma 265
Rush 160
firebathero 146
Soulkey 133
Dewaltoss 117
Backho 101
Rock 18
[ Show more ]
yabsab 9
SilentControl 8
Dota 2
ODPixel112
febbydoto12
Counter-Strike
pashabiceps2919
fl0m1848
byalli753
Heroes of the Storm
Liquid`Hasu129
XaKoH 123
Other Games
qojqva970
FrodaN786
B2W.Neo701
ceh9475
KnowMe286
Trikslyr165
ArmadaUGS119
RotterdaM82
C9.Mang080
Mew2King50
QueenE49
Organizations
Counter-Strike
PGL133
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 19 non-featured ]
StarCraft 2
• Adnapsc2 14
• IndyKCrew
• sooper7s
• AfreecaTV YouTube
• Migwel
• intothetv
• LaughNgamezSOOP
• Kozan
StarCraft: Brood War
• HerbMon 27
• RayReign 17
• FirePhoenix4
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
Dota 2
• WagamamaTV432
League of Legends
• Nemesis3151
• TFBlade1663
Other Games
• imaqtpie768
• Shiphtur169
Upcoming Events
Replay Cast
5h 43m
Escore
15h 43m
WardiTV Map Contest Tou…
16h 43m
OSC
20h 43m
Big Brain Bouts
21h 43m
MaNa vs goblin
Scarlett vs Spirit
Serral vs herO
Korean StarCraft League
1d 8h
CranKy Ducklings
1d 15h
WardiTV Map Contest Tou…
1d 16h
IPSL
1d 21h
WolFix vs nOmaD
dxtr13 vs Razz
BSL
2 days
UltrA vs KwarK
Gosudark vs cavapoo
dxtr13 vs HBO
Doodle vs Razz
[ Show More ]
CranKy Ducklings
2 days
Sparkling Tuna Cup
2 days
WardiTV Map Contest Tou…
2 days
Ladder Legends
2 days
BSL
3 days
StRyKeR vs rasowy
Artosis vs Aether
JDConan vs OyAji
Hawk vs izu
IPSL
3 days
JDConan vs TBD
Aegong vs rasowy
Replay Cast
3 days
Wardi Open
3 days
Afreeca Starleague
3 days
Bisu vs Ample
Jaedong vs Flash
Monday Night Weeklies
3 days
RSL Revival
4 days
Afreeca Starleague
4 days
Barracks vs Leta
Royal vs Light
WardiTV Map Contest Tou…
4 days
RSL Revival
5 days
Replay Cast
6 days
The PondCast
6 days
WardiTV Map Contest Tou…
6 days
Liquipedia Results

Completed

Proleague 2026-04-15
RSL Revival: Season 4
NationLESS Cup

Ongoing

BSL Season 22
ASL Season 21
CSL 2026 SPRING (S20)
IPSL Spring 2026
KCM Race Survival 2026 Season 2
StarCraft2 Community Team League 2026 Spring
WardiTV TLMC #16
Nations Cup 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
IEM Kraków 2026

Upcoming

Escore Tournament S2: W3
Escore Tournament S2: W4
Acropolis #4
BSL 22 Non-Korean Championship
CSLAN 4
Kung Fu Cup 2026 Grand Finals
HSC XXIX
uThermal 2v2 2026 Main Event
2026 GSL S2
RSL Revival: Season 5
2026 GSL S1
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
BLAST Rivals Spring 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.