It’s been a while since I wrote anything here, other than answering questions, but I’m getting back to “coding in public”.
Besides the programming work below, I’m also starting to look for my next (paid) work.
My current project should be ending in July, and I’d like to find something quickly after that. Ideally, I’d like to find a full-time position – as long as it’s at a good company, with a good team.
I’m looking for anything that doesn’t involve JavaScript. My focus is generally on WPF, REST APIs, gRPC services, back-end (especially SQL), and a bit of Blazor. And I really like improving things – from processes to app reliability.
Please get in touch with me if you know of anything that might be a good project or job for me. Given the current market, I’m expecting this search may take a while, so I wanted to get an early start.
Here are the things I’m working on for my personal projects.
The general idea for the order of the work is to build things that will help me build the next thing faster, easier, and at a higher level of quality.
Checklists
Before I automate any development work, I need to document all the possible steps. Some of the processes I’m looking at are:
- Startup of different types of projects (APIs, WPF, etc.)
- More build and publish automation through GitHub. I currently build and run unit tests before allowing pull request merges, but I’d like to use more GitHub Actions to build and publish releases to GitHub and Nuget.org
Automation Plans
I’d like to automate my multi-step manual processes, to save time and reduce the likelihood of making a mistake.
These are the areas I’m currently looking at automating:
NuGet publishing: There are several manual steps I’ve had to do when publishing a NuGet package (updating the version, tagging the source, publishing the release to GitHub, pushing the changes to NuGet, etc.).
Building Visual Studio templates and wizards for when I create a new project. I’ve already built templates for class files, but want to expand to multi-project solutions.
Using more AI for development
I’ve been occasionally using LLMs to help me build my software. As they’ve improved, I’d like to start using them more. And I’d like to use them to build tools that help me use them better = “force multiplier” programs.
I already have Legba, a desktop app to submit prompts (along with saved prompt prefixes) to LLMs.
I’m currently working on a new program (CodeBundler) to load all class files from a solution or project into a single page that can be submitted to LLMs with large context windows. This way, with the complete codebase, the LLM “should” be able to create better responses to prompts.
NuGet packages
I have a few public NuGet packages and plan to create more. I updated one recently and am working on a big upgrade for another.
ScottLilly.ArgumentParser: Recently updated to handle more argument parsing that I need for another project I’m working on.
ScottLilly.CSharpExtender: Working on version 3.0.0, which will move the package to .NET 8. This should improve the performance of several functions. I’m also adding more functionality to the package.
ScottLilly.FluentEmail: No code changes planned here. I may update some documentation (like, add a CONTRIBUTORS.md file); however, I’ll probably leave it alone unless it needs code changes.
I have ideas for a few other NuGet packages, but need to leave them on my “to do” list, so I can focus on completing these higher-priority projects.
My NuGet packages are prefixed with my name, just to distinguish them from other packages with a similar name. If they were commercial packages, I’d use my company name (which I’m thinking of changing). But, since they’re free, I just use mine.
Other Open-Source Projects
CodeBundler app: The desktop and command-line app I mentioned above that consolidates source code files, to include them in LLM requests’ context.
This should be a quick program to finish and is one of those tools that should help me develop my other programs more quickly.
RobustAPITemplate: I’ve written several APIs for enterprise clients. There’s a lot you need to have to make an API ready for serious use, and this template project should let me build these robust APIS faster and more reliably. I’ll use this template as the starting point for the LLM informational website below.
While I have many planned features, I’m not going to directly work on them right now. The only changes I’ll make will be the ones I need for the LLM information website (next project).
LLM information website: A site to share information about available LLM services. This will be a simple API, with a few endpoints, and a few static HTML pages.
I’ll probably use Jekyll to create the blog part of the site, probably using the Chirpy template. The API will be C# MVC controllers, hosted on Azure, and using Cloudflare or Azure CDN for caching.
The difficult part of this will probably be gathering information from the different LLMs, to update the data for the API on this site.
Commercial Projects
Code quality inspection tool: This is the “final boss” of everything I’m working on.
Most of the other tools I’ve been working on are either needed for this program or should help me develop it.
Personal (real-life) projects
I moved from Texas to Tennessee last year and have barely explored the area. Now that the weather is nice, I want to get out to some of the hiking trails.
My sleep has also gotten a bit worse lately, so I need to refocus on that. I recently bought a record player and am thinking of listening to some relaxing music, while reading, before going to bed. That might help me wind down at the end of the day.