hello.js

var please = require('share');
console.log('thank you');

NEW !!!

Friday, 26 January, 2024 UTC

HTTP at Thirty-Three

I am of the opinion that the Hypertext Transfer Protocol is a marvel. It’s earliest version could not be simpler: it only describes the most basic GET request, and yet GET remains the workhorse of the web thirty-three years later. The rest of what would ... more


Friday, 6 October, 2023 UTC

Replacing PDFKit with Grover for Rails PDF Generation

Background I have been working on a long running Rails application where one of the primary pieces of functionality is the ability to export dozens of reports in PDF format. When the application was first written the PDF generation was handled by PDFKit. ... more


Thursday, 21 September, 2023 UTC

Intro to Client-Side Validation With Yup

Using the Platform If you’ve ever worked on a front-end project, especially one that’s a Single Page Application, you’ve probably needed to do client-side validation. There’s quite a few options we could choose, so let’s do a quick rundown of everything. ... more


Thursday, 31 August, 2023 UTC

Tracking Analytics in Vue with Matomo

Whenever website analytics are discussed it is usually in the context of marketing. Which pages are getting the most visits, which advertising campaigns are most successful, and so on. You don’t have to work in advertising to make use of analytics, especially ... more


Friday, 21 July, 2023 UTC

A Practical Use-Case of Render Functions in Vue

What Are Render Functions? Render functions are what Vue uses under the hood to render to the DOM. All vue templates are compiled into render functions which return a virtual DOM tree and get mounted to the actual DOM. This template: <div>hello</div> ... more


Thursday, 11 May, 2023 UTC

10 Lessons Learned Using Svelte to Build a Recipe Application

Sometime in the year 2020 time collapsed on itself and lost all meaning. Children ran rampant through zoom meetings and we all generally forgot how to wear pants. Yes, the darkened days. What did we do in 2020? We all became home chefs. We dove head ... more


Friday, 5 May, 2023 UTC

The Paradox of Pointless Code: Moving Faster by Doing Nothing

It’s easy to think of software development as a baldly utilitarian task. A process needs to be formalized or some data needs to be transformed, and so we write code that automates the task. Inputs are received, outputs are produced, and you might assume ... more


Friday, 10 March, 2023 UTC

Challenges Learning Django Rest Framework

I had only a small amount of experience with Django when I started my current project. Naively, I thought that learning this new tech stack would be a breeze since I had worked with many different frameworks before. However, as I dug deeper into Django ... more


Thursday, 26 January, 2023 UTC

Pseudorandom Deterministic Cypress Tests

This post is a guide for creating pseudorandom yet deterministic tests in Cypress. Cypress can “test anything that runs in a browser”. As such it is mostly agnostic about the implementation details of your application, such as a front-end framework, ... more


Thursday, 12 January, 2023 UTC

Choosing Between Two Store Syntaxes in Pinia

The Problem The Pinia docs offer two distinct syntax for writing Pinia stores. Option Store Setup Store However when asked, “Which syntax should I pick”, the docs simply say to “pick the one that you feel the most comfortable with”. “You do not yet realize ... more


Thursday, 29 December, 2022 UTC

Favorite Books of 2022

As the Simple Thread team grew in 2022, so did the list of books that we’ve collectively read. We rounded up a few of the favorites from a few of our team members that were read this past year and wanted to give the gift of sharing with them you all ... more


Thursday, 15 December, 2022 UTC

Comparing BEM and Tailwind

When I started at Simple Thread earlier this year, I got brought on a new project where we decided on using Tailwind for writing CSS. I was initially hesitant about it since I very much like writing plain old CSS. I wrote a lot of custom CSS at my previous ... more


Thursday, 8 December, 2022 UTC

Taming Names in Software Development

Good names What is a name? A name is a label, a handle, a pointer in your brain’s memory. A complex idea neatly encapsulated. A name lets you refer to “the economy” , or “dogfooding” mid-sentence without needing a three-paragraph essay to explain the ... more


Wednesday, 16 November, 2022 UTC

Comment threads with recursive components in Vue 3

It’s common for applications to use threaded comment replies for managing communication. In Vue, we can use recursion to help manage displaying those threads. What is recursion? Simply put, a recursive function is one that calls itself with some condition ... more


Thursday, 22 September, 2022 UTC

Geospatial Applications using Rails

In a previous life, I was what you could call a “cartographer”. I spent my days making maps, but probably not in the way that immediately comes to mind. I wasn’t out exploring uncharted wildernesses; I was sitting in front of a computer teasing away ... more


Wednesday, 18 December, 2019 UTC

Understanding JavaScript Decorators

Not too long ago, I built a React app using MobX for state management. It was an exciting, at times confusing, but overall enjoyable experience that I plan to write about soon. One distinctive feature of MobX development that I found especially interesting ... more


Friday, 22 November, 2019 UTC

RVA JavaScript Conf 2019

Last Friday marked our third annual RVA JavaScript Conference, and we think it was our best one yet! Thank you Richmond! We are truly grateful to all of the attendees and the Richmond and central Virginia software development communities for making it ... more


Tuesday, 29 October, 2019 UTC

Four Ways to Get the Most Out of Your Conference Sponsorship

Simple Thread is one of the organizing sponsors of next month’s RVA JavaScript Conference; one of our region’s most successful annual software conferences. This has led us to some lessons learned in fostering sponsor-attendee engagement. How Storybrand ... more


Tuesday, 2 April, 2019 UTC

Simple Thread’s Favorite Developer Things

Oprah Winfrey is famous for many reasons, but one of the most popular episodes of her eponymous talk show was her yearly “Favorite Things” Show — it’s actually so popular, years removed from Oprah , she still publishes her annual list. In Favorite Things, ... more


Tuesday, 19 February, 2019 UTC

A Fictional Account of How I Invented React: A Simplified Perspective of How React Works

This past year I decided to catch up on the latest in JavaScript frameworks and learn React. Actually, it was it bit more than just learning React as I also was eager to pick up ES6 and Node. Anyway, after experiencing the complexities of Angular, Backbone, ... more