CSBA Newsletter
Subscribe to our Newsletter2023 CSBA Newsletter:
2022 CSBA Newsletter:
- 2022 CSBAstat Newsletter - 01 - Data Preparation
- 2022 CSBAstat Newsletter - 02 - Batting Entry Symbols
- 2022 CSBAstat Newsletter - 03 - 2022 season is loaded into CSBAstat (aka Play Ball!)
- 2022 CSBAstat Newsletter - 04 - Roster Movements (Part 1)
- 2022 CSBAstat Newsletter - 05 - Roster Movements (Part 2)
- 2022 CSBAstat Newsletter - 06 - Roster Movements (Part 3)
- 2022 CSBAstat Newsletter - 07 - Scouting The Enemy
- 2022 CSBAstat Newsletter - 08 - Trouble in Googleland
- 2022 CSBAstat Newsletter - 09 - Oh (Big) Brother, Where Are Thou?
- 2022 CSBAstat Newsletter - 10 - Rule Changes
- 2022 CSBAstat Newsletter - 11 - GD4D
- 2022 CSBAstat Newsletter - 12 - Player info
- 2022 CSBAstat Newsletter - 13 - Grids Part 1
- 2022 CSBAstat Newsletter - 14 - Grids Part 2
- 2022 CSBAstat Newsletter - 15 - TypeAhead and Tabbing
2023 CSBAstat Newsletter - 01 - Designated Hitter
2022 CSBAstat Newsletter - 01 - Data Preparation
Do you ever wonder where the CSBAstat data comes from each season? Most of you don't and assume that the elves perform magic a few weeks before the draft.
Here's the elves.
APBA (pitcher grade, steal rating, etc)
Player Images
In September of every active MLB season, Steve runs an internet program called ScrapeStorm to "scrape" MLB data. There are two scrapes:
1. A player salary for the current season
2. A player list for the current season and the associated URL for the player image
Scott Moore then runs a program to copy the JPG from the www and build a spreadsheet of player's name and JPG file name. He wrote the program.
All of this is done before the MLB season ends so that the player image reflects their final team jersey/hat and before the MLB regular season ends..
Player Rosters
The draft produces a spreadsheet of your picks, however bad they may be..
And then the real magic happens with all of the above
It all goes into a multi-tabbed spreadsheet that does a ton of lookups. This results in creating loadable CSV files for CSBAstat.
Alas, the common connection between everything is "player name" ... MLB website and APBA frequently don't match up.
And sometimes, the data is missing from the internet (eg salary) .
More work for Steve...
Team Images
And then there's all those JPGs that reflect the personality of your teams. There is roughly 700-800 of them for each team. They were manually gleaned from the internet over many years.
2022 CSBAstat Newsletter - 02 - Batting Entry Symbols
No foolin'.
If you had read the CSBAstat R8.0 release notes (received May 2021), you would have learned there are new batting entry symbols. And you might have entered them sometime last year.
1. Virtual Earned RBI ("^")
Background: I am sure that everyone has received an audit challenge where a "virtual unearned RBI" (symbol "V") was entered on a play where a "real RBI" cannot be awarded. The audit challenge says that an error must have occurred, so where is it? Sometimes there isn't one.
This new symbol allows a virtual RBI that is not due to an error, thus it is a "virtual earned RBI". To be specific, this can only occur when a run scores on a double play ("G"), a passed ball ("M"), a successful steal of home, a balk, or a wild pitch.
The new symbol is "^", which looks like an upside down "v" on purpose. This is a "virtual earned RBI" and must be entered in those situations, above.
Examples: G^ (batter hit into a double play and an earned run scored ... there is no real RBI on the play)
T^R (batter hit a triple and later scored on a balk ... the run is earned ... there is no real RBI on the play)
TQR^ (batter triples and steals home)
The old "V" symbol still exists ("virtual unearned RBI") .You use it when a run scored after the defense makes an error. Such plays cannot awarded "real RBI".
2. Injury Days ("Z")
Background: There may be times where a player is injured for many, many games. In the past, you had to spread the Y's across multiple entry fields because they are only 10 characters wide.. For example, a player injured for 19 games might get NYYYYYYYYY and NYYYYYYYYY and NY so the Y's totalled up to 19...
The new symbol ("z") represents five injury days, augmenting the continued use of single injury days ("y"). They will work like Roman numerals. That example, above, would be NZZZyyyy and it all fits into one entry field.
2022 CSBAstat Newsletter - 03 - 2022 season is loaded into CSBAstat (aka Play Ball!)
Data is ready to sync into your local database
What's New?
Other
Scott Moore provided a place on the CSBA 'welcome' webpage for Newsletters and will be publishing these emails ... you do not have to store them or line your hamster cage with them.
2022 CSBAstat Newsletter - 04 - Roster Movements (Part 1)
Dear CSBA Guru
Signed, Stupid In Waterloo
-
Dear SIW
First off, I hope you realize that you can do several roster movements for the given date-time. For example, move MacDonald to Demoted, move Blake to Activated, move Fickling to Injured. And only then do you click SAVE ... when you are happy. You should not move MacDonald and save. Then change the time and move Blake and save. etc
The instructions in the HELP window indicate that roster movement is a two mouse click operation:
1. Left-click on the player (to select the guy) .... then
2. Right-depress-and-hold to drag and drop him into the desired status (grid). SHIFT-Left-depress also works.
Oops ... you made a blunder -but- you haven't saved yet:
Suppose you realize that you've moved the wrong player? JUST DRAG&DROP HIM BACK TO THE GRID WHERE HE STARTED
Suppose you realize that you've dropped the correct player into the wrong grid? JUST DRAG&DROP HIM INTO THE CORRECT GRID
Then save...
Ohhhhh nooooo ... I saved the blunder and CSBAstat does not allow me to fix it:
Option1: there is a delete toolbar button. JUST DELETE THAT ENTIRE ROSTER MOVEMENT AND TRY AGAIN. After the deletion, a roster movement from a proximity date-time will display. You will have to change said date-time before you start the re-entry.
Option2: roster movements are chronological by date/time. JUST ENTER ANOTHER ROSTER MOVEMENT AHEAD OR BEHIND THE FAUX PAS.
More on roster movements in the next newsletter. It is a complex subject
2022 CSBAstat Newsletter - 05 - Roster Movements (Part 2)
The roster movement behaves slightly differently depending on how you get to the window....
if you navigate from … |
The roster movement will default to … |
the main CSBAstat window |
today's date with a time of "50". Since you have not preselected a player, there is no default. You’ll have to select a player yourself.
|
any reporting grid with a Roster Movement Update toolbar button |
today's date with a time of "2359" and it will locate the desired player on the Roster Movement grid (Activated, Demoted, etc)
|
the Game Summary Entry, Batting Entry or Game Pitching Entry |
that game's date/time and it will locate the desired player on the Roster Movement grid (Activated, Demoted, etc)
|
If a roster movement date/time is identical to a game’s date/time, then the roster movement is deemed to be “just before first pitch”. Otherwise the roster movement date/time is interpreted to be “between games”.
Take care to make sure that you have the desired date and time so that events are chronological. The data entry windows will check that a player is “Activated” as of game date/time.
If the roster movement date or time is wrong, you can change either of them on the Roster Movement window as long as you haven’t made any drag/drops yet. If you have, just click CANCEL and modify them accordingly.
Have you tried scrolling through your YTD roster movements from the first one of the season? You’ll see your draft selections up to the present. Kinda kool.
2022 CSBAstat Newsletter - 06 - Roster Movements (Part 3)
There are quantity constraints on each grid and they depend on where you are in the season. For example, you can only have a maximum of 26 players on the Activated roster during the first 43 days of the CSBA calendar. But when the "September call ups" happen, you can have 30 players. During playoffs, the constraint is back to 26.
At no time will you be allowed to exceed the limit on a grid. Therefore, if you want to add someone to the full status, you will need to move someone out before adding (on the same date/time).
Oh and there are no limits on the number of players on the IL or demoted to the farm.
All of the roster movements on a given date/time are considered a 'grouping'. Each roster movement 'grouping' generates an English interpretation of the movement.
for example, *Demoted: Lesage,Gary
*Activated: Worse,Someone
There is a small button on every grid that resembles a "quill". Use this to personalize a roster movement for all of the players in that grid's roster movement before or after you have dragged & dropped the players. For example, "plunked by an Allen underhand changeup" or "what idiot drafted this buttock?!?". So have fun with it. It may be the only amusement you get on the diamond all year.
Normally roster movements stay within your team. For example, you move someone to the IL and promote someone be Activated. With trades, both teams see the same English interpretation. For example, "Foley,Jymboo traded to the Lost Sox" and "Smores,Scottito traded to the Vixens"
When you trade a player to another team, he will remain in your roster for the rest of the season. He may have had an at-bat or pitched an inning for you. He will want a World Series ring when you go all the way. You won't be able to use him after the trade because his status will not be Activated.
Aside: Trades are rare but CSBAstat has the support for do-it-yourself TradedIn and TradedOut in place. It just needs to be tested by the contracted Ukrainian QA team. Unsure why, but they are falling behind schedule. For now, Steve inputs the trade for you. Be sure to give him the date/time that you want.
NOTE: I try to make these newsletters about 1 page ... greater chance that you might read them. And they won't completely line the bottom of your budgie's cage.
2022 CSBAstat Newsletter - 07 - Scouting The Enemy
CSBAstat R8.0 (May 2021) introduced a really cool tool.
It is the team scouting report. And it tells you almost everything you need to know about the enemy's weaknesses.
The intent was to generate a one page report that you could print, scrutinize, mark up and bring to the round.
Alas it relies on the enemy having his stats are up to date.
For position players, it shows the enemy's:
- most frequently used players (the main squad), infrequently used players (the bench) and players on the IL
- their significant MLB data and APBA data
It looks for players on the Activated and Injured rosters. It does not show players on "the farm" (Demoted)
It does not show CSBA batting and pitching results because our data sample size is too small to mean anything to the scouts.
For pitchers, it shows the enemy's:
- probable starters for the next 4 games... You can deduce who you may face in the round
- reliever availability over next 4 games … You can see if previous rounds have exhausted the relief corps or if they are as fresh as a daisy
To generate this report
- Navigate to the Reports window and click on the Scouting report
- Change the report filters to the team that you wish to scout
- Change the effective date of the scouting ...the default is 'today' and that should be good enough
- Click on the 'Boy Scout' toolbar button and the generated CSV report will be displayed via Excel
Printing the report
- the report is conveying a pant load of information and space is limited (one page)
- because each manager has different default Excel settings, it might not fit on one page when printed
- the HELP text gives you a tip on how to overcome that. The tip is also at the bottom of the CSV report
Ciao
2022 CSBAstat Newsletter - 08 - Trouble in Googleland
GD4D (Google Drive For Desktop) came out during covid and was designed to replace the Google Bkup & Sync (aka 'Google Drive') that's been around for a long time. Over the past 4 months, Google has been making changes to the way it works. GD4D users cannot refuse or postpone these changes - they just arrive one night. That has recently happened to Scott L, Jim and Joe. Several others received the changest in April.
Alas, it directly affects the CSBAstat managers and ADMIN who had converted to GD4D this year. How so? The changes rendered the software Dead In The Water (DITH2O).
Here's what/why Google made the changes: https://support.google.com/drive/answer/10864219#zippy=%2Cwhat-happens-when-a-shortcut-replaces-a-folder-on-drive-for-desktop
CSBAstat is affected because it can only read files that are physically located on your hard drive. It doesn't care how they got there, For 19 years, reading files was easy breezy lemon squeezy.
The "files" in the new GD4D are "shortcuts" to the cloud. They are not physical files. They become physical files when the user opens the file and this initiates a request to have it downloaded. There is a slight pause but hardly noticeable. Microsoft's 'Windows Explorer' supports it well ... user eyeballs the 'files' in a folder, clicks on one of the 'files', GD4D downloads it and ta-dah ... the 'file' opens.
Good news -- CSBAstat can read the 'files' once they are local on your PC
More good news -- Jim found a way to make them always downloaded, just like before
Bad news -- programming changes are necessary but maybe not as difficult now
For GD4D users, you must wait for R8.4 sometime in the 3rd week of June. Until then, you cannot use the app.
If you are still running the original Google Bkup & Sync, you can still use the app.
2022 CSBAstat Newsletter - 09 - Oh (Big) Brother, Where Are Thou?
Event |
Huh? What just happened? |
What's the log date/time used for? |
What's the filename used for? |
Backup |
A copy of your MDB database was created |
Knowing when YOUR next backup should occur (as specified in your INI ) |
Nothing |
Export |
An export occurred, containing all of the changes made by YOU since the last time you imported |
Nothing |
Nothing |
Import |
An import occurred, containing all of changes made ALL MANAGERS since the last time you imported |
Nothing |
Prevents importing this file more than once |
Signin |
A user logged in |
Your lifetime-to-date usage count is displayed on the main window |
Nothing |
2022 CSBAstat Newsletter - 10 - Rule Changes
Stealing chart updated to permit a wider range of game scores for B thru E SAL runners
Hit & Run chart updated to permit a wider range of game scores for D thru F SAL runners
Clarified CY & MVP voting to be weighted on 5-3-1 basis
Clarified injuries ‘in last round’ to mean ‘your last 4 regular season games, before tie-breaks’
Added new 2020/21 MLB rule for relievers – 3 batter minimum, with exceptions
Starting 2023, draft eligible teams have changed: ¼-finalist teams, Jays, bottom 4 + x random
July 2020
Removed hit-and-run charts; revert to APBA rules for hit-and-run
Clarified emergency farm callup for 6th starter for make-up game from rainout or cancellation
Padding of stats removed in performance rewards section
Match to 1999 note, instead of 2011 notes about reworking of awards
March 2019
Added rainout makeup option
Added round 12 injury reset before playoffs
Updated pitching notes for unrated relievers (NO +/- or other grade improvement benefits!)
June 2018
Updated +/- cap
April 2017
Updated RP full-strength injury durations halved; no impact for hit-by-pitch
Updated sportsmanlike conduct penalties, batter to be plunked as J-2 (or worse)
Updated RP pitching penalties, to allow for pinch-hitting
Updated end-of-season days of rest / tiebreaker days
Updated draft +/- cap; removed starting 2018 draft
Updated draft eligibility – identification of XB players starting 2018 draft
Updated awards – no loonie for most record book entries
Updated rules for league leader qualifications in %-based stats
April 2016
Updated bases empty RP board rules
Updated charts at a glance
April 2015
Updated rules surrounding starting pitcher grade increases
Updated rules surrounding playoff roster registration
Updated rules surrounding extra days between end of season and quarter finals
Updated bases empty RP board rules
Updated charts at a glance2022 CSBAstat Newsletter - 11 - GD4D
2022 CSBAstat Newsletter - 13 - Grids Part 1
2022 CSBAstat Newsletter - 14 - Grids Part 2
Think you know everything about "type-ahead"? The answer is no but soon it will be yes.
The original CSBAstat release (2003) assumed you were lazy data entry clerks. So it reacted to each keystroke in a name entry field to determine if sufficient characters had been entered to uniquely identify a name. This functionality was called "type-ahead". For example, typing characters to locate the player "Jones,Davy" who has a nickname of "Monkees":
j ... not unique (there's another player whose surname starts with J)
jo ... not unique (another jo player)
joN ... yes that is enough characters to uniquely identify "Jones,Davy" as the player and the rest of the full name is filled into the name entry field
Obviously it is scanning every player's name in the roster. But is also looking at every player that has a nickname. Consider:
M ... not unique (there's another player whose surname or nickname starts with M)
Mo ... yes that is enough characters to uniquely identify "Jones,Davy" as the player and the rest of the full name is filled into the name entry field
The upper/lower case doesn't matter. Any character is valid (eg punctuation, numbers, special characters). Just don't enter a blank character.
You can't be expected to remember how many characters are needed to uniquely identify each player. So you kept typing until you were told to stop. Do you remember the years when CSBAstat would automatically tab to the next grid cell and the superfluous characters were entered into the cell? By the way, that functionality was called "automatic tabbing" (or autotab for short). For example:
M ... not unique (there's another player whose surname or nickname starts with M)
Mo ... yes that is enough characters to uniquely Jones,Davy and the rest of the full name is filled in and autotab occurs
Mon ... oh oh ... you're still typing ... 'n' is entered into the next cell
Monk ... oh oh ... you're still typing ...'k' is entered after the 'n'
Along came R8.0 (May 2021) and the functionality "automatic tab delay" (autotab delay) was introduced. The instant that uniqueness was found, all of the characters that you continued to type are thrown away. A miniature "stop sign" flashed on and off as long as you were typing. If enough seconds had passed since your latest keystroke, it decided that it is safe to autotab. And the "stop sign" disappeared.
The autotab delay defaults to 2.5 seconds. But if you are a slow typist, you might want to make it longer by copy/pasting this into your INI file ('n' is a decimal or integer bigger than 2.5):
[FCT_Form_AutomaticTabDelaySeconds]=n
Or if you are a super fast typist, you could make it smaller.