• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 03:09
CET 09:09
KST 17:09
  • 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
StarCraft Evolution League (SC Evo Biweekly) RSL Offline Finals Info - Dec 13 and 14! 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
ZeroSpace Megathread Nintendo Switch Thread Stormgate/Frost Giant 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: 1478 users

The Big Programming Thread - Page 522

Forum Index > General Forum
Post a Reply
Prev 1 520 521 522 523 524 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.
phar
Profile Joined August 2011
United States1080 Posts
September 24 2014 00:54 GMT
#10421
As a general rule, conversations like that are better held in person than over email. It's a much higher bandwidth, leaves less room for misinterpretation (though still some room, so be clear), doesn't leave a paper trail (probably not a concern for this specific topic, but definitely a cause for concern for other topics), can't be accidentally forwarded/cc'd around, and is just overall more genuine.


Shit that sucks even more than I previously thought. 2 devs, 12 person company. So you have literally nobody to learn from development-wise?

Yea, get out.

Depending on where you live, there may be many places you can apply to. If you're unsure if you can get into any specific place, shotgun approach and just apply to a LOT of places. If you end up interviewing at larger places that have more formal tech interview processes, you can find resources to prepare (I dunno what your 12 person shop is like, but the ~12 person shops I've worked at have seriously lax interviews, if any).
Who after all is today speaking about the destruction of the Armenians?
obesechicken13
Profile Blog Joined July 2008
United States10467 Posts
Last Edited: 2014-09-24 17:52:03
September 24 2014 17:39 GMT
#10422
On September 23 2014 13:37 phar wrote:
Show nested quote +
On September 23 2014 10:47 Blisse wrote:
If you're friends with her and not just coworkers then I would ask to talk to her and go over some of the problems you see she's having and ask what's up because you're worried this is having a negative effect at work, and see if she wants some more help doing stuff (friends right). Otherwise yeah you need to tell your boss and tell them you can't continue working there in these conditions.

I dunno, maybe I'm paranoid.

I would not recommend talking to her, mostly because the last couple paragraphs read like an HR minefield. If you have a co-worker who is straight up lying about things, you start treading in very dangerous waters. I get that you probably don't have HR at a 12 person company, but if you think the problems are as bad as you describe, talk to your boss. Stuff like this is your boss's job to deal with. If you don't feel comfortable, you don't have to directly talk about deceitful behavior, but bring up changes that would have to happen to make accountability like this not be possible in the first place:

* instate code reviews, so you can't just check random-ass code into head without having another dev sign off on it. Also this provides a good way to give direct feedback on code quality and help others improve.
* you could probably stand to have better test infrastructure, if it is true that your tests fail to catch stuff that happens in production (this is not always possible, but you'd be surprised how close you can get tests to catch real problems). Are your tests run automatically when stuff is checked in (maybe even before)?


Whatever you do, I would recommend having the discussion with your boss in person and not over email, because again, HR minefield.


Also, ask your friend for a recommendation to whatever place they went to. While your work environment might improve, I personally would not bet on it.

I'd be scared of the boss talking to her and then her lying about me. Dealing with people is hard and if your boss doesn't trust you or prefers her to you then the worst that can happen is that you'll be out of a job or she'll learn about your feelings towards her, and feel like you went over her head.




Has anyone taken a look at exercism.io? It was on reddit's front page yesterday and seems to be about social coding to improve one's code quality.


Also I'm looking for angular js tutorials.
I think in our modern age technology has evolved to become more addictive. The things that don't give us pleasure aren't used as much. Work was never meant to be fun, but doing it makes us happier in the long run.
tofucake
Profile Blog Joined October 2009
Hyrule19173 Posts
September 24 2014 20:09 GMT
#10423
Her lying isn't a big deal if there's, for instance, a long history of her commits to the repository.
Liquipediaasante sana squash banana
EscPlan9
Profile Blog Joined December 2006
United States2777 Posts
September 24 2014 22:14 GMT
#10424
You would feel comfortable working with someone who will lie about where they are in a project and the problems they have run into? Not a big deal? It's a pretty big deal to me. It's okay if you overlooked something or something you didn't expect popped up or just a dumb error - but take some damn accountability and say "Yeah, I screwed up, my bad, I'll work on fixing it" or "No, I haven't figured out what's causing the problem yet, but I'm narrowing it down". That's the type of person I am much more comfortable working with.
Undefeated TL Tecmo Super Bowl League Champion
tofucake
Profile Blog Joined October 2009
Hyrule19173 Posts
September 25 2014 00:12 GMT
#10425
On September 25 2014 07:14 EscPlan9 wrote:
You would feel comfortable working with someone who will lie about where they are in a project and the problems they have run into? Not a big deal? It's a pretty big deal to me. It's okay if you overlooked something or something you didn't expect popped up or just a dumb error - but take some damn accountability and say "Yeah, I screwed up, my bad, I'll work on fixing it" or "No, I haven't figured out what's causing the problem yet, but I'm narrowing it down". That's the type of person I am much more comfortable working with.

I meant her lying to the boss in the event of a confrontation, not her general suckiness-at-programming.
Liquipediaasante sana squash banana
Ben...
Profile Joined January 2011
Canada3485 Posts
September 25 2014 00:26 GMT
#10426
Yeah, the whole "being a garbage programmer" thing aside, lying to her boss's face will not end well, and putting off dealing with the issue will not do anyone favours (her included). And in this case, it isn't just little fibs, but blatant lies.
"Cliiiiiiiiiiiiiiiiide" -Tastosis
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
September 25 2014 01:49 GMT
#10427
Does anyone or can anyone link me to how you can control the global audio playback in C# or C++ Windows 8? I can't actually find any sources which is weird.
There is no one like you in the universe.
Manit0u
Profile Blog Joined August 2004
Poland17496 Posts
September 25 2014 07:40 GMT
#10428
On September 25 2014 10:49 Blisse wrote:
Does anyone or can anyone link me to how you can control the global audio playback in C# or C++ Windows 8? I can't actually find any sources which is weird.


Maybe this will help?

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn642090.aspx
http://blogs.msdn.com/b/windowsappdev/archive/2012/08/23/media-playback-what-you-need-to-know-about-playing-media-to-make-your-app-shine-in-windows-8.aspx

Second link is better I believe.
Time is precious. Waste it wisely.
Manit0u
Profile Blog Joined August 2004
Poland17496 Posts
Last Edited: 2014-09-25 07:53:05
September 25 2014 07:48 GMT
#10429
Now, to share some of my woes with you...

So, I'm tasked with bug hunting in one of the old projects my company commited. What I'm facing now are functions like:


$this->s('something', 'somewhere');
$this->g('something', 'somewhere');


From the code alone I can see they're some setters and getters, but how do they work? Searching the project for "function s(" yields 17 function definitions in various classes. The classes I'm debugging, that are invoking those functions, are up to 9th generation with multiple of their ancestors overriding those functions. To make things worse, even classes that seem similar in nature and function take different inheritance routes from the base class, even including empty "bridge" classes to bypass some functionality. Of course, nothing of it is documented or even commented in code...

And I have to deal with bloated classes and methods because someone who wrote them has never heard of SRP. This wouldn't be such a big deal if not for stuff like that being everywhere:


function SomeFunc($args) {
$var = new SomeObj();
// do some stuff with $var

// halfway down the function

$var = DatabaseData;
// do stuff with $var
}


and


if (isset($somevar)) {
switch ($somevar) {
case 'something':
return 'something';
break;
case 'somethingelse':
return 'somethingelse';
break;
}
}


To say this is all confusing would be a great understatement...
Time is precious. Waste it wisely.
Deleted User 101379
Profile Blog Joined August 2010
4849 Posts
Last Edited: 2014-09-25 09:21:44
September 25 2014 09:20 GMT
#10430
Best case, install XDebug and go through it step by step.
Worst case, var_dump/print_r/error_log everywhere (aka shotgun debugging) and hope for the best.

I found that XDebug with step by step debugging and breakpoints increased my productivity a lot, but sadly a lot of corporate development environments don't allow for it.

Hey, at least the code is object oriented (or at least what I call "object based").
Manit0u
Profile Blog Joined August 2004
Poland17496 Posts
Last Edited: 2014-09-25 11:34:42
September 25 2014 11:34 GMT
#10431
On September 25 2014 18:20 Morfildur wrote:
Hey, at least the code is object oriented (or at least what I call "object based").


Small parts of it are. Most of it is written procedurally on top of an OO framework...
Time is precious. Waste it wisely.
tofucake
Profile Blog Joined October 2009
Hyrule19173 Posts
September 25 2014 13:56 GMT
#10432
On September 25 2014 16:48 Manit0u wrote:
Now, to share some of my woes with you...

So, I'm tasked with bug hunting in one of the old projects my company commited. What I'm facing now are functions like:


$this->s('something', 'somewhere');
$this->g('something', 'somewhere');


From the code alone I can see they're some setters and getters, but how do they work? Searching the project for "function s(" yields 17 function definitions in various classes. The classes I'm debugging, that are invoking those functions, are up to 9th generation with multiple of their ancestors overriding those functions. To make things worse, even classes that seem similar in nature and function take different inheritance routes from the base class, even including empty "bridge" classes to bypass some functionality. Of course, nothing of it is documented or even commented in code...

And I have to deal with bloated classes and methods because someone who wrote them has never heard of SRP. This wouldn't be such a big deal if not for stuff like that being everywhere:


function SomeFunc($args) {
$var = new SomeObj();
// do some stuff with $var

// halfway down the function

$var = DatabaseData;
// do stuff with $var
}


and


if (isset($somevar)) {
switch ($somevar) {
case 'something':
return 'something';
break;
case 'somethingelse':
return 'somethingelse';
break;
}
}


To say this is all confusing would be a great understatement...


Are they magic? Or wrappers for magic?
Liquipediaasante sana squash banana
Manit0u
Profile Blog Joined August 2004
Poland17496 Posts
Last Edited: 2014-09-25 19:35:21
September 25 2014 19:34 GMT
#10433
They're fucked up, that's what they are (they call get and set methods in one of the ancestors, which override some other get and set methods which in turn wrap magic methods in their ancestors)

And got a new request from the client, asking us to remove all password confirmation fields from the register forms because "no one is using that in the civilized world any more". I was more than happy to oblige, just to make them suffer.
Time is precious. Waste it wisely.
Alzadar
Profile Blog Joined April 2010
Canada5009 Posts
Last Edited: 2014-09-25 21:26:18
September 25 2014 21:25 GMT
#10434
Not really going anywhere with this, just wanting to write about this task snowballing I've encountered.

So I was assigned to get our product's test suite working (I'm a co-op student). Our tests have a mechanism where you can reference env variables using a special syntax, and you could define those env variables in a .conf file.

I noticed that when I changed the .conf file, sometimes the values seemed to be the same as before I changed it. Eventually I figured out that the env variables were being assigned values all over the place by various setup functions, so you couldn't rely on the .conf file having any effect.

What made this hard to detect is that the script that switches in the env values prints out the variable it's using, but not its value, so you can't tell what command is being given. So I decided it would be very useful for debugging to print both the variable name and its value.

Problem is the code that parses the commands and replaces the special syntax variables was copy and pasted in seven different locations (all exactly identical). I figured if I was going to change the functionality I might as well unify all this code into a single function.

But then in doing that I discovered that changing source files sometimes seemed to have no effect, and it was because I have a duplication of the test suite, and a lot of the source commands (this is Tcl by the way) use hard coded paths to refer to the production test suite. There is a baseDir variable but it isn't always used and it seems to get changed by a few scripts which seems insane to me.

I feel like I'm pulling at a loose thread in a sweater until eventually there'll be nothing left. o_O
I am the Town Medic.
ThatGuy
Profile Blog Joined April 2008
Canada695 Posts
September 25 2014 22:19 GMT
#10435
On September 26 2014 06:25 Alzadar wrote:
Not really going anywhere with this, just wanting to write about this task snowballing I've encountered.

So I was assigned to get our product's test suite working (I'm a co-op student). Our tests have a mechanism where you can reference env variables using a special syntax, and you could define those env variables in a .conf file.

I noticed that when I changed the .conf file, sometimes the values seemed to be the same as before I changed it. Eventually I figured out that the env variables were being assigned values all over the place by various setup functions, so you couldn't rely on the .conf file having any effect.

What made this hard to detect is that the script that switches in the env values prints out the variable it's using, but not its value, so you can't tell what command is being given. So I decided it would be very useful for debugging to print both the variable name and its value.

Problem is the code that parses the commands and replaces the special syntax variables was copy and pasted in seven different locations (all exactly identical). I figured if I was going to change the functionality I might as well unify all this code into a single function.

But then in doing that I discovered that changing source files sometimes seemed to have no effect, and it was because I have a duplication of the test suite, and a lot of the source commands (this is Tcl by the way) use hard coded paths to refer to the production test suite. There is a baseDir variable but it isn't always used and it seems to get changed by a few scripts which seems insane to me.

I feel like I'm pulling at a loose thread in a sweater until eventually there'll be nothing left. o_O


[image loading]
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
Last Edited: 2014-09-26 03:28:16
September 26 2014 02:56 GMT
#10436
On September 25 2014 16:40 Manit0u wrote:
Show nested quote +
On September 25 2014 10:49 Blisse wrote:
Does anyone or can anyone link me to how you can control the global audio playback in C# or C++ Windows 8? I can't actually find any sources which is weird.


Maybe this will help?

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/dn642090.aspx
http://blogs.msdn.com/b/windowsappdev/archive/2012/08/23/media-playback-what-you-need-to-know-about-playing-media-to-make-your-app-shine-in-windows-8.aspx

Second link is better I believe.


Thanks, but those were for Windows Store apps, I was looking for a WPF solution.

Can't believe this but I don't think it's possible on WPF... o_o

What is the keyboard input that generates the "Play next song" input? A lot of keyboards have it but Googling has failed me on how they work.

edit: found something that hopefully works here (this is so much trouble and why i wish ms would move to android style docs)

http://msdn.microsoft.com/en-us/library/dd375731(v=VS.85).aspx

Sick, that method totally works (y) i got my kinect to detect my voice now so i can control my media with my voice :D
There is no one like you in the universe.
lannisport
Profile Joined February 2012
878 Posts
September 26 2014 11:49 GMT
#10437
I have a question. Are there any Windows 8 users here who develop in python? I'm about to get a new laptop but my biggest fear is that certain programs such as PyCharm 3.0 won't translate 100% perfectly in Windows 8. Am I just being paranoid here or are the slight speed boosts over Windows 7 not worth the uncertainty factor?
ZealotSensei
Profile Joined September 2011
Denmark70 Posts
Last Edited: 2014-09-26 13:49:27
September 26 2014 13:48 GMT
#10438
Hey guys! I'm really new to node.js and having a bit of a problem with objects. Lets say I have two files, one called printer.js and another called database.js. printer.js prints the results database returns. printer.js looks like this:

 
var db = require("./database")

db.getStations(dbReturn);

function dbReturn(stations) {
for(var i = 0; i < stations.length; i++) {
console.log('id: ' + stations.id);
}
}


and my database.js looks like this:


function getStations(callback){


var listOfStations = [];

for(var index = 0; index < 10; index++) {
var station = new Station(index);
listOfStations[index] = station;
}
callback(listOfStations);
}

function Station(id){
this.id = id;
}

exports.getStations = getStations;


I would just like to mention that Station class has a lot more members than that. But the problem here is that I cannot access the members from the Station objects I created in database.js from printer.js. I am having quite a bit of trouble figuring out how to do this. I have learned how to create a new object of Station in printer.js by exporting Station, but I still can't access the members of an object I created somewhere else! It just spits out 10 x "id: undefined" Can any of you guys help me?
Those who give up freedom for security deserve neither!
FreeZer
Profile Joined January 2011
Sweden288 Posts
September 26 2014 14:49 GMT
#10439
I just came across generators in python. Generators are the fucking bomb. I'm still wrapping my mind around this new concept and the more I think about it the more stuff I come up with to use them for. I mean... it's a function that can return a value.. but keep its stack data! So you can enter the function again, and it keeps running from where it left off until it returns again. Short example if you don't know what it is:


def mygen():
yield 1
yeild 2
yield 3

gen = mygen()
for n in gen:
print(n)

>>> 1
>>> 2
>>> 3


At first glance this might not seem so awesome, it's just iterating right? WRONG! The cool thing is that the generator can maintain its own state! And you can connect many generators together to form a massive processing pipeline.

If you're intrigued, check out http://www.dabeaz.com/generators/

I just heard generators are coming to Javascript, which made me really excited!
Ahh Scept-- hey where did you come from?
Blisse
Profile Blog Joined July 2010
Canada3710 Posts
September 26 2014 16:15 GMT
#10440
If you like generators and iterators you should read about coroutines


On September 26 2014 20:49 lannisport wrote:
I have a question. Are there any Windows 8 users here who develop in python? I'm about to get a new laptop but my biggest fear is that certain programs such as PyCharm 3.0 won't translate 100% perfectly in Windows 8. Am I just being paranoid here or are the slight speed boosts over Windows 7 not worth the uncertainty factor?


There's no difference between Python files on different platforms except for line endings.
There is no one like you in the universe.
Prev 1 520 521 522 523 524 1032 Next
Please log in or register to reply.
Live Events Refresh
Replay Cast
00:00
WardiTV Mondays #62
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SortOf 138
-ZergGirl 57
StarCraft: Brood War
Tasteless 264
Sacsri 90
Pusan 74
Shine 66
Dewaltoss 52
Sharp 49
Bale 31
ZergMaN 28
Hm[arnc] 4
Dota 2
febbydoto205
NeuroSwarm119
canceldota33
League of Legends
JimRising 526
Reynor40
Counter-Strike
shoxiejesuss0
Super Smash Bros
Westballz22
Other Games
summit1g10687
WinterStarcraft549
C9.Mang0285
crisheroes260
Mew2King40
Organizations
Other Games
gamesdonequick593
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
sctven
[ Show 12 non-featured ]
StarCraft 2
• Berry_CruncH192
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Lourlo1039
Upcoming Events
The PondCast
1h 51m
OSC
7h 51m
Demi vs Mixu
Nicoract vs TBD
Babymarine vs MindelVK
ForJumy vs TBD
Shameless vs Percival
Replay Cast
15h 51m
Korean StarCraft League
1d 18h
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
4 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.