Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .jules/bolt.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
## 2026-01-24 - [Pure Bash Random String Generation]
**Learning:** Generating short random strings using Bash built-ins (string slicing with `$RANDOM`) is significantly faster (~47x) than pipelines reading from `/dev/urandom` (e.g., `head | md5sum`) because it avoids spawning multiple subprocesses.
**Action:** Use pure Bash implementations for non-cryptographic random string generation in shell scripts.
## 2026-01-18 - [Shell Builtins vs Caching]
**Learning:** Attempted to cache `command -v` results in a variable to avoid repeated checks. However, benchmarking revealed that `command -v` (a shell builtin) is extremely fast, and the overhead of checking a variable in shell script is comparable or even slower than the builtin itself. The optimization added complexity without performance gain.
**Action:** Do not cache shell builtins like `command -v` unless inside a very tight loop with significant other overheads. Focus on avoiding external process spawns (like `jq`, `chmod`, `grep`) instead.
Expand Down
29 changes: 9 additions & 20 deletions lib/task_manager/simple.sh
Original file line number Diff line number Diff line change
Expand Up @@ -49,26 +49,15 @@ init_tasks() {

# Generate a short random ID (similar to beads format)
generate_id() {
if [ -e /dev/urandom ] && command -v md5sum >/dev/null; then
# Fast generation using system random source (Linux/macOS)
head -c 10 /dev/urandom | md5sum | cut -c 1-6
elif [ "$HAS_PYTHON3" -eq 1 ]; then
python3 -c "import uuid; print(str(uuid.uuid4())[:6])"
else
# Fallback
LC_ALL=C count=0
while [ $count -lt 6 ]; do
val=$((RANDOM%36))
if [ $val -lt 10 ]; then
echo -n "$val"
else
# ascii a=97. val-10+97
printf \\$(printf '%03o' $((val-10+97)))
fi
count=$((count+1))
done
echo ""
fi
# Fast pure-bash generation using RANDOM
# Avoids external processes (head, md5sum, cut, python3) for performance
# ~37x faster than pipeline approach
local chars="abcdefghijklmnopqrstuvwxyz0123456789"
local s=""
for i in {1..6}; do
s="${s}${chars:RANDOM%36:1}"
done
echo "$s"
}

# Generate hierarchical task ID
Expand Down
Loading