My Stack

published 01/15/2022 • 3m reading time • 292 views

Outdated Article

This article was written in January of 2022 and since then the tools I use have changed a bit. For one, atom is not a thing anymore, I also now use Svelte instead of just html and js. Other than that I think this is still generally accurate.

Tools and extensions I use for creating websites and other programs. I’m leaving out anything too obvious like HTML, or JS.

The icon specifies Open Source software.

Tools

Atom

Atom Logo

Atom is the text editor for the 21st Century. I use it for almost all of my text editing needs. The startup time may be a bit slow as it is an election app but one it starts it’s more than fast enough. The advanced configuration is super easy because you can just style the UI with CSS. I use the following community packages as well.

Insomnia

Insomnia Logo

Insomnia is a spectacular HTTP client for testing APIs. It has support for REST, SOAP, GraphQL, and GRPC. It has been a crucial part of development for this website and afire my rust web server framework.

Alacritty

Alacritty Logo

Alacritty is an incredibly performant hardware accelerated terminal emulator. It’s also written in rust, so it may get some bonus points :P

Firefox

Firefox Logo

Firefox is my preferred browser for multiple reasons. This includes being open source, having great developer tools, and a great extension support. Its also not owned by the same company that owns the biggest advertising platform unlike Chrome. Here are the main extensions I use:

Extension Description
uBlock Origin User-friendly content blocker. Out of the box it blocks ads, trackers, coin miners and popups
Terms of Service; Didn’t Read Give services a privacy grade and summarize the Terms of Service
SponsorBlock Skip sponsored segments in YouTube videos
Return Youtube Dislike Use past API data and estimations to bring back YouTube dislikes
User-Agent Switcher and Manager Easy way to change your User-Agent string
Material Icons for Github Add really nice material icons to files shown in GitHub
Decentraleyes Intercept requests for common libraries and serve them locally
Bitwarden Easy to get started with Password Manager
Tampermonkey User script Manager and runner
uMatrix Advanced privacy focused matrix based firewall
Tree Tabs Organize your tabs in a nested tree like view

Stack

Theses are the languages, and libraries I use for my projects.

Rust

Rust-Lang Logo

Rust is a performant, reliable and safe modern programming language. I have used it in all of my recent projects, including this website! The spectacular tooling, comprehensive standard library, elegant error handling philosophy, and open package ecosystem gives rust a really great developer experience. The rust libraries do still need time to mature for it to become more prevalent in Game Development, Machine Learning and other fields. If you want to get started with rust I would recommend reading The Rust Book, which is a free online book outlining everything from setting up your environment to building your own simple web server!

afire

🔥

afire is my dependency free web server framework. I made it with rust over the course of a month and have been adding to it since then! It has support for all the things necessary for a capable webserver framework, Routes, Middleware, Path Parameters, Path Queries, Cookies and more. Below is a simple example server made with afire v0.3.0.

// Import Lib
use afire::{Server, Method, Response, Header, Content};

// Create Server
let mut server: Server = Server::new("localhost", 8080);

// Add a route
server.route(Method::GET, "/greet/{name}", |req| {
  let name = req.path_param("name").unwrap();

  Response::new()
    .text(format!("Hello, {}", name))
    .content(Content::TXT)
});

// Start the server
// This is blocking
server.start().unwrap();

Sass

Sass Logo

Sass or Syntactically Awesome Style Sheets is a CSS preprocessor with an extended syntax. It compiles from .scss and .sass files to standard CSS. With sass, you can use selector nesting, complied variables, loops, inheritance, mixins and import code from other files. It is actively used by a very large community of people. Get started with sass by reading the official guide.

Services

Vultr

Vultr Logo

Vultr is an easy way to deploy a VPS or Virtual Private Server. The price per VPS goes as low as $3.50 per month (this is a fantastic price), there are currently 21 location you can pick from and over 25M instances have been deployed.