diff options
| author | Sadeep Madurange <sadeep@asciimx.com> | 2026-02-25 00:15:00 +0800 |
|---|---|---|
| committer | Sadeep Madurange <sadeep@asciimx.com> | 2026-02-25 09:12:03 +0800 |
| commit | 8b9f0a0ffb8b0c481509120dfbef1db4c1839032 (patch) | |
| tree | 5eadd7626ef84fe913df15c7ff0efbd12e7d444d /_log | |
| parent | 05e9ffff4362e31db761e268ae0735d2a1fd231a (diff) | |
| download | www-8b9f0a0ffb8b0c481509120dfbef1db4c1839032.tar.gz | |
Improve bumblebee post.
Diffstat (limited to '_log')
| -rw-r--r-- | _log/bumblebee.md | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/_log/bumblebee.md b/_log/bumblebee.md index 57dc49d..e9b228b 100644 --- a/_log/bumblebee.md +++ b/_log/bumblebee.md @@ -1,32 +1,34 @@ --- -title: 'Bumblebee: web script synthesizer' +title: Bumblebee date: 2025-04-02 layout: post project: true thumbnail: thumb_sm.png --- -For work. Browser session-to-code conversion. Pre-LLM. +Few months at trading firm. Brittle ETL jobs. Scripts max out CPUs. No hardware +bailout—budget cuts, €0.4 mil/month cloud costs. Workaround: restart stalling +servers. Fine idea in every respect; only doesn't solve the problem. + +Need better scripts. Created tool on my own time to synthesize/optimize code +from browser sessions: <video style="max-width:100%; margin-bottom: 10px" controls="" poster="poster.png"> <source src="bee.mp4" type="video/mp4"> </video> -Script quality pitiful. Created tool to generate them by analyzing browser events. - -Stack: C# WinForms host, WebView2 browser, Scintilla.NET editor. - -Data structure: twin lists--one for events, one for text. +Stack: C# WinForms host, WebView2 (Edge), Scintilla.NET editor. -Implementation: +Data flow: injected JS hooks + browser → events → commands → optimizer → +editor. - - Interception: Injected JS hooks + internal browser events. - - Transformation: Event → Token → Instruction table → String. - - Optimization: Toss unnecessary clicks, squash input events. - - Rendering: Two-way binding between text and Scintilla editor. +Events, commands stored in two linear lists. Lists desync on manual edits, +blocks optimizer. ASTs are overkill. Workaround: edit at end of session only. -NOTE: Lists desync on manual edits; blocks optimizer. Replace lists -with ASTs. +First iteration of optimizer complete. Squashes event sequences into single +commands (e.g., calendar clicks → text input). Better DOM addressing (xpath, +id, element) using heuristics. Working on key optimization: bypass browser, +grab data file directly when possible. -Script generation: minutes/hours → seconds. +Abandoned project—left the firm. Source code: under NDA. |
