Experiments

A collection of JavaScript experiments and widgets from early web development days

Clock (1999)

An animated analog clock widget that displays the current time with hour, minute, and second hands. The clock follows your mouse movement, creating a dynamic interactive experience.

Historical context: This was created during the early days of JavaScript when dynamic web pages were a novelty. It was a time when JavaScript "magic" was beginning to emerge, and many people were amazed by the new possibilities of creating interactive, animated content directly in the browser. Simple effects like clocks that followed the mouse cursor were impressive demonstrations of what web pages could do beyond static text and images.

Versions:

Note: The original version uses Netscape layers and Internet Explorer-specific code, which no longer work in modern browsers. The modernized version recreates the same functionality using modern web APIs.

Pythagorean Table (2000)

A multiplication table generator that displays tables in custom number bases (up to base 36). Converts decimal numbers to any base and generates a complete multiplication table, demonstrating number system conversions and arithmetic in different bases.

An educational tool exploring number base conversions and arithmetic operations in different numeral systems. Uses digits 0-9 and letters a-z to represent values up to base 36, showing how multiplication tables work across different number systems.

Auto Rollover Menu (2001)

An image rollover menu system that automatically handles mouse hover effects. Images change on hover (off → on → active states) and revert on mouseout. Supports multiple image states per menu item and automatic image preloading for smooth transitions.

Created before CSS :hover pseudo-classes were widely supported. Uses JavaScript to swap image sources on mouse events, with automatic detection of image state sequences from element attributes.

Chess (2002)

A chess game implementation in JavaScript with move validation, piece movement rules, and AI opponent. Features object-oriented design with extensible piece classes, move cost matrix evaluation, and recursive game tree search for computer moves.

An experimental chess implementation exploring object-oriented JavaScript patterns, move validation algorithms, and basic AI using minimax-like evaluation. The code demonstrates piece movement patterns (rook, bishop, queen, knight, pawn, king), move validation, and a simple computer opponent that evaluates move costs.

Neural Network (2002)

Interactive neural network demonstrator with backpropagation learning. Train networks to solve boolean logic problems (XOR, AND, OR) with real-time visualization. Features configurable architecture, dynamic weight visualization, and live training metrics. Watch the network learn through backpropagation as weights and activations update in real-time.

A modern neural network implementation using HTML5 Canvas, ES6+ JavaScript, and CSS3. Demonstrates forward propagation, backpropagation learning, and network visualization. Supports custom boolean expressions with automatic truth table generation. Built with modern web technologies for educational purposes.

Versions:

Image Popup (2002)

A lightweight image popup/lightbox utility that opens images in new browser windows. Supports fixed or auto-sized windows, optional close button, and automatic window closing after a specified delay. A simple alternative to modern lightbox libraries.

Created before modern lightbox libraries existed. Provides basic image popup functionality using window.open(), with options for window sizing, close buttons, and auto-close timers.

Animation Test (2006)

A frame-by-frame animation test demonstrating sequential image loading and display. Loads a series of numbered PNG images (d00.png through d21.png) sequentially, displays them with timing, and includes an activity log showing frame loading progress. Tests animation loop functionality and image preloading. This is a part of video compression experiment.

An experiment with frame-based animations before modern animation libraries existed. Tests image loading, timing, visibility management, and animation loop control.

Floaters (2006)

A drag-and-drop floating window system for creating movable, resizable, and collapsible UI elements. Windows can be dragged around the page, collapsed/expanded with a shrink button, and support transparent backgrounds. Includes automatic initialization for elements with the "floater" name attribute.

An early experiment with dynamic HTML positioning and drag-and-drop interactions before modern CSS and JavaScript APIs. Demonstrates absolute positioning, mouse event handling, and creating desktop-like window widgets in the browser.

Versions:

Progress Bar (2006)

A draggable progress bar widget with windowshade (collapse/expand) functionality. Features drag-and-drop positioning, transparent backgrounds, and integration with menu systems. Demonstrates reusable UI component patterns.

A UI component experiment combining progress bar functionality with drag-and-drop window management. Shows how to create reusable, draggable widgets before modern component frameworks existed.

Yandex Homework (2011)

This was a Yandex homework task from 2011 to check HTML5, CSS, and JavaScript skills for web development. The tasks demonstrate proficiency in CSS2/CSS3 layouts and JavaScript programming.

CSS Layout Tasks: