247 lines
13 KiB
HTML
247 lines
13 KiB
HTML
<!doctype html>
|
||
<html lang="tr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>tunapro — dijital bahçe</title>
|
||
<meta name="description" content="Tuna Gül'ün dijital bahçesi: robotik, AI agent'lar, self-host edilen her şey. Bitmiş yazılar değil, büyüyen notlar.">
|
||
<style>
|
||
:root{
|
||
--paper:#faf6ee; --paper-2:#f3ecdd; --ink:#2b2620; --ink-soft:#6b6156;
|
||
--green:#3e6b4f; --green-soft:#e4ede4; --amber:#b0752b; --line:#e0d6c3;
|
||
--link:#3e6b4f;
|
||
}
|
||
*{box-sizing:border-box;margin:0;padding:0}
|
||
html{scroll-behavior:smooth}
|
||
body{
|
||
background:var(--paper); color:var(--ink);
|
||
font-family:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
|
||
line-height:1.65; font-size:17px;
|
||
background-image:radial-gradient(circle at 1px 1px, rgba(62,107,79,.06) 1px, transparent 0);
|
||
background-size:26px 26px;
|
||
}
|
||
a{color:var(--link)}
|
||
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
|
||
header{padding:64px 0 34px;border-bottom:1px solid var(--line)}
|
||
.kicker{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--amber)}
|
||
h1{font-size:clamp(34px,6vw,52px);font-weight:600;letter-spacing:-.01em;margin:10px 0 14px}
|
||
h1 .tilde{color:var(--green)}
|
||
.lede{max-width:62ch;color:var(--ink-soft);font-size:18.5px}
|
||
.lede strong{color:var(--ink)}
|
||
.season{margin-top:18px;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--ink-soft)}
|
||
.season b{color:var(--green);font-weight:600}
|
||
nav.legend{display:flex;gap:22px;flex-wrap:wrap;padding:16px 0;border-bottom:1px solid var(--line);
|
||
font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--ink-soft);position:sticky;top:0;
|
||
background:color-mix(in srgb, var(--paper) 92%, transparent);backdrop-filter:blur(6px);z-index:5}
|
||
nav.legend .item{cursor:default}
|
||
nav.legend a{text-decoration:none;color:var(--ink-soft)}
|
||
nav.legend a:hover{color:var(--green)}
|
||
main{display:grid;grid-template-columns:1fr;gap:0}
|
||
.garden{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:38px 0 10px}
|
||
.note{
|
||
background:#fffdf7;border:1px solid var(--line);border-radius:10px;padding:22px 22px 18px;
|
||
position:relative;display:flex;flex-direction:column;gap:10px;
|
||
box-shadow:0 1px 2px rgba(43,38,32,.05);
|
||
transition:transform .18s ease, box-shadow .18s ease;
|
||
}
|
||
.note:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(43,38,32,.10)}
|
||
.note.wide{grid-column:span 2}
|
||
@media(max-width:720px){.note.wide{grid-column:span 1}}
|
||
.stage{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--ink-soft);display:flex;justify-content:space-between;align-items:center}
|
||
.stage .s{color:var(--green)}
|
||
.note h2{font-size:21px;font-weight:600;letter-spacing:-.005em}
|
||
.note h2 a{text-decoration:none;color:var(--ink)}
|
||
.note h2 a:hover{color:var(--green)}
|
||
.note p{font-size:15.5px;color:#463f36}
|
||
.note p a{text-decoration:underline;text-decoration-color:#bcd0bf;text-underline-offset:3px}
|
||
.note p a:hover{text-decoration-color:var(--green)}
|
||
.roots{margin-top:auto;padding-top:10px;border-top:1px dashed var(--line);display:flex;gap:14px;flex-wrap:wrap;
|
||
font-family:ui-monospace,Menlo,monospace;font-size:12.5px}
|
||
.roots a{text-decoration:none;color:var(--ink-soft)}
|
||
.roots a:hover{color:var(--green)}
|
||
.roots a::before{content:"↳ ";color:var(--amber)}
|
||
.wiki{background:var(--green-soft);border-radius:4px;padding:0 4px;text-decoration:none !important;color:var(--green);white-space:nowrap}
|
||
.wiki::before{content:"[["}.wiki::after{content:"]]"}
|
||
.wiki::before,.wiki::after{opacity:.45}
|
||
.curio{background:linear-gradient(180deg,#fffdf7, #fdf7ea)}
|
||
.curio .stage .s{color:var(--amber)}
|
||
section.about{margin:44px 0;padding:30px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2);
|
||
display:grid;grid-template-columns:1.4fr 1fr;gap:30px}
|
||
@media(max-width:720px){section.about{grid-template-columns:1fr}}
|
||
section.about h3{font-size:14px;font-family:ui-monospace,Menlo,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--amber);margin-bottom:12px}
|
||
section.about p{color:#463f36;font-size:15.5px;margin-bottom:10px}
|
||
.paths{list-style:none;font-size:15px}
|
||
.paths li{padding:7px 0;border-bottom:1px dashed var(--line)}
|
||
.paths li:last-child{border-bottom:none}
|
||
.paths a{text-decoration:none}
|
||
.paths .where{font-family:ui-monospace,Menlo,monospace;font-size:12.5px;color:var(--ink-soft);float:right}
|
||
footer{padding:34px 0 60px;border-top:1px solid var(--line);margin-top:20px;
|
||
display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
|
||
font-family:ui-monospace,Menlo,monospace;font-size:13px;color:var(--ink-soft)}
|
||
footer a{color:var(--ink-soft);text-decoration:none}
|
||
footer a:hover{color:var(--green)}
|
||
.gate{font-size:12.5px}
|
||
.gate a{color:var(--amber)}
|
||
@media (prefers-reduced-motion: reduce){.note{transition:none}}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="wrap">
|
||
|
||
<header>
|
||
<div class="kicker">tunapro.xyz · dijital bahçe</div>
|
||
<h1>Tuna'nın bahçesi<span class="tilde">.</span></h1>
|
||
<p class="lede">Burası bir blog değil, bir <strong>bahçe</strong>: robotlar, AI agent'lar ve
|
||
kendi sunucumda yaşattığım sikko-ama-sevimli projeler hakkında <strong>büyüyen notlar</strong>.
|
||
Hiçbiri bitmiş sayılmaz — kimi daha fide, kimi çınar. Kronolojiye değil, meraka göre gez.</p>
|
||
<p class="season">mevsim: <b>yaz 2026</b> · bahçıvan: Tuna Gül · en son sulama: bugün</p>
|
||
</header>
|
||
|
||
<nav class="legend" aria-label="büyüme aşamaları">
|
||
<span class="item">🌱 fide — yeni dikildi, kırılgan</span>
|
||
<span class="item">🌿 filiz — büyüyor, düzenli sulanıyor</span>
|
||
<span class="item">🌳 çınar — köklendi, gölgesinde oturulur</span>
|
||
<a href="#hakkinda">bahçıvan kim? ↓</a>
|
||
</nav>
|
||
|
||
<main>
|
||
<div class="garden">
|
||
|
||
<article class="note wide" id="blueprint">
|
||
<div class="stage"><span class="s">🌳 çınar</span><span>dikim 2025 · son sulama tem 2026</span></div>
|
||
<h2><a href="https://bp.tunapro.xyz">blueprint (bp)</a></h2>
|
||
<p>tmux içinde bir AI agent <em>filosunu</em> yöneten orkestrasyon aracı. Paketler
|
||
<code>BLUEPRINT.yaml</code> ile tasarlanıyor, snapshot tabanlı versiyonlama ve symlink'le
|
||
sabitlenmiş bağımlılıklarla büyüyor. Go ile yazdım; bu bahçedeki çoğu şey gibi
|
||
<a class="wiki" href="#homelab">homelab</a>'de kendi kendini barındırıyor.
|
||
<a class="wiki" href="#replicant">replicant</a> ve <a class="wiki" href="#outpost">outpost</a>
|
||
bu düzenin içinde filizlendi.</p>
|
||
<div class="roots">
|
||
<a href="https://bp.tunapro.xyz">bp.tunapro.xyz</a>
|
||
<a href="https://github.com/tunapro1234/blueprint">github/blueprint</a>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="note" id="outpost">
|
||
<div class="stage"><span class="s">🌿 filiz</span><span>son sulama: bugün</span></div>
|
||
<h2><a href="https://github.com/tunapro1234/outpost">outpost</a></h2>
|
||
<p>Graph-merkezli bir outreach aracı: insanlar, bağlantılar ve konuşmalar birer düğüm.
|
||
Şu an bahçenin kilitli serası — <a href="https://outpost.tunapro.xyz">canlı hali</a> parola
|
||
istiyor, çünkü içinde gerçek insanlar var. En sık sulanan fidan bu.</p>
|
||
<div class="roots">
|
||
<a href="https://github.com/tunapro1234/outpost">github/outpost</a>
|
||
<a href="https://outpost.tunapro.xyz">outpost.tunapro.xyz 🔒</a>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="note" id="probot">
|
||
<div class="stage"><span class="s">🌳 çınar</span><span>MIT · 9★</span></div>
|
||
<h2><a href="https://probotstudio.com">Probot Studio</a></h2>
|
||
<p><em>«Bir kit, sonsuz robot.»</em> Arduino tabanlı robot yarışmaları için geliştirdiğimiz
|
||
kütüphane ve kit ekosistemi. Çekirdeği açık: <code>probot-core</code>, sahada denenmiş
|
||
embedded control middleware. <a class="wiki" href="#frc">FRC yıllarımın</a> toprağında yetişti.</p>
|
||
<div class="roots">
|
||
<a href="https://probotstudio.com">probotstudio.com</a>
|
||
<a href="https://github.com/probot-studio/probot-core">github/probot-core</a>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="note" id="homelab">
|
||
<div class="stage"><span class="s">🌿 filiz</span><span>7/24 vızıldıyor</span></div>
|
||
<h2>homelab: *.tunapro.xyz</h2>
|
||
<p>Self-host etmediğim şey kalmasın: kod <a href="https://git.tunapro.xyz">Gitea</a>'da,
|
||
medya kendi video sunucumda, Minecraft sunucusunun paneli <code>mcdash</code>'te, mail bile
|
||
burada. Bu bahçe de dahil — okuduğun sayfa benim demirimde dönüyor.
|
||
<a class="wiki" href="#blueprint">blueprint</a> bu makinelerde yaşar.</p>
|
||
<div class="roots">
|
||
<a href="https://git.tunapro.xyz">git.tunapro.xyz</a>
|
||
<a href="https://video.tunapro.xyz">video</a>
|
||
<a href="https://mcdash.tunapro.xyz">mcdash</a>
|
||
</div>
|
||
</article>
|
||
|
||
<article class="note" id="replicant">
|
||
<div class="stage"><span class="s">🌱 fide</span><span>dikim may 2026</span></div>
|
||
<h2><a href="https://github.com/tunapro1234/replicant">replicant</a></h2>
|
||
<p>AI agent deneyleri: bir agent'ın kendini ve iş arkadaşlarını kopyalayıp çoğaltması üzerine
|
||
Python karalamaları. Adı tesadüf değil. Büyüyünce ne olacağını ben de bilmiyorum — fidelerin
|
||
güzelliği bu. Kardeşi: <a class="wiki" href="#metron">metron</a>.</p>
|
||
<div class="roots"><a href="https://github.com/tunapro1234/replicant">github/replicant</a></div>
|
||
</article>
|
||
|
||
<article class="note" id="metron">
|
||
<div class="stage"><span class="s">🌱 fide</span><span>1★</span></div>
|
||
<h2><a href="https://github.com/tunapro1234/metron">metron</a></h2>
|
||
<p>Ölçmediğin şeyi yönetemezsin: agent'lar ve sistemler için Python'da metrik/ölçüm katmanı.
|
||
<a class="wiki" href="#replicant">replicant</a> koşarken metron sayar.</p>
|
||
<div class="roots"><a href="https://github.com/tunapro1234/metron">github/metron</a></div>
|
||
</article>
|
||
|
||
<article class="note" id="sims">
|
||
<div class="stage"><span class="s">🌱 fide</span><span>okuma listesi büyüyor</span></div>
|
||
<h2>LLM'lerle toplum simülasyonu</h2>
|
||
<p>AI agent'larla toplum kurma merakım: <a href="https://github.com/tunapro1234/hallucinating-splines">hallucinating-splines</a>'ta
|
||
agent'lar headless SimCity'de şehir kuruyor; <a href="https://github.com/tunapro1234/edsl-test">EDSL</a> ile
|
||
AI destekli anket/deney tasarımını kurcalıyorum. Not defteri:
|
||
<a href="https://github.com/tunapro1234/awesome-llm-social-simulation">awesome-llm-social-simulation</a>.</p>
|
||
<div class="roots"><a href="https://github.com/tunapro1234/awesome-llm-social-simulation">github/awesome-llm-social-simulation</a></div>
|
||
</article>
|
||
|
||
<article class="note" id="frc">
|
||
<div class="stage"><span class="s">🌳 çınar</span><span>kökler burada</span></div>
|
||
<h2>FRC 7839 & 9029 → NFR Products</h2>
|
||
<p>Robotikle FRC sahasında tanıştım (7839 ve 9029). O sahadan bir dönem donanım işine de
|
||
girdik; benim payıma düşen kökler bugün <a class="wiki" href="#probot">Probot Studio</a>'da —
|
||
yarış robotlarından yarışma kitlerine.</p>
|
||
<div class="roots"><a href="https://github.com/team-nf">github/team-nf</a></div>
|
||
</article>
|
||
|
||
<article class="note" id="elevator">
|
||
<div class="stage"><span class="s">🌱 fide</span><span>Rust · 1★</span></div>
|
||
<h2><a href="https://github.com/tunapro1234/elevator_optimization">elevator_optimization</a></h2>
|
||
<p>Asansör çizelgelemesi ne kadar optimize edilebilir? Rust'la yazılmış küçük bir saplantı.
|
||
Beklerken düşünülen her şey proje olabilir.</p>
|
||
<div class="roots"><a href="https://github.com/tunapro1234/elevator_optimization">github/elevator_optimization</a></div>
|
||
</article>
|
||
|
||
<article class="note curio" id="canbitirici">
|
||
<div class="stage"><span class="s">🍄 mantar</span><span>hakemli değil, kesin doğru</span></div>
|
||
<h2><a href="https://canbitirici.tunapro.xyz">Can neden iş bitirici değil?</a></h2>
|
||
<p>Bahçenin gölgesinde kendiliğinden biten tür: titiz metodolojiyle hazırlanmış(!) bir
|
||
araştırma raporu. Bilim böyle bir şey olmalı — kişisel, kindar ve grafikli.</p>
|
||
<div class="roots"><a href="https://canbitirici.tunapro.xyz">canbitirici.tunapro.xyz</a></div>
|
||
</article>
|
||
|
||
</div>
|
||
|
||
<section class="about" id="hakkinda">
|
||
<div>
|
||
<h3>Bahçıvan</h3>
|
||
<p>Ben <strong>Tuna Gül</strong> — Türkiye'de mühendislik öğrencisi; robotik, AI agent'lar ve
|
||
sistem mimarisiyle uğraşıyorum. İnancım basit: bir sistem <em>kurulabiliyorsa</em>, kurulacak.
|
||
O yüzden izlemek yerine kurmayı seçiyorum.</p>
|
||
<p>Bu bahçedeki notlar bitmiş metinler değil; yarım fikirler, çalışan prototipler, birkaç şaka.
|
||
Hepsi kendi toprağımda (kendi sunucularımda) duruyor. Bir not sana yarım geldiyse, doğru
|
||
gelmiştir — geri gel, büyümüş olur.</p>
|
||
</div>
|
||
<div>
|
||
<h3>Patikalar</h3>
|
||
<ul class="paths">
|
||
<li><a href="https://github.com/tunapro1234">GitHub</a><span class="where">@tunapro1234</span></li>
|
||
<li><a href="https://git.tunapro.xyz">Kendi Gitea'm</a><span class="where">git.tunapro.xyz</span></li>
|
||
<li><a href="https://probotstudio.com">Probot Studio</a><span class="where">probotstudio.com</span></li>
|
||
<li><a href="https://stackoverflow.com/users/tunapro1234">Neredeyse her yerde</a><span class="where">@tunapro1234</span></li>
|
||
</ul>
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<footer>
|
||
<span>© 2026 Tuna Gül · bahçe kendi sunucusunda büyür</span>
|
||
<span class="gate">yıllıktaki QR'dan mı geldin? <a href="/yillik/">senin için ayrı bir köşe var →</a></span>
|
||
</footer>
|
||
|
||
</div>
|
||
</body>
|
||
</html>
|