Jonathan Lam

EE/CS @ The Cooper Union


You're a web developer? Why is your website sh*t?

From prior experience, I'm not skilled with UI/UX. I'll leave it to the design gurus when possible.

This is also a design choice, because simplicity has its benefits:

While SPAs are great, I think they're starting to become an anti-pattern as they become the norm, even and especially for small academic projects that would do better with much less. Thus I regress.

Why are the margins so big?

See: Why are the default LaTeX margins so big?

How can I contact you?

See the Contact page.

Fun facts?

(These are several of my canned responses for icebreaker sessions, because I am bad with discovering new facts about myself on the spot.)

How do you look?

A small picture ID.

Code style convention?

For JavaScript: Mr.doob's Code Style .

For most others (mostly C-family languages): Linux Kernel style guide.

I have less rigid over time with coding conventions, especially after encountering functional languages such as Haskell (which are very opinionated).

In general, it will most likely depend on the project or the language (gofmt is a good example of this). When in doubt: agree with your team on an IDE/formatting tool and use the auto-format feature. And when you have a project involving multiple languages: good luck.

80 characters is also a good convention for most code, but gets unreasonable with unstructured data (e.g., markup languages).

Favorite language(s)?

1) LISP. 2) JavaScript. 3) C.

Languages you want to learn?

1) Golang. 2) Rust. Learned these languages since initially writing these. Now mostly interested in Haskell, Scala, and other FP languages.

Least favorite language(s)?

Python. MATLAB.

Favorite web framework?


Least favorite web framework?


Favorite color?


Favorite OS?

FreeBSD for experimenting with/learning about the OS.

Arch Linux for average screwing around and speed.

Debian for overall stability and support.

Fedora for being having all the consumer applications immediately ready.

PC setup?

Desktop: Nvidia GT740. i7-2600. 16GB DDR3. Debian 10 w/ xfce4. 128GB SATA SSD. Perixx Periboard 512W ergonomic keyboard.

Laptop 1: Acer Aspire Spin 3 (~2017?). i7-7500U. 12GB DDR4. Arch Linux w/ xfce4. 256GB NVME SSD.

Laptop 2: Dell Latitude E6420 (~2012?). i7-2720QM. 16GB DDR3. Debian 11 w/ xfce4. 128GB SATA SSD.

Laptop 3: Dell Latitude E5420 (~2012?). i7-2620M. 8GB DDR3. Fedora 30 w/ xfce4. 128GB SATA SSD.

Server (NAS): FreeNAS (FreeBSD 11.3). 8GB DDR3. 128GB SATA SSD + ZFS mirrored 2x3TB 7.2k SAS.

Server (for other shenanigans): FreeBSD 12.1. 4GB DDR3. 128GB SATA SSD.

Other hobbies?

Reading list?


Tell me more about this website?


Strange website issues?

If the webpages look inconsistent (e.g., the navbar is different between pages), this is likely due to caching by the Fastly CDN. Sit tight for a few minutes or (for the impatient) add a query parameter. There shouldn't be any other errors except 404, since everything is static. (This is not true of the eis and files subdomains -- please contact me if you see errors on those sites.)

If in doubt, feel free to contact me.

© Copyright 2021 Jonathan Lam