Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
94 changes: 94 additions & 0 deletions dashboard/cells/javier/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
:root {
--bg: #0b120d; --ink: #d8f5e0; --ink-2: #8fbf9f; --ink-3: #55805f;
--green: #35e07c; --green-dim: #1f9e57; --line: #1d3323;
}
* { margin: 0; box-sizing: border-box; }
body {
background: var(--bg); color: var(--ink);
font-family: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
height: 100vh; overflow: hidden;
display: flex; flex-direction: column;
}
/* sized against the cell's own frame (container units), so the quote
fills the fullscreen monitor scene and stays compact in the grid tile */
.stage {
flex: 1; min-height: 0; container-type: size;
display: flex; flex-direction: column;
align-items: center; justify-content: center;
padding: clamp(10px, 5cqmin, 56px);
text-align: center;
font-size: clamp(13px, min(3.6cqw, 8cqh), 56px);
}
figure { transition: opacity .6s; }
blockquote {
line-height: 1.4; color: var(--ink); max-width: 30em;
text-wrap: balance;
}
blockquote::before { content: "“"; color: var(--green); font-size: 1.4em; }
blockquote::after { content: "”"; color: var(--green); font-size: 1.4em; }
figcaption { margin-top: .8em; font-size: .6em; color: var(--ink-2); }
figcaption::before { content: "— "; color: var(--green-dim); }
.fade { opacity: 0; }
footer {
flex: none; display: flex; align-items: baseline; gap: .7rem;
padding: 5px 10px; border-top: 1px solid var(--line);
font-size: 11px; color: var(--ink-3);
}
a { color: var(--green-dim); text-decoration: none; }
a:hover { color: var(--green); }
</style>
</head>
<body>
<main class="stage">
<figure id="f">
<blockquote id="q"></blockquote>
<figcaption id="c"></figcaption>
</figure>
</main>
<footer>
<span>historically inaccurate quotes</span>
<a href="https://www.kth.se/profile/javierro" target="_blank" rel="noopener">kth.se/profile/javierro →</a>
</footer>
<script>
const quotes = [
['Veni, vidi, git push --force.', 'Julius Caesar, 47 BC'],
['I think, therefore I am. I compile, therefore I wait.', 'René Descartes, 1637'],
['Give me a lever long enough and I shall move the deadline.', 'Archimedes, 250 BC'],
['The only thing we have to fear is a Friday deploy.', 'Franklin D. Roosevelt, 1933'],
['To be, or not to be null — that is the question.', 'William Shakespeare, 1600'],
['Eureka! It works on my machine.', 'Archimedes, 246 BC'],
['That’s one small step for man, one giant merge conflict for mankind.', 'Neil Armstrong, 1969'],
['Know thyself. Then know thy stack trace.', 'Socrates, 410 BC'],
['If I have seen further, it is because I copied from Stack Overflow.', 'Isaac Newton, 1675'],
['Houston, we have a flaky test.', 'Apollo 13, 1970'],
['All warfare is based on deception. So is every time estimate.', 'Sun Tzu, 500 BC'],
['I have not failed. I’ve just found 10,000 ways the CI won’t pass.', 'Thomas Edison, 1879'],
['The die is cast. The Docker image is not.', 'Julius Caesar, 49 BC']
];
// shuffle, then walk the deck; reshuffle when exhausted (no immediate repeat)
let deck = [], last = null;
function next() {
if (!deck.length) {
deck = quotes.slice().sort(() => Math.random() - .5);
if (deck[deck.length - 1] === last) deck.unshift(deck.pop());
}
return last = deck.pop();
}
const f = document.getElementById('f');
const q = document.getElementById('q');
const c = document.getElementById('c');
function render() { const [text, who] = next(); q.textContent = text; c.textContent = who; }
function show() {
f.classList.add('fade');
setTimeout(() => { render(); f.classList.remove('fade'); }, 600);
}
render();
setInterval(show, 9000);
</script>
</body>
</html>
8 changes: 8 additions & 0 deletions dashboard/cells/javier/prompt.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Cell prompt — Javier

> Cycle through funny, historically inaccurate quotes — famous historical
> figures saying things they obviously never said, ideally about software,
> bugs, deadlines or computers — in random order, one at a time, with the
> (wrong) attribution and a made-up year as a small citation underneath.
> Fade in and out like Martin's quote cycler. Link to my KTH profile.
> Minimal, typographic, green-on-black, matching the dashboard theme.
6 changes: 3 additions & 3 deletions dashboard/cells/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@
"image": "/img/people/carmine.jpeg"
},
{
"id": "javierron",
"name": "Javier Ron",
"id": "javier",
"name": "Javier",
"role": "PhD",
"cell": false,
"cell": true,
"image": "/img/people/javierron.png"
},
{
Expand Down
Loading