summaryrefslogtreecommitdiffstats
path: root/_projects
diff options
context:
space:
mode:
Diffstat (limited to '_projects')
-rw-r--r--_projects/bumblebee.md25
-rw-r--r--_projects/matrix-digital-rain.md31
2 files changed, 25 insertions, 31 deletions
diff --git a/_projects/bumblebee.md b/_projects/bumblebee.md
index 03046d3..ef38b2f 100644
--- a/_projects/bumblebee.md
+++ b/_projects/bumblebee.md
@@ -6,22 +6,23 @@ thumbnail: thumb.png
layout: post
---
-Bumblebee is a web browser that turns browser sessions into C# scripts. Its
-objective is to eliminate the need for authoring scripts for testing, web
-scraping, and other browser automation tasks.
+Bumblebee is a web browser that converts browser sessions into C# scripts for
+playback. It eliminates the need for authoring browser automation scripts.
<video style="max-width:100%; margin-bottom: 10px" controls="" poster="thumb.png">
<source src="bee.mp4" type="video/mp4">
</video>
-Bumblebee is a Windows Forms application written in C#. The rendering of web
-content is handled by the embedded Microsoft Edge browser (via WebView). The
-text editor on the right is <a src="https://github.com/desjarlais/Scintilla.NET"
-class="external" target="_blank" rel="noopener noreferrer">Scintilla.NET</a>. It
-enables users to override the script at any point during the session. There are
-application settings that let users debounce events, ignore hidden elements
-and scripts, and more.
+Bumblebee is a Windows Forms application written in C#. Web content is rendered
+by the embedded Microsoft Edge browser (via WebView). The text editor on the
+right is <a src="https://github.com/desjarlais/Scintilla.NET" class="external"
+target="_blank" rel="noopener noreferrer">Scintilla.NET</a>. Users can
+override the generated script at any point during the session. The users can
+configure Bumblebee to debounce events, ignore hidden elements, etc.
-Unfortunately, I can't share the source code for Bumblebee. I developed it for
-an employer. Hence, the software is proprietary.
+Bumblebee works by injecting a custom JavaScript program that tracks user
+interactions. The tracker intercepts and sends them to the Bumblebee backend as
+events for analysis. In addition to the front-end events, Bumblebee also
+intercepts events internal to the web browser, which it then interprets to
+generate C# code for the Selenium WebDriver in real time.
diff --git a/_projects/matrix-digital-rain.md b/_projects/matrix-digital-rain.md
index 9c7b529..afbfc1f 100644
--- a/_projects/matrix-digital-rain.md
+++ b/_projects/matrix-digital-rain.md
@@ -6,33 +6,26 @@ thumbnail: thumb.png
layout: post
---
-The famous digital rain from the movie The Matrix implemented in C for
-the Unix terminal without using any GUI/TUI kits:
+The famous digital rain from The Matrix, implemented in C.
<video style="max-width:100%;" controls="" poster="thumb.png">
<source src="matrix.mp4" type="video/mp4">
</video>
-Domsson's <a href="https://github.com/domsson/fakesteak" class="external"
-target="_blank" rel="noopener noreferrer">Fakesteak</a> inspired
-this project. I added the following features while trying to keep the original
-project's simplicity intact as much as possible:
+This project is a fork of Domsson's beautiful <a
+href="https://github.com/domsson/fakesteak" class="external" target="_blank"
+rel="noopener noreferrer">Fakesteak</a>.
-- Customize the rain color to match the theme of the setup.
-- Support for UTF-32 characters.
-- The ghosting effect of old monochrome displays.
-- The rain more closely resembles the original from the first movie.
+There are three color settings: head, tail, and background. They are configured
+by setting the 24-bit RGB channels using `COLOR_*_RED`, `COLOR_*_GRN`, and
+`COLOR_*_BLU` definitions. The ghosting effect of old monochrome screens is
+achieved by scaling the RGB channels. This results in a rain effect that
+closely resembles the original from the first Matrix movie.
-To use them, you need a terminal emulator that supports 24-bit RGB colors and
-Unicode characters.
-
-The background, head, and tail colors of the rain can be configured via
-`COLOR_BG_*`, `COLOR_HD_*`, and `COLOR_TL_*` settings. The `UNICODE_MIN` and
-`UNICODE_MAX` values control the character set used for the rain. For instance,
-use `0x30A1` and `0x30F6` for Katakana:
+In addition, this implementation supports UTF-32 character sets. The
+`UNICODE_MIN` and `UNICODE_MAX` controls the Unicode block used. For
+instance, setting them to `0x30A1` and `0x30F6` rains Katakana:
<img style="width: 100%;" src="katakana.png" />
-Happy ricing!
-
Files: [source.tar.gz](source.tar.gz)