mirror of
https://github.com/He4eT/oddsquat.git
synced 2026-05-04 20:37:22 +00:00
151 lines
3.6 KiB
HTML
151 lines
3.6 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta
|
||
name="viewport"
|
||
content="width=device-width, initial-scale=1.0">
|
||
<link rel="icon" href="/favicon.ico" sizes="32x32">
|
||
<link rel="icon" href="/icon.svg" type="image/svg+xml">
|
||
|
||
|
||
<title>
|
||
posts | oddsquat
|
||
</title>
|
||
<meta name="description" content="Сomplete list of posts.">
|
||
|
||
<link rel="preload" href="/fonts/open_sans_condensed-32.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="preload" href="/fonts/open_sans_condensed-27.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="preload" href="/fonts/open_sans-25.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="preload" href="/fonts/open_sans-24.woff2" as="font" type="font/woff2" crossorigin>
|
||
<link rel="preload" href="/fonts/open_sans-17.woff2" as="font" type="font/woff2" crossorigin>
|
||
|
||
<link rel="stylesheet" type="text/css" href="/css/fonts.css">
|
||
<link rel="stylesheet" type="text/css" href="/css/typography.css">
|
||
<link rel="stylesheet" type="text/css" href="/css/main.css">
|
||
|
||
</head>
|
||
<body>
|
||
<div class="stripesContainer">
|
||
<div class="stripes">
|
||
</div>
|
||
</div>
|
||
|
||
|
||
<header>
|
||
<nav>
|
||
<ul>
|
||
<li><a href="/">oddsquat</a></li>
|
||
|
||
|
||
|
||
|
||
<li>posts</li>
|
||
</ul>
|
||
</nav>
|
||
</header>
|
||
|
||
<main>
|
||
<article>
|
||
<h1 id="posts">Posts</h1>
|
||
<p>Announcements are available via <a href="/rss.xml">RSS</a>.</p>
|
||
<hr>
|
||
<h2 id="2026">2026</h2>
|
||
<ul>
|
||
<li><article class='entry'>
|
||
<header>
|
||
[en]
|
||
<strong>
|
||
<a href='/posts/2026/encrypted_XMPP/'>encrypted XMPP</a>
|
||
</strong>
|
||
</header>
|
||
<section class='description'>
|
||
Secure and private messaging with XMPP and OMEMO encryption.
|
||
</section>
|
||
</article>
|
||
</li>
|
||
<li><article class='entry'>
|
||
<header>
|
||
[ru]
|
||
<strong>
|
||
<a href='/posts/2026/ugly_keyboards_ru/'>ugly keyboards</a>
|
||
</strong>
|
||
</header>
|
||
<section class='description'>
|
||
Почему нас окружают уродливые клавиатуры и что с этим можно сделать.
|
||
</section>
|
||
</article>
|
||
|
||
</li>
|
||
</ul>
|
||
<h2 id="2024">2024</h2>
|
||
<ul>
|
||
<li><article class='entry'>
|
||
<header>
|
||
[ru]
|
||
<strong>
|
||
<a href='/posts/2024/wrapped_bw_ru/'>wrapped bw</a>
|
||
</strong>
|
||
</header>
|
||
<section class='description'>
|
||
Превращаем fully-featured Bitwarden command-line interface в удобный.
|
||
</section>
|
||
</article>
|
||
</li>
|
||
<li><article class='entry'>
|
||
<header>
|
||
[ru]
|
||
<strong>
|
||
<a href='/posts/2024/selfhosted_llm/'>selfhosted LLM</a>
|
||
</strong>
|
||
</header>
|
||
<section class='description'>
|
||
Персональные LLM в docker-контейнере на твоём компьютере.
|
||
</section>
|
||
</article>
|
||
|
||
</li>
|
||
</ul>
|
||
<h2 id="2020">2020</h2>
|
||
<ul>
|
||
<li><article class='entry'>
|
||
<header>
|
||
[ru]
|
||
<strong>
|
||
<a href='/posts/2020/typographic_linter/'>typographic linter</a>
|
||
</strong>
|
||
</header>
|
||
<section class='description'>
|
||
Prettier для текста. Автоматизация рутинной типографики.
|
||
</section>
|
||
</article>
|
||
</li>
|
||
<li><article class='entry'>
|
||
<header>
|
||
[ru]
|
||
<strong>
|
||
<a href='/posts/2020/initial_post/'>initial post</a>
|
||
</strong>
|
||
</header>
|
||
<section class='description'>
|
||
Какие инструменты были использованы для создания этого сайта, какие решения были приняты и почему.
|
||
</section>
|
||
</article>
|
||
|
||
</li>
|
||
</ul>
|
||
|
||
</article>
|
||
</main>
|
||
|
||
<footer>
|
||
|
||
</footer>
|
||
|
||
<script async
|
||
data-goatcounter="https://he4et.goatcounter.com/count"
|
||
src="https://gc.zgo.at/count.js"></script>
|
||
|
||
|
||
</body>
|
||
</html>
|