HotSocket: Professional Edition

About

The Human

I use the pseudonym “HotSocket” online to have some degree of separation between my “real” and online identities. I’m a self-taught programmer, continuously accumulating knowledge over the past ~decade.

Particularly Helpful Skills

Some Fun Facts!

Projects

hotsocket.pro (this site!)

This site is built with Hugo, and pushed up to Netlify. The theme is the template one generated by hugo new theme with minor tweaks.

This is a project that started as “Hey, what if I made my own SwiftUI-adjacent web framework type thing with my own flair?”, and has evolved into a larger exploration of TypeScript and the AT Protocol. This could be considered two separate projects in one, but as the unnamed ATProto half evolves, so does DomLink.

This project most prominently features the “DomLink” library, which makes for an easier way to build web applications by chaining methods in a way that resembles a builder pattern. Code tends to speak better than words in these kinds of situations, so here’s some example code for a button that increments a number represented by text:

import { Body, Button, Column, Label } from "@/domlink.ts";

const display = new Label("Number: 0");
let number = 0;
Body.with(
	new Column().with(
		display,
		new Button("Increment!", ()=>{
			display.text = `Number: ${++number}`;
		})
	)
);

You can view a demo of this here.

The project eventually evolved into me developing a windowed client for Bluesky and Tangled. It’s still fairly basic in its functionality, but I’m proud of it.

What’s Next With This?

A big driver for this project, aside from browsing of various ATProto-based platforms, is building intuitive tools for management of data in a user’s repository. The windowing functionality I built, combined with the Drag/Drop API, ought to make for an intuitive way to manage said data.

What I Accomplished Here

hotsocket.fyi

This is the site I use for more personal information about myself, files, and a simple dictionary thing using PHP and XSLT. (Google appears to have nuked XSLT out of Chromium, RIP.) I’m a fan of how the CSS on that one turned out.