Commit graph

578 commits

Author SHA1 Message Date
e1fdae237e Generate index-slim.md without metadata for blog.json
- rst2md.py now creates both index.md (with metadata) and index-slim.md (clean)
- generate_jsonblog.py references index-slim.md for clean content
- Fixes "Error: No content found" in blog viewer
- strip_pelican_metadata() removes title and metadata fields
2026-01-20 06:47:11 -05:00
d8cf83e051 Switch blog.json from embedded content to content_url links
Changes blog.json generation to link to hosted markdown files instead of
embedding full content. Each post now includes a content_url field pointing
to {site_url}/{slug}/index.md. This significantly reduces blog.json file
size while maintaining full content access via standard HTTP requests.

Updated README.rst to document the new linking behavior & how blog.json works.
2026-01-20 03:21:19 -05:00
2bda81d294 modified: README.rst 2026-01-19 17:49:09 -05:00
f409e00c31 Remove Atom feed limit to include all posts in blog.json
Set FEED_MAX_ITEMS = None to include all posts in the Atom feed.

Before: blog.json had only 100 posts (Pelican default limit)
After: blog.json has all 188 published posts

This ensures blog.json contains the complete blog archive for
AI agent consumption and the russell.on.unsandbox.com deployment.
2026-01-19 17:20:44 -05:00
d6fc278a06 Trigger CI rebuild to deploy blog.json with 5-release analysis
Force pipeline to regenerate all formats including:
- blog.json with updated UN Inception post (5 releases, 4.2.6 data)
- Updated aggregated charts
- All Markdown and plain text versions
2026-01-19 15:37:35 -05:00
cfe58e9260 Document preferred build command in CLAUDE.md
Update build workflow to include 'make formats' as part of standard build:
- make clean && make html && make formats

This ensures all agent-friendly formats are generated:
- Markdown versions (index.md via pandoc)
- Plain text (index.txt)
- JSON Feed (feeds/all.json)
- JSON Blog (blog.json with Markdown content)
- AI agent onboarding (llms.txt)

Makes the preferred build workflow explicit for future reference.
2026-01-19 15:36:29 -05:00
842daaec5c Update UN Inception blog post with 4.2.5 & 4.2.6 data
Now analyzing 5 releases instead of 3 (4.2.0, 4.2.3, 4.2.4, 4.2.5, 4.2.6)

Updated variance examples:
- Haskell: 509.5% variance (21s → 128s) - new worst offender
- V: 418.2% variance (22s → 114s peak)
- Elixir: 425% variance (20s → 105s peak)
- C: 365% variance (23s → 107s peak)

Shows even more dramatic chaos with 5 data points demonstrating
non-deterministic scheduling patterns across releases.

Updated all 3 aggregated charts to reflect 5-release analysis.
2026-01-19 15:30:11 -05:00
b60c1451b7 Trigger CI rebuild with pandoc installed
Re-run pipeline to generate blog.json with Markdown content now that
pandoc is installed on the GitLab runner (build.foxho.net).
2026-01-19 15:18:37 -05:00
01b1c2056d Use Markdown content from index.md in blog.json instead of HTML
Updated generate_jsonblog.py to:
- Load Markdown content from output/<slug>/index.md files
- Set content_type: 'markdown' for each post
- Fall back to plain text if index.md not found

This ensures blog.json contains native Markdown content converted
from RST via pandoc, rather than stripped HTML from the Atom feed.

Works with the build order in make formats:
1. rst2md converts RST to Markdown
2. jsonblog reads the Markdown files
3. blog.json contains proper Markdown with content_type set

Result: 100/100 posts now have Markdown content with content_type field.
2026-01-19 15:05:20 -05:00
9ba114df33 Document automated agent-friendly format generation in README
Add comprehensive documentation for make formats and all generated files:
- blog.json (JSON Blog format at root)
- feeds/all.json (JSON Feed v1.1)
- llms.txt (AI agent onboarding)
- index.md (Markdown versions)
- index.txt (plain text versions)

Documents purpose, usage, requirements, and individual make targets
(rst2md, jsonfeed, jsonblog, plaintext, llms).
2026-01-19 14:49:28 -05:00
7c91647a55 Add lib/ format generation scripts for agent-friendly formats
- lib/rst2md.py - RST to Markdown converter using pandoc
- lib/generate_jsonfeed.py - JSON Feed v1.1 generator
- lib/generate_jsonblog.py - JSON Blog format (jsonblog.dev)
- lib/generate_plaintext.py - HTML to plain text converter
- lib/generate_llms_txt.py - AI agent onboarding file

These scripts generate multiple formats for AI/LLM consumption:
- blog.json at root (entire blog in one file)
- feeds/all.json (JSON Feed format)
- llms.txt (onboarding documentation)
- index.md (Markdown versions)
- index.txt (plain text versions)
2026-01-19 14:36:20 -05:00
6576bef263 Add blog.json, JSON Feed, and all agent-friendly formats to CI build
- Add make formats to .gitlab-ci.yml build script
- Generates blog.json at site root (jsonblog.dev format)
- Generates feeds/all.json (JSON Feed v1.1)
- Generates llms.txt for AI agent onboarding
- Converts all RST to Markdown
- Creates plain text versions (index.txt)
2026-01-19 14:34:32 -05:00
8041de971f Add UN Inception origin story & llms.txt for agents
New section: "what is un inception?"
- Explains how un.c fractured into 42+ language-specific CLI/SDK implementations
- Each language has its own native CLI/SDK (Python, Go, Rust, JavaScript, etc.)
- Each implementation is both functional tool & test case
- Fractal validation: clients test platform, platform tests clients
- Links to unsandbox.com/cli for all language implementations
- Links to un.c source in GitLab

Added llms.txt reference for curious agents:
- unsandbox.com/llms.txt
- api.unsandbox.com/llms.txt

Post now explains the inception concept: the fracture became better
than the whole. 42 implementations proving cross-language consistency.

Added 45 lines explaining the testing framework philosophy.
2026-01-19 13:37:00 -05:00
dfe7ce8ce8 Add unsandbox.com and API docs links throughout post
- Introduce UN early with link to unsandbox.com
- Link to api.unsandbox.com/docs when mentioning REST API
- Add call-to-action links to start experimenting
- All external links now point to approved domains only:
  - git.unturf.com (GitLab)
  - unsandbox.com
  - api.unsandbox.com/docs
  - www.unturf.com (permacomputer manifesto)
2026-01-19 13:25:43 -05:00
960612cc83 Expand UN Inception post with scientific research experiments
Added massive "beyond ci/cd: the laboratory awaits" section:

- 15+ cross-language science experiments
- Language shootout revival via UN sandbox
- Algorithm correctness verification across 42 languages
- Numeric precision, crypto performance, parallel patterns
- Regex engines, GC behavior, parser combinators
- Unicode handling, JSON conformance, sorting stability
- Datetime edge cases, compiler optimization archaeology

Integrated permacomputer manifesto values (truth, freedom, harmony, love)
and Ryu's warrior philosophy: "The answer lies in the heart of battle"

Emphasis on measurement over assumption, verification over trust.
42 languages = 42 perspectives on truth through experimentation.

Post grew from 367 to 867 lines (+501 lines of research ideas).
2026-01-19 13:21:41 -05:00
3159cfc3fe Add blog post on UN Inception performance variance & chaos engineering
- New post: un-inception-performance-variance-chaos-engineering
- Reference AGGREGATED-PERFORMANCE.md report from un-inception repo
- Include 3 performance variance charts (duration, variance, ranking)
- Propose 10 additional chaos engineering experiments
- Update Makefile with agent-friendly format targets (rst2md, llms, jsonfeed, etc)
- Update Lumos cover letter status to Applied

Post explores 2-3x performance variance across releases, orchestrator
placement issues, and reframes variance as chaos engineering opportunity.
2026-01-19 13:13:53 -05:00
c903273acf new file: content/pages/cover-letters/2026-01-17-careforce-ai-senior-fullstack-engineer-russell-ballestrini.rst
new file:   content/pages/cover-letters/2026-01-17-lumos-devops-engineer-russell-ballestrini.rst
	new file:   content/pages/cover-letters/2026-01-17-octane-staff-platform-engineer-russell-ballestrini.rst
	new file:   content/pages/cover-letters/2026-01-17-prompt-health-senior-devops-engineer-russell-ballestrini.rst
2026-01-19 10:56:25 -05:00
cff5e5e93e Add opencompletion.com to ML/AI skills 2026-01-11 08:07:36 -05:00
6e44390a6f Add Machine Learning & AI Agents skills to resume 2026-01-11 08:05:06 -05:00
ff92371e33 Update cover letter statuses: 3 applied, 3 skipped 2026-01-10 15:58:08 -05:00
8e7188ec70 Add 6 cover letters (Jan 2026 HN) & founder resume symlink 2026-01-08 10:14:09 -05:00
320f02fafa modified: .gitignore
new file:   content/pages/cover-letters/2025-12-13-energyhub-senior-software-engineer-russell-ballestrini.rst
2026-01-05 08:45:18 -05:00
dcdd20b43d Extract SVG & object data attrs for og:image meta tags 2025-12-18 15:26:27 -05:00
c647048f9d Simplify JSONResume Makefile targets & add PDF generation
- Remove broken jsonresume-preview & jsonresume-export targets (Node 22 incompatible)
- Add jsonresume-pdf target for 4 favorite themes (kendall, modern-plain, one, onepage-plus)
- Include puppeteer in jsonresume-themes install
- Gitignore node_modules & npm files
2025-12-15 09:21:34 -05:00
b5232587c2 Add JSONResume theme targets & OG/Twitter meta tag support
- Makefile: Add jsonresume-all-html target to export resume in 30 themes
- Makefile: Curate list of 30 tested working JSONResume themes
- pelicanconf.py: Add extract_first_image filter for social media unfurling
- Resume: Add Queues skill category (SQS, RabbitMQ, ZMQ)
2025-12-15 08:19:25 -05:00
93ce9a9cab Add Java, RabbitMQ, unsandbox to resume skills 2025-12-13 18:57:12 -05:00
66a0129552 Remove 'I'm a' from free agent intro line 2025-12-08 05:55:51 -05:00
86acb69c0c Add JSONResume to title, slug & link to jsonresume.org 2025-12-08 05:18:20 -05:00
2217bb89b3 modified: CLAUDE.md
modified:   Makefile
	modified:   content/pages/russell.ballestrini.resume.json
2025-12-07 08:26:08 -05:00
63a42ba6b7 Rename uncloseai resume to unturf & update references
unturf is the umbrella company, uncloseai/unsandbox are the services
2025-12-06 16:06:00 -05:00
cbd3d10993 Add uncloseai agent platform to free agent post 2025-12-06 15:58:35 -05:00
c78eee9cbb modified: Makefile
new file:   content/pages/uncloseai.resume.json
2025-12-06 15:55:58 -05:00
d839db0d37 Add JSONResume format & free agent blog post
- Add russell.ballestrini.resume.json in JSONResume v1.0.0 format
- Add jsonresume Makefile target to copy JSON to output
- Update contact page with JSONResume link
- New blog post announcing free agent status & explaining JSONResume benefits
2025-12-06 14:54:25 -05:00
50cb9e7f36 Add cover letters & improve writing guidelines
- Add Webflow Staff Software Engineer, Applied AI cover letter
- Add Coinbase AI Growth Lead (Staff Software Engineer) cover letter
- Add Virta Health Senior Site Reliability Engineer cover letter
- Update CLAUDE.md: NEVER use em-dashes, prefer two sentences
- Update CLAUDE.md: strengthen date checking requirements
- Add senior.software.engineer resume softlink to Makefile
- Remove em-dash from Virta cover letter closing

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-02 09:43:59 -05:00
01535b292d Add Webflow Staff Software Engineer, Applied AI cover letter & update Makefile
- Create cover letter for Webflow Staff Applied AI position ($175k-$247k)
- Highlight AI/ML production experience: Coursemojo (60K students), uncloseai.com inference
- Emphasize Node.js/React/TypeScript full-stack expertise & prompt engineering
- Remove backend engineer cover letter in favor of more future-focused AI role
- Add staff.software.engineer resume softlink to Makefile

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-30 09:03:49 -05:00
a0faf11a86 Add RunPod Principal Software Engineer cover letter & update resume
- Add unsandbox.com to resume: 42+ language code execution API with containerized isolation
- Update Makefile: add principal.software.engineer resume softlink & single cover-letter target
- Create RunPod Principal Software Engineer, Storage Systems cover letter with proper letterhead
- Cover letter highlights: distributed systems, containerization, security/compliance, observability

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-29 13:30:10 -05:00
418dd13db7 modified: content/pages/russell.ballestrini.resume.rst 2025-11-25 11:32:05 -05:00
d2ff3055c6 Add resume softlinks for job titles & improve resume content 2025-11-25 10:38:48 -05:00
5879491f9c Update resume: fix typos, add location info, improve formatting & content 2025-11-25 10:22:25 -05:00
b5f85af141 modified: Makefile
renamed:    content/pages/cover-letters/2025-10-28-chime.txt -> content/pages/cover-letters/2025-10-28-chime-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-10-28-gitlab.txt -> content/pages/cover-letters/2025-10-28-gitlab-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-10-28-magicschool.txt -> content/pages/cover-letters/2025-10-28-magicschool-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-03-canonical.txt -> content/pages/cover-letters/2025-11-03-canonical-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-03-datadog-curriculum-developer.txt -> content/pages/cover-letters/2025-11-03-datadog-curriculum-developer-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-03-lumin-digital-sre.txt -> content/pages/cover-letters/2025-11-03-lumin-digital-sre-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-03-synthropic-detection-engineer.txt -> content/pages/cover-letters/2025-11-03-synthropic-detection-engineer-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-03-truetax-elixir-phoenix.txt -> content/pages/cover-letters/2025-11-03-truetax-elixir-phoenix-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-04-automattic-senior-systems-engineer.txt -> content/pages/cover-letters/2025-11-04-automattic-senior-systems-engineer-russell-ballestrini.rst
	renamed:    content/pages/cover-letters/2025-11-04-band-full-stack-engineer.txt -> content/pages/cover-letters/2025-11-04-band-full-stack-engineer-russell-ballestrini.rst
	new file:   content/pages/cover-letters/2025-11-06-river-senior-software-engineer-russell-ballestrini.rst
	new file:   content/pages/cover-letters/2025-11-13-glass-health-founding-software-engineer-backend-russell-ballestrini.rst
	new file:   content/pages/cover-letters/2025-11-13-schoolhouse-world-senior-software-engineer-russell-ballestrini.rst
	new file:   content/pages/cover-letters/2025-11-15-zapier-senior-software-engineer-enterprise-zone-russell-ballestrini.rst
2025-11-25 09:45:37 -05:00
cf89e77582 Clarify UPS setup: these servers lack battery backup, unlike other systems 2025-11-07 07:04:29 -05:00
bebd1573ce Add Realtek NIC section & mouse driver bonus to NVIDIA ethernet fix post 2025-11-06 12:22:27 -05:00
cb39817007 modified: CLAUDE.md
new file:   content/2025-11-06-nvidia-breaks-ubuntu-ethernet-linux-modules-extra-fix.rst
	new file:   content/pages/cover-letters/2025-11-04-band-full-stack-engineer.txt
2025-11-06 12:08:34 -05:00
50792b8563 modified: CLAUDE.md
new file:   content/pages/cover-letters/2025-11-03-synthropic-detection-engineer.txt
	new file:   content/pages/cover-letters/2025-11-03-truetax-elixir-phoenix.txt
	new file:   content/pages/cover-letters/2025-11-04-automattic-senior-systems-engineer.txt
2025-11-04 06:54:57 -05:00
00e74a9f52 new file: content/pages/cover-letters/2025-11-03-lumin-digital-sre.txt 2025-11-03 15:29:52 -05:00
ac0f8b8b76 new file: content/pages/cover-letters/2025-11-03-datadog-curriculum-developer.txt
modified:   content/pages/russell.ballestrini.resume.rst
2025-11-03 13:57:55 -05:00
ab6df4ae31 modified: content/pages/russell.ballestrini.resume.rst 2025-11-03 13:03:28 -05:00
9e22439638 new file: content/pages/cover-letters/2025-11-03-canonical.txt 2025-11-03 12:28:05 -05:00
34f8e27d9e Update virt-back URLs from Bitbucket to git.unturf.com & add PyPI link 2025-10-31 13:04:40 -04:00
c59f40a948 new file: content/pages/cover-letters/2025-10-28-chime.txt
new file:   content/pages/cover-letters/2025-10-28-gitlab.txt
2025-10-28 13:14:35 -04:00