Chastity’s Chess Blog

  • WordPress Friendly Chess Table

    a b c d e f g h
    8 r n b q k b n r
    7 p p p p p p p p
    6
    5
    4
    3
    2 P P P P P P P P
    1 R N B Q K B N R

    This is an example of custom written HTML for a table representing a Chessboard. This version does not use CSS and instead styles every single element individually. The reason is because I am unable to control the CSS of WordPress the way I want. This should work for embedding a table of a Chessboard into any WordPress post I want. Creating an HTML table is an idea I had to save disk space if I were to make a personal database of Chess positions and my thoughts on various moves.

    There are other ways to make a text form of a Chess board. For example, consider this table made using Markdown:

    a b c d e f g h
    8 r n b q k b n r
    7 p p p p p p p p
    6
    5
    4
    3
    2 P P P P P P P P
    1 R N B Q K B N R

    The Markdown code that makes the above table is:

    ||a|b|c|d|e|f|g|h|
    |:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
    | 8 | r | n | b | q | k | b | n | r |
    | 7 | p | p | p | p | p | p | p | p |
    | 6 |   |   |   |   |   |   |   |   |
    | 5 |   |   |   |   |   |   |   |   |
    | 4 |   |   |   |   |   |   |   |   |
    | 3 |   |   |   |   |   |   |   |   |
    | 2 | P | P | P | P | P | P | P | P |
    | 1 | R | N | B | Q | K | B | N | R |
    

    However, the Markdown version, although it displays fine when viewed on Github, does not play well with WordPress. Therefore, the HTML version at the top of this post is much more reliable for WordPress posts.

    Reading the code on the other hand is another story! The following HTML code made the table at the very top of this post.

    <table style="width: 720px;height: 720px;border: 1px solid black;border-collapse: collapse">
    
    <tbody>
    
    <tr>
    <th style="text-align: center"></th>
    <th style="text-align: center">a</th>
    <th style="text-align: center">b</th>
    <th style="text-align: center">c</th>
    <th style="text-align: center">d</th>
    <th style="text-align: center">e</th>
    <th style="text-align: center">f</th>
    <th style="text-align: center">g</th>
    <th style="text-align: center">h</th>
    </tr>
    
    <tr>
    <th style="text-align: center">8</th>
    <td style="text-align: center;border: 1px solid black">r</td>
    <td style="text-align: center;border: 1px solid black">n</td>
    <td style="text-align: center;border: 1px solid black">b</td>
    <td style="text-align: center;border: 1px solid black">q</td>
    <td style="text-align: center;border: 1px solid black">k</td>
    <td style="text-align: center;border: 1px solid black">b</td>
    <td style="text-align: center;border: 1px solid black">n</td>
    <td style="text-align: center;border: 1px solid black">r</td>
    </tr>
    
    <tr>
    <th style="text-align: center">7</th>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    <td style="text-align: center;border: 1px solid black">p</td>
    </tr>
    
    <tr>
    <th style="text-align: center">6</th>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    </tr>
    
    <tr>
    <th style="text-align: center">5</th>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    </tr>
    
    <tr>
    <th style="text-align: center">4</th>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    </tr>
    
    <tr>
    <th style="text-align: center">3</th>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    <td style="text-align: center;border: 1px solid black"></td>
    </tr>
    
    <tr>
    <th style="text-align: center">2</th>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    <td style="text-align: center;border: 1px solid black">P</td>
    </tr>
    
    <tr>
    <th style="text-align: center">1</th>
    <td style="text-align: center;border: 1px solid black">R</td>
    <td style="text-align: center;border: 1px solid black">N</td>
    <td style="text-align: center;border: 1px solid black">B</td>
    <td style="text-align: center;border: 1px solid black">Q</td>
    <td style="text-align: center;border: 1px solid black">K</td>
    <td style="text-align: center;border: 1px solid black">B</td>
    <td style="text-align: center;border: 1px solid black">N</td>
    <td style="text-align: center;border: 1px solid black">R</td>
    </tr>
    
    </tbody>
    
    </table>
    

    When considering the difficulty of getting a workable table to display on my blog, you may wonder why I bother? Consider the following image which is the equivalent starting position of Chess.

    Obviously, this image looks better than the lame table at the top of this post, but it comes with a few downsides.

    First, the amount of time it takes to load up inkscape, move the pieces around for the image, choose a file name to save as, upload the file to my WordPress media account, and then write a Markdown link to the image is far more than the time it takes to edit the HTML code to mode the pieces of text around.

    Second, linking to image files adds the dependency of external files existing and the internet connection working. By keeping the table as plain text, it allows me to work offline and save time and space in the creation of the image and my explanations of that position.

    Therefore, I have decided to use the HTML table method for some time as I build content for my next Chess book. However, it will not be done any time soon. The first book was for beginners, but the next book will hopefully be for the more advanced and skilled player.

    Also, if you haven’t already, go read my first book, Chastity’s Chess Chapters.

  • Chess Start Position

    a b c d e f g h
    8 r n b q k b n r
    7 p p p p p p p p
    6
    5
    4
    3
    2 P P P P P P P P
    1 R N B Q K B N R

    What you see above is an HTML table representation of a Chess board. It is not perfect, but it is a convenient way to avoid the use of images when creating documentation on different Chess positions. Using plain text saves a lot of space compared to the space required to make millions of Chess images for every possible move. The white pieces are represented with capital letters and the black by lowercase letters.

    Of course, I don’t intend to document every move that could occur in every Chess game. Instead, I want to cover those that happen in real games with humans. The idea is approximately one blog post per day where I analyze the board from my human perspective and then write what I think the best move is.

    Unlike a Chess engine, I can explain the reason for my moves in a position. This could be used for future Chess books after I have written good explanations of why I recommend a move in a given position.

    In any case, my recommended move from the starting position will always be d4, which means move the pawn in front of the white queen to d4.

    Later on, I may cover openings starting with e4, but because they are too popular and overused, I will be sticking with my openings beginning with d4. The idea is one post per day because this is a small step that is easy to fit into my busy schedule.

    Unfortunately, my table does not display on WordPress the way it does on other sites like Github. I am working on ways to resolve this with HTML or CSS but my needs are very specific and this may take time.

  • I Will Survive

    Today’s post is not exactly Chess related other than the fact that this checkered dress I bought 7 years ago was purchased because I am obsessed with Chess and the pattern of the Chess board. My skills are not only limited to playing Chess and writing books. I also like to dance to all kinds of music. Enjoy this silly video of me dancing to “I Will Survive” by Gloria Gaynor.

  • How to Filter Chess Games by Checkmates and Length

    When I first began playing Chess, I was obsessed with the Scholar’s Mate, which is when white wins the game in only 4 moves. Such occurrences are quite rare when playing against experienced players. However, I recently began thinking about how checkmates in under a certain number of moves could be useful.

    If a game is won in very few moves, there is a high chance that the winning player did not make any mistakes. Also, in certain arena tournaments, the winning player of the tournament is who has the most points by winning more games. Those who know how to win games in fewer moves can simply get more wins in the same amount of time.

    Therefore, I have written some instructions for using pgn-extract to find games with a certain number of maximum moves. I have previously mentioned how useful this command line tool is. If you download your own database of games from lichess.org, you can use my example commands by simply changing the names of the files and your username in the commands to find the games you have won the fastest.

    How to Find Checkmates

    the “–checkmate” flag is used to only output games that end in a checkmate instead of a resignation or a stalemate. See the example commands here.

    This first command takes all of the games where chastitywhiterose was the white player and won the game by checkmate.

    pgn-extract -Twchastitywhiterose -Tr1-0 lichess_chastitywhiterose.pgn -ochastitywhiterose_white_wins_lichess.pgn --checkmate

    The second does the reverse and finds every time that chastitywhiterose played as black and then black won the game by checkmate.

    pgn-extract -Tbchastitywhiterose -Tr0-1 lichess_chastitywhiterose.pgn -ochastitywhiterose_black_wins_lichess.pgn --checkmate

    How to Find Quick Checkmates

    The documentation for pgn-extract shows that you can limit the length of games matched in database. By combining the “–checkmate” flag and the “–maxmoves” flag with a number as an option, you can find all the checkmates that happen up to that number of moves.

    https://www.cs.kent.ac.uk/people/staff/djb/pgn-extract/help.html#move-bounds

    For example, this command finds all my checkmates with white which happen in 10 moves or less.

    pgn-extract -Twchastitywhiterose -Tr1-0 lichess_chastitywhiterose.pgn -ochastitywhiterose_white_wins_lichess.pgn --checkmate --maxmoves 10

    And this does the same with black checkmates of 10 moves or less.

    pgn-extract -Tbchastitywhiterose -Tr0-1 lichess_chastitywhiterose.pgn -ochastitywhiterose_black_wins_lichess.pgn --checkmate --maxmoves 10

    Because I am someone who usually plays the Queen’s Gambit opening as white and the French Defense as black, very few of my games end this quickly. My play style is to slowly wear my opponent down in a long classical game. But perhaps your style is to take your opponents down quickly before they even know what happened!

    I suggest downloading and installing the pgn-extract tool and placing the path to it in your system settings so you can run commands to extract your best wins.

    My own purpose in this is to identify games that I have played which are high quality enough to include in a future Chess book. Fast wins are quite satisfying.

  • How The Chandler Caterpillar Evolved into a Chastity Butterfly

    Chastity’s Journey into a career in writing began in 2013 when she published a book titled “Confessions of a Confused Virgin”. This book project was intended to teach Chastity about the process of self-publishing a book so that she could help her mother, Judena Klebs, publish the books she had written.

    However, the people on Facebook enjoyed Chastity’s different points of view on dating, marriage, and sex. After that, Chastity started blogging on a WordPress blog about whatever she had on her mind at the time. Eventually, these small posts became content for future books she would publish.

    The majority of her writing was a series of conversations she had with a unicorn in a dream. The series remains forever published as “Chandler’s Honesty” because Chandler is her legal name even though she is known by her preferred name of Chastity White Rose. Unlike most transgender people, Chastity does not consider Chandler to be a “dead name” but instead a name of historical importance as she evolves from a caterpillar to a butterfly and yet remains the same person.

    butterfly.png

    Chastity is a simple person who prefers playing Tetris or Chess much more than writing. However, she began a project in Pride month of 2025 with a focus on educating the public about the LGBTQIA+ community that is different than the hype you would hear from mainstream media.

    Chastity graduated with a Creative Writing Degree in July of 2025 after attending Full Sail University as an online student while working full-time at Walmart in Lee’s Summit, Missouri.

    Her best paperback books and ebooks can be purchased from Amazon, Apple Books, Google Play books, and many others. These works cover a range of topics, such as opinions on politics or religion, her Journey as an Asexual Transgender woman (Chandler’s Honesty), and even a 100-page book about the board game of Chess (Chastity’s Chess Chapters).

    But beyond writing books and blog posts, Chastity is offering services to help others write and publish their books, blogs, and websites. Those who have a story to tell but who may not be as technologically inclined may benefit from her experience using Kindle Direct Publishing, Draft2Digital, WordPress, and writing content with Markdown and HTML.

    Chastity writes on two main websites that she pays to keep free of ads and distractions.

    You can also follow her author profiles for updates on the latest books she publishes.

  • 4 Chess Wins in a Row

    Because I have not had the time to write much about Chess recently due to finishing school, moving, and still working full-time at Walmart, I would like to instead share a recent video from my Twitch stream. I don’t save every stream but this one was special because it was my first real Chess stream since I moved to my new house.

    I have 5 roommates, one of which has even asked me to teach him Chess! I told him that is one of the things I do best.

    I was very tired while playing this, but I really needed to play some Chess because I don’t get enough fun during the week. I made a few mistakes in these games, but my calculations and trickery were higher than usual. I won all 4 Chess games during this stream.

    I am living in my new home, and I think my Chess focus is better here. – Watch the next live at https://www.twitch.tv/chastitywhiterose

    After I finish this final month of school, I hope to make more time for my regular fun Chess streaming in addition to writing on my blogs more.

  • Rate my Resume

    Today I take a small break from my usual Chess content with a few announcements and a request from my readers.

    First, I will soon be graduating from Full Sail University with my Creative Writing degree. Second, I will be moving to a new place where I will be renting a room in a 6-bedroom house with 5 roommates. Each tenant, myself included, has their own separate lease with the property management. I am a little bit nervous about it, but I am doing it for financial reasons of needing to save on rent to pay off my student loans.

    And that is not all. I also have been having Zoom meetings with Career coaches, who are guiding me in the direction of finding work as a writer. Part of my homework is to create a Technical Writing resume. I have spent quite some time over the past few weeks trying to make a resume that captures not only my writing skills but also my Chess teaching and video creation skills. I am sharing it in this post in the hopes that anyone who reads this blog can give me some feedback on it. I need to know how it looks to other humans instead of just what the AI on Indeed and vmock say about it.

    Please leave me comments on what you like or dislike about my resume. If you were an employer looking to hire someone to write about whatever your product or service is, would my skills qualify me?

  • Deleting Duplicate Chess Games from a Database

    On my machine, I have two files. The All_white.pgn and All_black.pgn files are the files which contain wins for white and black for my favorite openings. However, because they were extracted from popular free Chess databases, there may be duplicate games.

    Therefore, I used these commands to reprocess them and remove extra games with the exact same move sequences. This will save disk space but also time loading them into ChessX.

    Commands to remove dupes

    pgn-extract All_white.pgn -oAll_white-noduplicates.pgn -D

    pgn-extract All_black.pgn -oAll_black-noduplicates.pgn -D

    After the process was done, I then deleted the original files with the duplicates because they were no longer necessary. If I update the entire database with more sources and openings, I will need to repeat this process though.

    More specifically, this database on my machine, while not yet open to the public, is based upon the downloadable sources included in En Croissant. All I did was download them, export them to .pgn files, and then sort them according to these openings. Therefore, anyone could create the same thing with this information.

    The Queen’s Gambit

    1. d4 d5 2. c4

    The London System

    1. d4 d5 2. Bf4

    The Indian Defense

    1. d4 Nf6

    The French Defense

    1. e4 e6

    The Sicilian Defense

    1. e4 c5

    These openings were chosen because of their popularity and my preference. Interestingly, I did not include the Caro Kann because my preference is for the French Defense and I don’t want to divide my attention when studying openings any more than I already have.

    For more information on using pgn-extract to manage Chess databases, I recommend the official pgn-extract documentation.

  • Chapter 11: Song Lyrics

    Besides writing about Chess in this book, I also sometimes write poems about Chess which double as song lyrics. The lyrics for my top 3 best songs are below.

    Chastity’s Chess Challenge Lyrics

    [Verse]
    Chastity sat down
    Chessboard in the light
    Pieces in a row
    Ready for the night
    
    [Verse 2]
    Every piece unique
    Knights jump around
    Bishops slide oblique
    Soon the pawns surround
    
    [Chorus]
    Checkmates and castles
    Battles on the squares
    Chastity’s got the tactics
    Winning everywhere
    
    [Verse 3]
    Opponents get nervous
    Rooks move with speed
    Chastity keeps her cool
    Focused indeed
    
    [Verse 4]
    She'll show you the websites
    Where she likes to play
    Just watch her stream highlights
    And you'll learn the way
    
    [Bridge]
    Every move calculated
    Every step so clear
    She's the queen of the board
    No need to fear
    
    [Verse 5]
    We don't always make the best move
    But the point of Chess is to have fun
    If you keep playing you will improve
    You'll believe me when the game is done
    
    [Verse 6]
    Whether you are a powerful queen
    Or just a slow moving pawn
    Soon you'll become a chess machine
    Playing in your dreams from dusk to dawn
    
    [Verse 7]
    Some people call Chess a game
    While others say it's a fight
    Perhaps it's all the same
    The dance of black and white
    
    [Verse 8]
    Chess is for people of every kind
    It doesn't matter who or what you are
    You have all the power in your mind
    Learn to checkmate like a star
    

    Chastity’s Chess Chapters Lyrics

    I was trying to inspire people to play chess
    My plans were good, but the execution was a mess
    If people don't know how to start
    Then they will never know that chess is art
    
    I decided to write my own chess book
    With large pictures for people to take a look
    The new player needs some motivation
    Before they even know chess notation
    
    My graphic design was quite berserk
    Most of my time was spent on artwork
    They needed to be the right size
    I failed so many of my tries
    
    I never give up because I am a nerd
    I put my heart into every single word
    I want my readers to understand
    The vision of chess that I have planned
    
    Because chess is not hard to learn
    As long as you do not rush your turn
    It's not a game for the strong or fast
    But for the patient who can outlast
    
    With every piece that you take
    You question if you made a mistake
    The book I write will not mislead
    But you need the patience to read
    
    If there is something I should show
    Then message me and let me know
    The game of chess should always be free
    If you take the time, I know you will agree
    

    Chess for All Lyrics

    [Verse]
    Board is set let's play our game
    Everyone can join the same
    Pieces move their timeless dance
    In chess there's always a chance
    
    [Verse 2]
    Kings and queens on either side
    Pawns advance with humble pride
    No one's left out in this fight
    A game of skill no dark no light
    
    [Chorus]
    Chess for all chess for you
    Every move it's something new
    No matter who or where you are
    In this game we're all a star
    
    [Verse 3]
    Black or white it doesn't matter
    On this board no walls to shatter
    Rich or poor we all belong
    In this fight we're going strong
    
    [Verse 4]
    Even if you've never played
    There's no need to be afraid
    Anyone can learn this game
    That's why chess has so much fame
    
    [Bridge]
    Male or female gay or straight
    At this table no one's late
    Every voice and move unique
    All together we are sleek
    
    [Verse 5]
    Anyone can win this game
    But when you lose feel no shame
    Even masters make mistakes
    All your games are just remakes
    
    [Verse 6]
    Each new player finds their style
    When you find it you will smile
    Books and courses help us learn
    What we need to take our turn
    
    [Chorus]
    Chess for all chess for you
    Every move it's something new
    No matter who or where you are
    In this game we're all a star
    
    
  • Technical Writer

    After publishing my first Chess book, Chastity’s Chess Chapters, I have come to realize that what I was accidentally doing is the start of Technical Writing. When I think about the majority of what I have been reading in my lifetime, I discovered it was not story novels. I am much more likely to be reading a book or a PDF manual written for Open Source Software.

    In the process of writing my Chess book, I depended greatly on the Technical Writing of other people. For example

    These three people were extremely influential to what I needed to learn. The Markdown Guide provided me with the knowledge to separate chapters from paragraphs and link to images which I needed to include in my book. It also pointed me to Gabriel’s blog post about using only open source tools to publish a book. His blog post introduced me to Pandoc, which is a perfect complement to using Markdown as described in the Markdown Guide. These 3 unrelated authors of Technical Writing about how to use these Open Source tools all accidentally worked together in helping me include the images in my own book.

    The end result is that my book, Chastity’s Chess Chapters, is a Technical Writing book about how to play the game of Chess, what software and websites can help, and also some about the process of how the book was made. There were a few Pandoc commands included in the book to remind myself how I did the process of making my book files, but also for the purpose of sharing the information to help other authors write whatever books they want and get them published.

    After speaking with Career Coaches Susan Smey and Mary Helen Norris, I am starting to see that a Technical Writer is what I am becoming without even trying. The kind of things that I have been reading and writing have a name. Once you know a name of something, it can be Google searched, and then opportunities are available! I am very excited for what career I may have because of my Full Sail University education and my self taught computer skills.