Skip to content

Instantly share code, notes, and snippets.

View myfonj's full-sized avatar

Michal Čaplygin myfonj

View GitHub Profile
(() => {
let nowTS = Date.now();
const archiveDate = document.location.href.match(/web.archive.org\/web\/([0-9]+)/);
if (archiveDate) {
const c = archiveDate[1].match(/(....)(..)(..)(..)(..)(..)/);
const d = new Date(`${c[1]}-${c[2]}-${c[3]}T${c[4]}:${c[6]}:${c[6]}Z`);
nowTS = d.getTime();
}
const ageSpans = document.querySelectorAll('.age[title]');
const data = Array.from(ageSpans).map(
@myfonj
myfonj / check-my-language.md
Last active April 9, 2025 15:52
LLM chat prompts

Could you point out any grammatical errors or instances of awkward or unnatural phrasing I’ve made in this conversation? Please skip minor typos that result in non-existent words, but do let me know if I’ve used the wrong word entirely. Please format the feedback with the original and corrected versions on separate lines, and bold the differences.

@myfonj
myfonj / TEST_favourites_export_toolbar_folder_with_24_datauri_tabs.html
Last active August 5, 2023 19:22
TEST_favourites_export_toolbar_folder_with_24_datauri_tabs.html
<!DOCTYPE NETSCAPE-Bookmark-file-1>
<!-- This is an automatically generated file.
It will be read and overwritten.
DO NOT EDIT! -->
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=UTF-8">
<TITLE>Bookmarks</TITLE>
<H1>Bookmarks</H1>
<DL><p>
<DT><H3 ADD_DATE="1655563812" LAST_MODIFIED="1691227111" PERSONAL_TOOLBAR_FOLDER="true">Favourites bar</H3>
<DL><p>
@myfonj
myfonj / eval-repl-bookmarklet.js
Last active July 24, 2023 22:09
Bookmarklet using window.prompt as a REPL interface for current page. Keywordable.
javascript: (() => {
let doPrompt = true;
let promtLabel = '';
let promptValue = '%s';
if (promptValue == '\u0025s') {
promtLabel = 'Eval:';
promptValue = '/* Expression like */ 1 + 1';
} else {
doPrompt = false;
}
@myfonj
myfonj / capo.svg
Last active June 26, 2023 01:18 — forked from rviscomi/capo.svg
RE: How do I add this emoji to the middle of the SVG? 👤
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

See [base64-png], [SVG-in-HTML].

[base64-png]:

@myfonj
myfonj / answer.md
Created January 12, 2023 01:40
NO-JS game remarks

https://stackoverflow.com/questions/75090143/how-to-write-tic-tac-toe-game-against-computer-using-only-html-and-css-no-js

I'm not sure such question belongs on SO, before mods will chime in, welcome and have a couple of remarks:

1. Anchors and ":target"s

This could save some duplicate positions. Instead of checkboxes and state tree, you can merge identical positions into single one and switch them like

<style>div:not(:target){display:none}</style>
<a href="#s00">start</a>
<div id="s00"><a href="#s01">1</a></div>
@myfonj
myfonj / widest-characters-over-30px.json
Last active December 3, 2022 14:30
Script measuring rendered width of Unicode characters, and its results.
[
[
106.69999694824219,
"﷽",
65021
],
[
74.19999694824219,
"𒐫",
74795
@myfonj
myfonj / calendar.html
Last active June 30, 2022 05:25 — forked from erkiesken/calendar.html
compact calendar
<html>
<body>
<style>
.month {
--unit: 1.25rem;
padding-left: calc(var(--firstWeekDay) * var(--unit));
}
.day {
display: inline-block;
width: var(--unit);
function stringToCodePoints (string) {
function charToCodePoint (char) {
// "brute-force"
let codePoint = 0;
while (char !== String.fromCodePoint(codePoint)) {
// will throw for codePoint exceeding legal range
++codePoint;
}
return codePoint;
};