Code
from rich.console import Console
= Console()
console print(
console.":rocket: Hi! I'm a researcher, teacher, podcaster, and software developer!"
)
🚀 Hi! I'm a researcher, teacher, podcaster, and software developer!
I recently hosted an episode of Software Engineering Radio called "Samuel Colvin on the Pydantic Ecosystem"!
🚀 Hi! I'm a researcher, teacher, podcaster, and software developer!
Innovating in technical areas such as software engineering and software testing, I teach courses, conduct research, write papers and a blog, give presentations, create software, and serve organizations. Working as an Associate Professor in the Department of Computer and Information Science at Allegheny College, I am an associate editor for the Journal of Software: Evolution and Process, an academic editor for the PeerJ Computer Science journal, a program committee member for conferences like the International Conference on Software Testing, Verification and Validation and the International Conference on Software Engineering, and a reviewer for journals like Transactions on Software Engineering and the Journal of Software Testing, Verification and Reliability. Along with media appearances on podcasts like Stack Overflow and Talk Python, I interview the world’s leading experts on software engineering as a co-host of Software Engineering Radio. You can learn more about me and my work by reading my biography, downloading my curriculum vitae, and subscribing to my mailing list.
Database Testing: Automatically test relational database schemas
Flaky Tests: Find and fix unpredictable and harmful test cases
Mutation Testing: Using automatically seeded defects to evaluate tests
Regression Testing: Efficiently and effectively rerunning test suites
Web Testing: Detecting and repairing responsive web page layout
Explore all of my areas of research expertise
Read all of my research papers
Review all of my research presentations
Venue | Role(s) | Year(s) |
---|---|---|
International Conference on the Foundations of Software Engineering | Program Committee Member, Reviewer | 2026 - 2005 |
International Flaky Tests Workshop | Program Committee Member | 2025 - 2024 |
International Symposium on Software Testing and Analysis | Tool Demonstrations Program Committee | 2025 - 2024 |
PeerJ Computer Science Journal | Academic Editor | 2025 - 2019 |
Journal of Software: Evolution and Process | Associate Editor, Reviewer | 2025 - 2012 |
Investigate all of my professional service
Read all of my blog posts
Learn more by reading my professional biography
Algorithm Analysis: Implement and evaluate correct and efficient algorithms
Data Abstraction: Build and manipulate correct and efficient data structures
Discrete Structures: Clearly connect mathematics to Python programming
Operating Systems: Build and understand operating system components
Software Engineering: Team-based introduction to building software systems
Explore all of my teaching materials
Cellveyor: Easily convey reports from Google Sheets to GitHub
Chasten: Configurable linting tool that uses XPath expressions
GatorGrade: Python front-end for the GatorGrader assessment tool
GatorGrader: Automated assessment for source code and writing
SchemaAnalyst: Data generation and mutation analysis for database schemas
Benefit from my open-source software
I think my next laptop will be a linux machine.
Put some final touches to Toad's permission request screen.
When the agent has an update, it pops this screen up. You can review the diffs in unified or split view, then decide if you want to accept or reject the changes.
Toad is getting closer to a first release. It will be able to provide a front-end to both Claude and Gemini in the first version.
Watch this space!
@treyhunner my company went all in on uv+ruff about 6 months back. It's been great!
I started playing with ty on a personal project. Been really digging it so far.
I'm going all-in on uv & just for a new project and I'm really enjoying this workflow.
I feel like I may end up using uv for new projects instead of hatch. 😮