• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 04:55
CEST 10:55
KST 17:55
  • 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
RSL Revival: Season 5 - Qualifiers and Main Event4Code S Season 1 (2026) - RO12 Results02026 GSL Season 1 Qualifiers25Maestros of the Game 2 announced92026 GSL Tour plans announced15
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
ASL21 General Discussion BGH Auto Balance -> http://bghmmr.eu/ Pros React To: Leta vs Tulbo (ASL S21, Ro.8) [BSL22] RO16 Group A - Sunday 21:00 CEST [BSL22] RO16 Group B - Saturday 21:00 CEST
Tourneys
[BSL22] RO16 Group Stage - 02 - 10 May Escore Tournament StarCraft Season 2 [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: 1555 users

The Big Programming Thread - Page 1027

Forum Index > General Forum
Post a Reply
Prev 1 1025 1026 1027 1028 1029 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
Poland17741 Posts
December 03 2020 08:24 GMT
#20521
Unfortunately I'm a total noob with excel but I think someone here might be able to help you.

My recent forays into Rust have been OK so far but I'm noticing some weird things when it comes to the language.


// if you have a method call and this method returns a result that can be error etc.
// the compiler will complain that you have not handled it
struct.call();

// if you don't care about the result at the time of calling (don't want to handle errors
// at this stage) and you don't want the compiler to complain you have to do stuff
// like that
let _ = struct.call();


Ugly as hell...
Time is precious. Waste it wisely.
Silvanel
Profile Blog Joined March 2003
Poland4751 Posts
Last Edited: 2020-12-03 09:07:33
December 03 2020 09:07 GMT
#20522
On December 03 2020 16:15 JumboJohnson wrote:
Idk if this is really the spot for it but I don't want to make a new thread and my google-fu is failing me.

I have an excel spreadsheet that I use to track my debt. I have it set up to add the column up and when I add a month I can just drag the cell over and it puts the sum equation under the new column.

What I want to do is put a cell under that takes the sum above and subtracts it from the cell to its left. The equation is obviously easy enough but I can't just drag it over like I do with the sum when I add a new month. What am I missing?

Thanks for any help and sorry it's not a more interesting problem like you all normally discuss :D


I am not sure o understand. Can You post equation You are using?
I suspect You have problem with fact that when You copy formulas the range of the sum stays fixed. So if You have in one cell a formula that sums for example five cells and then copy it to next cell it still will still sum five cells (but diffrent as adresses will change but not range). Am i getting this right? Or this is something else?
Pathetic Greta hater.
mahrgell
Profile Blog Joined December 2009
Germany3943 Posts
December 03 2020 09:46 GMT
#20523
On December 03 2020 17:24 Manit0u wrote:
Unfortunately I'm a total noob with excel but I think someone here might be able to help you.

My recent forays into Rust have been OK so far but I'm noticing some weird things when it comes to the language.


// if you have a method call and this method returns a result that can be error etc.
// the compiler will complain that you have not handled it
struct.call();

// if you don't care about the result at the time of calling (don't want to handle errors
// at this stage) and you don't want the compiler to complain you have to do stuff
// like that
let _ = struct.call();


Ugly as hell...


I have no idea what is there to complain about that.
I really wish our C++ code at work had this. (And adding [[nodiscard]] to all success values in the code base is sadly not possible.)
Manit0u
Profile Blog Joined August 2004
Poland17741 Posts
December 03 2020 11:56 GMT
#20524
On December 03 2020 18:46 mahrgell wrote:
Show nested quote +
On December 03 2020 17:24 Manit0u wrote:
Unfortunately I'm a total noob with excel but I think someone here might be able to help you.

My recent forays into Rust have been OK so far but I'm noticing some weird things when it comes to the language.


// if you have a method call and this method returns a result that can be error etc.
// the compiler will complain that you have not handled it
struct.call();

// if you don't care about the result at the time of calling (don't want to handle errors
// at this stage) and you don't want the compiler to complain you have to do stuff
// like that
let _ = struct.call();


Ugly as hell...


I have no idea what is there to complain about that.
I really wish our C++ code at work had this. (And adding [[nodiscard]] to all success values in the code base is sadly not possible.)


I guess my example wasn't clear enough

Imagine having to do that:


let _ = st.set_id(1);
let _ = st.set_name("my obj");

// I wan't to just call the setters and validate at the end...
Time is precious. Waste it wisely.
JumboJohnson
Profile Joined December 2011
537 Posts
Last Edited: 2020-12-03 16:40:58
December 03 2020 16:37 GMT
#20525
On December 03 2020 18:07 Silvanel wrote:
Show nested quote +
On December 03 2020 16:15 JumboJohnson wrote:
Idk if this is really the spot for it but I don't want to make a new thread and my google-fu is failing me.

I have an excel spreadsheet that I use to track my debt. I have it set up to add the column up and when I add a month I can just drag the cell over and it puts the sum equation under the new column.

What I want to do is put a cell under that takes the sum above and subtracts it from the cell to its left. The equation is obviously easy enough but I can't just drag it over like I do with the sum when I add a new month. What am I missing?

Thanks for any help and sorry it's not a more interesting problem like you all normally discuss :D


I am not sure o understand. Can You post equation You are using?
I suspect You have problem with fact that when You copy formulas the range of the sum stays fixed. So if You have in one cell a formula that sums for example five cells and then copy it to next cell it still will still sum five cells (but diffrent as adresses will change but not range). Am i getting this right? Or this is something else?


I think you've got it. Here's a better description. In column H for example I'd put =G12-H12 and I'd get the number I'm looking for. I just can't get the equation to drag over into column I or G and change the inputs. It just keeps the original numbers.
AiurZ
Profile Blog Joined May 2004
United States429 Posts
December 04 2020 01:57 GMT
#20526
On December 04 2020 01:37 JumboJohnson wrote:
Show nested quote +
On December 03 2020 18:07 Silvanel wrote:
On December 03 2020 16:15 JumboJohnson wrote:
Idk if this is really the spot for it but I don't want to make a new thread and my google-fu is failing me.

I have an excel spreadsheet that I use to track my debt. I have it set up to add the column up and when I add a month I can just drag the cell over and it puts the sum equation under the new column.

What I want to do is put a cell under that takes the sum above and subtracts it from the cell to its left. The equation is obviously easy enough but I can't just drag it over like I do with the sum when I add a new month. What am I missing?

Thanks for any help and sorry it's not a more interesting problem like you all normally discuss :D


I am not sure o understand. Can You post equation You are using?
I suspect You have problem with fact that when You copy formulas the range of the sum stays fixed. So if You have in one cell a formula that sums for example five cells and then copy it to next cell it still will still sum five cells (but diffrent as adresses will change but not range). Am i getting this right? Or this is something else?


I think you've got it. Here's a better description. In column H for example I'd put =G12-H12 and I'd get the number I'm looking for. I just can't get the equation to drag over into column I or G and change the inputs. It just keeps the original numbers.

Without being able to look at it, it sounds like you're using fixed references to cells ie $G$12 etc. instead of relative ones.
picture of dogs.jpg
JimmyJRaynor
Profile Blog Joined April 2010
Canada17486 Posts
Last Edited: 2020-12-11 19:52:59
December 11 2020 19:50 GMT
#20527
.NET 5 is turning about to be solid. so the .NET Core beta test is finally over.
https://weblog.west-wind.com/posts/2020/Nov/24/Upgrading-to-NET-Core-50

Anyone who has got 1000s of hours of coding time with c# is breathing a sigh of relief.


If only i could pick up my biz and move it to Hawaii.
twitter.com
Ray Kassar To David Crane : "you're no more important to Atari than the factory workers assembling the cartridges"
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
December 14 2020 08:33 GMT
#20528
For anyone who likes this kind of thing, adventofcode.com is up for 2020. Finally completed all available problems today.
Manit0u
Profile Blog Joined August 2004
Poland17741 Posts
December 14 2020 14:59 GMT
#20529
On December 14 2020 17:33 enigmaticcam wrote:
For anyone who likes this kind of thing, adventofcode.com is up for 2020. Finally completed all available problems today.


Sometimes I'm so damn lazy...

+ Show Spoiler [super shitty code for task 2] +


def random_res(ary)
nums = [ary.sample, ary.sample, ary.sample]

return random_res(ary) if nums.uniq.count < 3
return nums
end

def answer(ary)
uniq_ary = ary.uniq

loop do
res = random_res(uniq_ary)

return res.reduce(:*) if res.sum == 2020
end
end


puts answer(report)

Time is precious. Waste it wisely.
JimmyJRaynor
Profile Blog Joined April 2010
Canada17486 Posts
December 14 2020 19:15 GMT
#20530
On December 14 2020 23:59 Manit0u wrote:
Show nested quote +
On December 14 2020 17:33 enigmaticcam wrote:
For anyone who likes this kind of thing, adventofcode.com is up for 2020. Finally completed all available problems today.


Sometimes I'm so damn lazy...

+ Show Spoiler [super shitty code for task 2] +


def random_res(ary)
nums = [ary.sample, ary.sample, ary.sample]

return random_res(ary) if nums.uniq.count < 3
return nums
end

def answer(ary)
uniq_ary = ary.uniq

loop do
res = random_res(uniq_ary)

return res.reduce() if res.sum == 2020
end
end


puts answer(report)


LOL.
i code about 100-200 hours a year in PHP. and i take year long breaks between coding sessions. so when i first get back at it i rely on the code editor complaining. when i'm working within some conditional multi-nested monstrosity i include a line in each branch that is a living tribute to Ayn Rand.

$a=$a;

Ray Kassar To David Crane : "you're no more important to Atari than the factory workers assembling the cartridges"
mahrgell
Profile Blog Joined December 2009
Germany3943 Posts
December 14 2020 19:29 GMT
#20531
Well, if you are looking for amusing solutions, I would recommend: https://github.com/betaveros/advent-of-code-golf-2020

His solutions are also at the bottom of the readme and looks as nice as day 3.1
a{W~\‹#\Ig~M\u]$p}#
enigmaticcam
Profile Blog Joined October 2010
United States280 Posts
December 14 2020 20:28 GMT
#20532
I'm always impressed by the single-digit line solutions to these problems. Usually pretty verbose in mine :D
Manit0u
Profile Blog Joined August 2004
Poland17741 Posts
Last Edited: 2020-12-15 04:30:24
December 15 2020 04:20 GMT
#20533
Code golf is a travesty in my eyes. It's like the evil twin brother of spaghetti code.

My solution wasn't funny because of brevity but because of algorithm (or lack thereof) used: it basically picks 3 non-duplicate numbers from an array at random and checks if they sum to 2020 until it finds a match

You can optimize it with memoization etc. but I'm lazy.
Time is precious. Waste it wisely.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
December 15 2020 05:04 GMT
#20534
Code golf can definitely be dangerous to teach you the wrong habits. I think almost all code you write in your free time should be stuff you find interesting, but it should almost always be "proper" code. Otherwise it's like practicing your baseball swing incorrectly on purpose. You're just going to make it harder to do it properly.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
mahrgell
Profile Blog Joined December 2009
Germany3943 Posts
December 15 2020 07:40 GMT
#20535
Thats like saying motor sport teaches you to ignore traffic rules and sudoku makes you unable to handle numbers with more than one digit...
You can safely assume every code golfer using those golf languages (or writing their own like that guy, who btw is also leading the current AoC, obv not with golfed solutions) knows the difference between proper code and golf and also considers golfing a completely different discipline.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
December 15 2020 14:18 GMT
#20536
Oh, I'm sure they're capable. What I'm saying is that they're getting rewarded for unclear, but short, solutions. This incentivizes them more and more to write terse, unclear solutions, and makes them much more familiar with that sort of code, meaning they'll use it in actuality more, making their code worse to work with.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
JimmyJRaynor
Profile Blog Joined April 2010
Canada17486 Posts
Last Edited: 2020-12-15 16:02:44
December 15 2020 15:57 GMT
#20537
On December 15 2020 23:18 WarSame wrote:
Oh, I'm sure they're capable. What I'm saying is that they're getting rewarded for unclear, but short, solutions. This incentivizes them more and more to write terse, unclear solutions, and makes them much more familiar with that sort of code, meaning they'll use it in actuality more, making their code worse to work with.

This phenomenon can be a form of turf protecting that I've seen on several occasions.

Sometimes the employer and the coder are on very bad terms and this is the employee's way of submarine-ing the project.

The impossible to detect method of submarine-ing a project is to use some cutting edge unproven tech. Like say, .NET Core 1. If you suspect .NET Core 2 will be really solid this can be a path to higher pay and an abundance of work in the future.
Ray Kassar To David Crane : "you're no more important to Atari than the factory workers assembling the cartridges"
Acrofales
Profile Joined August 2010
Spain18285 Posts
December 17 2020 09:26 GMT
#20538
On December 16 2020 00:57 JimmyJRaynor wrote:
Show nested quote +
On December 15 2020 23:18 WarSame wrote:
Oh, I'm sure they're capable. What I'm saying is that they're getting rewarded for unclear, but short, solutions. This incentivizes them more and more to write terse, unclear solutions, and makes them much more familiar with that sort of code, meaning they'll use it in actuality more, making their code worse to work with.

This phenomenon can be a form of turf protecting that I've seen on several occasions.

Sometimes the employer and the coder are on very bad terms and this is the employee's way of submarine-ing the project.

The impossible to detect method of submarine-ing a project is to use some cutting edge unproven tech. Like say, .NET Core 1. If you suspect .NET Core 2 will be really solid this can be a path to higher pay and an abundance of work in the future.

Combined with your earlier messages, this sounds like first-hand experience

Anyway, just as I don't think Hamilton tries to stop people from passing while driving 200+ km/hour in British traffic, I don't think code golfers confuse their hobby with their job as coders.
WarSame
Profile Blog Joined February 2010
Canada1950 Posts
December 17 2020 14:15 GMT
#20539
Exactly what I was thinking, sounds a little to accurate to not be first-hand

I don't think they'd confuse it, but I would imagine pro drivers might mix in moves that are either street-illegal or dangerous on the street because their surrounding drivers have no idea what's going on.
Can it be I stayed away too long? Did you miss these rhymes while I was gone?
JimmyJRaynor
Profile Blog Joined April 2010
Canada17486 Posts
January 18 2021 15:28 GMT
#20540
On November 20 2020 04:17 WombaT wrote:
Show nested quote +
On November 20 2020 03:29 JimmyJRaynor wrote:
On November 19 2020 21:33 Manit0u wrote:
Lazy devs. Devs that think they're super clever when they're not and are trying super hard to create code that only smart people like them will understand. And devs that perhaps think that if they write unintelligible spaghetti code they will become indispensable and they'll be able to work on it for years on end. Beats me.

I call that 'turf protecting'. I prefer to constantly expand my turf so if i lose some of it.. who cares. Developers that do that crap have self confidence issues. If you are reliable, hard-working, know how to play the game of internal political BS while having only average talent ... there will always be a spot for you.

The more talented you are.. the more you can fuck around and get away with it.
On November 19 2020 21:00 WombaT wrote:
On November 19 2020 19:53 Manit0u wrote:
The loops with exception control flow was a piece of software written in Java and used by national airlines...

I have some PHP horror stories too if you want

I've seen a 30k lines of code class being extended several times and each class that extended it had 15-30k lines of code and was itself extended by similarly large classes, each calling parent's constructor at different points in their own constructors.

I've had to reverse engineer 5k lines of code script written by non-programmer that was full of global variables that stored data in arrays that were being manipulated, reversed and overridden in multiple nested loops etc. etc.

Hey at least that gave you something to do.

How the fuck do such things happen haha?

I notice you are changing careers.. so this is an honest respectful question sir..
Have you ever worked in an IT department before? Do you know someone who has?
i guess not?

Dude, most IT departments could start their own puppy farm with the amount of dog-fucking that goes on.

For about 30% of the year when I'm in hermit-coder-mode I produce a lot and I learn a lot. For a good portion of the other 70%... I'm just dicking around. Like right now.

Most of my close friends are software engineers, actually was them that thought it would suit my particular brain and got me pondering the option. Won’t go into the dear diary aspects of why I’m rather underemployed mind, depressing enough held in my brain never mind shared.

My ‘how the fuck?’ more springs from confusion and exasperation than any kind of surprise, although I usually reserve it for HR departments


i'm not sure how far along you are in becoming a software developer.. however.. you might find this guy on youtube informative..


if you are at a beginner level i recommend codepen and some starter javascript projects...



Ray Kassar To David Crane : "you're no more important to Atari than the factory workers assembling the cartridges"
Prev 1 1025 1026 1027 1028 1029 1032 Next
Please log in or register to reply.
Live Events Refresh
Next event in 5m
[ Submit Event ]
Live Streams
Refresh
StarCraft: Brood War
Horang2 2405
firebathero 574
Zeus 296
Shine 259
PianO 181
Leta 152
ToSsGirL 115
Larva 113
Killer 95
EffOrt 93
[ Show more ]
Dewaltoss 88
Aegong 78
Soma 75
910 59
Backho 44
Hm[arnc] 43
Sharp 40
JulyZerg 27
scan(afreeca) 13
NaDa 11
NotJumperer 10
HiyA 9
hero 7
Dota 2
monkeys_forever297
NeuroSwarm163
XcaliburYe3
League of Legends
JimRising 507
Counter-Strike
Stewie2K1454
edward202
Other Games
summit1g7579
gofns7420
Happy355
C9.Mang0284
Sick232
crisheroes155
Organizations
Other Games
gamesdonequick802
Dota 2
PGL Dota 2 - Main Stream84
StarCraft: Brood War
UltimateBattle 29
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 16 non-featured ]
StarCraft 2
• Adnapsc2 13
• LUISG 12
• CranKy Ducklings SOOP2
• AfreecaTV YouTube
• intothetv
• Kozan
• IndyKCrew
• LaughNgamezSOOP
• Migwel
• sooper7s
StarCraft: Brood War
• BSLYoutube
• STPLYoutube
• ZZZeroYoutube
League of Legends
• TFBlade1620
• Jankos1081
• Stunt507
Upcoming Events
Replay Cast
5m
CranKy Ducklings9
RSL Revival
1h 5m
Classic vs GgMaChine
Rogue vs Maru
WardiTV Invitational
2h 5m
Percival vs Shameless
ByuN vs YoungYakov
SC Evo League
5h 5m
IPSL
7h 5m
Ret vs Art_Of_Turtle
Radley vs TBD
BSL
10h 5m
Replay Cast
15h 5m
RSL Revival
1d 1h
herO vs TriGGeR
NightMare vs Solar
uThermal 2v2 Circuit
1d 5h
BSL
1d 10h
[ Show More ]
IPSL
1d 10h
eOnzErG vs TBD
G5 vs Nesh
Patches Events
1d 15h
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
OSC
5 days
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.