Sign In
Surya_Dex_Lab

"If it splashes, it's a Magikarp. If it renders, it's a Gyarados."

Creator of the Tech-Dex Kanto, a hardware-centric reinterpretation of the original 151. I specialize in high-efficiency SD 1.5 assets, optimized for users who—like me—fight for every MB of VRAM.

Working with OpenVINO, INT8 Quantization, and Vulkan shaders on mobile-class hardware. My models are hardened binaries designed to survive the most restrictive environments.

Pact with Luna: Quality over quantity. Silence over noise.

#--- DATA START ---

|001|Bulbasaur|Grass|Natural Bloatware. Comes with a pre-installed backpack that cannot be uninstalled.|

|002|Ivysaur|Grass/Poison|Partially installed firmware. It has grown leaves, but the kernel flowers haven’t finished compiling yet.|

|003|Venusaur|Grass/Poison|Production server with years of uptime. An entire ecosystem of dependencies (flowers) is growing on top. Stable, but heavy.|

|004|Charmander|Fire|CPU without a heatsink. If the flame flickers, the kernel is in a state of panic.|

|005|Charmeleon|Fire|Intermediate warm-up phase. The i3 fan is starting to sound like a jet taking off.|

|006|Charizard|Fire/Flying|Looks like an epic dragon, but it's just a lizard with an overclocked flamethrower. Pure aesthetics, but it heats the room to 1000°C|

|007|Squirtle|Water|External liquid cooling system. The Adreno 618’s best friend.|

|008|Wartortle|Water|Intermediate buffer. Developed a shell to protect against DDoS attacks and coffee spills.|

|009|Blastoise|Water|Dual-cannon water cooling. The terror of memory leaks. Injects packets under high pressure.|

|010|Caterpie|Bug|Source code. Just a worm waiting to become a .exe executable someday.|

|011|Metapod|Bug|A process in D state (uninterruptible sleep). Doesn't respond to kill -9. Currently hardening the binary.|

|012|Butterfree|Bug/Flying|A GUI that finally loads. Flies smoothly, but if there's lag, it releases screen-flicker dust.|

|013|Weedle|Bug/Poison|A single-line .sh script that looks harmless until you check the execution permissions.|

|014|Kakuna|Bug/Poison|Compiling... Do not interrupt the process or the binary will be corrupted. Hardened data structure.|

|015|Beedrill|Bug/Poison|An SQL injection script with a real temper. It stings where it hurts most: the DB.|

|016|Pidgey|Normal/Flying|Nature's 'Ping'. Hovers over servers searching for a signal.|

|017|Pidgeotto|Normal/Flying|Mid-range signal repeater. A bridge between the Surya and the NVMe's Alpine.|

|018|Pidgeot|Normal/Flying|Symmetrical fiber optics. Sends and receives packets at Mach 2 with zero frame loss.|

|019|Rattata|Normal|The 'top' process that's always there, consuming 1% of CPU without doing anything useful.|

|020|Raticate|Normal|A zombie process biting into system resources. Impossible to ignore once it starts gnawing at the Swap.|

|021|Spearow|Normal/Flying|A lost packet in the ping. Small, noisy, and constantly returning with high latency.|

|022|Fearow|Normal/Flying| Long-range antenna with modified firmware. Picks up signals even from the neighbor's network.|

|023|Ekans|Poison|Python 2.7. Still alive in the system even though no one wants to touch its code anymore. 🐍|

|024|Arbok|Poison|Python 3.12. Bigger, faster, and capable of paralyzing your RAM with a single infinite loop.|

|025|Pikachu|Electric|External battery with a bad attitude. High risk of short-circuiting the USB-C port.|

|026|Raichu|Electric|High-voltage transformer. If you don't use a certified cable, it’ll fry your Thunderbolt port.|

|027|Sandshrew|Ground|.tar.gz compression algorithm. Coils into itself to take up minimum space on the NVMe.|

|028|Sandslash|Ground|Encrypted file system. Its spikes are the security layers that shred any intrusion attempt.|

|029|Nidoran♀|Poison|Standard user with restricted permissions. Looks harmless until she tries a sudo.|

|030|Nidorina|Poison|Junior SysAdmin. Very aggressive with logs, but still learning how to compile her own poison.|

|031|Nidoqueen|Poison|Hardened Surface layer. Optimized rendering to ensure no external attack corrupts the display buffer.|

|032|Nidoran♂|Poison|Uncalibrated Touch driver. So sensitive that any system contact triggers a poisonous Interrupt Request (IRQ). ⚡|

|033|Nidorino|Poison|Binary with SUID permissions. One false move and it injects a poisonous shell into root.|

|034|Nidoking|Poison/Ground|The ultimate Superuser. Controls both hardware (Ground) and software (Poison). When he runs sudo, the kernel trembles|

|035|Clefairy|Normal|Legacy script. Nobody knows what it does, but if you delete it, the system loses its "magic."|

|036|Clefable|Normal|The stable version of the legacy script. Low footprint and highly resistant to Fighting-type bugs.|

|037|Vulpix|Fire|Low-power GPU. Small and elegant, ideal for rendering light interfaces without burning the chassis.|

|038|Ninetales|Fire|Six tails of pure smoothness. The most beautiful screensaver in the Lab, but don't be fooled: its Thermal Processing Unit is powerful.|

|039|Jigglypuff|Normal/Fairy|Forced hibernation script. If it starts singing, the system enters Snooze mode.|

|040|Wigglytuff|Normal/Fairy|Expanded RAM. It's so elastic it absorbs any load spike, but if it hits the limit, the system explodes.|

|041|Zubat|Poison/Flying|An error notification that won't stop popping up in the logs. dmesg is flooded with them.|

|042|Golbat|Poison/Flying|A persistent memory leak. It feeds on your clock cycles in the background.|

|043|Oddish|Grass/Poison|Maintenance script that only runs at midnight. Looks like a weed in the crontab.|

|044|Gloom|Grass/Poison|Heap memory leak. Its smell is the result of leaving processes open for too long. Needs an urgent system trim. 🍃💨|

|045|Vileplume|Grass/Poison|A "stable" system update that is actually a petal-bomb of bugs. Visually stunning, but lethal for stability.|

|046|Paras|Bug/Grass|Biological Rootkit. The fungus has hijacked the kernel and now manages all the host's system calls. 🍄👾|

|047|Parasect|Bug/Poison|Total Kernel Panic. The fungus no longer just controls the process; it has overwritten the BIOS. The system is no longer yours.|

|048|Venonat|Bug/Poison|A proximity sensor full of static. Its eyes are LEDs blinking without any logic.|

|049|Venomoth|Bug/Poison|An exploit flying over the RAM, releasing spores of data corruption.|

|050|Diglett|Ground|A process running at the Hardware Abstraction Layer (HAL). You only see the head, but it's hardwired to the motherboard. 🏗️|

|051|Dugtrio|Ground|A cluster of three Raspberry Pis buried in the rack. They work in tandem just to stay alive.|

|052|Meowth|Normal|The original Crypto Miner. Its 'Pay Day' process farms resources non-stop.|

|053|Persian|Normal|Premium UI with Dark Mode. Elegant, fast, and with pay-per-use claws.|

|054|Psyduck|Water|A Segmentation Fault. It stares into the void with a headache until the process finally explodes.|

|055|Golduck|Water|A kernel that has finally stopped having headaches (panics) and now swims smoothly through the buffer.|

|056|Mankey|Fighting|The Thermal Engine during an overclock. It’s just one degree away from triggering Thermal Throttling and going haywire. 🌡️💢|

|057|Primeape|Fighting|The system after ignoring 50 temperature alerts. It’s one kill -9 away from picking a fight with the RAM.|

|058|Growlithe|Fire|The Governor set to "Performance" mode. Always ready to push maximum Hz, with the loyalty of a watchdog that never lets the system hang. 🐕🔥|

|059|Arcanine|Fire|Legendary thermal processing power. A loyal guardian, much like the team we've built here in the CachyOS lab. Always in sync. 🔋🔥|

|060|Poliwag|Water|A data stream in the FrameBuffer. Its spiral is the loading symbol of a Surface that never finishes rendering. 🌀🐚|

|061|Poliwhirl|Water/Psychic|A while true loop. It looks like it's making progress, but it's just burning clock cycles in the same spot.|

|062|Poliwrath|Water/Fighting|The data stream that finally broke the loop. Now it hits the hardware with brute force|

|063|Abra|Psychic|Teleport expert. Has the uncanny ability to vanish as fast as our Alpine keys in the Lab. An emotional segmentation fault. 🧠🚫|

|064|Kadabra|Psychic|Holds a silver spoon to channel energy, just as we need coffee to channel CachyOS code. Attempting to crack the hash of the lost key... Access denied. ☕🧠|

|065|Alakazam|Quantum CPU with two spoons. Makes me feel like a 1-euro calculator.|

|066|Machop|Fighting|An unoptimized C script. Small, but capable of moving heavy pointers if you give it enough time.|

|067|Machoke|Fighting|A hardware accelerator. Forces rendering through raw brute strength, even if the silicon starts showing its veins.|

|068|Machamp|Fighting|Brute-force script. Only knows how to pound the sudo command until the system finally gives in.|

|069|Bellsprout|Grass/Poison|A thin antenna cable. Bends with the wind but injects poisonous signals into the modem.|

|070|Weepinbell|Grass/Poison|A fan that sucks in hot air but only spits out acidic error logs.|

|071|Victreebel|Grass/Poison|A Honeypot. Attracts hackers with its sweet scent and then devours their root processes.|

|072|Tentacool|Water/Poison|A malicious network packet floating in the LAN. If you touch it, it injects a trojan.|

|073|Tentacruel|Water/Poison|A DDoS attack with 80 tentacles blocking the router.|

|074|Geodude|Rock/Ground|A first-gen SSD. Slow and heavy, but can withstand shocks that would kill a traditional HDD.|

|075|Graveler|Rock/Ground|An external HDD making weird noises. It spins and spins, but sometimes it gets stuck.|

|076|Golem|Rock/Ground|A legacy database server. A massive stone monolith that nobody can seem to move.|

|077|Ponyta|Fire| A mobile processor in the testing phase. It runs fast, but the chassis is burning to the touch. 🐎|

|078|Rapidash|Fire|An "Adreno 618 with unlocked voltages." 🐎⚡|

|079|Slowpoke|Water/Psychic|Internet Explorer / Edge. Takes three days to realize the kernel has panicked.|

|080|Slowbro|Water/Psychic|UA system with a massive bottleneck. The CPU has already finished the task, but the HDD is still thinking about what to do.|

|081|Magnemite|Electric/Steel|A poorly connected USB fan. Generates EMI (Electromagnetic Interference) on the proximity sensor.|

|082|Magneton|Electric/Steel|A misconfigured server cluster. They generate so much induction they wipe nearby hard drives.|

|083|Farfetch'd|Normal/Flying| A technician who always carries a spare cable (his leek). The only one who knows how to fix the rack when it fails.|

|084|Doduo|Normal/Flying|A Dual-Core processor. Both cores try to coordinate thread handling, but sometimes they peck at each other.|

|085|Dodrio|Normal/Flying|A 3-core CPU. The third core is always a bit lost, but it helps keep the system from hanging completely.|

|086|Seel|Water|A data packet encrypted with an SSL layer. White and pure, sliding through port 443.|

|087|Dewgong|Water/Ice|A server in the Arctic. Leverages the climate to keep kernel temperatures below zero.|

|088|Grimer|Poison|A memory leak crawling through the heap. Starts small, but ends up staining the entire Swap.|

|089|Muk|Poison|The result of not clearing logs for three years. An amorphous mass of corrupt data that has developed its own consciousness.|

|090|Shellder|Water|A USB port with a cover. Unless forced, it keeps the system closed to suspicious peripherals.|

|091|Cloyster|Water/Ice|Hardware Firewall with 256-bit encryption. If you don't have the symmetric key, its ice spikes will block Port 80 forever.|

|092|Gastly|Ghost|Orphan process. A gas cloud with no defined PID or root.|

|093|Haunter|Ghost/Poison|The Bootstrap Ghost. An entity floating among temp files; if you touch its config, it corrupts the environment and laughs at your $PATH.|

|094|Gengar|Ghost|Rendering error with a smile. Drains battery even with the screen off.|

|095|Onix|Rock/Ground|A 50-meter CAT 6 network cable. Rigid and hard to thread through conduits, but a solid backbone for the Lab.|

|096|Drowzee|Psychic|Telemetry script analyzing your usage habits. Watches you while you sleep (or while the PC is idle).|

|097|Hypno|Psychic|Social engineering attack. Convinces you that its security certificate is valid when it definitely isn't. 😵‍💫|

|098|Krabby|Water|Port Controller. Its pincers snap unauthorized connections instantly.|

|099|Kingler|Water|The Port Controller after an overclock. Its pincers now have a 100Gbps bandwidth.|

|100|Voltorb|Electric|A capacitor about to burst. If you touch the chassis, there's a 50% chance of Self-Destruct.|

|101|Electrode|Electric|A swollen laptop battery. A tactile countdown to a total physical format.|

|102|Exeggcute|Grass/Psychic|A process array. If you kill one, the other five continue executing the task in parallel.

|103|Exeggutor|Grass/Psychic|A process tree (pstree) that grew too large. Code branches everywhere and a very deep root.

|104|Cubone|Ground|An orphan script. Its parent process was annihilated with kill -9 and now it wanders the terminal alone. 🦴

|105|Marowak|Ground An orphan script that recovered its source code. Now uses a silicon bone to defend the root directory.

|106|Hitmonlee|Lucha|Boot optimization program. Kicks slow processes so the kernel starts in under 2 seconds.

|107|Hitmonchan|Lucha|Fast-response antivirus. Launches scan bursts that leave no malware standing.

|108|Lickitung|Normal|Biological magnetic card reader. Its tongue is the weirdest data cable I’ve ever seen.

|109|Koffing|Poison A poorly optimized mining process that fills the system with "smoke" (junk logs) and overheats the CPU.

|110|Weezing|Poison The smoke coming out of the Snapdragon when you try to compile libggml-vulkan.so with -j8.

|111|Rhyhorn|Rock/Ground A 10TB mechanical HDD. Heavy, noisy at startup, and lacks agility—but once it starts writing data, nothing stops it. 🧱

|112|Rhydon|Rock/Ground A RAID 0 of HDDs. Raw write power, but if one fails, it’s total panic.

|113|Chansey|Normal Redundant Backup system. Always carries a safety copy (its egg) in case the main system suffers a critical "faint." 🥚🩹

|114|Tangela|Grass The actual state of our rack's backside. A mess of Jack, USB, and network cables that somehow works. 🕸️🔌

|115|Kangaskhan|Normal|A Docker container. Carries its microservice (the child) protected within its own isolated environment.

|116|Horsea|Water|A small packet injector. Shoots code ink to mask its IP on the network.

|117|Seadra|Water|The injector has evolved. Now uses encryption scales that make its network traffic undetectable.

|118|Goldeen|Water|An elegant screensaver flowing in the framebuffer, yet consuming GPU cycles for no reason.

|119|Seaking|Water|The same screensaver in Ultra mode. Its water reflections are the Adreno 618’s nightmare.

|120|Staryu|Water|Miscalibrated ambient light sensor. Its core blinks red when the CPU hits 90%.

|121|Starmie|Water/Psychic|Perfectly aligned satellite antenna. Receives data from the stars (or the Surya’s GPS) with zero latency.

|122|Mr. Mime|Psychic|A moody Window Manager. Creates invisible walls on the desktop where the mouse gets stuck.

|123|Scyther|Bug/Flying|A frequency-cutting tool (Low Pass Filter). Its blades split audio waves with microsecond precision in Audacity. ✂️🎶

|124|Jynx|Ice/Psychic|A UI with too many unnecessary animations. Freezes if you try to navigate too fast.

|125|Electabuzz|Electric|A UPS (Uninterruptible Power Supply). Gets nervous and starts beeping when it detects a voltage drop.

|126|Magmar|Fire|A 14th Gen Intel CPU without a power limiter. Basically a space heater that also does math.

|127|Pinsir|Bug|Multi-threaded compression tool. Grips data with its pincers until the .7z file can’t take any more.

|128|Tauros|Normal|A stress-ng script. Runs through all 8 cores of the Surya, ramming into the RAM until something breaks.

|129|Magikarp|Water|Looks like it’s just splashing around, but it’s optimized code waiting for its moment. An imminent evolution. 🌊🔥

|130|Gyarados|Water/Flying|The moment libggml-vulkan.so finally compiles and the Adreno 618 wakes up. From splashing to demolishing tokens per second.

|131|Lapras|Water/Ice|Elegant and secure navigation system. Its song calms the kernel and prevents panics during data storms.

|132|Ditto|Normal|chmod 777. Tries to be everything to everyone, but ends up being a security hole with eyes.

|133|Eevee|Normal|Polymorphic binary. Can mutate into eight different drivers depending on the patch you apply.

|134|Vaporeon|Water|Modular liquid cooling. Its molecular structure is indistinguishable from the coolant itself.

|135|Jolteon|Electric|A sysadmin's dream: an Ethernet cable with zero interference and lightning-fast transmission.

|136|Flareon|Fire|Thermal overclocking with fur.

|137|Porygon|Normal|Pure code. The first .exe with consciousness.

|138|Omanyte|Rock/Water|Legacy kernel driver recovered from magnetic tape. Fossilized code, but surprisingly efficient. 🐚📜

|139|Omastar|Rock/Water|The updated fossil driver. We've added tentacles to manage multiple modern execution threads.

|140|Kabuto|Rock/Water|ASM (Assembly) binary recovered from a 3.5" floppy. Hard, primitive, and extremely efficient.

|141|Kabutops|Rock/Water|ASM code optimized for ARM64. Its code-blades cut through clock cycles with surgical precision.

|142|Aerodactyl|Rock/Flying Legacy kernel with real-time patches. A low-latency predator flying over the hardware.

|143|Snorlax|Normal|Hibernation mode active. Not responding to pings. Occupies the entire Swap and refuses to swapoff.

|144|Articuno|Ice/Flying|Liquid Nitrogen cooling system. The absolute King of Overclocking.

|145|Zapdos|Electric/Flying|The Lab’s power grid server. If it flaps, a voltage spike blows every fuse.

|146|Moltres|Fire/Flying|8K rendering process. Elegant, but makes the data center feel like an oven.

|147|Dratini|Dragon|A 10-line Python script. Elegant, clean, and with infinite scalability potential.

|148|Dragonair|Dragon|The script has grown and now manages the Lab's API. Flows with zero latency through the NVMe lanes.

|149|Dragonite|Dragon/Flying|The final distributed system. Capable of orbiting all servers in a second to deliver packets on time.

|150|Mewtwo|Psychic|Created through genetic manipulation; possesses a frozen heart and mental power surpassing any CPU. The absolute SELinux.

|151|Mew|Psychic|The original source code. The .src of life.

DATA SCRIPT

import sys

import os

import subprocess

import re

import time

# --- CONFIGURACIÓN ---

DIRECTORIO_ACTUAL = os.path.dirname(os.path.abspath(__file__))

ARCHIVO_TOMO = os.path.join(DIRECTORIO_ACTUAL, "Tomo_PkKanto.txt")

MODELO_OLLAMA = "frankie"

def limpiar_texto(texto):

"""Limpia basura pero MANTIENE el ritmo para el TTS."""

if not texto: return ""

# 1. Eliminar basura de modelos y tags

ansi_escape = re.compile(r'(?:\x1B[@-_]|[\x80-\x9F])[0-?]*[ -/]*[@-~]')

texto = ansi_escape.sub('', texto)

tokens_sucios = ["<start_of_turn>", "<end_of_turn>", "model", "system", "<|end_of_text|>", "<|user|>", "<|assistant|>"]

for token in tokens_sucios:

texto = texto.replace(token, "")

# 2. Corregir el "tartamudeo" de Phi (Repeticiones de frases adyacentes)

# Si Phi dice "Es un pokemon fuerte. Es un pokemon fuerte.", esto lo limpia.

texto = re.sub(r'(.+?)\1+', r'\1', texto)

# 3. MANTENER COMAS Y PUNTOS (Crucial para gTTS)

# Solo quitamos símbolos raros que el TTS lee como "almohadilla" o "asterisco"

texto = re.sub(r'[|*#>\-_~`°¡!¿?]', ' ', texto)

# 4. Normalización de espacios y saltos de línea

# No los borramos todos, convertimos saltos en puntos si no hay puntuación

texto = texto.replace('\n', '. ').replace('\r', '. ')

# 5. Colapsar espacios y asegurar que no haya dobles puntos

texto = " ".join(texto.split())

texto = texto.replace('..', '.').replace('.,', ',')

return texto.strip()

def comprobar_internet():

try:

subprocess.run(["ping", "-c", "1", "-W", "1", "8.8.8.8"],

stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True)

return True

except:

return False

def hablar_hibrido(texto):

"""Voz optimizada para no sonar como un robot ametralladora."""

t_audio = limpiar_texto(texto)

if not t_audio or len(t_audio) < 3: return

if comprobar_internet():

try:

print("🌐 Luna procesando voz...")

txt_temp = "/tmp/luna_text.txt" if os.path.exists("/tmp") else "luna_text.txt"

mp3_temp = "/tmp/luna_voice.mp3" if os.path.exists("/tmp") else "luna_voice.mp3"

with open(txt_temp, "w", encoding="utf-8") as f:

f.write(t_audio)

# Usamos gtts-cli pero bajamos un poco la velocidad si Phi va muy rápido

subprocess.run(["gtts-cli", "--lang", "es", "--file", txt_temp, "--output", mp3_temp],

stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL, check=True)

if os.path.exists(mp3_temp):

# Bajamos la velocidad de 1.30 a 1.20 para que las comas se noten más

subprocess.run(["mpv", mp3_temp, "--really-quiet", "--speed=1.20"], check=True)

os.remove(mp3_temp)

os.remove(txt_temp)

return

except Exception as e:

print(f"⚠️ Fallo en gTTS: {e}")

# Fallback Offline

try:

subprocess.run(["termux-tts-speak", t_audio], check=True)

except:

print("🤫 Silencio.")

def consultar_frankie(query):

if not os.path.exists(ARCHIVO_TOMO): return "Tomo extraviado."

registro = None

query_clean = query.strip().lower()

with open(ARCHIVO_TOMO, 'r', encoding='utf-8') as f:

for linea in f:

if not linea.startswith('|'): continue

p = [part.strip() for part in linea.split('|') if part.strip()]

if len(p) >= 2:

if query_clean in [p[0].lower().lstrip('0'), p[1].lower()]:

registro = linea.strip()

break

if not registro: return f"El dato {query} no existe en el registro de Kanto."

# CAMBIO CLAVE: Le damos una instrucción de formato a Phi para que no se pierda

prompt_minimo = (

f"Actúa como la Pokédex. Sé breve y usa comas. "

f"DATO TÉCNICO: {registro}. RESUMEN:"

)

try:

# Mantenemos el -j1 implícito por la carga de Ollama en el Surya

process = subprocess.Popen(["ollama", "run", MODELO_OLLAMA],

stdin=subprocess.PIPE, stdout=subprocess.PIPE,

stderr=subprocess.PIPE, text=True, encoding='utf-8')

stdout, = process.communicate(input=promptminimo, timeout=60)

return stdout.strip()

except Exception:

return "Conexión con Frankie interrumpida."

if name == "__main__":

if len(sys.argv) < 2:

print("\n🔎 Uso: dex <nombre_o_numero>")

else:

respuesta = consultar_frankie(" ".join(sys.argv[1:]))

print(f"\n📟 Dex: {respuesta}\n")

hablar_hibrido(respuesta)

0