I met with GitHub to talk about Copilot

A few weeks ago, I received an email from a GitHub employee working on Copilot. They wanted to talk to users about their paste experience. I don’t generally participate to surveys (out of laziness and “I don’t have time for this”-ness), but because I like GitHub and had a somewhat disappointing experience with Copilot when I tried it earlier this spring, I decided to share my honest feedback. To my surprise, they got back to me to schedule a call.

Continue reading

Using and testing Vapor Queues

When you’re working on a backend application, you want your response time to be as low as possible, which is complicated when the server has to interact with third party services to send emails, process files and so on. Vapor provides a library that allows you to move this work out of the request’s critical path by dispatching jobs into queues and processing them in the background. Let’s see how to integrate it into a simple project and what are our options for testing.

Continue reading

Adding A Form Inside Another Form In HTML

I recently shipped a new feature on Comics Outmash called “polls”. Each month or so, the admin can open a new “poll period” where people can suggest a title they’d like to read next. Once there has been enough suggestions, the admin flips a switch and the users can vote on the titles they’re interested in reading. Unsurprinsingly, the title with the most votes wins. As part of this feature, I went through a tiny rabbit hole of at least 4 internet searches and discovered that it’s not possible to add an HTML form inside another. Or, is it?

Continue reading

Using Kotlin to build Comics Outmash

The Kotlin logo (a cat-like figure with a head shaped like a rotated uppercase K) wearing a super-hero mask and standing talk on top of a building. In the background is the moon and a bunch of tall buildings.

In 2022, a colleague of mine asked if I’d be able to help write a Swift on server demo for a WWDC session. At the time, I remember answering to their Slack message with something like “if you cut me I will bleed Swift on server” which, at the time, was probably true. Knowing this, and if you know me at all, you might have been slightly surprised when I mentioned that I decided to use Kotlin for the Comics Outmash project.

Continue reading