• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 19:37
CET 01:37
KST 09:37
  • 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
[ASL22] Finals Preview: Sweet Victory!12[ASL22] Ro4 Preview: Mirror Mirror6[ASL22] Ro8 Preview: Within Reach5[ASL22] Ro8 Preview: In A Tizzy11[ASL22] Ro16 Preview: Holy Diver5
Community News
Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win0Weekly Cups (October 19-25): Clem triples first in 5.0.175Evil Geniuses - shutting down23ISSL (IntoTheTV x SOOP SC2 League): Premier7Weekly Cups (October 12-18): 5.0.17 era begins1
StarCraft 2
General
[D] Hacker peak in sc2 ? No more SC2 streamers on team liquid? Liquibets sc2 season 30 Evil Geniuses - shutting down Weekly Cups (Oct 26 - Nov 1): MaxPax, herO, Solar win
Tourneys
SC4ALL: II Venue Change Announcement! Sparkling Tuna Cup - Weekly Open Tournament WardiTV Mondays ISSL (IntoTheTV x SOOP SC2 League): Premier Stellar Fest TWO the Moon (Dec 16-20)
Strategy
[H] ZvP Mid-Late Game: Stalkers Collossi HT
Custom Maps
[G] How to playtest arcade maps Starcraft 2 Advance [D] the control group Simple Questions/Answers
External Content
Mutation # 550 Graveyard Shift The PondCast: SC2 News & Results Mutation # 549 Endless Sparkles Mutation # 548 Shining Bright
Brood War
General
BGH Auto Balance -> http://bghmmr.eu/ Rollback Netcode in Brood War SC4ALL: II Venue Change Announcement! Ziemie's Starcraft 1 Prequel Campaign 🇺🇦 Ukrainian StarCraft:BroodWar community reborn
Tourneys
[$1250] International ShieldBattery League [Megathread] Daily Proleagues Small VOD Thread 2.0 KCM Race Survival 2026 Season 4
Strategy
50,000-Word Terran Builds Memo 2026-10-22 Cliff Jump Revisited (1 in a 1000 strategy) Simple Questions, Simple Answers
Other Games
General Games
Nintendo Switch Thread Stormgate/Frost Giant Megathread Deus Ex 3!? Mobile Legends: Bang Bang Armies of Exigo - YesYes?
Dota 2
Dota 2 Champions League Season 3 Begins April 25!
League of Legends
[TL LoL EUW IHs] Teemo shall perish
Heroes of the Storm
Heroes of the Storm 2.0
Hearthstone
Deck construction bug
TL Mafia
TL Mafia Community Thread
Community
General
US Politics Mega-thread Dating: How's your luck? Trading/Investing Thread Things Aren’t Peaceful in Palestine Canadian Politics Mega-thread
Fan Clubs
Fan Club Resource Thread Reynor Fan Club The Flash Fan Club
Media & Entertainment
Anime Discussion Thread Movie Discussion! [Manga] One Piece
Sports
Football (Soccer) Thread TeamLiquid Health and Fitness Initiative For 2023 MLB/Baseball 2023
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread
TL Community
Recent Gifted Posts
Blogs
Why I built Repalyzer (1.1.…
BlueStar
Innovate or Game Over?
TrAiDoS
ShieldBattery on Mac
Kraekkling
[ASL22] Ro4 Day1 Ticket Giv…
bITt.mAN
Can Bots Beat Pros?? Starcr…
namkraft
Customize Sidebar...

Website Feedback

Closed Threads



Active: 10465 users

The Big Programming Thread - Page 542

Forum Index > General Forum
Post a Reply
Prev 1 540 541 542 543 544 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.
iaretehnoob
Profile Joined June 2004
Sweden741 Posts
November 03 2014 12:56 GMT
#10821
Visual Studio.
Or alternatively Visual Studio.
nunez
Profile Blog Joined February 2011
Norway4003 Posts
November 03 2014 13:34 GMT
#10822
visual studio is pretty good i think, and their compiler isn't that far behind the Holy Binary (GCC).
... even though they had an update half a year ago that broke perfectly fine c++11 code so violenlty,
that their compiler choked out on it and crashed without letting you know what caused it.
i'm still mentally scarred from that.
c++14 too now!
conspired against by a confederacy of dunces.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
November 03 2014 13:38 GMT
#10823
On November 03 2014 22:34 nunez wrote:
visual studio is pretty good i think, and their compiler isn't that far behind the Holy Binary (GCC).
... even though they had an update half a year ago that broke perfectly fine c++11 code so violenlty,
that their compiler choked out on it and crashed without letting you know what caused it.
i'm still mentally scarred from that.
c++14 too now!

Granted, it's been a couple of years, but when I did my bachelor's thesis I compared the performance of binaries for a molecular dynamics simulation produced by gcc, and the microsoft and Intel C++ compilers. It was a pretty clear result gcc < MS < Intel.
If you have a good reason to disagree with the above, please tell me. Thank you.
nunez
Profile Blog Joined February 2011
Norway4003 Posts
Last Edited: 2014-11-03 13:50:20
November 03 2014 13:39 GMT
#10824
i'm was talking about conformance to spec! but i don't doubt you.
as a mere pleb i do not care that much about performance. i actually haven't even dared to time my ad-hoc abstraction against regular inheritance yet, in fear of the result bumming me out.

did you try running a comparison vs opencl or cuda as well? i implemented a trivial x_dot=Ax+Bu simulator, and it was quite astounding how much faster the gpu was chomping through the simulation than the cpu (but i guess that's to be expected) when the number of particles got large.

any new features you like in particular? or do you just think the extent of them make c++ attractive again?
also i'd link your paper if possible! sounds pretty cool!
conspired against by a confederacy of dunces.
Manit0u
Profile Blog Joined August 2004
Poland17871 Posts
November 03 2014 13:51 GMT
#10825
Do any of you have experience with Amazon EC2 server instances?

I need to somehow find out one instance settings (what's installed, how is it configured) and re-create it on a different server (also Amazon EC2, but with different owner). Is such a thing even possible?
Time is precious. Waste it wisely.
FFGenerations
Profile Blog Joined April 2011
7088 Posts
Last Edited: 2014-11-03 20:24:50
November 03 2014 20:13 GMT
#10826
Hi guys

The good news is that my tutor loved my anime recommendation/list idea even after I explained your thoughts on it being too simple a project. I also read other past projects at my university and can fulfil that standard I believe. (my uni is not a top uni)
It might not be the best thing to show a prospective employer but who knows, maybe that's the sort of job i want to go into anyway, at the very least it is something I want to do as a project, and my tutor marks so it if he's happy I'm happy.

The not so amazing news is someone just released a product very similar to my idea like 4 days ago lol. But that aside, I'm sure I can work with this still.

As you know I have very little programming knowledge/understanding so if you could provide me with direction that would be awesome.... my first question is going to be........

Looking at this API https://www.mashape.com/vikhyat/hummingbird-v1 , it seems like you can connect to it using Java, PHP, Python etc. Could anyone very briefly shed some light on what route I should go in order to understand which of these I should prefer to use in my project?

What I want to do:
1) have a mobile-friendly web front end with performance as priority and utilise cool interaction features (html5?)
2) connect to an anime database using their API to get data on the anime episodes including pictures
3) use caching on desktop/mobile browsers? to speed up re-visits
4) connect to my own database to store user login and other user data

So (again) the question is, seemingly given many options? for a backend how should I go about investigating them? Should I google "java api database" , "python api database" etc , build prototype versions and then somehow compare them in terms of performance?

THANKS GUYS

ps: currently googling of course
Cool BW Music Vid - youtube.com/watch?v=W54nlqJ-Nx8 ~~~~~ ᕤ OYSTERS ᕤ CLAMS ᕤ AND ᕤ CUCKOLDS ᕤ ~~~~~~ ༼ ᕤ◕◡◕ ༽ᕤ PUNCH HIM ༼ ᕤ◕◡◕ ༽ᕤ
Manit0u
Profile Blog Joined August 2004
Poland17871 Posts
November 03 2014 20:23 GMT
#10827
I believe that it would be easiest to build it around some form of PHP as it's much easier to get into building web apps in it than Java or Python, with higher probability of third-party sites having APIs ready for it. You can also select from a huge range of frameworks, from micro to full-stack, depending on your skill, time-constraints and performance needs. If you're not very familiar with PHP and want to build working stuff fast (one that will also be pretty solid) you can go with the likes of Laravel (full-stack) or php-mvc (micro, but requires you to actually learn stuff and build most of the stuff on your own).

You should also look into jQuery and Bootstrap to make your life easier and deal with responsiveness right away.
Time is precious. Waste it wisely.
WolfintheSheep
Profile Joined June 2011
Canada14127 Posts
November 03 2014 20:36 GMT
#10828
The entire idea behind Web APIs is that they're completely language independent, and just clicking that link it basically looks like you send a JSON formatted request and get back a JSON response, which is quite typical.

Which basically means use whatever language you feel most comfortable with, then just figure out how to send Requests with the right syntax, and then parse the data you get back. Realistically, handling the 3rd party API should actually be one of the easiest parts of your project.

As for what to use, you'll probably want some kind of MVC framework. Not technically required, but it keeps your back-end organized, and it's basically an industry standard...and it's really just good for back-end design in general.

Depending on how much time you have, and how much you're willing to learn on your own, consider looking into Single-Page Application design. Not required either, but not bad if you really want to show off your end product to potential interviewers.
Average means I'm better than half of you.
FFGenerations
Profile Blog Joined April 2011
7088 Posts
Last Edited: 2014-11-03 21:09:44
November 03 2014 20:42 GMT
#10829
thanks dude. i've used PHP for this "sort of thing" in the past. (made a website with login & search functionality connected to phpmyadmin database) .

so the (PHP) is used for connecting to the anime database API but also for connecting to my own database.

so i'm guessing which language exactly isn't so important. but maybe if i decide to use one PHP framework over another than that might have an impact..? in the past i just needed...PHP...no framework or anything. i just had PHP to the database and an ajax/javascript file thing that my professor provided which let me use ajax. it was super simple, no framework.....why would i use a framework like Laravel? what does it let me do?

jquery looks awesome!

where do you think i might be able to investigate performance issues? would it still be in terms of the PHP? would it be in terms of database choice? i used phpmyadmin (and sql) in the past and that was just a case of ....dropdown menus or whatever to make a database. i've never made an object orientated style database but i'm very interested in this....is it an option?


edit: WolfintheSheep cheers! i'll google those words

edit2: man it feels so good to be able to ask these questions and get such answers.


edit3: So I'm guessing..... a framework (PHP or other) incorporates database into it? so instead of having PHP backend and then a separate database system like phpmyadmin, we instead have our database as part of the framework. i had to do a talk on RubyOnRails so had to install it and saw the view, controller, database folders. my dickwad tutor gave me 40/100 for that even though the others got stuff like "html5" or whatever to talk about. you can basically piss into a bottle and get 40/100, idk why he done that to me. was the last mark of the year so he didn't have to see me again by the time i got it. idk why people hate me


so i think the missing component to my project so far is a web server?
Cool BW Music Vid - youtube.com/watch?v=W54nlqJ-Nx8 ~~~~~ ᕤ OYSTERS ᕤ CLAMS ᕤ AND ᕤ CUCKOLDS ᕤ ~~~~~~ ༼ ᕤ◕◡◕ ༽ᕤ PUNCH HIM ༼ ᕤ◕◡◕ ༽ᕤ
LaNague
Profile Blog Joined April 2010
Germany9118 Posts
November 03 2014 21:13 GMT
#10830
if you run under windows, you might as well use visual studio.
Microsoft cares a great deal about it, its a good IDE and you can use it for C# and other stuff as wel. C# is quite productive, lots of companies in my region use it, so its useful to allready know the IDE it uses if at some point you want to get into it.
Manit0u
Profile Blog Joined August 2004
Poland17871 Posts
Last Edited: 2014-11-04 16:37:23
November 04 2014 16:36 GMT
#10831
On November 04 2014 05:42 FFGenerations wrote:
thanks dude. i've used PHP for this "sort of thing" in the past. (made a website with login & search functionality connected to phpmyadmin database) .

so the (PHP) is used for connecting to the anime database API but also for connecting to my own database.

so i'm guessing which language exactly isn't so important. but maybe if i decide to use one PHP framework over another than that might have an impact..? in the past i just needed...PHP...no framework or anything. i just had PHP to the database and an ajax/javascript file thing that my professor provided which let me use ajax. it was super simple, no framework.....why would i use a framework like Laravel? what does it let me do?

jquery looks awesome!

where do you think i might be able to investigate performance issues? would it still be in terms of the PHP? would it be in terms of database choice? i used phpmyadmin (and sql) in the past and that was just a case of ....dropdown menus or whatever to make a database. i've never made an object orientated style database but i'm very interested in this....is it an option?


edit: WolfintheSheep cheers! i'll google those words

edit2: man it feels so good to be able to ask these questions and get such answers.


edit3: So I'm guessing..... a framework (PHP or other) incorporates database into it? so instead of having PHP backend and then a separate database system like phpmyadmin, we instead have our database as part of the framework. i had to do a talk on RubyOnRails so had to install it and saw the view, controller, database folders. my dickwad tutor gave me 40/100 for that even though the others got stuff like "html5" or whatever to talk about. you can basically piss into a bottle and get 40/100, idk why he done that to me. was the last mark of the year so he didn't have to see me again by the time i got it. idk why people hate me


so i think the missing component to my project so far is a web server?


So, let me address a couple of things:

1. What does the framework give me?
- organized way to handle your code
- lots (depending on the framework) of stuff that's already built into it and that you won't have to write yourself, like event listeners, form validation and what not
- way of doing things that's then easy to maintain for you and others
- easy way to create, edit and manage your web app

Instead of me trying to search for good words to describe it, I'd better just let you read this as an example: http://symfony.com/doc/current/book/from_flat_php_to_symfony2.html

2. Does PHP framework incorporate a database?
No, it does not. What you get are tools to work with database abstraction layers and object relational mapping (mapping of database in PHP object classes for easier acces). You can read more on that by simply googling "doctrine" and hitting the first link. Frameworks like Symfony2 and Laravel (I think, don't have much experience with Laravel) let you easily and automagically map your entire database, creating classes with required methods or create database out of the classes.

You really need to read up on DBAL, ORM and PDO. That stuff makes working with databases in PHP really easy.
Time is precious. Waste it wisely.
Manit0u
Profile Blog Joined August 2004
Poland17871 Posts
November 05 2014 12:29 GMT
#10832
Just look at the bullshit I have to deal with...


protected void parseEntries() throws JsonParseException, IOException,
LogicException {
parseArrayOfObjects(new ArrayEvent() {
@Override
public void newObject() throws JsonParseException, IOException,
LogicException {
final Entry entry = new Entry();

parseObjectFields(new FieldEvent() {
@Override
public boolean parseField(String name)
throws JsonParseException, IOException,
LogicException {
if ("pageref".equals(name)) {
jParser.nextToken();

entry.pageRef = jParser.getText();

return true;
}

if ("request".equals(name)) {
parseObjectFields(new FieldEvent() {
@Override
public boolean parseField(String name)
throws JsonParseException, IOException,
LogicException {
if ("url".equals(name)) {
jParser.nextToken();

entry.url = jParser.getText();

return true;
}

return false;
}
});

return true;
} else if ("response".equals(name)) {
parseObjectFields(new FieldEvent() {
@Override
public boolean parseField(String name)
throws JsonParseException, IOException,
LogicException {
if ("content".equals(name)) {
parseObjectFields(new FieldEvent() {
@Override
public boolean parseField(
String name)
throws JsonParseException,
IOException, LogicException {
if ("mimeType".equals(name)) {
jParser.nextToken();

entry.mimeType = jParser
.getText().trim()
.toLowerCase();

return true;
} else if ("size".equals(name)) {
jParser.nextToken();

entry.size = jParser
.getIntValue();

return true;
}

return false;
}
});

return true;
}

return false;
}
});

return true;
}

return false;
}
});

if (Resource.mimeToType(entry.mimeType) != Resource.Type.UNKNOWN
&& !entries.contains(entry)
&& pages.containsKey(entry.pageRef)) {
entry.disabled = !isUrlAllowed(entry.url);

if (!entry.disabled) {
allowedEntries.add(entry);
}

entries.add(entry);
}
}
});
}


Watch and weep.
Time is precious. Waste it wisely.
solidbebe
Profile Blog Joined November 2010
Netherlands4921 Posts
November 05 2014 13:17 GMT
#10833
My eyesss
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
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2014-11-05 13:32:46
November 05 2014 13:31 GMT
#10834
Pah, only 13 indentations, I've seen worse. Also look at the bright side: The majority of this code is just clean, empty, angelic whitespace.

That's Java, right? What a great idea these anonymous subclasses are... Is there even an application where that stuff doesn't lead to awful code?
If you have a good reason to disagree with the above, please tell me. Thank you.
Gowerly
Profile Blog Joined July 2011
United Kingdom916 Posts
November 05 2014 14:00 GMT
#10835
Tabs as tabs is evil. At least tabs as spaces.
Functions within functions within functions is also just slightly slipping into madness.
Biggest sin, obviously, is where are the fucking comments. Comment your code or I will find you and end you.
I will reduce you to a series of numbers.
Manit0u
Profile Blog Joined August 2004
Poland17871 Posts
November 05 2014 14:10 GMT
#10836
There's so much blessed whitespace because I took my precious time and used it to format the code to the point where it's readable.

Some other cool methods I'm looking at right now:


@Override
protected void someMethod() {
try {
if () {
throw new;
}

try {
} finally {
}

if () {
throw new;
}

if () {
throw new;
}

if () {
throw new;
}

if () {
throw new);
}

if () {
throw new;
}

try {
if () {
throw new;
}

try {
} finally {
}
} finally {
}

if () {
throw new;
}
try {
for () {
}
} finally {
}
} catch () {
}
}

protected void someMethod2() throws ValidationException, IOException {
if () {
throw new;
}

if () {
throw new;
}

if () {
throw new;
}

try {
while () {
if () {
if () {
try {
while () {
}
} catch () {
} finally {
if () {
}
}
}
}
}
} finally {
if () {
}
}
}

@Override
protected void someMethod3WhoseNameIsJustLikeAnotherMethodSomewhereElse() throws ServletException, IOException {
try {
if () {
throw new ;
} else {
try {
if () {
throw new;
}

if () {
} else {
if () {
throw new;
}

if () {
throw new;
}

if () {
} else {
}
}
} finally {
}
}
} catch () {
} catch () {
} finally {
if () {
}

if () {
}
}

}


I just can't wait to start tracking the errors...
Time is precious. Waste it wisely.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
Last Edited: 2014-11-05 14:14:50
November 05 2014 14:12 GMT
#10837
I retract the question. You're defining a method inside a class inside a method inside a class. This just can't be a good idea. Ever.

Is that 3rd method catching the exceptions it throws?
If you have a good reason to disagree with the above, please tell me. Thank you.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
November 05 2014 14:21 GMT
#10838
--- Nuked ---
Gowerly
Profile Blog Joined July 2011
United Kingdom916 Posts
November 05 2014 14:31 GMT
#10839
http://theprofoundprogrammer.com/page/17
The only way.
I will reduce you to a series of numbers.
spinesheath
Profile Blog Joined June 2009
Germany8679 Posts
November 05 2014 14:36 GMT
#10840
I too have trouble reading non-Allman code. I suppose it's just that I use the whitespace and intentation to quickly recognize control flow and such stuff, and if I was more used to K&R I probably would recognize those pattens better.

What I really can't stand is stuff like this:
if(condition) return;

You'd have to actually read the code to understand that the control flow is manipulated here. That actually costs a lot of time.
If you have a good reason to disagree with the above, please tell me. Thank you.
Prev 1 540 541 542 543 544 1032 Next
Please log in or register to reply.
Live Events Refresh
PSISTORM Gaming Misc
09:00
FSL season 12 opener: HM vs ST
Freeedom74
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
SpeCial 39
StarCraft: Brood War
Britney 7687
Dota 2
PGG 213
League of Legends
Doublelift4873
JimRising 739
Counter-Strike
jkaem63
Other Games
gofns14930
summit1g8824
Grubby2065
Day[9].tv523
shahzam424
PiGStarcraft326
XaKoH 285
C9.Mang0283
syndereN178
Maynarde66
Fuzer 59
NeuroSwarm55
ViBE48
PPMD23
Railgan20
KnowMe15
JuggernautJason4
Organizations
Other Games
gamesdonequick512
Counter-Strike
PGL86
[ Show 18 non-featured ]
StarCraft 2
• Hupsaiya 77
• RyuSc2 24
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• Laughngamez YouTube
• Migwel
StarCraft: Brood War
• HerbMon 38
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• Nemesis3381
• Jankos3336
• Scarra898
Other Games
• imaqtpie613
• Day9tv523
• Shiphtur174
Upcoming Events
IntoTheTV X SOOP
10h 23m
Reynor vs Solar
ByuN vs SHIN
Clem vs MaxPax
herO vs Rogue
IPSL
16h 23m
WorsT vs nOmaD
Dewalt vs andersOn
AI Arena Tournament
18h 23m
IntoTheTV X SOOP
1d 10h
IPSL
1d 16h
Azhi_Dahaki vs ggnore13
Double vs WIZARD
Replay Cast
1d 22h
Replay Cast
2 days
Sparkling Tuna Cup
3 days
WardiTV Invitational
3 days
YoungYakov vs Lambo
SHIN vs TBD
Percival vs Shameless
Solar vs TBD
PiGosaur Cup
4 days
[ Show More ]
The PondCast
5 days
KCM Race Survival
5 days
WardiTV Invitational
5 days
Liquipedia Results

Completed

Proleague 2026-11-05
Blizzard Classic Cup 2026
HCC Season 3

Ongoing

Acropolis #5
KCM Race Survival 2026 Season 4
International ShieldBattery League
BSL Season 23
IPSL Winter 2026-27
Calamity Cup Div. A Season 8
IEM Beijing 2026
PGL Masters Bucharest 2026
Stake Ranked Episode 5
1win Private Club #2
Thunderpick World Champ. '26
ESL Pro League Season 24
Stake Ranked Episode 4
1win Private Club #1
Logitech G Play Connect 2026
SL StarSeries Fall 2026
FISSURE Playground #3
BLAST Open Fall 2026

Upcoming

Sector 951
SC4ALL II: Brood War
BSL 23: Non-Korean Championship
HSC XXX
Stellar Fest 2: Lunar Cup
SC4ALL II: StarCraft II
Kung Fu Cup 2026 Grand Finals
RSL Offline Finals
Underdog Cup 2026 Div 2-3
PGL Bucharest 2027
BLAST Bounty Winter 2027
eXTREMESLAND 2026
PGL Major Singapore 2026
Stake Ranked Episode 6
BLAST Rivals Fall 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.