310 lines
19 KiB
HTML
310 lines
19 KiB
HTML
<!doctype html>
|
||
<html lang="tr">
|
||
<head>
|
||
<meta charset="utf-8">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<title>tunapro postası · kendi sunucusunda basılır</title>
|
||
<meta name="description" content="tuna gül'ün dijital bahçesi, gazete baskısı. agent haberleri, robotik sayfası, arşivden ve küçük ilanlar.">
|
||
<style>
|
||
:root{
|
||
--bg:#f4f1ea; --ink:#141412; --red:#c22f23; --dim:#8a857a; --faint:#c9c3b4;
|
||
--serif:"Iowan Old Style",Palatino,Georgia,serif;
|
||
--mono:ui-monospace,Menlo,Consolas,monospace;
|
||
}
|
||
*{box-sizing:border-box;margin:0;padding:0}
|
||
::selection{background:var(--red);color:#fff}
|
||
body{background:var(--bg);color:var(--ink);font-family:var(--serif);line-height:1.5}
|
||
a{color:inherit}
|
||
img{max-width:100%}
|
||
.sheet{max-width:1180px;margin:0 auto;padding:0 22px 80px}
|
||
|
||
/* masthead */
|
||
.mast{text-align:center;padding:30px 0 14px;border-bottom:4px double var(--ink)}
|
||
.mast .over{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--dim)}
|
||
.mast h1{font-size:clamp(44px,9vw,96px);font-weight:700;letter-spacing:-.01em;line-height:1;margin:8px 0 10px}
|
||
.mast h1 span{color:var(--red)}
|
||
.mast .bar{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11.5px;color:var(--dim);
|
||
border-top:1.5px solid var(--ink);margin-top:8px;padding:7px 4px 0;flex-wrap:wrap;gap:6px}
|
||
.mast .bar b{color:var(--ink);font-weight:600}
|
||
|
||
/* telgraf hattı */
|
||
.wire{border-bottom:1.5px solid var(--ink);padding:7px 0;font-family:var(--mono);font-size:11.5px;
|
||
color:var(--dim);white-space:nowrap;overflow:hidden}
|
||
.wire .tape{display:inline-block;animation:wire 34s linear infinite;padding-left:0}
|
||
.wire b{color:var(--red)}
|
||
@keyframes wire{from{transform:translateX(0)}to{transform:translateX(-50%)}}
|
||
@media(prefers-reduced-motion:reduce){.wire .tape{animation:none}}
|
||
|
||
/* grid */
|
||
.front{display:grid;grid-template-columns:2.1fr 1.1fr;gap:0;border-bottom:3px solid var(--ink)}
|
||
@media(max-width:860px){.front{grid-template-columns:1fr}}
|
||
.lead{padding:26px 26px 30px;border-right:1.5px solid var(--ink)}
|
||
@media(max-width:860px){.lead{border-right:none;border-bottom:1.5px solid var(--ink)}}
|
||
.side{display:flex;flex-direction:column}
|
||
|
||
.kick{font-family:var(--mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--red)}
|
||
h2.head{font-size:clamp(28px,4.6vw,52px);font-weight:700;line-height:1.06;letter-spacing:-.015em;margin:8px 0 6px}
|
||
h3.head{font-size:clamp(20px,2.6vw,27px);font-weight:700;line-height:1.15;margin:6px 0 4px}
|
||
.byline{font-family:var(--mono);font-size:11px;color:var(--dim);margin-bottom:12px}
|
||
.cols{column-count:2;column-gap:26px;column-rule:1px solid var(--faint);font-size:15px;color:#2c2a24;text-align:justify;hyphens:auto}
|
||
@media(max-width:640px){.cols{column-count:1}}
|
||
.cols p, .body p{margin-bottom:10px}
|
||
.body{font-size:14.5px;color:#2c2a24}
|
||
p .r{color:var(--red);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
|
||
.figure{margin:14px 0;border:2px solid var(--ink);background:#fff}
|
||
.figure img{display:block;filter:grayscale(1) contrast(1.05);transition:filter .25s;width:100%}
|
||
.figure:hover img{filter:grayscale(0)}
|
||
.figcap{font-family:var(--mono);font-size:10.5px;color:var(--dim);padding:6px 8px;border-top:1.5px solid var(--ink);background:var(--bg)}
|
||
.box{padding:22px 24px;border-bottom:1.5px solid var(--ink)}
|
||
.box:last-child{border-bottom:none}
|
||
.links{margin-top:10px;font-family:var(--mono);font-size:11.5px;display:flex;gap:8px;flex-wrap:wrap}
|
||
.links a{text-decoration:none;border:1.5px solid var(--ink);border-radius:999px;padding:4px 10px}
|
||
.links a:hover{background:var(--ink);color:var(--bg)}
|
||
|
||
/* iç sayfalar */
|
||
.section-head{display:flex;align-items:baseline;gap:14px;border-bottom:3px solid var(--ink);padding:34px 0 8px}
|
||
.section-head .roman{font-family:var(--mono);font-size:11px;letter-spacing:.24em;color:var(--red);text-transform:uppercase}
|
||
.section-head h2{font-size:clamp(24px,3.6vw,38px);font-weight:700;letter-spacing:-.012em}
|
||
.section-head .fill{flex:1;border-bottom:1px solid var(--faint)}
|
||
.trio{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:3px solid var(--ink)}
|
||
@media(max-width:860px){.trio{grid-template-columns:1fr}}
|
||
.trio>.box{border-bottom:none;border-right:1.5px solid var(--ink)}
|
||
.trio>.box:last-child{border-right:none}
|
||
@media(max-width:860px){.trio>.box{border-right:none;border-bottom:1.5px solid var(--ink)}.trio>.box:last-child{border-bottom:none}}
|
||
.duo{display:grid;grid-template-columns:1.4fr 1fr;border-bottom:3px solid var(--ink)}
|
||
@media(max-width:860px){.duo{grid-template-columns:1fr}}
|
||
.duo>.box{border-bottom:none;border-right:1.5px solid var(--ink)}
|
||
.duo>.box:last-child{border-right:none}
|
||
@media(max-width:860px){.duo>.box{border-right:none;border-bottom:1.5px solid var(--ink)}.duo>.box:last-child{border-bottom:none}}
|
||
|
||
/* ilanlar & arşiv */
|
||
.classifieds{font-size:13.5px}
|
||
.classifieds .ad{padding:10px 0;border-bottom:1px dashed var(--faint)}
|
||
.classifieds .ad:last-child{border:none}
|
||
.classifieds .ad b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--red);display:block;margin-bottom:2px}
|
||
.quote{border-left:3px solid var(--red);padding:6px 0 6px 14px;font-style:italic;font-size:15px;margin:10px 0;color:#2c2a24}
|
||
.quote .who{display:block;font-style:normal;font-family:var(--mono);font-size:10.5px;color:var(--dim);margin-top:4px}
|
||
|
||
footer{padding-top:22px;font-family:var(--mono);font-size:11.5px;color:var(--dim);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
|
||
footer a{color:var(--red);text-decoration:none}
|
||
footer a:hover{text-decoration:underline}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class="sheet">
|
||
|
||
<header class="mast">
|
||
<div class="over">blog değildir · portfolyo hiç değildir · bahçedir</div>
|
||
<h1>TUNAPRO<span>.</span>POSTASI</h1>
|
||
<div class="bar">
|
||
<span>cilt 1, sayı 1 · <b>yaz 2026</b></span>
|
||
<span>sahibi ve tek yazarı: <b>tuna gül</b></span>
|
||
<span>fiyatı: <b>ücretsiz</b> (zaten self-host)</span>
|
||
<span>her yerde <b>@tunapro1234</b></span>
|
||
</div>
|
||
</header>
|
||
|
||
<div class="wire" aria-hidden="true">
|
||
<span class="tape"><b>SON DAKİKA:</b> outpost'a bugün de push atıldı ··· replicant pypi'da: pip install pyreplicant ··· impact çemberlitaş bölgeseli 16 takımla tamamlandı ··· mail sunucusu bu hafta hiç patlamadı (nazar değmesin) ··· <b>SON DAKİKA:</b> outpost'a bugün de push atıldı ··· replicant pypi'da: pip install pyreplicant ··· impact çemberlitaş bölgeseli 16 takımla tamamlandı ··· mail sunucusu bu hafta hiç patlamadı (nazar değmesin) ··· </span>
|
||
</div>
|
||
|
||
<!-- ============ ÖN SAYFA ============ -->
|
||
<div class="front">
|
||
<div class="lead">
|
||
<div class="kick">manşet · ai servisi</div>
|
||
<h2 class="head">Sunucudaki agent filosu tek binary'den yönetiliyor</h2>
|
||
<div class="byline">bp.tunapro.xyz muhabirimizden</div>
|
||
<div class="cols">
|
||
<p><a class="r" href="https://bp.tunapro.xyz">blueprint (bp)</a>, muhabirimizin sunucusunda
|
||
yaşayan agent'ları yönetmek için kullandığı araç. tmux oturumları, message queue, usage
|
||
policy ve whatsapp client'ı tek go binary'sinde topluyor. <code style="font-family:var(--mono);font-size:.9em">bp daemon</code>
|
||
eski python ve node job'larını süperviz ediyor. yazarımız bunları yeniden yazmadığını,
|
||
çünkü çalıştıklarını ve çalışan şeye dokunulmadığını beyan etti.</p>
|
||
<p>dashboard'un terminal hali <code style="font-family:var(--mono);font-size:.9em">bp monitor</code> ile
|
||
geliyor. usage, cost, agents, projects ayrı ekranlar. agent'lara izole git branch'i
|
||
gerektiğinde worktree'leri de bp açıyor, kirli worktree'yi silmeyi reddediyor.
|
||
"hayatımın işletim sistemi gibi bi şey" diyor yazar, "okuduğunuz gazete bile onun
|
||
baktığı makinede basılıyor."</p>
|
||
</div>
|
||
<div class="figure">
|
||
<a href="https://github.com/tunapro1234/blueprint"><img src="https://opengraph.githubassets.com/garden/tunapro1234/blueprint" alt="blueprint reposu" loading="lazy"></a>
|
||
<div class="figcap">bp'nin github kartı. fotoğraf renklidir, mürekkep masrafından siyah-beyaz basılmıştır (imleci tutunca renklenir).</div>
|
||
</div>
|
||
<div class="links">
|
||
<a href="https://bp.tunapro.xyz">bp.tunapro.xyz ↗</a>
|
||
<a href="https://github.com/tunapro1234/blueprint">github ↗</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div class="side">
|
||
<div class="box">
|
||
<div class="kick">bugünün ikinci haberi</div>
|
||
<h3 class="head">İnsan ilişkileri artık graf: outpost yayında ama şifreli</h3>
|
||
<div class="body">
|
||
<p>herkes obsidian uyumlu bir vault'ta birer .md dosyası. <a class="r" href="https://github.com/tunapro1234/outpost">outpost</a>
|
||
üstüne ilişki grafını çiziyor. araştırma agent'ları yeni insan öneriyor fakat vault'a
|
||
giriş insan onayına tabi. mail yalnızca okunuyor, gönderim yetkisi agent'lara verilmedi.
|
||
"o kadar da güvenmiyorum" dedi geliştirici.</p>
|
||
</div>
|
||
<div class="links"><a href="https://github.com/tunapro1234/outpost">github ↗</a></div>
|
||
</div>
|
||
<div class="box">
|
||
<div class="kick">hava durumu yerine: bahçe durumu</div>
|
||
<div class="body classifieds">
|
||
<div class="ad"><b>canlı</b> bp, impact, probot studio, homelab</div>
|
||
<div class="ad"><b>büyüyor</b> outpost (bugün de push yedi)</div>
|
||
<div class="ad"><b>kuluçkada</b> replicant, metron, omega</div>
|
||
<div class="ad"><b>arşivde ama sevgiyle</b> dbex, megaboi, cygnus, vector-h</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ============ AI SAYFASI ============ -->
|
||
<div class="section-head"><span class="roman">sayfa 2</span><h2>Araştırma Eki</h2><span class="fill"></span></div>
|
||
<div class="duo">
|
||
<div class="box">
|
||
<div class="kick">dosya konusu</div>
|
||
<h3 class="head">Deneklerin yerini LLM'ler alırsa: yazarımızın ABM merakı</h3>
|
||
<div class="byline">toplum simülasyonu masası</div>
|
||
<div class="body">
|
||
<p>abm (agent-based modeling) tarzı makro llm işleri bu gazetenin uzun vadeli saplantısı.
|
||
soru şu: deney katılımcısının yerine kişilikli bir llm agent koyarsan insan davranışı
|
||
çıkıyor mu, bini bir araya gelince topluma benziyor mu.</p>
|
||
<p><a class="r" href="https://github.com/tunapro1234/replicant">replicant</a> bu sorunun deney tarafı:
|
||
oTree deneylerine big five kişilikli agent'lar sokuyor (pypi'da <span style="font-family:var(--mono);font-size:.9em">pyreplicant</span>).
|
||
ilk replike edilen paper Ertan-Page-Putterman 2009, free rider cezalandırma deneyi.
|
||
isim hem replikasyondan hem blade runner'dan geliyor, ikisi de kasıtlı.</p>
|
||
<p><a class="r" href="https://github.com/tunapro1234/metron">metron</a> ise sosyoloji tarafı:
|
||
"sociology for AI agents." dünyada yüz binlerce deploy edilmiş agent var ve kimse
|
||
bunları popülasyon olarak incelemiyor. kişilik testleri, davranış profilleri, kümeleme.
|
||
ne tür zihinler seri üretiyoruz, birinin sorması lazımdı.</p>
|
||
<p>iktisat simülasyonu tarafı omega, <a class="r" href="https://github.com/trasumanar-ai">trasumanar</a>
|
||
çatısında aktif yeniden yazımda. trasumanar'ın adı dante'den: insan ötesine geçmeyi
|
||
kelimelerle anlatamazsın. iddialı isim, altında mütevazı repolar.</p>
|
||
</div>
|
||
<div class="links">
|
||
<a href="https://github.com/tunapro1234/replicant">replicant ↗</a>
|
||
<a href="https://github.com/tunapro1234/metron">metron ↗</a>
|
||
<a href="https://github.com/trasumanar-ai">trasumanar ↗</a>
|
||
<a href="https://github.com/tunapro1234/awesome-llm-social-simulation">okuma listesi ↗</a>
|
||
</div>
|
||
</div>
|
||
<div class="box">
|
||
<div class="kick">kısa kısa</div>
|
||
<div class="body">
|
||
<p><strong>simcity'de mesai.</strong> <a class="r" href="https://github.com/tunapro1234/hallucinating-splines">hallucinating-splines</a>
|
||
fork'unda agent'lar headless micropolis motorunda şehir kuruyor. şehircilik anlayışları
|
||
tartışmalı bulundu.</p>
|
||
<p><strong>anket doldurtan adam.</strong> <a class="r" href="https://github.com/tunapro1234/edsl-test">edsl</a>
|
||
ile ai destekli anket ve deney tasarımı kurcalanıyor, ilk izlenimler dosyada.</p>
|
||
</div>
|
||
<div class="figure">
|
||
<a href="https://github.com/tunapro1234/replicant"><img src="https://opengraph.githubassets.com/garden/tunapro1234/replicant" alt="replicant reposu" loading="lazy"></a>
|
||
<div class="figcap">replicant: pypi'da gerçek bir paket, gazetemiz gurur duyar.</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ============ ROBOTİK SAYFASI ============ -->
|
||
<div class="section-head"><span class="roman">sayfa 3</span><h2>Robotik & Saha</h2><span class="fill"></span></div>
|
||
<div class="trio">
|
||
<div class="box">
|
||
<div class="kick">ticaret</div>
|
||
<h3 class="head">"Bir kit, sonsuz robot": parça satışı sürüyor</h3>
|
||
<div class="body">
|
||
<p><a class="r" href="https://probotstudio.com">probot studio</a>, lise robot yarışmaları
|
||
için kit ve kütüphane işi. çekirdek açık kaynak: probot-core (mit, 9★), arduino tabanlı
|
||
yarışmalarda sahada denenmiş. yazarımız buradan parça satmaya devam ettiğini,
|
||
slogandan hâlâ memnun olduğunu bildirdi.</p>
|
||
</div>
|
||
<div class="links">
|
||
<a href="https://probotstudio.com">probotstudio.com ↗</a>
|
||
<a href="https://github.com/probot-studio/probot-core">probot-core ↗</a>
|
||
</div>
|
||
</div>
|
||
<div class="box">
|
||
<div class="kick">organizasyon</div>
|
||
<h3 class="head">Yarışan çocuk yarışma düzenleyen adam oldu</h3>
|
||
<div class="body">
|
||
<p><a class="r" href="https://impact.tr">impact.tr</a> çatısında robot yarışmaları:
|
||
hands-on challenge (iki gün durmadan esp32'yle robot üretme), ideathon ve şehir şehir
|
||
yayılan robo soccer. nisan 2026 çemberlitaş bölgeselinde 16 takım, 150+ katılımcı.
|
||
sitenin kodu yazarın <a class="r" href="https://git.tunapro.xyz/tunapro/impact-site">kendi gitea'sında</a>.</p>
|
||
</div>
|
||
<div class="links"><a href="https://impact.tr">impact.tr ↗</a></div>
|
||
</div>
|
||
<div class="box">
|
||
<div class="kick">tarih servisi</div>
|
||
<h3 class="head">Lisede 7839, mezun olunca kendi takımı: Houston'a iki sefer</h3>
|
||
<div class="body">
|
||
<p>yazarımız lisede frc 7839'da yarıştı. mezun olunca mali'yle nf'yi kurdular, frc
|
||
9029. takımdan 2023'te nfr products çıktı, şirket devam ediyor. geçen sene zağanos'ta
|
||
görev aldı. 2025 ve 2026'da first championship'e gidildi. "first'ün öğrettiği kod
|
||
değil" diyor, "teslim tarihi gerçek olunca nasıl çalışıldığı. altı haftada robot
|
||
bitiyor çünkü bitmek zorunda."</p>
|
||
</div>
|
||
<div class="links">
|
||
<a href="https://github.com/team-nf">team-nf ↗</a>
|
||
<a href="https://github.com/tunapro1234/FRC7839">frc7839 arşivi ↗</a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- ============ ARŞİV + İLANLAR ============ -->
|
||
<div class="section-head"><span class="roman">sayfa 4</span><h2>Arşivden & Küçük İlanlar</h2><span class="fill"></span></div>
|
||
<div class="duo">
|
||
<div class="box">
|
||
<div class="kick">github arkeolojisi · 2020-2024</div>
|
||
<div class="body">
|
||
<p><strong><a class="r" href="https://github.com/tunapro1234/DBEX">dbex</a> (2020).</strong>
|
||
python'un json kütüphanesinin generator hali, 11. sınıf işi. readme arşivimizin en
|
||
değerli belgesi:</p>
|
||
<div class="quote">"json kütüphanesine yetişebilmem için eklemem gereken çok fazla
|
||
özellik var ama maalesef ben 11. sınıfım."
|
||
<span class="who"> dbex readme'si, 2020</span></div>
|
||
<p><strong><a class="r" href="https://github.com/tunapro1234/MEGABOI">megaboi</a> (2020).</strong>
|
||
arduino mega + lcd shield + 6 butondan el yapımı konsol.</p>
|
||
<div class="quote">"neden ekranın yediği serial0'ı kullandın diyebilirsiniz, cevap çok
|
||
basit: bilmiyorum."
|
||
<span class="who"> megaboi readme'si, 2020</span></div>
|
||
<p><strong>c dönemi (2021).</strong>
|
||
<a class="r" href="https://github.com/tunapro1234/vector-h">vector-h</a> (c89'da vektör) ve
|
||
<a class="r" href="https://github.com/tunapro1234/cygnus">cygnus</a>. cygnus embed
|
||
cihazlar için ai kütüphanesi denemesiydi, yazar o sıra nnfs okuyordu ve "kitap bitince
|
||
düzenli baştan başlayacağım" notunu düşmüştü. kitap bitmiş, başlanmamıştır.</p>
|
||
<p><strong><a class="r" href="https://github.com/tunapro1234/elevator_optimization">elevator_optimization</a> (2024).</strong>
|
||
boğaziçi'nin ai yarışması için rust'la yazıldı ve kazandı. repo o günkü haliyle korunuyor.
|
||
kazanan koda dokunulmaz.</p>
|
||
</div>
|
||
</div>
|
||
<div class="box">
|
||
<div class="kick">küçük ilanlar</div>
|
||
<div class="body classifieds">
|
||
<div class="ad"><b>satılık</b> probot kitleri ve parçaları. yarışmada denenmiştir,
|
||
garantisi sloganıdır: bir kit, sonsuz robot. <a class="r" href="https://probotstudio.com">probotstudio.com</a></div>
|
||
<div class="ad"><b>kayıp</b> can'ın iş bitiriciliği. bulan olursa
|
||
<a class="r" href="https://canbitirici.tunapro.xyz">rapora</a> baksın, orada da yok ama
|
||
neden olmadığı grafiklerle açıklanmıştır.</div>
|
||
<div class="ad"><b>eleman aranıyor</b> gece 2'de mail sunucusuna bakacak gönüllü.
|
||
maaş yok, huzur var. başvuru: yazarın kendisi zaten, ilan formalite.</div>
|
||
<div class="ad"><b>duyuru</b> bu gazete <a class="r" href="https://git.tunapro.xyz">git.tunapro.xyz</a>,
|
||
video sunucusu, mcdash ve mail ile aynı makinelerde basılmaktadır. bulut kullanılmamıştır.</div>
|
||
<div class="ad"><b>yıllık okurlarına</b> qr'dan gelenlere ayrı sayfa açılmıştır:
|
||
<a class="r" href="/yillik/">tunapro.xyz/yillik</a></div>
|
||
</div>
|
||
<div class="figure" style="margin-top:16px">
|
||
<a href="https://github.com/probot-studio/probot-core"><img src="https://opengraph.githubassets.com/garden/probot-studio/probot-core" alt="probot-core reposu" loading="lazy"></a>
|
||
<div class="figcap">reklam: probot-core, açık kaynak. mit lisansı, 9 yıldız.</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<footer>
|
||
<span>© 2026 tunapro postası · tüm hakları yazarına aittir, zaten başka çalışanı yoktur</span>
|
||
<span><a href="https://github.com/tunapro1234">github</a> · <a href="https://git.tunapro.xyz">gitea</a> · <a href="https://stackoverflow.com/users/tunapro1234">stack overflow</a></span>
|
||
</footer>
|
||
</div>
|
||
</body>
|
||
</html>
|