DIMMiN Notes
My working notes related to the development of dimmin.com.
2025-08-30-Saturday
- Updated last D3 Beta Distribution Data Visualization so that the user could alter distribution parameters before sampling / selecting which animation to play
- Pushed Static Files to Production, allowing blog posts to render properly in the Blog App
- Optimized D3 chart widths for mobile view
- Published Mini Martial Artists - Part 2, now available here
- Add a
ResearchPaper
Django Model to theBookNook
app, along with a correspondingResearchNote
object and a Django Management Command to process it
2025-08-29-Friday
- Created the adjustable demo takedown success Beta Distribution chart that the user could interact with
- Created the sampling logic / animation for D3 charts
- Integrated Pixi with D3 animations, chaining them so the output of the D3 Data Visualization then activates a sequence of animations for the Spritesheets.
2025-08-28-Thursday
- Integrated Pixel Art animations into the blog post, storing Spritesheets in S3 via the
/media-proxy/
Signed URL from theconfig/views.py
Django View (which makes retrieving media assets super easy) - Allowed the user to interact with the sprites on click
- Re-wrote the Pixi Javascript so that animations can be easily chained and mapped to different div containers
- Created a versatile
BetaChart
class with D3 that can quickly produce nice Data Visualizations of Beta Distributions with flexible sizing, styling, and number of distributions - Began implementing the first collection of Beta Distribution Data Visualizations and positioning them in the blog post
2025-08-27-Wednesday
- Created correct Spritesheet and Metadata to include all animations
- Validated that all animations were working properly and that metadata properly associated each image with the correct snapshot
- Created a re-coloring script based on my recoloring logic around a base color, used this to create two different composite fighter spritesheets to use in my blog post
- Rendered these fighters in the browser with correct animations using Pixi
- Chained animations so that fighters can elegantly go between different animations / states using Pixi
2025-08-26-Tuesday
- Updated my
WGU MSDADS
vault within the BigBrain App - Collected resources to finish up Mini Martial Artists - Part 2
- Started looking into Javascript libraries that can handle Spritesheets (specifically Pixi integrates directly with Aseprite)
2025-08-25-Monday
- Fixed Redis cache issue in prod, allowing for blog post images to be rendered without problems
- Created a data proxy to serve signed URLs of data directly to D3 for processing Data Visualizations
- Removed clunky iframe implementation of plotly and networkx charts and used js to build interactive Data Visualizations on A Major Problem with a Fort Minor Solution via div tags.
- Fixed CSS styling to more accurately reflect the styling choices I wanted to apply to the images in my Blog App
- Added Responsive Design elements to plotly charts so that they operate (and look good on) mobile
- FINALLY CLOSED OUT ISSUE 29 to take my
dimmin
S3 Bucket private (and all the above craziness I had to fix to get that to work)!
2025-08-24-Sunday
- Started resolving Issue 29, starting by adjusting permissions on S3 Buckets and allowing Signed URLs to be generated on the Backend via boto3.
2025-08-21-Thursday
- Created a Mel Spectrogram visualizing each of the 6 Vietnamese tones. Could serve as an interesting prototype for an additional tonal language learning app or an interesting post for the Blog App.
2025-08-20-Wednesday
- JSON extracted data now populates individual
BookNook/Note
objects - Note uniqueness is enforced on
Book.id
,Note.source_text
,Note.note_type
, andUser.id
- Changes to
Note
objects where they are either created or updated are now tracked within the Django Management Command (apps/booknook/management/commands/booknook_process_enotes.py
) - Updated the display on the Django Admin page so that notes are searchable by
source_text
and filterable byBook.title
as well asNote.note_type
- Pushed changes to the
BookNook
app. - Created another Django Management Command (
apps/booknook/management/commands/booknook_convert_terms.py
) that converted existingTerm
objects into their appropriateNote
objects - Transferred existing propositions / terms to the new generic
BookNook/Note
Django Model. - Used the Django Shell to apply the
booknook_process_enotes.py
command across all books. - Updated the
Book
Django Model'ssave()
method so that enotes are processed whenever they are updated for aBook
. - Created a github issue to reference the duplicate Note updating / re-writing over itself problem later (would make a great first issue if any devs wanted to join me on this project).