• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EDT 13:35
CEST 19:35
KST 02:35
  • 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: Results and Winners7Code S Season 2 (2026): RO4 and Finals Preview12TL.net Map Contest #22 - Voting & Ladder Map Selection7Code S Season 2 (2026) - RO8 Preview8[ASL21] Finals Preview: Two Legacies21
Community News
ZeroSpace at Steam NextFest - Last free demo20Weekly Cups (June 8-14): Clem and Solar double, PTR tested0RSL: S6 Finals played at BlizzCon 202611Douyu Cup 2026: $20,000 Legends Event (June 26-28)12[BSL22] Non-Korean Championship from 13 to 28 June4
StarCraft 2
General
StarCraft II 5.0.16 PTR Patch Notes may 26th Daily SC2 Player Grid - feedback wanted Is the larve respawn broken? Yamato Cup Series What kind of tool would you be interested in?
Tourneys
Douyu Cup 2026: $20,000 Legends Event (June 26-28) GSL CK #4 20-21th June Sparkling Tuna Cup - Weekly Open Tournament Master Swan Open (Global Bronze-Master 2) Crank Gathers Season 4: BW vs SC2 Team League
Strategy
[G] Having the right mentality to improve
Custom Maps
Work In Progress Melee Maps [D]RTS in all its shapes and glory <3
External Content
The PondCast: SC2 News & Results Mutation # 531 Experimental Artillery Mutation # 530 One For All Mutation # 529 Opportunities Unleashed
Brood War
General
Fact based Zerg Upgrade Tier List BGH Auto Balance -> http://bghmmr.eu/ STARCRAFT MOVIE - Last Night at the Command center BW General Discussion Battle cruiser feet vs Carrier fleet
Tourneys
CSLAN 4 is Coming! [Megathread] Daily Proleagues Small VOD Thread 2.0 The Casual Games of the Week Thread
Strategy
Why doesn't anyone use restoration? Simple Questions, Simple Answers Relatively freeroll strategies Creating a full chart of Zerg builds
Other Games
General Games
Beyond All Reason Stormgate/Frost Giant Megathread Nintendo Switch Thread Path of Exile ZeroSpace at Steam NextFest - Last free demo
Dota 2
Looking for a Dota Mentor 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
TL Mafia
Vanilla Mini Mafia
Community
General
US Politics Mega-thread Russo-Ukrainian War Thread [H]Internet/Gaming Cafe Tips and Tricks The Games Industry And ATVI UK Politics Mega-thread
Fan Clubs
The HerO Fan Club! The herO Fan Club!
Media & Entertainment
Movie Discussion! [Req][Books] Good Fantasy/SciFi books [TV/BOOK] *SPOILERS* Game of Thrones Discussion
Sports
2024 - 2026 Football Thread McBoner: A hockey love story TeamLiquid Health and Fitness Initiative For 2023 Formula 1 Discussion Cricket [SPORT]
World Cup 2022
Tech Support
Computer Build, Upgrade & Buying Resource Thread Facing Challenges in Mobile App Development
TL Community
The Automated Ban List
Blogs
ICO Development for AI, G…
Joshlittle
How To Predict Tilt in Espor…
TrAiDoS
An Exploration of th…
waywardstrategy
I'm an arrogant trash talke…
FlaShFTW
Gauntlet SC2: A Retrospectiv…
Ctone23
Customize Sidebar...

Website Feedback

Closed Threads



Active: 6077 users

The Big Programming Thread - Page 751

Forum Index > General Forum
Post a Reply
Prev 1 749 750 751 752 753 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.
zatic
Profile Blog Joined September 2007
Zurich15366 Posts
August 08 2016 13:14 GMT
#15001
On August 08 2016 22:10 WhiteDog wrote:
Show nested quote +
On August 08 2016 21:46 tofucake wrote:
Nah, they usually delete the key after a couple days and it's gone forever

And without the key, uncrypting the files is impossible, even in two or three years ?

Pretty much impossible, yes. You basically would have to wait until quantum computers or something similarly silly are a common thing.

I am afraid you have the option between the 500 bucks and the whiskey.
ModeratorI know Teamliquid is known as a massive building
WhiteDog
Profile Blog Joined November 2010
France8650 Posts
August 08 2016 13:21 GMT
#15002
On August 08 2016 22:14 zatic wrote:
Show nested quote +
On August 08 2016 22:10 WhiteDog wrote:
On August 08 2016 21:46 tofucake wrote:
Nah, they usually delete the key after a couple days and it's gone forever

And without the key, uncrypting the files is impossible, even in two or three years ?

Pretty much impossible, yes. You basically would have to wait until quantum computers or something similarly silly are a common thing.

I am afraid you have the option between the 500 bucks and the whiskey.

I'll buy myself 30€ of marijuana and wash everything up.
"every time WhiteDog overuses the word "seriously" in a comment I can make an observation on his fragile emotional state." MoltkeWarding
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
Last Edited: 2016-08-08 13:47:42
August 08 2016 13:33 GMT
#15003
--- Nuked ---
WhiteDog
Profile Blog Joined November 2010
France8650 Posts
Last Edited: 2016-08-08 13:40:03
August 08 2016 13:38 GMT
#15004
On August 08 2016 22:33 Nesserev wrote:
No back-ups?

Rule 1: Always make back-ups.
Rule 2: Always make back-ups.
...

I have an external hard drive with everything copied on, and various back ups on USBs, but, coincidently, my external hard drive was plugged into my computer and got encrypted too.

My fault anyway, should never have downloaded this shit movie. I was not aware this kind of virus existed too...
"every time WhiteDog overuses the word "seriously" in a comment I can make an observation on his fragile emotional state." MoltkeWarding
Acrofales
Profile Joined August 2010
Spain18323 Posts
August 08 2016 14:34 GMT
#15005
On August 08 2016 21:44 WhiteDog wrote:
I want anybody's advice.

Basically, according to everything I've read, I can't get that data unless I pay the ransom, which is 500 USD (that I don't have). Anybody have some knowledge on the subject and give me his point of view ? It's dead ? Should I keep the datas somewhere ? Or should I format everything, drink some whisky, and accept my idiocy ?

Unfortunately, this is correct. Or you could keep it around and wait for quantum computing to catch up, at which point you can probably decrypt it before the heat death of the universe. But with current tech, that's not possible. Cerber seems to be a nasty piece of work without any obvious workarounds, so you are screwed
Djagulingu
Profile Blog Joined December 2010
Germany3605 Posts
August 08 2016 14:49 GMT
#15006
On August 08 2016 20:08 nnn_thekushmountains wrote:
Show nested quote +
On August 08 2016 17:09 Djagulingu wrote:
On August 08 2016 07:02 nnn_thekushmountains wrote:
I used express and mongodb to make a single page app.
When the page loads, a bunch of information comes from the database through the view (EJS) into static javascript, where it is used.
Google maps does some stuff with the information.
Every 10 seconds, I am POSTing new information back to the server side to be stored in the database.

Is this bad? From the users end, it looks like the page is constantly loading. Do I need to start using websockets (socket.io)?

If you post shit on the UI thread (which you do), user thinks that page is constantly loading.

Solution: Use background threads, in other words, workers.

https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers


This looks like a good solution. The only problem is that my digital ocean $5/month server only has one worker.

That has nothing to do with the amount of workers of the digital ocean $5/month droplets. Those worker threads work on the client side, not on your server. The only thing that your server will do is write the lat-long locations whenever it receives an update.

What will happen on your client is: Client will have seperate threads for UI rendering and updating the server and because of this fact, your browser won't think that you are rendering the UI whenever you update the server.
"windows bash is a steaming heap of shit" tofucake
WhiteDog
Profile Blog Joined November 2010
France8650 Posts
Last Edited: 2016-08-08 16:05:29
August 08 2016 15:55 GMT
#15007
On August 08 2016 23:34 Acrofales wrote:
Show nested quote +
On August 08 2016 21:44 WhiteDog wrote:
I want anybody's advice.

Basically, according to everything I've read, I can't get that data unless I pay the ransom, which is 500 USD (that I don't have). Anybody have some knowledge on the subject and give me his point of view ? It's dead ? Should I keep the datas somewhere ? Or should I format everything, drink some whisky, and accept my idiocy ?

Unfortunately, this is correct. Or you could keep it around and wait for quantum computing to catch up, at which point you can probably decrypt it before the heat death of the universe. But with current tech, that's not possible. Cerber seems to be a nasty piece of work without any obvious workarounds, so you are screwed

Yeah.

Tho I'm cracking up right now. I figured out most of my files where backed up in another old computer (it's a save from last year but it's pretty complete, I just miss my recent work). But I'm receiving mails from colleagues because cerber encrypted the dropbox.

Seriously I was pissed, now I'm just laughing.
"every time WhiteDog overuses the word "seriously" in a comment I can make an observation on his fragile emotional state." MoltkeWarding
emperorchampion
Profile Blog Joined December 2008
Canada9496 Posts
Last Edited: 2016-08-08 16:18:02
August 08 2016 16:15 GMT
#15008
On August 09 2016 00:55 WhiteDog wrote:
Show nested quote +
On August 08 2016 23:34 Acrofales wrote:
On August 08 2016 21:44 WhiteDog wrote:
I want anybody's advice.

Basically, according to everything I've read, I can't get that data unless I pay the ransom, which is 500 USD (that I don't have). Anybody have some knowledge on the subject and give me his point of view ? It's dead ? Should I keep the datas somewhere ? Or should I format everything, drink some whisky, and accept my idiocy ?

Unfortunately, this is correct. Or you could keep it around and wait for quantum computing to catch up, at which point you can probably decrypt it before the heat death of the universe. But with current tech, that's not possible. Cerber seems to be a nasty piece of work without any obvious workarounds, so you are screwed

Yeah.

Tho I'm cracking up right now. I figured out most of my files where backed up in another old computer (it's a save from last year but it's pretty complete, I just miss my recent work). But I'm receiving mails from colleagues because cerber encrypted the dropbox.

Seriously I was pissed, now I'm just laughing.


I think you can recover old file versions from dropbox, they shouldn't be encrypted as well

edit: not really sure how extensive the dropbox file history is, probably not on the level of git. You can try I guess, just go to the web version -> right click file -> previous versions
TRUEESPORTS || your days as a respected member of team liquid are over
WhiteDog
Profile Blog Joined November 2010
France8650 Posts
August 08 2016 16:29 GMT
#15009
On August 09 2016 01:15 emperorchampion wrote:
Show nested quote +
On August 09 2016 00:55 WhiteDog wrote:
On August 08 2016 23:34 Acrofales wrote:
On August 08 2016 21:44 WhiteDog wrote:
I want anybody's advice.

Basically, according to everything I've read, I can't get that data unless I pay the ransom, which is 500 USD (that I don't have). Anybody have some knowledge on the subject and give me his point of view ? It's dead ? Should I keep the datas somewhere ? Or should I format everything, drink some whisky, and accept my idiocy ?

Unfortunately, this is correct. Or you could keep it around and wait for quantum computing to catch up, at which point you can probably decrypt it before the heat death of the universe. But with current tech, that's not possible. Cerber seems to be a nasty piece of work without any obvious workarounds, so you are screwed

Yeah.

Tho I'm cracking up right now. I figured out most of my files where backed up in another old computer (it's a save from last year but it's pretty complete, I just miss my recent work). But I'm receiving mails from colleagues because cerber encrypted the dropbox.

Seriously I was pissed, now I'm just laughing.


I think you can recover old file versions from dropbox, they shouldn't be encrypted as well

edit: not really sure how extensive the dropbox file history is, probably not on the level of git. You can try I guess, just go to the web version -> right click file -> previous versions

It works ! There's tons of files (we're like 20 on this dropbox) to restore tho. Thanks buddy.
"every time WhiteDog overuses the word "seriously" in a comment I can make an observation on his fragile emotional state." MoltkeWarding
emperorchampion
Profile Blog Joined December 2008
Canada9496 Posts
August 08 2016 16:33 GMT
#15010
On August 09 2016 01:29 WhiteDog wrote:
Show nested quote +
On August 09 2016 01:15 emperorchampion wrote:
On August 09 2016 00:55 WhiteDog wrote:
On August 08 2016 23:34 Acrofales wrote:
On August 08 2016 21:44 WhiteDog wrote:
I want anybody's advice.

Basically, according to everything I've read, I can't get that data unless I pay the ransom, which is 500 USD (that I don't have). Anybody have some knowledge on the subject and give me his point of view ? It's dead ? Should I keep the datas somewhere ? Or should I format everything, drink some whisky, and accept my idiocy ?

Unfortunately, this is correct. Or you could keep it around and wait for quantum computing to catch up, at which point you can probably decrypt it before the heat death of the universe. But with current tech, that's not possible. Cerber seems to be a nasty piece of work without any obvious workarounds, so you are screwed

Yeah.

Tho I'm cracking up right now. I figured out most of my files where backed up in another old computer (it's a save from last year but it's pretty complete, I just miss my recent work). But I'm receiving mails from colleagues because cerber encrypted the dropbox.

Seriously I was pissed, now I'm just laughing.


I think you can recover old file versions from dropbox, they shouldn't be encrypted as well

edit: not really sure how extensive the dropbox file history is, probably not on the level of git. You can try I guess, just go to the web version -> right click file -> previous versions

It works ! There's tons of files (we're like 20 on this dropbox) to restore tho. Thanks buddy.


No problem I'm glad to hear it works, this is some scary stuff! Not sure if dropbox has some bulk previous restore function that could help. Make sure to quarantine the infected computer!
TRUEESPORTS || your days as a respected member of team liquid are over
emperorchampion
Profile Blog Joined December 2008
Canada9496 Posts
August 08 2016 16:39 GMT
#15011
Also if you were using OneDrive for your other files you can do similar stuff for recovering those as well.
TRUEESPORTS || your days as a respected member of team liquid are over
-Zoda-
Profile Blog Joined April 2011
France3578 Posts
August 08 2016 17:32 GMT
#15012
Not long ago I saw a guy on twitter who allegedly spoofed a ransomware, manually sending to the bad guy's server a request that said the bitcoins were cashed in, the encryption key came right back.
Maybe you can try something like that if you're good at wireshark. x)
♪ 最初はi つなぐdo それ つまりlife 常に移動 ♪ - IGN: Uhryks
WhiteDog
Profile Blog Joined November 2010
France8650 Posts
Last Edited: 2016-08-08 19:17:27
August 08 2016 18:22 GMT
#15013
I restored all the files in the dropbox ... three hours later ...
I told to the ransom support that I couldn't pay and they offered me a 20 % discount. So nice, such nice guys really. So now I only need to pay for 400 € approximatly. I answered that I was poor and shit, I had no tooth and all, and that I didn't have even one euro to spare. They will certainly listen their hearts and propose me a bigger discount ....
"every time WhiteDog overuses the word "seriously" in a comment I can make an observation on his fragile emotional state." MoltkeWarding
ShoCkeyy
Profile Blog Joined July 2008
7815 Posts
Last Edited: 2016-08-08 18:30:52
August 08 2016 18:29 GMT
#15014
Glad you got most of your stuff back, the rest of it will have to call it a day. Sad though, I hate when I lose files like that... Normally I see ransomware targeted towards companies, since it's $500 for each computer they infect... But Dropbox always saves the day, and I don't typically download movies/music anymore... Also having a Mac helps fight a lot of these viruses/malware off.
Life?
Manit0u
Profile Blog Joined August 2004
Poland17773 Posts
August 08 2016 20:13 GMT
#15015
On August 08 2016 22:33 Nesserev wrote:
No back-ups?

Rule 1: Always make back-ups.
Rule 2: Always make back-ups.


I guess you messed up the quote a bit. The original version is:


There are 2 types of sysadmin:
1. Those who make back-ups.
2. Those who will make back-ups.
Time is precious. Waste it wisely.
bangsholt
Profile Joined June 2011
Denmark138 Posts
August 08 2016 20:38 GMT
#15016
On August 09 2016 03:22 WhiteDog wrote:
I restored all the files in the dropbox ... three hours later ...
I told to the ransom support that I couldn't pay and they offered me a 20 % discount. So nice, such nice guys really. So now I only need to pay for 400 € approximatly. I answered that I was poor and shit, I had no tooth and all, and that I didn't have even one euro to spare. They will certainly listen their hearts and propose me a bigger discount ....


Have a look at this thread, maybe it will help.

https://www.quora.com/How-do-I-remove-cerber-ransomware-virus-and-restore-the-files
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
August 09 2016 00:06 GMT
#15017
--- Nuked ---
bardtown
Profile Joined June 2011
England2313 Posts
Last Edited: 2016-08-09 10:15:51
August 09 2016 10:15 GMT
#15018
I'll probably be here with a bunch of stupid questions over the coming days. Doing a simple voluntary project in Python and I am still, essentially, useless.

I am trying to read data from a .csv file. The example code creates a csv.reader and then uses the following to iterate over rows:

...     spamreader = csv.reader(csvfile, delimiter=' ', quotechar='|')
... for row in spamreader:
... print ', '.join(row)


How can I access rows directly? For example, I want to exclude the first row as it consists of column headers, not actual data. I also want to be able to access individual rows (row 44, for example). Do I need to use this loop to create some dictionary and index them myself, or is there a simpler way? spamreader.row[0] is apparently not a thing.
Nesserev
Profile Blog Joined January 2011
Belgium2760 Posts
August 09 2016 10:44 GMT
#15019
--- Nuked ---
WhiteDog
Profile Blog Joined November 2010
France8650 Posts
Last Edited: 2016-08-09 12:54:51
August 09 2016 12:51 GMT
#15020
On August 09 2016 05:38 bangsholt wrote:
Show nested quote +
On August 09 2016 03:22 WhiteDog wrote:
I restored all the files in the dropbox ... three hours later ...
I told to the ransom support that I couldn't pay and they offered me a 20 % discount. So nice, such nice guys really. So now I only need to pay for 400 € approximatly. I answered that I was poor and shit, I had no tooth and all, and that I didn't have even one euro to spare. They will certainly listen their hearts and propose me a bigger discount ....


Have a look at this thread, maybe it will help.

https://www.quora.com/How-do-I-remove-cerber-ransomware-virus-and-restore-the-files

There is actually a decryptor made by Trend Micro that works partially for cerber v1 (which is what I have). I'm running it right now, but if anybody is as dumb as me, or know someone as dumb as me, then you'll know that there is a partial free solution at the moment.

https://success.trendmicro.com/portal_kb_articledetail?solutionid=1114221

Apparently the cerber encryption is flawed at some point, so you can decrypt the files if the program is able able to find the first file that was encrypted. The more microprocessor you have, the less the decryptor is efficient tho, so funnily enough it is easier to decrypt cerber on a shit PC than on a good one.

CERBER decryption must be executed on the infected machine itself (as opposed to another machine) since the tool needs to try and locate the first infected file for a critical decryption calculation.

Due to the method of decryption for CERBER, the tool may take several hours (average is 4) to complete decryption on a standard Intel i5 dual-core machine. In addition, the encryption logic for CERBER also is built in such a way that the more cores a CPU has, the lower percentage chance of success for the decryption because of its complexity.

Similar to some other types of ransomware encryption, some files may be only partially decrypted and may require a subsequent file repair.
"every time WhiteDog overuses the word "seriously" in a comment I can make an observation on his fragile emotional state." MoltkeWarding
Prev 1 749 750 751 752 753 1032 Next
Please log in or register to reply.
Live Events Refresh
Monday Night Weeklies
16:00
#57
RotterdaM741
TaKeTV 367
TKL 328
IndyStarCraft 150
BRAT_OK 98
SteadfastSC97
HolyHit5
LiquipediaDiscussion
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 741
ByuN 401
TKL 328
Clem_sc2 299
mouzHeroMarine 225
IndyStarCraft 150
BRAT_OK 98
SteadfastSC 97
trigger 24
RushiSC 20
StarCraft: Brood War
Calm 5956
EffOrt 674
Shuttle 577
Mini 428
Soulkey 171
Mong 145
Leta 114
Snow 110
hero 60
Sea.KH 50
[ Show more ]
Sharp 49
Movie 39
scan(afreeca) 27
Rock 16
Sacsri 5
Dota 2
qojqva2091
420jenkins249
Counter-Strike
fl0m2070
Sick190
adren_tv51
Heroes of the Storm
MindelVK16
Other Games
singsing1993
Grubby1114
FrodaN740
Lowko592
Beastyqt573
ceh9532
PiGStarcraft335
C9.Mang0150
KnowMe89
Trikslyr53
Dewaltoss18
OptimusSC21
Organizations
Dota 2
PGL Dota 2 - Main Stream7372
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 17 non-featured ]
StarCraft 2
• mYiSmile110
• Kozan
• LaughNgamezSOOP
• sooper7s
• AfreecaTV YouTube
• intothetv
• Migwel
• IndyKCrew
StarCraft: Brood War
• blackmanpl 4
• FirePhoenix3
• STPLYoutube
• ZZZeroYoutube
• BSLYoutube
League of Legends
• Nemesis2467
Other Games
• imaqtpie394
• WagamamaTV234
• Shiphtur46
Upcoming Events
Sparkling Tuna Cup
16h 25m
The PondCast
1d 16h
Douyu Cup 2020
2 days
Oliveira vs Trap
Jieshi vs XY
soO vs FanTaSy
TY vs Coffee
Douyu Cup 2020
3 days
Neeb vs Impact
MacSed vs Cyan
Scarlett vs Kelazhur
INnoVation vs Dear
Douyu Cup 2020
4 days
Maestros of the Game
4 days
herO vs Classic
Maru vs Serral
BSL22 NKC (BSL vs China)
4 days
Douyu Cup 2020
5 days
BSL22 NKC (BSL vs China)
5 days
Online Event
5 days
[ Show More ]
RSL Revival
6 days
RSL Revival
6 days
WardiTV Weekly
6 days
Liquipedia Results

Completed

Proleague 2026-06-19
WardiTV Spring 2026
Heroes Pulsing #2

Ongoing

IPSL Spring 2026
Acropolis #4
CSCL: Masked Kings S4
YSL S3
BSL 22 Non-Korean Championship
CSL Season 21: Qualifier 1
SCTL 2026 Spring
Maestros of the Game 2
Murky Cup 2026
IEM Cologne Major 2026
Stake Ranked Episode 2
CS Asia Championships 2026
Asian Champions League 2026
IEM Atlanta 2026
PGL Astana 2026
BLAST Rivals Spring 2026
IEM Rio 2026
PGL Bucharest 2026

Upcoming

CSL Season 21: Qualifier 2
CSL 2026 Summer (S21)
CSLAN 4
Blizzard Classic Cup 2026
Kung Fu Cup 2026 Grand Finals
RSL Revival: Season 6
CranK Gathers Season 4: BW vs SC2 Team League
HSC XXIX
Douyu Cup 2026
BCC 2026
Light Tournament 2026
Eternal Conflict S2 Finale
Eternal Conflict S2 E1
Heroes Pulsing #3
BLAST Open Fall 2026
Esports World Cup 2026
BLAST Bounty Summer 2026
BLAST Bounty Summer Qual
Stake Ranked Episode 3
XSE Pro League 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.