What We Talk About When We Talk About the Real-Time Web

I first heard the term “WebSockets” long before I had any clue what they (Websockets) were. Was it possible to have a singular WebSocket? I’d heard they were a “game-changer,” something to do with the “real-time” web. But it was hard to understand where they fit. Was it a library, or an API, or a protocol? Or was it a “transport?” As it turns out, it’s a little bit of all of these but none of them in particular.

WebSockets have quickly become an integral part of the “Internet of Things.” Most of us have come to take the “real-time”…


A Job Search Retrospective

In early spring of 2020, I had lived my dream: three years as a writer and scholar, composing a collection of essays. Now, at 30 years old, I’d done it; I’d written a book. And I only had 50 years plus or minus 20 left to live. I spent a lot of time trying to envision the life of an adjunct professor, working 60+ hours each week, commuting back and forth to different schools, thoroughly on the grind just to make less than a general manager in a fast food franchise. …


When I taught English, I was concerned, in general, with the place and function of technology in first-year composition classrooms. More specifically, I was looking for the ways in which feedback is received online, and how computer interfaces affect student uptake and perceptions of feedback. However, this line of inquiry led me to some interesting sources on automated writing evaluations (AWEs), computer programs that aim to provide varying levels of feedback and/or holistic scoring of student work.

As an FYC instructor, the promise of less time spent on mechanics, leaving more time for higher-level concerns, was alluring. I narrowed the…


Since I wrote about garbage collection last week, I’ve been thinking about the subtleties of memory. I, like many, non-traditional programmers, have learned about computer science from the top down (maybe middle to top to bottom if we include learning the fundamentals of OOP). I made my first rails project before I even heard the terms “multi-threading” or “call stack,” let alone understood them. As a result, I learned how to build things without having to learn why they are built that way.

I wanted to change that.

And, wouldn’t you know it, I immediately came across a distinction in…


Silhouette of a man with a galaxy at its center on a backdrop of stars…
Silhouette of a man with a galaxy at its center on a backdrop of stars…

Once upon a time, in the age of C, low-level programming languages, languages that hewed closer to the hardware, required something of developers that virtually no modern high-level language demands: memory management. We had to tell the computer ahead of time how much memory we would need, and it was up to us to make sure we didn’t exceed that allocation. We also had to tell the computer what to do with objects we weren’t using anymore. It was a dirty job, but someone had to do it. Luckily, newer languages have us covered. …


Image for post
Image for post
Examples of neumorphism from JustInMind

2020 was a good year… wait, wait, hear me out. 2020 was a good year for UI design. While the planet was burning, and society was consumed by a pandemic, the internet got sleek. From the deep box-shadow retro look, to scroll-based animations, to gradient text color and the return of glassmorphism, it’s hard to find a 2020 design trend that doesn’t stick the landing.

One of my favorite trends, though, is Neumorphism. It’s subtle. It’s sleek. It’s unfortunately not very accessible, but I digress! …


One of the Web’s most central and lofty ideals is that of universal access. Advances in technology have created unprecedented access to information, entertainment, and community. However, that unprecedented access is still far from universal, and it can be easy for an able-bodied user or developer to neglect the experience of users with different constraints.

When I first got started writing my own code, I was thrilled just to get a form working. I hope I’m not the only person guilty of falling for the thought-trap that “if it works for me, it works.” …


Practical Starting Points for Your First Jamstack Project

Image for post
Image for post

At the 2016 SmashingConf in San Francisco, Matt Biilmann of Netlify offered his vision for the future of web development. More accurately, he described and formalized a process that was already underway. In this emergent present, web developers capitalized on tools offered by 3rd party APIs, CMS, and CDNs to abstract away a lot of hard (and frankly boring) work that would once have been done by backend engineers to maximize security, reliability, and performance. Biilmann dubbed this method of development the “JAMstack,” dependent as it was on Javascript, 3rd party APIs, and pre-rendered HTML or Markdown Markup.

One major…


Why Tech Should Value the Liberal Arts Experience || Part Three

Craft and Process

I know some very great writers, writers you love who write beautifully and have made a great deal of money, and not one of them sits down routinely feeling wildly enthusiastic and confident. Not one of them writes elegant first drafts. All right, one of them does, but we do not like her very much.

— Ann Lamott, Bird by Bird

In popular media, software engineers (there are like three software engineers in popular media, the rest are “hackers,” but you get it) and writers, the prodigious ones at least, are frequently portrayed hunched over their keyboards, fingers flying furiously…


Basic Strategies and Principles for a Less Stressful Debugging Experience

“If debugging is the process of removing software bugs, programming must be the process of putting them in.” — Edsger Dijkstra

Bugs. They’re inevitable. In the same way that most writing is revision, most programming demands debugging. That means developers get lots of opportunities to confront our own understanding. It’s great. Okay, it doesn’t always feel great. If I can appropriate another writing truism from Dorothy Parker, I hate debugging — I love having debugged. And while I have occasionally tried arguing or even bargaining with my laptop, I’ve never found it a particularly effective method. Luckily, we have lots…

Dave Frame

Full Stack Web Developer//MFA in Creative Nonfiction

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store