• Log InLog In
  • Register
Liquid`
Team Liquid Liquipedia
EST 12:53
CET 18:53
KST 02:53
  • 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
The Road to Katowice - 2022/23 Retrospective21Disasterpiece Theater: Soulkey vs sOs (2013-05-21)11WTL 2022 Winter - Regular Season Awards + Wrap-up24WTL Winter - The 2v2 Tour25WTL 2022 Winter - Regular Season Finale7
Community News
Rex leaves ONSYDE, Ryung joins4[BSL16] - RO16 Group Stage11ESL Open Cup #159: herO, Spirit, Dark win5WardiTV 2023 Opens (Monthly)1IEM Katowice 2023 - Hosts & Commentators34
StarCraft 2
General
5.0.11 Patch Released - Balance Changes Interview with RuFF at Dreamhack Atlanta 2022 IEM Katowice 2023 - Hosts & Commentators Serral leaves ENCE, joins Basilisk Rex leaves ONSYDE, Ryung joins
Tourneys
NorCal StarFest I [Alpha Pro Series] MaxPax vs ByuN WardiTV 2023 Opens (Monthly) $5000 #PassionCraft Knockout TournyCraft free tourny management web app
Strategy
Custom Maps
[A] (Minigames) Raynor Party [A] [TPS RPG] Transformers: Open World (WIP) Work In Progress Melee Maps
External Content
Mutation # 354 Media Blackout Mutation # 353 Hostile Territory Mutation # 352 Railroad Switch Mutation # 351 Assembly of Vengeance
Brood War
General
BGH auto balance -> http://bghmmr.eu/ Custom Campaign Upload UMS maps by GrizzleSyndrome BW General Discussion SC Gathering 2023 Stockholm 13-14th may!
Tourneys
New Worlds Map Contest III: All Submissions (VOTE HERE) [Megathread] Daily Proleagues [BSL16] - RO16 Group A - Saturday 18:00 CET Sanpao StarLeague Spring Cup S4 : Korea
Strategy
Marine rate of fire Simple Questions, Simple Answers Valkyrie dmg formula? 2v2 Spell Combos
Other Games
General Games
Final Fantasy XIV Fire Emblem Destiny 2 - PC/Xbox/PS4 Frost Giant announce Stormgate World of Warcraft Classic
Dota 2
[DPC 23] Tour 1 Discussion Official Dota and Chess General Discussion
League of Legends
[Spring 2023] LoL E-sports General Discussion LiquidLegends to reintegrate into TL.net [Patch Notes] Release General Discussion
Heroes of the Storm
HotS: WP and Funny Moments
Hearthstone
TL Mafia
TL Mafia Plays: Diplomacy TL Mafia Community Thread
Community
General
Russo-Ukrainian War Thread Coronavirus and You US Politics Mega-thread YouTube Thread UK Politics Mega-thread
Fan Clubs
The Flash Fan Club The GoOdy Fan Club The TY Fan Club
Media & Entertainment
Anime Discussion Thread [TV] HBO The Last Of Us series Korean Music Discussion [Manga] One Piece Movie Discussion!
Sports
2022 - 2023 Football Thread TeamLiquid Health and Fitness Initiative For 2022 2021 NFL/CFB Season NBA General Discussion
World Cup 2022
FIFA World Cup 2022 - Knockout Stage FIFA World Cup Qatar 2022 Thread
Tech Support
Left control suddenly mutes volume Red text blurry and funky blue on black text Which Gaming Laptop Should I Buy?
TL Community
Ask TL Staff Anything Happy Birthday R1CH! Is there a SQSA thread for this site?
Blogs
Hosting/casting tournies for t…
Trozz
It's that time of year YET A…
Umpteen
I'm still around doodling and…
Glider
Someone Crashed my Plane …
micronesia
A spiritual journey th…
mewithoutDrew
The Kitty Arcade Saga
MrBitter
My Goals for 2023
DeNikSSB
State of StarCraft II
Jealous
Customize Sidebar...

Website Feedback

Closed Threads



Active: 1281 users

Aligulac.com changelog and feedback thread

Forum Index > SC2 General
Post a Reply
1 2 3 4 5 32 33 34 Next All
TheBB
Profile Blog Joined July 2009
Switzerland5133 Posts
Last Edited: 2013-07-01 21:28:03
March 20 2013 10:31 GMT
#1
What's this

Aligulac.com is an ongoing statistical project and website in development started in December 2012. It offers a comprehensive database of games from the pro and semipro SC2 scenes, as well as a unique rating system aimed at rating players and teams, and predicting games.

The FAQ might be able to answer your questions. If not, I'll be keeping an eye on this thread so you can ask away here. This thread is also for suggestions and feedback.

Changelog

+ Show Spoiler [2013-07-01] +
Added a performance difference chart to the balance reports page.

Slightly reduced sensitivity for new players to dampen some of the rating artifacts.

Fixed #67: Number of games now displayed in the balance report chart.

Fixed #61: Players' match histories now load much faster after ditching links to each event and the individual ratings.

+ Show Spoiler [2013-06-21] +
All-time rating chart feature thanks to Arzar!

+ Show Spoiler [2013-06-01] +
Stories: yellow dots on players' rating charts to show important career events. Also red dots for team switches.

Added comparison feature to help compare players directly against each other.

Improved error/success/warning/info messages for every page.

Player match history filtering significantly improved.

Condensed the small events lists.

Predictions are now default best of 1.

When searching for events, you can now use quotes to improve results (code S used to match code A because the S matches the S in GSL, now you can write "code s" to get what you want).

URL shortener function for every page. (Button on the bottom.)

Rating algorithm updated. Koreans now start with 1200 points, offline games are weighted a factor 1.5 and we got rid of the need for fake games to avoid infinite performances.

+ Show Spoiler [2013-05-01] +
Prediction format for proleague-style matches now available.

Performance optimisations to the balance report page and players' earnings pages allow these to load much faster.

Rating and earnings lists now filterable by nationalities instead of merely Koreans/non-Koreans.

+ Show Spoiler [2013-03-20] +
Single elimination brackets now support BYEs. This can be used to simulate more exotic types of brackets.

The rating charts now indicate the time of the major balance patches. They are: supply depot before barracks (1.1.2), removal of Khaydarin Amulet (1.3.0), Infestor nerf (1.4.0), Queen range buff (1.4.3) and of course the HotS release.

Matchup statistics now shown for every rating list.

We now have a rank of player earnings. Prize pools are tied to events, so you can see the history of a player, as well. Most of the major prizes should be entered, but the weekly cups are still missing.

+ Show Spoiler [2013-03-07] +
Changed rating system to allow players who play rarely to adjust quicker, and player who play more often to adjust slower. Overall uncertainties increased to compensate for the overall decreased speed of adjustments.

Match listings now have icons indicating whether a match was played on- or offline, and whether it was WoL or HotS.

More information on player, team and event pages. Events now have matchup statistics, homepages and Liquipedia links. Players have earnings and a ratio of offline matches to their total. One interseting thing is the MC number, inspired by the Erdos and Bacon numbers. To get an MC number of one, you have to play an offline match against MC. To get an MC number of two you have to play an offline match against someone with an MC number of one, and so on. MC was chosen because he is the player with the most offline games.

There is a new balance reports page. This will be expanded as we think of more statistics to produce.

Player match histories are now also filterable by game version and type (offline/online). Lifetime head-to-head records are best checked using the results search tool.

Ditched the server-rendered charts for an interactive javascript library.

+ Show Spoiler [2013-02-21] +
Player match histories are now filterable by race, nationality and series length.

URLs are now generally human readable, e.g. http://aligulac.com/players/10-Stephano/ instead of http://aligulac.com/players/10/ (the latter will of course still work).

Ratings are now updated every six hours instead of every two weeks. The periods are still two weeks long, you are just seeing a preview of the next rating list that is kept updated.

The "most specialised" statistics on the rating lists are now weighted towards the top, to provide more relevant results.

The rating system now uses the logistic distribution instead of the normal. This helps accuracy in cases where the skill disparity is large.

General backend optimizations.

+ Show Spoiler [2013-02-06] +
Fixed a serious bug in the model fitting code. The predictive power should be greatly improved.

Everyone can now add games. Publically submitted games are subject to review by the staff. (Staff positions are still open for those interested.)

+ Show Spoiler [2013-01-23] +
Matches are now browsable by events.

Match search function now available. Search by player and event.

Rating adjustment pages now show more information about the rating calculation.

Player search has been heavily improved and applies to the top-right search box, as well as the search functions for predictions and match search. These functions will now search by player tags, team names, player and team aliases, country codes with two or three letters, as well as the commong English names for countries (in cases where these are one word), races (P, T, Z, R=Random and S=Switcher). It's still possible to use player ID lookup if necessary.

Rating lists are filterable by race and nationality.

Menus reorganized.

Created a database statistics page, where you can also download a SQL dump of the whole database (sans ratings and sensitive information).

Rating deviations are now displayed on the player pages.

Improved the player rating chart, showing changes in rating deviation over time.

+ Show Spoiler [2013-01-09] +
Player match history page now available.

Records are now only counted once per player.

Rating list now sortable.

A new "Hall of Fame" page that attempts to assess performance over time. (Whether it succeeds is dubious.)

Team pages and rankings are now available.

The site is now 100% zoomable.

Changed the fonts.

+ Show Spoiler [2012-01-26] +
Modified rating parameters and decreased the volatility somewhat.


Milestones

2013-04-20: Links to Aligulac player profiles on Liquipedia.
2013-03-07: Fewer than 10,000 uncatalogued matches. More than 120,000 games in the database.
2013-03-05: Opening of the official Aligulac twitter @Sc2Aligulac.
2013-02-22: Started using the GitHub issue tracker.
2013-02-14: Interview on ESFIWorld.
2013-01-31: Added a huge number of missing results (thanks, TLPD).
2013-01-21: Source code available on GitHub.
2013-01-23: Two thirds of the database catalogued.
2012-12-26: Added a large number of missing teamleague games.
2012-12-11: Site available to the public for the first time (thanks, SC2Charts).

Contact us
  • This thread.
  • Twitter @Sc2Aligulac.
  • PM. Me.
  • IRC: #aligulac on quakenet.
  • E-mail to evfonn(at)gmail(dot)com.
  • Issue list on GitHub.
  • Pilgrimage to Zürich. I will find you.
Thanks to
  • Programming team: Conti, Otolia, Netbattler, NCzempin, XavierMarchegay.
  • Database maintainers: Conti, kiekaboe, Inflicted, Grovbolle, PhoenixVoid, MasterOfPuppets, Shellshock, TheAmazombie, FrozENDruiD, scisyhp, Tempest, Susurrus, Samantha, KristofferAG.
  • PR manager and tweeter: Grovbolle.
  • Everyone who PMs and e-mails me with suggestions. You're all heard!
+
http://aligulac.com || Barcraft Switzerland! || Zerg best race. || Stats-poster extraordinaire.
TheBB
Profile Blog Joined July 2009
Switzerland5133 Posts
March 20 2013 10:34 GMT
#2
I decided to make a fixed thread for the feature updates and feedback instead of making a new one every two weeks.

If there's still interest, I will keep making the rating updates, but all the other news will go here instead.

Changes from the last two weeks:
  • Single elimination brackets now support BYEs. This can be used to simulate more exotic types of brackets.

  • The rating charts now indicate the time of the major balance patches. They are: supply depot before barracks (1.1.2), removal of Khaydarin Amulet (1.3.0), Infestor nerf (1.4.0), Queen range buff (1.4.3) and of course the HotS release.

  • Matchup statistics now shown for every rating list.

  • We now have a rank of player earnings. Prize pools are tied to events, so you can see the history of a player, as well. Most of the major prizes should be entered, but the weekly cups are still missing. Thanks to Conti for this feature!
http://aligulac.com || Barcraft Switzerland! || Zerg best race. || Stats-poster extraordinaire.
Targe
Profile Blog Joined February 2012
United Kingdom14103 Posts
March 20 2013 10:38 GMT
#3
Please continue to make threads with rating updates!
I love reading those.
11/5/14 CATACLYSM | The South West's worst Falco main
Grovbolle
Profile Blog Joined July 2011
Denmark3802 Posts
March 20 2013 19:01 GMT
#4
I want to encourage people to snoop around the site and report bugs, missing matches, wrong results and just general feedback. I try to interact with people and answer questions on the twitter account, but 140 characters isn't much when you want to answer question regarding statistics.
Lies, damned lies and statistics: http://aligulac.com
StarGalaxy
Profile Joined March 2011
Germany744 Posts
Last Edited: 2013-04-07 13:23:12
April 07 2013 13:21 GMT
#5
i got an error message by typing this in predict:
crazy kt
classic stx

"500: Internal Server Error
An unspeakable awful indescribable horror has occured."

Just letting you guys know. I hope it helps fixing the problem.
Cj hero | Zest
TheBB
Profile Blog Joined July 2009
Switzerland5133 Posts
Last Edited: 2013-04-07 18:57:22
April 07 2013 18:57 GMT
#6
Fixed! Thanks. That one was quite exotic.
http://aligulac.com || Barcraft Switzerland! || Zerg best race. || Stats-poster extraordinaire.
delHospital
Profile Blog Joined December 2010
Poland261 Posts
April 08 2013 20:34 GMT
#7
While searching for Polish players (on a side note, is there a better way than searching for "pl"?) I've noticed that there's Zylcu and a misspelled version of him: Zyclu.
Conti
Profile Joined November 2010
Germany2516 Posts
April 08 2013 20:36 GMT
#8
On April 09 2013 05:34 delHospital wrote:
While searching for Polish players (on a side note, is there a better way than searching for "pl"?) I've noticed that there's Zylcu and a misspelled version of him: Zyclu.

Thanks! Fixed.
TheBB
Profile Blog Joined July 2009
Switzerland5133 Posts
Last Edited: 2013-04-08 20:39:31
April 08 2013 20:39 GMT
#9
On April 09 2013 05:34 delHospital wrote:
on a side note, is there a better way than searching for "pl"?

Well, you should search for "poland" since that way you don't get all the players with "pl" in their name.

I have been wanting to implement search functions that specify which attribute you are after, so you do things like "team:ww country:se" and so on.
http://aligulac.com || Barcraft Switzerland! || Zerg best race. || Stats-poster extraordinaire.
Grovbolle
Profile Blog Joined July 2011
Denmark3802 Posts
April 16 2013 17:46 GMT
#10
Sup TL

Because we love you, we will ask you guys.

With the recent WCS changes, we are working on implementing the GSL/OSL as part of the WCS hierarchy and we are currently discussing whether or not to change the names to something like this:
WCS -> (year) -> (season) -> (region) -> (premier/challenger or Code S/A) -> (qualifiers/main tournament)

Instead of keeping our old GSL 2013 Season X hierarchy. However we are not sure which name to give to GSL since most people still associate WCS KR with GSL Code S/A.

My question is:
Poll: Code S/Code A or Premier/Challenger

Code S/A (28)
 
67%

Premier/Challenger (14)
 
33%

42 total votes

Your vote: Code S/Code A or Premier/Challenger

(Vote): Code S/A
(Vote): Premier/Challenger



Thanks
Lies, damned lies and statistics: http://aligulac.com
monk
Profile Blog Joined May 2009
United States8476 Posts
April 16 2013 17:50 GMT
#11
But my favorite player isn't favored! Your system sucks.

jk, Aligulac is awesome.
Moderator
Grovbolle
Profile Blog Joined July 2011
Denmark3802 Posts
April 16 2013 18:42 GMT
#12
On April 17 2013 02:50 monk wrote:
But my favorite player isn't favored! Your system sucks.

jk, Aligulac is awesome.

I know right?
We should base ranking on popular opinion (1$ per rating point)
Lies, damned lies and statistics: http://aligulac.com
MCXD
Profile Blog Joined February 2012
Australia2738 Posts
Last Edited: 2013-04-16 21:21:45
April 16 2013 21:20 GMT
#13
On April 17 2013 03:42 Grovbolle wrote:
Show nested quote +
On April 17 2013 02:50 monk wrote:
But my favorite player isn't favored! Your system sucks.

jk, Aligulac is awesome.

I know right?
We should base ranking on popular opinion (1$ per rating point)


Some fighting-game communities actually do that for qualitative character tier lists (minus the $1), they get community (or trusted players) to discuss and vote and they take the averages. Obviously it doesn't work for SC2 players because they change in 'skill' constantly and there is thousands of them, but just saying =P

Anyway...

I think you should keep every past GSL event as the old names, Code S and Code A, but start using the Premiere/Challenger name tags from this season onwards. Wherever possible, try to use the official name of a league at the time in the database. It's the fairest way to do it.
Paljas
Profile Joined October 2011
Germany6922 Posts
April 16 2013 21:26 GMT
#14
This is such an awesome project.
Also, you should stay with Code S
TL+ Member
Grovbolle
Profile Blog Joined July 2011
Denmark3802 Posts
April 17 2013 06:44 GMT
#15
On April 17 2013 06:20 MCXD wrote:
Show nested quote +
On April 17 2013 03:42 Grovbolle wrote:
On April 17 2013 02:50 monk wrote:
But my favorite player isn't favored! Your system sucks.

jk, Aligulac is awesome.

I know right?
We should base ranking on popular opinion (1$ per rating point)


Some fighting-game communities actually do that for qualitative character tier lists (minus the $1), they get community (or trusted players) to discuss and vote and they take the averages. Obviously it doesn't work for SC2 players because they change in 'skill' constantly and there is thousands of them, but just saying =P

Anyway...

I think you should keep every past GSL event as the old names, Code S and Code A, but start using the Premiere/Challenger name tags from this season onwards. Wherever possible, try to use the official name of a league at the time in the database. It's the fairest way to do it.


Obviously we wouldn't change the old GSL seasons. This change is in regards to the current GSL and the coming GSL/OSLs
Lies, damned lies and statistics: http://aligulac.com
Wodger
Profile Joined October 2008
Scotland380 Posts
April 18 2013 02:08 GMT
#16
I noticed some errors in your results and tried submitting a correction but it hasn't been updated, I was wondering what the process for correcting errors is?
Grovbolle
Profile Blog Joined July 2011
Denmark3802 Posts
Last Edited: 2013-04-18 09:45:26
April 18 2013 09:44 GMT
#17
On April 18 2013 11:08 Wodger wrote:
I noticed some errors in your results and tried submitting a correction but it hasn't been updated, I was wondering what the process for correcting errors is?

Posting in this thread or tweeting @sc2aligulac

Are you the guy who submitted the zotac results?
We have to look into submissions manually to avoid people making various syntax mistakes etc.

Edit: We are mostly on EU time, so don't expect a fast correction when you post during unfriendly EU times :D
Lies, damned lies and statistics: http://aligulac.com
TheBB
Profile Blog Joined July 2009
Switzerland5133 Posts
April 18 2013 09:48 GMT
#18
Actually there aren't a lot of public submissions, so we rarely check.
http://aligulac.com || Barcraft Switzerland! || Zerg best race. || Stats-poster extraordinaire.
Wodger
Profile Joined October 2008
Scotland380 Posts
April 18 2013 10:44 GMT
#19
WCS 2013 Season 1 Europe Premier Qualifier Day 1 Ro64 Harstem Nomatch 2-0 instead of Harstem Noname 2-0
Monty plays protoss you have him as terran in all the wcs qualifiers
Conti
Profile Joined November 2010
Germany2516 Posts
April 18 2013 10:54 GMT
#20
On April 18 2013 19:44 Wodger wrote:
WCS 2013 Season 1 Europe Premier Qualifier Day 1 Ro64 Harstem Nomatch 2-0 instead of Harstem Noname 2-0
Monty plays protoss you have him as terran in all the wcs qualifiers

Fixed the Harstem/Nomatch match, thanks!

As for Monty, I noticed that, too, but I couldn't find any info on his apparent race switch (He's listed as Terran in TLPD, too. ). He played all the WCS Europe qualifiers. Did he play Protoss in all of them? And did he switch races for HotS? I'm currently not sure how many of his matches I need to switch his race.
1 2 3 4 5 32 33 34 Next All
Please log in or register to reply.
Live Events Refresh
Big Brain Bouts
17:00
Big Brain Bouts #16
Demi vs Ashbringer
Kelazhur vs TriGGeR
Clem vs HeRoMaRinE
RotterdaM1229
IndyStarCraft 228
Liquipedia
[ Submit Event ]
Live Streams
Refresh
StarCraft 2
RotterdaM 1229
IndyStarCraft 228
UpATreeSC 182
TKL 121
StarCraft: Brood War
Calm 4413
Shuttle 1793
firebathero (twitch) 327
Snow 252
Mini 205
ggaemo 164
Soma 147
firebathero 109
EffOrt 106
sas.Sziky 77
[ Show more ]
Hyun 42
sorry 37
Jumperer 18
Dota 2
Gorgc9315
qojqva4220
febbydoto48
Counter-Strike: Global Offensive
fl0m2503
kennyS1590
Foxcn404
x6flipin359
Other Games
Stewie2K5116
singsing3616
hiko2316
Lowko504
ArmadaUGS404
sgares317
Beastyqt307
KnowMe227
Trikslyr134
boxi9899
rubinoeu15
HTOMario2
Organizations
Counter-Strike: Global Offensive
ESL CS:GO B27047
ESL CS:GO23864
Dota 2
PGL Dota 2 - Tertiary Stream8496
Other Games
B2W.Neo2629
StarCraft 2
Esl_sc2233
ESL.tv233
Other Games
BasetradeTV212
Dota 2
BeyondTheSummit140
StarCraft: Brood War
StarcraftVOD3
StarCraft 2
Blizzard YouTube
StarCraft: Brood War
BSLTrovo
[ Show 22 non-featured ]
StarCraft 2
• MindelVK 46
• CrowbarSC2 38
• Aristorii24
• LUISG 9
• Freeedom7
• HolyHit 4
• intothetv
• Poblha
• Kozan
• Alpha X_
• IndyKCrew
• LaughNgamez Trovo
• Laughngamez YouTube
• aXEnki
• Migwel
• Gussbus
StarCraft: Brood War
• G5 6
• Michael_bg 4
• sscaitournament2
• AfreecaTV YouTube
• BSLYoutube
• STPLYoutube
Upcoming Events
PSISTORM Gaming Misc
6h 8m
The PondCast
17h 8m
OSC
18h 8m
Showmatch
21h 8m
BSL: ProLeague
23h 8m
CSO Cup
23h 8m
ESL Pro Tour
1d 9h
BSL: ProLeague
1d 23h
DaveTesta Events
2 days
ESL Pro Tour
2 days
[ Show More ]
ESL Pro Tour
3 days
IEM
4 days
IEM
5 days
IEM
6 days
Liquipedia Results

Completed

KOR-CHN Invitational League 2: Saber vs Mihu
OSC Championship Season 10
NGS Storm Division S6 Qual. 5
BLAST Premier Spring Groups

Ongoing

BSL Season 16
KCM Race Survival 2023 Season 1
KCM Ladies Race Survival 2023 Season 1
Individual Golden League
Strength Challenge 30K
Tournament of Honor
Y.H Spring cup
FS Mania
RISS Season 1
Spring Cup Season 4: Korea
Spring Cup 4: Chinese Qualifier
Spring Cup 4: Chinese Qualifier 1
WTL 2022 Winter
NGS Storm Division S6
ESL Challenger League S44 NA
ESL Challenger League S44 EU
ESL Challenger League S44 AP
IEM Katowice 2023

Upcoming

Hongtu Solo League S5: KOR
ASL Season 15
Spring Cup Season 4
Spring Cup Season 4: China
Spring Cup 4: Chinese Qualifier 2
CHN vs KOR Week31
#PassionCraft Knockout
IEM Katowice 2023
BLAST.tv Paris Major 2023
ESL Challenger Melbourne 2023
BLAST.tv Paris 2023: EU RMR B
BLAST.tv Paris 2023: EU RMR A
BLAST.tv Paris 2023: AME RMR
BLAST.tv Paris 2023: APAC RMR
BLAST Premier Spring AME Showdown
BLAST Premier Spring EU Showdown
ESL Pro League Season 17
CCT Central EU Malta Finals
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 © 2023 TLnet. All Rights Reserved.