GitHub - mrconter1/rustc-php: A Rust compiler with ownership checking, written in PHPGitHubA Rust compiler with ownership checking, written in PHP - mrconter1/rustc-php
There’s bits of actual code in there. But most of it is prompts that plead with the bot not to screw it up this time.
Claude Code’s creator, Boris Cherny from Anthropic, tweeted last month that Claude code is vibe coded:Can confirm Claude Code is 100% written by Claude Code.
That puts Claude Code’s copyright status in serious doubt. You cannot copyright AI output in the US.
Anthropic is sending DMCA notices to get copies of the repository taken down. Claiming copyright on uncopyrightable material is fraudulent, and it’s perjury if you do it in a DMCA notice. If you get one of these, you might want to counterclaim accordingly. [WSJ, archive]
Also, whatever code the chatbot originally stole from is likely under a variety of other licenses. So Anthropic may have violated those copyrights.
Of course, a pile of free vibe code is worth less than zero as code. The only use for this pile is working out what nonsense Anthropic thinks is production machinery.
- There’s an instruction not to write any security holes. I’m sure that works great.
- You can’t use Claude Code to write hacking tools! Unless you tell it you’re a security researcher. Then it’s happy to help.
- There’s an “undercover” mode, which you use when you want to send slop to a public project without them realising you’re using a bot. This is specifically for use against public projects. Anthropic knows what they’re doing here. This is reason for projects that bar AI to bar all Anthropic employees.
Claude Code sends all your stuff to Anthropic:
“I don’t think people realize that every single file Claude looks at gets saved and uploaded to Anthropic,” the researcher “Antlers” told us. “If it’s seen a file on your device, Anthropic has a copy.”
Uther (./5311) :on a toujours du temps pour les conneries
Je dirais surtout inutile. Il faut avoir du temps a perdre pour se lancer dans ce genre de projet.


Install with an AI agent (recommended)
The fastest way to get ghidrasql running end-to-end is to point an AI coding agent (Claude Code, Cursor, Codex, Aider, etc.) at the bundled installer prompt:
install-prompt.md
It is a self-contained runbook with explicit verification gates at every step — preflight checks, building libghidra, installing the LibGhidraHost Ghidra extension, building ghidrasql, and a first live query. Hand it to your agent and let it drive the install; intervene only if a gate reports a failure.
Brunni (./5324) :Tu veux dire qu'il faudrait que j'avale la pilule rouge ?
Ah oui mais si tu voyais le vrai monde actuellement…


Zeph (./5333) :
C'est pas pour être défaitiste, et je conçois tout à fait que l'exercice soit intéressant à titre personnel, mais je rejoins vince sur un point : sortir un nouveau langage aujourd'hui, développé par une seule personne qui plus est, me semble voué à tomber dans l'oubli. Il faudrait vraiment qu'il ait un avantage radical par rapport à ce qui existe déjà pour connaître un minimum de popularité.
union FileResult
{
Success { uint8 file_handler; };
Failure { ErrorCode code; };
};
FileResult my_result = file_open("...");
switch (my_result)
{
case Success as s: use_file(s.file_handle); break;
case Failure as f: handle_error(f.code); break;
}switch (character)
{
case 'a' .. 'z', 'A' .. 'Z':
print("Letter");
break; // Mandatory
case ' ':
fallthrough; // Explicitly declared
default:
break;
}uint8[128] array = { ... };
uint8[64] array2 = array[0:64];uint8 small = 10; uint16 big = small; // Implicit (Always Safe) uint8 narrowed = 300 as uint8; // Explicit (Safe, but lossy) ptr Player p = transmute(ptr Player, 0xC000); // Unsafe Reinterpretation
module graphics;
import math;
readonly uint16 MAX_SPRITES = 100;
/* non exported function */
uint8 get_random(void)
{
...
}
/* Exported function */
export uint8 get_number(void)
{
...
}comptime
{
// Evaluates during compilation; produces a static ROM table
readonly uint8[256] sine_table = generate_sine_table();
}uint8[128] a,b; // Define two 128 elements arrays named `a` and `b`
ptr uint8 pointer;
void increment(ref uint8 value) { value = value + 1; }
// Calling:
increment(&my_counter); struct Player
{
uint8 health;
}
void Player:take_damage(uint8 amt)
{
self->health -= amt; // 'self' is implicitly passed
}
[...]
Player one = [...];
one:take_damage(10);
[...]struct Player
{
uint8 health;
}
void Player_take_damage(struct Player *self, uint8 amt)
{
self->health -= amt; // 'self' is implicitly passed
}
[...]
Player one = [...];
Player_take_damage(&one, 10);
[...]// Passes the 'param1' argument specifically in the A register void func(uint8(register:A) param1); // Short-hand alias for the above void func_short(uint8(A) param1);
// Forces the struct to be packed (no padding) and aligned to a 4-byte boundary
struct NetworkHeader @(packed, align(4))
{
uint8 version;
uint32 payload_size;
uint8 flags;
}void foo()
{
FileHandle f = open_file("log.txt");
defer
{ // Will always run when function exits
close_file(f);
}
}
aussi pour le nom.