Fórum Root.cz
Ostatní => Odkladiště => Téma založeno: oss 24. 07. 2026, 15:03:24
-
Ake svoje projekty ste zacali a dokoncili vdaka AI?
Inspirujte ma.
-
Docela dost věcí, nejvíc mě bavil asi emulátor ZX Spectrum dotaženej do plně funkční podoby.
-
Můj grafický jazyk HVG, ale nepovažuju ho za dokončený, furt je co zlepšovat.
-
Můj grafický jazyk HVG, ale nepovažuju ho za dokončený, furt je co zlepšovat.
HVG neco jako SVG ?
-
všechny
-
zadne
-
Dokončit asi žádný protože software asi není hotový nikdy, ale udělal jsem si svůj terminál, který používám každý den:
https://calmbit.cz/shellboard
Pak udělal velký upgrade nějakých webů, zase začal pracovat na projektu, který je na světě 19 let - https://github.com/ok2cqr/cqrlog pomocí AI jsem udělal flatpak build, kompilaci pro macos a další.
Mám nápady i na další projekty, ale málo energie :-).
-
Dokončit asi žádný protože software asi není hotový nikdy, ale udělal jsem si svůj terminál, který používám každý den:
https://calmbit.cz/shellboard
To vypadá hezky, díky.
-
No, toho je hodně.
-konečně jsem zprovoznil fail2ban na některé své hobby weby, věc kterou jsem tak nějak táhl netáhl dva roky, spíchnuté s Copilotem za tři noci
- vyladil jsem si monotorování některých serverů pomocí librenms, takže už konečně vím jakou teplotu ten disk v NASce vlastně má
a pak mám ještě "todo":
- zahodit klasický fail2ban a mít na serveru agenta, který čte logy a následně některé z nich pošle do velkého modelu, zda se jedná o útok a pak pošle přes API do firewallu blokování dané IP
- totéž v bleděmodrém pro některá síťová zařízení, agent na logserveru čte co mu firewally na pobočkách posílají a opět něco do velkého modelu na analýzu a následné blokování
-
https://calmbit.cz/shellboard
Pekny design. Nieco take hladam. To je nejaka hotova sablona, alebo to bolo vygenerovane pomocou AI? Mohli by ste dat odkaz, kde sa da ta sablona kupit, prip. aky promt bol pouzity pre AI?
-
Díky.
Jeden prompt nemám, je to X iterací s Claude Design. Dělám/dělal jsem spíše backend, napsat takový design od začátku ručně by mi trvalo hodně dlouho. Nějaké základy CSS mám, ledasco zvládnu, ale ne všechno :-).
ShellBoard používám denně na macOS i Linuxu. Často přeskakuji mezi projekty, měl jsem chaos v terminálech, zapomenuté věci. Takto mám vše na jednom místě.
-
Ono se to dělí na dvě větve..
Existuje dost projektů co jsem díky AI dodělal, protože tam byly drobnosti povrchně intelektuálního charakteru které byly časově náročné a nechtělo se mi s tím crcat...
Na druhou stranu teď mám dost projektů, které jsem začal dělat jen kvůli AI, protože jsem si říkal.. "Dokáže tohle...?", pak jsem to nějak dovajboval do něčeho jakž takž prototypově fungujícího, a zjistil, že dál už do s AI posunout nejde, protože narazila na svůj skill limit. Nicméně pak mně některé z těchto projektů zaujaly a získal jsem u nich pocit, že bych je mohl dodělat a bude z toho něco zajímavého.. a pak při dalším a dalším napravování problémů jsem začal zjišťovat, že by bylo jednodušší to napsat od nuly sám..
Jen teď váhám, ve které z těch větví je větší množství projektů....
-
Jeden prompt nemám, je to X iterací s Claude Design. Dělám/dělal jsem spíše backend, napsat takový design od začátku ručně by mi trvalo hodně dlouho. Nějaké základy CSS mám, ledasco zvládnu, ale ne všechno :-).
Dakujem za tip na Claude Design. Pozriem na to. Ja som na tom s FE podobne ako vy, preto mam radsej hotovu sablonu, ale vacsinou tie, ktore sa daju kupit maju kopu balastu, ktory nepotrebujem.
-
Můj grafický jazyk HVG, ale nepovažuju ho za dokončený, furt je co zlepšovat.
HVG neco jako SVG ?
Ano, h == human, takze s promenyma, definicema funkci, okoreneno trochu graphvizem, trochu gnuplotem a vektorizerem bitmapovych obrazku, take nejake kotovani. Urceno pro rychle definice technickych obrazku, vystup jde do svg.
-
Trosku fusuju do timelapse a stale na to chybi fura nastroju, ktere bohuzel chybi treba i v Davinci Resolve Studio. Nebo tam sice existuji, ale rucne vyklikavat 100+ dead pixelu z par rozbitych framu jako opravdu, ale opravdu nehodlam :D
Tak si je s Claude davam dohromady svepomoci. Stejne tak vlastne banalni nastroje na upravy XMPcek, aby muj editor fotek umel resit veci jako skalovani jednotlivych uprav napric snimky, protikompenzace skoku expozice a kde ceho.
Nenapsal jsem jedinej radek kodu, nejsem programator. A veskrze to i funguje. :-)
Jeste mam, rovnez s Claude (free tier), rozjetou dekompilaci a upravu "abandonware" APKcka pro ovladani motion controlleru pro timelapse.
To uz jsou proste veci, na jejichz studium opravdu nemam cas. A tady to "proste jde". Jo, nechcu po tom nic narocneho, ale praci tak peti junior programatoru s perfektni znalosti prislusnych knihoven to zastane skvele.
-
Nič svetobotné, také prkotiny:
Tu mám napríklad WPA, ktorá vykresluje fázy mesiaca tak presne, ako to ja chcem:
https://moonapp-ziaro.netlify.app/index.html
Tu mám také WPA s hodinami, lebo som presne takúto potreboval:
https://fs-clock-ziaro.netlify.app/
Alebo potom mám aplikáciu, kam nahrám fit súbory z garminu. Spustím na to sql queries (má to in memory sqlite) a robí mi to "dashboardy". To nemám publishnuté, lebo to má veľmi malú pridanú hodnotu.
Potom ešte nejaké skripy na prehrávanie podcastov, no ale tie sú riadne zbastlené, teda :)
-
Rezervační a prodejní systém na vstupenky pro nezávislé divadlo, s ověřovací mobilní aplikací pro uvaděčky na kontrolu vstupenek.
Univerzální konfigurovatelný osmikanálový DMX splitter/merger s možností použít jej jako obyčejný USB-DMX převodník na 8 universe.
Dvaatřicetikanálový odpalovač pyrotechniky ovládaný skrze MIDI.
-
OdpověĎ přečíst až prvního
báse šedesátýho čvrtý..: YmFrYWzDocWZa3UK
-
UFR-II_Android Print
Ještě zbývá sken, ale to hlavní splnil a manželka je spokojená, že může tisknout na tiskárně z mobilu, když to Canon není schopný zařídit oficiální aplikací. Vtipné na tom je, že drivery mají na stránkách, jen je nepodporují v moderních aplikacích…
-
Odjezdy busu pro zenu & decka. Neustale se ptali "kdy jede dalsi bus" a "jak je tam (pocasi)". Byla to takova klasicka AI ping-pong ( spatne pouzil API URL ) takze jsem je musel rucne dohledat a opravit mu zadani, ale stranku pak vygeneroval vicemene bez porblemu. Za 2-3 hodiny hotovo a stary tablet dostal uzitecnou ulohu.
https://imgur.com/a/WNi6FGs (https://imgur.com/a/WNi6FGs)
-
Dokončit asi žádný protože software asi není hotový nikdy, ale udělal jsem si svůj terminál, který používám každý den:
https://calmbit.cz/shellboard
Pak udělal velký upgrade nějakých webů, zase začal pracovat na projektu, který je na světě 19 let - https://github.com/ok2cqr/cqrlog pomocí AI jsem udělal flatpak build, kompilaci pro macos a další.
Mám nápady i na další projekty, ale málo energie :-).
Pekne ;-) ja nedavno objevil wez-term a pouzivam ho k plne spokojenosti, to tve dilo vyzkousim diky !
-
Jo jeste jsem narazil na projekt jednoho manika co si hodne hraje se shadery a protoze se mi nektere efekty hodne libily, tak jsem postval AI na to aby z toho udelala singlepage html/javascript page.
<!DOCTYPE html>
<html lang="cs">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Rocaille 2 - WebGL Shader</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { overflow: hidden; background: #000; font-family: system-ui, sans-serif; color: #eee; }
canvas { display: block; width: 100vw; height: 100vh; }
#ui {
position: absolute;
top: 15px;
right: 15px;
background: rgba(15, 15, 20, 0.85);
backdrop-filter: blur(8px);
padding: 16px;
border-radius: 10px;
border: 1px solid rgba(255, 255, 255, 0.1);
display: grid;
grid-template-columns: 100px 120px 45px;
gap: 10px 12px;
align-items: center;
font-size: 13px;
max-height: 90vh;
overflow-y: auto;
box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}
#ui label { font-weight: 500; }
#ui input[type=range] { accent-color: #007acc; cursor: pointer; }
#ui span { font-family: monospace; text-align: right; opacity: 0.8; }
</style>
</head>
<body>
<canvas id="glcanvas"></canvas>
<div id="ui"></div>
<script>
const vsSource = `#version 300 es
in vec2 a_position;
void main() {
gl_Position = vec4(a_position, 0.0, 1.0);
}`;
const fsSource = `#version 300 es
precision highp float;
uniform vec2 u_resolution;
uniform float u_time;
uniform float u_brightness;
uniform float u_scale;
uniform float u_steps;
uniform float u_offset;
uniform float u_color;
uniform vec3 u_rgb;
uniform float u_turb_max;
uniform float u_turb_speed;
out vec4 fragColor;
void main() {
vec3 col = vec3(0.0);
vec2 p = (2.0 * gl_FragCoord.xy - u_resolution.xy) / u_resolution.y / u_scale;
for (float i = 0.0; i < u_steps; i += 1.0) {
vec2 wave = p;
for (float j = 1.0; j < u_turb_max; j += 1.0) {
wave += sin(wave.yx * j + u_offset * i + u_turb_speed * u_time) / j;
}
col += (cos(u_color * i + u_rgb) + 1.0) / length(wave);
}
col = 1.0 - exp(-u_brightness * col * col);
fragColor = vec4(col, 1.0);
}`;
const params = [
{ id: 'u_brightness', label: 'Brightness', val: 0.028, min: 0.001, max: 0.1, step: 0.001 },
{ id: 'u_scale', label: 'Scale', val: 0.3, min: 0.05, max: 1.0, step: 0.01 },
{ id: 'u_steps', label: 'Steps', val: 10, min: 1, max: 20, step: 1 },
{ id: 'u_offset', label: 'Offset', val: 1.0, min: 0.0, max: 2.0, step: 0.05 },
{ id: 'u_color', label: 'Color Shift', val: 1.0, min: 0.0, max: 2.0, step: 0.05 },
{ id: 'u_rgb_r', label: 'RGB Phase R', val: 0.0, min: -1.0, max: 3.0, step: 0.1 },
{ id: 'u_rgb_g', label: 'RGB Phase G', val: 1.0, min: -1.0, max: 3.0, step: 0.1 },
{ id: 'u_rgb_b', label: 'RGB Phase B', val: 2.0, min: -1.0, max: 3.0, step: 0.1 },
{ id: 'u_turb_max', label: 'Turb Max', val: 9.0, min: 4.5, max: 13.5, step: 0.5 },
{ id: 'u_turb_speed', label: 'Turb Speed', val: 1.0, min: 0.0, max: 3.0, step: 0.05 }
];
const state = {};
const uiContainer = document.getElementById('ui');
params.forEach(p => {
state[p.id] = p.val;
const label = document.createElement('label');
label.textContent = p.label;
const input = document.createElement('input');
input.type = 'range';
input.min = p.min;
input.max = p.max;
input.step = p.step;
input.value = p.val;
const valDisplay = document.createElement('span');
valDisplay.textContent = p.val;
input.addEventListener('input', (e) => {
const num = parseFloat(e.target.value);
state[p.id] = num;
valDisplay.textContent = num;
});
uiContainer.appendChild(label);
uiContainer.appendChild(input);
uiContainer.appendChild(valDisplay);
});
const canvas = document.getElementById('glcanvas');
const gl = canvas.getContext('webgl2');
if (!gl) {
alert('WebGL 2 není ve vašem prohlížeči podporován.');
}
function createShader(gl, type, source) {
const shader = gl.createShader(type);
gl.shaderSource(shader, source);
gl.compileShader(shader);
if (!gl.getShaderParameter(shader, gl.COMPILE_STATUS)) {
console.error(gl.getShaderInfoLog(shader));
gl.deleteShader(shader);
return null;
}
return shader;
}
const program = gl.createProgram();
gl.attachShader(program, createShader(gl, gl.VERTEX_SHADER, vsSource));
gl.attachShader(program, createShader(gl, gl.FRAGMENT_SHADER, fsSource));
gl.linkProgram(program);
const positionLoc = gl.getAttribLocation(program, 'a_position');
const buffer = gl.createBuffer();
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
-1, -1, 1, -1, -1, 1,
-1, 1, 1, -1, 1, 1,
]), gl.STATIC_DRAW);
const uniforms = {
u_resolution: gl.getUniformLocation(program, 'u_resolution'),
u_time: gl.getUniformLocation(program, 'u_time'),
u_brightness: gl.getUniformLocation(program, 'u_brightness'),
u_scale: gl.getUniformLocation(program, 'u_scale'),
u_steps: gl.getUniformLocation(program, 'u_steps'),
u_offset: gl.getUniformLocation(program, 'u_offset'),
u_color: gl.getUniformLocation(program, 'u_color'),
u_rgb: gl.getUniformLocation(program, 'u_rgb'),
u_turb_max: gl.getUniformLocation(program, 'u_turb_max'),
u_turb_speed: gl.getUniformLocation(program, 'u_turb_speed'),
};
function resize() {
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
gl.viewport(0, 0, canvas.width, canvas.height);
}
window.addEventListener('resize', resize);
resize();
function render(time) {
time *= 0.001;
gl.useProgram(program);
gl.enableVertexAttribArray(positionLoc);
gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
gl.vertexAttribPointer(positionLoc, 2, gl.FLOAT, false, 0, 0);
gl.uniform2f(uniforms.u_resolution, canvas.width, canvas.height);
gl.uniform1f(uniforms.u_time, time);
gl.uniform1f(uniforms.u_brightness, state.u_brightness);
gl.uniform1f(uniforms.u_scale, state.u_scale);
gl.uniform1f(uniforms.u_steps, state.u_steps);
gl.uniform1f(uniforms.u_offset, state.u_offset);
gl.uniform1f(uniforms.u_color, state.u_color);
gl.uniform3f(uniforms.u_rgb, state.u_rgb_r, state.u_rgb_g, state.u_rgb_b);
gl.uniform1f(uniforms.u_turb_max, state.u_turb_max);
gl.uniform1f(uniforms.u_turb_speed, state.u_turb_speed);
gl.drawArrays(gl.TRIANGLES, 0, 6);
requestAnimationFrame(render);
}
requestAnimationFrame(render);
</script>
</body>
</html>
-
Moje AI projekty jsou zde: https://wraith.cz/
Zejména na WraithKeyboard jsem hrdý. Skoro vše, až na HVG, je pro Android. A dá se říct, že na Androidu už používám jenom své vlastní aplikace, když pominu ty nevyhnutelné, jako jsou ty bankovní nebo edoklady.
-
Ještě bych pro zajímavost rád doplnil, že všechny tyto aplikace vznikly na tabletu, pc nepoužívám. Nejstarší z aplikací je HVG, stáří si nepamatuji, ale možná by šlo dohledat v místních diskusních fórech, kdy jsem se tu o ní před mnoha lety, hádám 5 a 7 zmiňoval, a kdosi mi tu tvrdil, že vytvářet další grafický jazyk je nesmysl. Ale myslím si, že tu žádný druhý takový ve skutečnosti neexistuje. A jestli jo, nechci to vědět :-).
-
Ještě bych pro zajímavost rád doplnil, že všechny tyto aplikace vznikly na tabletu, pc nepoužívám. Nejstarší z aplikací je HVG, stáří si nepamatuji, ale možná by šlo dohledat v místních diskusních fórech, kdy jsem se tu o ní před mnoha lety, hádám 5 a 7 zmiňoval, a kdosi mi tu tvrdil, že vytvářet další grafický jazyk je nesmysl. Ale myslím si, že tu žádný druhý takový ve skutečnosti neexistuje. A jestli jo, nechci to vědět :-).
Kdyby takhle uvažoval každý, tak bychom stále programovali ve strojovém kódu, protože kdysi někdo prohlásil, že tvorba assembleru je nesmysl. Myslím si, že každý z nás někdy vytvořil aspoň jeden programovací jazyk, jeho interpretr, nebo dokonce kompilátor.
-
Ještě bych pro zajímavost rád doplnil, že všechny tyto aplikace vznikly na tabletu, pc nepoužívám. Nejstarší z aplikací je HVG, stáří si nepamatuji, ale možná by šlo dohledat v místních diskusních fórech, kdy jsem se tu o ní před mnoha lety, hádám 5 a 7 zmiňoval, a kdosi mi tu tvrdil, že vytvářet další grafický jazyk je nesmysl. Ale myslím si, že tu žádný druhý takový ve skutečnosti neexistuje. A jestli jo, nechci to vědět :-).
Kdyby takhle uvažoval každý, tak bychom stále programovali ve strojovém kódu, protože kdysi někdo prohlásil, že tvorba assembleru je nesmysl. Myslím si, že každý z nás někdy vytvořil aspoň jeden programovací jazyk, jeho interpretr, nebo dokonce kompilátor.
Tak je jistý rozdíl mezi prvním asemblerem a stýmpadesátýmsedmým, že jo. Ale já HVG začal tvořit z důvodu potřeby přesných geometrických obrázků, které dělat v editorech typu Inkscape byl děsný opruz. I když má textový editor a šlo zadávat přesné rozměry pomocí čísel, stačilo to chňapnout myší, někam posunout a vlivem transformace se z krásných čísel stávala hnusná, nebylo to udržovatelné. Tak jsem si udělal něco, v čem to šlo dělat snadno, pak přidal proměnné, matematiku, vlastní geometrické funkce a už to jelo.
-
Ještě bych pro zajímavost rád doplnil, že všechny tyto aplikace vznikly na tabletu, pc nepoužívám. Nejstarší z aplikací je HVG, stáří si nepamatuji, ale možná by šlo dohledat v místních diskusních fórech, kdy jsem se tu o ní před mnoha lety, hádám 5 a 7 zmiňoval, a kdosi mi tu tvrdil, že vytvářet další grafický jazyk je nesmysl. Ale myslím si, že tu žádný druhý takový ve skutečnosti neexistuje. A jestli jo, nechci to vědět :-).
Kdyby takhle uvažoval každý, tak bychom stále programovali ve strojovém kódu, protože kdysi někdo prohlásil, že tvorba assembleru je nesmysl. Myslím si, že každý z nás někdy vytvořil aspoň jeden programovací jazyk, jeho interpretr, nebo dokonce kompilátor.
Tak je jistý rozdíl mezi prvním asemblerem a stýmpadesátýmsedmým, že jo. Ale já HVG začal tvořit z důvodu potřeby přesných geometrických obrázků, které dělat v editorech typu Inkscape byl děsný opruz. I když má textový editor a šlo zadávat přesné rozměry pomocí čísel, stačilo to chňapnout myší, někam posunout a vlivem transformace se z krásných čísel stávala hnusná, nebylo to udržovatelné. Tak jsem si udělal něco, v čem to šlo dělat snadno, pak přidal proměnné, matematiku, vlastní geometrické funkce a už to jelo.
Výstup SVG z Inkscape je děsný. Nedivím se tvé potřebě, protože jsem ho vždy musel předělat. Dnes bych to po zkušenostech se svými generátory zakomponoval do textového editoru.