Alcides Fonseca.AI & Programming Languages researcher
40.197958, -8.408312

Making intelligent software
more reliable.

I work on the intersection of AI, Software Engineering and Programming Languages. Currently, I am applying Formal Methods to Agents, towards AI Safety.

Program synthesisLiquid typesReliable AIGuardrailsEvals

Things a Computer Scientist ought to know

The ignorance of many students has inspired me to compile this list:

Quotes

There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors. — Jeff Atwood

Premature optimization is the root of all evil — Donald Knuth

A complex system that works is invariably found to have evolved from a simple system that works. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. John Gall

“I do not fear computers. I fear lack of them.” — Isaac Asimov

“A computer once beat me at chess, but it was no match for me at kick boxing.” — Emo Philips

“Software is like entropy: It is difficult to grasp, weighs nothing, and obeys the Second Law of Thermodynamics; i.e., it always increases.” — Norman Augustine

“It’s hardware that makes a machine fast. It’s software that makes a fast machine slow.” — Craig Bruce

“If we wish to count lines of code, we should not regard them as ‘lines produced’ but as ‘lines spent.‘” — Edsger Dijkstra

“Commenting your code is like cleaning your bathroom — you never want to do it, but it really does create a more pleasant experience for you and your guests.” — Ryan Campbell

“Looking at code you wrote more than two weeks ago is like looking at code you are seeing for the first time.” — Dan Hurvitz

“It is easier to change the specification to fit the program than vice versa.” — Alan Perlis

“Less than 10% of the code has to do with the ostensible purpose of the system; the rest deals with input-output, data validation, data structure maintenance, and other housekeeping.” — Mary Shaw

“Manually managing blocks of memory in C is like juggling bars of soap in a prison shower: It’s all fun and games until you forget about one of them.” — anonymous Usenet user

“There are only two things wrong with C++: The initial concept and the implementation.” — Bertrand Meyer

“Some people, when confronted with a problem, think ‘I know, I’ll use regular expressions.’ Now they have two problems.” — Jamie Zawinski

People

Pop Culture

Programming languages

Systems

Curricula