All blogs / Software / engineering practice
Simple Thread
Simple Thread delivers tailored software solutions for the energy and utility sectors. Our team specializes in user experience design, engineering, and automation to solve industry challenges, from grid management to renewable energy integration.
Software / engineering practiceEngineering management / careers
- Posts
- 751 from 19 Oct 2007 to 29 Oct 2026
- Posting
- weekly (55 in the last year)
- Kind
- company blog
- Feed
- https://www.simplethread.com/feed/
2026 45
- From Copilot to Orchestration
- The Sorcerer’s Apprentice: Lessons from Mickey Mouse the Vibecoder
- I Propose a Truce
- Crunching data? Put that laptop hardware to use
- Techno-Theurgy for the Amalgam Agalma (or Programming with AI)
- Bringing Grid Research Into the Real World
- Modernizing Utility Software Starts With the Workflow, Not the Technology
- What’s so cool about Nix ❄️ flakes?
- It’s Time to Become Virtual
- Practical Methods for Programming Self-Study
- The Equipment Doesn’t Wait for the Approval
- Your Interconnection Costs Depend on Your Neighbors
- A Convention Is Not a Constraint
- A Tale of Two Grids
- When the Pieces Don’t Add Up: The Mystery of the Full File System
- The Grid the Hyperscalers Are Trying to Outrun
- Cultivating Creativity
- Make Your Work Environment Work Well for You
- The Balanced Scorecard for the AI Era
- Learnings from VT Data Center Summit
- The Summer Window
- From Text to Diagram: Visualizing Complex Engineering Concepts
- Mixing a Song Is a Lot Like Building a Power Flow Case
- Why Induction Studies Matter More as the Grid Gets More Crowded
- The Grid Still Can’t Predict How Its Own Generators Behave
- Crossed Wires: When Expectations Obscure Reality
- Learning to love other people’s code.
- What We Learned at NASPI
- Exploring the CIM Through the Organizations That Make It Happen
- What an Air Traffic Control Tower Taught Me About Software Design
- Building a UX Research Brain: Atomic Research, Zettelkasten, and Obsidian
- Patterns of Knowing in Product Design
- The Tmux Intro I Wish I Had Gotten
- A New Kind of Load. The Same Old Playbook.
- Automating Grid Reliability
- Eggsperimenting
- Dance Together — Stop Resisting And Just Dance
- From Figma to Production: Creating Designs Developers Love
- Perfectionists, IRL
- Celebrate the Small Wins
- The Fantastic Machine – Part 5 – Management and Regulation
- From 5 to 50: A Practical Playbook for Scaling Your Product Team
- Content New Year’s Resolutions
- A Brief History of VHDL and The FPGA
- Building Better Buttons
2025 56
- Favorite Books of 2025
- Mapping the Gap
- EOY Reflecting on 2025
- The Fantastic Machine – Part 4 – Distribution
- Getting Back to Basics
- A Very Simple Thread Thanksgiving 2025
- The Fantastic Machine – Part 3 – Transmission
- I Love You, Redis, But I’m Leaving You for SolidQueue
- The Strategic Side of Design
- We Value Your Privacy
- From Scripts to Scale
- Definining Software Profit Levers for Electric Utilities
- Hosting Capacity Maps: How to Make Them Time-Aware, Trustworthy, and Scalable
- The Fantastic Machine – Part 2 – Generation
- Whose Futures
- Deciding the Rest of the Owl
- The Fantastic Machine – Part 1 – The Building Blocks
- Interception!
- Docker Approaches to Multiple Environments
- When Vendor Licensing Changes Force Architectural Decisions
- The Fantastic Machine: Series Index
- Did you mean Jaro-Winkler?
- New and Upcoming CSS Features I’m Excited About
- Unnecessary Anxiety in Software Development
- Server Orchestration Using SaltStack
- SQLAlchemy ORM: On the Road to Maintainability
- Your Project Backlog is Growing At Your Utility; Here’s How to Break the Cycle
- Painting with Electricity
- Speaking in CIM: The 26 Year Old Language of the Power Grid
- Keeping Things Expressive when DataFrames are Involved
- Lessons From Launch
- A Place for User Stories and User Stories in Their Place
- Understanding PJM Ratings: Normal, Emergency, and Load Dump Explained
- The Neoplatonic Programmer and Soul-full Cosmogonesis
- Managing Context Switching
- Digital Privacy: Benefits & Trade-Offs
- Quieting the Mental Clutter
- Introduction to Production Cost Analysis
- Learning to Love your Legacy Codebase
- Beyond DELETE
- DISTRIBUTECH 2025
- Reliable Unstructured Document Content Extraction with Local LLMs
- FERC Order 2023: Revolutionizing Interconnection and Hosting Capacity Studies
- Replacing Grover with Ferrum PDF for PDF Generation
- Creating a Journal With Eleventy
- A Guide to Digital Decluttering
- Energy Tech 2025
- Landing a UX Job: A Generalist’s Guide
- All Components Great and Small
- Securing Containers with Scratch Images and Multi-Stage Docker Builds
- The Power Puzzle: Planning vs. Operations
- Oops! All Turbines
- What Changed?
- A Designer’s Best Friend: Solution Documentation
- Learnings from Virginia Tech Smart Construction Roundtable
- How to Accomplish Things When You Are Not Feeling It
2024 56
- Reflecting on 2024: Milestones, Momentum, and Looking Ahead
- Safely Formatting Template Strings with HTML in Rails
- Our Favorite Books of 2024
- Your Software is Rusting
- This is a Bad Sign
- How to Upgrade Integer Sizes in Django and Postgres
- A Very Simple Thread Thanksgiving 2024
- Probabilistic Framework for Assessing Generation Interconnection Costs in Cluster-Based Queues
- Queue the “Dramatiq” Title
- Tips for Presenting and Gathering Feedback
- Back to the Basics: Communication Tips We Often Forget
- Seeding a Postgres Database in GitHub Actions Without Storing SQL in GitLFS
- Making Technical Tools Sound Human
- Beyond Microservices: (Mis)Using Linux Containers for Software Testing
- Working With Legacy Code
- Migrating a small web application from SQL using DuckDB
- RE+ 2024 Takeaways
- Unlocking the Potential of Automation in the Generation Interconnection Process
- Transitioning From Ruby on Rails to Django
- Fraud at the Masquerade: UX Designers and Imposter Syndrome
- The Impact of Collaborative Note Taking
- Winning with Innovation
- Kids, Don’t Be the Death Star
- Exporting and Using SVG Icons in Production 2024
- 2024 Summer Hackathon in Paris
- The Philosopher King, the Demiurge and the Programmer
- The Outlaw in the Era of Change
- Microdosing Creativity: How a Creative Practice Can Reduce Anxiety and Improve Well Being
- Key Takeaways from Infocast’s Transmission & Interconnection Conference
- The Path for Energy Transformation: Vision and Purpose
- Tied Up In Docs
- The Conversation
- The Benefits of Mastering a Skill
- What Happens to Old Software?
- Energy Tech 2024 Lights a Spark
- Running Celery 5 on Windows
- The Path for Energy Transformation: Co-Creation
- Fixtures in Rails
- Simple Thread and Dominion Energy Innovation Center Celebrate Innovators at Energy Tech 2024
- Our Net-Zero CO2 Emissions Goal
- Shopping for a Javascript Meta-Framework
- Design Meeting Design
- Ironing Out Steam’s A11y Wrinkles
- A Roadmap to Modernization
- Wizards Don’t Do Dishes
- A Modest Model Proposal
- What I Learned About Software From Building a Chicken Coop
- Sparking the Next Generation’s Interest in STEM Learning
- The Path for Energy Transformation: Iteration and Experimentation
- 5 Favorite Figma Plugins to Boost Productivity
- Fun Friday: How Much Solar Power Would It Actually Take to Power a Hyperscale Data Center
- PERT: A Hipster’s Guide to Project Management for Complexity and Flexibility
- HTTP at Thirty-Three
- The Path for Energy Transformation: Systems Thinking
- Design Thinking in the New Year
- A Year of Milestones
2023 56
- Favorite Books of 2023
- Scanning Your AWS Environment for Vulnerabilities With ScoutSuite
- Pixels to Planks
- The Path for Energy Transformation: Human-Centered Design
- Why Don’t They Just…
- What Software Developers Can Learn From Big Infrastructure Projects
- Beating the Winter Blues: A Tech Professional’s Guide to S.A.D. Season
- A Very Simple Thread Thanksgiving 2023
- Building Software Is Hard, Change Is Harder
- LLMs in a Vacuum Are Useless
- The Clean Energy Transition: Software Solutions for Generation Interconnection Studies
- The Clean Energy Transition: Generation Interconnection Explained
- Card Components: A Dive into Best Practices
- Replacing PDFKit with Grover for Rails PDF Generation
- 6 Figma Tricks I Wished I’d Learned Sooner
- Simple Thread Expands Expertise in Energy Industry
- Intro to Client-Side Validation With Yup
- Replace Your Pomodoro Timer With These Albums
- Bootstrapping a Digital Product
- Windows and Legacy Python: Scaling up With Celery
- Simple Thread’s Triumph
- Tracking Analytics in Vue with Matomo
- Humanizing E2E Cypress Tests with Custom Commands
- Self Documenting Code
- A11y-Driven Development
- Peloton’s UX Needs an Upgrade
- What Is Your Design Personality?
- A Practical Use-Case of Render Functions in Vue
- Simple Thread Revamps Executive Team for Next Growth Phase
- FooBar is FooBad
- Scope Creep Is Here to Stay
- Text and Email: A Tale of Two Etiquettes
- How UX Design Transforms Project Outcomes
- How Software Is Preventing Blackouts
- Building a Multi-Region AWS Environment With Terraform
- Three Tools to Systemize Your Discoveries
- What Your Software Can Learn From The Ingenious Design of ATMs
- Where Is the Line?
- 10 Lessons Learned Using Svelte to Build a Recipe Application
- The Paradox of Pointless Code: Moving Faster by Doing Nothing
- Embracing Λόγος: Programming as Imitation of the Divine
- Describing UX Design, or the User Experience of Beer Labels
- How to Neutralize the Biggest Threat to Your Online Security (You)
- Writing Tips for Improving Your Pull Requests
- How to Stop Wasting Time in Pointless Meetings: 5 Things to Improve Your Meetings
- Management Structure of the U.S. Bulk Electric System
- Finding Work/Life Balance in a Work from Home Role
- Challenges Learning Django Rest Framework
- Simple Thread’s Takeaways from Distributech 2023
- How Do We Measure Electricity?
- Sometimes Optimization Is About More Than Code
- What I Mean When I Say UX
- Pseudorandom Deterministic Cypress Tests
- Leveraging Postgres Schemas and Roles to Create an Alternate Data Universe
- Choosing Between Two Store Syntaxes in Pinia
- Being Comfortable with Ambiguity
2022 53
- Favorite Books of 2022
- The Value of your Voice
- Comparing BEM and Tailwind
- Taming Names in Software Development
- Our Growing UX & Design Practice
- A Very Simple Thread Thanksgiving 2022
- Comment threads with recursive components in Vue 3
- Design Thinking & Active Empathy: We’re All Designers
- DevOps Tooling for Local Development
- The UX Process is the UX Process is the UX Process…
- Bad UX Might Have Just Ruined My Girlfriend’s Career
- Conquering Fear as a Woman in Software Engineering
- Through The Lens Of A Programmer
- AWS ECS Exec on ECS Fargate with Terraform
- Geospatial Applications using Rails
- Applying Mental Models to Building Digital Products
- I’m surprised you enjoy consulting.
- The Bugsworth Letters: 7
- Anachromorphism
- The Power of Process
- Simple Thread named to Inc. 5000 Fastest Growing List for 2022
- Snowflake ODBC Connection with Mac OS
- What is a Digital Product Agency?
- Things I Wish Someone Told Me When I Started as a Designer
- The Bugsworth Letters: 6
- From Bootcamp Grad to Software Engineer
- The Bugsworth Letters: 5
- Takeaways from All In Summit
- I’m a nerd. I can’t be the problem.
- The Bugsworth Letters: 4
- 5 Big Takeaways from ProductFest RVA
- 5 Big Takeaways from Remix Conf
- Partners not Vendors
- 10 More Things I (Still) Love About Programming
- Why We Depend on Rails for Many Projects
- A Practical Guide to Form UI
- Isolated Integration Testing with Remix, Vitest, and Prisma
- Agile Principles: Reflect and Adjust
- 10 Things I (Still) Love About Programming
- RedwoodJS – Right Problem, Wrong Solution
- Simple Thread Announces A.I.-Based Pivot into Exciting New Market
- Remix – Web Standards Are Cool Again
- The Bugsworth Letters: 3
- Agile Principles: Adaptive Self-Organizing
- The Bugsworth Letters: 2
- Do you work on interesting problems?
- The Bugsworth Letters: 1
- Building a UX Team
- Agile Principles: Simplicity is 1,000 Nos for Every Yes
- How To Create a New Rails 7 App With Tailwind
- Big Tech Bets
- Agile Principles: Technical Excellence Enhances Agility
- Agile Principles: Sustainable Development
2021 53
- Favorite Books of 2021
- Agile Principles: Code Don’t Lie!
- What’s Up With All of These Software Security Vulnerabilities?
- Agile Principles: Frictionless Collaboration
- Agile Principles: Empowerment Yields Success
- Agile Principles: Go Together
- A Simple Thread Thanksgiving 2021
- Why Your Website Should Not Use Dithered Images
- Vim at 30: Here’s Why It’s Still Relevant
- Agile Principles: Continuous Delivery
- Animating with GSAP and SVG
- The 10x Programmer Myth
- 20 Things I’ve Learned in my 20 Years as a Software Engineer
- Celebrating Google’s Birthday and Former Products
- Secret PostgreSQL Trick
- Agile Principles: Welcome Change
- Rails 7: The End of Webpacker?
- Concerns, Callbacks, and Case Statements, Oh My!
- Agile Principles: Early and Continuous Delivery
- Simple Thread named to Inc. 5000 Fastest Growing List for 2021
- No I Won’t Sign Your Startup NDA (Yet!)
- Spreading Local Love for International Beer Day
- Use Spreadsheets Everywhere!
- Agile at 20: The Failed Rebellion
- Party Starter
- Writing a Good Git Commit Message
- The Paradox of Subject Matter Expertise
- Managing Complexity in Product Design
- Our Favorite Bourbon Labels for Bourbon Day
- The Giving Wall Story
- What Makes a Good Git Commit?
- What Is CSS Grid?
- The Best Authentication Framework Is No Framework At All(?)
- Building Terrible Software Is the Default
- Is Docker Dead in the Water?
- What are your recurring meetings?
- Thinking Subtractively
- A Software Engineer’s Impression Of Particle.io
- Relational Databases Aren’t Dinosaurs, They’re Sharks
- Front End Race Conditions
- Looks great! Lose the duck.
- Simple Thread Ranks on the 2021 Inc. 5000 Regionals
- Everything You Ever Wanted To Know About WYSIWYG Editors
- Your Product Can Be Worse, It Just Has To Be Better
- Building a Polymorphic Select Dropdown in Rails
- Where Does Complexity Go?
- Day 1 with a Large Rails Codebase
- Small Steps: Organizations We’re Supporting
- Fake it till you make it
- UX Under Lockdown: Empathy Mapping
- The Value of Cohesive Teams
- Jetways and Gangplanks
- Farewell 2020, here’s to 2021
2020 52
- Favorite Books of 2020
- Don’t Panic! A Quick Look at AWS Babelfish
- What Makes a Good Remote Team?
- Selenium Hates Him
- Our Favorite Figma Plugins
- A Simple Thread Thanksgiving 2020
- You Are Here
- You Don’t Understand Your Users
- Ruby on Rails in a Week
- My Dream for the Kindle
- Why does it take so long to build software?
- Best Storytelling Podcasts 2020
- Don’t Let Your User Experience Rot
- Learning to Learn
- Finding My Way Back to Productivity
- How Will This Code Fail?
- Dear Agile, Can We Please Start Planning Things Again?
- Team Takeaways – The Phoenix Project
- Doerr’s Law on Product Teams
- Serverless: I’m a big kid now
- Design Podcasts 2020
- Demystifying Code Bundling with JavaScript Modules
- Apple Silicon Macs
- Your Team Is Smoldering
- Battle of the interface design tools
- PSA: CORS allow origin * considered harmful in development.
- Reducing Uncertainty In Software Development
- Design Feedback: A Love Story
- Educating Ourselves
- The End of Silence
- We Need To Replatform
- Why Infrastructure As Code?
- Gasp! You Might Not Need Microservices.
- Product Management Podcasts 2020
- How Can We Help Richmond?
- Checklist for Handing Off a Software Project
- Software Engineering Podcasts 2020
- HELP! The Site’s Down!
- Tmux and Tmuxinator Workflow
- Dungeons & Dragons & Remote Workers
- Innovation Flourishes in Darkness and Filth
- Avoiding Accidental Features in Product Design
- How To Get a Job In Tech
- Is Simplicity Always the Goal?
- Finding Automation on the Path of Least Resistance
- What CPR Training Taught Me About UX
- The Moral Imperative of Tech Companies
- Dialing It In
- Shared Learning Through Sharing Failure
- How to Make Simple Design Decisions
- Why Should Anyone Care About Us?
- Make Habits, Not Resolutions
2019 21
- Favorite Books of 2019
- Understanding JavaScript Decorators
- Leaving The AWS Partner Network
- Share Your Digital Product Ideas!
- A Simple Thread Thanksgiving
- RVA JavaScript Conf 2019
- VS Code Remote Development
- Chaos Order
- Four Ways to Get the Most Out of Your Conference Sponsorship
- Harnessing the Power of the Overmind
- A Simple Explanation of C# Closures
- React Hooks vs Redux – You Might Not Need Redux
- Your Text Editor Plugins Belong in a Lock File
- Dear Client, Here’s Why That Change Took So Long
- Simple Thread’s Favorite Developer Things
- Was MongoDB Ever the Right Choice?
- Eight Takeaways from RVATech’s Data Science Summit 2019
- The Problem With Distributed Teams Isn’t Slackers
- Great Scott! Timing Attack Demo for the Everyday Webdev
- A Fictional Account of How I Invented React
- Takeaways from All Things Open 2018
2018 9
- React Native Vs. Real Native
- RVA JavaScript Conference donates $11,000 to CodeVA and Women Who Code
- Total Recall: Memorize a Tech Book
- RailsConf 2018 – Top 10 Favorite Talks
- Node.js Doesn’t Share Your Values, And That’s Okay.
- Takeaways From RailsConf
- You’re Not Actually Building Microservices
- Software Complexity Is Killing Us
- What part of your job can you automate?
2017 13
- RVA JavaScript Conf 2017 – Thank You RVA!
- Examples of Digital Transformation
- Unblock Rails UI Testing with Cypress
- Scrum Anti-Patterns
- RVA JavaScript Conference 2017
- Don’t Be The Next AWS S3 Data Leak Headline
- What Is Digital Transformation?
- The Simplicity in Simple Thread
- RVA TechJam: Thank You
- Announcing RVA JavaScript Conference 2017
- Simple Thread and rvatech/jam
- CodeThinked now lives here
- Welcome To Simple Thread
2016 1
2012 3
2011 12
- A Case For Using CoffeeScript
- What ASP.NET MVC Could Learn From Rails
- Rails 3 Baby Steps – Part 5
- Building Epic Win With Backbone.js
- Rails 3 Baby Steps – Part 4
- Rails 3 Baby Steps – Part 3
- Rails 3 Baby Steps – Part 2
- Rails 3 Baby Steps – Part 1
- You Really Should Be Using NuGet
- ASP.NET MVC Ajax CSRF Protection With jQuery 1.5
- A New Day, A New Blog
- The Robots Are Taking Over
2010 41
- These Times, They Are A-Changin
- What Is So Great About Ruby?
- Using RabbitMQ with C# and .NET
- Stop Worrying About The Next Big Thing
- Classes Are Not Objects
- WCF Web Services The Easy Way
- Startup – Week 1 Recap
- IronRuby, A Match Made In…
- Starting A New Chapter
- SquishIt – The Friendly ASP.NET JavaScript and CSS Squisher
- Richmond Code Camp 2010.1 Is This Weekend
- Bundler Is Now SquishIt
- Help Me Rename Bundler
- Say Goodbye to NAnt and MSBuild for .NET Builds With IronRuby
- Easy And Safe Model Binding In ASP.NET MVC
- Bundler Now Supports Named Bundles
- Bundler Now Supports Css And .less
- A Visual Look At The LINQ SelectMany Operator
- How The U.S. Census Can Make Your Software Better
- IronRuby Unleashed Is Out Now
- .NET 4.0 And Our Parallel Future
- An Overview Of System.Collections.Generic
- Bundler Part 2 – ASP.NET Integration
- Combine, Minify, And Compress Your JavaScript
- BlockingCollection and IProducerConsumerCollection
- .NET 4.0 and ConcurrentQueue
- .NET 4.0 and ConcurrentStack
- .NET 4.0 and ConcurrentBag
- .NET 4.0 and System.Threading.Tasks
- Controls Do Not Make You More Productive
- Good Programming Practices And New Year’s Resolutions
- How Many MIT Graduates…
- What Is Wrong With My Blog?
- The Internet Isn’t Being Held Hostage
- The TekPub LINQ Challenge And The Sieve Of Eratosthenes
- The TekPub LINQ Challenge Part 2 – Faster Algorithms
- Winners of the TekPub LINQ Challenge
- TekPub’s Mastering LINQ Challenge
- Want To See Me Vomit On Stage At MIX 2010?
- Overloading Dynamic
- 2010 C# MVP
2009 90
- 2009… Oh How I Will Miss Thee. Kinda.
- The Static Spider Web Pattern
- The Law of Unintended Consequences
- Multi-Threaded K-Means Clustering in .NET 4.0
- The Most Intriguing Concept In Google’s Go Language
- A Move Into The Cloud Is Inevitable
- It’s Okay To Write Unit Tests
- Learning Scala via C# Part 3 – Getting Loopy
- Learning Scala via C# Part 2 – The Basics
- Digging Deep Into Linq Presentation
- Learning Scala via C# Part 1 – What Is Scala?
- Our Biggest Enemy Isn’t Developers Who Refuse To Move Forward, It is Developers Who Pretend To Move Forward
- Bringing The Heat With Dynamic
- NCover and NUnit Can Play Nicely on x64
- Using Accessibility Modifiers on Auto Properties
- Reflecting Code Is Not A Perfect Science
- Comparing Simple Lambda Expressions With Moq
- Quality Sounds Good…I Think.
- Richmond Code Camp 2009.2 is coming up!
- Just Isolate It Already
- Refactor Your Way To Success
- LINQ is not LINQ To SQL
- The Provider Model Pattern, Really?
- Why Do We Keep Building Tightly Coupled Software?
- What is Unit Testing?
- The Blurring Lines of Languages
- Building Testable Applications Presentation
- Life After Loops
- Is Programming A Generic Skill?
- The Most Powerful Development Tool Ever Made
- A Technical Presenter’s Journey Part 8: Deliver with Confidence and Style
- A Technical Presenter’s Journey Part 7: The Four Rs
- A Technical Presenter’s Journey Part 6: Tape Thyself
- A Technical Presenter’s Journey Part 5: Presentation Settings for Visual Studio
- A Technical Presenter’s Journey: Part 4 – Be Confident but Humble
- A Technical Presenter’s Journey: Part 3 – Detailed Notes
- A Technical Presenter’s Journey: Part 2 – Rehearse!
- A Technical Presenter’s Journey: Part 1 – Know Your Audience
- How Do You Deal With Exceptions?
- Hampton Roads Presentation Retrospective
- Axum Bits Have Been Released
- Checking XML for Semantic Equivalence in C#
- Code Generation Should be the Nuclear Option
- The Hunt For Simplicity
- Introduction to Mixins For the C# Developer
- Static Method Interception in .NET with C# and Mono.Cecil
- It’s a Small World and Getting Smaller
- Richmond Code Camp 2009.1 This Saturday
- Should We Solve Institutional Problems In Our Code?
- Keep Your IQueryable In Check
- Ditching the Micro-Optimization Fetish
- Want To Suggest Something?
- 5 Blogs ASP.NET MVC Developers Should Be Following
- Don’t Get Bit By Lazy Evaluation
- Do We Create Type Systems In Dynamic Languages?
- File Uploads in ASP.NET MVC 1.0 RTM
- Ten C# Keywords That You Shouldn’t Be Using
- Beginning Mocking With Moq 3 – Part 4
- Heisenberg And Lambdas
- I’m Speaking At DevLink 2009
- Always Assume That You’re The Problem
- Microsoft MIX 2009 Wrap-Up
- To Inject Or Not To Inject
- Heading To MIX 2009
- Beginning Mocking With Moq 3 – Part 3
- Beginning Mocking With Moq 3 – Part 2
- Beginning Mocking With Moq 3 – Part 1
- Heading To The Northwest
- Who Knew Domain Validation Was So Hard?
- Spiff Up Your ASP.NET MVC Forms With jQuery
- Fun With HTML Script Tags
- Threads Suck, Just Abstract It!
- Today I’ve Realized How Far We Have To Go
- Shut Up and Go Create Something
- Using Multiple Processors Inside of a Virtual Machine
- Infinite Lists With C# Yield
- How Do We Measure Maturity In Software?
- Don’t Use Arbitrary Limits
- Richmond Meet and Code Is Reborn
- Programming By Numbers
- What Part Of The Process Are Your Tools Optimized For?
- Meet and Code Is Back!
- Windows Azure – Breaking It Down
- Making the Entity Framework Fit Your Domain – Part 2
- C# Trivia – What? No Overflow?
- ASP.NET MVC – Think Before You Bind
- Roanoke Valley .NET User Group
- Activator.CreateInstance Performance
- Twitter – Techno-charity?
- I’m a 2009 C# MVP!
2008 141
- Cardinal Sins of SEO
- Are Programmers Spoiled?
- Making the Entity Framework Fit Your Domain – Part 1
- Don’t Mess With The Bloggers
- Migrations in C# using RikMigrations
- How To Guarantee That Your Software Will Suck
- I Feel Special
- Using System.Web.Abstractions in Your WebForms Apps
- Addicted To MEF – Part 2
- Taking the Magic out of Expression
- Taking the Magic out of Expression
- Addicted To MEF – Part 1
- Don’t Be Afraid of Easy
- Emergent Complexity
- IronRuby talk at Raleigh Code Camp This Weekend
- C# 4.0 New Features Part 4 – Generic Contravariance
- C# 4.0 New Features Part 3 – Generic Covariance
- C# 4.0 New Features Part 2.1 – default parameter intrigue
- C# 4.0 New Features Part 2 – default and named parameters
- C# 4.0 New Features Part 1.1 – dynamic keyword second look
- C# 4.0 New Features Part 1 – dynamic keyword
- October Meet and Code
- Using IronRuby To Implement Dynamic Business Rules
- ASP.NET MVC talk at Charlottesville .NET UG Tonight
- NHibernate 2.0, SQLite, and In-Memory Databases
- One Year Blogiversary Is Today!
- Thoughts On Domain Validation – Part 2
- Application Frameworks
- Thoughts On Domain Validation – Part 1
- 1 Year Blogiversary Coming Up
- RCC 2008.2 IronRuby Talk
- Change is the only constant
- $(“Microsoft”).append(“excitement”);
- Richmond Code Camp 2008.2 coming up!
- ASP.NET MVC Request Flow
- What is your strategy for becoming a better developer?
- September Meet and Code Dinner
- On life and certainty
- It is BDUF, not DUF
- Improve your C# with IronRuby
- Bug in my BlogEngine.net Akismet Extension
- New Theme Posted Up
- August Richmond Meet and Code Dinner Tonight
- Completely Scripting a SQL Server Database
- Creating a binding factory for Ninject
- Exploring System.Web.Routing
- Learning Ruby via IronRuby and C# Part 7
- CodeStock 2008 Wrap Up!
- Learning Ruby via IronRuby and C# Part 6
- Pure and Deterministic Functions
- July ’08 Meet and Code Dinner Wrap Up
- Ninject Dependency Injection Screencast Number 2
- Reminder About July 2008 Meet and Code Dinner
- Learning Ruby via IronRuby and C# Part 5
- The Data Disconnect
- Learning Ruby via IronRuby and C# Part 4
- Learning Ruby via IronRuby and C# Part 3
- Ninject Dependency Injection Screencast
- Learning Ruby via IronRuby and C# Part 2
- Learning Ruby via IronRuby and C# Part 1
- Blog Moved To A New Box
- Running Applications in IronRuby
- Richmond Meet and Code Dinner – July 2008
- Getting IronRuby Up and Running
- When Algorithms Go Bad
- Your Software Can’t Heal Itself
- Akismet Extension Updated for BlogEngine.net 1.4
- Microsoft PDC 2008
- Being Smart Does Not a Good Developer Make
- Efficient Paging in SQL Server 2005
- Software Development Meme
- An Open Letter to the ALT.NET Community
- Dissecting Linq Expression Trees – Part 2
- Dissecting Linq Expression Trees – Part 1
- Registered for CodeStock
- June Meet and Code Dinner is scheduled!
- Don’t be clever 2 – The cost of cleverness
- Dizzy has added a few more methods
- Added parallel abilities to Dizzy
- I’ve joined The Lounge (and I need a designer)
- Zip method added to Dizzy
- Dizzy published
- Delayed execution and “yield return”
- Updated ParallelMap function
- Higher Order Function Demo
- Functional Programming Features in C# Presentation
- Hibernation, no not NHibernate, just Hibernation
- Meet and Code Dinner was a great success!
- May Meet And Code Dinner Signup Link
- May Meet And Code Dinner
- IEnumerable ForEach extension method
- The Linq SelectMany Operator
- When technology attacks
- Dependency Injection Presentation
- Immutability and tail recursion
- Richmond Code Camp 2008 Tomorrow
- Digging into the Linq “let” keyword
- The Linq “let” keyword
- Rob Conery’s MVC Storefront Application
- Grouping Linq Aggregates in C#
- The Monostate pattern
- Setting up authentication in asp.net MVC
- How telling is this?
- Grouping expectation verification in Moq
- Richmond Meet And Code Dinner Reminder
- Simplified Asp.net MVC Controller Testing with Moq
- Asp.net MVC Testing Imbalance
- The Art of B.S. or “How to write a cover letter”
- VB.net, oh how I hate thee, let me count the ways…
- Richmond Virginia “Meet and Code” dinner
- Fitting Linq To Sql into a real world datalayer
- Donkey Kong Kill Screen pics
- IE8 will render standards compliant by default
- Day before Mix 2008
- Getting ready for Mix08!
- Reality Driven Development – Why do good programmers produce bad software?
- Why asp.net MVC is so awesome.
- Seeing the Future in ParallelFX
- To close or not to close, that is the question.
- I’m soooo late to the game (twitter)
- Just Do it! Parallel.Do in ParallelFX
- Geek Dinner Recap
- A tale of Parallel.For in ParallelFX
- Richmond VA Geek Dinner Update #2
- Richmond VA Geek Dinner Reminder
- ParallelMap function using ParallelFX
- Dynamically Generating Lambdas
- Using Extension Methods in .net 2.0
- Chaining Linq Queries
- ParallelMap extension method that maintains order
- Richmond Virginia Geek Dinner
- Parallel Collection Operations
- My tips are already being used.
- Top 10 tips for becoming the best blogger ever
- The programmer who programs least, programs best.
- HashSet versus Dictionary Cage Match
- Introduction to the new .net 3.5 HashSet class
- LinqToSimpleDB Preview
- Visual Studio 2008 New Multi-Threaded Debugging Feature
- If you aren’t having fun, then don’t do it.
- Happy New Year!
2007 49
- I do not envy Visual Studio QA
- Linq To SimpleDB Issues
- Lambdas and Closures and Currying. Oh my! (Part 9)
- Are my ads making noise?
- Merry Christmas!
- Lambdas and Closures and Currying. Oh my! (Part 8)
- Back To Basics: Integers
- Why a standards compliant IE8 won’t really mean much
- Am I the only person on earth who hasn’t had issues with Vista?
- Amazon SimpleDB
- Don’t be clever
- Akismet extension for BlogEngine.net 1.2
- A few tips for keeping your applications from imploding.
- Someone defined this word wrong
- Lambdas and Closures and Currying. Oh my! (Part 7)
- Lambdas and Closures and Currying. Oh my! (Part 6)
- Extension Methods Suck
- Does this process need to be automated?
- Do we need to teach the basics?
- Google saves the day
- Lambdas and Closures and Currying. Oh my! (Part 5)
- You can’t focus on developers who don’t have focus.
- Happy Thanksgiving!
- Lambdas and Closures and Currying. Oh my! (Part 4)
- RSS Feed Repeat Items
- Software construction is not a science
- Lambdas and Closures and Currying. Oh my! (Part 3)
- Lambdas and Closures and Currying. Oh my! (Part 2)
- Lambdas and Closures and Currying. Oh my! (Part 1)
- MIX08, here I come!
- Will all creative content eventually be worthless?
- Your language deficiency is not a feature
- UNION versus UNION ALL, lessons in minutiae
- The true power of the internet
- You’re annoying your readers and you’re not making any money
- WTHDTAM (What The Hell Does That Acronym Mean)
- You too can fail fast (or at least really quickly)
- ASP.net MVC Framework and what it means for you
- Tag a day
- Proprietary plug-ins are not the future of the web
- SubSonic? Old News? Not to me!!
- Code + Markup, but why?
- No one can say that technology doesn’t help people
- Context, or lack thereof
- Rhino Mocks 3.3 is out
- explorer.exe consuming lots of CPU cycles on Windows Vista
- Microsoft releases XSS Detect Beta
- HTML Syntax Highlighting
- On the road again…