% Contents of listings-setup.tex \usepackage{xcolor} \usepackage{fontspec}

\lstset { basicstyle=\ttfamily, numbers=left, keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries, stringstyle=\color[rgb]{0.31,0.60,0.02}, commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape, numberstyle=\footnotesize, stepnumber=1, numbersep=5pt, backgroundcolor=\color[RGB]{248,248,248}, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2, captionpos=b, breaklines=true, breakatwhitespace=true, breakautoindent=true, escapeinside={\%*}{*)}, linewidth=\textwidth, basewidth=0.5em, }

Computing experiences

2023-01-20T19:54:42-05:00

% Contents of listings-setup.tex \usepackage{xcolor} \usepackage{fontspec}

\lstset { basicstyle=\ttfamily, numbers=left, keywordstyle=\color[rgb]{0.13,0.29,0.53}\bfseries, stringstyle=\color[rgb]{0.31,0.60,0.02}, commentstyle=\color[rgb]{0.56,0.35,0.01}\itshape, numberstyle=\footnotesize, stepnumber=1, numbersep=5pt, backgroundcolor=\color[RGB]{248,248,248}, showspaces=false, showstringspaces=false, showtabs=false, tabsize=2, captionpos=b, breaklines=true, breakatwhitespace=true, breakautoindent=true, escapeinside={\%*}{*)}, linewidth=\textwidth, basewidth=0.5em, }

Computing experiences

Prompt: make an introductory blog post describing your best “in class” computing experience as a computer science student and your best “outside the class” computing experience so far in your life.

While in university

I would honestly have to say that my best in-class computing experiences have been when I haven’t done what the professors recommend in terms of tooling and workflow and such. When I was in the early CS courses, the professors told us to use BlueJ, Eclipse, PuTTY, FileZilla, etc. and I think those are just abysmal development experiences. PuTTY has to be one of the worst terminals I’ve ever touched and I do not understand why professors still recommend it; Windows Terminal has been around for years and it’s actually pleasant, plus Windows ships with a native SSH port built in.

My best computing experiences have hands-down been when I stick with the basics: my preferred Linux distro, OpenSSH, Vim, Make, and Java’s CLI tooling (java(1), javac(1), etc.). Tools that try to abstract development workflows before you even learn the basics just punt learning those basics until later, when you’re in a sticky situation where the clicky GUI IDE buttons throw errors so you either throw your hands up and open YouTube or begin banging your head against the problem until you blunder your way to a solution (and miss the deadline and get an earful from your boss). Learning those basics at the onset make the abstractions (IDEs, frameworks, etc.) much easier to understand and work with later on.

While out of university

I’ve been computing outside of university for far longer than I have inside, and I think my favourite experiences have been when I go on a deep dive into some area I know nothing about, ones where you start at 19:00, look up at the clock a while later, and it’s 03:00 the next day. These deep dives are how I learned to use LXD, NGINX, Doom Emacs, and much more, as well as when I make the most progress on various applications I’m writing.