Damien Gonot
Home Blog Notes About

Computer Science Tools

Homepage / Notes / Computer Science / Tools

Text editors

Git

Tmux

Terminal

Zellij

https://zellij.dev/

asdf

LaTeX

Replit

https://replit.com/ Online REPL in many languages. Might be useful from an iPad / a computer I don't own.

Stow

Helps config dotfiles? Take care of symlinking for you. https://www.gnu.org/software/stow/manual/html_node/Resource-Files.html http://brandon.invergo.net/news/2012-05-26-using-gnu-stow-to-manage-your-dotfiles.html

IRC Clients

Weechat

https://weechat.org/files/doc/stable/weechat_quickstart.en.html

Add an IRC server

/server add {server_name} {server_url_no_port}

Connect with SSL

/set irc.server.{server_name}.ssl on

Connect to IRC server

/connect {server_name}

Join IRC channel

/join {channel]

Switch buffers

Alt -> or Alt <-

Resources

https://christine.website/blog/irc-stuff-nixos-2021-05-29

Irssi

WebAssembly

(or Wasm)

Wasmer

https://docs.wasmer.io/ Running WebAssembly on the server

WAPM

https://wapm.io/ WebAssembly Package Manager

WASI

https://wasi.dev/

The WebAssembly System Interface

Lunatic

https://lunatic.solutions/

Lunatic is an Erlang-inspired runtime for WebAssembly

Pandoc

https://pandoc.org/ "If you need to convert files from one markup format into another, pandoc is your swiss-army knife."

Basic usage

pandoc -o output_file input_file

Default is a "document fragment" (ex: HTML file with no <html>, <head>…)

For a complete ("standalone") document: pandoc -s -o output_file input_file

Org-specific doc

https://pandoc.org/org.html

Templates

https://pandoc.org/MANUAL.html#templates

Virtual Machines

virt-manager

https://virt-manager.org/

Firecracker MicroVMs

https://firecracker-microvm.github.io/ Fast microVMs for serverless computing (AWS Lambda…)

VPNs

Tailscale

https://tailscale.com/

Mobile Development

React Native

Flutter

https://github.com/go-flutter-desktop/go-flutter

just

https://github.com/casey/just just is a handy way to save and run project-specific commands, similar to make

HTTP Clients

CLI

curl

wget

httpie

https httpie.io/hello
{"ahoy":["Hello, World! 👋 Thank you for trying out HTTPie 🥳","We hope this will become a friendship."],"links":{"homepage":"https://httpie.io","twitter":"https://twitter.com/httpie","discord":"https://httpie.io/discord","github":"https://github.com/httpie"}}

httpbin

Returns client's headers

curl https://httpbin.org/headers
{
  "headers": {
    "Accept": "*/*",
    "Host": "httpbin.org",
    "User-Agent": "curl/7.77.0",
    "X-Amzn-Trace-Id": "Root=1-618168b4-0982f80d2e2330516e6d3566"
  }
}

GUI

Postman

Went enterprise-?

Insomnia

restclient

Favourite for now, great integration with Emacs

Hoppscotch

https://github.com/hoppscotch/hoppscotch

Kreya

https://kreya.app/

Started for gRPC actually! But supports HTTP as well

Accounting

Beancount

Image Manipulation

Imagemagick

http://www.fmwconcepts.com/imagemagick/index.php

Diagrams

https://kroki.io/

Mermaid

https://mermaid-js.github.io/ https://github.com/mermaid-js/mermaid-cli

graph TD
    A[Front-end] -->|HTTP Request| B(Server)

https://mermaid.live/

Remote Desktop

VNC

TigerVNC

Chrome Remote Desktop

https://remotedesktop.google.com/

TeamViewer

RustDesk

https://github.com/rustdesk/rustdesk

Build Tools

Makefiles

hello:
    echo "hello world"
cd ~/tmp/makefile_tutorial && make
echo "hello world"
hello world
hello: dependency
    echo "hello world"

dependency:
    echo "run dependency first"
cd ~/tmp/makefile_tutorial && make
echo "run dependency first"
run dependency first
echo "hello world"
hello world

Bazel

https://bazel.build/

Recommended way to install is via bazelisk

Misc

Beautiful images from code

Pipedream

https://pipedream.com/

Connect APIs, remarkably fast. Stop writing boilerplate code, struggling with authentication and managing infrastructure. Start connecting APIs with code-level control when you need it — and no code when you don't.

Windmill

https://docs.windmill.dev/ Open source alternative to Pipedream?

saasform

https://github.com/saasform/saasform "Saasform is a state-of-the-art website for your SaaS, with authentication, payments and common growth & marketing tools."

S3 Email

📫 A serverless email server on AWS using S3 and SES https://github.com/0x4447/0x4447_product_s3_email

Mailchimp => AWS email

Similar to above? https://carlchenet.com/how-to-save-up-to-500e-year-switching-from-mailchimp-to-open-source-mailtrain-and-aws-ses/

Combine pdf

pdf-diff

https://github.com/serhack/pdf-diff

A tool for visualizing differences between two pdf files.

MDX

https://mdxjs.com/

Tangram

https://github.com/tangramxyz/tangram Tangram is an all-in-one automated machine learning framework.

Static Website With Built-In SQL

https://www.evidence.dev/ Business Intelligence for Modern Data Teams Beautiful reports synced to your data with just SQL and Markdown

jc

https://kellyjonbrazil.github.io/jc/

CLI tool and python library that converts the output of popular command-line tools, file-types, and common strings to JSON, YAML, or Dictionaries. This allows piping of output to tools like jq and simplifying automation scripts.

Competitive Programming

Websites

HackerRank
LeetCode
TopCoder
CodeForces

Competitions

ICPC
IOI

Ways to Exercise

Exercism.io

https://exercism.io/ Interactive learning of multiple languages Really smart, can code in your own text editor

Advent of Code