{"type":"meta","data":{"version":"1.0.0","generated_at":"2026-09-11T22:45:04Z","system":"CareerOS Master Datalake","canonical_url":"https://www.just3ws.com/career_datalake.json","endpoints":{"datalake_json":"https://www.just3ws.com/career_datalake.json","datalake_jsonl":"https://www.just3ws.com/career_datalake.jsonl","exports_resume_md":"https://www.just3ws.com/exports/resume.md","exports_history_md":"https://www.just3ws.com/exports/history.md","exports_portfolio_md":"https://www.just3ws.com/exports/portfolio.md","strategy_guide":"https://www.just3ws.com/reports/archetype-reader-profiles/"},"stats":{"total_positions":28,"total_archetypes":5,"total_articles":181,"total_interviews":184,"total_knowledge_graph_nodes":422,"total_technologies_tracked":132}}}
{"type":"profile","data":{"name":"Mike Hall","title":"Staff Software Engineer","seo":{"resume":{"title":"Mike Hall - Staff Software Engineer","description":"Staff Software Engineer rooted in hands-on software engineering across production systems, platform reliability, legacy modernization, observability, and AI-augmented engineering."},"history":{"title":"Mike Hall - Software Engineering Career Timeline","description":"Software engineering timeline for Mike Hall, with role progression, technical leadership, and production systems scope."}},"location":{"display":"Chicago, IL","locality":"Chicago","region":"IL","country":"US"},"contact":{"email":"mike@just3ws.com","phone":"(847) 877-3825","phone_tel":"+18478773825","website":{"url":"https://www.just3ws.com","display":"just3ws.com"},"linkedin":{"url":"https://www.linkedin.com/in/just3ws/","display":"in/just3ws"},"github":{"url":"https://github.com/just3ws","display":"github.com/just3ws"},"calendly":{"url":"https://calendly.com/just3ws","display":"calendly.com/just3ws"}}}}
{"type":"archetype","id":"staff_systems_architect","data":{"id":"staff_systems_architect","file_slug":"mike-hall-staff-systems-architect","short_label":"Staff Systems","title":"Staff Software Engineer / Systems Architect","target_tier":"Staff IC / Systems Architecture / Legacy Modernization","identity_lens":"Shows how I see system boundaries, sequence high-risk change, and protect production systems.","evidence_path":"/case-studies/","summary":"Staff Software Engineer specializing in high-consequence legacy modernization, distributed systems architecture, and platform resilience. Combines hands-on software engineering with platform architecture, OpenTelemetry distributed tracing, cross-lane boundary mediation, and zero-downtime data migrations across Ruby on Rails, PostgreSQL, and cloud infrastructure.","core_skills":["Platform Architecture & Legacy Modernization","Cross-Domain Boundary Architecture & Governance","OpenTelemetry & Distributed Trace Context Propagation","High-Consequence Incident Escalation & Root Cause Analysis","Zero-Downtime Data Migrations & Schema Partitioning","Ruby on Rails, PostgreSQL, Sidekiq & Redis","AWS, Docker, Kubernetes & CI/CD Pipelines","Privacy-Conscious Local AI Orchestration & Tooling"],"featured_positions":[{"id":"onemain","focus":"Led modernization of the Acquisition Lane, the digital front door for customer application and origination funnel workflows, delivered an instant disbursement workflow, applied Architecture Discovery to a silent application-completion defect, and aligned distributed observability with SRE operations."},{"id":"sk-holdings","focus":"Modernized search and asynchronous messaging pipelines under live production load, executing zero-downtime Rails framework upgrades and database relational indexing."},{"id":"activecampaign","focus":"Improved testability and performance inside a tightly coupled PHP/MySQL CRM backend, introducing structured query patterns and cache strategies, and hardening the Ember.js frontend test suite across core contact management workflows."},{"id":"groupon","focus":"Implemented a centralized merchant taxonomy service in Java and MySQL, engineered analytical fraud detection in Vertica, and led global technical onboarding curricula during hyper-growth."}],"selected_projects":[{"id":"wwworkremote"},{"id":"technical-conversation-archive"},{"id":"agent-tooling"}],"additional_experience":[{"id":"benchprep"},{"id":"reachlocal"},{"id":"coderwall"},{"id":"tandem"}]}}
{"type":"archetype","id":"staff_platform_enablement","data":{"id":"staff_platform_enablement","file_slug":"mike-hall-staff-platform-lead","short_label":"Staff Platform","title":"Staff Software Engineer / Platform & Enablement Lead","target_tier":"Staff IC / Developer Platform / Engineering Enablement","identity_lens":"Shows how I create leverage through shared practices, enablement, mentorship, and durable handoffs.","evidence_path":"/case-studies/","summary":"Staff Software Engineer and Platform Lead who multiplies engineering velocity and system reliability. Proven track record of merging attrition-impacted teams into high-performing units, founding developer enablement teams, building automated verification gates, and unblocking product teams from technical debt friction.","core_skills":["Platform Enablement & Developer Productivity","Team Consolidation, Mentorship & Attrition Rescue","Automated Verification Gates & CI/CD Pipelines","Architecture Discovery & Technical Debt Reduction","Distributed Tracing & Service Legibility","Ruby on Rails, PostgreSQL & Event-Driven Systems","Docker, Kubernetes & Infrastructure Automation","Working Groups, Technical Governance & SRE Alignment"],"featured_positions":[{"id":"onemain","focus":"Consolidated two attrition-impacted teams within the Acquisition Lane, the digital front door for customer applications and account workflows, founded a Team Topologies-informed engineering enablement function, and built durable community and handoff mechanisms through Geekfest@OMF and the OpenTelemetry Working Group."},{"id":"agent-tooling","focus":"Built context-isolated subagents, automated pre-commit verification gates, and telemetry-driven diagnostic tooling for AI developer runtimes."},{"id":"sk-holdings","focus":"Standardized asynchronous Sidekiq delivery pipelines and automated CI/CD deployment routines."},{"id":"tandem","focus":"Led client architecture modernizations, pairing and mentoring engineering teams in TDD, automated testing discipline, and continuous delivery."},{"id":"obtiva","focus":"Delivered high-stakes consulting architectures, training client teams in Ruby on Rails, agile delivery rhythms, and software craftsmanship."}],"selected_projects":[{"id":"agent-tooling"},{"id":"technical-conversation-archive"},{"id":"wwworkremote"}],"additional_experience":[{"id":"benchprep"},{"id":"reachlocal"},{"id":"coderwall"},{"id":"groupon"}]}}
{"type":"archetype","id":"senior_ruby_rails_contractor","data":{"id":"senior_ruby_rails_contractor","file_slug":"mike-hall-senior-ruby-rails-contractor","short_label":"Senior Software Engineer","title":"Senior / Lead Software Engineer, Ruby on Rails","target_tier":"Senior / Lead IC / Ruby on Rails Infrastructure","identity_lens":"Shows hands-on software craftsmanship inside difficult production codebases.","evidence_path":"/writing/","summary":"Senior software engineer focused on Ruby on Rails infrastructure, PostgreSQL, legacy modernization, and production reliability. Delivers business value through complex state machine refactoring, database optimization, asynchronous processing, third-party integrations, and disciplined testing.","core_skills":["Ruby on Rails (Full-Lifecycle 2.x through 8.x)","PostgreSQL & MySQL Query Optimization & Indexing","Asynchronous Processing (Sidekiq, Resque, Redis)","State Machine Refactoring & Data Integrity","Third-Party API & Webhook Integrations","Test-Driven Development (RSpec, Capybara, FactoryBot)","Docker, Linux, Git & Zero-Downtime Deployment","Fast Ramp-Up & Autonomous IC Execution"],"featured_positions":[{"id":"onemain","focus":"Architected and delivered an instant loan disbursement pipeline (funding to debit cards in minutes) and refactored multi-step Rails workflow state machines, eliminating lateral state corruptions across high-volume customer prequalification pipelines."},{"id":"sk-holdings","focus":"Sequenced zero-downtime Ruby and Rails version upgrades, optimized MySQL full-text search indices, and built batch Sidekiq/SendGrid delivery pipelines."},{"id":"activecampaign","focus":"Introduced testable query patterns and caching into a tightly coupled PHP/MySQL CRM backend and extended the Ember.js frontend test suite across contact management workflows."},{"id":"upcity","focus":"Integrated Chargify recurring billing and standardized multi-VM local development environments via Vagrant."},{"id":"viewpoints","focus":"Implemented custom tracking analytics and automated staging/production deployment pipelines for high-traffic consumer web products."}],"selected_projects":[{"id":"wwworkremote"},{"id":"phalanx-duel"},{"id":"agent-tooling"}],"additional_experience":[{"id":"reachlocal"},{"id":"benchprep"},{"id":"coderwall"},{"id":"tandem"}]}}
{"type":"archetype","id":"founding_staff_fullstack","data":{"id":"founding_staff_fullstack","file_slug":"mike-hall-founding-staff-engineer","short_label":"Founding Staff","title":"Founding Staff Engineer (0-to-1 Product & AI Systems)","target_tier":"Early-Stage / High Agency / 0-to-1 Product & AI Engineering","identity_lens":"Shows how I turn ambiguity into working software with tight feedback and explicit verification.","evidence_path":"/phalanx-duel/","summary":"Hands-on Founding Staff Engineer who translates product ambiguity into robust, production-ready software. Combines full-stack web development (Rails, PostgreSQL, modern JS/TypeScript) with practical local-first AI engineering (pgvector embeddings, local LLM orchestration, prompt injection defense, and browser automation).","core_skills":["0-to-1 Full-Stack Architecture & Rapid Prototyping","Local-First AI Orchestration (llama.cpp, whisper.cpp, Claude API)","Vector Embeddings & Semantic Search (PostgreSQL pgvector)","Prompt Injection Defense & Multi-Stage Guardrails","AI Agent Workflows & MCP Server Integration (Python, Node.js)","Automated Schema Inference & Dynamic JSON Pipelines","Ruby on Rails, Node.js, WebSockets & Real-Time Sync","High Agency, Autonomous Problem Solving"],"featured_positions":[{"id":"onemain","focus":"Built practical AI prototypes with a hackathon team, introduced local-first workflows through Geekfest@OMF, and helped establish safer ways to apply emerging tools to platform work."},{"id":"phalanx-duel","focus":"Built a server-authoritative deterministic game platform in TypeScript and Node.js: pure rules engine, append-only action ledger, WebSocket real-time sync, and property-based Truth Gate verification gates across the full state lifecycle."},{"id":"wwworkremote","focus":"Architected multi-source Rails ingestion pipeline, pgvector semantic search, local-first YAML model registry, 4-stage prompt injection defense, and 16-adapter MV3 Chrome extension."},{"id":"technical-conversation-archive","focus":"Built local-only Whisper transcription pipeline, semantic taxonomy cross-linking, and build-time schema enforcement gates for a multi-decade tech interview media corpus."}],"selected_projects":[{"id":"agent-tooling"}],"additional_experience":[{"id":"coderwall"},{"id":"reachlocal"},{"id":"sk-holdings"},{"id":"groupon"},{"id":"ticketsnow"}]}}
{"type":"archetype","id":"observability_resilience_specialist","data":{"id":"observability_resilience_specialist","file_slug":"mike-hall-observability-resilience-specialist","short_label":"Observability","title":"Staff Observability & Resilience Architect","target_tier":"Observability / Site Reliability / System Telemetry","identity_lens":"Shows how I turn dark system behavior into useful signal, diagnosis, and safer decisions.","evidence_path":"/panoramic-view/","summary":"Observability and Resilience Architect specializing in illuminating dark telemetry, enterprise OpenTelemetry rollouts, and deep incident root cause triage. Eliminates cross-service blind spots by engineering end-to-end distributed trace propagation across legacy microservices and modern cloud infrastructure.","core_skills":["OpenTelemetry Working Group Leadership & Governance","Distributed Trace Context Propagation (W3C Trace Context)","OTel Collector Pipeline Engineering (Receivers, Processors, Exporters)","Dark Telemetry Illumination & Latency Bottleneck Detection","Edge PII Scrubbing, Masking & Sensitive Data Governance","Production Incident Triage for 100+ Person Bridge Calls","APM & Backend Integration (OpenObserve, Datadog, ELK, Prometheus)","High-Concurrency Distributed Systems Reliability"],"featured_positions":[{"id":"onemain","focus":"Founded and led the OpenTelemetry Working Group, establishing distributed observability across application and integration boundaries and connecting system signals to incident response and safer change."},{"id":"agent-tooling","focus":"Built telemetry-driven diagnosis MCP server exposing distributed traces and error budgets directly to AI agent runtimes."},{"id":"wwworkremote","focus":"Built comprehensive error tracking and validation guardrails for continuous document ingestion and model inference."},{"id":"activecampaign","focus":"Made previously opaque PHP backend behavior observable through structured query patterns and test coverage, improving change safety and developer feedback loops."},{"id":"groupon","focus":"Engineered fraud detection queries in Vertica and conducted exploratory anomaly detection spikes in Hadoop and Clojure."}],"selected_projects":[{"id":"agent-tooling"},{"id":"technical-conversation-archive"}],"additional_experience":[{"id":"sk-holdings"},{"id":"benchprep"},{"id":"reachlocal"},{"id":"ticketsnow"}]}}
{"type":"position","id":"activecampaign","data":{"company":{"name":"ActiveCampaign","location":"Chicago, IL"},"title":"Senior Software Developer","type":"Contract","start_date":"2018-09-01","end_date":"2018-12-01","date_precision":"month","id":"activecampaign","summary":"Short-term senior contract on the Contacts team of a large-scale PHP/MySQL CRM platform. Focused on testability, performance, and change safety inside a tightly coupled legacy backend while extending the Ember.js frontend test suite.","public_summary":"Software Engineer on a large CRM platform, focused on testability, performance, and safer change inside a legacy backend.","public_highlights":[{"text":"Replaced fragile data-access patterns with structured, testable queries and improved performance."},{"text":"Strengthened automated verification around core customer workflows, enabling safer refactoring."}],"highlights":[{"text":"Legacy Query Modernization: Replaced ad-hoc global data access with structured, cacheable query patterns in the PHP backend, enabling unit testability and sub-second query execution."},{"text":"Frontend Verification Gates: Hardened Ember.js automated test suites across core CRM contact workflows, creating safety gates that enabled non-breaking legacy PHP refactoring."}],"skills":["PHP","MySQL","Ember.js","JavaScript","Legacy System Modernization","Backend System Architecture","Automated Testing","Performance Optimization"],"related_interviews":["interview-with-charley-baker-general","igor-polevoy-general"]}}
{"type":"position","id":"agent-tooling","data":{"company":{"name":"Local AI Orchestration & Developer Runtime","location":"Independent Project"},"title":"Principal Architect","type":"Project","start_date":"2026-01-01","end_date":null,"date_precision":"year","id":"agent-tooling","summary":"Built and operate three MCP (Model Context Protocol) servers that expose live system state as callable tools to any MCP client, alongside the Claude Code skills, context-isolated subagents, and commit-time checks that keep agent work bounded and reviewable.\n","public_summary":"Built local-first tools that help engineers and AI systems work with clear context boundaries, observable behavior, and human-reviewed change.","public_highlights":[{"text":"Built tools that make technical context reusable across sessions without treating generated output as authority."},{"text":"Added observable diagnostics and bounded review steps to keep automated engineering work understandable and reversible."}],"highlights":[{"text":"Bidirectional Knowledge Server: Built ctx-mcp, an MCP server fronting a PostgreSQL knowledge suite that agents both query and write back to, so methodologies and lessons learned in one session are retrievable in the next rather than re-derived.\n"},{"text":"Telemetry-Driven Diagnosis: Built o2-mcp, exposing on-demand OpenObserve telemetry (errors, slow spans, failed jobs, distributed traces) as agent-callable tools, so an agent diagnoses a running system from observed behavior instead of inferring from source.\n"},{"text":"Context as a Budgeted Resource: Designed context-isolated subagents that keep high-volume audit work out of the main conversation's context window, with per-client registration tooling and pre-commit hooks that reject any agent asset that isn't self-describing.\n"}],"skills":["Model Context Protocol (MCP)","Agentic Workflow Design","Claude Code","Anthropic API","LLM Tool Design","PostgreSQL","OpenTelemetry","OpenObserve","llama.cpp","whisper.cpp","Local Inference","PHI Scrubbing & Compliance","Ruby"]}}
{"type":"position","id":"bdi","data":{"company":{"name":"Business Decisions, Inc.","location":"Remote"},"title":"Principal Developer","type":"Full-time","start_date":"2008-10-01","end_date":"2009-08-01","date_precision":"month","id":"bdi","summary":"Owned all technical strategy and system development, leading lifecycle modernization for multi-firm consulting teams.","highlights":["Directed technical strategy and end-to-end software development across multi-firm consulting teams, establishing reliable delivery standards.","Automated continuous integration pipelines using Subversion and CruiseControl.NET, eliminating manual build errors.","Engineered standardized VMware development environments, reducing contractor onboarding time from days to hours."],"skills":["C#","ASP.NET","Microsoft SQL Server","Subversion","CruiseControl.NET","VMWare","IIS","JavaScript","JSON"]}}
{"type":"position","id":"benchprep","data":{"company":{"name":"BenchPrep","location":"Chicago, IL"},"title":"Senior Software Developer","type":"Full-time","start_date":"2017-03-01","end_date":"2018-02-01","date_precision":"month","id":"benchprep","summary":"Owned enterprise assessment workflows, leading correctness and platform security in a high-concurrency environment.","highlights":[{"text":"Assessment Query Optimization: Optimized complex PostgreSQL calculations across high-stakes exam scoring engines, eliminating calculation drift and reducing query latency."},{"text":"JWT Response Verification: Implemented JWT-based cryptographic payload signing and once-only processing, securing exam submission pipelines against client-side tampering."},{"text":"Secure Embedded Client APIs: Designed secure cross-origin API boundaries for embedded enterprise assessment clients, establishing explicit authentication and trust contracts."}],"skills":["Ruby","Ruby on Rails","PostgreSQL","JWT Authentication","Backend System Architecture","Secure API Design","Database Performance Optimization","Observability and Logging"],"related_interviews":["paul-baker-general","katrina-owen-general"]}}
{"type":"position","id":"bp","data":{"company":{"name":"BP","location":"Naperville, IL"},"title":"Senior Software Developer","type":"Contract","start_date":"2005-06-01","end_date":"2005-11-01","date_precision":"month","id":"bp","summary":"Owned critical feature enhancements for an industrial invoicing system, leading performance optimization in high-volume billing workflows.","highlights":["Engineered core invoicing features in VB.NET, streamlining high-volume industrial billing workflows.","Redesigned stored procedures and optimized SQL Server query execution plans, significantly reducing latency in critical end-of-month billing cycles."],"skills":["ASP.NET","C#","Microsoft SQL Server","Transact-SQL (T-SQL)","Visual Basic .NET (VB.NET)","Windows Server"]}}
{"type":"position","id":"brightstar","data":{"company":{"name":"Brightstar Corporation","location":"Libertyville, IL"},"title":"Senior .NET Developer","type":"Full-time","start_date":"2007-03-01","end_date":"2008-04-01","date_precision":"month","id":"brightstar","summary":"Owned enterprise supply-chain integration, leading cross-system data unification for a global mobile device distributor.","highlights":["Orchestrated an enterprise BizTalk integration unifying purchase orders, inventory, and financial systems across global distribution centers.","Designed and built an operational dashboard giving leadership real-time visibility into global supply-chain throughput.","Integrated Solomon accounting software with custom internal platforms using SubSonic ORM and T-SQL, eliminating manual accounting reconciliation."],"skills":["C#","ASP.NET","Microsoft BizTalk Server","Microsoft SQL Server","SubSonic ORM","Solomon Accounting Software","Transact-SQL (T-SQL)","XML","SOAP"]}}
{"type":"position","id":"ch-robinson","data":{"company":{"name":"C.H. Robinson","location":"Oakbrook, IL"},"title":"System Administrator","type":"Full-time","start_date":"1999-12-01","end_date":"2000-07-01","date_precision":"month","id":"ch-robinson","summary":"Owned critical site infrastructure, leading early logistics workflow automation in a high-availability environment.","highlights":["Managed site server infrastructure and hardware upgrades, ensuring 24/7 uptime for regional logistics operations.","Prototyped an automated shipment booking workflow, reducing manual scheduling overhead for freight operations."],"skills":["Windows NT","Windows 98"]}}
{"type":"position","id":"coderwall","data":{"company":{"name":"Coderwall","location":"Remote"},"title":"Open-Source Transition Lead","type":"Contract","start_date":"2014-01-01","end_date":"2014-12-01","date_precision":"month","id":"coderwall","summary":"Hired as a contractor by the founder to lead the open-source transition of the Coderwall developer reputation platform, a Y Combinator-backed professional network for software engineers (856 GitHub stars, 304 forks). Delivered security hardening, proprietary service extraction, infrastructure modernization, and community leadership as the top contributor to the open-source codebase.","highlights":[{"text":"Open-Source Transition & Security Hardening: Led open-source transition for a YC-backed developer network (856 GitHub stars, 304 forks), closing critical SQL injection, XSS, and Symbol DoS vulnerabilities before public release."},{"text":"Proprietary Service Decoupling: Extracted proprietary billing engines and scoring algorithms into isolated backend services with clean API stubs, safeguarding business logic."},{"text":"Database Migration & Sidekiq Modernization: Executed two-phase database migration from MongoDB to PostgreSQL and converted legacy Resque jobs to Sidekiq, cutting operational costs."}],"skills":["Ruby","Ruby on Rails","PostgreSQL","Redis","Sidekiq","ElasticSearch","AWS S3","Heroku","JavaScript","Backbone.js","MongoDB","Vagrant","Travis CI"],"related_interviews":["how-to-say-ugtastic-general","ashe-dryden-general"]}}
{"type":"position","id":"groupon","data":{"company":{"name":"Groupon","location":"Chicago, IL","url":"https://www.groupon.com","sameAs":["https://www.wikidata.org/wiki/Q153093","https://en.wikipedia.org/wiki/Groupon"]},"title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","type":"Full-time","start_date":"2011-07-01","end_date":"2013-05-01","date_precision":"month","id":"groupon","summary":"Owned core backend systems for fraud and taxonomy, leading global engineering enablement during hyper-growth.","highlights":[{"text":"Centralized Taxonomy Service: Implemented merchant taxonomy service in Java and MySQL, eliminating categorization drift across distributed product teams during hypergrowth."},{"text":"Analytical Fraud Detection: Built analytical fraud detection queries in Vertica and conducted exploratory spikes on Hadoop and Clojure for transaction anomaly scoring."},{"text":"Merchant Analytics Pipelines: Built high-throughput merchant analytics tools in Ruby and CouchDB, surfacing market insights for global sales operations."},{"text":"Global Engineering Enablement: Redesigned technical onboarding curricula, standardizing engineering practices and shortening time-to-first-commit for 100+ global engineering hires."}],"skills":["Ruby","Java","Clojure","CouchDB","Vertica","Hadoop","MySQL","Redis","JavaScript","Bash"],"related_interviews":["dave-hoover-geekfest-geekfest","steve-kim-jim-suchy-chicago-software-craftsmanship-chicago-software-craftsmanship","ray-hightower-chicagoruby-software-craftsmanship-north-america-2011"]}}
{"type":"position","id":"ips","data":{"company":{"name":"Integrated Performance Solutions, Inc.","location":"East Dundee, IL"},"title":"Programmer Analyst","type":"Full-time","start_date":"2003-11-01","end_date":"2004-07-01","date_precision":"month","id":"ips","summary":"Owned dynamic reporting architecture, leading the platform transition from classic ASP to .NET environments.","highlights":["Developed a custom report rules engine and UI, allowing end users to generate dynamic reports without engineering intervention.","Engineered a dynamic SQL rules wizard using early JSON data structures to support flexible reporting schemas.","Migrated legacy reporting components to ASP.NET Web Forms, establishing modern .NET architectural standards."],"skills":["ASP.NET","Active Server Pages (ASP)","JavaScript","JSON","Microsoft SQL Server","Transact-SQL (T-SQL)","Visual Studio .NET","CSS"]}}
{"type":"position","id":"jpmc","data":{"company":{"name":"JPMorgan Chase & Co.","location":"Chicago, IL","url":"https://www.jpmorganchase.com","sameAs":["https://www.wikidata.org/wiki/Q192314","https://en.wikipedia.org/wiki/JPMorgan_Chase"]},"title":"Assistant Vice President, Application Developer","type":"Full-time","start_date":"2008-04-01","end_date":"2008-10-01","date_precision":"month","id":"jpmc","summary":"Owned cross-system integration stability, leading defect resolution in regulated financial workflows.","highlights":["Diagnosed and resolved complex distributed integration failures across SOAP-based web services, restoring reliability to high-value financial transaction workflows.","Eliminated data desynchronization bugs between .NET middle-tier services and legacy mainframe accounting systems, ensuring exact reporting accuracy for institutional clients."],"skills":["C#","ASP.NET","SOAP","XML","Microsoft SQL Server","Transact-SQL (T-SQL)","Visual Basic .NET (VB.NET)","JSON"]}}
{"type":"position","id":"klobomedia","data":{"company":{"name":"KloboMedia","location":"Remote"},"title":"CTO","type":"Founder","start_date":"2014-03-01","end_date":"2016-09-01","date_precision":"month","id":"klobomedia","summary":"Owned end-to-end platform architecture, leading high-throughput data integration for an early-stage social media startup. The product, TheSocReport, ended when the upstream data taps closed: Twitter's firehose shutdown and the closing of Facebook's and Instagram's user-intelligence APIs removed the inputs the analytics depended on.","highlights":["Architected a social analytics platform integrating Twitter, Facebook, and Instagram APIs, delivering unified audience engagement metrics.","Designed an asynchronous ingestion pipeline using Sidekiq Enterprise and Redis, processing real-time social streams under burst traffic.","Implemented a PostgreSQL JSONB document storage architecture, allowing fast schema evolution across heterogeneous third-party API payloads.","Automated multi-cloud deployment pipelines across Heroku and AWS, establishing reproducible staging and production infrastructure."],"skills":["Ruby","Ruby on Rails","PostgreSQL","Redis","Sidekiq","Amazon RDS","Heroku","DigitalOcean","Twitter API","Facebook Graph API","Instagram API"]}}
{"type":"position","id":"motorola","data":{"company":{"name":"Motorola","location":"Libertyville, IL"},"title":"Senior Software Developer","type":"Contract","start_date":"2004-08-01","end_date":"2005-05-01","date_precision":"month","id":"motorola","summary":"Owned retail feature delivery, leading iterative execution in a complex enterprise sales portfolio application.","highlights":["Introduced Scrum agile practices to cross-functional enterprise teams, increasing release predictability and milestone transparency.","Developed core retail portfolio features in C#, ASP.NET, and SQL Server, supporting high-volume device sales operations."],"skills":["C#","ASP.NET","Microsoft SQL Server","SOAP","Scrum","Transact-SQL (T-SQL)","XML"]}}
{"type":"position","id":"new-labor-strategies","data":{"company":{"name":"New Labor Strategies, Inc.","location":"Park Ridge, IL"},"title":"Programmer Analyst","type":"Full-time","start_date":"2002-06-01","end_date":"2003-11-01","date_precision":"month","id":"new-labor-strategies","summary":"Owned kiosk-based HR modules, leading frontend modernization for high-friction factory floor environments.","highlights":["Engineered touch-screen interfaces and automated job-bidding modules for factory floor kiosks, streamlining workforce shift operations.","Refactored legacy VBScript workflows with client-side JavaScript, significantly improving UI responsiveness on embedded kiosk hardware."],"skills":["Active Server Pages (ASP)","VBScript","JavaScript","Microsoft SQL Server","CSS","HTML"]}}
{"type":"position","id":"obtiva","data":{"company":{"name":"Obtiva","location":"Chicago, IL"},"title":"Software Engineer","type":"Full-time","start_date":"2009-08-01","end_date":"2011-07-01","date_precision":"month","id":"obtiva","summary":"Delivered backend systems and services as a consultant across multiple clients, including Sears, Leapfrog Online, and Groupon, supporting early-stage scaling and data-driven operations in high-growth environments.\n","highlights":[{"text":"Self-Service Analytics Platforms: Built reporting platforms for Leapfrog Online, enabling business stakeholders to query and export data warehouse analytics autonomously.\n"},{"text":"Enterprise B2B Catalog Services: Developed commercial B2B sales and product catalog integration services for Sears, opening new enterprise revenue streams.\n"},{"text":"Hypergrowth Transaction Pipelines: Engineered deal-processing services and fraud analysis pipelines at Groupon, stabilizing backend transaction infrastructure during extreme user growth.\n"}],"skills":["C#","Ruby","Ruby on Rails","JavaScript","SQL Server","MySQL","Git","RSpec","Resque","NGINX"],"related_interviews":["dave-hoover-geekfest-geekfest"],"related_topics":["Software Craftsmanship","Developer Mentorship"]}}
{"type":"position","id":"onemain","data":{"company":{"name":"OneMain Financial","location":"Remote","url":"https://www.onemainfinancial.com","sameAs":["https://www.wikidata.org/wiki/Q65089793","https://en.wikipedia.org/wiki/OneMain_Financial"]},"title":"Associate Director, Staff Engineer","type":"Full-time","start_date":"2021-01-01","start_day":null,"end_date":"2026-02-01","date_precision":"month","end_day":null,"id":"onemain","summary":"Appointed as Senior Technical IC and Software Architecture Lead for the Acquisition lane of a regulated financial enterprise. Mapped the entire loan acquisition and origination pipeline end-to-end from visit to booked loan using the Panoramic View technique of longitudinal and latitudinal analysis from desktop browser to mainframe and back again at each step, and applied the same depth to the Affiliate API. Engineered an automated 5-phase PII deletion engine across 30+ tables, deployed enterprise distributed observability, and guided cross-team platform reliability.\n","public_summary":"Software Engineer and architecture lead who recovered lost knowledge and made it actionable, helping make regulated customer workflows easier to understand, safer to change, and more observable across organizational boundaries.","public_highlights":[{"text":"Mapped the loan acquisition and origination pipeline end-to-end from visit to booked loan across browser, mainframe, and Affiliate API, identifying seven distinct lending funnels."},{"text":"Built data-risk remediation and architecture-discovery practices that made legacy dependencies visible and safer to change."},{"text":"Diagnosed a production state-management defect affecting application completion and moved the system to a more durable session design without interrupting service."},{"text":"Established distributed observability across application and integration boundaries, improving the evidence available during incident response."},{"text":"Built communities of practice, mentoring loops, and handoff mechanisms that distributed technical ownership beyond a single engineer."}],"highlights":[{"text":"Originations IC Delivery & Instant Disbursement: Led the Originations Verification squad through consecutive Exceeds Expectations ratings, architecting and shipping an instant loan disbursement pipeline (funding to debit cards in minutes). Appointed Software Architect for the Acquisition Lane, later converting to Associate Director, Staff Engineer.\n"},{"text":"Acquisition Workflow Enablement & Architecture Discovery: Founded the Acquisition Lane enablement team; mapped the loan acquisition and origination pipeline end-to-end from visit to booked loan (desktop browser to mainframe and back again at each step) and the Affiliate API at the same depth, identifying seven distinct lending funnels with a tracking initiative; architected an automated 5-phase PII remediation deletion engine across 30+ tables.\n"},{"text":"Enterprise Resilience & DynamoDB Session Remediation: Diagnosed and eliminated a critical session-cookie overflow defect that caused 4% silent traffic loss of digital loan applications during e-signing; architected zero-downtime blue/green migration to DynamoDB session store with zero incidents.\n"},{"text":"Enterprise Trace & Operational Alignment: Architected distributed telemetry across Rails distributed monoliths, MuleSoft APIs, and IBM mainframe backends; partnered directly with Cybersecurity, EMC, SRE, and Incident Command to align monitoring with end-to-end distributed tracing.\n"},{"text":"Community Enablement & SRE Handoff: Founded weekly Geekfest@OMF and scaled the enterprise OpenTelemetry Working Group to 40+ cross-lane engineers; mentored and partnered with SRE leads to transition ongoing operational facilitation, establishing a durable community of practice.\n"},{"text":"Applied AI & Innovation Leadership: Placed in two corporate hackathons building conversational agents with Rasa and a schema inference prototype; pioneered local LLM orchestration and privacy-conscious AI developer tooling at Geekfest@OMF.\n"}],"case_study":{"title":"De-Risking Legacy Acquisition Workflows & Enterprise Telemetry","challenge":"Over years of rapid business expansion, high-volume financial customer loan application and origination flows accumulated implicit lateral state dependencies across multi-service Rails state machines, MuleSoft APIs, and IBM mainframe backends. Client-side session cookie bloat caused a persistent session-cookie overflow defect that silently corrupted state and dropped 4% of digital applications between offer selection and e-signing.","cartography_approach":[{"dimension":"Interaction Surface","detail":"Mapped the entire loan acquisition and origination pipeline end-to-end from initial visit to booked loan across browser, mobile, and Affiliate API ingress points, identifying seven distinct lending funnels through a dedicated tracking initiative."},{"dimension":"Lateral & Implicit State Dependencies","detail":"Inventoried the intersection of business rules, customer actions, and system state changes; mapped 40+ applicant database tables, isolated legacy clarity_ and underwriting_ orphan data, and architected an automated 5-phase PII deletion engine."},{"dimension":"Full-Stack Network & Boundary Topology","detail":"Conducted longitudinal and latitudinal analysis across the process sequence, tracing each step from desktop browser down through Rails services and MuleSoft integration layers to IBM mainframe backends and back again to establish the unified Enterprise Trace."},{"dimension":"Supply Chain & Vulnerability Exposure","detail":"Audited third-party credit bureau APIs, e-sign vendor webhooks, and boundary ingress points, providing real-time causal event chains for cybersecurity and fraud investigations."}],"outcomes":["Diagnosed and resolved a persistent session-cookie overflow defect affecting 4% of digital applicant traffic by implementing custom rescue middleware and migrating Rails session state to AWS DynamoDB with zero downtime.","Engineered an automated 5-phase PII remediation engine across 30+ tables, eliminating legacy orphan references without disrupting live application state.","Mapped the entire loan acquisition and origination pipeline end-to-end from visit to booked loan, connecting desktop browser, Rails, MuleSoft, and mainframe backends with distributed tracing to accelerate root-cause diagnosis for Incident Command.","Partnered with Cybersecurity and Enterprise Monitoring Center (EMC) to bridge immediate operational monitoring with long-term distributed telemetry and causal event attribution.","Unblocked continuous legacy modernization by establishing verified state change gates across distributed Rails services.","Founded and technically led Acquisition Lane enablement for privacy remediation, modernization, and growth-team support, while leading a 3-year enterprise community arc through Geekfest@OMF and the OpenTelemetry Working Group, then transitioning stewardship to SRE."]},"skills":["Cross-Team Technical Leadership","Platform Architecture","Legacy Modernization","Architecture Discovery","Dependency Mapping","System Resilience","Incident Leadership","DynamoDB","Observability","OpenTelemetry","Distributed Systems","Ruby on Rails","PostgreSQL","AWS"]}}
{"type":"position","id":"phalanx-duel","data":{"company":{"name":"Phalanx Duel","location":"Independent Project"},"title":"Principal Architect","type":"Project","start_date":"2022-01-01","end_date":null,"date_precision":"year","id":"phalanx-duel","summary":"Designing and building a real-time tactical game platform as a current hands-on laboratory for deterministic systems, product architecture, and controlled AI-assisted engineering.\n","public_summary":"Building a real-time tactical game as a laboratory for deterministic systems, product architecture, and carefully bounded AI-assisted engineering.","public_highlights":[{"text":"Designed replayable state transitions so complex outcomes remain reproducible and independently reviewable."},{"text":"Built verification gates that test system behavior across the full lifecycle."}],"highlights":[{"text":"Designed a deterministic engine with replayable action logs and server-authoritative state transitions, making complex outcomes reproducible and independently verifiable.\n"},{"text":"Built replay validation, adversarial coverage, and CI verification gates so state transitions can be checked across the complete lifecycle.\n"},{"text":"Uses controlled agent workflows with bounded tasks, acceptance criteria, automated checks, and human-reviewed outputs rather than treating model output as authority.\n"}],"skills":["TypeScript","Node.js","PostgreSQL","WebSockets","API Design","Distributed Systems","Deterministic Simulation","CI/CD","System Verification","AI-Augmented Development"],"related_interviews":["corey-haines-general","aaron-bedra-general","avdi-grimm-general"]}}
{"type":"position","id":"reachlocal","data":{"company":{"name":"ReachLocal","location":"Remote"},"title":"Senior Software Developer","type":"Full-time","start_date":"2015-03-01","end_date":"2016-11-01","date_precision":"month","id":"reachlocal","summary":"Owned API design and modernization strategy, leading incremental legacy migration for a high-volume digital marketing platform.","highlights":[{"text":"Strangler-Fig Modernization: Architected incremental modernization roadmap, replacing a high-risk full rewrite with a phased Strangler-Fig migration under production load."},{"text":"Internal API Gateway: Built internal API Gateway with standardized JSON contracts and token authentication, safely isolating legacy backend services."},{"text":"Automated CI/CD Verification: Introduced automated static analysis and security scanning into deployment pipelines, preventing regression and vulnerability drift."}],"skills":["Platform Architecture","API Gateway Design","Ruby on Rails","PostgreSQL","React","Redis","Legacy System Modernization","Secure API Design","Data Migration Strategy"],"related_interviews":["charles-oliver-nutter-general","igor-polevoy-general"]}}
{"type":"position","id":"riverpoint","data":{"company":{"name":"Riverpoint Group","location":"Des Plaines, IL"},"title":"Software Developer","type":"Contract","start_date":"2004-07-01","end_date":"2004-08-01","date_precision":"month","id":"riverpoint","summary":"Owned reusable UI component architecture, leading frontend delivery for a personal health monitoring platform.","highlights":["Developed a modular library of reusable ASP.NET Web Forms components, standardizing UI consistency across patient-facing health monitoring modules.","Optimized SQL Server query performance and indexing, ensuring fast rendering for real-time patient health visualization metrics."],"skills":["ASP.NET","C#","Microsoft SQL Server","JavaScript","HTML","CSS"]}}
{"type":"position","id":"sentinel","data":{"company":{"name":"Sentinel Technologies, Inc.","location":"Downers Grove, IL"},"title":"Application Analyst","type":"Full-time","start_date":"2000-07-01","end_date":"2001-10-01","date_precision":"month","id":"sentinel","summary":"Owned custom web delivery and early OCR prototyping, leading cross-platform implementations for enterprise clients.","highlights":["Designed an early-stage OCR pipeline using Unix shell scripting and pattern extraction, parsing and digitizing semi-structured paper receipts into relational databases.","Delivered custom web applications and database integrations for enterprise clients, including Harley-Davidson.","Transitioned from JSP to Active Server Pages and Microsoft Access while learning the source-control and delivery practices of the Windows web stack."],"skills":["Java","JSP","Active Server Pages (ASP)","Microsoft Access","Visual SourceSafe","Microsoft SQL Server","JavaScript","HTML","CSS","VBScript"]}}
{"type":"position","id":"sk-holdings","data":{"company":{"name":"SK Holdings, Inc.","location":"Chicago, IL"},"title":"Senior Backend Developer","type":"Full-time","start_date":"2019-01-01","end_date":"2020-12-01","date_precision":"month","id":"sk-holdings","summary":"Led backend stability, performance, and modernization for high-traffic Rails products, improving full-text search, campaign delivery pipelines, and data layer reliability while systems remained under production load.\n","public_summary":"Software Engineer focused on backend stability, performance, and safe modernization for high-traffic Rails products.","public_highlights":[{"text":"Improved search and asynchronous delivery systems while production traffic continued to flow."},{"text":"Led framework and database upgrades with a staged approach designed to protect service continuity."}],"highlights":[{"text":"Search Infrastructure Modernization: Eliminated external cluster failure modes and reduced operating footprint by migrating legacy Sphinx to optimized MySQL full-text search and relational indices under live production traffic.\n"},{"text":"Zero-Downtime Rails Upgrades: Led Ruby and Rails framework upgrades across core applications, sequencing database migrations to ensure zero downtime during platform modernization.\n"}],"skills":["Ruby on Rails","MySQL","Full-Text Search","Redis","Sidekiq","SendGrid Async Pipelines","Data Analytics & SQL","CI/CD","System Observability","Backend Architecture"]}}
{"type":"position","id":"tandem","data":{"company":{"name":"Tandem","location":"Chicago, IL","also_known_as":"DevMynd"},"title":"Principal Consultant","type":"Contract","start_date":"2018-08-01","end_date":"2018-08-01","date_precision":"month","id":"tandem","summary":"Conducted an on-site architectural and operational assessment for an at-risk federal software program (DoD MEPS), delivering viability analysis and risk mitigation recommendations directly to executive leadership.","highlights":[{"text":"Federal Program Viability Assessment: Conducted on-site operational research at DoD military processing facilities (MEPS), identifying critical disconnects between enlistment workflows and proposed software models.\n"},{"text":"Executive Architecture Advisory: Delivered architectural risk analysis directly to executive leadership, defining remediation paths to mitigate contractual and delivery liabilities.\n"}],"skills":["System Resilience","Platform Architecture","Federal Software Assessment","Operational Field Research"],"related_interviews":["interview-with-dan-north-general","sergio-pereira-chicago-alt-net-software-craftsmanship-north-america-2011"]}}
{"type":"position","id":"technical-conversation-archive","data":{"company":{"name":"Technical Conversation Archive","location":"Independent Project"},"title":"Principal Engineer & Curator","type":"Project","start_date":"2011-01-01","end_date":null,"date_precision":"year","id":"technical-conversation-archive","summary":"Recorded, and later restored, an archive of 214 technical interviews with practitioners from the Ruby, JVM, and Software Craftsmanship movements, using a local-only AI pipeline to transcribe, structure, and cross-link a longitudinal record of primary-source material into a searchable knowledge graph.\n","highlights":[{"text":"Local-Only AI Restoration Pipeline: Built a Whisper and local-LLM pipeline that transcribes, diarizes, and structures long-form interview audio entirely on-device, keeping a large private media corpus off third-party inference services.\n"},{"text":"Schema-Validated Content Platform: Runs on a contract-validated data layer: every interview, asset, and transcript is checked against an explicit schema at build time, with referential-integrity checks that fail the build rather than publishing broken data.\n"},{"text":"Semantic Cross-Linking & Taxonomy Generation: Generates a topic taxonomy, knowledge graph, and semantic cross-links across the corpus, turning an unstructured media archive into navigable, individually indexed pages.\n"},{"text":"Primary-Source Capture: Conducted the original interviews on-site at GOTO Conference, Software Craftsmanship North America, RailsConf, and WindyCityRails, with practitioners including Dave Thomas, Stuart Halloway, Corey Haines, Sandro Mancuso, and Micah Martin.\n"},{"text":"Digital Archaeology: Recovered and reconstructed material from defunct platforms and web archives, reconciling incomplete metadata across sources to restore provenance for recordings that would otherwise have been lost.\n"}],"skills":["Local-First AI Inference","Whisper & Speech-to-Text","LLM-Assisted Content Structuring","Knowledge Graph Construction","Semantic Search & Taxonomy","Schema Validation & Data Contracts","Digital Preservation","Ruby","Jekyll","SEO & Information Architecture"]}}
{"type":"position","id":"ticketsnow","data":{"company":{"name":"TicketsNow","location":"Crystal Lake, IL"},"title":"Senior .NET Developer","type":"Full-time","start_date":"2005-11-01","end_date":"2007-03-01","date_precision":"month","id":"ticketsnow","summary":"Owned real-time inventory systems, leading transactional integrity and iterative delivery for revenue-critical operations.","highlights":["Architected a real-time inventory locking and transaction reconciliation service, preventing race conditions on concurrent ticket sales and generating $2M+ in protected revenue.","Introduced and led Scrum agile practices for the core transaction engineering team, improving sprint delivery predictability."],"skills":["C#","ASP.NET","Microsoft BizTalk Server","Microsoft SQL Server","Scrum","Transact-SQL (T-SQL)","SOAP","CodeSmith API","JSON","JavaScript"]}}
{"type":"position","id":"trippe","data":{"company":{"name":"Trippe Manufacturing, Inc.","location":"Chicago, IL"},"title":"Software Developer","type":"Contract","start_date":"2001-10-01","end_date":"2001-12-01","date_precision":"month","id":"trippe","summary":"Owned sales lead tracking systems, leading data automation and business continuity during a high-risk vendor transition.","highlights":["Engineered an automated sales lead ingestion and validation pipeline, eliminating manual data entry errors.","Stepped in as direct technical lead following an unexpected vendor departure, maintaining uninterrupted sales tracking continuity."],"skills":["Microsoft Access","Visual Basic","Visual Basic for Applications (VBA)","Visual SourceSafe"]}}
{"type":"position","id":"upcity","data":{"company":{"name":"Upcity","location":"Remote"},"title":"Senior Software Developer","type":"Full-time","start_date":"2013-10-01","end_date":"2014-02-01","date_precision":"month","id":"upcity","summary":"Owned payment integrations and local development infrastructure, leading system modernization for an SOA-based marketing platform.","highlights":["Integrated the Chargify subscription payment platform, launching self-service recurring billing and account management.","Standardized local development environments using multi-VM Vagrant orchestration, eliminating developer environment drift against production."],"skills":["Ruby","Ruby on Rails","PostgreSQL","Redis","Sidekiq","Riak","Vagrant","NGINX","Capistrano","Bash","Ubuntu"]}}
{"type":"position","id":"viewpoints","data":{"company":{"name":"Viewpoints","location":"Chicago, IL"},"title":"Senior Software Developer","type":"Full-time","start_date":"2013-05-01","end_date":"2013-10-01","date_precision":"month","id":"viewpoints","summary":"Owned core business system development, leading AWS deployment modernization and CI implementation.","highlights":["Implemented custom tracking and analytics tools, enabling targeted monetization and direct platform revenue.","Standardized automated testing and staging environments, establishing reliable continuous integration across the engineering team.","Streamlined AWS deployment pipelines and server images, eliminating deployment downtime during peak consumer traffic spikes."],"skills":["Ruby","Ruby on Rails","AWS EC2","AWS RDS","PostgreSQL","Redis","Resque","Capistrano","NGINX","Sidekiq","Logentries"]}}
{"type":"position","id":"wwworkremote","data":{"company":{"name":"WWWorkRemote","location":"Independent Project"},"title":"Principal Architect","type":"Project","start_date":"2021-01-01","end_date":null,"date_precision":"month","id":"wwworkremote","summary":"Rails 8 platform for multi-source job ingestion, semantic matching, and application automation, built as a working laboratory for local-first LLM orchestration and treating scraped third-party text as hostile input.\n","public_summary":"Building a Rails platform for structured research, semantic search, and human-directed automation.","public_highlights":[{"text":"Unified fragmented sources into a searchable data model for downstream analysis."},{"text":"Designed local-first AI workflows with explicit safety boundaries around untrusted input and sensitive context."}],"highlights":[{"text":"Multi-Source Data Ingestion: Built a multi-source Rails ingestion pipeline and PostgreSQL storage schema, unifying fragmented job market datasets for structured downstream analysis.\n"},{"text":"Semantic Search & Embeddings: Implemented vector search embeddings via pgvector, enabling high-precision semantic matching between complex candidate profiles and job requirements.\n"},{"text":"Local-First AI Orchestration: Designed provider-agnostic LLM orchestration layer (llama.cpp/Ollama with hosted Claude fallback), enforcing local-first inference for sensitive data with per-call model routing.\n"},{"text":"Prompt Injection Defense: Built a 4-stage guardrails pipeline screening untrusted scraped text via weighted heuristics and instruction-density scoring before model ingestion.\n"},{"text":"Browser Extension & Lifecycle Capture: Built an MV3 Chrome extension with 16 provider adapters that extracts postings from live ATS pages and captures full application lifecycles.\n"},{"text":"Architectural Constraint Injection: Injected static analysis rules and architectural constraints into model context windows, preventing drift between generated outputs and security contracts.\n"}],"skills":["Ruby on Rails","PostgreSQL","pgvector","Vector Search & Embeddings","LLM Orchestration","Prompt Injection Defense","Local Inference","Chrome Extensions (MV3)","API Design","Data Pipelines","System Design","OpenTelemetry","Distributed Systems"]}}
{"type":"case_study","id":"case_studies","data":[{"id":"onemain-acquisition","title":"OneMain Financial: Acquisition Workflow Modernization & Enterprise Telemetry","role":"Associate Director, Staff Engineer","period":"2021: 2026","company":"OneMain Financial","domain":"High-Volume Personal Financial Services","summary":"Served as Software Architect for the Acquisition Lane, the customer-facing path through application and account workflows. Mapped the entire loan acquisition and origination pipeline end-to-end from visit to booked loan using the Panoramic View technique of longitudinal and latitudinal analysis across the process sequence, tracing from desktop browser to mainframe and back again at each step, and applied the same depth to the Affiliate API. Identified seven distinct lending funnels through a dedicated tracking initiative, engineered an automated 5-phase PII deletion engine across 30+ tables, and deployed enterprise OpenTelemetry distributed tracing.","modernization_thesis":"Modernization became possible only after the system became understandable. The work restored reliable signal, mapped actual behavior, and created safer conditions for change across a shared Rails platform.","distinctive_contribution":"Mike conceived and pitched the cross-functional SME working group strategy to OMF engineering leadership, establishing that platform modernization scales through empowered domain working groups rather than architectural bottlenecks. He recovered lost knowledge and made it actionable, made complex system behavior explainable, connected runtime evidence to squad ownership, and built repeated learning practices that made platform changes safe.","modernization_quote":"“Fix what’s broken, upgrade the stuff that works, and stabilize the system to allow change. That is the real path to modernization.”","quote_provenance":"Mike's retrospective recollection, recorded November 20, 2025, referring to his OMF Tech ELT presentation. A May 15, 2025 record independently confirms the presentation and its substance.","methodology_lesson":"Innovation is repairing broken systems so they can be understood, improved, and moved forward. Mike's documented method is Inventory, Evaluate, Address. The modernization sequence is a later synthesis of what that work makes possible.","historical_method":{"name":"Inventory → Evaluate → Address","period":"2023","summary":"This is Mike's IEA discovery sequence applied to the Acquisition domain in 2023: establish what exists, decide what is trustworthy and relevant, then take the smallest useful corrective action. Each new pass carries forward what was learned. The six-part modernization sequence is a broader synthesis across IEA, Panoramic View, and OpenTelemetry work.","source_note":"The documented initiative used a quotation attributed to Rear Admiral Grace Murray Hopper, “One accurate measurement is worth a thousand expert opinions.” The attribution belongs to that source record, not to Mike.","steps":[{"name":"Inventory","action":"Record feature flags, experiments, events, customer journeys, code assets, and the knowledge held by teams.","gate":"Can we describe what exists and where the evidence comes from?"},{"name":"Evaluate","action":"Test relevance, viability, data quality, knowledge gaps, and the boundary of the Acquisition domain.","gate":"Do we know which signals and responsibilities can be trusted?"},{"name":"Address","action":"Flatten unnecessary flags, end weak experiments, instrument systems, remove low-confidence events, and cross-train teams.","gate":"Did the intervention improve confidence without hiding the remaining uncertainty?"}]},"operating_model":[{"name":"Stabilize","action":"Restore reliable signal and contain the immediate operational risk.","gate":"Can the team make a bounded change without losing the ability to tell what happened?"},{"name":"Understand","action":"Map customer journeys, dependencies, ownership, and actual runtime behavior.","gate":"Does the evidence connect the business path to code, data, infrastructure, and responsible teams?"},{"name":"Improve","action":"Apply targeted fixes, standards, upgrades, and clearer workflows.","gate":"Is the intervention small enough to verify and strong enough to reduce the known risk?"},{"name":"Measure again","action":"Compare the new signal with the baseline and check for unintended effects.","gate":"Did the measured behavior improve, remain safe, or reveal a new unknown?"},{"name":"Increase confidence","action":"Turn verified results into shared documentation, ownership, and repeatable practice.","gate":"Can another team explain the result and operate the system without relying on one expert?"},{"name":"Enable safer change","action":"Use the increased confidence to make the next migration, extraction, or upgrade safer.","gate":"What is now safe to change next, and what evidence will prove it?"}],"evidence_notes":["Geekfest@OMF created a recurring forum for shared technical learning beginning November 1, 2022.","An Acquisition architecture initiative used Inventory, Evaluate, and Address to improve confidence in customer journeys and event data during 2023.","The OpenTelemetry Working Group established a common model for system behavior across heterogeneous platforms during 2024 and 2025.","The May 15, 2025 Tech ELT record connects observability, ownership, and modernization."],"dimensions":{"interaction_surface":"Mapped the entire loan acquisition and origination pipeline end-to-end from initial visit to booked loan across browser, mobile, and the Affiliate API at identical depth, identifying seven distinct lending funnels through a dedicated tracking initiative.","lateral_state_dependencies":"Mapped 40+ applicant database tables, isolated legacy clarity_ and underwriting_ orphan data, and architected an automated 5-phase PII deletion engine.","full_stack_topology":"Conducted longitudinal and latitudinal analysis across the process sequence, tracing each step from desktop browser down through Rails services and MuleSoft integration layers to IBM mainframe backends and back again, deploying enterprise OpenTelemetry to establish the unified Enterprise Trace.","supply_chain_exposure":"Audited third-party credit bureau APIs, e-sign vendor webhooks, and boundary ingress points, providing real-time causal event chains for cybersecurity and fraud investigations."},"outcomes":["Diagnosed and resolved a persistent session-cookie overflow defect affecting 4% of digital applicant traffic by implementing custom rescue middleware and migrating Rails session state to AWS DynamoDB with zero downtime.","Engineered an automated 5-phase PII remediation engine across 30+ tables, eliminating legacy orphan references without disrupting live application state.","Mapped the entire loan acquisition and origination pipeline end-to-end from visit to booked loan, connecting browser sessions to mainframe transactions via distributed tracing to accelerate root-cause diagnosis for Incident Command.","Pitched and executed the enterprise SME working group operating strategy across Acquisition and Platform squads, establishing Geekfest@OMF and the OpenTelemetry Working Group before transitioning ongoing stewardship to SRE."]},{"id":"phalanx-duel-engine","title":"Phalanx: Duel: Tabletop Rules to Multiplayer Engine","role":"Creator, Principal Architect","period":"2022: 2026","company":"Phalanx: Duel","domain":"Multiplayer Tactical Game & Engine (phalanxduel.com)","summary":"Designed a tactical card duel at Boy Scout Camp Tesomas in 2022 and prototyped its combat rules in Ruby. Rebuilt it as a server-authoritative TypeScript engine, with a deterministic engine package kept separate from the transport layer, a Go CLI, a TypeScript SDK, and an experimental SwiftUI client, now running live at phalanxduel.com.","dimensions":{"interaction_surface":"WebSocket protocol (createMatch, joinMatch, watchMatch, action, authenticate) paired with an OpenAPI 3.0 REST surface for matchmaking, ladder, and replay, a TypeScript SDK, a Go CLI (duel-cli), and an experimental SwiftUI iOS client, all built against one shared schema contract.","lateral_state_dependencies":"8-stage turn state machine (StartTurn through EndTurn) enforcing Target Chain, Boundary, and Carryover combat semantics, with Postgres storing match state, action history, and transaction logs as JSONB alongside Glicko-2 Elo snapshots tracked per ladder category.","full_stack_topology":"TypeScript monorepo separating a transport-only server from a deterministic, transport-free engine package, backed by Postgres via Drizzle, Docker-built deploys, Sentry error tracking, and an OTel Collector feeding OTel/LGTM observability across the server and Go client.","supply_chain_exposure":"AGPLv3 open-source codebase with 40+ operational wiki and docs guides, an independent combat verifier that checks 2,355,388 declared finite cases and pins a SHA-256 result digest, and CI-gated rule, replay, and playthrough verification ahead of every release."},"outcomes":["Built an explainable battle engine that records a versioned, step-by-step combat calculation for every attack, with named operands, ordered operators, and stable PD-RULE identifiers, driving live damage previews, narration, and spectator replay.","Verified the combat engine against an independent reference checker covering 2,355,388 declared finite cases, pinning a SHA-256 result digest as a bounded correctness proof.","Kept game state synchronized across WebSocket and REST paths for TypeScript, Go, and Swift clients, using role-specific projections and knowledge-safety tests that keep hidden hand and deck information out of what any client can see.","Shipped a live production platform (phalanxduel.com) with an automated release pipeline that builds an immutable GHCR container image, promotes it after health and readiness checks, and rolls back to the last known-good image on failure."]}]}
{"type":"narrative_synthesis","data":{"framework":"3-Act Career Narrative & Cover Letter Synthesis","narrative_acts":{"act_1_foundation":{"title":"The Autodidact & Craftsman (First Principles)","theme":"Curiosity, testing discipline, and community leadership","summary":"Built an engineering foundation from first principles through self-directed learning, software craftsmanship, and community organizing. Grounded in test-driven development, deterministic state transitions, and clear documentation.","anchors":["Groupon (Technical Onboarding & Fraud Systems)","Obtiva (Software Craftsmanship & Agile Consultancy)","WindyCityRails / GOTO Conferences (Oral History & Tech Archive)"]},"act_2_crucible":{"title":"The High-Consequence Stabilizer (The Crucible)","theme":"Untangling complexity, eliminating dark failure modes, and building team enablement","summary":"Appointed Software Architect for the Acquisition Lane at OneMain Financial. Mapped the entire loan acquisition and origination pipeline end-to-end from visit to booked loan using longitudinal and latitudinal analysis from desktop browser to mainframe and the Affiliate API, eliminated 4% silent traffic loss at e-signing, and built an automated 5-phase PII deletion engine across 30+ tables, while founding Geekfest and leading the OpenTelemetry Working Group across a 3-year enablement arc transitioned to SRE.","anchors":["OneMain Financial (Acquisition Lane Architect & AD Staff)","Instant Loan Disbursement","Enterprise OpenTelemetry Distributed Trace","5-Phase Automated PII Remediation Engine"]},"act_3_offering":{"title":"The Present Offering (Calm Systems Leadership)","theme":"Deterministic engineering, local-first AI orchestration, and platform resilience","summary":"Delivers calm, deterministic engineering leadership to organizations tackling legacy modernization, distributed telemetry, and complex state machines. Bridges human developers with AI-augmented workflows and property-based verification gates.","anchors":["wwworkremote (Multi-source ingestion, pgvector search, prompt injection defense)","Phalanx Duel (Deterministic rules engine, replayable ledger, Truth Gates)","CareerOS MCP Tools & Distributed Datalake"]}},"cover_letter_synthesis_blueprint":{"step_1_hook":"Diagnose target company platform pain and state value proposition as Principal Software Engineer de-risking high-consequence transitions.","step_2_proofs":"Select 2-3 matching proofs from Act 2 (instant loan disbursement, 7 acquisition channels, privacy deletion engine, OpenTelemetry distributed trace, 4% traffic loss fix).","step_3_philosophy":"State operating model: System Cartography (mapping state before invasive changes), automated verification gates, and team enablement.","step_4_call_to_action":"Invite a 20-minute direct, peer-level conversation on architectural roadmap and production stability."}}}
{"type":"technology","name":"Ruby on Rails","data":{"skill":"Ruby on Rails","first_seen_year":2009,"last_seen_year":2026,"roles_used":[{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"},{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"},{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"},{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"},{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"},{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":10}}
{"type":"technology","name":"JavaScript","data":{"skill":"JavaScript","first_seen_year":2000,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"},{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"},{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"},{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"New Labor Strategies, Inc.","title":"Programmer Analyst","start_date":"2002-06-01","end_date":"2003-11-01"},{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"Riverpoint Group","title":"Software Developer","start_date":"2004-07-01","end_date":"2004-08-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":10}}
{"type":"technology","name":"Microsoft SQL Server","data":{"skill":"Microsoft SQL Server","first_seen_year":2000,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"},{"company":"BP","title":"Senior Software Developer","start_date":"2005-06-01","end_date":"2005-11-01"},{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"},{"company":"New Labor Strategies, Inc.","title":"Programmer Analyst","start_date":"2002-06-01","end_date":"2003-11-01"},{"company":"Riverpoint Group","title":"Software Developer","start_date":"2004-07-01","end_date":"2004-08-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":10}}
{"type":"technology","name":"PostgreSQL","data":{"skill":"PostgreSQL","first_seen_year":2013,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null},{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"},{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"},{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"},{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null},{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"},{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":10}}
{"type":"technology","name":"Ruby","data":{"skill":"Ruby","first_seen_year":2009,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null},{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"},{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"},{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"},{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":9}}
{"type":"technology","name":"ASP.NET","data":{"skill":"ASP.NET","first_seen_year":2003,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"},{"company":"BP","title":"Senior Software Developer","start_date":"2005-06-01","end_date":"2005-11-01"},{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"},{"company":"Riverpoint Group","title":"Software Developer","start_date":"2004-07-01","end_date":"2004-08-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":8}}
{"type":"technology","name":"C#","data":{"skill":"C#","first_seen_year":2004,"last_seen_year":2011,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"},{"company":"BP","title":"Senior Software Developer","start_date":"2005-06-01","end_date":"2005-11-01"},{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"},{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"Riverpoint Group","title":"Software Developer","start_date":"2004-07-01","end_date":"2004-08-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":8}}
{"type":"technology","name":"Redis","data":{"skill":"Redis","first_seen_year":2011,"last_seen_year":2020,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"},{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"},{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"},{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":7}}
{"type":"technology","name":"Transact-SQL (T-SQL)","data":{"skill":"Transact-SQL (T-SQL)","first_seen_year":2003,"last_seen_year":2008,"roles_used":[{"company":"BP","title":"Senior Software Developer","start_date":"2005-06-01","end_date":"2005-11-01"},{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":6}}
{"type":"technology","name":"Sidekiq","data":{"skill":"Sidekiq","first_seen_year":2013,"last_seen_year":2020,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"},{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":5}}
{"type":"technology","name":"MySQL","data":{"skill":"MySQL","first_seen_year":2009,"last_seen_year":2020,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"},{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"},{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":4}}
{"type":"technology","name":"JSON","data":{"skill":"JSON","first_seen_year":2003,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"},{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":4}}
{"type":"technology","name":"CSS","data":{"skill":"CSS","first_seen_year":2000,"last_seen_year":2004,"roles_used":[{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"New Labor Strategies, Inc.","title":"Programmer Analyst","start_date":"2002-06-01","end_date":"2003-11-01"},{"company":"Riverpoint Group","title":"Software Developer","start_date":"2004-07-01","end_date":"2004-08-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"}],"total_occurrences":4}}
{"type":"technology","name":"SOAP","data":{"skill":"SOAP","first_seen_year":2004,"last_seen_year":2008,"roles_used":[{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":4}}
{"type":"technology","name":"HTML","data":{"skill":"HTML","first_seen_year":2000,"last_seen_year":2004,"roles_used":[{"company":"New Labor Strategies, Inc.","title":"Programmer Analyst","start_date":"2002-06-01","end_date":"2003-11-01"},{"company":"Riverpoint Group","title":"Software Developer","start_date":"2004-07-01","end_date":"2004-08-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"}],"total_occurrences":3}}
{"type":"technology","name":"XML","data":{"skill":"XML","first_seen_year":2004,"last_seen_year":2008,"roles_used":[{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"},{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"}],"total_occurrences":3}}
{"type":"technology","name":"Active Server Pages (ASP)","data":{"skill":"Active Server Pages (ASP)","first_seen_year":2000,"last_seen_year":2004,"roles_used":[{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"},{"company":"New Labor Strategies, Inc.","title":"Programmer Analyst","start_date":"2002-06-01","end_date":"2003-11-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"}],"total_occurrences":3}}
{"type":"technology","name":"OpenTelemetry","data":{"skill":"OpenTelemetry","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null},{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"},{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":3}}
{"type":"technology","name":"NGINX","data":{"skill":"NGINX","first_seen_year":2009,"last_seen_year":2014,"roles_used":[{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":3}}
{"type":"technology","name":"Platform Architecture","data":{"skill":"Platform Architecture","first_seen_year":2015,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"},{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"},{"company":"Tandem","title":"Principal Consultant","start_date":"2018-08-01","end_date":"2018-08-01"}],"total_occurrences":3}}
{"type":"technology","name":"Distributed Systems","data":{"skill":"Distributed Systems","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"},{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null},{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":3}}
{"type":"technology","name":"Microsoft BizTalk Server","data":{"skill":"Microsoft BizTalk Server","first_seen_year":2005,"last_seen_year":2008,"roles_used":[{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":2}}
{"type":"technology","name":"Bash","data":{"skill":"Bash","first_seen_year":2011,"last_seen_year":2014,"roles_used":[{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"}],"total_occurrences":2}}
{"type":"technology","name":"Microsoft Access","data":{"skill":"Microsoft Access","first_seen_year":2000,"last_seen_year":2001,"roles_used":[{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"},{"company":"Trippe Manufacturing, Inc.","title":"Software Developer","start_date":"2001-10-01","end_date":"2001-12-01"}],"total_occurrences":2}}
{"type":"technology","name":"Heroku","data":{"skill":"Heroku","first_seen_year":2014,"last_seen_year":2016,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"}],"total_occurrences":2}}
{"type":"technology","name":"Visual Basic .NET (VB.NET)","data":{"skill":"Visual Basic .NET (VB.NET)","first_seen_year":2005,"last_seen_year":2008,"roles_used":[{"company":"BP","title":"Senior Software Developer","start_date":"2005-06-01","end_date":"2005-11-01"},{"company":"JPMorgan Chase & Co.","title":"Assistant Vice President, Application Developer","start_date":"2008-04-01","end_date":"2008-10-01"}],"total_occurrences":2}}
{"type":"technology","name":"Visual SourceSafe","data":{"skill":"Visual SourceSafe","first_seen_year":2000,"last_seen_year":2001,"roles_used":[{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"},{"company":"Trippe Manufacturing, Inc.","title":"Software Developer","start_date":"2001-10-01","end_date":"2001-12-01"}],"total_occurrences":2}}
{"type":"technology","name":"Vagrant","data":{"skill":"Vagrant","first_seen_year":2013,"last_seen_year":2014,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"},{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"}],"total_occurrences":2}}
{"type":"technology","name":"Secure API Design","data":{"skill":"Secure API Design","first_seen_year":2015,"last_seen_year":2018,"roles_used":[{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"},{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"}],"total_occurrences":2}}
{"type":"technology","name":"Java","data":{"skill":"Java","first_seen_year":2000,"last_seen_year":2013,"roles_used":[{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"}],"total_occurrences":2}}
{"type":"technology","name":"Scrum","data":{"skill":"Scrum","first_seen_year":2004,"last_seen_year":2007,"roles_used":[{"company":"Motorola","title":"Senior Software Developer","start_date":"2004-08-01","end_date":"2005-05-01"},{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":2}}
{"type":"technology","name":"Legacy System Modernization","data":{"skill":"Legacy System Modernization","first_seen_year":2015,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"},{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"}],"total_occurrences":2}}
{"type":"technology","name":"VBScript","data":{"skill":"VBScript","first_seen_year":2000,"last_seen_year":2003,"roles_used":[{"company":"New Labor Strategies, Inc.","title":"Programmer Analyst","start_date":"2002-06-01","end_date":"2003-11-01"},{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"}],"total_occurrences":2}}
{"type":"technology","name":"CI/CD","data":{"skill":"CI/CD","first_seen_year":2019,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null},{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":2}}
{"type":"technology","name":"Backend System Architecture","data":{"skill":"Backend System Architecture","first_seen_year":2017,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"},{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"}],"total_occurrences":2}}
{"type":"technology","name":"System Resilience","data":{"skill":"System Resilience","first_seen_year":2018,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"},{"company":"Tandem","title":"Principal Consultant","start_date":"2018-08-01","end_date":"2018-08-01"}],"total_occurrences":2}}
{"type":"technology","name":"Local Inference","data":{"skill":"Local Inference","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null},{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":2}}
{"type":"technology","name":"Capistrano","data":{"skill":"Capistrano","first_seen_year":2013,"last_seen_year":2014,"roles_used":[{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":2}}
{"type":"technology","name":"API Design","data":{"skill":"API Design","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null},{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":2}}
{"type":"technology","name":"Resque","data":{"skill":"Resque","first_seen_year":2009,"last_seen_year":2013,"roles_used":[{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"},{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":2}}
{"type":"technology","name":"Observability","data":{"skill":"Observability","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"SendGrid Async Pipelines","data":{"skill":"SendGrid Async Pipelines","first_seen_year":2019,"last_seen_year":2020,"roles_used":[{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Full-Text Search","data":{"skill":"Full-Text Search","first_seen_year":2019,"last_seen_year":2020,"roles_used":[{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"AWS","data":{"skill":"AWS","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"TypeScript","data":{"skill":"TypeScript","first_seen_year":2022,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Node.js","data":{"skill":"Node.js","first_seen_year":2022,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"WebSockets","data":{"skill":"WebSockets","first_seen_year":2022,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"JSP","data":{"skill":"JSP","first_seen_year":2000,"last_seen_year":2001,"roles_used":[{"company":"Sentinel Technologies, Inc.","title":"Application Analyst","start_date":"2000-07-01","end_date":"2001-10-01"}],"total_occurrences":1}}
{"type":"technology","name":"Data Migration Strategy","data":{"skill":"Data Migration Strategy","first_seen_year":2015,"last_seen_year":2016,"roles_used":[{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"}],"total_occurrences":1}}
{"type":"technology","name":"Deterministic Simulation","data":{"skill":"Deterministic Simulation","first_seen_year":2022,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"React","data":{"skill":"React","first_seen_year":2015,"last_seen_year":2016,"roles_used":[{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"}],"total_occurrences":1}}
{"type":"technology","name":"API Gateway Design","data":{"skill":"API Gateway Design","first_seen_year":2015,"last_seen_year":2016,"roles_used":[{"company":"ReachLocal","title":"Senior Software Developer","start_date":"2015-03-01","end_date":"2016-11-01"}],"total_occurrences":1}}
{"type":"technology","name":"AI-Augmented Development","data":{"skill":"AI-Augmented Development","first_seen_year":2022,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"System Verification","data":{"skill":"System Verification","first_seen_year":2022,"last_seen_year":2026,"roles_used":[{"company":"Phalanx Duel","title":"Principal Architect","start_date":"2022-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"System Design","data":{"skill":"System Design","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Data Pipelines","data":{"skill":"Data Pipelines","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Chrome Extensions (MV3)","data":{"skill":"Chrome Extensions (MV3)","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Prompt Injection Defense","data":{"skill":"Prompt Injection Defense","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"LLM Orchestration","data":{"skill":"LLM Orchestration","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Vector Search & Embeddings","data":{"skill":"Vector Search & Embeddings","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"pgvector","data":{"skill":"pgvector","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"WWWorkRemote","title":"Principal Architect","start_date":"2021-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Logentries","data":{"skill":"Logentries","first_seen_year":2013,"last_seen_year":2013,"roles_used":[{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":1}}
{"type":"technology","name":"AWS RDS","data":{"skill":"AWS RDS","first_seen_year":2013,"last_seen_year":2013,"roles_used":[{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":1}}
{"type":"technology","name":"AWS EC2","data":{"skill":"AWS EC2","first_seen_year":2013,"last_seen_year":2013,"roles_used":[{"company":"Viewpoints","title":"Senior Software Developer","start_date":"2013-05-01","end_date":"2013-10-01"}],"total_occurrences":1}}
{"type":"technology","name":"Ubuntu","data":{"skill":"Ubuntu","first_seen_year":2013,"last_seen_year":2014,"roles_used":[{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Riak","data":{"skill":"Riak","first_seen_year":2013,"last_seen_year":2014,"roles_used":[{"company":"Upcity","title":"Senior Software Developer","start_date":"2013-10-01","end_date":"2014-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Visual Basic for Applications (VBA)","data":{"skill":"Visual Basic for Applications (VBA)","first_seen_year":2001,"last_seen_year":2001,"roles_used":[{"company":"Trippe Manufacturing, Inc.","title":"Software Developer","start_date":"2001-10-01","end_date":"2001-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Visual Basic","data":{"skill":"Visual Basic","first_seen_year":2001,"last_seen_year":2001,"roles_used":[{"company":"Trippe Manufacturing, Inc.","title":"Software Developer","start_date":"2001-10-01","end_date":"2001-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"CodeSmith API","data":{"skill":"CodeSmith API","first_seen_year":2005,"last_seen_year":2007,"roles_used":[{"company":"TicketsNow","title":"Senior .NET Developer","start_date":"2005-11-01","end_date":"2007-03-01"}],"total_occurrences":1}}
{"type":"technology","name":"SEO & Information Architecture","data":{"skill":"SEO & Information Architecture","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Jekyll","data":{"skill":"Jekyll","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Digital Preservation","data":{"skill":"Digital Preservation","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Schema Validation & Data Contracts","data":{"skill":"Schema Validation & Data Contracts","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Semantic Search & Taxonomy","data":{"skill":"Semantic Search & Taxonomy","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Knowledge Graph Construction","data":{"skill":"Knowledge Graph Construction","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"LLM-Assisted Content Structuring","data":{"skill":"LLM-Assisted Content Structuring","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Whisper & Speech-to-Text","data":{"skill":"Whisper & Speech-to-Text","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Local-First AI Inference","data":{"skill":"Local-First AI Inference","first_seen_year":2011,"last_seen_year":2026,"roles_used":[{"company":"Technical Conversation Archive","title":"Principal Engineer & Curator","start_date":"2011-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Operational Field Research","data":{"skill":"Operational Field Research","first_seen_year":2018,"last_seen_year":2018,"roles_used":[{"company":"Tandem","title":"Principal Consultant","start_date":"2018-08-01","end_date":"2018-08-01"}],"total_occurrences":1}}
{"type":"technology","name":"Federal Software Assessment","data":{"skill":"Federal Software Assessment","first_seen_year":2018,"last_seen_year":2018,"roles_used":[{"company":"Tandem","title":"Principal Consultant","start_date":"2018-08-01","end_date":"2018-08-01"}],"total_occurrences":1}}
{"type":"technology","name":"Backend Architecture","data":{"skill":"Backend Architecture","first_seen_year":2019,"last_seen_year":2020,"roles_used":[{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"System Observability","data":{"skill":"System Observability","first_seen_year":2019,"last_seen_year":2020,"roles_used":[{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Data Analytics & SQL","data":{"skill":"Data Analytics & SQL","first_seen_year":2019,"last_seen_year":2020,"roles_used":[{"company":"SK Holdings, Inc.","title":"Senior Backend Developer","start_date":"2019-01-01","end_date":"2020-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"DynamoDB","data":{"skill":"DynamoDB","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Windows NT","data":{"skill":"Windows NT","first_seen_year":1999,"last_seen_year":2000,"roles_used":[{"company":"C.H. Robinson","title":"System Administrator","start_date":"1999-12-01","end_date":"2000-07-01"}],"total_occurrences":1}}
{"type":"technology","name":"Solomon Accounting Software","data":{"skill":"Solomon Accounting Software","first_seen_year":2007,"last_seen_year":2008,"roles_used":[{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"}],"total_occurrences":1}}
{"type":"technology","name":"SubSonic ORM","data":{"skill":"SubSonic ORM","first_seen_year":2007,"last_seen_year":2008,"roles_used":[{"company":"Brightstar Corporation","title":"Senior .NET Developer","start_date":"2007-03-01","end_date":"2008-04-01"}],"total_occurrences":1}}
{"type":"technology","name":"Windows Server","data":{"skill":"Windows Server","first_seen_year":2005,"last_seen_year":2005,"roles_used":[{"company":"BP","title":"Senior Software Developer","start_date":"2005-06-01","end_date":"2005-11-01"}],"total_occurrences":1}}
{"type":"technology","name":"Observability and Logging","data":{"skill":"Observability and Logging","first_seen_year":2017,"last_seen_year":2018,"roles_used":[{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Database Performance Optimization","data":{"skill":"Database Performance Optimization","first_seen_year":2017,"last_seen_year":2018,"roles_used":[{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"JWT Authentication","data":{"skill":"JWT Authentication","first_seen_year":2017,"last_seen_year":2018,"roles_used":[{"company":"BenchPrep","title":"Senior Software Developer","start_date":"2017-03-01","end_date":"2018-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"IIS","data":{"skill":"IIS","first_seen_year":2008,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"}],"total_occurrences":1}}
{"type":"technology","name":"VMWare","data":{"skill":"VMWare","first_seen_year":2008,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"}],"total_occurrences":1}}
{"type":"technology","name":"CruiseControl.NET","data":{"skill":"CruiseControl.NET","first_seen_year":2008,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"}],"total_occurrences":1}}
{"type":"technology","name":"Subversion","data":{"skill":"Subversion","first_seen_year":2008,"last_seen_year":2009,"roles_used":[{"company":"Business Decisions, Inc.","title":"Principal Developer","start_date":"2008-10-01","end_date":"2009-08-01"}],"total_occurrences":1}}
{"type":"technology","name":"PHI Scrubbing & Compliance","data":{"skill":"PHI Scrubbing & Compliance","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"whisper.cpp","data":{"skill":"whisper.cpp","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"llama.cpp","data":{"skill":"llama.cpp","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"OpenObserve","data":{"skill":"OpenObserve","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"LLM Tool Design","data":{"skill":"LLM Tool Design","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Anthropic API","data":{"skill":"Anthropic API","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Claude Code","data":{"skill":"Claude Code","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Agentic Workflow Design","data":{"skill":"Agentic Workflow Design","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Model Context Protocol (MCP)","data":{"skill":"Model Context Protocol (MCP)","first_seen_year":2026,"last_seen_year":2026,"roles_used":[{"company":"Local AI Orchestration & Developer Runtime","title":"Principal Architect","start_date":"2026-01-01","end_date":null}],"total_occurrences":1}}
{"type":"technology","name":"Performance Optimization","data":{"skill":"Performance Optimization","first_seen_year":2018,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Automated Testing","data":{"skill":"Automated Testing","first_seen_year":2018,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Ember.js","data":{"skill":"Ember.js","first_seen_year":2018,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"PHP","data":{"skill":"PHP","first_seen_year":2018,"last_seen_year":2018,"roles_used":[{"company":"ActiveCampaign","title":"Senior Software Developer","start_date":"2018-09-01","end_date":"2018-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Incident Leadership","data":{"skill":"Incident Leadership","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Dependency Mapping","data":{"skill":"Dependency Mapping","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Architecture Discovery","data":{"skill":"Architecture Discovery","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Legacy Modernization","data":{"skill":"Legacy Modernization","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"Cross-Team Technical Leadership","data":{"skill":"Cross-Team Technical Leadership","first_seen_year":2021,"last_seen_year":2026,"roles_used":[{"company":"OneMain Financial","title":"Associate Director, Staff Engineer","start_date":"2021-01-01","end_date":"2026-02-01"}],"total_occurrences":1}}
{"type":"technology","name":"RSpec","data":{"skill":"RSpec","first_seen_year":2009,"last_seen_year":2011,"roles_used":[{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"}],"total_occurrences":1}}
{"type":"technology","name":"Git","data":{"skill":"Git","first_seen_year":2009,"last_seen_year":2011,"roles_used":[{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"}],"total_occurrences":1}}
{"type":"technology","name":"SQL Server","data":{"skill":"SQL Server","first_seen_year":2009,"last_seen_year":2011,"roles_used":[{"company":"Obtiva","title":"Software Engineer","start_date":"2009-08-01","end_date":"2011-07-01"}],"total_occurrences":1}}
{"type":"technology","name":"Instagram API","data":{"skill":"Instagram API","first_seen_year":2014,"last_seen_year":2016,"roles_used":[{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"}],"total_occurrences":1}}
{"type":"technology","name":"Facebook Graph API","data":{"skill":"Facebook Graph API","first_seen_year":2014,"last_seen_year":2016,"roles_used":[{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"}],"total_occurrences":1}}
{"type":"technology","name":"Twitter API","data":{"skill":"Twitter API","first_seen_year":2014,"last_seen_year":2016,"roles_used":[{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"}],"total_occurrences":1}}
{"type":"technology","name":"DigitalOcean","data":{"skill":"DigitalOcean","first_seen_year":2014,"last_seen_year":2016,"roles_used":[{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"}],"total_occurrences":1}}
{"type":"technology","name":"Amazon RDS","data":{"skill":"Amazon RDS","first_seen_year":2014,"last_seen_year":2016,"roles_used":[{"company":"KloboMedia","title":"CTO","start_date":"2014-03-01","end_date":"2016-09-01"}],"total_occurrences":1}}
{"type":"technology","name":"Visual Studio .NET","data":{"skill":"Visual Studio .NET","first_seen_year":2003,"last_seen_year":2004,"roles_used":[{"company":"Integrated Performance Solutions, Inc.","title":"Programmer Analyst","start_date":"2003-11-01","end_date":"2004-07-01"}],"total_occurrences":1}}
{"type":"technology","name":"Hadoop","data":{"skill":"Hadoop","first_seen_year":2011,"last_seen_year":2013,"roles_used":[{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"}],"total_occurrences":1}}
{"type":"technology","name":"Vertica","data":{"skill":"Vertica","first_seen_year":2011,"last_seen_year":2013,"roles_used":[{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"}],"total_occurrences":1}}
{"type":"technology","name":"CouchDB","data":{"skill":"CouchDB","first_seen_year":2011,"last_seen_year":2013,"roles_used":[{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"}],"total_occurrences":1}}
{"type":"technology","name":"Clojure","data":{"skill":"Clojure","first_seen_year":2011,"last_seen_year":2013,"roles_used":[{"company":"Groupon","title":"Software Engineer & Technical Onboarding Lead (Fraud & Taxonomy Systems)","start_date":"2011-07-01","end_date":"2013-05-01"}],"total_occurrences":1}}
{"type":"technology","name":"Travis CI","data":{"skill":"Travis CI","first_seen_year":2014,"last_seen_year":2014,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"MongoDB","data":{"skill":"MongoDB","first_seen_year":2014,"last_seen_year":2014,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Backbone.js","data":{"skill":"Backbone.js","first_seen_year":2014,"last_seen_year":2014,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"AWS S3","data":{"skill":"AWS S3","first_seen_year":2014,"last_seen_year":2014,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"ElasticSearch","data":{"skill":"ElasticSearch","first_seen_year":2014,"last_seen_year":2014,"roles_used":[{"company":"Coderwall","title":"Open-Source Transition Lead","start_date":"2014-01-01","end_date":"2014-12-01"}],"total_occurrences":1}}
{"type":"technology","name":"Windows 98","data":{"skill":"Windows 98","first_seen_year":1999,"last_seen_year":2000,"roles_used":[{"company":"C.H. Robinson","title":"System Administrator","start_date":"1999-12-01","end_date":"2000-07-01"}],"total_occurrences":1}}
{"type":"publication","id":"nat","data":{"slug":"nat","date":"2006-11-06","year":2006,"title":"NAT","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"NATNetwork Address TranslationNasty little critters. Get on my nerves.NAT in Wikipedia","url":"/2006/11/06/nat/"}}
{"type":"publication","id":"nstun","data":{"slug":"nstun","date":"2006-11-06","year":2006,"title":"NStun","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"NStunSTUN, Simple Traversal Underneath Network Address Translators.The N is for .NET. :-)STUN in Wikipedia","url":"/2006/11/06/nstun/"}}
{"type":"publication","id":"schemainsight","data":{"slug":"schemainsight","date":"2007-04-11","year":2007,"title":"SchemaInSight","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"SchemaInSightMost code generation code is intended for generating data-access code. There doesn't seem to be any simple (or free) code for accessing a database and enumerating the ","url":"/2007/04/11/schemainsight/"}}
{"type":"publication","id":"being-stupid-has-never-been-so-funny","data":{"slug":"being-stupid-has-never-been-so-funny","date":"2007-04-19","year":2007,"title":"Being stupid has never been so funny.","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Being stupid has never been so funny.My Name Is EarlIt's nice to see a skateboarder gone good. I cannot describe how much I loathe the Jackass guys. \"My Name Is Earl\" is so well sh","url":"/2007/04/19/being-stupid-has-never-been-so-funny/"}}
{"type":"publication","id":"look-what-we-can-do-on-only-a-2000-00-budget","data":{"slug":"look-what-we-can-do-on-only-a-2000-00-budget","date":"2007-04-19","year":2007,"title":"Look what we can do on only a $2000.00* budget!","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Look what we can do on only a $2000.00* budget!*Not including the cost of a real-estate appraisal, a dedicated team consisting of one professional home designer, and two or three p","url":"/2007/04/19/look-what-we-can-do-on-only-a-2000-00-budget/"}}
{"type":"publication","id":"okay-a-film-albeit-highly-stylized-about-an-actual-historical-event-is-moronic-a-sword-n-s","data":{"slug":"okay-a-film-albeit-highly-stylized-about-an-actual-historical-event-is-moronic-a-sword-n-s","date":"2007-04-19","year":2007,"title":"Okay, a film, albeit highly-stylized, about an actual historical event is \"moronic\", a \"sword'n'sandals\" \"dumb audience-friendly\" romp.","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Okay, a film, albeit highly-stylized, about an actual historical event is \"moronic\", a \"sword'n'sandals\" \"dumb audience-friendly\" romp.Yet, a gimmick laden movie about strippers, z","url":"/2007/04/19/okay-a-film-albeit-highly-stylized-about-an-actual-historical-event-is-moronic-a-sword-n-s/"}}
{"type":"publication","id":"whenever-you-think-you-have-the-toughest-nastiest-and-unpleasant-job-ever-then-you-may-nee","data":{"slug":"whenever-you-think-you-have-the-toughest-nastiest-and-unpleasant-job-ever-then-you-may-nee","date":"2007-04-19","year":2007,"title":"Whenever you think you have the toughest, nastiest and unpleasant job ever then you may need to watch a show that my wife and I have been enjoying for a while now that I think will put those thoughts to rest permanently.","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Whenever you think you have the toughest, nastiest and unpleasant job ever then you may need to watch a show that my wife and I have been enjoying for a while now that I think will","url":"/2007/04/19/whenever-you-think-you-have-the-toughest-nastiest-and-unpleasant-job-ever-then-you-may-nee/"}}
{"type":"publication","id":"recommended-tool-copysourceashtml","data":{"slug":"recommended-tool-copysourceashtml","date":"2007-04-20","year":2007,"title":"Recommended Tool: CopySourceAsHtml","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Recommended Tool: CopySourceAsHtmlNow that I am working on trying to put some usable information on this blog I need an easy way to transfer the code from the rich-text world of my","url":"/2007/04/20/recommended-tool-copysourceashtml/"}}
{"type":"publication","id":"wow-summer-hiatus","data":{"slug":"wow-summer-hiatus","date":"2007-04-20","year":2007,"title":"WoW Summer Hiatus","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"WoW Summer HiatusI don't know if World of Warcraft is actually addictive. I do know that it is too easy to spend egregious amounts of time playing it. Actually it's less 'playing' ","url":"/2007/04/20/wow-summer-hiatus/"}}
{"type":"publication","id":"the-landlord","data":{"slug":"the-landlord","date":"2007-04-21","year":2007,"title":"The Landlord","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"The LandlordThis had to take an eternity to film. That or she is a born natural.","url":"/2007/04/21/the-landlord/"}}
{"type":"publication","id":"javascript-string-format-method","data":{"slug":"javascript-string-format-method","date":"2007-04-28","year":2007,"title":"JavaScript String.format() method.","categories":[],"tags":["wordpress","republished","wayback","javascript","code"],"excerpt":"A simple JavaScript String.format helper for tokenized string interpolation, originally published on WordPress in 2007.","url":"/2007/04/28/javascript-string-format-method/"}}
{"type":"publication","id":"from-hard-sell-to-conversation","data":{"slug":"from-hard-sell-to-conversation","date":"2007-05-17","year":2007,"title":"From hard-sell to conversation","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Interviewing is like selling a used-car. Only, instead of a jalopy, you have to pitch yourself or your company. You must negotiate the buyer’s eyes away from the patches of rust an","url":"/2007/05/17/from-hard-sell-to-conversation/"}}
{"type":"publication","id":"linky-how-to-debug-into-a-net-xmlserializer-generated-assembly","data":{"slug":"linky-how-to-debug-into-a-net-xmlserializer-generated-assembly","date":"2007-05-18","year":2007,"title":"[Linky] HOW TO: Debug into a .NET XmlSerializer Generated Assembly","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"When using the xml serialization object to serialize and deserialize an object a temporary class file is generated. This article explains how to find the intermediary file and step","url":"/2007/05/18/linky-how-to-debug-into-a-net-xmlserializer-generated-assembly/"}}
{"type":"publication","id":"wut-it-looks-liek","data":{"slug":"wut-it-looks-liek","date":"2007-05-18","year":2007,"title":"wut it looks liek","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"thiss wut it luks liek wien my wife not edit my postsnerf^_^","url":"/2007/05/18/wut-it-looks-liek/"}}
{"type":"publication","id":"how-would-you-unit-test-this","data":{"slug":"how-would-you-unit-test-this","date":"2007-06-22","year":2007,"title":"How would you unit test this?","categories":[],"tags":["wordpress","republished","wayback","just-kidding"],"excerpt":"if ( Jack.WorkQuantity == \"All\"    && Jack.PlayQuantity == \"No\" ){    Jack.BoyType = BoyTypes.Dull;} It’s a trick question, the answer is “Don’t.” Go outside, nerd.","url":"/2007/06/22/how-would-you-unit-test-this/"}}
{"type":"publication","id":"polish-pm-stands-up-to-germany","data":{"slug":"polish-pm-stands-up-to-germany","date":"2007-06-22","year":2007,"title":"Polish PM stands up to Germany","categories":[],"tags":["wordpress","republished","wayback","eu","poland"],"excerpt":"Germany is pushing for the votes of EU members to be based upon population. Which is not surprising considering that Germany has the highest population on the European continent, s","url":"/2007/06/22/polish-pm-stands-up-to-germany/"}}
{"type":"publication","id":"the-play","data":{"slug":"the-play","date":"2007-06-25","year":2007,"title":"The Play","categories":[],"tags":["wordpress","republished","wayback","dunno"],"excerpt":"The actors are assembled for the Writer’s play. Some will play heroes, and some villains while most will walk through the scene forgotten and unheard. The Director moves the actors","url":"/2007/06/25/the-play/"}}
{"type":"publication","id":"automated-code-formatting-tools","data":{"slug":"automated-code-formatting-tools","date":"2007-06-26","year":2007,"title":"Automated code formatting tools","categories":[],"tags":["wordpress","republished","wayback","code","tools"],"excerpt":"I love automated code formatting tools. Anything that will help clean the layout of code, especially code that I’ve inherited, is a major productivity booster. I’ve been a bit of a","url":"/2007/06/26/automated-code-formatting-tools/"}}
{"type":"publication","id":"gwdd","data":{"slug":"gwdd","date":"2007-06-27","year":2007,"title":"GWDD","categories":[],"tags":["wordpress","republished","wayback","code","development","process"],"excerpt":"Greasy-wheel Driven Development All development is driven by whomever is screaming loudest. Project priority is determined through a bidding type system where the competing request","url":"/2007/06/27/gwdd/"}}
{"type":"publication","id":"heroic-developer","data":{"slug":"heroic-developer","date":"2007-06-27","year":2007,"title":"Heroic Developer","categories":[],"tags":["wordpress","republished","wayback","coding","development","just-kidding","process","professional","sarcasm"],"excerpt":"Look, over in the cube. It’s a nerd. No, it’s a geek. NO! It’s Heroic Coder. Coding longer than a puny developer! Introducing bugs and errors faster than a marketing drone can drea","url":"/2007/06/27/heroic-developer/"}}
{"type":"publication","id":"programmers-bill-of-rights","data":{"slug":"programmers-bill-of-rights","date":"2007-06-27","year":2007,"title":"Programmers Bill of Rights","categories":[],"tags":["wordpress","republished","wayback","coding","development","professional"],"excerpt":"Coding Horror posted an article in 2006 that proposed a Programmers Bill of Rights. I’ve worked at some pretty messed up places that violated all or most of these “rights”. Althoug","url":"/2007/06/27/programmers-bill-of-rights/"}}
{"type":"publication","id":"clumsy-development","data":{"slug":"clumsy-development","date":"2007-06-28","year":2007,"title":"Clumsy Development","categories":[],"tags":["wordpress","republished","wayback","agile","development","process"],"excerpt":"Basically it’s the George Costanza model of software development. The only requirement is to know the vocabulary, not that you need to know what the words mean though. For example.","url":"/2007/06/28/clumsy-development/"}}
{"type":"publication","id":"heroic-developer-the-saga-continues","data":{"slug":"heroic-developer-the-saga-continues","date":"2007-06-28","year":2007,"title":"Heroic Developer, the Saga Continues.","categories":[],"tags":["wordpress","republished","wayback","anti-process","clumsy","development","process"],"excerpt":"Continued from Heroic Developer. *Deep Breath* If you find yourself working on some half-baked idea concocted by your project manager as they were on their way out the door at a 4:","url":"/2007/06/28/heroic-developer-the-saga-continues/"}}
{"type":"publication","id":"tsst","data":{"slug":"tsst","date":"2007-06-28","year":2007,"title":"Tsst.","categories":[],"tags":["wordpress","republished","wayback","agile","crazy-talk","development","just-kidding","process","sarcasm"],"excerpt":"Every wonder what career a character like Cartman might gravitate towards when he grows up? If you said Project Manager then you probably work as a developer too. Pushy, whiny, dem","url":"/2007/06/28/tsst/"}}
{"type":"publication","id":"save-money-on-microsoft-tools-and-systems","data":{"slug":"save-money-on-microsoft-tools-and-systems","date":"2007-07-13","year":2007,"title":"Save money on Microsoft tools and systems.","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Microsoft Action PackMicrosoft Empower for ISV's","url":"/2007/07/13/save-money-on-microsoft-tools-and-systems/"}}
{"type":"publication","id":"know-what-s-cool-blogging-from-your-installer-is-cool","data":{"slug":"know-what-s-cool-blogging-from-your-installer-is-cool","date":"2007-07-16","year":2007,"title":"Know what's cool?  Blogging from your installer is cool.","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"The pendulum is swinging back towards Linux again for me. As my wife has noticed and much to her irritation, every couple months I'll take another shot at replacing my Microsoft...","url":"/2007/07/16/know-what-s-cool-blogging-from-your-installer-is-cool/"}}
{"type":"publication","id":"if-yer-code-ain-t-tested-the-waterfallists-win","data":{"slug":"if-yer-code-ain-t-tested-the-waterfallists-win","date":"2007-07-19","year":2007,"title":"If yer code ain't tested, the waterfallists win.","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Just reporting on untested code is nothin'. How about a tool that *removes* untested code.Check out the oh-so-provocatively named coverage tool, Guantanamo.When Guantanamo detects ","url":"/2007/07/19/if-yer-code-ain-t-tested-the-waterfallists-win/"}}
{"type":"publication","id":"tdd-you-ve-got-to-be-kidding-me","data":{"slug":"tdd-you-ve-got-to-be-kidding-me","date":"2007-07-19","year":2007,"title":"TDD?  You've got to be kidding me?","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Just taking another peek over to the the Sun's side of the Sun/Microsoft fence and checking the color of their grass. Another tool for testing the reliability of your tests is Jest","url":"/2007/07/19/tdd-you-ve-got-to-be-kidding-me/"}}
{"type":"publication","id":"textpad-regular-expressions-replace-leading-whitespace-with-nbsp","data":{"slug":"textpad-regular-expressions-replace-leading-whitespace-with-nbsp","date":"2007-07-22","year":2007,"title":"TextPad Regular Expressions: Replace Leading Whitespace with '&nbsp;'","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"TextPad is my text-editor of choice. It's simple, fast and lightweight. Plus it supports regular expressions and wildcard searches.When preparing a post for upload onto the site I ","url":"/2007/07/22/textpad-regular-expressions-replace-leading-whitespace-with-nbsp/"}}
{"type":"publication","id":"shared-server-etiquette","data":{"slug":"shared-server-etiquette","date":"2007-07-23","year":2007,"title":"Shared Server Etiquette","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Log offDon't stay logged into shared machines, log off when you are done. The performance overhead of multiple logged in users is bad enough when we're all working, but do we reall","url":"/2007/07/23/shared-server-etiquette/"}}
{"type":"publication","id":"vs-net-trim-eol-white-space","data":{"slug":"vs-net-trim-eol-white-space","date":"2007-07-23","year":2007,"title":"VS.Net: Trim EOL White Space","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"Regular expressions are great. Little strings of yummy helpfulness.Here's a little regex that can be used to trim all some or all of your trailing whitespace.:b+$Just pass nothing ","url":"/2007/07/23/vs-net-trim-eol-white-space/"}}
{"type":"publication","id":"biztalk-2004-links","data":{"slug":"biztalk-2004-links","date":"2007-07-26","year":2007,"title":"BizTalk 2004 Links","categories":[],"tags":["blogger","republished","wayback","biztalk","tdd","unit-testing"],"excerpt":"A wealth of useful BizTalk 2004 information can be found at Gille's WebLog . The flat file strikes back: BizTalk 2004 parsing positional rec...","url":"/2007/07/26/biztalk-2004-links/"}}
{"type":"publication","id":"string-formatting-tips-for-c","data":{"slug":"string-formatting-tips-for-c","date":"2007-07-26","year":2007,"title":"String formatting tips for C#","categories":[],"tags":["blogger","republished","wayback","net","c","formatting","strings"],"excerpt":"Handy guide that I've perused once or twice for tips on formatting strings in C#. String Formatting in C#","url":"/2007/07/26/string-formatting-tips-for-c/"}}
{"type":"publication","id":"will-my-software-project-fail","data":{"slug":"will-my-software-project-fail","date":"2007-07-26","year":2007,"title":"Will My Software Project Fail?","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"There are a lot of reasons typically given for software projects failing, poor management, lack of requirements, and lack (or excess) of talent are common reasons I've heard(used) ","url":"/2007/07/26/will-my-software-project-fail/"}}
{"type":"publication","id":"good-documentation","data":{"slug":"good-documentation","date":"2007-08-17","year":2007,"title":"Good Documentation","categories":[],"tags":["blogger","republished","wayback","documentation"],"excerpt":"I don't think it is a coincidence that my favorite development tools are so well documented.  The only reason they kept my attention long en...","url":"/2007/08/17/good-documentation/"}}
{"type":"publication","id":"brain-mapping","data":{"slug":"brain-mapping","date":"2008-03-22","year":2008,"title":"Brain Mapping","categories":[],"tags":["blogger","frogsbrain","republished","wayback"],"excerpt":"What made me begin to unconsciously type \"worlofwarcraft.com\" into my internet browser address bar. (really)Here's the scenarioIt all starts here. Reading a nice little article abo","url":"/2008/03/22/brain-mapping/"}}
{"type":"publication","id":"moved-to-another-hosting-provider","data":{"slug":"moved-to-another-hosting-provider","date":"2008-05-26","year":2008,"title":"Moved to another hosting provider.","categories":[],"tags":["blogger","republished","wayback"],"excerpt":"Moved to here .","url":"/2008/05/26/moved-to-another-hosting-provider/"}}
{"type":"publication","id":"cool-tool-quick-sequence-diagram-editor","data":{"slug":"cool-tool-quick-sequence-diagram-editor","date":"2008-07-31","year":2008,"title":"Cool Tool: “Quick Sequence Diagram Editor”","categories":[],"tags":["wordpress","republished","wayback","java","non-microsoft","sequence-diagram","tutorial","uml"],"excerpt":"UML is painful and tedious. Or I meant to say that creating UML diagrams is painful and tedious. Mostly because the tools are graphical and require some level of ability to layout ","url":"/2008/07/31/cool-tool-quick-sequence-diagram-editor/"}}
{"type":"publication","id":"in-other-words-violence-is-the-answer","data":{"slug":"in-other-words-violence-is-the-answer","date":"2008-08-04","year":2008,"title":"In other words, violence is the answer.","categories":[],"tags":["wordpress","republished","wayback","coder-to-developer","professional","self-improvement"],"excerpt":"A good plan, violently executed now, is better than a perfect plan next week.    – George S. Patton, US general (1885 – 1945) Coding Horror has another excellent article titled Qua","url":"/2008/08/04/in-other-words-violence-is-the-answer/"}}
{"type":"publication","id":"putting-the-twit-in-twitter","data":{"slug":"putting-the-twit-in-twitter","date":"2008-08-06","year":2008,"title":"Putting the “twit” in Twitter.","categories":[],"tags":["wordpress","republished","wayback","social-networking","web-x-0"],"excerpt":"The only way to improve your writing skills is to write. And read. And stop every now and then to think. Oh, and having something to write about helps too. I think that’s the harde","url":"/2008/08/06/putting-the-twit-in-twitter/"}}
{"type":"publication","id":"upcoming-chicago-alt-net-meeting-on-august-13th","data":{"slug":"upcoming-chicago-alt-net-meeting-on-august-13th","date":"2008-08-11","year":2008,"title":"Upcoming Chicago Alt.NET Meeting On August 13th.","categories":[],"tags":["wordpress","republished","wayback","alt-net","chicago","coder-to-developer","meetup","professional","self-improvement","self-imp"],"excerpt":"I’m looking forward to attending my first Chicago Alt.NET meeting this Wednesday.  The topic is Cruise, the new continuous integration server being released by ThoughtWorks Studio.","url":"/2008/08/11/upcoming-chicago-alt-net-meeting-on-august-13th/"}}
{"type":"publication","id":"vladstudio-excellent-desktop-wallpaper-resource","data":{"slug":"vladstudio-excellent-desktop-wallpaper-resource","date":"2008-08-13","year":2008,"title":"VladStudio: Excellent Desktop Wallpaper Resource","categories":[],"tags":["wordpress","republished","wayback","art","fun","utilities","wallpaper"],"excerpt":"I’m a little neurotic about my desktop wallpaper. As a developer, I spend an inordinate amount of time staring at my computer. Granted, I’m rarely looking at a blank desktop but I ","url":"/2008/08/13/vladstudio-excellent-desktop-wallpaper-resource/"}}
{"type":"publication","id":"chicago-alt-net-meeting-august-13th-meeting-review","data":{"slug":"chicago-alt-net-meeting-august-13th-meeting-review","date":"2008-08-14","year":2008,"title":"Chicago Alt.NET Meeting August 13th Meeting Review","categories":[],"tags":["wordpress","republished","wayback","alt-net","chicago","coder-to-developer","continuous-integration","java","networking","non-microsoft","professional","self-improvement","social-networking"],"excerpt":"Free pizza *and* a demo of ThoughtWorks Studio’s latest product, pretty nifty for my first meeting. The primary topic was the Cruise continuous integration server. The presenter, R","url":"/2008/08/14/chicago-alt-net-meeting-august-13th-meeting-review/"}}
{"type":"publication","id":"upcoming-chicago-architects-group-meeting-on-august-21st","data":{"slug":"upcoming-chicago-architects-group-meeting-on-august-21st","date":"2008-08-14","year":2008,"title":"Upcoming Chicago Architects Group Meeting On August 21st.","categories":[],"tags":["wordpress","republished","wayback","chicago","coder-to-developer","meetup","networking","professional","self-improvement","social-networking","software-architect"],"excerpt":"The Chicago Architects Group is having a meeting next Thursday, August 21st. The topic will be “What is an Architect? Roles and Responsibilities” by Carl Franklin, of .NET Rocks! f","url":"/2008/08/14/upcoming-chicago-architects-group-meeting-on-august-21st/"}}
{"type":"publication","id":"repetition-does-not-a-satriani-make","data":{"slug":"repetition-does-not-a-satriani-make","date":"2008-08-17","year":2008,"title":"Repetition Does Not a Satriani Make.","categories":[],"tags":["wordpress","republished","wayback","coder-to-developer","professional","self-improvement"],"excerpt":"A few days ago I posted my opinion on the old adage “Practice Makes Perfect“, but I feel I need to clarify a few things. The original article I cited was referred to repetition of ","url":"/2008/08/17/repetition-does-not-a-satriani-make/"}}
{"type":"publication","id":"red-gate-assuming-responsibility-for-net-reflector-s-future","data":{"slug":"red-gate-assuming-responsibility-for-net-reflector-s-future","date":"2008-08-20","year":2008,"title":"Red Gate Assuming Responsibility For .NET Reflector’s Future","categories":[],"tags":["wordpress","republished","wayback","non-microsoft","red-gate","tools","utilities","net"],"excerpt":"Red Gate has announced that they have reached an agreement with Lutz Roeder (announcement) to assume responsibility for the one tool that should be in every .NET developers toolbox","url":"/2008/08/20/red-gate-assuming-responsibility-for-net-reflector-s-future/"}}
{"type":"publication","id":"video-from-chicago-alt-net-meeting","data":{"slug":"video-from-chicago-alt-net-meeting","date":"2008-08-21","year":2008,"title":"Video From Chicago Alt.NET Meeting","categories":[],"tags":["wordpress","republished","wayback","alt-net","chicago","coder-to-developer","meetup","professional","self-improvement","continuous-integration","cruise"],"excerpt":"Sergio Pereira was kind enough to record, edit and post the Cruise demonstration from the Chicago Alt.NET meeting on August 13th, 2008.  There are several excellent questions, espe","url":"/2008/08/21/video-from-chicago-alt-net-meeting/"}}
{"type":"publication","id":"coffee-donuts-and-asynchronous-message-handling","data":{"slug":"coffee-donuts-and-asynchronous-message-handling","date":"2008-08-28","year":2008,"title":"Coffee, Donuts and Asynchronous Message Handling","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"I love coffee and donuts almost as much as I love being a software developer. But this morning I had a moment of clarity during my daily indulgence. I stroll into the blur of activ","url":"/2008/08/28/coffee-donuts-and-asynchronous-message-handling/"}}
{"type":"publication","id":"msdn-developer-conference","data":{"slug":"msdn-developer-conference","date":"2008-11-18","year":2008,"title":"MSDN Developer Conference","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"Chicago will be hosting a MDC event on January 13th at the Hyatt Regency Hotel in Downtown Chicago. I’ve got my ticket. It’s too bad that it’s only a one day event, I’d like to att","url":"/2008/11/18/msdn-developer-conference/"}}
{"type":"publication","id":"db40-on-shared-hosting-love","data":{"slug":"db40-on-shared-hosting-love","date":"2009-03-11","year":2009,"title":"db40 on shared hosting love","categories":[],"tags":["wordpress","republished","wayback","c"],"excerpt":"I’m tired of fighting the ORM battle, L2S, SubSonic, NHibernate, Lightspeed, etc. They’re all great products but painful to use because they are all “bandages” on the problem of ob","url":"/2009/03/11/db40-on-shared-hosting-love/"}}
{"type":"publication","id":"chicagoalt-net-march-meeting-recap","data":{"slug":"chicagoalt-net-march-meeting-recap","date":"2009-03-12","year":2009,"title":"ChicagoAlt.NET March Meeting Recap","categories":[],"tags":["wordpress","republished","wayback","alt-net","chicago"],"excerpt":"Good meeting, with an Open Session flair. The concept for the evening was for everyone to suggest a topic by writing it on an index card, and everyone got to vote by initialing on ","url":"/2009/03/12/chicagoalt-net-march-meeting-recap/"}}
{"type":"publication","id":"oodbms-vs-rdbms","data":{"slug":"oodbms-vs-rdbms","date":"2009-03-15","year":2009,"title":"OODBMS vs. RDBMS","categories":[],"tags":["wordpress","republished","wayback","c"],"excerpt":"Not really, but some interesting opinions on the topic. Late in 2008, Rob Conery of SubSonic fame came out with some thoughts on using db4o instead of the “traditional” relational ","url":"/2009/03/15/oodbms-vs-rdbms/"}}
{"type":"publication","id":"sonicfilefinder-should-be-in-every-visual-studio-developers-toolbox","data":{"slug":"sonicfilefinder-should-be-in-every-visual-studio-developers-toolbox","date":"2009-03-16","year":2009,"title":"SonicFileFinder should be in *every* visual studio developers toolbox.","categories":[],"tags":["wordpress","republished","wayback","visual-studio"],"excerpt":"Why use SonicFileFinder? It’s awesome. It’s free. SonicFileFinder provides a quick index of all the files in your Visual Studio solution. It’s like Intellisense for your files. I p","url":"/2009/03/16/sonicfilefinder-should-be-in-every-visual-studio-developers-toolbox/"}}
{"type":"publication","id":"asp-net-mvc-1-0-released","data":{"slug":"asp-net-mvc-1-0-released","date":"2009-03-18","year":2009,"title":"ASP.NET MVC 1.0 Released!","categories":[],"tags":["wordpress","republished","wayback","uncategorized","asp-net-mvc"],"excerpt":"I’m probably the 100,000th person to blog this but, what the heck. http://blog.maartenballiauw.be/post/2009/03/18/ASPNET-MVC-10-has-been-released!.aspx Glorious day, now as soon as","url":"/2009/03/18/asp-net-mvc-1-0-released/"}}
{"type":"publication","id":"chicagoland-software-developer-user-groups","data":{"slug":"chicagoland-software-developer-user-groups","date":"2009-03-18","year":2009,"title":"Chicagoland Software Developer User Groups","categories":[],"tags":["wordpress","republished","wayback","alt-net","chicago","coder-to-developer","meetup","networking","professional","self-improvement","software-architect","user-groups"],"excerpt":"Chicago Alt.NET A group dedicated to the Alt.NET manifesto. I’ve been to a few meetings and they were always fun. The group organizer Sergio Pereira is very active in the Chicago .","url":"/2009/03/18/chicagoland-software-developer-user-groups/"}}
{"type":"publication","id":"rant-on-building-strings-in-c","data":{"slug":"rant-on-building-strings-in-c","date":"2009-03-18","year":2009,"title":"Rant on building strings in C#","categories":[],"tags":["wordpress","republished","wayback","c"],"excerpt":"Okay, I’ve inherited a codebase with no shortage of embedded strings, but there is one thing driving me batty. string strSomething = \"The Hungarian Notat\" + \"ion is bad enough.\r\n","url":"/2009/03/18/rant-on-building-strings-in-c/"}}
{"type":"publication","id":"does-my-android-dream-of-electric-sheep","data":{"slug":"does-my-android-dream-of-electric-sheep","date":"2009-03-20","year":2009,"title":"Does My Android Dream of Electric Sheep?","categories":[],"tags":["wordpress","republished","wayback","uncategorized","android","tech"],"excerpt":"I bought a T-Mobile G1 Android phone either on or around the official launch date and thought it was going to be another gadget/toy that would be fun for awhile and then just be an","url":"/2009/03/20/does-my-android-dream-of-electric-sheep/"}}
{"type":"publication","id":"rockford-net-user-group-meeting-recap","data":{"slug":"rockford-net-user-group-meeting-recap","date":"2009-03-25","year":2009,"title":"Rockford .NET User Group Meeting Recap","categories":[],"tags":["wordpress","republished","wayback","alt-net","coder-to-developer","javascript","self-improvement"],"excerpt":"This was a fun one. The forum was a more traditional style where the audience listens and the speaker presents. Though Sergio’s laid back presentation style was a good fit and kept","url":"/2009/03/25/rockford-net-user-group-meeting-recap/"}}
{"type":"publication","id":"using-twitter-as-a-simplified-message-distribution-platform-aka-using-twitter-how-it-was-d","data":{"slug":"using-twitter-as-a-simplified-message-distribution-platform-aka-using-twitter-how-it-was-d","date":"2009-03-29","year":2009,"title":"Using Twitter as a Simplified Message Distribution Platform (aka using Twitter how it was designed).","categories":[],"tags":["wordpress","republished","wayback","rest","c","fun","idea","patterns"],"excerpt":"In a nutshell, I can send short commands via DM to a Twitter account that is following me. On the servers I wish to control I have installed agents that monitor the Twitter account","url":"/2009/03/29/using-twitter-as-a-simplified-message-distribution-platform-aka-using-twitter-how-it-was-d/"}}
{"type":"publication","id":"make-your-code-pretty-on-wordpress-com-with-syntaxhighlighter","data":{"slug":"make-your-code-pretty-on-wordpress-com-with-syntaxhighlighter","date":"2009-05-17","year":2009,"title":"Make Your Code Pretty On WordPress.com With SyntaxHighlighter.","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"Yet another “note-to-self” post. I’m always forgetting and having to search for the documentation on how to pretty-print source code in posts. WordPress.com has integrated support ","url":"/2009/05/17/make-your-code-pretty-on-wordpress-com-with-syntaxhighlighter/"}}
{"type":"publication","id":"set-classic-search-as-default-search-engine-over-desktop-search-in-xp-2003","data":{"slug":"set-classic-search-as-default-search-engine-over-desktop-search-in-xp-2003","date":"2009-05-17","year":2009,"title":"Set “Classic Search” as Default Search Engine Over Desktop Search in XP/2003","categories":[],"tags":["wordpress","republished","wayback","uncategorized","note-to-self","tech","wds","ws2k3","xp"],"excerpt":"This post is more for own benefit because whenever I setup a new system I have to go looking for this setting. If you have Windows Desktop Search installed but don’t like it being ","url":"/2009/05/17/set-classic-search-as-default-search-engine-over-desktop-search-in-xp-2003/"}}
{"type":"publication","id":"it-s-like-an-ice-pick-in-my-brain-disable-the-system-beep-on-a-vm","data":{"slug":"it-s-like-an-ice-pick-in-my-brain-disable-the-system-beep-on-a-vm","date":"2009-05-18","year":2009,"title":"It’s like an Ice Pick in my Brain (disable the system beep on a VM)","categories":[],"tags":["wordpress","republished","wayback","uncategorized","note-to-self","vm"],"excerpt":"The horrible, horrible system beep is an artifact of an ancient time when computers were too much like R2-D2, communicating in a series of beeps and whistles only understood by ham","url":"/2009/05/18/it-s-like-an-ice-pick-in-my-brain-disable-the-system-beep-on-a-vm/"}}
{"type":"publication","id":"integrate-beyond-compare-3-into-your-tortoisesvn-merge-process-or-any-other-client","data":{"slug":"integrate-beyond-compare-3-into-your-tortoisesvn-merge-process-or-any-other-client","date":"2009-05-19","year":2009,"title":"Integrate Beyond Compare 3 Into Your TortoiseSVN Merge Process (or Any Other Client)","categories":[],"tags":["wordpress","republished","wayback","uncategorized","merge","notes-to-self","tortoisesvn"],"excerpt":"Scroll down to the TortoiseSVN section and follow the instructions.","url":"/2009/05/19/integrate-beyond-compare-3-into-your-tortoisesvn-merge-process-or-any-other-client/"}}
{"type":"publication","id":"terminal-services-goes-wonky","data":{"slug":"terminal-services-goes-wonky","date":"2009-05-19","year":2009,"title":"Terminal Services Goes Wonky","categories":[],"tags":["wordpress","republished","wayback","uncategorized","mstsc","note-to-self","pita","rdp"],"excerpt":"Okay, this was a pain in the tuckus. Not sure which service pack hosed me but I lost a couple hours trying to figure out why I wasn’t able to connect from my Virtual Server host in","url":"/2009/05/19/terminal-services-goes-wonky/"}}
{"type":"publication","id":"terrible-icons-in-high-resolution-mode-in-rdp-mstsc","data":{"slug":"terrible-icons-in-high-resolution-mode-in-rdp-mstsc","date":"2009-05-19","year":2009,"title":"Terrible Icons in High Resolution Mode in RDP/MSTSC","categories":[],"tags":["wordpress","republished","wayback","uncategorized","annoyances","mstsc","notes-to-self","rdp"],"excerpt":"I’ve learned one thing from Twittering, and that’s just say whatever comes to mind. Hence I’ve started writing these little one-off posts. Yet another inane thing that I’ve come ac","url":"/2009/05/19/terrible-icons-in-high-resolution-mode-in-rdp-mstsc/"}}
{"type":"publication","id":"how-can-chicagoland-microsoft-developers-improve-their-community","data":{"slug":"how-can-chicagoland-microsoft-developers-improve-their-community","date":"2009-06-12","year":2009,"title":"How Can Chicagoland Microsoft Developers Improve Their Community?","categories":[],"tags":["wordpress","republished","wayback","chicago","code-camp","coder-to-developer","community","conferences","conventions","developer","microsoft","networking","speaking","user-groups"],"excerpt":"","url":"/2009/06/12/how-can-chicagoland-microsoft-developers-improve-their-community/"}}
{"type":"publication","id":"iowa-code-camp","data":{"slug":"iowa-code-camp","date":"2009-11-07","year":2009,"title":"Iowa Code Camp","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"","url":"/2009/11/07/iowa-code-camp/"}}
{"type":"publication","id":"string-formatting-in-javascript","data":{"slug":"string-formatting-in-javascript","date":"2009-11-07","year":2009,"title":"String Formatting In JavaScript","categories":[],"tags":["wordpress","republished","wayback","javascript","code"],"excerpt":"A follow-up on JavaScript string formatting patterns, including static and prototype-based implementations and community alternatives.","url":"/2009/11/07/string-formatting-in-javascript/"}}
{"type":"publication","id":"the-poor-developer-s-object-datastore-iteration-000","data":{"slug":"the-poor-developer-s-object-datastore-iteration-000","date":"2009-12-02","year":2009,"title":"The Poor Developer’s Object DataStore: Iteration 000","categories":[],"tags":["wordpress","republished","wayback","net","alt-net","database","c","dotnet","oodbms","xquery","xpath","serialization","mssql","object-database","objects","csharp","rdbms","relational-database","xml-sql-server","linq","linq-to-sql","linq-to-xml","l2s"],"excerpt":"This is part zero of a multi-part series. Jump to The Poor Developer’s Object DataStore: Iteration 001 for the first code drop. What is an object datastore? For an object-oriented ","url":"/2009/12/02/the-poor-developer-s-object-datastore-iteration-000/"}}
{"type":"publication","id":"the-trouble-with-titles","data":{"slug":"the-trouble-with-titles","date":"2009-12-09","year":2009,"title":"The Trouble with Titles","categories":[],"tags":["wordpress","republished","wayback","thoughts","career","titles"],"excerpt":"Chief Principal Senior Enterprise Solutions Architect Manager Somewhere in the world there is someone with a title just like that. In my previous employer I ended up with the title","url":"/2009/12/09/the-trouble-with-titles/"}}
{"type":"publication","id":"is-it-culpable-in-the-decline-of-the-united-states","data":{"slug":"is-it-culpable-in-the-decline-of-the-united-states","date":"2009-12-14","year":2009,"title":"Is IT Culpable in the Decline of the United States?","categories":[],"tags":["wordpress","republished","wayback","professional","thoughts","industry"],"excerpt":"Think about the application you are working on right now. What does it do? I don’t mean whether you’re writing some fancy bit of technological wonder. I mean what does your applica","url":"/2009/12/14/is-it-culpable-in-the-decline-of-the-united-states/"}}
{"type":"publication","id":"clean-aop-using-post-multicast-syntax","data":{"slug":"clean-aop-using-post-multicast-syntax","date":"2009-12-27","year":2009,"title":"Clean AOP using Post# Multicast Syntax.","categories":[],"tags":["wordpress","republished","wayback","aop","net","aspect","aspect-oriented-programming","c","csharp","post","postsharp"],"excerpt":"Post# is a powerful and relatively mature Aspect-Oriented Programming (AOP) framework for .NET. I love it and use it in every project that I have a need to implement crosscutting c","url":"/2009/12/27/clean-aop-using-post-multicast-syntax/"}}
{"type":"publication","id":"mchenry-cloud-developer-s-group-first-meeting-in-review","data":{"slug":"mchenry-cloud-developer-s-group-first-meeting-in-review","date":"2009-12-28","year":2009,"title":"McHenry Cloud Developer’s Group: First Meeting in Review","categories":[],"tags":["wordpress","republished","wayback","cloud","community","networking","user-group","google-app-engine","azure","amazon","mchenry","illinois","cloud-developer-s-group"],"excerpt":"Well, we’re finally underway! And a good start it is. We started the meeting off with a short introduction to the group and some ideas on what direction we could take the group. Af","url":"/2009/12/28/mchenry-cloud-developer-s-group-first-meeting-in-review/"}}
{"type":"publication","id":"a-month-of-blog","data":{"slug":"a-month-of-blog","date":"2009-12-29","year":2009,"title":"A Month of Blog","categories":[],"tags":["wordpress","republished","wayback","blogging","personal","challenge","writing"],"excerpt":"If you are going to take on a difficult challenge declare your intentions publicly. So that way you at least you have the fear of shame to motivate you. Thirty to ninety day initia","url":"/2009/12/29/a-month-of-blog/"}}
{"type":"publication","id":"skinning-your-asp-net-mvc-application-based-on-your-sub-domain","data":{"slug":"skinning-your-asp-net-mvc-application-based-on-your-sub-domain","date":"2010-01-03","year":2010,"title":"Skinning your ASP.NET MVC Application Based On Your Sub-domain.","categories":[],"tags":["wordpress","republished","wayback","asp-net-mvc"],"excerpt":"","url":"/2010/01/03/skinning-your-asp-net-mvc-application-based-on-your-sub-domain/"}}
{"type":"publication","id":"building-net-with-ruby","data":{"slug":"building-net-with-ruby","date":"2010-01-05","year":2010,"title":"Building .NET with Ruby","categories":[],"tags":["wordpress","republished","wayback","continuous-integration"],"excerpt":"","url":"/2010/01/05/building-net-with-ruby/"}}
{"type":"publication","id":"updated-structuremap-question-always-returning-the-last-registry-in-the-list","data":{"slug":"updated-structuremap-question-always-returning-the-last-registry-in-the-list","date":"2010-01-10","year":2010,"title":"[UPDATED] StructureMap Question, Always Returning the Last Registry in the List","categories":[],"tags":["wordpress","republished","wayback","net","asp-net-mvc","c"],"excerpt":"","url":"/2010/01/10/updated-structuremap-question-always-returning-the-last-registry-in-the-list/"}}
{"type":"publication","id":"coding-architects-senior-developer","data":{"slug":"coding-architects-senior-developer","date":"2010-01-11","year":2010,"title":"Coding Architects != Senior Developer","categories":[],"tags":["wordpress","republished","wayback","uncategorized","opinion","thoughts"],"excerpt":"I worked at a company with “coding architects” who were actually senior developers in disguise. It was so obvious that they were more interested in working on some little side proj","url":"/2010/01/11/coding-architects-senior-developer/"}}
{"type":"publication","id":"january-mchenry-cloud-developer-s-group-meeting","data":{"slug":"january-mchenry-cloud-developer-s-group-meeting","date":"2010-01-13","year":2010,"title":"January McHenry Cloud Developer’s Group Meeting.","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"first, I’d like to point out an intentional wording of the group’s name “Developer’s”. The apostrophe means that this isn’t a group of developers but a group owned by developers. I","url":"/2010/01/13/january-mchenry-cloud-developer-s-group-meeting/"}}
{"type":"publication","id":"what-s-with-all-these-roles","data":{"slug":"what-s-with-all-these-roles","date":"2010-01-13","year":2010,"title":"What’s with All These Roles?","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"I previously posted about some frustrations I’ve had when dealing with people in positions of authority who get too distracted from their intended responsibilities. Particularly th","url":"/2010/01/13/what-s-with-all-these-roles/"}}
{"type":"publication","id":"playing-with-httpmodules-httpresponse-filters-and-streams-in-net","data":{"slug":"playing-with-httpmodules-httpresponse-filters-and-streams-in-net","date":"2010-01-15","year":2010,"title":"Playing with HttpModules, HttpResponse.Filters and Streams in .NET","categories":[],"tags":["wordpress","republished","wayback","uncategorized","asp-net","c","csharp","css","html","http","stream"],"excerpt":"Previously, I created a little Html extension to help with skinning a website based on the subdomain. It is working out for me pretty well in my current project, but I wanted somet","url":"/2010/01/15/playing-with-httpmodules-httpresponse-filters-and-streams-in-net/"}}
{"type":"publication","id":"chicago-code-camp-2","data":{"slug":"chicago-code-camp-2","date":"2010-01-16","year":2010,"title":"Chicago Code Camp 2","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"The planning has begun for the second annual Chicago Code Camp. To put it in software development terms, we’re still in the “early alpha pre-release” phase. As soon as we have conc","url":"/2010/01/16/chicago-code-camp-2/"}}
{"type":"publication","id":"ironruby-tell-me-what-do-you-see-here","data":{"slug":"ironruby-tell-me-what-do-you-see-here","date":"2010-01-17","year":2010,"title":"IronRuby: Tell Me. What Do You See Here?","categories":[],"tags":["wordpress","republished","wayback","uncategorized","ironruby","rspec"],"excerpt":"view source Click to unmute Download all save files 100% It looks like hardware acceleration is disabled. While Ruffle may work, it could be very slow. You can find out how to enab","url":"/2010/01/17/ironruby-tell-me-what-do-you-see-here/"}}
{"type":"publication","id":"roundup-of-cool-ironruby-stuff","data":{"slug":"roundup-of-cool-ironruby-stuff","date":"2010-01-17","year":2010,"title":"Roundup of Cool IronRuby Stuff.","categories":[],"tags":["wordpress","republished","wayback","uncategorized","fun","ironruby","rails","ruby"],"excerpt":"This is the laziest blog post of the month. I’ve been completely distracted this afternoon playing around with IronRuby. Last night I got Ruby on Rails running on the latest releas","url":"/2010/01/17/roundup-of-cool-ironruby-stuff/"}}
{"type":"publication","id":"why-we-need-installers-for-ironruby-and-ironpython","data":{"slug":"why-we-need-installers-for-ironruby-and-ironpython","date":"2010-01-18","year":2010,"title":"Why We Need Installers for IronRuby and IronPython","categories":[],"tags":["wordpress","republished","wayback","uncategorized","installers","ironpython","ironruby"],"excerpt":"Recently on Twitter (where else anymore?) at least one person commented that they don’t understand why Microsoft developers would need an installer for tools like IronRuby and Iron","url":"/2010/01/18/why-we-need-installers-for-ironruby-and-ironpython/"}}
{"type":"publication","id":"career-and-family-also-known-as-this-here-s-for-reals-yo","data":{"slug":"career-and-family-also-known-as-this-here-s-for-reals-yo","date":"2010-01-19","year":2010,"title":"Career and Family. Also Known As “This Here’s For Reals, Yo.”","categories":[],"tags":["wordpress","republished","wayback","uncategorized","career","family","personal"],"excerpt":"A little over two years ago I found out that my wife was pregnant. I of course did the logical thing and broke down in tears. Then I realized something, I need to take this stuff s","url":"/2010/01/19/career-and-family-also-known-as-this-here-s-for-reals-yo/"}}
{"type":"publication","id":"quantity-over-quality","data":{"slug":"quantity-over-quality","date":"2010-01-20","year":2010,"title":"Quantity Over Quality.","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"Last night I had a severe case of writer’s block when I sat down to write my post. I already wrote my easy posts and didn’t have time for researching a more advanced topic. Then my","url":"/2010/01/20/quantity-over-quality/"}}
{"type":"publication","id":"mvc-song","data":{"slug":"mvc-song","date":"2010-01-25","year":2010,"title":"MVC Song","categories":[],"tags":["wordpress","republished","wayback","uncategorized","fun","learning","mvc","song"],"excerpt":"42.241134 -88.316197 Filed under: Uncategorized , fun, learning, mvc, song","url":"/2010/01/25/mvc-song/"}}
{"type":"publication","id":"ironruby-at-obtiva-s-geekfest","data":{"slug":"ironruby-at-obtiva-s-geekfest","date":"2010-01-27","year":2010,"title":"IronRuby at Obtiva’s Geekfest","categories":[],"tags":["wordpress","republished","wayback","uncategorized","geekfest","ironruby","obtiva","presentation"],"excerpt":"I got a chance to present IronRuby to a group of some of the most hardcore Ruby fanatics in Chicago today. And I’ve survived to tell the tale. Not too much to say other than my .NE","url":"/2010/01/27/ironruby-at-obtiva-s-geekfest/"}}
{"type":"publication","id":"pair-programming","data":{"slug":"pair-programming","date":"2010-01-28","year":2010,"title":"Pair Programming","categories":[],"tags":["wordpress","republished","wayback","uncategorized"],"excerpt":"After over a year of working solo it’s great to be working in a team again. And we’ve been aggresively pair programming for two weeks now and I have to say that it has been extreme","url":"/2010/01/28/pair-programming/"}}
{"type":"publication","id":"presented-building-net-w-ruby-at-lcnug","data":{"slug":"presented-building-net-w-ruby-at-lcnug","date":"2010-01-29","year":2010,"title":"Presented “Building .NET w/Ruby” at LCNUG","categories":[],"tags":["wordpress","republished","wayback","uncategorized","albacore","lcnug","rake","ruby","speaking"],"excerpt":"Had a great time presenting “Building .NET w/Ruby” at the Lake County .NET User Group in Grayslake, IL this evening. Slides: Builds .NET with Ruby The audience was relatively new t","url":"/2010/01/29/presented-building-net-w-ruby-at-lcnug/"}}
{"type":"publication","id":"what-comes-after-alt-net","data":{"slug":"what-comes-after-alt-net","date":"2010-01-30","year":2010,"title":"What comes after Alt.NET?","categories":[],"tags":["wordpress","republished","wayback","uncategorized","not-net"],"excerpt":"Between contracting with Obtiva and working at a client site where I and my co-developer are the only .NET developers on the site I’ve been focusing on learning tools and languages","url":"/2010/01/30/what-comes-after-alt-net/"}}
{"type":"publication","id":"mchenry-cloud-developer-s-group-february-meeting","data":{"slug":"mchenry-cloud-developer-s-group-february-meeting","date":"2010-01-31","year":2010,"title":"McHenry Cloud Developer’s Group February Meeting","categories":[],"tags":["wordpress","republished","wayback","uncategorized","azure","cloud","cloud-developer-s-group","user-group"],"excerpt":"February 8th, 2010. The McHenry Cloud Developer’s Group will be hosting it’s 3rd meeting. The night’s topic will be “Hello, World.” on the Microsoft Azure Platform. Presented by no","url":"/2010/01/31/mchenry-cloud-developer-s-group-february-meeting/"}}
{"type":"publication","id":"biting-off-almost-more-than-you-can-chew","data":{"slug":"biting-off-almost-more-than-you-can-chew","date":"2010-02-01","year":2010,"title":"Biting Off (Almost) More Than You Can Chew.","categories":[],"tags":["wordpress","republished","wayback","uncategorized","done"],"excerpt":"37 posts in 31 days! I’m finally at the end of my month long challenge to blog everyday. I had lofty goals of writing insightful and info laden posts but given the aggresive schedu","url":"/2010/02/01/biting-off-almost-more-than-you-can-chew/"}}
{"type":"publication","id":"february-challenge-very-improved-developer","data":{"slug":"february-challenge-very-improved-developer","date":"2010-02-01","year":2010,"title":"February Challenge: Very Improved Developer","categories":[],"tags":["wordpress","republished","wayback","uncategorized","challenge","vim"],"excerpt":"Okay, here’s my next personal challenge. Learn Vim. Period. I’m taking away all my editors, save Visual Studio. I need Visual Studio to pay the bills (for now). So bye-bye TextPad,","url":"/2010/02/01/february-challenge-very-improved-developer/"}}
{"type":"publication","id":"tags-vs-categories-in-wordpress","data":{"slug":"tags-vs-categories-in-wordpress","date":"2010-02-01","year":2010,"title":"Tags vs Categories in WordPress","categories":[],"tags":["wordpress","republished","wayback","uncategorized","i-don-t-like-categories","tags-are-better"],"excerpt":"I’ve not been categorizing my last dozen or so posts. I don’t get what the difference between tagging and categorizing is supposed to be anyway. Maybe if I felt a little bit more r","url":"/2010/02/01/tags-vs-categories-in-wordpress/"}}
{"type":"publication","id":"henryka-zalewski-1952-08-10-to-2010-02-06","data":{"slug":"henryka-zalewski-1952-08-10-to-2010-02-06","date":"2010-02-08","year":2010,"title":"Remembering Henryka Zalewski","categories":[],"tags":["wordpress","republished","wayback"],"excerpt":"A brief remembrance of Henryka Zalewski, originally published in 2010.","url":"/2010/02/08/henryka-zalewski-1952-08-10-to-2010-02-06/"}}
{"type":"publication","id":"mixed-emotions","data":{"slug":"mixed-emotions","date":"2010-02-11","year":2010,"title":"Mixed Emotions","categories":[],"tags":["wordpress","republished","wayback"],"excerpt":"Sitting on the floor of our kitchen. Eating my wife’s “Hippy cakes.” Daughter bopping around banging kitchen utensils as classical piano music also plays in the","url":"/2010/02/11/mixed-emotions/"}}
{"type":"publication","id":"start-making-dos-follow-your-cmd","data":{"slug":"start-making-dos-follow-your-cmd","date":"2010-03-25","year":2010,"title":"START making DOS follow your CMD","categories":[],"tags":["wordpress","republished","wayback","craftsmanship","tool-mastery"],"excerpt":"I’ll be the first to say, I have *major* terminal envy working with so many Linux and Mac developers. Not just the shell, but pretty much everything about the c","url":"/2010/03/25/start-making-dos-follow-your-cmd/"}}
{"type":"publication","id":"chicago-code-camp-2","data":{"slug":"chicago-code-camp-2","date":"2010-04-12","year":2010,"title":"Chicago Code Camp 2","categories":[],"tags":["wordpress","republished","wayback","chicagocodecamp","events"],"excerpt":"Hey, live in or near Chicago? Are you a software developer? Do you like software? Do you just like going to places where other people are? Then you will LOVE th","url":"/2010/04/12/chicago-code-camp-2/"}}
{"type":"publication","id":"getting-back-on-the-bike-or-horse-whichever-metaphor-you-prefer","data":{"slug":"getting-back-on-the-bike-or-horse-whichever-metaphor-you-prefer","date":"2010-06-06","year":2010,"title":"Getting back on the bike, or horse, whichever metaphor you prefer.","categories":[],"tags":["wordpress","republished","wayback","personal"],"excerpt":"Hi. Been a while since I’ve last blogged. Things have changed a bit for me as well, my personal life was in a bit of turmoil for the past few months that I won’","url":"/2010/06/06/getting-back-on-the-bike-or-horse-whichever-metaphor-you-prefer/"}}
{"type":"publication","id":"rvm-ruby-version-manager-is-neat","data":{"slug":"rvm-ruby-version-manager-is-neat","date":"2010-06-09","year":2010,"title":"RVM (Ruby Version Manager) is Neat.","categories":[],"tags":["wordpress","republished","wayback"],"excerpt":"If you are working on Ruby then you are either probably using the default Ruby that came with your Mac or installed via apt-get or manually installed a version ","url":"/2010/06/09/rvm-ruby-version-manager-is-neat/"}}
{"type":"publication","id":"episode-i-we-have-lift-off","data":{"slug":"episode-i-we-have-lift-off","date":"2010-06-24","year":2010,"title":"Episode I: We Have Lift-off","categories":[],"tags":["podcast","ironlanguages","republished","wayback"],"excerpt":"IronLanguages-2010.06.16.m4a Click to unmute Download all save files 100% It looks like hardware acceleration is disabled. While Ruffle may work, it could be very slow. You can fin","url":"/2010/06/24/episode-i-we-have-lift-off/"}}
{"type":"publication","id":"minor-updates-itunes-and-ironlanguages-net","data":{"slug":"minor-updates-itunes-and-ironlanguages-net","date":"2010-06-28","year":2010,"title":"Minor Updates: iTunes and IronLanguages.net","categories":[],"tags":["podcast","ironlanguages","republished","wayback"],"excerpt":"Some minor housekeeping updates... We have a new domain for our site... http://ironlanguages.net Although the relatively new, but deprecated url of http://ironlanguages.posterous.c","url":"/2010/06/28/minor-updates-itunes-and-ironlanguages-net/"}}
{"type":"publication","id":"next-show-dlr-ironruby-and-ironshay","data":{"slug":"next-show-dlr-ironruby-and-ironshay","date":"2010-07-09","year":2010,"title":"Next Show: DLR, IronRuby and IronShay","categories":[],"tags":["wordpress","republished","wayback"],"excerpt":"We're going to be interviewing Shay Friedman, aka @ironshay. Shay is the author of IronRuby Unleashed an IronRuby MVP and blogs at http://blogs.microsoft.co.il/","url":"/2010/07/09/next-show-dlr-ironruby-and-ironshay/"}}
{"type":"publication","id":"july-meeting-node-js-with-heroku-to-flavor","data":{"slug":"july-meeting-node-js-with-heroku-to-flavor","date":"2010-07-13","year":2010,"title":"July Meeting – Node.js with Heroku to flavor","categories":[],"tags":["wordpress","republished","wayback"],"excerpt":"","url":"/2010/07/13/july-meeting-node-js-with-heroku-to-flavor/"}}
{"type":"publication","id":"episode-2-chat-with-shay-ironshay-friedman","data":{"slug":"episode-2-chat-with-shay-ironshay-friedman","date":"2010-07-18","year":2010,"title":"Episode 2 – Chat with Shay “IronShay” Friedman","categories":[],"tags":["wordpress","republished","wayback"],"excerpt":"You can listen to this and all the episodes at the official home of the IronLanguages.net podcast. Will and Mike chat with Shay “IronShay” Friedman, an IronRuby","url":"/2010/07/18/episode-2-chat-with-shay-ironshay-friedman/"}}
{"type":"publication","id":"upcoming-iron-languages-podcast-episodes","data":{"slug":"upcoming-iron-languages-podcast-episodes","date":"2010-08-09","year":2010,"title":"Upcoming Iron Languages Podcast Episodes","categories":[],"tags":["podcast","ironlanguages","republished","wayback"],"excerpt":"We recorded two episodes of The Iron Languages Podcast: 'Mentoring, Rumbling, Bridging with Rails, Ruby, JavaScript & HTML' with Brian Hogan and 'That ''nu'' Thing' with Dru Sellers and Rob Reynolds.","url":"/2010/08/09/upcoming-iron-languages-podcast-episodes/"}}
{"type":"publication","id":"episode-3-interview-with-brian-hogan","data":{"slug":"episode-3-interview-with-brian-hogan","date":"2010-08-28","year":2010,"title":"Episode 3: Interview with Brian Hogan","categories":[],"tags":["podcast","ironlanguages","republished","wayback"],"excerpt":"IronLanguages-2010-08-05.mp3 Click to unmute Download all save files 100% It looks like hardware acceleration is disabled. While Ruffle may work, it could be very slow. You can fin","url":"/2010/08/28/episode-3-interview-with-brian-hogan/"}}
{"type":"publication","id":"interview-with-jeff-hardy","data":{"slug":"interview-with-jeff-hardy","date":"2010-09-30","year":2010,"title":"Interview with Jeff Hardy","categories":[],"tags":["podcast","ironlanguages","republished","wayback"],"excerpt":"Tonight we're going to sit down to chat with Jeff Hardy, an IronPython MVP and apparently a daschund in a hotdog costume for all the pictures I could find of him on the interwebs. ","url":"/2010/09/30/interview-with-jeff-hardy/"}}
{"type":"publication","id":"the-lost-episode","data":{"slug":"the-lost-episode","date":"2010-09-30","year":2010,"title":"The Lost Episode","categories":[],"tags":["podcast","ironlanguages","republished","wayback"],"excerpt":"Back in August we sat down to chat with Rob Reynolds and Dru Sellers about the Nu project. At the time, I hadn't even edited the interview with Brian Hogan yet. So in a death spira","url":"/2010/09/30/the-lost-episode/"}}
{"type":"publication","id":"re-getting-back-on-the-bike","data":{"slug":"re-getting-back-on-the-bike","date":"2012-01-22","year":2012,"title":"Re-getting back on the bike.","categories":[],"tags":["blogger","republished","wayback","beginnings","personal"],"excerpt":"It's been little under two years since I'd written the \" Getting back on the bike \" post a lot has changed for me. I've been working with Ob...","url":"/2012/01/22/re-getting-back-on-the-bike/"}}
{"type":"publication","id":"moving-off-google-to-google","data":{"slug":"moving-off-google-to-google","date":"2012-02-09","year":2012,"title":"Moving off Google to Google.","categories":[],"tags":["blogger","republished","wayback","accounts","google","identity","services"],"excerpt":"Google Apps excited the heck out of me from the day it was announced. The prospect of being able to manage my own domain on the world class ...","url":"/2012/02/09/moving-off-google-to-google/"}}
{"type":"publication","id":"how-upgrading-to-lion-and-performing-a-clean-re-install-of-xcode-4-3-made-homebrew-cry-and","data":{"slug":"how-upgrading-to-lion-and-performing-a-clean-re-install-of-xcode-4-3-made-homebrew-cry-and","date":"2012-02-17","year":2012,"title":"How upgrading to Lion and performing a clean re-install of Xcode 4.3 made Homebrew cry and how to fix it.","categories":[],"tags":["blogger","republished","wayback","homebrew","lion","os-x","xcode"],"excerpt":"I had the brilliant idea to upgrade to OS X Lion and perform a clean re-install of Xcode 4.3. As with most brilliant ideas that involve upgr...","url":"/2012/02/17/how-upgrading-to-lion-and-performing-a-clean-re-install-of-xcode-4-3-made-homebrew-cry-and/"}}
{"type":"publication","id":"360-learning-at-user-groups","data":{"slug":"360-learning-at-user-groups","date":"2012-09-26","year":2012,"title":"360 Learning at User Groups","categories":[],"tags":["Community","User Groups","Learning","Facilitating"],"excerpt":"## Retrospective This article reflects on the idea that learning at user groups is multi-directional: the speaker, the audience, and the organizer all learn in different ways at the same time. The key insight is that facilitation is an active craft, a","url":"/2012/09/26/360-learning-at-user-groups/"}}
{"type":"publication","id":"improve-case-insensitive-queries-in-postgres-using-smarter-indexes","data":{"slug":"improve-case-insensitive-queries-in-postgres-using-smarter-indexes","date":"2015-02-25","year":2015,"title":"Improve Case-Insensitive Queries in PostgreSQL Using Smarter Indexes","categories":[],"tags":["PostgreSQL","Indexes","SQL","Performance"],"excerpt":"One of the unique features of Postgres is it's powerful index engine. Using Postgres you can get much more fine grained control over how your data is indexed. For example indexes on expressions which allow you to create indexes on fields that have `UP","url":"/2015/02/25/improve-case-insensitive-queries-in-postgres-using-smarter-indexes/"}}
{"type":"publication","id":"using-postgres-regex-expressions-to-find-very-specific-matches","data":{"slug":"using-postgres-regex-expressions-to-find-very-specific-matches","date":"2015-02-25","year":2015,"title":"Using Postgres RegEx Expressions to Find Very Specific Matches","categories":[],"tags":["PostgreSQL","RegEx","Ruby on Rails","SQL"],"excerpt":"Coderwall has been having issues with certain avatars generating 403 errors in the browser console. You probably wouldn't notice unless you had your dev tools open while you were browsing but there were a little over 25% of our Twitter avatars that we","url":"/2015/02/25/using-postgres-regex-expressions-to-find-very-specific-matches/"}}
{"type":"publication","id":"leverage-the-j-in-jruby-for-powerful-concurrency","data":{"slug":"leverage-the-j-in-jruby-for-powerful-concurrency","date":"2015-04-27","year":2015,"title":"Leverage the \"J\" in JRuby for Powerful Concurrency","categories":[],"tags":["Ruby","JRuby","Java","Concurrency","JVM"],"excerpt":"I was working on a project that required some heavy-weight processing of links to determine if they were valid based on a variety of criteria. Since the standard Ruby interpreter was running each process sequentially the naive approach was taking a pr","url":"/2015/04/27/leverage-the-j-in-jruby-for-powerful-concurrency/"}}
{"type":"publication","id":"mentorship-starts-with-a-conversation","data":{"slug":"mentorship-starts-with-a-conversation","date":"2024-12-28","year":2024,"title":"Mentorship Starts With a Conversation","categories":[],"tags":["linkedin","republished"],"excerpt":"If you're a senior developer working with colleagues just a few years junior to you, you already have everything you need to be a mentor. It doesn’t take years of preparation or a formal program to begin—it starts with curiosity and conversation. Ask ","url":"/2024/12/28/mentorship-starts-with-a-conversation/"}}
{"type":"publication","id":"what-seasoned-developers-forget-about-starting-out","data":{"slug":"what-seasoned-developers-forget-about-starting-out","date":"2024-12-28","year":2024,"title":"What Seasoned Developers Forget About Starting Out","categories":[],"tags":["linkedin","republished"],"excerpt":"Sitting with a half-dozen senior technologists at my local user group, we were joined by half as many junior developers eager to learn. After all, they came to a software craftsmanship meetup—they were ready to soak up knowledge. The seasoned develope","url":"/2024/12/28/what-seasoned-developers-forget-about-starting-out/"}}
{"type":"publication","id":"practice-vs-repetition-the-key-to-real-growth","data":{"slug":"practice-vs-repetition-the-key-to-real-growth","date":"2025-01-04","year":2025,"title":"Practice vs. Repetition: The Key to Real Growth","categories":[],"tags":["linkedin","republished"],"excerpt":"We’ve all heard the phrase, “Practice makes perfect.” But does it? Not really. Practice doesn’t make perfect. It makes you better . But only if you’re doing it right. Here’s the thing: practice and repetition are not the same. Repetition—mindlessly do","url":"/2025/01/04/practice-vs-repetition-the-key-to-real-growth/"}}
{"type":"publication","id":"from-yossarian-to-orr-moving-from-seeing-the-problem-to-solving-it","data":{"slug":"from-yossarian-to-orr-moving-from-seeing-the-problem-to-solving-it","date":"2025-01-10","year":2025,"title":"From Yossarian to Orr: Moving From Seeing the Problem to Solving It","categories":[],"tags":["linkedin","republished"],"excerpt":"There was only one catch and that was Catch-22, which specified that a concern for one’s safety in the face of dangers that were real and immediate was the process of a rational mind. Orr was crazy and could be grounded. All he had to do was ask; and ","url":"/2025/01/10/from-yossarian-to-orr-moving-from-seeing-the-problem-to-solving-it/"}}
{"type":"publication","id":"stand-up-and-fight-running-the-gauntlet-of-change","data":{"slug":"stand-up-and-fight-running-the-gauntlet-of-change","date":"2025-01-12","year":2025,"title":"Stand Up and Fight: Running the Gauntlet of Change","categories":[],"tags":["linkedin","republished"],"excerpt":"Change, whether in ourselves or the systems we inhabit, is rarely easy. It’s a battle—a gauntlet—of meetings, justifications, setbacks, and uncertainty. For anyone who’s fought to make a project, a vision, or even a career change a reality, the battle","url":"/2025/01/12/stand-up-and-fight-running-the-gauntlet-of-change/"}}
{"type":"publication","id":"the-dog-who-caught-their-tail-the-best-collaborators-i-ve-worked-with","data":{"slug":"the-dog-who-caught-their-tail-the-best-collaborators-i-ve-worked-with","date":"2025-01-14","year":2025,"title":"The Dog Who Caught Their Tail: The Best Collaborators I've Worked With","categories":[],"tags":["linkedin","republished"],"excerpt":"Some people step into new roles like a dog catching its tail—they’ve achieved something they’ve worked hard for, but the real test comes after the title. Among the best collaborators I’ve worked with are those who make this transition not just about t","url":"/2025/01/14/the-dog-who-caught-their-tail-the-best-collaborators-i-ve-worked-with/"}}
{"type":"publication","id":"the-power-of-titles-what-i-misunderstood","data":{"slug":"the-power-of-titles-what-i-misunderstood","date":"2025-01-14","year":2025,"title":"The Power of Titles: What I Misunderstood","categories":[],"tags":["linkedin","republished"],"excerpt":"For most of my career, I’ve eschewed titles. I saw people chase them like prizes—coveting authority without earning respect, collecting accolades without delivering results. I didn’t want to be like that. I thought my work should speak for itself, tha","url":"/2025/01/14/the-power-of-titles-what-i-misunderstood/"}}
{"type":"publication","id":"what-i-learned-from-running-down-a-hallway-with-groupon-s-ceo","data":{"slug":"what-i-learned-from-running-down-a-hallway-with-groupon-s-ceo","date":"2025-01-18","year":2025,"title":"What I Learned from Running Down a Hallway with Groupon's CEO","categories":[],"tags":["linkedin","republished"],"excerpt":"Sometimes, a single question can change everything. For me, it wasn’t just a question—it was also a hallway run with Andrew Mason, Groupon’s CEO at the time, that shifted the trajectory of my career and taught me lessons I’m still unpacking to this da","url":"/2025/01/18/what-i-learned-from-running-down-a-hallway-with-groupon-s-ceo/"}}
{"type":"publication","id":"the-power-of-people-not-just-ai","data":{"slug":"the-power-of-people-not-just-ai","date":"2025-01-21","year":2025,"title":"The Power of People, Not Just AI","categories":[],"tags":["linkedin","republished"],"excerpt":"In an era where AI dominates conversations and headlines, it’s easy to feel like the future of work is all about machines solving problems for us. But the truth is simpler—and far more human. At its core, the work we do is still about people coming to","url":"/2025/01/21/the-power-of-people-not-just-ai/"}}
{"type":"publication","id":"the-sound-above-bridging-inspiration-and-understanding-in-tech","data":{"slug":"the-sound-above-bridging-inspiration-and-understanding-in-tech","date":"2025-01-24","year":2025,"title":"The Sound Above: Bridging Inspiration and Understanding in Tech","categories":[],"tags":["linkedin","republished"],"excerpt":"Defining the Sound Above “The sound above” represents the echoes of ideas, inspirations, and cultural touchstones that have shaped an industry or a mindset. It’s the legacy carried forward by those who came before, forming an unspoken language and sha","url":"/2025/01/24/the-sound-above-bridging-inspiration-and-understanding-in-tech/"}}
{"type":"publication","id":"a-moment-of-absurdity-in-stagnation","data":{"slug":"a-moment-of-absurdity-in-stagnation","date":"2025-01-31","year":2025,"title":"A Moment of Absurdity in Stagnation","categories":[],"tags":["linkedin","republished"],"excerpt":"In the early 2000s, before .NET had solidified and JavaScript was still dismissed as a “toy language,” I worked at a small firm developing kiosk-based HR systems . The company was a skeleton crew—just the owner, a senior developer with a long corporat","url":"/2025/01/31/a-moment-of-absurdity-in-stagnation/"}}
{"type":"publication","id":"the-boy-who-told-the-truth","data":{"slug":"the-boy-who-told-the-truth","date":"2025-02-01","year":2025,"title":"The Boy Who Told the Truth","categories":[],"tags":["linkedin","republished"],"excerpt":"There was a boy who saw a wolf. He was a shepherd, living where the wild met the edges of civilization. His job was simple: protect the flock, watch the hills, and warn the village if danger came. One day, he saw the shadow of a wolf in the distance. ","url":"/2025/02/01/the-boy-who-told-the-truth/"}}
{"type":"publication","id":"they-re-your-legs","data":{"slug":"they-re-your-legs","date":"2025-02-01","year":2025,"title":"“They’re Your Legs.”","categories":[],"tags":["linkedin","republished"],"excerpt":"A few weeks ago, I was at Valvoline getting an oil change. It was a busy day— full bays, a strong shop lead keeping things moving, and a small crew working fast. Watching them coordinate, I was impressed. I was enjoying the moment so much that I even ","url":"/2025/02/01/they-re-your-legs/"}}
{"type":"publication","id":"from-y2k-panic-to-ai-anxiety-why-the-future-is-always-worth-building","data":{"slug":"from-y2k-panic-to-ai-anxiety-why-the-future-is-always-worth-building","date":"2025-02-03","year":2025,"title":"🚀 From Y2K Panic to AI Anxiety: Why the Future is Always Worth Building","categories":[],"tags":["linkedin","republished"],"excerpt":"1999: The World Braced for Collapse—But I Was Planning My Escape In December 1999 , the world was fixated on Y2K . People feared that at the stroke of midnight, technology would fail—planes would fall from the sky, banks would lose all records, and th","url":"/2025/02/03/from-y2k-panic-to-ai-anxiety-why-the-future-is-always-worth-building/"}}
{"type":"publication","id":"the-sound-of-tokens","data":{"slug":"the-sound-of-tokens","date":"2026-04-04","year":2026,"title":"The Sound of Tokens: From 80's Arcades to the AI Era","categories":[],"tags":["Technical Strategy","AI","ROI","linkedin","republished"],"excerpt":"Reflections on the original 'pay to win' arcade systems and their parallel to AI token consumption. Evaluating the ROI of experience in a tokenized world.","url":"/2026/04/04/the-sound-of-tokens/"}}
{"type":"publication","id":"the-durable-insights-of-ugtastic","data":{"slug":"the-durable-insights-of-ugtastic","date":"2026-05-07","year":2026,"title":"The Durable Insights of UGtastic: Shared Wisdom from the DevOps & Craftsmanship Frontier","categories":[],"tags":["Technical Strategy","DevOps","Software Craftsmanship","Community","UGtastic"],"excerpt":"Reflecting on the foundational discussions of the early 2010s and why their 'durable insights' are more relevant than ever in the age of AI.","url":"/2026/05/07/the-durable-insights-of-ugtastic/"}}
{"type":"publication","id":"207-technical-conversations-what-i-learned","data":{"slug":"207-technical-conversations-what-i-learned","date":"2026-05-20","year":2026,"title":"207 Technical Conversations: What I Learned from the Creators of the Modern Stack","categories":[],"tags":["leadership","archive","history","craftsmanship","engineering"],"excerpt":"A synthesis of a decade of archival technical interviews, distilling durable engineering wisdom from the leaders who shaped the modern software landscape.","url":"/2026/05/20/207-technical-conversations-what-i-learned/"}}
{"type":"publication","id":"history-of-software-craftsmanship-in-chicago","data":{"slug":"history-of-software-craftsmanship-in-chicago","date":"2026-08-16","year":2026,"title":"History of Software Craftsmanship in Chicago: The Oral Record","categories":["History","Software Craftsmanship"],"tags":["Chicago","SCMC","SCNA","Clean Code","Testing","Community","Architecture"],"excerpt":"A retrospective on how Chicago developers built SCMC and SCNA to promote TDD, code katas, and clean architecture across the Midwest.","url":"/2026/08/16/history-of-software-craftsmanship-in-chicago/"}}
{"type":"publication","id":"software-craftsmanship-mchenry-county-a-retrospective","data":{"slug":"software-craftsmanship-mchenry-county-a-retrospective","date":"2026-08-17","year":2026,"title":"Software Craftsmanship McHenry County: A Historical Retrospective","categories":["History","Software Craftsmanship"],"tags":["SCMC","McHenry","Chicago","Community","User Groups","History","TDD","Clean Code"],"excerpt":"A comprehensive historical retrospective on Software Craftsmanship McHenry County (SCMC), from its 2009 origins as the McHenry Cloud Developer’s Group to its role in shaping Chicagoland developer culture.","url":"/2026/08/17/software-craftsmanship-mchenry-county-a-retrospective/"}}
{"type":"publication","id":"from-coderwall-to-assembly-the-evolution-of-developer-reputation","data":{"slug":"from-coderwall-to-assembly-the-evolution-of-developer-reputation","date":"2026-08-18","year":2026,"title":"From Coderwall to Assembly: What the Open-Source Transition Taught Me About Security, Service Extraction, and Developer Communities","categories":[],"tags":["Developer Tools","Community","Open Source","Coderwall","Assembly","Retrospective","Security"],"excerpt":"What I learned as the #1 contributor to the Coderwall open-source codebase: security hardening a closed platform for public release, extracting proprietary billing into service stubs, and leading a developer community through a MongoDB-to-PostgreSQL m","url":"/2026/08/18/from-coderwall-to-assembly-the-evolution-of-developer-reputation/"}}
{"type":"publication","id":"open-heart-surgery-on-a-monolith-securing-rails-before-open-sourcing","data":{"slug":"open-heart-surgery-on-a-monolith-securing-rails-before-open-sourcing","date":"2026-08-19","year":2026,"title":"Open-Heart Surgery on a Monolith: What 9 Security Patches in 14 Days Taught Me About Open-Sourcing Rails","categories":[],"tags":["Security","Ruby on Rails","Open Source","Architecture","Retrospective","Coderwall"],"excerpt":"When taking a high-traffic closed-source Rails monolith open-source, the biggest challenge isn't the open-source license, it's the implicit assumptions baked into private code. Here is how we audited and secured Coderwall before making the repository ","url":"/2026/08/19/open-heart-surgery-on-a-monolith-securing-rails-before-open-sourcing/"}}
{"type":"publication","id":"forensic-engineering-restoring-207-lost-conversations-with-local-ai","data":{"slug":"forensic-engineering-restoring-207-lost-conversations-with-local-ai","date":"2026-08-20","year":2026,"title":"Forensic Engineering: Restoring 207 Lost Technical Conversations with Local AI","categories":[],"tags":["AI Engineering","Digital Archeology","Software Craftsmanship","Audio Engineering","Python","UGtastic"],"excerpt":"Over a decade of software engineering history was trapped in low-bitrate MP3s, dead RSS feeds, and deprecated hosting platforms. Here is how I used local AI (Whisper and LLM pipelines) to perform digital archeology and restore 207 high-bandwidth techn","url":"/2026/08/20/forensic-engineering-restoring-207-lost-conversations-with-local-ai/"}}
{"type":"publication","id":"from-postsharp-to-modern-observability-what-aop-taught-us","data":{"slug":"from-postsharp-to-modern-observability-what-aop-taught-us","date":"2026-08-20","year":2026,"title":"From PostSharp to Modern Observability: What 2009 AOP Taught Me About Clean Architecture","categories":[],"tags":["Architecture","AOP","C#","OpenTelemetry","Retrospective","History"],"excerpt":"In 2009, C# developers were drowning in boilerplate: decorating hundreds of methods with logging, caching, and security attributes. Here is how compile-time Aspect-Oriented Programming (AOP) multicast weaving shaped clean architecture and modern distr","url":"/2026/08/20/from-postsharp-to-modern-observability-what-aop-taught-us/"}}
{"type":"publication","id":"security-at-the-seam-brakeman-railsconf-and-monolith-audits","data":{"slug":"security-at-the-seam-brakeman-railsconf-and-monolith-audits","date":"2026-08-20","year":2026,"title":"Security at the Seam: Lessons from Brakeman, RailsConf 2014, and Monolith Audits","categories":[],"tags":["Security","Static Analysis","Brakeman","Ruby on Rails","Architecture","UGtastic"],"excerpt":"At RailsConf 2014, static AST analysis was just beginning to transform web security. Here is how Justin Collins built Brakeman to catch architectural vulnerabilities, and what auditing production monoliths taught us about defensive boundaries.","url":"/2026/08/20/security-at-the-seam-brakeman-railsconf-and-monolith-audits/"}}
{"type":"publication","id":"system-cartography-part-1-the-executive-legibility-gap","data":{"slug":"system-cartography-part-1-the-executive-legibility-gap","date":"2026-08-20","year":2026,"title":"System Cartography: Part 1 :  The Executive Legibility Gap and the Map of Business Decisions","categories":[],"tags":["System Cartography","Architecture","Leadership","Enterprise","Panoramic View"],"excerpt":"In every mature company, Product, Engineering, and Leadership have three conflicting mental models of how the system works. Here is why mapping decision locations is the prerequisite for accurate staffing, modernizations, and capital decisions.","url":"/2026/08/20/system-cartography-part-1-the-executive-legibility-gap/"}}
{"type":"publication","id":"system-cartography-part-2-browser-to-backend-inventory","data":{"slug":"system-cartography-part-2-browser-to-backend-inventory","date":"2026-08-20","year":2026,"title":"System Cartography: Part 2 :  The Browser-to-Backend Inventory: Tracing the Seams of a Decision","categories":[],"tags":["System Cartography","Architecture","Web Development","Performance","Panoramic View"],"excerpt":"A single user interaction touches dozens of hidden checkpoints before a database transaction commits. Here is how conducting an end-to-end browser-to-backend inventory reveals where system boundaries actually exist.","url":"/2026/08/20/system-cartography-part-2-browser-to-backend-inventory/"}}
{"type":"publication","id":"system-cartography-part-3-aop-as-a-diagnostic-lens","data":{"slug":"system-cartography-part-3-aop-as-a-diagnostic-lens","date":"2026-08-20","year":2026,"title":"System Cartography: Part 3 :  Aspect-Oriented Programming as a Diagnostic Lens","categories":[],"tags":["System Cartography","AOP","Architecture","Ruby on Rails","Panoramic View"],"excerpt":"How do you audit an undocumented, multi-million-line legacy system without risking production outages? Aspect-Oriented Programming (AOP) provides the non-invasive method interceptors needed to illuminate hidden decision paths.","url":"/2026/08/20/system-cartography-part-3-aop-as-a-diagnostic-lens/"}}
{"type":"publication","id":"system-cartography-part-4-finding-the-seam-and-the-strangler-fig","data":{"slug":"system-cartography-part-4-finding-the-seam-and-the-strangler-fig","date":"2026-08-20","year":2026,"title":"System Cartography: Part 4 :  Finding the Seam: How the Panoramic View Powers the Strangler Fig","categories":[],"tags":["System Cartography","Strangler Fig","Architecture","Modernization","Panoramic View"],"excerpt":"The Strangler Fig pattern is the gold standard for legacy system modernization, but it fails if you cut in the wrong place. Here is how the Panoramic View identifies clean architectural seams for zero-risk service extraction.","url":"/2026/08/20/system-cartography-part-4-finding-the-seam-and-the-strangler-fig/"}}
{"type":"publication","id":"system-cartography-part-5-the-4-dimensional-topology-map","data":{"slug":"system-cartography-part-5-the-4-dimensional-topology-map","date":"2026-08-20","year":2026,"title":"System Cartography: Part 5 :  The 4-Dimensional Topology Map","categories":[],"tags":["System Cartography","Architecture","Enterprise","Security","Panoramic View"],"excerpt":"A single architecture diagram cannot capture modern system reality. System Cartography models platforms across four explicit dimensions: Interaction Surfaces, Lateral State Dependencies, Infrastructure Topology, and Supply Chain Exposure.","url":"/2026/08/20/system-cartography-part-5-the-4-dimensional-topology-map/"}}
{"type":"publication","id":"system-cartography-part-6-staffing-the-topology","data":{"slug":"system-cartography-part-6-staffing-the-topology","date":"2026-08-20","year":2026,"title":"System Cartography: Part 6 :  Staffing the Topology: Reversing Conway's Law for Real Engineering Velocity","categories":[],"tags":["System Cartography","Leadership","Team Topologies","Conway's Law","Panoramic View"],"excerpt":"Organizations inevitably produce software architectures that mimic their communication structures. Here is how mapping real system decision density allows leadership to reverse Conway's Law and allocate headcount where it actually matters.","url":"/2026/08/20/system-cartography-part-6-staffing-the-topology/"}}
{"type":"publication","id":"the-clean-break-migrating-mongodb-to-postgresql-under-load","data":{"slug":"the-clean-break-migrating-mongodb-to-postgresql-under-load","date":"2026-08-20","year":2026,"title":"The Clean Break: Migrating a Production Graph from MongoDB to PostgreSQL Under Load","categories":[],"tags":["PostgreSQL","MongoDB","Database Architecture","Ruby on Rails","Retrospective","Coderwall"],"excerpt":"In the 2012–2014 era, MongoDB was the default choice for rapid prototyping and developer graphs. Here is how we migrated Coderwall's entire data model to PostgreSQL while maintaining live traffic and zero downtime.","url":"/2026/08/20/the-clean-break-migrating-mongodb-to-postgresql-under-load/"}}
{"type":"publication","id":"the-evolution-of-async-jobs-from-resque-to-sidekiq","data":{"slug":"the-evolution-of-async-jobs-from-resque-to-sidekiq","date":"2026-08-20","year":2026,"title":"The Evolution of Async Jobs: From Resque and Cron to Sidekiq and Modern Event Streams","categories":[],"tags":["Architecture","Redis","Sidekiq","Ruby on Rails","Performance","Retrospective"],"excerpt":"Background queues are the invisible nervous system of web architectures. Here is how managing high-volume email engines, scheduled tasks, and event workers evolved from fork-heavy Resque processes to thread-safe Sidekiq pools.","url":"/2026/08/20/the-evolution-of-async-jobs-from-resque-to-sidekiq/"}}
{"type":"publication","id":"the-human-side-of-software-craftsmanship-dan-north-sandro-mancuso","data":{"slug":"the-human-side-of-software-craftsmanship-dan-north-sandro-mancuso","date":"2026-08-20","year":2026,"title":"The Human Side of Software Craftsmanship: Conversations with Dan North, Sandro Mancuso, and the Pioneers","categories":[],"tags":["Software Craftsmanship","Testing","Leadership","UGtastic","Retrospective","History"],"excerpt":"When Dan North created BDD and Sandro Mancuso organized the Software Craftsmanship movement, it was never about dogmatic testing rules. It was about developer dignity, psychological safety, and human mentorship. Here is what we learned from the oral h","url":"/2026/08/20/the-human-side-of-software-craftsmanship-dan-north-sandro-mancuso/"}}
{"type":"publication","id":"the-panoramic-engineer-principal-ic-as-forensic-cartographer","data":{"slug":"the-panoramic-engineer-principal-ic-as-forensic-cartographer","date":"2026-08-20","year":2026,"title":"The Panoramic Engineer: Why Tomorrow's Principal IC is a Forensic Cartographer","categories":[],"tags":["System Cartography","Leadership","Career Strategy","Panoramic View","Retrospective"],"excerpt":"In an era where AI agents generate code in seconds, the bottleneck of software engineering is no longer writing syntax. It is system understanding, boundary verification, and cultural memory. Here is why the Principal Engineer of the future must be a ","url":"/2026/08/20/the-panoramic-engineer-principal-ic-as-forensic-cartographer/"}}
{"type":"publication","id":"the-zero-dollar-conference-chicago-code-camp-retrospective","data":{"slug":"the-zero-dollar-conference-chicago-code-camp-retrospective","date":"2026-08-20","year":2026,"title":"The Zero-Dollar Conference: How We Ran Chicago Code Camp on Static Rails and Blind CFPs","categories":[],"tags":["Chicago Code Camp","Community","Event Planning","Web Development","Retrospective"],"excerpt":"How do you coordinate a free, 500-person multi-track conference on a zero-dollar software budget? Looking back at Chicago Code Camp (2010–2012), blind speaker selection, and static schedule generation on spotty venue Wi-Fi.","url":"/2026/08/20/the-zero-dollar-conference-chicago-code-camp-retrospective/"}}
{"type":"publication","id":"uglst-and-chicago-code-camp-community-infrastructure-before-platforms","data":{"slug":"uglst-and-chicago-code-camp-community-infrastructure-before-platforms","date":"2026-08-20","year":2026,"title":"UGl.st and Chicago Code Camp: Community Infrastructure Before Centralized Platforms Took Over","categories":[],"tags":["Community","Chicago Code Camp","Developer Tools","Architecture","Retrospective","History"],"excerpt":"Before Meetup, Eventbrite, and Discord consolidated developer communities into walled gardens, grassroots tech scenes ran on custom-built directory services, speaker management scripts, and local craft. Here is how we built community infrastructure in","url":"/2026/08/20/uglst-and-chicago-code-camp-community-infrastructure-before-platforms/"}}
{"type":"publication","id":"adequate-record-and-giving-110-percent-with-aaron-patterson","data":{"slug":"adequate-record-and-giving-110-percent-with-aaron-patterson","date":"2026-08-21","year":2026,"title":"AdequateRecord, J2EE Escapes, and Giving 110 Percent with Aaron Patterson","categories":["engineering-history","ruby-on-rails","open-source"],"tags":["railsconf","aaron-patterson","activerecord","ruby","open-source","performance"],"excerpt":"A look back at RailsConf 2014 with Aaron Patterson (@tenderlove), unveiling AdequateRecord, Perl origins, and the evolution of Rails query performance.","url":"/2026/08/21/adequate-record-and-giving-110-percent-with-aaron-patterson/"}}
{"type":"publication","id":"kubecon-na-2023-field-retrospective-observability-finops","data":{"slug":"kubecon-na-2023-field-retrospective-observability-finops","date":"2026-08-21","year":2026,"title":"KubeCon NA 2023 Field Retrospective: Telemetry Pipelines, Structured Logs, and Cloud Cost Realities","categories":["Architecture","Observability","Retrospective"],"tags":["KubeCon","CNCF","Observability","OpenTelemetry","Fluent Bit","Structured Logging","FinOps","Architecture"],"excerpt":"A four-day technical field retrospective from KubeCon North America 2023 in Chicago, breaking down CI/CD telemetry, Kubernetes WG Structured Logging, Fluent Bit pipelines, and FinOps postmortems.","url":"/2026/08/21/kubecon-na-2023-field-retrospective-observability-finops/"}}
{"type":"publication","id":"strong-enough-to-be-gentle","data":{"slug":"strong-enough-to-be-gentle","date":"2026-08-28","year":2026,"title":"Strong Enough to be Gentle","categories":[],"tags":["Leadership","Reflections","Culture","Mentorship","Tribute"],"excerpt":"A tribute to Peter Cullen, the voice of Optimus Prime, and the enduring lesson that authentic leadership is defined by quiet strength, restraint, and compassion.","url":"/2026/08/28/strong-enough-to-be-gentle/"}}
{"type":"publication","id":"database-archaeology-safely-purging-sensitive-records","data":{"slug":"database-archaeology-safely-purging-sensitive-records","date":"2026-08-29","year":2026,"title":"Database Archaeology: Safely Purging Sensitive Records from Active Schemas","categories":["Architecture","Databases"],"tags":["postgresql","database-migrations","legacy-modernization","privacy-engineering","performance","rails"],"excerpt":"When compliance mandates require deleting millions of sensitive records from a 10-year-old relational database, naive DELETE queries will take down production. Here is the 5-phase deletion engine pattern.","url":"/2026/08/29/database-archaeology-safely-purging-sensitive-records/"}}
{"type":"publication","id":"system-cartography-how-to-map-a-ten-year-old-monolith","data":{"slug":"system-cartography-how-to-map-a-ten-year-old-monolith","date":"2026-08-29","year":2026,"title":"System Cartography: How to Map a 10-Year Monolith Without Losing Your Mind","categories":["Architecture","Systems Engineering"],"tags":["architecture","legacy-modernization","system-cartography","distributed-systems","rails","opentelemetry"],"excerpt":"When entering an opaque, high-consequence legacy system, refactoring before mapping is a recipe for disaster. Here is the 4-dimensional System Cartography framework for empirical codebase discovery.","url":"/2026/08/29/system-cartography-how-to-map-a-ten-year-old-monolith/"}}
{"type":"publication","id":"conways-law-in-the-trenches-growth-vs-enablement","data":{"slug":"conways-law-in-the-trenches-growth-vs-enablement","date":"2026-08-30","year":2026,"title":"Conway's Law in the Trenches: Why We Split Growth and Enablement Squads","categories":["Architecture","Leadership"],"tags":["engineering-leadership","team-topologies","conways-law","platform-engineering","agile","system-architecture"],"excerpt":"When engineering velocity stalls, bad code is rarely the primary culprit. Here is how aligning team topologies into Growth and Enablement squads unblocks feature delivery.","url":"/2026/08/30/conways-law-in-the-trenches-growth-vs-enablement/"}}
{"type":"publication","id":"from-geekfest-to-sre-sustainable-engineering-communities","data":{"slug":"from-geekfest-to-sre-sustainable-engineering-communities","date":"2026-08-30","year":2026,"title":"From Geekfest to SRE: The 3-Year Lifecycle of a Sustainable Engineering Community","categories":["Leadership","Culture"],"tags":["engineering-culture","communities-of-practice","sre","leadership","staff-plus"],"excerpt":"Grassroots engineering communities often die when their founders move on. Here is the 3-phase framework for turning a grassroots meetup into permanent institutional capability.","url":"/2026/08/30/from-geekfest-to-sre-sustainable-engineering-communities/"}}
{"type":"publication","id":"hunting-the-4-percent-defect-rails-cookie-overflow","data":{"slug":"hunting-the-4-percent-defect-rails-cookie-overflow","date":"2026-08-30","year":2026,"title":"Restoring a Hidden 4% of Customer Applications","categories":["Architecture","Ruby on Rails"],"tags":["ruby-on-rails","dynamodb","session-storage","architecture","incident-response","reliability"],"excerpt":"A silent session-state failure caused 4% of customer loan applications to drop out. I traced it to oversized Rails session cookies, added a defensive seam, and moved session storage to DynamoDB.","url":"/2026/08/30/hunting-the-4-percent-defect-rails-cookie-overflow/"}}
{"type":"publication","id":"instant-money-real-time-debit-disbursement-architecture","data":{"slug":"instant-money-real-time-debit-disbursement-architecture","date":"2026-08-30","year":2026,"title":"Instant Money: Architecting Real-Time Card Disbursements Under Strict Compliance","categories":["Architecture","Fintech"],"tags":["fintech","payments","distributed-systems","rails","compliance","idempotency"],"excerpt":"Transitioning loan disbursement from multi-day ACH to sub-5-minute push-to-card pipelines requires deterministic state gates and zero-drift reconciliation. Here is the architecture.","url":"/2026/08/30/instant-money-real-time-debit-disbursement-architecture/"}}
{"type":"publication","id":"pragmatic-local-first-ai-for-enterprise-code-discovery","data":{"slug":"pragmatic-local-first-ai-for-enterprise-code-discovery","date":"2026-08-30","year":2026,"title":"Pragmatic Local-First AI for Enterprise Code Discovery","categories":["Architecture","AI"],"tags":["local-ai","mcp","developer-tooling","system-cartography","knowledge-graphs","agents"],"excerpt":"Dumping 500k lines of legacy code into cloud LLM prompts leaks IP and produces hallucinations. Here is how to architect a deterministic, local-first code discovery engine.","url":"/2026/08/30/pragmatic-local-first-ai-for-enterprise-code-discovery/"}}
{"type":"publication","id":"rolling-out-opentelemetry-in-the-real-world","data":{"slug":"rolling-out-opentelemetry-in-the-real-world","date":"2026-08-30","year":2026,"title":"Rolling Out OpenTelemetry in the Real World: Lessons from Rails to Mainframe","categories":["Architecture","Observability"],"tags":["opentelemetry","observability","distributed-systems","rails","enterprise-architecture","sre"],"excerpt":"Enterprise observability is not about installing a vendor agent. Here is the operational playbook for standardizing OpenTelemetry distributed tracing across heterogeneous legacy stacks.","url":"/2026/08/30/rolling-out-opentelemetry-in-the-real-world/"}}
{"type":"publication","id":"aop-opentelemetry-strangler-fig","data":{"slug":"aop-opentelemetry-strangler-fig","date":"2026-09-02","year":2026,"title":"AOP as the Bridge Between OpenTelemetry and the Strangler Fig","categories":[],"tags":["Aspect-Oriented Programming","OpenTelemetry","Strangler Fig","Legacy Modernization","System Cartography"],"excerpt":"A field lesson on how Aspect-Oriented Programming makes cross-cutting behavior visible, supports OpenTelemetry, and helps teams find safer seams for incremental modernization.","url":"/2026/09/02/aop-opentelemetry-strangler-fig/"}}
{"type":"publication","id":"aop-uses-misuses-and-boundaries","data":{"slug":"aop-uses-misuses-and-boundaries","date":"2026-09-02","year":2026,"title":"AOP's Uses, Misuses, and Boundaries","categories":[],"tags":["Aspect-Oriented Programming","AOP","architecture","OpenTelemetry","authorization","software design"],"excerpt":"When Aspect-Oriented Programming clarifies a system, when it hides control flow, and how to choose a boundary without creating invisible behavior.","url":"/2026/09/02/aop-uses-misuses-and-boundaries/"}}
{"type":"publication","id":"from-fiverr-to-whisper-cpp-verifiable-oral-history","data":{"slug":"from-fiverr-to-whisper-cpp-verifiable-oral-history","date":"2026-09-02","year":2026,"title":"From Fiverr to whisper.cpp: Building a Verifiable Oral History Pipeline","categories":["Oral History","AI","Engineering Practice"],"tags":["transcription","whisper-cpp","provenance","local-ai","oral-history"],"excerpt":"The long path from expensive, lossy outsourced transcription to a local, resumable, human-reviewed pipeline for preserving technical conversations.","url":"/2026/09/02/from-fiverr-to-whisper-cpp-verifiable-oral-history/"}}
{"type":"publication","id":"from-quick-sequence-diagrams-to-mermaid","data":{"slug":"from-quick-sequence-diagrams-to-mermaid","date":"2026-09-02","year":2026,"title":"From Quick Sequence Diagrams to Mermaid","categories":[],"tags":["Mermaid","Sequence Diagrams","Technical Communication","OpenTelemetry","Artificial Intelligence","Software Craftsmanship"],"excerpt":"A reflection on the evolution from a small sequence diagram editor to Mermaid, and why text-native diagrams make technical communication more faithful, collaborative, and human.","url":"/2026/09/02/from-quick-sequence-diagrams-to-mermaid/"}}
{"type":"publication","id":"ruby-block-aop-shaped-boundary","data":{"slug":"ruby-block-aop-shaped-boundary","date":"2026-09-02","year":2026,"title":"A Simple Ruby Block as an AOP-Shaped Boundary","categories":[],"tags":["Aspect-Oriented Programming","AOP","Ruby","Rails","authorization","software design"],"excerpt":"A small Ruby example showing how a block can make before, operation, exit, and error behavior explicit at a reusable boundary.","url":"/2026/09/02/ruby-block-aop-shaped-boundary/"}}
{"type":"publication","id":"the-archive-i-could-finally-build","data":{"slug":"the-archive-i-could-finally-build","date":"2026-09-02","year":2026,"title":"The Archive I Could Finally Build","categories":["Oral History","Engineering Practice","AI"],"tags":["UGtastic","transcription","diarization","whisper-cpp","local-ai","neurodivergence","provenance","rss","distributed-systems"],"excerpt":"What UGtastic, Dead Rabbit Radio, the Fluffle transcription experiment, Raspberry Pi processing, and local AI taught me about preserving oral history.","url":"/2026/09/02/the-archive-i-could-finally-build/"}}
{"type":"publication","id":"the-huntsman-question-from-warning-to-action","data":{"slug":"the-huntsman-question-from-warning-to-action","date":"2026-09-02","year":2026,"title":"The Huntsman Question: From Warning to Action","categories":[],"tags":["Technical Communication","Engineering Leadership","Organizational Design","Neurodivergence","Risk Management"],"excerpt":"A continuation of The Boy Who Told the Truth about translating an operational warning into an actionable path without blaming the messenger.","url":"/2026/09/02/the-huntsman-question-from-warning-to-action/"}}
{"type":"publication","id":"the-long-way-back-to-here","data":{"slug":"the-long-way-back-to-here","date":"2026-09-02","year":2026,"title":"The Long Way Back to Here","categories":[],"tags":["personal","oral-history","SCMC","family","burnout","career","beginnings"],"excerpt":"A human-led reflection on burnout, family, SCMC, and the long path from a Tandy Color Computer to a life in software.","url":"/2026/09/02/the-long-way-back-to-here/"}}
{"type":"publication","id":"the-shortcut-that-shifts-toward-knowledge","data":{"slug":"the-shortcut-that-shifts-toward-knowledge","date":"2026-09-02","year":2026,"title":"The Shortcut That Shifts Toward Knowledge","categories":[],"tags":["technical communication","human-computer interaction","knowledge work","command palette"],"excerpt":"A small keyboard gesture as a reminder to slow down, orient, and move deliberately toward knowledge.","url":"/2026/09/02/the-shortcut-that-shifts-toward-knowledge/"}}
{"type":"publication","id":"the-skunkworks-lab-real-time-inventory","data":{"slug":"the-skunkworks-lab-real-time-inventory","date":"2026-09-02","year":2026,"title":"The Skunkworks Lab: From .NET Teasing to Real-Time Inventory","categories":[],"tags":["TicketsNow","real-time systems","distributed systems","software craftsmanship","Scrum","continuous integration","Ruby",".NET","NAT traversal"],"excerpt":"A field story from TicketsNow about learning Ruby, solving distributed inventory problems, and carrying an architecture from a pitch through production.","url":"/2026/09/02/the-skunkworks-lab-real-time-inventory/"}}
{"type":"publication","id":"ultimately-there-is-only-here","data":{"slug":"ultimately-there-is-only-here","date":"2026-09-02","year":2026,"title":"Ultimately, There Is Only Here","categories":[],"tags":["systems thinking","orientation","sustainable engineering","neurodivergence","reflection"],"excerpt":"A note on basecamp, motion, and the small human references that help us find our way through changing systems.","url":"/2026/09/02/ultimately-there-is-only-here/"}}
{"type":"publication","id":"what-aspect-oriented-programming-is","data":{"slug":"what-aspect-oriented-programming-is","date":"2026-09-02","year":2026,"title":"What Aspect-Oriented Programming Is","categories":[],"tags":["Aspect-Oriented Programming","AOP","PostSharp","software design","technical communication"],"excerpt":"A plain-language introduction to aspects, join points, pointcuts, advice, and cross-cutting concerns, grounded in Mike Hall's PostSharp work.","url":"/2026/09/02/what-aspect-oriented-programming-is/"}}
{"type":"publication","id":"zdots-the-shell-became-a-control-plane","data":{"slug":"zdots-the-shell-became-a-control-plane","date":"2026-09-03","year":2026,"title":"When Dotfiles Became a Control Plane","categories":[],"tags":["zdots","local-first AI","OpenTelemetry","shell","systems thinking"],"excerpt":"How zdots grew from shell configuration into a local control plane for services, observability, AI, and durable work.","url":"/2026/09/03/zdots-the-shell-became-a-control-plane/"}}
{"type":"publication","id":"adots-versioning-the-place-i-return-to","data":{"slug":"adots-versioning-the-place-i-return-to","date":"2026-09-04","year":2026,"title":"adots: Versioning the Place I Return To","categories":[],"tags":["adots","dotfiles","personal infrastructure","reproducibility","systems thinking"],"excerpt":"A field note on treating home configuration as durable infrastructure with explicit safety boundaries.","url":"/2026/09/04/adots-versioning-the-place-i-return-to/"}}
{"type":"publication","id":"vdots-the-editor-as-a-workbench","data":{"slug":"vdots-the-editor-as-a-workbench","date":"2026-09-05","year":2026,"title":"vdots: The Editor as a Workbench","categories":[],"tags":["vdots","Neovim","developer experience","language tooling","feedback loops"],"excerpt":"How an editor configuration becomes a readable seam between human intent, language tooling, and repeatable feedback.","url":"/2026/09/05/vdots-the-editor-as-a-workbench/"}}
{"type":"publication","id":"my-the-knowledge-layer-that-remembers","data":{"slug":"my-the-knowledge-layer-that-remembers","date":"2026-09-06","year":2026,"title":"my: The Knowledge Layer That Remembers","categories":[],"tags":["my","knowledge management","local-first AI","institutional memory","curation"],"excerpt":"A public-safe description of the vault, derived index, gateway, and curation loop behind a local-first knowledge system.","url":"/2026/09/06/my-the-knowledge-layer-that-remembers/"}}
{"type":"interview","id":"pat-paasch-clark-sell-anglebracket-anglebracket","data":{"id":"pat-paasch-clark-sell-anglebracket-anglebracket","title":"Anglebracket: Mike Hall Interviews Pat Paasch","interviewee":"Pat Paasch","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/pat-paasch-clark-sell-anglebracket-anglebracket/"}}
{"type":"interview","id":"aaron-holbrook-general","data":{"id":"aaron-holbrook-general","title":"Building Community from Scratch: Aaron Holbrook on WordPress User Groups and WordCamps","interviewee":"Aaron Holbrook","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/aaron-holbrook-general/"}}
{"type":"interview","id":"arthur-kay-general","data":{"id":"arthur-kay-general","title":"Building Corporate Communities: Arthur Kay on Sencha, Ext JS, and Local Meetups","interviewee":"Arthur Kay","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/arthur-kay-general/"}}
{"type":"interview","id":"steve-kim-jim-suchy-chicago-software-craftsmanship-chicago-software-craftsmanship","data":{"id":"steve-kim-jim-suchy-chicago-software-craftsmanship-chicago-software-craftsmanship","title":"Chicago Software Craftsmanship: Mike Hall Interviews Steve Kim","interviewee":"Steve Kim","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/steve-kim-jim-suchy-chicago-software-craftsmanship-chicago-software-craftsmanship/"}}
{"type":"interview","id":"brian-ray-chipy-chipy","data":{"id":"brian-ray-chipy-chipy","title":"Chipy: Mike Hall Interviews Brian Ray","interviewee":"Brian Ray","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/brian-ray-chipy-chipy/"}}
{"type":"interview","id":"joel-clermont-general","data":{"id":"joel-clermont-general","title":"Community Building And User-group Organizing: Mike Hall Interviews Joel Clermont","interviewee":"Joel Clermont","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/joel-clermont-general/"}}
{"type":"interview","id":"mike-busch-general","data":{"id":"mike-busch-general","title":"Community Building And User-group Organizing: Mike Hall Interviews Mike Busch","interviewee":"Mike Busch","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/mike-busch-general/"}}
{"type":"interview","id":"mike-stringer-general","data":{"id":"mike-stringer-general","title":"Community Building And User-group Organizing: Mike Hall Interviews Mike Stringer","interviewee":"Mike Stringer","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/mike-stringer-general/"}}
{"type":"interview","id":"sam-serpoosh-general","data":{"id":"sam-serpoosh-general","title":"Community Building And User-group Organizing: Mike Hall Interviews Sam Serpoosh","interviewee":"Sam Serpoosh","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sam-serpoosh-general/"}}
{"type":"interview","id":"michael-eaton-general","data":{"id":"michael-eaton-general","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Michael Eaton","interviewee":"Michael Eaton","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/michael-eaton-general/"}}
{"type":"interview","id":"corey-haines-general","data":{"id":"corey-haines-general","title":"Cranking Design to 11: Corey Haines on the Global Day of Code Retreat and the Art of Practice","interviewee":"Corey Haines","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/corey-haines-general/"}}
{"type":"interview","id":"how-to-say-ugtastic-general","data":{"id":"how-to-say-ugtastic-general","title":"Developer Community And Career Conversations: Mike Hall Interviews How to say \"UGtastic\".","interviewee":"How to say \"UGtastic\".","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/how-to-say-ugtastic-general/"}}
{"type":"interview","id":"interview-with-anna-lear-general","data":{"id":"interview-with-anna-lear-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Anna Lear","interviewee":"Anna Lear","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-anna-lear-general/"}}
{"type":"interview","id":"interview-with-anthony-zinni-and-jon-buda-and-shay-howe-general","data":{"id":"interview-with-anthony-zinni-and-jon-buda-and-shay-howe-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Anthony Zinni","interviewee":"Anthony Zinni","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-anthony-zinni-and-jon-buda-and-shay-howe-general/"}}
{"type":"interview","id":"interview-with-carina-c-zona-general","data":{"id":"interview-with-carina-c-zona-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Carina C Zona","interviewee":"Carina C Zona","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-carina-c-zona-general/"}}
{"type":"interview","id":"interview-with-charley-baker-general","data":{"id":"interview-with-charley-baker-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Charley Baker","interviewee":"Charley Baker","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-charley-baker-general/"}}
{"type":"interview","id":"interview-with-chris-whitaker-general","data":{"id":"interview-with-chris-whitaker-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Chris Whitaker","interviewee":"Chris Whitaker","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-chris-whitaker-general/"}}
{"type":"interview","id":"interview-with-dan-north-general","data":{"id":"interview-with-dan-north-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Dan North","interviewee":"Dan North","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-dan-north-general/"}}
{"type":"interview","id":"interview-with-david-dickinson-and-ross-beehler-general","data":{"id":"interview-with-david-dickinson-and-ross-beehler-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews David Dickinson","interviewee":"David Dickinson","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-david-dickinson-and-ross-beehler-general/"}}
{"type":"interview","id":"interview-with-eric-kingery-general","data":{"id":"interview-with-eric-kingery-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Eric Kingery","interviewee":"Eric Kingery","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-eric-kingery-general/"}}
{"type":"interview","id":"interview-with-hadi-hariri-general","data":{"id":"interview-with-hadi-hariri-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Hadi Hariri","interviewee":"Hadi Hariri","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-hadi-hariri-general/"}}
{"type":"interview","id":"interview-with-james-edward-gray-ii-general","data":{"id":"interview-with-james-edward-gray-ii-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews James Edward Gray II","interviewee":"James Edward Gray II","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-james-edward-gray-ii-general/"}}
{"type":"interview","id":"interview-with-jen-myers-general","data":{"id":"interview-with-jen-myers-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Jen Myers","interviewee":"Jen Myers","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-jen-myers-general/"}}
{"type":"interview","id":"interview-with-katrina-owen-general","data":{"id":"interview-with-katrina-owen-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Katrina Owen","interviewee":"Katrina Owen","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-katrina-owen-general/"}}
{"type":"interview","id":"interview-with-ken-auer-general","data":{"id":"interview-with-ken-auer-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Ken Auer","interviewee":"Ken Auer","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-ken-auer-general/"}}
{"type":"interview","id":"interview-with-kresten-thorup-general","data":{"id":"interview-with-kresten-thorup-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Kresten Thorup","interviewee":"Kresten Thorup","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-kresten-thorup-general/"}}
{"type":"interview","id":"interview-with-mandi-walls-general","data":{"id":"interview-with-mandi-walls-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Mandi Walls","interviewee":"Mandi Walls","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-mandi-walls-general/"}}
{"type":"interview","id":"interview-with-michael-ficarra-general","data":{"id":"interview-with-michael-ficarra-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Michael Ficarra","interviewee":"Michael Ficarra","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-michael-ficarra-general/"}}
{"type":"interview","id":"interview-with-mike-burton-general","data":{"id":"interview-with-mike-burton-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Mike Burton","interviewee":"Mike Burton","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-mike-burton-general/"}}
{"type":"interview","id":"interview-with-mike-lee-general","data":{"id":"interview-with-mike-lee-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Mike Lee","interviewee":"Mike Lee","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-mike-lee-general/"}}
{"type":"interview","id":"interview-with-mike-miller-general","data":{"id":"interview-with-mike-miller-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Mike Miller","interviewee":"Mike Miller","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-mike-miller-general/"}}
{"type":"interview","id":"interview-with-randy-ellis-general","data":{"id":"interview-with-randy-ellis-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Randy Ellis","interviewee":"Randy Ellis","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-randy-ellis-general/"}}
{"type":"interview","id":"interview-with-rob-reynolds-general","data":{"id":"interview-with-rob-reynolds-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Rob Reynolds","interviewee":"Rob Reynolds","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-rob-reynolds-general/"}}
{"type":"interview","id":"interview-with-ryan-slobojan-general","data":{"id":"interview-with-ryan-slobojan-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Ryan Slobojan","interviewee":"Ryan Slobojan","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-ryan-slobojan-general/"}}
{"type":"interview","id":"interview-with-sandro-mancuso-and-tom-brand-general","data":{"id":"interview-with-sandro-mancuso-and-tom-brand-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Sandro Mancuso","interviewee":"Sandro Mancuso","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-sandro-mancuso-and-tom-brand-general/"}}
{"type":"interview","id":"interview-with-stephen-anderson-general","data":{"id":"interview-with-stephen-anderson-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Stephen Anderson","interviewee":"Stephen Anderson","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-stephen-anderson-general/"}}
{"type":"interview","id":"interview-with-zachary-shaw-general","data":{"id":"interview-with-zachary-shaw-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Zachary Shaw","interviewee":"Zachary Shaw","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-zachary-shaw-general/"}}
{"type":"interview","id":"paul-baker-general","data":{"id":"paul-baker-general","title":"Developer Education And Learning: Mike Hall Interviews Paul Baker","interviewee":"Paul Baker","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/paul-baker-general/"}}
{"type":"interview","id":"aaron-bedra-general","data":{"id":"aaron-bedra-general","title":"Directed Practice: Aaron Bedra on Clojure Koans, Technical Writing, and Speaking Mastery","interviewee":"Aaron Bedra","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/aaron-bedra-general/"}}
{"type":"interview","id":"ashe-dryden-general","data":{"id":"ashe-dryden-general","title":"Diversity as Strategy: Ashe Dryden on Inclusivity and Technical Community","interviewee":"Ashe Dryden","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ashe-dryden-general/"}}
{"type":"interview","id":"andrea-magnorsky-general","data":{"id":"andrea-magnorsky-general","title":"From Prototypes to Podcasts: Andrea Magnorsky on Game Jams, Alt.NET, and Community Hand-offs","interviewee":"Andrea Magnorsky","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/andrea-magnorsky-general/"}}
{"type":"interview","id":"igor-polevoy-general","data":{"id":"igor-polevoy-general","title":"Igor Polevoy on Java Development Tools","interviewee":"Igor Polevoy","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/igor-polevoy-general/"}}
{"type":"interview","id":"dave-thomas-goto-conference-and-community-goto-conference-and-community","data":{"id":"dave-thomas-goto-conference-and-community-goto-conference-and-community","title":"Independent Tech: Dave Thomas on GOTO Conferences, Vendor Influence, and Community Values","interviewee":"Dave Thomas","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dave-thomas-goto-conference-and-community-goto-conference-and-community/"}}
{"type":"interview","id":"charles-oliver-nutter-general","data":{"id":"charles-oliver-nutter-general","title":"JRuby's Journey: From Parser to Ruby Implementation","interviewee":"Charles Oliver Nutter","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/charles-oliver-nutter-general/"}}
{"type":"interview","id":"scott-seely-lake-county-net-user-group-lcnug-lake-county-net-user-group-lcnug","data":{"id":"scott-seely-lake-county-net-user-group-lcnug-lake-county-net-user-group-lcnug","title":"Lake County .net User Group (lcnug): Mike Hall Interviews Scott Seely","interviewee":"Scott Seely","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/scott-seely-lake-county-net-user-group-lcnug-lake-county-net-user-group-lcnug/"}}
{"type":"interview","id":"john-shay-tony-refresh-chicago-refresh-chicago","data":{"id":"john-shay-tony-refresh-chicago-refresh-chicago","title":"Refresh Chicago: Mike Hall Interviews John","interviewee":"John","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/john-shay-tony-refresh-chicago-refresh-chicago/"}}
{"type":"interview","id":"interview-with-giles-bowkett-author-rails-general","data":{"id":"interview-with-giles-bowkett-author-rails-general","title":"Ruby And Rails Practice: Mike Hall Interviews Giles Bowkett","interviewee":"Giles Bowkett","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-giles-bowkett-author-rails-general/"}}
{"type":"interview","id":"james-edward-grey-iii-general","data":{"id":"james-edward-grey-iii-general","title":"Ruby And Rails Practice: Mike Hall Interviews James Edward Grey III","interviewee":"James Edward Grey III","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/james-edward-grey-iii-general/"}}
{"type":"interview","id":"interview-with-matt-ruby-creator-of-vooza-general","data":{"id":"interview-with-matt-ruby-creator-of-vooza-general","title":"Ruby And Rails Practice: Mike Hall Interviews Matt Ruby","interviewee":"Matt Ruby","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-matt-ruby-creator-of-vooza-general/"}}
{"type":"interview","id":"tim-ottinger-general","data":{"id":"tim-ottinger-general","title":"Software Craftsmanship And Practice: Mike Hall Interviews Tim Ottinger","interviewee":"Tim Ottinger","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/tim-ottinger-general/"}}
{"type":"interview","id":"dave-hoover-geekfest-geekfest","data":{"id":"dave-hoover-geekfest-geekfest","title":"The Apprenticeship Move: Dave Hoover on GeekFest and Developer Mentorship","interviewee":"Dave Hoover","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dave-hoover-geekfest-geekfest/"}}
{"type":"interview","id":"avdi-grimm-general","data":{"id":"avdi-grimm-general","title":"The Art of Remote Pairing: Avdi Grimm on Ruby Tapas, Wide Teams, and Community","interviewee":"Avdi Grimm","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/avdi-grimm-general/"}}
{"type":"interview","id":"ethan-gunderson-ryan-briones-gathers-us-and-chicagodb-gathers-us-and-chicagodb","data":{"id":"ethan-gunderson-ryan-briones-gathers-us-and-chicagodb-gathers-us-and-chicagodb","title":"The Frictionless Web: Gathers.us and the Reality of 2012 NoSQL","interviewee":"Ethan Gunderson","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ethan-gunderson-ryan-briones-gathers-us-and-chicagodb-gathers-us-and-chicagodb/"}}
{"type":"interview","id":"daniel-x-o-neil-general","data":{"id":"daniel-x-o-neil-general","title":"Web Development And Frontend Practice: Mike Hall Interviews Daniel X. O'Neil","interviewee":"Daniel X. O'Neil","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/daniel-x-o-neil-general/"}}
{"type":"interview","id":"sean-massa-todd-larsen-general","data":{"id":"sean-massa-todd-larsen-general","title":"Web Development And Frontend Practice: Mike Hall Interviews Sean Massa","interviewee":"Sean Massa","conference":"","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sean-massa-todd-larsen-general/"}}
{"type":"interview","id":"zach-shaw-boston-sc-software-craftsmanship-north-america-2011","data":{"id":"zach-shaw-boston-sc-software-craftsmanship-north-america-2011","title":"Boston Software Craftsmanship: Mike Hall Interviews Zach Shaw | SCNA 2011","interviewee":"Zach Shaw","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/zach-shaw-boston-sc-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"sergio-pereira-chicago-alt-net-software-craftsmanship-north-america-2011","data":{"id":"sergio-pereira-chicago-alt-net-software-craftsmanship-north-america-2011","title":"Chicago Alt.NET: Mike Hall Interviews Sergio Pereira | SCNA 2011","interviewee":"Sergio Pereira","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sergio-pereira-chicago-alt-net-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"ray-hightower-chicagoruby-software-craftsmanship-north-america-2011","data":{"id":"ray-hightower-chicagoruby-software-craftsmanship-north-america-2011","title":"ChicagoRuby: Mike Hall Interviews Ray Hightower | SCNA 2011","interviewee":"Ray Hightower","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ray-hightower-chicagoruby-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"michael-norton-cleveland-pittsburgh-community-software-craftsmanship-north-america-2011","data":{"id":"michael-norton-cleveland-pittsburgh-community-software-craftsmanship-north-america-2011","title":"Cleveland & Pittsburgh Community: Mike Hall Interviews Michael Norton | SCNA 2011","interviewee":"Michael Norton","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/michael-norton-cleveland-pittsburgh-community-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"london-software-craftsmanship-software-craftsmanship-north-america-2011","data":{"id":"london-software-craftsmanship-software-craftsmanship-north-america-2011","title":"Community Building And User-group Organizing: Mike Hall Interviews London Software Craftsmanship | SCNA 2011","interviewee":"London Software Craftsmanship","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/london-software-craftsmanship-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"max-lancaster-dc-alt-net-software-craftsmanship-north-america-2011","data":{"id":"max-lancaster-dc-alt-net-software-craftsmanship-north-america-2011","title":"Dc Alt.NET: Mike Hall Interviews Max Lancaster | SCNA 2011","interviewee":"Max Lancaster","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/max-lancaster-dc-alt-net-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"charler-baker-denver-community-software-craftsmanship-north-america-2011","data":{"id":"charler-baker-denver-community-software-craftsmanship-north-america-2011","title":"Denver Community: Mike Hall Interviews Charler Baker | SCNA 2011","interviewee":"Charler Baker","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/charler-baker-denver-community-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"drew-shefman-houston-adobe-user-group-software-craftsmanship-north-america-2011","data":{"id":"drew-shefman-houston-adobe-user-group-software-craftsmanship-north-america-2011","title":"Houston Adobe User Group: Mike Hall Interviews Drew Shefman | SCNA 2011","interviewee":"Drew Shefman","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/drew-shefman-houston-adobe-user-group-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"dustin-updyke-pittsburgh-sc-software-craftsmanship-north-america-2011","data":{"id":"dustin-updyke-pittsburgh-sc-software-craftsmanship-north-america-2011","title":"Pittsburgh Sc: Mike Hall Interviews Dustin Updyke | SCNA 2011","interviewee":"Dustin Updyke","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dustin-updyke-pittsburgh-sc-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"ross-south-bend-software-craftsmanship-software-craftsmanship-north-america-2011","data":{"id":"ross-south-bend-software-craftsmanship-software-craftsmanship-north-america-2011","title":"South Bend Software Craftsmanship: Mike Hall Interviews Ross | SCNA 2011","interviewee":"Ross","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ross-south-bend-software-craftsmanship-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"bobby-johnson-south-sound-net-software-craftsmanship-north-america-2011","data":{"id":"bobby-johnson-south-sound-net-software-craftsmanship-north-america-2011","title":"South Sound .net: Mike Hall Interviews Bobby Johnson | SCNA 2011","interviewee":"Bobby Johnson","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/bobby-johnson-south-sound-net-software-craftsmanship-north-america-2011/"}}
{"type":"interview","id":"aaron-kalin-chicagowebconf-2012","data":{"id":"aaron-kalin-chicagowebconf-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Aaron Kalin | ChicagoWebConf 2012","interviewee":"Aaron Kalin","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/aaron-kalin-chicagowebconf-2012/"}}
{"type":"interview","id":"melissa-castello-chicagowebconf-2012","data":{"id":"melissa-castello-chicagowebconf-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Melissa Castello | ChicagoWebConf 2012","interviewee":"Melissa Castello","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/melissa-castello-chicagowebconf-2012/"}}
{"type":"interview","id":"joe-hirn-chicagowebconf-2012","data":{"id":"joe-hirn-chicagowebconf-2012","title":"Developer Education And Learning: Mike Hall Interviews Joe Hirn | ChicagoWebConf 2012","interviewee":"Joe Hirn","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/joe-hirn-chicagowebconf-2012/"}}
{"type":"interview","id":"jonathan-baltz-chicagowebconf-2012","data":{"id":"jonathan-baltz-chicagowebconf-2012","title":"Enterprise Meets Polyglot: Jonathan Baltz on Salesforce and Heroku Integration","interviewee":"Jonathan Baltz","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jonathan-baltz-chicagowebconf-2012/"}}
{"type":"interview","id":"martin-atkins-chicagowebconf-2012","data":{"id":"martin-atkins-chicagowebconf-2012","title":"Martin Atkins on Music Industry and Branding | ChicagoWebConf 2012","interviewee":"Martin Atkins","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/martin-atkins-chicagowebconf-2012/"}}
{"type":"interview","id":"andy-lester-chicagowebconf-2012","data":{"id":"andy-lester-chicagowebconf-2012","title":"Open Source And Project Maintenance: Mike Hall Interviews Andy Lester | ChicagoWebConf 2012","interviewee":"Andy Lester","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/andy-lester-chicagowebconf-2012/"}}
{"type":"interview","id":"kumar-mcmillian-chicagowebconf-2012","data":{"id":"kumar-mcmillian-chicagowebconf-2012","title":"Open Source And Project Maintenance: Mike Hall Interviews Kumar McMillian | ChicagoWebConf 2012","interviewee":"Kumar McMillian","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/kumar-mcmillian-chicagowebconf-2012/"}}
{"type":"interview","id":"jc-grubbs-chicagowebconf-2012","data":{"id":"jc-grubbs-chicagowebconf-2012","title":"Web Development And Frontend Practice: Mike Hall Interviews JC Grubbs | ChicagoWebConf 2012","interviewee":"JC Grubbs","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jc-grubbs-chicagowebconf-2012/"}}
{"type":"interview","id":"kumar-mcmillan-general","data":{"id":"kumar-mcmillan-general","title":"Web Development And Frontend Practice: Mike Hall Interviews Kumar McMillan | ChicagoWebConf 2012","interviewee":"Kumar McMillan","conference":"ChicagoWebConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/kumar-mcmillan-general/"}}
{"type":"interview","id":"cory-foy-software-craftsmanship-north-america-2012","data":{"id":"cory-foy-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Cory Foy | SCNA 2012","interviewee":"Cory Foy","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/cory-foy-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"culley-smith-software-craftsmanship-north-america-2012","data":{"id":"culley-smith-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Culley Smith | SCNA 2012","interviewee":"Culley Smith","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/culley-smith-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"justin-searls-software-craftsmanship-north-america-2012","data":{"id":"justin-searls-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Justin Searls | SCNA 2012","interviewee":"Justin Searls","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/justin-searls-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"mark-simpson-software-craftsmanship-north-america-2012","data":{"id":"mark-simpson-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Mark Simpson | SCNA 2012","interviewee":"Mark Simpson","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/mark-simpson-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"matt-polito-software-craftsmanship-north-america-2012","data":{"id":"matt-polito-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Matt Polito | SCNA 2012","interviewee":"Matt Polito","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/matt-polito-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"mike-clement-software-craftsmanship-north-america-2012","data":{"id":"mike-clement-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Mike Clement | SCNA 2012","interviewee":"Mike Clement","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/mike-clement-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"tim-murphy-software-craftsmanship-north-america-2012","data":{"id":"tim-murphy-software-craftsmanship-north-america-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Tim Murphy | SCNA 2012","interviewee":"Tim Murphy","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/tim-murphy-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"brad-wilkening-software-craftsmanship-north-america-2012","data":{"id":"brad-wilkening-software-craftsmanship-north-america-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Brad Wilkening | SCNA 2012","interviewee":"Brad Wilkening","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/brad-wilkening-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"brian-marick-software-craftsmanship-north-america-2012","data":{"id":"brian-marick-software-craftsmanship-north-america-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Brian Marick | SCNA 2012","interviewee":"Brian Marick","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/brian-marick-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"gary-bernhardt-software-craftsmanship-north-america-2012","data":{"id":"gary-bernhardt-software-craftsmanship-north-america-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Gary Bernhardt | SCNA 2012","interviewee":"Gary Bernhardt","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/gary-bernhardt-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"leon-gersing-software-craftsmanship-north-america-2012","data":{"id":"leon-gersing-software-craftsmanship-north-america-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Leon Gersing | SCNA 2012","interviewee":"Leon Gersing","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/leon-gersing-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"colin-jones-software-craftsmanship-north-america-2012","data":{"id":"colin-jones-software-craftsmanship-north-america-2012","title":"Developer Education And Learning: Mike Hall Interviews Colin Jones | SCNA 2012","interviewee":"Colin Jones","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/colin-jones-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"jen-meyers-software-craftsmanship-north-america-2012","data":{"id":"jen-meyers-software-craftsmanship-north-america-2012","title":"Developer Education And Learning: Mike Hall Interviews Jen Meyers | SCNA 2012","interviewee":"Jen Meyers","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jen-meyers-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"mike-jansen-software-craftsmanship-north-america-2012","data":{"id":"mike-jansen-software-craftsmanship-north-america-2012","title":"Developer Education And Learning: Mike Hall Interviews Mike Jansen | SCNA 2012","interviewee":"Mike Jansen","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/mike-jansen-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"patrick-welsh-software-craftsmanship-north-america-2012","data":{"id":"patrick-welsh-software-craftsmanship-north-america-2012","title":"Developer Education And Learning: Mike Hall Interviews Patrick Welsh | SCNA 2012","interviewee":"Patrick Welsh","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/patrick-welsh-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"robert-martin-software-craftsmanship-north-america-2012","data":{"id":"robert-martin-software-craftsmanship-north-america-2012","title":"Filling the Vessel: Robert 'Uncle Bob' Martin on the Craft of Performance and Clean Coders","interviewee":"Robert Martin","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/robert-martin-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"sarah-allen-desi-mcadam-software-craftsmanship-north-america-2012","data":{"id":"sarah-allen-desi-mcadam-software-craftsmanship-north-america-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Sarah Allen | SCNA 2012","interviewee":"Sarah Allen","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sarah-allen-desi-mcadam-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"zach-dennis-software-craftsmanship-north-america-2012","data":{"id":"zach-dennis-software-craftsmanship-north-america-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Zach Dennis | SCNA 2012","interviewee":"Zach Dennis","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/zach-dennis-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"sandro-mancuso-software-craftsmanship-north-america-2012","data":{"id":"sandro-mancuso-software-craftsmanship-north-america-2012","title":"Scaling Craftsmanship: Sandro Mancuso on Language-Agnostic Learning and LSCC Growth","interviewee":"Sandro Mancuso","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sandro-mancuso-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"carl-erickson-software-craftsmanship-north-america-2012","data":{"id":"carl-erickson-software-craftsmanship-north-america-2012","title":"Web Development And Frontend Practice: Mike Hall Interviews Carl Erickson | SCNA 2012","interviewee":"Carl Erickson","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/carl-erickson-software-craftsmanship-north-america-2012/"}}
{"type":"interview","id":"milan-dobrota-jen-lindner-windycityrails-2012","data":{"id":"milan-dobrota-jen-lindner-windycityrails-2012","title":"Community Building And User-group Organizing: Mike Hall Interviews Milan Dobrota | WindyCityRails 2012","interviewee":"Milan Dobrota","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/milan-dobrota-jen-lindner-windycityrails-2012/"}}
{"type":"interview","id":"stephen-anderson-windycityrails-2012","data":{"id":"stephen-anderson-windycityrails-2012","title":"Community as a Side Effect: Stephen Anderson on Mad Railers, Madison Ruby, and Bendyworks","interviewee":"Stephen Anderson","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/stephen-anderson-windycityrails-2012/"}}
{"type":"interview","id":"brian-liles-windycityrails-2012","data":{"id":"brian-liles-windycityrails-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Brian Liles | WindyCityRails 2012","interviewee":"Brian Liles","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/brian-liles-windycityrails-2012/"}}
{"type":"interview","id":"evan-light-windycityrails-2012","data":{"id":"evan-light-windycityrails-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Evan Light | WindyCityRails 2012","interviewee":"Evan Light","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/evan-light-windycityrails-2012/"}}
{"type":"interview","id":"jim-remsik-windycityrails-2012","data":{"id":"jim-remsik-windycityrails-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Jim Remsik | WindyCityRails 2012","interviewee":"Jim Remsik","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jim-remsik-windycityrails-2012/"}}
{"type":"interview","id":"noel-rappin-windycityrails-2012","data":{"id":"noel-rappin-windycityrails-2012","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Noel Rappin | WindyCityRails 2012","interviewee":"Noel Rappin","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/noel-rappin-windycityrails-2012/"}}
{"type":"interview","id":"adam-grandy-windycityrails-2012","data":{"id":"adam-grandy-windycityrails-2012","title":"Podcasting And Community Media: Mike Hall Interviews Adam Grandy | WindyCityRails 2012","interviewee":"Adam Grandy","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/adam-grandy-windycityrails-2012/"}}
{"type":"interview","id":"movie-on-9-6-12-at-1-05-pm-windycityrails-2012","data":{"id":"movie-on-9-6-12-at-1-05-pm-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Amy Kinney | WindyCityRails 2012","interviewee":"Amy Kinney","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/movie-on-9-6-12-at-1-05-pm-windycityrails-2012/"}}
{"type":"interview","id":"benjamin-oakes-windycityrails-2012","data":{"id":"benjamin-oakes-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Benjamin Oakes | WindyCityRails 2012","interviewee":"Benjamin Oakes","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/benjamin-oakes-windycityrails-2012/"}}
{"type":"interview","id":"eric-macadie-windycityrails-2012","data":{"id":"eric-macadie-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Eric MacAdie | WindyCityRails 2012","interviewee":"Eric MacAdie","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/eric-macadie-windycityrails-2012/"}}
{"type":"interview","id":"ginny-hendry-windycityrails-2012","data":{"id":"ginny-hendry-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Ginny Hendry | WindyCityRails 2012","interviewee":"Ginny Hendry","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ginny-hendry-windycityrails-2012/"}}
{"type":"interview","id":"justin-love-windycityrails-2012","data":{"id":"justin-love-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Justin Love | WindyCityRails 2012","interviewee":"Justin Love","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/justin-love-windycityrails-2012/"}}
{"type":"interview","id":"kevin-zolkiewiecz-windycityrails-2012","data":{"id":"kevin-zolkiewiecz-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Kevin Zolkiewiecz | WindyCityRails 2012","interviewee":"Kevin Zolkiewiecz","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/kevin-zolkiewiecz-windycityrails-2012/"}}
{"type":"interview","id":"ryan-singer-windycityrails-2012","data":{"id":"ryan-singer-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Ryan Singer | WindyCityRails 2012","interviewee":"Ryan Singer","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ryan-singer-windycityrails-2012/"}}
{"type":"interview","id":"steve-klabnik-windycityrails-2012","data":{"id":"steve-klabnik-windycityrails-2012","title":"Ruby And Rails Practice: Mike Hall Interviews Steve Klabnik | WindyCityRails 2012","interviewee":"Steve Klabnik","conference":"WindyCityRails","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/steve-klabnik-windycityrails-2012/"}}
{"type":"interview","id":"ola-bini-general","data":{"id":"ola-bini-general","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Ola Bini | GOTO Conference 2013","interviewee":"Ola Bini","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ola-bini-general/"}}
{"type":"interview","id":"erik-meijer-creator-reactive-framework-general","data":{"id":"erik-meijer-creator-reactive-framework-general","title":"Developer Tools And Architecture: Mike Hall Interviews Erik Meijer | GOTO Conference 2013","interviewee":"Erik Meijer","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/erik-meijer-creator-reactive-framework-general/"}}
{"type":"interview","id":"rich-hickey-creator-of-clojure-general","data":{"id":"rich-hickey-creator-of-clojure-general","title":"The Evolution of LISP: Mike Hall Interviews Rich Hickey, Creator of Clojure | GOTO Conf 2013","interviewee":"Rich Hickey","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/rich-hickey-creator-of-clojure-general/"}}
{"type":"interview","id":"stuart-halloway-software-craftsmanship-north-america-2013","data":{"id":"stuart-halloway-software-craftsmanship-north-america-2013","title":"Clojure And Functional Programming: Mike Hall Interviews Stuart Halloway | SCNA 2013","interviewee":"Stuart Halloway","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/stuart-halloway-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"micah-martin-software-craftsmanship-north-america-2013","data":{"id":"micah-martin-software-craftsmanship-north-america-2013","title":"Community Building And User-group Organizing: Mike Hall Interviews Micah Martin | SCNA 2013","interviewee":"Micah Martin","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/micah-martin-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"sandro-mancuso-software-craftsmanship-north-america-2013","data":{"id":"sandro-mancuso-software-craftsmanship-north-america-2013","title":"Community Building And User-group Organizing: Mike Hall Interviews Sandro Mancuso | SCNA 2013","interviewee":"Sandro Mancuso","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sandro-mancuso-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"stephen-anderson-software-craftsmanship-north-america-2013","data":{"id":"stephen-anderson-software-craftsmanship-north-america-2013","title":"Community Building And User-group Organizing: Mike Hall Interviews Stephen Anderson | SCNA 2013","interviewee":"Stephen Anderson","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/stephen-anderson-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"angelique-martin-software-craftsmanship-north-america-2013","data":{"id":"angelique-martin-software-craftsmanship-north-america-2013","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Angelique Martin | SCNA 2013","interviewee":"Angelique Martin","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/angelique-martin-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"sarah-gray-software-craftsmanship-north-america-2013","data":{"id":"sarah-gray-software-craftsmanship-north-america-2013","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Sarah Gray | SCNA 2013","interviewee":"Sarah Gray","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/sarah-gray-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"adewale-oshineye-software-craftsmanship-north-america-2013","data":{"id":"adewale-oshineye-software-craftsmanship-north-america-2013","title":"Mike Hall Interviews Adewale Oshineye on Software Craftsmanship | SCNA 2013","interviewee":"Adewale Oshineye","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/adewale-oshineye-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"amitai-schlair-software-craftsmanship-north-america-2013","data":{"id":"amitai-schlair-software-craftsmanship-north-america-2013","title":"Open Source And Project Maintenance: Mike Hall Interviews Amitai Schlair | SCNA 2013","interviewee":"Amitai Schlair","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/amitai-schlair-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"dave-thomas-software-craftsmanship-north-america-2013","data":{"id":"dave-thomas-software-craftsmanship-north-america-2013","title":"The Power of Unknown Knowns: PragDave Thomas on Intuition and the Beginner's Mind","interviewee":"Dave \"pragdave\" Thomas","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dave-thomas-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"chet-hendrickson-ron-jefferies-software-craftsmanship-north-america-2013","data":{"id":"chet-hendrickson-ron-jefferies-software-craftsmanship-north-america-2013","title":"Visual Thinking in Agile: Chet Hendrickson & Ron Jefferies on Presentation Mastery","interviewee":"Chet Hendrickson","conference":"SCNA","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/chet-hendrickson-ron-jefferies-software-craftsmanship-north-america-2013/"}}
{"type":"interview","id":"interview-with-carolyn-chandler-general","data":{"id":"interview-with-carolyn-chandler-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Carolyn Chandler | WebVisions 2013","interviewee":"Carolyn Chandler","conference":"WebVisions","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-carolyn-chandler-general/"}}
{"type":"interview","id":"interview-with-jason-cranford-teague-general","data":{"id":"interview-with-jason-cranford-teague-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Jason Cranford Teague | WebVisions 2013","interviewee":"Jason Cranford Teague","conference":"WebVisions","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-jason-cranford-teague-general/"}}
{"type":"interview","id":"interview-with-jennifer-jones-general","data":{"id":"interview-with-jennifer-jones-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews Jennifer Jones | WebVisions 2013","interviewee":"Jennifer Jones","conference":"WebVisions","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-jennifer-jones-general/"}}
{"type":"interview","id":"interview-with-john-servin-general","data":{"id":"interview-with-john-servin-general","title":"Developer Community And Conference Conversations: Mike Hall Interviews John Servin | WebVisions 2013","interviewee":"John Servin","conference":"WebVisions","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-john-servin-general/"}}
{"type":"interview","id":"bill-scott-general","data":{"id":"bill-scott-general","title":"Web Development And Frontend Practice: Mike Hall Interviews Bill Scott | WebVisions 2013","interviewee":"Bill Scott","conference":"WebVisions","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/bill-scott-general/"}}
{"type":"interview","id":"john-jarosz-and-coleman-collins-goto-conference-2014","data":{"id":"john-jarosz-and-coleman-collins-goto-conference-2014","title":"Building Ecosystems At GOTO Conf Chicago 2014: Mike Hall Interviews John Jarosz | GOTO Conference 2014","interviewee":"John Jarosz","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/john-jarosz-and-coleman-collins-goto-conference-2014/"}}
{"type":"interview","id":"fred-guime-goto-conference-2014","data":{"id":"fred-guime-goto-conference-2014","title":"Community Building And User-group Organizing: Mike Hall Interviews Fred Guime | GOTO Conference 2014","interviewee":"Fred Guime","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/fred-guime-goto-conference-2014/"}}
{"type":"interview","id":"max-de-marzi-goto-conference-2014","data":{"id":"max-de-marzi-goto-conference-2014","title":"Community Building And User-group Organizing: Mike Hall Interviews Max De Marzi | GOTO Conference 2014","interviewee":"Max De Marzi","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/max-de-marzi-goto-conference-2014/"}}
{"type":"interview","id":"ryan-gerry-goto-conference-2014","data":{"id":"ryan-gerry-goto-conference-2014","title":"Community Building And User-group Organizing: Mike Hall Interviews Ryan Gerry | GOTO Conference 2014","interviewee":"Ryan Gerry","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/ryan-gerry-goto-conference-2014/"}}
{"type":"interview","id":"tim-bray-goto-conference-2014","data":{"id":"tim-bray-goto-conference-2014","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Tim Bray | GOTO Conference 2014","interviewee":"Tim Bray","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/tim-bray-goto-conference-2014/"}}
{"type":"interview","id":"richard-lee-goto-conference-2014","data":{"id":"richard-lee-goto-conference-2014","title":"Contributor To Openstack At GOTO Conf Chicago 2014: Mike Hall Interviews Richard Lee | GOTO Conference 2014","interviewee":"Richard Lee","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/richard-lee-goto-conference-2014/"}}
{"type":"interview","id":"michael-t-nygard-goto-conference-2014","data":{"id":"michael-t-nygard-goto-conference-2014","title":"DevOps at Five: Where Are We Now? | GOTO Conference 2014","interviewee":"Michael T. Nygard","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/michael-t-nygard-goto-conference-2014/"}}
{"type":"interview","id":"jez-humble-goto-conference-2014","data":{"id":"jez-humble-goto-conference-2014","title":"Jez Humble on DevOps Culture and Practices | GOTO Conference 2014","interviewee":"Jez Humble","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jez-humble-goto-conference-2014/"}}
{"type":"interview","id":"cindy-sprague-goto-conference-2014","data":{"id":"cindy-sprague-goto-conference-2014","title":"Lead Organizer With GOTO Conf Chicago 2014: Mike Hall Interviews Cindy Sprague | GOTO Conference 2014","interviewee":"Cindy Sprague","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/cindy-sprague-goto-conference-2014/"}}
{"type":"interview","id":"courtney-hemphill-goto-conference-2014","data":{"id":"courtney-hemphill-goto-conference-2014","title":"Mixing Lean & Agile Development At GOTO Conf Chicago 2014: Mike Hall Interviews Courtney Hemphill | GOTO Conference 2014","interviewee":"Courtney Hemphill","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/courtney-hemphill-goto-conference-2014/"}}
{"type":"interview","id":"fred-george-goto-conference-2014","data":{"id":"fred-george-goto-conference-2014","title":"Programmer Anarchy At GOTO Conf Chicago 2014: Mike Hall Interviews Fred George | GOTO Conference 2014","interviewee":"Fred George","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/fred-george-goto-conference-2014/"}}
{"type":"interview","id":"alex-rutkowski-and-joel-friedman-goto-conference-2014","data":{"id":"alex-rutkowski-and-joel-friedman-goto-conference-2014","title":"Remote Pairing At GOTO Conf Chicago 2014: Mike Hall Interviews Alex Rutkowski | GOTO Conference 2014","interviewee":"Alex Rutkowski","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/alex-rutkowski-and-joel-friedman-goto-conference-2014/"}}
{"type":"interview","id":"camille-fournier-goto-conference-2014","data":{"id":"camille-fournier-goto-conference-2014","title":"Rewriting Software At GOTO Conf Chicago 2014: Mike Hall Interviews Camille Fournier | GOTO Conference 2014","interviewee":"Camille Fournier","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/camille-fournier-goto-conference-2014/"}}
{"type":"interview","id":"russ-olsen-goto-conference-2014","data":{"id":"russ-olsen-goto-conference-2014","title":"Ruby And Rails Practice: Mike Hall Interviews Russ Olsen | GOTO Conference 2014","interviewee":"Russ Olsen","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/russ-olsen-goto-conference-2014/"}}
{"type":"interview","id":"aino-vonge-corry-goto-conference-2014","data":{"id":"aino-vonge-corry-goto-conference-2014","title":"Speaker Introducer At GOTO Conf Chicago 2014: Mike Hall Interviews Aino Vonge Corry | GOTO Conference 2014","interviewee":"Aino Vonge Corry","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/aino-vonge-corry-goto-conference-2014/"}}
{"type":"interview","id":"adrian-cockcroft-goto-conference-2014","data":{"id":"adrian-cockcroft-goto-conference-2014","title":"The Mechanics of Disruption: Adrian Cockcroft on Open Source, SSDs, and DevOps","interviewee":"Adrian Cockcroft","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/adrian-cockcroft-goto-conference-2014/"}}
{"type":"interview","id":"emily-rosengren-goto-conference-2014","data":{"id":"emily-rosengren-goto-conference-2014","title":"User Groups And Thoughtworks At GOTO Conf Chicago 2014: Mike Hall Interviews Emily Rosengren | GOTO Conference 2014","interviewee":"Emily Rosengren","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/emily-rosengren-goto-conference-2014/"}}
{"type":"interview","id":"coraline-ada-ehmke-artis-railsconf-2014","data":{"id":"coraline-ada-ehmke-artis-railsconf-2014","title":"Artis And Engineering Leadership: Mike Hall Interviews Coraline Ada Ehmke | RailsConf 2014","interviewee":"Coraline Ada Ehmke","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/coraline-ada-ehmke-artis-railsconf-2014/"}}
{"type":"interview","id":"justin-collins-creator-of-brakeman-railsconf-2014","data":{"id":"justin-collins-creator-of-brakeman-railsconf-2014","title":"Brakeman And Rails Security: Mike Hall Interviews Justin Collins | RailsConf 2014","interviewee":"Justin Collins","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/justin-collins-creator-of-brakeman-railsconf-2014/"}}
{"type":"interview","id":"evan-light-founder-dcamp-railsconf-2014","data":{"id":"evan-light-founder-dcamp-railsconf-2014","title":"Dcamp And Developer Community Building: Mike Hall Interviews Evan Light | RailsConf 2014","interviewee":"Evan Light","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/evan-light-founder-dcamp-railsconf-2014/"}}
{"type":"interview","id":"joel-turnbull-debugger-driven-development-talk-railsconf-2014","data":{"id":"joel-turnbull-debugger-driven-development-talk-railsconf-2014","title":"Debugger Driven Development: Mike Hall Interviews Joel Turnbull | RailsConf 2014","interviewee":"Joel Turnbull","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/joel-turnbull-debugger-driven-development-talk-railsconf-2014/"}}
{"type":"interview","id":"yehuda-katz-tom-dale-creators-of-ember-js-railsconf-2014","data":{"id":"yehuda-katz-tom-dale-creators-of-ember-js-railsconf-2014","title":"Ember.js And Frontend Architecture: Mike Hall Interviews Yehuda Katz | RailsConf 2014","interviewee":"Yehuda Katz","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/yehuda-katz-tom-dale-creators-of-ember-js-railsconf-2014/"}}
{"type":"interview","id":"kiyoto-tamura-maintainer-of-fluentd-a-log-integration-tool-railsconf-2014","data":{"id":"kiyoto-tamura-maintainer-of-fluentd-a-log-integration-tool-railsconf-2014","title":"Fluentd And Log Integration Tooling: Mike Hall Interviews Kiyoto Tamura | RailsConf 2014","interviewee":"Kiyoto Tamura","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/kiyoto-tamura-maintainer-of-fluentd-a-log-integration-tool-railsconf-2014/"}}
{"type":"interview","id":"richard-schneeman-hacker-at-heroku-and-avid-f-oss-contributor-railsconf-2014","data":{"id":"richard-schneeman-hacker-at-heroku-and-avid-f-oss-contributor-railsconf-2014","title":"Heroku, Open Source, And Rails Operations: Mike Hall Interviews Richard Schneeman | RailsConf 2014","interviewee":"Richard Schneeman","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/richard-schneeman-hacker-at-heroku-and-avid-f-oss-contributor-railsconf-2014/"}}
{"type":"interview","id":"interview-with-greg-baugues-on-mental-health-in-tech-at-railsconf-2014","data":{"id":"interview-with-greg-baugues-on-mental-health-in-tech-at-railsconf-2014","title":"Interview with Greg Baugues on Mental Health in Tech | RailsConf 2014","interviewee":"Greg Baugues","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-greg-baugues-on-mental-health-in-tech-at-railsconf-2014/"}}
{"type":"interview","id":"aaron-patterson-ruby-rails-core-team-member-keynote-speaker-railsconf-2014","data":{"id":"aaron-patterson-ruby-rails-core-team-member-keynote-speaker-railsconf-2014","title":"Mike Hall Interviews Aaron Patterson, Ruby Rails Core Team Member | RailsConf 2014","interviewee":"Aaron Patterson","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/aaron-patterson-ruby-rails-core-team-member-keynote-speaker-railsconf-2014/"}}
{"type":"interview","id":"david-heinemeier-hansson-dhh-railsconf-2014","data":{"id":"david-heinemeier-hansson-dhh-railsconf-2014","title":"Mike Hall Interviews David Heinemeier Hansson on Clarity and Software Writing | RailsConf 2014","interviewee":"David Heinemeier Hansson (DHH)","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/david-heinemeier-hansson-dhh-railsconf-2014/"}}
{"type":"interview","id":"carlos-antonio-da-silva-rails-core-team-member-railsconf-2014","data":{"id":"carlos-antonio-da-silva-rails-core-team-member-railsconf-2014","title":"Rails Core Maintenance: Mike Hall Interviews Carlos Antonio da Silva | RailsConf 2014","interviewee":"Carlos Antonio da Silva","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/carlos-antonio-da-silva-rails-core-team-member-railsconf-2014/"}}
{"type":"interview","id":"evan-phoenix-creator-of-rubinius-ruby-vm-puma-app-se-railsconf-2014","data":{"id":"evan-phoenix-creator-of-rubinius-ruby-vm-puma-app-se-railsconf-2014","title":"Rubinius, Puma App Server, And Ruby Vm Design: Mike Hall Interviews Evan Phoenix | RailsConf 2014","interviewee":"Evan Phoenix","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/evan-phoenix-creator-of-rubinius-ruby-vm-puma-app-se-railsconf-2014/"}}
{"type":"interview","id":"rafael-fran-a-2014-ruby-hero-railsconf-2014","data":{"id":"rafael-fran-a-2014-ruby-hero-railsconf-2014","title":"Ruby Hero Recognition And Community: Mike Hall Interviews Rafael França | RailsConf 2014","interviewee":"Rafael França","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/rafael-fran-a-2014-ruby-hero-railsconf-2014/"}}
{"type":"interview","id":"alexander-dymo-ruby-performance-talk-railsconf-2014","data":{"id":"alexander-dymo-ruby-performance-talk-railsconf-2014","title":"Ruby Performance: Mike Hall Interviews Alexander Dymo | RailsConf 2014","interviewee":"Alexander Dymo","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/alexander-dymo-ruby-performance-talk-railsconf-2014/"}}
{"type":"interview","id":"farrah-bostic-founder-the-difference-engine-and-keynote-railsconf-2014","data":{"id":"farrah-bostic-founder-the-difference-engine-and-keynote-railsconf-2014","title":"The Difference Engine And Keynote Perspective: Mike Hall Interviews Farrah Bostic | RailsConf 2014","interviewee":"Farrah Bostic","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/farrah-bostic-founder-the-difference-engine-and-keynote-railsconf-2014/"}}
{"type":"interview","id":"obie-fernandez-author-the-rails-way-co-founder-hashrocket-railsconf-2014","data":{"id":"obie-fernandez-author-the-rails-way-co-founder-hashrocket-railsconf-2014","title":"The Rails Way And Consulting Practice: Mike Hall Interviews Obie Fernandez | RailsConf 2014","interviewee":"Obie Fernandez","conference":"RailsConf","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/obie-fernandez-author-the-rails-way-co-founder-hashrocket-railsconf-2014/"}}
{"type":"interview","id":"dmitri-goto-conference-2015","data":{"id":"dmitri-goto-conference-2015","title":"Apache Ignite Beyond The Data Grid: Mike Hall Interviews Dmitriy Setrakyan | GOTO Conference 2015","interviewee":"Dmitriy Setrakyan","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dmitri-goto-conference-2015/"}}
{"type":"interview","id":"vyacheslav-egorov-goto-conference-2015","data":{"id":"vyacheslav-egorov-goto-conference-2015","title":"Benchmarking Javascript Performance: Mike Hall Interviews Vyacheslav Egorov | GOTO Conference 2015","interviewee":"Vyacheslav Egorov","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/vyacheslav-egorov-goto-conference-2015/"}}
{"type":"interview","id":"justin-meyer-goto-conference-2015","data":{"id":"justin-meyer-goto-conference-2015","title":"Building Single-page Applications: Mike Hall Interviews Justin Meyer | GOTO Conference 2015","interviewee":"Justin Meyer","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/justin-meyer-goto-conference-2015/"}}
{"type":"interview","id":"jerry-cattell-goto-conference-2015","data":{"id":"jerry-cattell-goto-conference-2015","title":"Chicago Devops Community Organizing: Mike Hall Interviews Jerry Cattell | GOTO Conference 2015","interviewee":"Jerry Cattell","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jerry-cattell-goto-conference-2015/"}}
{"type":"interview","id":"alexandra-masterson-goto-conference-2015","data":{"id":"alexandra-masterson-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Alexandra Masterson | GOTO Conference 2015","interviewee":"Alexandra Masterson","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/alexandra-masterson-goto-conference-2015/"}}
{"type":"interview","id":"anita-sengupta-goto-conference-2015","data":{"id":"anita-sengupta-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Anita Sengupta | GOTO Conference 2015","interviewee":"Anita Sengupta","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/anita-sengupta-goto-conference-2015/"}}
{"type":"interview","id":"chad-fowler-goto-conference-2015","data":{"id":"chad-fowler-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Chad Fowler | GOTO Conference 2015","interviewee":"Chad Fowler","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/chad-fowler-goto-conference-2015/"}}
{"type":"interview","id":"interview-with-charles-nutter-goto-chicago-2015-general","data":{"id":"interview-with-charles-nutter-goto-chicago-2015-general","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Charles Nutter | GOTO Conference 2015","interviewee":"Charles Nutter","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/interview-with-charles-nutter-goto-chicago-2015-general/"}}
{"type":"interview","id":"dave-thomas-goto-conference-2015","data":{"id":"dave-thomas-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Dave Thomas | GOTO Conference 2015","interviewee":"Dave Thomas","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dave-thomas-goto-conference-2015/"}}
{"type":"interview","id":"dean-wampler-goto-conference-2015","data":{"id":"dean-wampler-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Dean Wampler | GOTO Conference 2015","interviewee":"Dean Wampler","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dean-wampler-goto-conference-2015/"}}
{"type":"interview","id":"max-de-marzi-goto-conference-2015","data":{"id":"max-de-marzi-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Max De Marzi | GOTO Conference 2015","interviewee":"Max De Marzi","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/max-de-marzi-goto-conference-2015/"}}
{"type":"interview","id":"rebecca-parsons-goto-conference-2015","data":{"id":"rebecca-parsons-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Rebecca Parsons | GOTO Conference 2015","interviewee":"Rebecca Parsons","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/rebecca-parsons-goto-conference-2015/"}}
{"type":"interview","id":"trisha-gee-goto-conference-2015","data":{"id":"trisha-gee-goto-conference-2015","title":"Conference Speaking And Presentation Skills: Mike Hall Interviews Trisha Gee | GOTO Conference 2015","interviewee":"Trisha Gee","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/trisha-gee-goto-conference-2015/"}}
{"type":"interview","id":"greg-baugues-goto-conference-2015","data":{"id":"greg-baugues-goto-conference-2015","title":"Creative Engineering Demos And Twilio: Mike Hall Interviews Greg Baugues | GOTO Conference 2015","interviewee":"Greg Baugues","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/greg-baugues-goto-conference-2015/"}}
{"type":"interview","id":"kyle-kingsbury-goto-conference-2015","data":{"id":"kyle-kingsbury-goto-conference-2015","title":"Database Consistency And Jepsen Testing: Mike Hall Interviews Kyle Kingsbury | GOTO Conference 2015","interviewee":"Kyle Kingsbury","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/kyle-kingsbury-goto-conference-2015/"}}
{"type":"interview","id":"bob-pollin-goto-conference-2015","data":{"id":"bob-pollin-goto-conference-2015","title":"Devops For Kids And Community Outreach: Mike Hall Interviews Bob Pollin | GOTO Conference 2015","interviewee":"Bob Pollin","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/bob-pollin-goto-conference-2015/"}}
{"type":"interview","id":"dave-duggal-goto-conference-2015","data":{"id":"dave-duggal-goto-conference-2015","title":"Distributed Process Systems: Mike Hall Interviews Dave Duggal | GOTO Conference 2015","interviewee":"Dave Duggal","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/dave-duggal-goto-conference-2015/"}}
{"type":"interview","id":"gil-tene-goto-conference-2015","data":{"id":"gil-tene-goto-conference-2015","title":"Faster Java Objects And Jvm Performance: Mike Hall Interviews Gil Tene | GOTO Conference 2015","interviewee":"Gil Tene","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/gil-tene-goto-conference-2015/"}}
{"type":"interview","id":"corey-haines-goto-conference-2015","data":{"id":"corey-haines-goto-conference-2015","title":"Fun with Lambdas: A Lambda Calculus Journey | GOTO Conference 2015","interviewee":"Corey Haines","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/corey-haines-goto-conference-2015/"}}
{"type":"interview","id":"mads-torgersen-goto-conference-2015","data":{"id":"mads-torgersen-goto-conference-2015","title":"Future Of C#: Mike Hall Interviews Mads Torgersen | GOTO Conference 2015","interviewee":"Mads Torgersen","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/mads-torgersen-goto-conference-2015/"}}
{"type":"interview","id":"attila-szegedi-goto-conference-2015","data":{"id":"attila-szegedi-goto-conference-2015","title":"Nashorn And Javascript On The Jvm: Mike Hall Interviews Attila Szegedi | GOTO Conference 2015","interviewee":"Attila Szegedi","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/attila-szegedi-goto-conference-2015/"}}
{"type":"interview","id":"matthew-brender-goto-conference-2015","data":{"id":"matthew-brender-goto-conference-2015","title":"Navigating Unstructured Data: Mike Hall Interviews Matthew Brender | GOTO Conference 2015","interviewee":"Matthew Brender","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/matthew-brender-goto-conference-2015/"}}
{"type":"interview","id":"jay-fields-goto-conference-2015","data":{"id":"jay-fields-goto-conference-2015","title":"Unselfish Testing Practices: Mike Hall Interviews Jay Fields | GOTO Conference 2015","interviewee":"Jay Fields","conference":"GOTO Conference","year":null,"primary_platform":null,"transcript_id":null,"page_url":"/interviews/jay-fields-goto-conference-2015/"}}
{"type":"epoch_milestone","data":{"epoch":"2006 - 2008","theme":"Early Web & Microsoft/Enterprise Runtimes","description":"Early technical writing on NAT/STUN traversal, schema insight, ASP.NET, SQL Server, and full-stack web architectures."}}
{"type":"epoch_milestone","data":{"epoch":"2009 - 2015","theme":"Software Craftsmanship, Community Infrastructure & Ruby on Rails","description":"Co-founded Chicago Code Camp, hosted 200+ UGtastic interviews across RailsConf, GOTO, and SCNA, engineered high-velocity Rails, PHP, Java, and Vertica systems at Groupon and Obtiva."}}
{"type":"epoch_milestone","data":{"epoch":"2016 - 2020","theme":"High-Scale CRM & Cloud Platforms","description":"Modernized high-coupling CRM systems at ActiveCampaign, executed zero-downtime database and Rails upgrades at SK Holdings, and led platform consulting at Tandem."}}
{"type":"epoch_milestone","data":{"epoch":"2021 - 2026","theme":"Enterprise Observability, Distributed Monolith Modernization & OTel","description":"Founded enterprise OpenTelemetry Working Group at OneMain Financial, built the Enterprise Trace connecting Rails, MuleSoft, and IBM Mainframes; architects privacy-conscious local AI developer runtimes."}}
{"type":"epoch_milestone","data":{"epoch":"2026 - Present","theme":"Local AI Orchestration, Deterministic Runtimes & CareerOS","description":"Architected Phalanx Duel (deterministic rules engine, append-only ledger), WWWorkRemote (pgvector, 4-stage prompt defense), and local AI runtime with llama.cpp and whisper.cpp."}}
