Anti-Jammer-Thread
Re: Anti-Jammer-Thread
Der nSight Download ist nicht mehr nervig :)
Früher brauchte man einen nVidia Account. Mit komplett absurder 2-Factor-Authentifizierung. Hat immer 15 Minuten gedauert, bis ich die Account Infos rausgekramt und mich erfolgreich angemeldet habe, weil man wie ein Zirkus Tiger durch so viele Reifen springen musst.
Jetzt sucht man danach, klingt auf die erste Seite, klickt auf "Download for Windows" und bekommt die Datei. Nett!
Früher brauchte man einen nVidia Account. Mit komplett absurder 2-Factor-Authentifizierung. Hat immer 15 Minuten gedauert, bis ich die Account Infos rausgekramt und mich erfolgreich angemeldet habe, weil man wie ein Zirkus Tiger durch so viele Reifen springen musst.
Jetzt sucht man danach, klingt auf die erste Seite, klickt auf "Download for Windows" und bekommt die Datei. Nett!
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
Das erste Mal ein Spiel mit einer Engine gebaut, die ich nicht selbst gecodet habe.
Ich muss sagen, Roblox setzt genau das um, was wir mit gwX bzw. Clonk damals auch gemacht haben: Mini-Spiele mit einer netzwerkfähigen, scriptbaren Engine mit ner coolen Physik-Engine und Voxel-Landschaft, in der Community entwickelt und wo man sich gegenseitig die Spiele teilt. Im Prinzip kann man hier seine 2D-Jugend noch mal in 3D ausleben. Clonk ist heute tot. Aber das Grundkonzept lebt in anderen Spielen weiter - und Roblox ist um Größenordnungen erfolgreicher als Clonk.
Ich muss sagen, Roblox setzt genau das um, was wir mit gwX bzw. Clonk damals auch gemacht haben: Mini-Spiele mit einer netzwerkfähigen, scriptbaren Engine mit ner coolen Physik-Engine und Voxel-Landschaft, in der Community entwickelt und wo man sich gegenseitig die Spiele teilt. Im Prinzip kann man hier seine 2D-Jugend noch mal in 3D ausleben. Clonk ist heute tot. Aber das Grundkonzept lebt in anderen Spielen weiter - und Roblox ist um Größenordnungen erfolgreicher als Clonk.
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
- Lord Delvin
- Establishment
- Beiträge: 635
- Registriert: 05.07.2003, 11:17
Re: Anti-Jammer-Thread
Ich habe Clonk immer als Simulation/Strategiespiel wahrgenommen. Unter dem Aspekt hat es sich aber sehr schlecht entwickelt. Ich glaube ich hatte da auch bei der letzten Version nicht verstanden was der Fortschritt gegenüber den vorletzten war. Beim Opensource Clonk im Prinzip dasselbe. Roblox hab ich aber ehrlich gesagt auch nicht verstanden.
Re: Anti-Jammer-Thread
SelfHTML ist letztes Jahr im Februar 30 Jahre alt geworden. KRASS
Mit SelfHTML habe ich meine erste Programmiersprache gelernt (und nein, es war nicht HTML, sondern JavaScript!)
Mit SelfHTML habe ich meine erste Programmiersprache gelernt (und nein, es war nicht HTML, sondern JavaScript!)
https://memcp.org/ <-- coole MySQL-kompatible In-Memory-Datenbank
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
https://launix.de <-- kompetente Firma
In allen Posts ist das imo und das afaik inbegriffen.
Re: Anti-Jammer-Thread
Haha, ja, gab es damals nicht auch self-php? Das war so ungefähr zu den Zeiten als man noch Besucher-Counter auf seiner privaten Webseite hatte - jedenfalls bis man dann gelernt hat, was Crawler sind, und dass man gar nicht berühmt ist...
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
Weird - Windows ist weniger nervig geworden???
Ich habe gerade Windows 11 neu installiert und richte es ein - und es scheint mir alles ein wenig leichter zu sein, als früher? Bei der Installation konnte ich einfach auf "Ich hab kein Internet" klicken und bekam direkt einen lokalen (nicht online) Admin-Account. Früher brauchte man irgendwelche Registry-Hacks um die alte Taskleiste zu bekommen - heute reicht ein Rechtsklick und alle Optionen sind einfach da. Früher musste ich ewig kämpfen um diese dummen One-Drive Ordner im Explorer zu löschen. Aber tatsächlich kann man einfach in den Systemeinstellungen zu "Apps" gehen und OneDrive da mit einem Klick deinstallieren - und alle Verknüpfungen sind weg.
Ich hab natürlich dennoch Winaero Tweaker, O&O ShutUp10++, und OpenShell installiert. Da kann man sich jeweils einmal durch die GUIs klicken, alles einmal umstellen und jetzt hab ich nach relativ kurzer Zeit tatsächlich schon das Gefühl ein halbwegs brauchbarer System zu haben. Unfassbar...
Ich habe gerade Windows 11 neu installiert und richte es ein - und es scheint mir alles ein wenig leichter zu sein, als früher? Bei der Installation konnte ich einfach auf "Ich hab kein Internet" klicken und bekam direkt einen lokalen (nicht online) Admin-Account. Früher brauchte man irgendwelche Registry-Hacks um die alte Taskleiste zu bekommen - heute reicht ein Rechtsklick und alle Optionen sind einfach da. Früher musste ich ewig kämpfen um diese dummen One-Drive Ordner im Explorer zu löschen. Aber tatsächlich kann man einfach in den Systemeinstellungen zu "Apps" gehen und OneDrive da mit einem Klick deinstallieren - und alle Verknüpfungen sind weg.
Ich hab natürlich dennoch Winaero Tweaker, O&O ShutUp10++, und OpenShell installiert. Da kann man sich jeweils einmal durch die GUIs klicken, alles einmal umstellen und jetzt hab ich nach relativ kurzer Zeit tatsächlich schon das Gefühl ein halbwegs brauchbarer System zu haben. Unfassbar...
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
News zu Sideloading auf Android:
https://www.heise.de/news/Googles-neuer ... 18646.html
Ich bin ja gerade dabei, in die Flutter-Entwicklung für Android einzusteigen. Allerdings bin ich ja kein so großer Fan von Plattformen, oder gar Google-Accounts, also kann ich mich schlecht im Play-Store registrieren und da meine Sachen hochladen, nur um Apps an meine Freunde weiter zu geben.
Neulich schien es noch, als wolle Google das quasi unmöglich machen. Jetzt wird es nur einmalig erschwert. Aber die Begründung dafür kann ich sogar nachvollziehen, die meisten Menschen sind halt sehr unbedarft, und Scamming ist sicherlich ein großes Problem. Die neuen Regeln sind vlt. etwas fummelig, aber vermutlich in der Praxis relativ leicht zu erklären, so das Sideloading im Wesentlichen erhalten bleibt. Und man muss es ja nur einmal einstellen...
https://www.heise.de/news/Googles-neuer ... 18646.html
Ich bin ja gerade dabei, in die Flutter-Entwicklung für Android einzusteigen. Allerdings bin ich ja kein so großer Fan von Plattformen, oder gar Google-Accounts, also kann ich mich schlecht im Play-Store registrieren und da meine Sachen hochladen, nur um Apps an meine Freunde weiter zu geben.
Neulich schien es noch, als wolle Google das quasi unmöglich machen. Jetzt wird es nur einmalig erschwert. Aber die Begründung dafür kann ich sogar nachvollziehen, die meisten Menschen sind halt sehr unbedarft, und Scamming ist sicherlich ein großes Problem. Die neuen Regeln sind vlt. etwas fummelig, aber vermutlich in der Praxis relativ leicht zu erklären, so das Sideloading im Wesentlichen erhalten bleibt. Und man muss es ja nur einmal einstellen...
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Schrompf
- Moderator
- Beiträge: 5399
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Ja, für Freunde und Bekannte geht's damit weiterhin prima. Das ist echt ne gute Sache.
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- xq
- Establishment
- Beiträge: 1593
- Registriert: 07.10.2012, 14:56
- Alter Benutzername: MasterQ32
- Echter Name: Felix Queißner
- Wohnort: Stuttgart & Region
- Kontaktdaten:
Re: Anti-Jammer-Thread
Kurz und knapp: Ich war auf der Revision Demo Party und es war geil, einfach mal 48h in einer dunklen Halle zu sein und mit sehr lauter elektronischer Musik massiert zu werden
War mal MasterQ32, findet den Namen aber mittlerweile ziemlich albern…
Programmiert viel in
Zig
und nervt Leute damit.
Programmiert viel in
Re: Anti-Jammer-Thread
Ich hab ja vor ein paar Wochen schon was dazu gesagt, aber wollte nochmal kurz einen anderen Aspekt beleuchten 🤔, hoffe es stört nicht 😇 . Ich war ja lange ein Gegner, aber jetzt sehe ich AI dann doch wirklich als sehr nützliches Tool 😋
Folgender Prompt: 🤭
Ich meine, früher hätte ich halt lange nach irgendeiner online Tabelle gesucht 😔. Also, ich hätte schnell eine gefunden, aber an der hätte mich irgendetwas gestört, also hätte ich noch 12 weitere Seiten anschauen müssen 😪. Jetzt ist der Paradigmenwechsel, "Software" nicht mehr zu suchen, sondern einfach schnell selbst zu schreiben 😎.
Aber so wirklich funktionieren tut das aus meiner Sicht aus dem folgenden Grund: Ich weiß, dass Emojis im UTF8 sind, ich weiß, dass ich die einfach als Zeichen einfügen kann und das funktioniert in jedem aktuellen Browser oder Texteditor. Und ich weiß, dass man das Problem sehr gut als einzelne HTML Seite mit ein wenig JS umsetzen kann. 🤓 Sprich, das Problem ist nicht mehr, Probleme zu lösen (das macht die KI), sondern zu wissen, welche Probleme man lösen sollte. Oder irgendwie so.
Ich hätte mir genau diese Webseite immer schon von Hand basteln können. Das hätte aber irgendwie ne Stunde gedauert und ich hätte sowas nie gemacht. Sprich, ich kann heute nicht die selben Dinge schneller erledigen, sondern ich kann Dinge tun, die ich früher nie getan hätte.
Anyways, ich fands immer doof, dass es hier im Forum keine vernünftige Funktion gibt, Emojis einzufügen. Welp, wie man sieht, habe ich das Problem jetzt nicht mehr 😈
🥳🥳🥳
Achja, im Anhang noch die html-Datei, falls es wer ausprobieren möchte. Es hat noch 2 weitere Prompts gebraucht um sie etwas zu verbessern.
Folgender Prompt: 🤭
Wie man sieht, hat das sehr gut funktioniert 😜.Hey, I need a table to quickly copy/past emojis (in unicode, e.g. to past them into a text editor)
Make a self contained html file with a big table, where a large amount of the most used emojis are listed, in some reasonable categories. table should contain name, code-point (because we are nerds), the emoji itself and a button to copy it to the clipboard.
Ich meine, früher hätte ich halt lange nach irgendeiner online Tabelle gesucht 😔. Also, ich hätte schnell eine gefunden, aber an der hätte mich irgendetwas gestört, also hätte ich noch 12 weitere Seiten anschauen müssen 😪. Jetzt ist der Paradigmenwechsel, "Software" nicht mehr zu suchen, sondern einfach schnell selbst zu schreiben 😎.
Aber so wirklich funktionieren tut das aus meiner Sicht aus dem folgenden Grund: Ich weiß, dass Emojis im UTF8 sind, ich weiß, dass ich die einfach als Zeichen einfügen kann und das funktioniert in jedem aktuellen Browser oder Texteditor. Und ich weiß, dass man das Problem sehr gut als einzelne HTML Seite mit ein wenig JS umsetzen kann. 🤓 Sprich, das Problem ist nicht mehr, Probleme zu lösen (das macht die KI), sondern zu wissen, welche Probleme man lösen sollte. Oder irgendwie so.
Ich hätte mir genau diese Webseite immer schon von Hand basteln können. Das hätte aber irgendwie ne Stunde gedauert und ich hätte sowas nie gemacht. Sprich, ich kann heute nicht die selben Dinge schneller erledigen, sondern ich kann Dinge tun, die ich früher nie getan hätte.
Anyways, ich fands immer doof, dass es hier im Forum keine vernünftige Funktion gibt, Emojis einzufügen. Welp, wie man sieht, habe ich das Problem jetzt nicht mehr 😈
🥳🥳🥳
Achja, im Anhang noch die html-Datei, falls es wer ausprobieren möchte. Es hat noch 2 weitere Prompts gebraucht um sie etwas zu verbessern.
Code: Alles auswählen
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Emoji Reference</title>
<style>
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: system-ui, -apple-system, sans-serif; background: #f5f5f5; color: #222; padding: 1.25rem; }
h1 { font-size: 1.3rem; font-weight: 600; margin-bottom: 0.25rem; }
.subtitle { color: #777; font-size: 0.82rem; margin-bottom: 1rem; }
.search-bar { margin-bottom: 1.25rem; }
.search-bar input {
width: 100%; max-width: 420px; padding: 0.45rem 0.85rem;
border: 1px solid #ccc; border-radius: 7px; font-size: 0.95rem;
background: #fff; color: #222;
}
.search-bar input:focus { outline: none; border-color: #888; }
.category { margin-bottom: 1.5rem; }
.category-title {
font-size: 0.7rem; font-weight: 700; color: #999;
border-bottom: 1px solid #ddd; padding-bottom: 0.3rem;
margin-bottom: 0.5rem; text-transform: uppercase; letter-spacing: 0.07em;
}
.emoji-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
gap: 3px;
}
.emoji-item {
display: flex; align-items: center; gap: 6px;
padding: 4px 7px; border-radius: 6px;
cursor: pointer; user-select: none;
border: 1px solid transparent;
transition: background 0.1s, border-color 0.1s;
background: #fff;
position: relative;
min-width: 0;
}
.emoji-item:hover { background: #f0f0f0; border-color: #ddd; }
.emoji-item.copied { background: #e6f4ea; border-color: #81c784; }
.emoji-glyph { font-size: 1.3rem; flex-shrink: 0; line-height: 1; }
.emoji-name {
font-size: 0.72rem; color: #444; white-space: nowrap;
overflow: hidden; text-overflow: ellipsis;
min-width: 0;
}
.emoji-item::after {
content: attr(data-tip);
position: absolute;
bottom: calc(100% + 5px); left: 50%; transform: translateX(-50%);
background: #222; color: #fff;
font-size: 0.68rem; font-family: 'Menlo', 'Courier New', monospace;
padding: 3px 7px; border-radius: 4px; white-space: nowrap;
pointer-events: none; opacity: 0; transition: opacity 0.15s;
z-index: 10;
}
.emoji-item:hover::after { opacity: 1; }
.item-hidden { display: none !important; }
@media (prefers-color-scheme: dark) {
body { background: #1a1a1a; color: #eee; }
.subtitle { color: #888; }
.search-bar input { background: #2a2a2a; border-color: #444; color: #eee; }
.category-title { color: #666; border-color: #333; }
.emoji-item { background: #242424; }
.emoji-item:hover { background: #2e2e2e; border-color: #444; }
.emoji-item.copied { background: #1b3a22; border-color: #4caf50; }
.emoji-name { color: #bbb; }
.emoji-item::after { background: #eee; color: #111; }
}
</style>
</head>
<body>
<h1>Emoji Reference</h1>
<p class="subtitle">Click an emoji to copy it · hover for codepoint</p>
<div class="search-bar">
<input type="text" id="search" placeholder="Search by name or codepoint…" oninput="filterEmojis(this.value)">
</div>
<div id="categories"></div>
<script>
const EMOJIS = {
"Smileys & Emotion": [
["😀","1F600","grinning face"],["😃","1F603","grinning big eyes"],["😄","1F604","grinning smiling eyes"],
["😁","1F601","beaming face"],["😆","1F606","grinning squinting"],["😅","1F605","grinning with sweat"],
["🤣","1F923","rolling laughing"],["😂","1F602","tears of joy"],["🙂","1F642","slightly smiling"],
["🙃","1F643","upside-down face"],["😉","1F609","winking face"],["😊","1F60A","smiling eyes"],
["😇","1F607","smiling halo"],["😍","1F60D","heart eyes"],["🤩","1F929","star-struck"],
["😘","1F618","face blowing kiss"],["😗","1F617","kissing face"],["😚","1F61A","kissing closed eyes"],
["😋","1F60B","savoring food"],["😛","1F61B","face with tongue"],["😜","1F61C","winking tongue"],
["🤪","1F92A","zany face"],["😝","1F61D","squinting tongue"],["🤑","1F911","money mouth"],
["🤗","1F917","hugging face"],["🤭","1F92D","hand over mouth"],["🤫","1F92B","shushing face"],
["🤔","1F914","thinking face"],["🤐","1F910","zipper mouth"],["🤨","1F928","raised eyebrow"],
["😐","1F610","neutral face"],["😑","1F611","expressionless"],["😶","1F636","no mouth"],
["😏","1F60F","smirking face"],["😒","1F612","unamused face"],["🙄","1F644","rolling eyes"],
["😬","1F62C","grimacing face"],["🤥","1F925","lying face"],["😌","1F60C","relieved face"],
["😔","1F614","pensive face"],["😪","1F62A","sleepy face"],["🤤","1F924","drooling face"],
["😴","1F634","sleeping face"],["😷","1F637","medical mask"],["🤒","1F912","thermometer face"],
["🤕","1F915","head bandage"],["🤢","1F922","nauseated face"],["🤮","1F92E","vomiting face"],
["🤧","1F927","sneezing face"],["🥵","1F975","hot face"],["🥶","1F976","cold face"],
["😵","1F635","dizzy face"],["🤯","1F92F","exploding head"],["🥳","1F973","partying face"],
["😎","1F60E","sunglasses face"],["🥸","1F978","disguised face"],["🤓","1F913","nerd face"],
["😈","1F608","smiling devil"],["👿","1F47F","angry devil"],["💀","1F480","skull"],
["☠️","2620","skull crossbones"],["👻","1F47B","ghost"],["👾","1F47E","alien monster"],
["🤖","1F916","robot"],["😡","1F621","enraged face"],["😠","1F620","angry face"],
["🥺","1F97A","pleading face"],["😢","1F622","crying face"],["😭","1F62D","loudly crying"],
["😤","1F624","steam from nose"],["😱","1F631","screaming fear"],["😨","1F628","fearful face"],
["😰","1F630","anxious sweat"],["😥","1F625","sad relieved"],["😓","1F613","downcast sweat"],
["❤️","2764","red heart"],["🧡","1F9E1","orange heart"],["💛","1F49B","yellow heart"],
["💚","1F49A","green heart"],["💙","1F499","blue heart"],["💜","1F49C","purple heart"],
["🖤","1F5A4","black heart"],["🤍","1F90D","white heart"],["🤎","1F90E","brown heart"],
["💔","1F494","broken heart"],["💕","1F495","two hearts"],["💞","1F49E","revolving hearts"],
["💓","1F493","beating heart"],["💗","1F497","growing heart"],["💖","1F496","sparkling heart"],
["💘","1F498","heart arrow"],["💝","1F49D","heart ribbon"],["❣️","2763","heart exclamation"],
],
"People & Body": [
["👋","1F44B","waving hand"],["🤚","1F91A","raised back hand"],["🖐️","1F590","fingers splayed"],
["✋","270B","raised hand"],["🖖","1F596","vulcan salute"],["👌","1F44C","ok hand"],
["🤌","1F90C","pinched fingers"],["✌️","270C","victory hand"],["🤞","1F91E","crossed fingers"],
["🤟","1F91F","love-you gesture"],["🤘","1F918","sign of horns"],["🤙","1F919","call me hand"],
["👈","1F448","pointing left"],["👉","1F449","pointing right"],["👆","1F446","pointing up"],
["🖕","1F595","middle finger"],["👇","1F447","pointing down"],["☝️","261D","index up"],
["👍","1F44D","thumbs up"],["👎","1F44E","thumbs down"],["✊","270A","raised fist"],
["👊","1F44A","oncoming fist"],["🤛","1F91B","left fist"],["🤜","1F91C","right fist"],
["👏","1F44F","clapping hands"],["🙌","1F64C","raising hands"],["👐","1F450","open hands"],
["🤲","1F932","palms up"],["🤝","1F91D","handshake"],["🙏","1F64F","folded hands"],
["✍️","270D","writing hand"],["💅","1F485","nail polish"],["💪","1F4AA","flexed biceps"],
["🦾","1F9BE","mechanical arm"],["👀","1F440","eyes"],["👁️","1F441","eye"],
["👅","1F445","tongue"],["👄","1F444","mouth"],["💋","1F48B","kiss mark"],
["👶","1F476","baby"],["🧒","1F9D2","child"],["👧","1F467","girl"],
["👦","1F466","boy"],["🧑","1F9D1","person"],["👩","1F469","woman"],
["👨","1F468","man"],["🧓","1F9D3","older person"],["👴","1F474","old man"],
["👵","1F475","old woman"],["🧔","1F9D4","bearded person"],["👱","1F471","blond person"],
["👮","1F46E","police officer"],["💂","1F482","guard"],["🕵️","1F575","detective"],
["👷","1F477","construction worker"],["🤴","1F934","prince"],["👸","1F478","princess"],
["🦸","1F9B8","superhero"],["🦹","1F9B9","supervillain"],["🧙","1F9D9","mage"],
["🧚","1F9DA","fairy"],["🧜","1F9DC","merperson"],["🧝","1F9DD","elf"],
["💆","1F486","getting massage"],["💇","1F487","getting haircut"],["🚶","1F6B6","walking"],
["🏃","1F3C3","running"],["💃","1F483","woman dancing"],["🕺","1F57A","man dancing"],
["🧘","1F9D8","lotus position"],["🧗","1F9D7","climbing"],["🤸","1F938","cartwheeling"],
["👫","1F46B","couple holding hands"],["👬","1F46C","men holding hands"],["👭","1F46D","women holding hands"],
["👨👩👧","1F468-200D-1F469-200D-1F467","family"],["👨👩👦","1F468-200D-1F469-200D-1F466","family boy"],
],
"Animals & Nature": [
["🐶","1F436","dog face"],["🐱","1F431","cat face"],["🐭","1F42D","mouse face"],
["🐹","1F439","hamster"],["🐰","1F430","rabbit face"],["🦊","1F98A","fox"],
["🐻","1F43B","bear"],["🐼","1F43C","panda"],["🐨","1F428","koala"],
["🐯","1F42F","tiger face"],["🦁","1F981","lion"],["🐮","1F42E","cow face"],
["🐷","1F437","pig face"],["🐸","1F438","frog"],["🐵","1F435","monkey face"],
["🙈","1F648","see-no-evil monkey"],["🙉","1F649","hear-no-evil monkey"],["🙊","1F64A","speak-no-evil monkey"],
["🐔","1F414","chicken"],["🐧","1F427","penguin"],["🐦","1F426","bird"],
["🦆","1F986","duck"],["🦅","1F985","eagle"],["🦉","1F989","owl"],
["🦇","1F987","bat"],["🐺","1F43A","wolf"],["🦄","1F984","unicorn"],
["🐝","1F41D","honeybee"],["🦋","1F98B","butterfly"],["🐛","1F41B","bug"],
["🐌","1F40C","snail"],["🐞","1F41E","ladybug"],["🐜","1F41C","ant"],
["🦟","1F99F","mosquito"],["🕷️","1F577","spider"],["🐢","1F422","turtle"],
["🐍","1F40D","snake"],["🦎","1F98E","lizard"],["🐊","1F40A","crocodile"],
["🦕","1F995","sauropod"],["🦖","1F996","T-Rex"],["🐉","1F409","dragon"],
["🐳","1F433","spouting whale"],["🐬","1F42C","dolphin"],["🦭","1F9AD","seal"],
["🐟","1F41F","fish"],["🐠","1F420","tropical fish"],["🦈","1F988","shark"],
["🐙","1F419","octopus"],["🦀","1F980","crab"],["🦞","1F99E","lobster"],
["🦐","1F990","shrimp"],["🐾","1F43E","paw prints"],["🌸","1F338","cherry blossom"],
["🌺","1F33A","hibiscus"],["🌻","1F33B","sunflower"],["🌹","1F339","rose"],
["🌷","1F337","tulip"],["🌼","1F33C","blossom"],["💐","1F490","bouquet"],
["🍀","1F340","four leaf clover"],["🌿","1F33F","herb"],["🌱","1F331","seedling"],
["🌲","1F332","evergreen tree"],["🌳","1F333","deciduous tree"],["🌴","1F334","palm tree"],
["🍁","1F341","maple leaf"],["🍂","1F342","fallen leaf"],["🍃","1F343","leaf fluttering"],
["🍄","1F344","mushroom"],["🌵","1F335","cactus"],["🌾","1F33E","sheaf of rice"],
["🌊","1F30A","water wave"],["🌋","1F30B","volcano"],["🏔️","1F3D4","snow mountain"],
["🌍","1F30D","globe europe"],["🌎","1F30E","globe americas"],["🌏","1F30F","globe asia"],
["🌙","1F319","crescent moon"],["🌕","1F315","full moon"],["⭐","2B50","star"],
["🌟","1F31F","glowing star"],["☀️","2600","sun"],["🌈","1F308","rainbow"],
["❄️","2744","snowflake"],["🌪️","1F32A","tornado"],["💧","1F4A7","droplet"],["🔥","1F525","fire"],
],
"Food & Drink": [
["🍎","1F34E","red apple"],["🍊","1F34A","tangerine"],["🍋","1F34B","lemon"],
["🍌","1F34C","banana"],["🍉","1F349","watermelon"],["🍇","1F347","grapes"],
["🍓","1F353","strawberry"],["🍒","1F352","cherries"],["🍑","1F351","peach"],
["🥭","1F96D","mango"],["🍍","1F34D","pineapple"],["🥥","1F965","coconut"],
["🥝","1F95D","kiwi"],["🍅","1F345","tomato"],["🫐","1FAD0","blueberries"],
["🍆","1F346","eggplant"],["🥑","1F951","avocado"],["🥦","1F966","broccoli"],
["🌽","1F33D","corn"],["🌶️","1F336","hot pepper"],["🥒","1F952","cucumber"],
["🧅","1F9C5","onion"],["🧄","1F9C4","garlic"],["🥔","1F954","potato"],
["🍞","1F35E","bread"],["🥐","1F950","croissant"],["🧀","1F9C0","cheese"],
["🥚","1F95A","egg"],["🍳","1F373","cooking"],["🥞","1F95E","pancakes"],
["🧇","1F9C7","waffle"],["🥓","1F953","bacon"],["🍔","1F354","hamburger"],
["🍟","1F35F","french fries"],["🍕","1F355","pizza"],["🌭","1F32D","hot dog"],
["🌮","1F32E","taco"],["🌯","1F32F","burrito"],["🥗","1F957","salad"],
["🍜","1F35C","noodles"],["🍝","1F35D","spaghetti"],["🍲","1F372","pot of food"],
["🍛","1F35B","curry"],["🍣","1F363","sushi"],["🍱","1F371","bento box"],
["🍤","1F364","fried shrimp"],["🦪","1F9AA","oyster"],["🍦","1F366","soft ice cream"],
["🍧","1F367","shaved ice"],["🍨","1F368","ice cream"],["🍩","1F369","doughnut"],
["🍪","1F36A","cookie"],["🎂","1F382","birthday cake"],["🍰","1F370","shortcake"],
["🧁","1F9C1","cupcake"],["🍫","1F36B","chocolate bar"],["🍬","1F36C","candy"],
["🍭","1F36D","lollipop"],["🍿","1F37F","popcorn"],["🍯","1F36F","honey pot"],
["☕","2615","hot beverage"],["🍵","1F375","teacup"],["🧋","1F9CB","bubble tea"],
["🥤","1F964","cup with straw"],["🍺","1F37A","beer mug"],["🍻","1F37B","clinking beers"],
["🥂","1F942","clinking glasses"],["🍷","1F377","wine glass"],["🥃","1F943","tumbler glass"],
["🍸","1F378","cocktail glass"],["🍹","1F379","tropical drink"],["🍾","1F37E","champagne"],
],
"Travel & Places": [
["🚀","1F680","rocket"],["✈️","2708","airplane"],["🚁","1F681","helicopter"],
["🚂","1F682","locomotive"],["🚆","1F686","train"],["🚇","1F687","metro"],
["🚗","1F697","automobile"],["🚕","1F695","taxi"],["🚙","1F699","SUV"],
["🚌","1F68C","bus"],["🏎️","1F3CE","racing car"],["🚓","1F693","police car"],
["🚑","1F691","ambulance"],["🚒","1F692","fire engine"],["🚚","1F69A","truck"],
["🛵","1F6F5","scooter"],["🏍️","1F3CD","motorcycle"],["🚲","1F6B2","bicycle"],
["⛵","26F5","sailboat"],["🚤","1F6A4","speedboat"],["🚢","1F6A2","ship"],
["🏖️","1F3D6","beach"],["🏕️","1F3D5","camping"],["🏠","1F3E0","house"],
["🏡","1F3E1","house garden"],["🏢","1F3E2","office building"],["🏥","1F3E5","hospital"],
["🏦","1F3E6","bank"],["🏨","1F3E8","hotel"],["🏪","1F3EA","convenience store"],
["🏫","1F3EB","school"],["🏬","1F3EC","department store"],["🏭","1F3ED","factory"],
["🗼","1F5FC","Tokyo tower"],["🗽","1F5FD","Statue of Liberty"],["⛪","26EA","church"],
["🕌","1F54C","mosque"],["🛕","1F6D5","hindu temple"],["🕍","1F54D","synagogue"],
["🏔️","1F3D4","snow mountain"],["🌋","1F30B","volcano"],["🗻","1F5FB","mount fuji"],
["🏜️","1F3DC","desert"],["🏝️","1F3DD","island"],["🏞️","1F3DE","national park"],
["🌅","1F305","sunrise"],["🌃","1F303","night with stars"],["🏙️","1F3D9","cityscape"],
["🌉","1F309","bridge at night"],["🗺️","1F5FA","world map"],["🧭","1F9ED","compass"],
["🌐","1F310","globe meridians"],["⛽","26FD","fuel pump"],["🚦","1F6A6","traffic light"],["🚧","1F6A7","construction"],
],
"Objects & Tools": [
["📱","1F4F1","mobile phone"],["💻","1F4BB","laptop"],["🖥️","1F5A5","desktop computer"],
["⌨️","2328","keyboard"],["🖱️","1F5B1","mouse"],["⌚","231A","watch"],
["📷","1F4F7","camera"],["📸","1F4F8","camera flash"],["📹","1F4F9","video camera"],
["📺","1F4FA","television"],["📻","1F4FB","radio"],["☎️","260E","telephone"],
["📞","1F4DE","telephone receiver"],["🔋","1F50B","battery"],["🔌","1F50C","plug"],
["💡","1F4A1","light bulb"],["🔦","1F526","flashlight"],["🕯️","1F56F","candle"],
["🔎","1F50E","magnifying glass"],["📚","1F4DA","books"],["📖","1F4D6","open book"],
["📰","1F4F0","newspaper"],["📝","1F4DD","memo"],["✏️","270F","pencil"],
["🖊️","1F58A","pen"],["🖋️","1F58B","fountain pen"],["🖌️","1F58C","paintbrush"],
["📊","1F4CA","bar chart"],["📈","1F4C8","chart up"],["📉","1F4C9","chart down"],
["📋","1F4CB","clipboard"],["📁","1F4C1","folder"],["📅","1F4C5","calendar"],
["🗑️","1F5D1","wastebasket"],["🔒","1F512","locked"],["🔓","1F513","unlocked"],
["🔑","1F511","key"],["🗝️","1F5DD","old key"],["🔨","1F528","hammer"],
["🛠️","1F6E0","tools"],["🔧","1F527","wrench"],["🔩","1F529","nut bolt"],
["⚙️","2699","gear"],["🔗","1F517","link"],["🪝","1FA9D","hook"],
["💉","1F489","syringe"],["💊","1F48A","pill"],["🩹","1FA79","bandage"],
["🩺","1FA7A","stethoscope"],["🧬","1F9EC","dna"],["🔬","1F52C","microscope"],
["🔭","1F52D","telescope"],["🧪","1F9EA","test tube"],["🧲","1F9F2","magnet"],
["🎉","1F389","party popper"],["🎈","1F388","balloon"],["🎁","1F381","gift"],
["🏆","1F3C6","trophy"],["🥇","1F947","gold medal"],["🎮","1F3AE","video game"],
["🎲","1F3B2","game die"],["🧩","1F9E9","puzzle"],["🎯","1F3AF","bullseye"],
["🛍️","1F6CD","shopping bags"],["🎒","1F392","backpack"],["👑","1F451","crown"],
["💍","1F48D","ring"],["💎","1F48E","gem"],["👓","1F453","glasses"],
["🕶️","1F576","sunglasses"],["🪄","1FA84","magic wand"],["🧸","1F9F8","teddy bear"],
["🎨","1F3A8","artist palette"],["🎬","1F3AC","clapper board"],["🎤","1F3A4","microphone"],
["🎧","1F3A7","headphones"],["🎹","1F3B9","piano"],["🥁","1F941","drum"],
["🎷","1F3B7","saxophone"],["🎺","1F3BA","trumpet"],["🎸","1F3B8","guitar"],["🎻","1F3BB","violin"],
["✨","2728","sparkles"],["💫","1F4AB","dizzy"],["💥","1F4A5","collision"],
["💬","1F4AC","speech bubble"],["💭","1F4AD","thought bubble"],["🔔","1F514","bell"],
["📢","1F4E2","loudspeaker"],["📣","1F4E3","megaphone"],["🔥","1F525","fire"],["💤","1F4A4","zzz"],
],
"Symbols & Signs": [
["✅","2705","check mark"],["❌","274C","cross mark"],["⭕","2B55","hollow circle"],
["❓","2753","question mark"],["❗","2757","exclamation mark"],["‼️","203C","double exclamation"],
["💯","1F4AF","hundred points"],["🚫","1F6AB","prohibited"],["⛔","26D4","no entry"],
["🔞","1F51E","no under eighteen"],["🔴","1F534","red circle"],["🟠","1F7E0","orange circle"],
["🟡","1F7E1","yellow circle"],["🟢","1F7E2","green circle"],["🔵","1F535","blue circle"],
["🟣","1F7E3","purple circle"],["⚫","26AB","black circle"],["⚪","26AA","white circle"],
["🔶","1F536","orange diamond"],["🔷","1F537","blue diamond"],["🔺","1F53A","triangle up"],["🔻","1F53B","triangle down"],
["♻️","267B","recycling"],["⬆️","2B06","up arrow"],["➡️","27A1","right arrow"],
["⬇️","2B07","down arrow"],["⬅️","2B05","left arrow"],["↗️","2197","up-right arrow"],
["↘️","2198","down-right arrow"],["↩️","21A9","return arrow"],["↪️","21AA","left curve arrow"],
["🔁","1F501","repeat"],["🔀","1F500","shuffle"],["▶️","25B6","play"],
["⏸️","23F8","pause"],["⏹️","23F9","stop"],["⏭️","23ED","next track"],
["⏩","23E9","fast forward"],["⏪","23EA","fast reverse"],
["🎵","1F3B5","musical note"],["🎶","1F3B6","musical notes"],
["🆕","1F195","NEW"],["🆒","1F192","COOL"],["🆓","1F193","FREE"],["🆗","1F197","OK"],
["🔆","1F506","brightness high"],["🔅","1F505","brightness low"],["🔊","1F50A","speaker high"],["🔇","1F507","muted"],
["💲","1F4B2","dollar sign"],["©️","00A9","copyright"],["®️","00AE","registered"],["™️","2122","trade mark"],
["☯️","262F","yin yang"],["☮️","262E","peace"],["✡️","2721","Star of David"],
["🔱","1F531","trident"],["🔰","1F530","Japanese beginner"],["⚜️","269C","fleur-de-lis"],
["1️⃣","0031-FE0F-20E3","keycap 1"],["2️⃣","0032-FE0F-20E3","keycap 2"],["3️⃣","0033-FE0F-20E3","keycap 3"],
["4️⃣","0034-FE0F-20E3","keycap 4"],["5️⃣","0035-FE0F-20E3","keycap 5"],["0️⃣","0030-FE0F-20E3","keycap 0"],
["#️⃣","0023-FE0F-20E3","keycap hash"],["*️⃣","002A-FE0F-20E3","keycap asterisk"],
["♈","2648","Aries"],["♉","2649","Taurus"],["♊","264A","Gemini"],["♋","264B","Cancer"],
["♌","264C","Leo"],["♍","264D","Virgo"],["♎","264E","Libra"],["♏","264F","Scorpio"],
["♐","2650","Sagittarius"],["♑","2651","Capricorn"],["♒","2652","Aquarius"],["♓","2653","Pisces"],
],
"Activities & Sports": [
["⚽","26BD","soccer ball"],["🏀","1F3C0","basketball"],["🏈","1F3C8","american football"],
["⚾","26BE","baseball"],["🎾","1F3BE","tennis"],["🏐","1F3D0","volleyball"],
["🏉","1F3C9","rugby"],["🎱","1F3B1","pool 8 ball"],["🏓","1F3D3","ping pong"],
["🏸","1F3F8","badminton"],["🥊","1F94A","boxing glove"],["🥋","1F94B","martial arts"],
["⛳","26F3","golf"],["🎣","1F3A3","fishing"],["🤿","1F93F","diving mask"],
["🎿","1F3BF","skis"],["🛷","1F6F7","sled"],["🎯","1F3AF","bullseye"],
["🎳","1F3B3","bowling"],["🥇","1F947","gold medal"],["🥈","1F948","silver medal"],
["🥉","1F949","bronze medal"],["🏆","1F3C6","trophy"],["🏋️","1F3CB","weightlifting"],
["🤸","1F938","cartwheeling"],["🤺","1F93A","fencing"],["🏊","1F3CA","swimming"],
["🚴","1F6B4","biking"],["🧗","1F9D7","climbing"],["🏄","1F3C4","surfing"],
["🧘","1F9D8","yoga"],["🏇","1F3C7","horse racing"],["🎽","1F3BD","running shirt"],
["🎭","1F3AD","performing arts"],["🎨","1F3A8","artist palette"],["🎬","1F3AC","clapper board"],
["🎤","1F3A4","microphone"],["🎧","1F3A7","headphones"],["🎹","1F3B9","piano"],
["🥁","1F941","drum"],["🎷","1F3B7","saxophone"],["🎺","1F3BA","trumpet"],
["🎸","1F3B8","guitar"],["🎻","1F3BB","violin"],["🪗","1FA97","accordion"],
["🎲","1F3B2","game die"],["🧩","1F9E9","puzzle"],["♟️","265F","chess pawn"],
["🎮","1F3AE","video game"],["🎰","1F3B0","slot machine"],["🃏","1F0CF","joker card"],
],
};
function buildCategory(category, emojis) {
const items = emojis.map(([emoji, cp, name]) => {
const tip = `U+${cp}`;
return `<div class="emoji-item" data-name="${name}" data-cp="${cp.toLowerCase()}" data-tip="${tip}" data-emoji="${emoji}">` +
`<span class="emoji-glyph">${emoji}</span><span class="emoji-name">${name}</span></div>`;
}).join('');
return `<div class="category"><div class="category-title">${category}</div><div class="emoji-grid">${items}</div></div>`;
}
document.getElementById('categories').innerHTML =
Object.entries(EMOJIS).map(([cat, emojis]) => buildCategory(cat, emojis)).join('');
document.getElementById('categories').addEventListener('click', function(e) {
const item = e.target.closest('.emoji-item');
if (!item) return;
const emoji = item.dataset.emoji;
navigator.clipboard.writeText(emoji).then(() => {
item.classList.add('copied');
setTimeout(() => item.classList.remove('copied'), 900);
});
});
function filterEmojis(query) {
const q = query.trim().toLowerCase();
document.querySelectorAll('.emoji-item').forEach(el => {
const match = !q || el.dataset.name.includes(q) || el.dataset.cp.includes(q);
el.classList.toggle('item-hidden', !match);
});
document.querySelectorAll('.category').forEach(cat => {
const visible = cat.querySelectorAll('.emoji-item:not(.item-hidden)').length > 0;
cat.style.display = visible ? '' : 'none';
});
}
</script>
</body>
</html>
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
Unter Windows kannst du auch [Win]+[.] nutzen 🤩
Dann bist du noch schneller 🚀 als mit der KI-Lösung 🤖 weil du nicht immer deine HTML-Seite 📄 für ein Emoji öffnen musst 😁
Re: Anti-Jammer-Thread
😲😳😵
Gut, das wusste ich nicht, und es ist tatsächlich relativ gut umgesetzt. Oh well 😄
Gut, das wusste ich nicht, und es ist tatsächlich relativ gut umgesetzt. Oh well 😄
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
Natürlich funktioniert sowas immer relativ gut. Ich glaube, das Manko bei solchen KI-Proofs ist immer, dass es i.d.R. Aufgaben sind, welche so oder ähnlich schon sehr oft gelöst und veröffentlicht wurden, wozu es also viele vergleichbare Quellen gibt. Dadurch gibt es kaum was zu "denken".
Die tatsächliche Quali einer KI dürfte sich dann beweisen, wenn man Lösungen entwickeln möchte, welche zwar generell lösbar sind, wozu es aber kaum oder gar keine Lernquellen gibt. Aber da habe ich zu wenig probiert, vielleicht (wahrscheinlich) ist es inzwischen besser. Nur mal Delaunay-Triangulation, das hatte kläglich versagt und die Diskussion endete irgendwie gefühlt mit "Richtig, das funktioniert so noch nicht vollständig. Für eine vollständige Lösung musst du lediglich [paste initial problem here]" LOL. Das war aber auch nicht mit einer der aktuellen Code-KIs. Letztendlich konnte mir die KI nur die Anhaltspunkte und unvollständigen Snippets posten wie man sie bei oberflächlicher Suche auch ähnlich im Netz fand, aber keine integrierte funktionierende Lösung. Inzwischen würde ich davon ausgehen, dass Delaunay o.ä. zwar besser geht, aber die Grenze sich lediglich verschoben hat.
Aber wieder was gelernt: das mit dem Win-Punkt. Kannte ich auch nicht. Hätte die KI ja auch mal darauf hinweisen können, wenn sie schlau genug wäre 😂
Die tatsächliche Quali einer KI dürfte sich dann beweisen, wenn man Lösungen entwickeln möchte, welche zwar generell lösbar sind, wozu es aber kaum oder gar keine Lernquellen gibt. Aber da habe ich zu wenig probiert, vielleicht (wahrscheinlich) ist es inzwischen besser. Nur mal Delaunay-Triangulation, das hatte kläglich versagt und die Diskussion endete irgendwie gefühlt mit "Richtig, das funktioniert so noch nicht vollständig. Für eine vollständige Lösung musst du lediglich [paste initial problem here]" LOL. Das war aber auch nicht mit einer der aktuellen Code-KIs. Letztendlich konnte mir die KI nur die Anhaltspunkte und unvollständigen Snippets posten wie man sie bei oberflächlicher Suche auch ähnlich im Netz fand, aber keine integrierte funktionierende Lösung. Inzwischen würde ich davon ausgehen, dass Delaunay o.ä. zwar besser geht, aber die Grenze sich lediglich verschoben hat.
Aber wieder was gelernt: das mit dem Win-Punkt. Kannte ich auch nicht. Hätte die KI ja auch mal darauf hinweisen können, wenn sie schlau genug wäre 😂
-
Alexander Kornrumpf
- Moderator
- Beiträge: 2198
- Registriert: 25.02.2009, 13:37
Re: Anti-Jammer-Thread
Das ist ein gutes Minimalbeispiel für ein echtes Problem, aber eher nicht das Problem dass die KI nicht "schlau" genug ist. Es ist kein Bug, es ist ein Feature.
Natürlich "weiß" die KI das:
---"What is the shortcut to type emojis on Windows?
9:45 AM
Recognized straightforward factual inquiry
Recognized straightforward factual inquiry
The shortcut is Win + . (Windows key + period). You can also use Win + ; (Windows key + semicolon). Both open the emoji picker, where you can search and click to insert emojis into any text field.
Kurze Randnotiz. Win + Shift + , (deutsches Semikolon) funktioniert nicht. Ich fragte weiter:
Win + ö (deutsches Layout) funktioniert natürlich auch nicht. US-Layout und Win+ö-Taste funktioniert aber.I have german keyboard layout. Where is semicolon on US keyboard_ [wie man sieht hatte ich das schon US Layout eingestellt und das ? nicht getroffen]
9:49 AM
Deciphered keyboard layout discrepancy between German and US layouts
Deciphered keyboard layout discrepancy between German and US layouts
On a US keyboard layout, the semicolon is the key directly to the right of the L key — no modifier needed, just a single press. On your German layout, that same physical key typically produces ö. So just press Win + ö (the physical key to the right of L) and it should work.
Ende Exkurs
---
KI hinterfragt keine Requirements. Was ja kein Fehler an sich ist, mein Auto hinterfragt auch keine Requirements und ist trotzdem ein gutes Auto.
Insbesondere macht die KI hier genau das was für Nutzer und Anbieter optimal ist.
Denn:
Nutzerseite: Software Entwickler sagen bekanntlich zu allem "nein" und nicht-Software-Entwickler hassen das. Die KI sagt zu allem "ja" und nicht-Software-Entwickler lieben das.
Anbieterseite: Es wird der Punkt kommen, wo die flatrates weggehen und alles per Token abrechnet. Und dann wird die KI nicht empfehlen, lieber ein existierendes Tool zu nehmen und ihrem Eigner den Umsatz nicht zu machen, wenn der Median-Nutzer es sowieso lieber hätte wenn sie nicht weiter nachfragt und einfach macht.
Re: Anti-Jammer-Thread
Ja, aber das war ja so ein bisschen mein Punkt. Ich muss keine Lösungen für einfache Probleme mehr suchen (natürlich gibt es die, irgendwo), sondern ich kann sie einfach custom on-the-fly programmieren lassen. Weil das jetzt schnell und einfach und robust genug ist. Und es ist _genau_ das, was ich haben will.joeydee hat geschrieben: ↑13.04.2026, 08:48 Natürlich funktioniert sowas immer relativ gut. Ich glaube, das Manko bei solchen KI-Proofs ist immer, dass es i.d.R. Aufgaben sind, welche so oder ähnlich schon sehr oft gelöst und veröffentlicht wurden, wozu es also viele vergleichbare Quellen gibt. Dadurch gibt es kaum was zu "denken".
Gestern hatte ich z.b. den Win+Punkt Shortcut auf einem älteren System ausprobiert. Auf einem aktuellen Windows ist der Dialog aber überladen, es wird Quatsch angezeigt, den ich nicht will (man kann halt im Allgemeinen keine GIFs einfügen - Unicode Emojis aber eben schon. Ich will also keinen Dialog, der mir prominent Gifs anzeigt...). D.h. meine eigene Lösung hat am Ende doch wieder Vorteile. Weil ich sie anpassen kann.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
Re: Anti-Jammer-Thread
Theoretisch ja, aber ich bleibe lieber skeptisch. Ich hatte gestern ein kleines Datenanalyseproblem, das dank KI schnell gelöst war - später stellte ich fest, das man es besser hätte anders machen sollen. Es war jetzt nicht wirklich kritisch, aber es zeigte doch recht deutlich, dass man sich auf vorgeschlagene Lösungen nicht verlassen soll - das Problem selber zu verstehen ist nicht optional.
Ohne KI hätte ich statt 15 Minuten vlt. 2 Stunden da gesessen - aber hätte dann vernünftig über das Problem nachgedacht und höchstwahrscheinlich direkt die korrekte Lösung umgesetzt. Das Management oben sieht ja nur die Analyseergebnisse, solange da die Story stimmt, wird die Wahrheit nicht doppelt hinterfragt. Und der Mitarbeiter hat Zeitdruck. Es fehlt also im ganzen Ablauf irgendwie überall der Anreiz, Dinge richtig anstatt richtig-aussehend zu machen. Oh well.
Hmm, naja, also es gibt ja heute schon Modelle wie Gemma4 zum freien Download. Der Claude-Code Quellcode wurde ja auch erst versehentlich letzte Woche oder so veröffentlicht, den lässt dann jetzt jemand anderes per KI in "so ähnlich" nachprogrammieren (wodurch Copyright claims schwer werden) und dann hast du deinen komplett lokalen Coding-Assistenten. Meine Erwartungshaltung wäre, dass man in einem Jahr das was ich heute mit Claude mache, lokal und offline auf meiner Gaming GPU machen kann.Alexander Kornrumpf hat geschrieben: ↑13.04.2026, 09:57 Anbieterseite: Es wird der Punkt kommen, wo die flatrates weggehen und alles per Token abrechnet. Und dann wird die KI nicht empfehlen, lieber ein existierendes Tool zu nehmen und ihrem Eigner den Umsatz nicht zu machen, wenn der Median-Nutzer es sowieso lieber hätte wenn sie nicht weiter nachfragt und einfach macht.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
-
Alexander Kornrumpf
- Moderator
- Beiträge: 2198
- Registriert: 25.02.2009, 13:37
Re: Anti-Jammer-Thread
Ich halte das (also deinen letzten Satz) für sehr sehr unwahrscheinlich, aber das wäre natürlich ein spektakulärer plot-twist, wenn literally Milliarden in Rechenzentren abgeschrieben werden müssten, weil sich rausstellt, dass es lokal auf consumer grade Hardware genauso gut geht.Jonathan hat geschrieben: ↑13.04.2026, 10:52 Hmm, naja, also es gibt ja heute schon Modelle wie Gemma4 zum freien Download. Der Claude-Code Quellcode wurde ja auch erst versehentlich letzte Woche oder so veröffentlicht, den lässt dann jetzt jemand anderes per KI in "so ähnlich" nachprogrammieren (wodurch Copyright claims schwer werden) und dann hast du deinen komplett lokalen Coding-Assistenten. Meine Erwartungshaltung wäre, dass man in einem Jahr das was ich heute mit Claude mache, lokal und offline auf meiner Gaming GPU machen kann.
Re: Anti-Jammer-Thread
Ah, nun, natürlich wird es nicht genau so gut gehen. Ich benutze lokale LLMs immer zwischendrin, und für einfache Anfragen sind die schon recht gut. Und ich denke, sie werden sehr bald gut genug für diese einfachen Aufgaben sein, also z.B. um Webseiten zu programmieren (weil das meiste davon ja relativ trivial ist). Halt die Sachen, die recht einfach, aber anstrengend sind. Was aber eben genau einen sehr großen Overlap mit den Problemen hat, die ich heute outsourcen wollen würde.
Wenn man seine Software auf Sicherheitslücken abklappern, oder neue Algorithmen für ungelöste Probleme erdenken will, braucht man natürlich die besten verfügbaren Modelle, und die werden sicherlich weiterhin Online sein. Und man braucht natürlich Rechenzentren, um die Modelle zu trainieren.
Wenn man seine Software auf Sicherheitslücken abklappern, oder neue Algorithmen für ungelöste Probleme erdenken will, braucht man natürlich die besten verfügbaren Modelle, und die werden sicherlich weiterhin Online sein. Und man braucht natürlich Rechenzentren, um die Modelle zu trainieren.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Chromanoid
- Moderator
- Beiträge: 4318
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
Da fand ich diesen Take https://paulkrugman.substack.com/p/talk ... l-kedrosky ganz spannend:Alexander Kornrumpf hat geschrieben: ↑13.04.2026, 11:07 Ich halte das (also deinen letzten Satz) für sehr sehr unwahrscheinlich, aber das wäre natürlich ein spektakulärer plot-twist, wenn literally Milliarden in Rechenzentren abgeschrieben werden müssten, weil sich rausstellt, dass es lokal auf consumer grade Hardware genauso gut geht.
Kedrosky hat geschrieben:I think it’s somewhat misunderstood what’s going on, but nevertheless, I sometimes say “a data center full of GPUs is like a warehouse full of bananas, that’s got a relatively short half life in terms of its usefulness.” That’s important to keep in mind. That’s what makes it different from prior CapEx spending. Moments like railroads, canals, rural electrification, take your pick, because of the nature of the perished ability of the thing that we’re investing in.
- Chromanoid
- Moderator
- Beiträge: 4318
- Registriert: 16.10.2002, 19:39
- Echter Name: Christian Kulenkampff
- Wohnort: Lüneburg
Re: Anti-Jammer-Thread
Apropos KI. Es ist echt krass, wie gut man mit Claude Code Gameplay-Prototypen bauen kann. Einfach sagen, er soll es in einer self-contained HTML-Seite machen. Wenn man noch 3D braucht, soll er three.js nehmen und fertig. Da kann man dann irgendwas schnell mal vom Feeling her testen.
Re: Anti-Jammer-Thread
Die KI kann die Produktivität extrem steigern. Ich nutze sie in meinem „normalen“ Job, der nichts mit Programmierung zu tun hat, aber viel mit der Analyse von Wirtschaftsdaten und Produktionsabläufen. Allerdings ist sie kein All-inclusive-Paket. Alles, was mir die KI liefert, muss ich gegenprüfen und verifizieren. Es muss einfach plausibel sein, was ausgegeben wird.
Beim Thema Softwareentwicklung sehe ich das Problem, dass Code generiert wird, den am Ende kein Mensch wirklich anschaut. Und wer garantiert mir, dass die KI nicht mehrere Funktionen mit demselben Code erzeugt oder einfach toten Code produziert, der gar nicht genutzt wird?
Trotzdem hat die KI meine Produktivität verdoppelt. Die Qualität meiner Arbeit ist meiner Meinung nach besser geworden oder zu mindestens nicht schlechter. Ich muss immer an einen Spruch denken, weiß nicht mehr von wem das ist. "„Wir werden unsere Jobs nicht an KI verlieren, sondern an Menschen, die mit KI umgehen können.“
Beim Thema Softwareentwicklung sehe ich das Problem, dass Code generiert wird, den am Ende kein Mensch wirklich anschaut. Und wer garantiert mir, dass die KI nicht mehrere Funktionen mit demselben Code erzeugt oder einfach toten Code produziert, der gar nicht genutzt wird?
Trotzdem hat die KI meine Produktivität verdoppelt. Die Qualität meiner Arbeit ist meiner Meinung nach besser geworden oder zu mindestens nicht schlechter. Ich muss immer an einen Spruch denken, weiß nicht mehr von wem das ist. "„Wir werden unsere Jobs nicht an KI verlieren, sondern an Menschen, die mit KI umgehen können.“
- MEIN AKTELLES PROJEKT -> FirstStrike (PLAY THE DEMO) -> NEUER ENDBOSS -> schau dir das Video an
- ICH MACH MAL EINE 3D ENGINE -> KROM Engine
- WAS ICH SONST SO MACHEN -> Grafik und Design
- Schrompf
- Moderator
- Beiträge: 5399
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Genauso super finde ich es, dass man in VisualStudioCode ganz stressfrei die KI abschalten kann:
Ich mag die, aber wenn ich jetzt für's Spielebuch Texte schreibe, autocompletet die mir ganze Absätze. Und die sind thematisch daneben und ich fühle mich davon irgendwie eingeschränkt, in eine Richtung gedrängt. Also hab ich sie für den Moment ausgeschaltet und schrubbe Kapitel.
Wenn ich was coden muss, mach ich die sicher genauso fix wieder an :-)
Code: Alles auswählen
"chat.disableAIFeatures": trueWenn ich was coden muss, mach ich die sicher genauso fix wieder an :-)
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Schrompf
- Moderator
- Beiträge: 5399
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Es gibt einen Speedrun zu Splatter! Einen regelrechten Wettbewerb! Mit mehr als einem Teilnehmer!
Ok, es sind exakt zwei, aber ... wow. Ich hätte nie damit gerechnet. https://www.speedrun.com/splatter
Ok, es sind exakt zwei, aber ... wow. Ich hätte nie damit gerechnet. https://www.speedrun.com/splatter
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
- Schrompf
- Moderator
- Beiträge: 5399
- Registriert: 25.02.2009, 23:44
- Benutzertext: Lernt nur selten dazu
- Echter Name: Thomas
- Wohnort: Dresden
- Kontaktdaten:
Re: Anti-Jammer-Thread
Wollt kurz Werbung machen:
Stay Forever, ein Podcast über alte Spiele, richtig gut recherchiert und oft sogar mit Zeitzeugen, hat jetzt schon mehrfach auch eine Convention ausgerichtet. Leider ist die (aus meiner Perspektive) immer am Hintern der Welt, aber sie bieten Streaming Tickets an, mit denen man von beiden Tagen einen solide orchestrierten Livestream bekommt.
Von der letzten habe ich jetzt den ersten Tag fertig geschaut und möchte besonders den Vortrag von Boris Schneider-Johne empfehlen, indem er über die Rasterstrahl-Effekte der alten Konsolen und Heimcomputer erzählt. Ich habe selber noch aufm Amiga Copper-Listen programmiert und war begeistert. Aber auch sonst gibt's unterhaltsame Teile, wie die Geschichte zum Werdegang von Games Workshop und wie es zum Warhammer-Universum kam, oder der Grütze-Wettbewerb als ersten Programmpunkt, wo sich Fabian und Chris gegenseitig mit üblem Quatsch aus den Achtzigern zu übertrumpfen versuchen. Darunter Alf, wie er in einem Jump'n'Run mit einer Salami nach Fledermäusen schlägt.
Schauempfehlung, alles zusammen!
Stay Forever, ein Podcast über alte Spiele, richtig gut recherchiert und oft sogar mit Zeitzeugen, hat jetzt schon mehrfach auch eine Convention ausgerichtet. Leider ist die (aus meiner Perspektive) immer am Hintern der Welt, aber sie bieten Streaming Tickets an, mit denen man von beiden Tagen einen solide orchestrierten Livestream bekommt.
Von der letzten habe ich jetzt den ersten Tag fertig geschaut und möchte besonders den Vortrag von Boris Schneider-Johne empfehlen, indem er über die Rasterstrahl-Effekte der alten Konsolen und Heimcomputer erzählt. Ich habe selber noch aufm Amiga Copper-Listen programmiert und war begeistert. Aber auch sonst gibt's unterhaltsame Teile, wie die Geschichte zum Werdegang von Games Workshop und wie es zum Warhammer-Universum kam, oder der Grütze-Wettbewerb als ersten Programmpunkt, wo sich Fabian und Chris gegenseitig mit üblem Quatsch aus den Achtzigern zu übertrumpfen versuchen. Darunter Alf, wie er in einem Jump'n'Run mit einer Salami nach Fledermäusen schlägt.
Schauempfehlung, alles zusammen!
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Re: Anti-Jammer-Thread
Also, ich freue mich ja schon sehr darauf, wenn AI Dissassembler endlich gut genug werden. Ich bin ja eher ein Retro-Gamer und es gibt eine ganze Reihe an alter Spiele, die man mit relativ geringem Aufwand schön modernisieren könnte. Für eine handvoll kommerzieller Spiele wurde ja Code veröffentlicht und es gibt da teilweise echt geniale Fanprojekte, die Spiele sehr behutsam für moderne Rechner anpassen. Sowas sollte es viel mehr geben!
Aktuelles Beispiel: Habe neulich nochmal Rayman 2 ausprobiert, ein absoluter Klassiker. Aber das ist noch aus der Zeit vor Twin-Stick Gamepads, d.h. man kann die Kamera nicht wirklich frei bewegen, sondern muss sich auf die automatische Anpassung verlassen - was manchmal arg awkward ist. Früher konnte man das tolerieren, heute, naja, schwierig. Gäbe es da mal den Source-Code könnte man bestimmt mit wenig Aufwand eine bessere Kamerasteuerung implementieren und das Spiel auf heutige Standards anpassen. Weil, Art-Design und Musik und die generelle Stimmung sind ja immer noch sehr nett.
Und AI Dissassembler sollten ja nicht soo schwer sein - du könntest das Programm ja in einer Sandbox nebenher laufen lassen und überprüfen ob der Code genau das macht, was er soll. LLMs können ja schon recht gut interpretieren, was Code macht, die könnten gewiss Variablen und Funktionen sinnvolle Namen geben. Und ganze Codeabschnitte neu schreiben, mit schöner Struktur und gleichem Verhalten. Da sollte eigentlich ziemlich viel ziemlich automatisch gehen können. Oder zumindest drastisch schneller.
Aktuelles Beispiel: Habe neulich nochmal Rayman 2 ausprobiert, ein absoluter Klassiker. Aber das ist noch aus der Zeit vor Twin-Stick Gamepads, d.h. man kann die Kamera nicht wirklich frei bewegen, sondern muss sich auf die automatische Anpassung verlassen - was manchmal arg awkward ist. Früher konnte man das tolerieren, heute, naja, schwierig. Gäbe es da mal den Source-Code könnte man bestimmt mit wenig Aufwand eine bessere Kamerasteuerung implementieren und das Spiel auf heutige Standards anpassen. Weil, Art-Design und Musik und die generelle Stimmung sind ja immer noch sehr nett.
Und AI Dissassembler sollten ja nicht soo schwer sein - du könntest das Programm ja in einer Sandbox nebenher laufen lassen und überprüfen ob der Code genau das macht, was er soll. LLMs können ja schon recht gut interpretieren, was Code macht, die könnten gewiss Variablen und Funktionen sinnvolle Namen geben. Und ganze Codeabschnitte neu schreiben, mit schöner Struktur und gleichem Verhalten. Da sollte eigentlich ziemlich viel ziemlich automatisch gehen können. Oder zumindest drastisch schneller.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
- Krishty
- Establishment
- Beiträge: 8418
- Registriert: 26.02.2009, 11:18
- Benutzertext: state is the enemy
- Kontaktdaten:
Re: Anti-Jammer-Thread
> new fan port announced
> look inside
> it’s vibe coded
Ich habe dieses Jahr noch nichts in der Hinsicht KI-Disassembler gemacht, aber Ghidra + KI ist ohne Frage extrem mächtig. Leider führt das nicht einfach dazu, dass mehr Klassiker erneuert werden, sondern dass sich immer geringer qualifizierte Fans daran versuchen und die Ergebnisse miserabel sind.
Ich müsste meine Discord-Historie durchsuchen, welche Projekte das dieses Jahr konkret waren, aber die üblichen Beschwerden sind:
> look inside
> it’s vibe coded
Ich habe dieses Jahr noch nichts in der Hinsicht KI-Disassembler gemacht, aber Ghidra + KI ist ohne Frage extrem mächtig. Leider führt das nicht einfach dazu, dass mehr Klassiker erneuert werden, sondern dass sich immer geringer qualifizierte Fans daran versuchen und die Ergebnisse miserabel sind.
Ich müsste meine Discord-Historie durchsuchen, welche Projekte das dieses Jahr konkret waren, aber die üblichen Beschwerden sind:
- Port eines PlayStation-Spiels läuft auf einem 2026er PC langsamer als auf der 1995er PSX
- Abstürze in absurd anmutenden Situationen
- Wenn Maintainer versuchen, Bugs zu fixen, reiten sie (und ihre KI-Assistenten) das Projekt immer tiefer in den Mist
Re: Anti-Jammer-Thread
Ja, das ist ein wichtiger Punkt: Man muss die ganzen Inkompetenten irgendwie effizient rausfiltern.
Also, es gibt ja zu dem sehr süßen Croc - Legend of Gobbos jetzt ein offzielles Remake, ich habe ja auch zuvor darüber geschrieben hier. Aber schon eine ganze Weile davor gab es das hier:
https://www.youtube.com/watch?v=sJMdl967kjs
Das Video sieht echt gut aus! Grafik besser als das offizielle Remake. Musik einfach übernommen, klar, aber die ist halt auch immer noch super gut, und insgesamt sieht das Video so spannend und vielversprechend aus!
Aber dann spielt man die Demo und merkt: Der Entwickler kann halt Grafik, aber kein Gameplay. Es spielt sich einfach schlecht. Noch schlechter als das 20 Jahre alte Original. Und ein Arcade-Spiel mit schlechtem Spielgefühl ist halt direkt disqualifiziert, da ist Grafik sehr klar zweitrangig. Als krasses Gegenbeispiel dazu: Das sehr nette Quod. Ich war überrascht, wie nett und fluffig sich das spielt. Klar, da steckt super viel Mühe in jeder Textur (weil man 64k Spiele hat nicht einfach zusammen klicken kann), aber der Entwickler hat die gleiche Mühe halt auch in Steuerung und Gameplay gesteckt. Alles ist durchdacht und macht Sinn.
Naja. Ich habe mir vor längerer Zeit selber mal Dissassembler angeschaut, damals am Beispiel von Gubble 2. Ich habe mit irgendeinem Tool dann C-Code generieren können. Aber nach ein paar Stunden hab ich es nichtmal geschafft, Code generieren zu lassen, den man kompilieren kann. Geschweige denn, Code der nicht abstürzt, oder sich verhält wie die Eingabedatei. Und natürlich komplett und absolut geschweige denn Code, den Menschen lesen und verstehen können. Ich hatte dann keine Lust oder Kapazität mich mit dieser Idee 3 Monate Vollzeit zu beschäftigen und hab alles erst mal wieder beiseite gelegt. Aber prinzipiell, mit neue, besseren Tools, könnte mir sowas schon viel Spaß machen, denke ich.
Also, es gibt ja zu dem sehr süßen Croc - Legend of Gobbos jetzt ein offzielles Remake, ich habe ja auch zuvor darüber geschrieben hier. Aber schon eine ganze Weile davor gab es das hier:
https://www.youtube.com/watch?v=sJMdl967kjs
Das Video sieht echt gut aus! Grafik besser als das offizielle Remake. Musik einfach übernommen, klar, aber die ist halt auch immer noch super gut, und insgesamt sieht das Video so spannend und vielversprechend aus!
Aber dann spielt man die Demo und merkt: Der Entwickler kann halt Grafik, aber kein Gameplay. Es spielt sich einfach schlecht. Noch schlechter als das 20 Jahre alte Original. Und ein Arcade-Spiel mit schlechtem Spielgefühl ist halt direkt disqualifiziert, da ist Grafik sehr klar zweitrangig. Als krasses Gegenbeispiel dazu: Das sehr nette Quod. Ich war überrascht, wie nett und fluffig sich das spielt. Klar, da steckt super viel Mühe in jeder Textur (weil man 64k Spiele hat nicht einfach zusammen klicken kann), aber der Entwickler hat die gleiche Mühe halt auch in Steuerung und Gameplay gesteckt. Alles ist durchdacht und macht Sinn.
Naja. Ich habe mir vor längerer Zeit selber mal Dissassembler angeschaut, damals am Beispiel von Gubble 2. Ich habe mit irgendeinem Tool dann C-Code generieren können. Aber nach ein paar Stunden hab ich es nichtmal geschafft, Code generieren zu lassen, den man kompilieren kann. Geschweige denn, Code der nicht abstürzt, oder sich verhält wie die Eingabedatei. Und natürlich komplett und absolut geschweige denn Code, den Menschen lesen und verstehen können. Ich hatte dann keine Lust oder Kapazität mich mit dieser Idee 3 Monate Vollzeit zu beschäftigen und hab alles erst mal wieder beiseite gelegt. Aber prinzipiell, mit neue, besseren Tools, könnte mir sowas schon viel Spaß machen, denke ich.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
-
Spiele Programmierer
- Establishment
- Beiträge: 435
- Registriert: 23.01.2013, 15:55
Re: Anti-Jammer-Thread
Was ist für euch ein KI-Disassembler?
Disassemblen ist doch voll simpel, da braucht man doch keine KI dafür.
Dekompilieren, Variablennamene wählen und die richtigen Abstraktionen in einer höheren Sprache wie C++ finden, dass ist schwer. Ich weiß nicht, wie weit die Werkzeuge da heute sind, aber da habe ich in der Vergangenheit nix Gutes gefunden und es war noch viel Handarbeit.
Disassemblen ist doch voll simpel, da braucht man doch keine KI dafür.
Dekompilieren, Variablennamene wählen und die richtigen Abstraktionen in einer höheren Sprache wie C++ finden, dass ist schwer. Ich weiß nicht, wie weit die Werkzeuge da heute sind, aber da habe ich in der Vergangenheit nix Gutes gefunden und es war noch viel Handarbeit.
Re: Anti-Jammer-Thread
Hm, ich kenn mich da echt nicht aus, aber "voll simpel" erscheint mir etwas stark - ich hab damals kurz nach state-of-the-art Disassemblern gesucht (nagut, eingeschränkt auf frei erhältliche) und es damit nicht geschafft innerhalb einiger Stunden C-Code zu generieren, der sich kompilieren lässt. Scheint mir also nicht ganz so simpel zu sein.Spiele Programmierer hat geschrieben: ↑Gestern, 14:03 Was ist für euch ein KI-Disassembler?
Disassemblen ist doch voll simpel, da braucht man doch keine KI dafür.
Aber was generell meine Anforderungen wären: Ich will am Ende möglichst schönen Code haben. Sinnvolle Namen, sinnvoll auf verschiedene Dateien aufgeteilt, C++ Objekte und Templates, Abhängigkeiten (also z.B. inlining von Bibliotheks-Funktionen rückgängig machen). Was mir erstmal egal ist: Es muss nicht zur identischen exe-Datei zurück kompilieren (die hab ich ja schon). Ich will Dinge immer anpassen, entweder Kleinigkeiten (der Compiler macht etwas, das auf einem 15 Jahre alten OS mal nützlich war, heute aber schädlich ist) bei denen sich das Programm am Ende noch genau so verhält wie früher auf dem alten System, oder größere Dinge, etwa neue Features implementieren.
Meine Erwartung ist nicht, dass alles vollautomatisiert läuft. Aber was doch z.B. ziemlich gut funktionieren sollte ist, wenn ich einen Spielzustand und den Screenshot dazu nehme, dann sage "unten links in der Ecke, da ist der Spieler", dann sollte eine KI sich durch den unlesbaren Code wühlen können, verstehen, welches Sprite / 3D Modelle da wo wie gezeichnet wurde und dann z.B. herausfinden, an welcher Stelle die Spielerposition gespeichert wird.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
https://jonathank.de/games/
-
Spiele Programmierer
- Establishment
- Beiträge: 435
- Registriert: 23.01.2013, 15:55
Re: Anti-Jammer-Thread
Okay, es ist ein Missverständnis mit dem Begirfflichkeiten: C-Code generieren ist "out of scope" für einen Disassembler, denn der erzeugt nur Assemblercode. Alle normalen Debugger kriegen das wunderbar hin und denke gibt auch dedizierte Projekte. Deswegen meinte ich, dass es simpel ist.Hm, ich kenn mich da echt nicht aus, aber "voll simpel" erscheint mir etwas stark - ich hab damals kurz nach state-of-the-art Disassemblern gesucht (nagut, eingeschränkt auf frei erhältliche) und es damit nicht geschafft innerhalb einiger Stunden C-Code zu generieren, der sich kompilieren lässt. Scheint mir also nicht ganz so simpel zu sein.
Wenn du hingegen C (oder sogar C++-Code) haben willst, genauer gesagt echten C-Code, nicht nur C-Funktionen mit asm-Blöcken und wilden Pointer-Casts, dann schaut es ganz anders aus.
Wie gesagt, bin ich da auch nie fündig geworden. Habe eine ganze Zeit bei einem Tomb Raider Leveleditor-Projekt mitgearbeitet. Einige Mitstreiter haben da fleißig den original Editor/Engine dekompiliert. Die haben da meines Wissens IDA eingesetzt, aber... Habe gerade geguckt... die lokale Version kostet zur Zeit 3000€ im Jahr. Bisschen viel für ein einzelnes Werkzeug in einem Hobbyprojekt! Deswegen... über den Lizenzstatus meiner Kollegen, will ich lieber nichts weiter sagen. ;)
C++-Code oder Variablennamen kamen da dann auch nicht raus. Es ist nur etwas weniger beschissener C-Code, mit Werkzeugen um sukzessive Namen hinzufügen. Nichtsdestotrotz wurde nach dem Editor, den man weitgehend auch so implementieren konnte (Dateiformat weitestgehend bereits seit Ewigkeiten von Fans dokumentiert), auf die Weise das Spiel mehr als einmal dekompiliert. Teilweise gab Symbolinformationen die von CoreDesign verstehentlich veröffentlich worden sind. Ansonsten einfach harte Handarbeit, viel Geduld und ein gutes Verständnis vom Spiel ingesamt.
Ich bin evt. nicht auf dem neusten Stand, aber das von dir Gewünschte, also das in den meisten Fällen Inlining oder sogar Templates rückgänig gemacht werden können, kann ich mir beim besten Willen von einem atuomatischen Programm selbst mit zusätzlichen Hilfestellungen nicht vorstellen. Die Befehle werden ja umgeordnet und verschmelzen. Der Sinn des Templates ergibt sich oft erst in der Zielsprache, in Assembler ist std::vector<JonathansGameState*> und std::vector<uint32_t*> identisch und der Linker hats (hoffentlich) zusammengefaltet.
Ich glaube man ist schon glücklich, wenn der Datentyp richtig erraten wird. Stell dir vor du hast einen Zeiger... ist das was da geladen wird nun wieder ein Zeiger (wenn ja, welcher Typ?), ein size_t oder ein uint32_t? Vorzeichenbehaftet oder nicht? Vlt. doch time_t? Siehst du aber eh alles nicht, weil da jemand ein geinlinet memcpy hat, welches in 16 Byte-Blöcken kopiert. Wie groß ist das Objekt eh überhaupt ingesamt? Wird nur ein Teil kopiert oder alles? Wenn man es schafft den Zeiger über die gesamte Anwendung nachzuverfolgen kann man das rausbekommen, aber der Zeiger wird ja in anderen Datenstruktuen gespeichert, die wieder in eine Datenstruktur leben, die mit deduplierten Template-Funktionen arbeiten die auch andere Typen durchlaufen und dann kommt noch Polymoprhie, dynamische Arrays, und, und, und.
Lange Rede, kurzer Sinn: Ja ich stimme zu, hochwertiges Dekompilieren in komplexen Anwendungen ist alles andere als simpel. KI kann das theoretisch natürlich auch, aber auf der Ebene von ganzen Applikationen und alles unbekannt, stelle ich mir das schon auch für die KI echt schwer vor. Ich denke man müsste am besten erstmal mit einem klassichen Programm wie IDA loslegen. Die KI kann dann versuchen sukzessive Variablennamen zu erraten, angefangen wo Interaktionen mit Außen stattfinden (OS-Funktionen, Tastendrücke, bekannte Dateiformate, ...), muss aber aufpassen, dass es sich nicht in eine Ecke manövriert. Ich denke man sollte eine Art Backtracking-Algorithmus einsetzen. Ich denke KI, kann auch helfen, Datentypen besser zu raten. Aber schon templates und inlining... Uii, das stell ich mir echt hart vor für die KI. Ich wüsste selbst nicht wie ich das machen sollte. Ich denke man kann die KI höchstens einfach allgemein fragen, den Code aufzuräumen. Das ganze dann ständig kompilieren und schauen, dass es noch gleich aussieht oder vlt. auch noch eine zweite KI die Unit-Tests schreibt und gegenprüft.
Fast automatisch für komplexe Anwendungen kann ich mir das aktuell nicht vorstellen und würde zweifelsohne für astronomisches Geld KI-Rechenzeit verschlingen.