Skip to content

Releases: bejranonda/the-not-so-modern-dictionary

v3.1.1: Critical Bug Fixes for Windows Compatibility

08 Oct 15:15

Choose a tag to compare

Version 3.1.1 - Bug Fixes

This release addresses critical bugs affecting Windows compatibility and PDF generation.

Bug Fixes

🐛 PDF Generation

  • Fixed errors in all PDF generators
  • Corrected page calculation logic from to
  • Changed fallback page index from 6 to 7 for valid page reference

🪟 Windows Compatibility

  • Added UTF-8 encoding support for Windows console output
  • Fixed Unicode character display (Thai text and emojis)
  • Updated logger to properly handle non-ASCII characters

📁 File System

  • Fixed font path for NotoSansKhmer-Regular.ttf in legacy generators
  • Ensured output directory is created before writing JSON files
  • Added missing src/utils/requests.py module for remote management

Files Changed

  • slang_pdf_generator.py
  • slang_pdf_generator_lastweek.py
  • src/pdf/generator.py
  • src/utils/logger.py
  • src/utils/requests.py (new)
  • thai_slang_dict_main.py
  • thai_slang_dict_main_lastweek.py
  • thai_slang_kiosk.py
  • thai_slang_kiosk_lastweek.py

Installation

git clone https://github.com/bejranonda/the-not-so-modern-dictionary.git
cd the-not-so-modern-dictionary
git checkout v3.1.1
pip install -r requirements.txt
python main.py

Full Changelog: v3.1.0...v3.1.1

v3.1.0 - Complete Refactored Architecture

08 Oct 14:38

Choose a tag to compare

Release v3.1.0: Complete Refactored Architecture with Legacy Code Preservation

This release completes the refactored modular architecture (v2.0) and reorganizes the project structure for better maintainability while preserving the legacy code for production stability.

🎯 Major Changes

Refactored Modules Completed

  • src/ui/kiosk.py (865 lines) - Complete kiosk UI module
    • Dependency injection for database, easter_eggs, speech_engine, sound_manager
    • Settings integration from src.config.settings
    • Structured logging with app_logger
    • Full 7-step workflow preserved
  • src/pdf/generator.py (1046 lines) - Complete PDF generator
    • PDFGenerator class with mode support (normal/lastweek)
    • All helper functions from legacy code preserved
    • Template merging, booklet layout, printer integration
    • Locale handling for Thai text collation

Project Organization

  • New Directory Structure:
    • assets/ - All media files (audio, fonts, templates)
    • docs/ - Documentation and example files
    • scripts/ - Utility scripts and deployment tools
    • legacy/ - Archived experimental code
    • src/ui/ - User interface modules
    • src/pdf/ - PDF generation modules

Enhanced Documentation

  • Comprehensive CHANGELOG.md with version history
  • Development history and acknowledgments
  • Exhibition photos and booklet samples
  • Fortune teller feature explanation
  • Non-technical visitor guide

🔄 Legacy Code Preservation

All original exhibition code preserved and functional:

  • thai_slang_dict_main.py - Normal edition
  • thai_slang_dict_main_lastweek.py - Last week edition
  • thai_slang_kiosk.py - Normal edition UI
  • thai_slang_kiosk_lastweek.py - Last week edition UI
  • slang_pdf_generator.py - Normal edition PDF generator
  • slang_pdf_generator_lastweek.py - Last week edition PDF generator

🚀 Running the Application

Refactored Version (Recommended for Development)

python main.py  # Kiosk mode (default)

Legacy Version (Preserved for Production)

python thai_slang_dict_main.py              # Normal edition
python thai_slang_dict_main_lastweek.py     # Last week edition

📊 Technical Details

Refactored Modules Statistics:

  • src/ui/kiosk.py: 865 lines
  • src/pdf/generator.py: 1046 lines
  • Full feature parity with legacy code
  • 100% backward compatible

Files Changed: 150+ files

  • 100+ file relocations
  • 20+ path updates
  • 8+ new modules created
  • 3 temporary files removed

Compatibility:

  • ✅ Python 3.8 - 3.13+
  • ✅ Windows / macOS / Linux
  • ✅ PyQt5 5.15+

🔧 Installation

# Clone the repository
git clone https://github.com/bejranonda/the-not-so-modern-dictionary.git
cd the-not-so-modern-dictionary

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py  # Refactored version
# OR
python thai_slang_dict_main.py  # Legacy version

📝 What's Preserved

Functionality:

  • ✅ All exhibition functionality (normal and last-week editions)
  • ✅ GUI emoji displays
  • ✅ Console emoji output
  • ✅ Database format and compatibility (user_added_slang.json)
  • ✅ PDF generation features
  • ✅ Motion detection and audio feedback
  • ✅ Easter eggs (jackpot, system hacked, fortune telling)
  • ✅ 7-step kiosk workflow
  • ✅ Automatic printing functionality

🎨 About The Project

The Not-So-Modern Dictionary (ปทานุกรมแบบสับ) is an interactive art installation that creates a collaborative, evolving dictionary where visitors contribute slang terms and take home personalized mini-dictionaries.

Exhibition Details:

  • Venue: Bangkok Kunsthalle
  • Duration: June 13 - August 17, 2024
  • Contributions: 534 unique terms from 462 visitors
  • Booklets printed: 544

👥 Credits

Collaboration:

  • Werapol Bejranonda (Engineer)
  • Yoonglai Collective (Artists)

AI Development Assistance:

  • Gemini & ChatGPT (initial prototyping)
  • Claude (refactoring and documentation)

See CHANGELOG.md for complete version history.

v3.0.1 - Exhibition Final Results Documentation

18 Sep 13:00

Choose a tag to compare

🎉 Exhibition Final Results Release

📊 Community Impact Documentation

This release captures the remarkable success of The Not-So-Modern Dictionary exhibition at Bangkok Kunsthalle (13 June - 17 August 2025).

✨ Exhibition Statistics Added

  • 462 Authors: Total participants who contributed to the dictionary
  • 534 Unique Words: Distinct slang terms collected during the exhibition
  • 748 Data Sets: Complete submissions including words, meanings, and examples
  • 544 Booklets: Physical dictionaries printed and distributed to visitors

🔥 Most Popular Slang (Hottest Words)

Documented the five most frequently submitted terms:

  1. จาบ (Jaab) - 7 submissions
  2. อาจจะยัง (Aat Ja Yang) - 6 submissions
  3. โซะ (So) - 5 submissions
  4. เกียม (Giam) - 5 submissions
  5. เริ่ดเลอ (Roet Loe) - 5 submissions

📅 Final Activity Records

  • Latest Word: บายบาย (Bye Bye)
  • Latest Author: ดอปจชท (Dopjochot)
  • Data Captured: As of 11/09/2025

📚 Documentation Enhancements

  • README.md: Added comprehensive exhibition outcomes section
  • CHANGELOG.md: New version documentation with community metrics
  • Real-world Impact: Demonstrated successful interactive art installation deployment

This release celebrates the collaborative language documentation project that transformed visitor participation into a living dictionary, preserving evolving linguistic expressions through community engagement.

1.4 - Voice Features & Request System

18 Sep 12:45

Choose a tag to compare

🎤 Voice Features Release

✨ New Features

  • Voice to Request: Added voice input functionality
  • Routine Requests: Automated routine request system
  • Special Requests: Enhanced special request handling
  • Request Function: Improved request processing

🔧 Improvements

  • Code Organization: Relocated request functions for better structure
  • Script Updates: Updated request processing scripts
  • System Cleanup: Code cleanup and optimization

🐛 Bug Fixes

  • Performance: General system improvements and optimizations

This release focused on enhancing user interaction through voice features and improved request handling.

1.3 - Cross-Platform Improvements

18 Sep 12:45

Choose a tag to compare

🖥️ Cross-Platform Release

✨ New Features

  • MAC Support: Enhanced printing orientation for MAC
  • Menu Updates: Improved menu text and interface

🐛 Bug Fixes

  • MAC Printing: Fixed printing issues on MAC systems
  • Display Issues: Resolved various display problems

🧹 Code Cleanup

  • Library Optimization: Removed unnecessary libraries
  • Component Cleanup: Removed unused components
  • Performance: System optimization and cleanup

Focus on cross-platform compatibility and system optimization.

1.2 - Internationalization & Templates

18 Sep 12:45

Choose a tag to compare

🌐 Internationalization Release

✨ New Features

  • Multi-language Support: Added local support for other languages
  • Template System: Implemented template functionality
  • External Greetings: Extracted greeting list to external file

🎨 UI Improvements

  • Text Centering: Made text centered for better presentation
  • Column Layout: Debug column and changed font size
  • Background Pages: Added individual background pages, decreased font size
  • Summary Adjustments: Improved summary presentation

🖼️ Visual Enhancements

  • Logo Integration: Added logo to GUI
  • Motion Sensitivity: Increased motion sensitivity for better detection

This release introduced comprehensive internationalization and improved visual design.

1.1 - Enhanced UI & Printing

18 Sep 12:45

Choose a tag to compare

🖨️ Enhanced Interface Release

✨ New Features

  • Two-Column Layout: Implemented free flow in 2 columns
  • Entry System: Made 2 columns in entry for better organization
  • Print to Printer: Added direct printer functionality
  • Template System: Added template support

🎨 Visual Improvements

  • GUI Logo: Added logo to graphical interface
  • Layout Optimization: Improved column-based layout
  • Motion Detection: Enhanced motion sensitivity

🐛 Bug Fixes

  • Intro and Fortune: Fixed template and intro/fortune features
  • Font Improvements: Modified fonts for better readability

This release focused on improving the user interface and adding professional printing capabilities.

1.0 - Original Exhibition Version

18 Sep 12:46

Choose a tag to compare

🎭 Original Exhibition Release

🎉 Major Features

  • Fortune System: Added English fortune functionality
  • Last Word Page: Implemented last word tracking
  • Fortune Page: Dedicated fortune display page
  • Enhanced Statistics: More comprehensive statistics tracking

🌏 Language Support

  • Thai Features: Core Thai language functionality
  • English Integration: Bilingual support for fortune features

👥 User Collaboration

  • User Authorship: Enabled users to become co-authors (ให้ User มีโอกาสเป็นผู้แต่งร่วม)
  • Data Collection: Improved data storage with timestamps
  • Statistics Page: Added statistics to dictionary front page

🎨 Design Improvements

  • Alphabetical Sorting: Arranged content alphabetically (เรียงตามตัวอักษร)
  • Fortune Predictions: Adjusted prediction system (ปรับแสลงทำนาย)

This is the version deployed at Bangkok Kunsthalle exhibition for "This page is intentionally left _____." by Yoonglai Collective (13 June - 17 August 2025).

1.3special - Special Edition

18 Sep 12:45

Choose a tag to compare

🌟 Special Edition Release

✨ New Features

  • Special Request Function: Added specialized request handling
  • Menu Enhancements: Updated menu colors and visual design

🐛 Bug Fixes

  • Double Running Protection: Fixed script running twice issue
  • Menu Display: Fixed menu display errors
  • MAC Compatibility: Updated menu system for MAC users

🔧 Platform Support

  • Enhanced cross-platform compatibility
  • Improved user interface stability

Special edition with enhanced menu system and platform-specific fixes.

0.4 - Enhanced Data Collection

18 Sep 12:46

Choose a tag to compare

📊 Data Collection Enhancement

✨ New Features

  • Timestamp Integration: Enhanced data collection with date and time stamps
  • Statistics Integration: Added statistics page to dictionary front page

🔧 System Improvements

  • Data Management: Improved data storage and retrieval
  • User Tracking: Better user interaction tracking

Early development version focusing on data collection improvements.