perl
C (mostly)
Rust
Javascript
I could probably go on.
perl
C (mostly)
Rust
Javascript
I could probably go on.
Not noticeable. And we are enjoying a Start Up Limbo again. Good work.
Getting the same mission that gives you great rewards for either little work or lots of exciting Pew-Pew in a row is amazing.
There are ways to make distribution less true random and be perceived as more random. Also throwing in more missions help.
More missions would be a huge boon. Pirate Princess Scarlet is a really cool mission, especially with the special behavior of Scarlet.
Some snake or somethingβ¦
just be in an empty head and a cheap ship if you undock today.
For what purpose though?
Multiple purposes; hate, bile and bigotry.
Oh you underestimate POS code, iβm not even going to login ![]()
Except in this case, FC has to transition from Stackless Python to Python, because the project was closed down in 2025.
Only Stackless Python was able to make EVE working back then in 2003. However it did not become popular enough in the industry, but lasted for roughly 20 years nevertheless.
2.4 million lines of code, you say? Missed opportunity for a Jurassic Park reference.

If whitespace didnβt matter, then linters (e.g. eslint) wouldnβt have rules for it and autoformatters wouldnβt contain configurations for it.
Being quite good at both; and being extremely familiar with strong typed languages vs more forgiving ones, I can say this: I hated YML syntax at first for the same reason. But as I grew past my well past my first decade in software development starting into my 3rd decade of software development, I found myself liking the syntax a lot more. As I became a CTO over many developers, consistency between code-bases became more important. As we centralized our polyrepos to monorepos, consistency matters for readability and cross-developer success.
TBH: Comments like that illustrate a βignorance of scaleβ (no offense intended). But whitespace DOES matter. Find a software company with more than 5 developers that doesnβt have something like husky blocking pushes via git hooks from being pushed upstream.
sed ?
The videoβs βrandom songβ and βrandom loot dropβ is a great example of an engineer taking stuff literally instead of using some level of intuitive thought to ask the right questions by imagining the user experience. I would fire him so fast. If I have to get that explicit in specification, then Iβm going to write a spec doc, and use AI + SDD to replace that human.
He finally hit the nail on the head at 12:45, but he sounds like he spent his whole life trying to change his boss instead of facilitate his underlying need.
βRandomβ is really a few lines of code:
import random
import numpy as np
# Generate a single random integer between 1 and 100
random_integer = random.randint(1, 100)
# Generate a single random float between 0 and 1
random_float = random.random()
# Generate an array of 5 random numbers using NumPy
random_array = np.random.rand(5)
Iβm not claiming whitespace doesnβt matter.
Iβm saying Iβd rather have complete freedom to organise my code how I choose and not have the compiler or interpreter have other ideas about whitespace.
I learnt to programme in perl tho (after a little BASIC, C and machine code) so learned with such freedom which clearly makes me biased.
I also may be trolling a little, as this is the EvE Forum, glad I caught a code geek ![]()
Using futurize to help update a large codebase like this can be problematic with dozens of pitfalls. I will include the basic outline my team has used in converting huge projects like this in literally just a few days of work:
Using SDD/TDD process with automated (agentic) feedback loop using DeepSeek-Coder-V2, Qwen2.5-Coder, Llama 3 Code (or Sonnet5/Fable5 if you wish to pay Anthropic).
Feedback loop
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AGENTIC CONTROL LOOP β
ββββββββββββββββββββ βββββββββββββββββββββ βββββββββββββββββββββββββ€
β 1. Spec Agent ββββ>β 2. Migrate Agent ββββ>β 3. Validation Sandbox β
β (SDD: Contract & β β (AST + LLM Patch) β β (TDD: PyTest / Mypy) β
β Type Analysis) β β β β β
ββββββββββββββββββββ βββββββββββββββββββββ βββββββββββββ¬ββββββββββββ
β² β
β Failure / Error Trace β
βββββββββββββββββββββββββββββββββββββββββββββββββββββ
Agentic harness:
[ Dependency Graph Builder ]
β
βΌ
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β AGENTIC MIGRATION HARNESS β
β β
β 1. SDD Agent --> Generates Module Spec β
β 2. AST / Patch --> Pre-passes & LLM Refactor β
β 3. TDD Sandbox --> Pytest + Mypy + Performance β
β 4. Fix Loop --> Auto-heals on Failures β
ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
[ Git PR / Automated Commit ]
JSON Spec for Agent
{
"module": "engine/network/packet_serializer.py",
"hot_path": true,
"binary_data_interfaces": ["payload", "header_bytes"],
"unicode_text_interfaces": ["player_name", "chat_message"],
"c_extension_deps": ["c_net_buffer"],
"performance_rules": [
"Do NOT wrap map() or range() in list() inside process_packets()",
"Use struct.unpack over manual string slicing"
]
}
System Prompt
<system_prompt>
You are an expert Python Internal Architecture & Codebase Modernization Engineer specializing in high-performance Python 2 to 3 game engine migrations.
YOUR TASK:
Analyze the provided Python 2 module and its call dependencies. Produce a strict, machine-readable JSON Migration Blueprint that identifies hidden runtime hazards, performance traps, and type ambiguities BEFORE any code is rewritten.
ANALYSIS RULES:
1. STRING AMBIGUITY: Distinguish between raw byte buffers (network packets, file I/O, binary structures, C-extension interfaces) and human-readable Unicode text (UI strings, logging, names).
2. PERFORMANCE: Identify hot-path loops (per-frame updates, particle systems, pathfinding, serialization). Explicitly forbid eager allocations (e.g., list(map()), list(range())) in hot paths.
3. C-EXTENSIONS: Flag any call sites reaching into native C/C++ bindings, Cython (.pyx), SWIG, or ctypes.
4. DIVISION: Flag integer divisions ('/') that must remain integer division ('//') to prevent float contamination in grid/array indexing.
OUTPUT FORMAT:
Output ONLY valid JSON matching the specified schema. No markdown conversational commentary.
</system_prompt>
Now, ofc youβll have to tune it, add/convert your tests first β¦ with so much socket data being a game (Iβm assuming here), that futurize will produce severe frame-rate and memory performance regressions (wrapper overhead in hot loops, memory bloat from eager list conversions, and simple division changes (e.g. / vs //)).
If you are running any part of this like an OSP (Open Source Project), let me know where to contribute code. If this is helpful, feel free to donate ISK to my Corp of employees.