• enigma

    Enigma Machine Simulator

    Description

    Simulates the functionality of a classic Enigma Machine, used during World War II for encrypting messages. The web-based interface allows users to interact with the core components of the machine, including rotors, plugboards, and a reflector.

    Features

    • Plugboard Connections: Users can pair letters to simulate plugboard settings.
    • Rotor Customization: Adjust rotor wiring and position for personalized encryption.
    • Real-Time Encryption: Input plaintext to see the dynamically encrypted message.
    • Reflector Simulation: Configurable reflector wiring for accurate Enigma behavior.
    • Authentic Rotor Mechanism: Includes proper rotor stepping and notch behavior.

    HTML enigma.html

  • on_the_spectrum

    Provides a dynamic, real-time sound spectrum visualizer implemented using JavaScript, HTML5 canvas, and the p5.js library. It allows users to explore various visual representations of audio frequencies captured through the device’s microphone.

    ## Features
    – visualizer offers several visualization styles, selectable through a user interface
    – interactive sine and cosine curves that dynamically adjust based on audio input sensitivity. Selected by the user by dragging a white dot around the circle.

    ## How to Use

    Allow microphone access when prompted.

    Use the dropdown menu to select a visualizer.

    Click anywhere on the screen to enable full-screen mode

    HTML JSound.html

  • find_the_beep

    Description

    The objective of Find The Beep is to create a dynamic grid where letters “B”, “E”, and “P” are placed randomly, while avoiding the word “BEEP”.

    Inspiration

    This was inspired by the book

    Find the Fox: An Almost Impossible Word Search by Alex Cheddar.

    The book presents a unique 240-page word search using only the letters F, O, and X, where the only word present is “FOX”. The challenge and creativity in reducing the puzzle to three letters and one word inspired me to create a similar minimalist puzzle concept with “BEEP.”


    Usage

    1. Open the webpage.
    2. Enter the desired number of rows and columns (minimum 4×4).
    3. Click “go” to generate the grid.
    4. Observe the grid ensuring no BEEPs are formed.

    Project Origins

    My original version of Find The Beep was created using Python. I developed an Excel-based solver with VBA to scan and ensure that the sequence “BEEP” never appeared in the generated grids. The transition to JavaScript allowed me to bring this to the web, where users can interactively create grids and visualize the results.

    PYTHON find_the_python.txt

    VBA find_the_vba.txt


    Code Method

    • Grid Generation: Dynamically creates grids based on user input.
    • Conflict Avoidance: Utilizes directional checks to prevent specific sequences.
    • Retry Mechanism: Automatically retries generation if conflicts arise.

    HTML FindTheBeep.html

    Bonus:

    HTML FindTheTax.html

  • API_piano

    Description

    This is a simple web-based piano player built using the Web Audio API. It allows users to input a sequence of musical notes, specify their octaves and durations, and play them back using various waveforms like sine, square, triangle, or sawtooth. It also features adjustable volume controls.

    Features

    • Note Input: Enter musical notes in a specified format.
    • Octaves & Durations: Define the octave and duration for each note.
    • Simultaneous Notes: Play multiple notes at the same time.
    • Waveform Selection: Choose between different sound waveforms (Sine, Square, Triangle, Sawtooth).
    • Volume Control: Adjust the output volume.

    Usage

    Enter a sequence of notes in the text area in the following format:

    • Notes: C, C#, D, D#, E, F, F#, G, G#, A, A#, B
    • Octave: Add a number after the note for octave (e.g., C4)
    • Duration: Add a duration in seconds (e.g., C#4(0.5))
    • Simultaneous Notes: Write notes together before the duration (e.g., C3E3A3(0.5))
    • Separate Notes: Use commas to separate different notes (e.g., C4(1),D4(0.5),E4)

      HTML WebAudioAPI_piano.html

    1. sound_generator_tool

      ## Description

      The Sound Generator Tool is a simple web-based application for generating basic sound waves using the Web Audio API. Users can choose between different waveform types (Sine, Square, Sawtooth, Triangle), control the frequency (from 20 Hz to 2000 Hz), and adjust the volume. Additionally, it includes a code generation feature that outputs JavaScript code reflecting the current sound settings.

      Features

      • Waveform Selection: Choose from four waveform types: Sine, Square, Sawtooth, and Triangle.
      • Frequency Control: Adjust the frequency between 20 Hz and 2000 Hz using a slider.
      • Volume Control: Modify the output volume (gain) between 0.0 and 1.0.
      • Play Sound: Play the generated sound immediately.
      • Code Generation: Generate JavaScript code based on the current sound configuration.

      Usage

      1. Select the desired waveform from the dropdown menu.
      2. Adjust the frequency and volume using the sliders.
      3. Click “Play Sound” to hear the generated sound.
      4. Click “Generate Code” to produce the JavaScript code for the current sound settings, which will be displayed in the output area.

      HTML SoundGeneratorTool.html

      README SoundGeneratorTool.txt

    2. timer/countdown

      ## Description

      CRT-style Timer and Countdown web application designed to mimic the look and feel of an old CRT monitor. It features a flickering screen effect, scan lines, and smooth animations, enhancing the nostalgic appearance.

      ## Usage

      * Open link below.
      * Choose between Timer or Countdown mode from the initial modal:
      – Timer: Starts a timer that shows elapsed time.
      – Countdown: Prompts you to input hours, minutes, and seconds.
      * The timer or countdown will begin, displayed in the middle of the screen.
      * When the countdown (if selected) reaches zero, the screen will flash to white indicating end.

      HTML timer.html

    3. ssd1306

      This project allows you to visualize and generate pixel art for the SSD1306 OLED display using MicroPython. Instead of manually calculating the position of individual pixels on a 128×64 display, this tool provides a graphical interface where you can click on pixels to toggle them on or off. After creating your pixel art, the corresponding MicroPython code will be generated for easy copy-pasting into your project.

      ## Features

      Grid-based pixel editor: A 128×64 grid where each cell represents a pixel.

      Pixel toggling: Click on grid cells to toggle pixels on/off.

      Code generation: Generate MicroPython code based on the active pixels in the grid.

      Copy code: Quickly copy the generated code to your clipboard for use in your MicroPython project.

      HTML pixel_draw.html

      mPYTHON ssd1306.txt

    4. flowchart

      # Wanna go with the flow?
      > basic flowchart app

      HTML flowchart.html

    5. data_compare

      Tool created using JavaScript and HTML to streamline the process of comparing two columns of data. The tool allows users to paste data into two separate columns, apply customizable character removal options, and then, with the click of a button, instantly identify missing and extra entries between the columns.

      How It Works

      Paste Data: Users paste their data into the designated input areas for the first and second columns.

      Customize Comparison: Users can choose to remove a specified number of characters from the beginning and end of the data in each column.

      Click “Compare Columns”: With a simple click of the button, the tool processes the data, compares the columns, and displays the results in a clear and organized manner.

      This tool is particularly useful for tasks involving data reconciliation, such as comparing lists, databases, or any scenario where quick and accurate data matching is essential.

      HTML compare.html

    6. barcode_generator

      Welcome to the Barcode Generator!

      When users type and press either the ‘Tab’ or ‘Arrow Down’ keys, additional fields appear for more input. Upon hitting ‘Enter,’ a printable page is generated with the entered data, but in barcode format. Users can print and scan it with a handheld scanner. If users wish to scan data into the fields, ensure your scanner is set to ‘Tab’ or ‘Arrow Down’ to navigate the fields correctly. I’ll provide a scannable sheet to configure Datalogic scanners, and 123Scan software from Zebra should cover other popular device, but always consult your devices manual for guidance when adjust any settings.

      HTML scan_form.html

      PDF scanner_setup.pdf

    7. killer_sudoku_html

      It is finally here (almost) the thing you have all been asking for (I asked for it – I made it) the Killer Sudoku Python script to assist with solving Killer Sudokus is now available in HTML form. Check it out –

      HTML killer_sudoku.html

    8. bionic_extension(edge)

      manifest_version: 3
      name: Bionic Beep
      version: 1.0
      description: An extension that applies Bionic formatting to all words on a page.
      permissions: activeTab
      action:
      default_popup: popup.html,
      default_icon:
      16: icons/beep16x16.png
      48: icons/beep48x48.png
      128: icons/beep128x128.png

      background:
      service_worker: background.js
      content_scripts:
      matches:
      js: content.js

      LINK microsoft.com link to extension