49 lines
1.9 KiB
JavaScript
49 lines
1.9 KiB
JavaScript
(() => {
|
|
const start = Date.parse("1984-01-01T00:00:00Z");
|
|
const timerEl = document.getElementById("ms-since");
|
|
const fmt = new Intl.NumberFormat("ru-RU");
|
|
|
|
const eggMessages = {
|
|
"p-value": "p-value = 0.73 — отсутствие результатов статистически значимо.",
|
|
sql: "SELECT * FROM results; 0 rows. База данных благодарит за лёгкий запрос.",
|
|
overfit: "Модель публикации переобучена на отмазках. Generalization error → ∞.",
|
|
feature: "Фича «1984» в проде. Release notes: добавили вечность.",
|
|
heatmap: "Строим тепловую карту пустоты: самый горячий пиксель под диваном.",
|
|
pivot: "Pivot в никуда: развернули таблицу, получили NaN.",
|
|
gradient: "Градиент неопределённости сошёлся к нулю информации."
|
|
};
|
|
|
|
function update() {
|
|
if (!timerEl) return;
|
|
const diff = Date.now() - start;
|
|
timerEl.textContent = fmt.format(diff);
|
|
}
|
|
|
|
function toast(message) {
|
|
console.log(`[dano easter] ${message}`);
|
|
const box = document.createElement("div");
|
|
box.className = "toast";
|
|
box.textContent = message;
|
|
document.body.appendChild(box);
|
|
requestAnimationFrame(() => box.classList.add("visible"));
|
|
setTimeout(() => box.classList.remove("visible"), 2200);
|
|
setTimeout(() => box.remove(), 2600);
|
|
}
|
|
|
|
document.querySelectorAll("[data-egg]").forEach((el) => {
|
|
el.addEventListener("click", () => {
|
|
const msg = eggMessages[el.dataset.egg] || "Логируем вакуум данных.";
|
|
toast(msg);
|
|
});
|
|
});
|
|
|
|
if (timerEl) {
|
|
timerEl.addEventListener("dblclick", () =>
|
|
toast("Таймер округляет миллисекунды в сторону драматизма.")
|
|
);
|
|
}
|
|
|
|
update();
|
|
setInterval(update, 100);
|
|
})();
|