jdebski / ilmenit
Homepage · 2026 · ilmenit.github.io

Jakub Dębski

known on pouët, Demozoo and GitHub as ilmenit

Chief Product Officer at ESET. My first computer was an 8-bit Atari 65XE when I was six years old. I learned BASIC on it, and computers have been a passion ever since. An Amiga 500 came next, then a PC, but the Atari is the one I kept coming back to. On evenings and weekends I still write code, often for machines from that era.

ESET · product Agenda · demoscene Atari 8-bit · since the nineties
§ 01 · About

An incomplete table of contents for one head.

Long reads / crafts / obsessions

I have spent twenty-five years in cybersecurity and most of those years in product and engineering leadership at the same company. In parallel, I have never stopped writing code for the machines I grew up with, or entering demoscene competitions where the brief is measured in bytes rather than features.

The through-line across most of what follows is a handful of long-standing interests: machine learning, classical as much as the deep-learning sort; IT security and reverse engineering; artificial life and evolutionary computation; all flavors of optimization; applied mathematics, algorithms and information theory; design patterns, programming languages, and programming itself as a craft.

This page collects the work I do outside of the day job, and a little of the day job too. If something here looks interesting, the links go to the real thing: source code, downloads, write-ups, forum threads.

Based in Slovakia. Fluent in English, native Polish, advanced Slovak, basic Russian and German. Reachable by email at the bottom of the page.

Atari 130XE, an 8-bit home computer
Atari 65XE / 130XE · 1985First computer. BASIC, then assembly, then a decade of learning the 6502 the long way round. Still the platform I keep coming back to.
Commodore Amiga 500, released 1987
Amiga 500 · 1987What came next. Multitasking, hardware copper lists, and demoscene software on floppies. A different kind of ambition.
§ 02 · Work

Twenty-five years of cybersecurity, mostly at the same company.

ESET · Arcabit · MKS

I started in 2000 as a virus analyst at MKS in Warsaw, disassembling DOS viruses by hand. Since 2017 I have been Chief Product Officer at ESET, where I set the product vision and strategy for a portfolio that today centers on XDR, MDR, endpoint and cloud security.

Before the product role, I spent a decade running R&D. I founded ESET Poland R&D in 2008 and grew it from a legal entity on paper to an award-winning office of fifty-plus engineers and analysts, and from 2013 led Core Technology Development, responsible for the detection engine and the surrounding cloud systems.

  • 2017 → nowChief Product Officer · ESET
  • 2013 → 2017Head of Core Technology Development · ESET
  • 2008 → 2017Founder & Managing Director · ESET Poland R&D
  • 2007 → 2008Senior Developer · ESET
  • 2005 → 2006Antivirus Engine Lead · Arcabit
  • 2003 → 2005Senior Developer · MKS
  • 2000 → 2003Virus Analyst · MKS
  • 2008 → Founded ESET Poland R&D and grew it from a legal entity on paper to an award-winning office of fifty-plus engineers and analysts. The office design later inspired other regional offices.
  • 2013 → Built the foundation of ESET's first machine-learning pipeline for automated malware classification, in Python with scikit-learn, XGBoost and TensorFlow. Still in production.
  • 2016 → Initiated and delivered ESET's EDR product, later the XDR platform that underpins the current MDR service offering.
  • Received the ESET Medal of Honor, an award voted by employees for representing the company's values.
  • + Designed a hiring program for reverse engineers and security engineers that is still in use as a recruitment method across several offices.
02 / a

Areas of expertise

Product management, vision and strategy. XDR, EDR, MDR, endpoint and cloud security. Applied machine learning. Reverse engineering. Design patterns and programming languages. People and branch-office management. Public speaking on all of the above.

02 / b

Education

MSc in Computer Science, Military University of Technology, Warsaw (2000–2005). My thesis, "Detection of Internet Threats using Neural Networks", applied neural networks to intrusion detection a good decade before "AI" became a marketing word.

02 / c

Speaking

I speak regularly at international security and business conferences, and at internal ESET events. Topics tend to cluster around threat intelligence, machine learning in security, product strategy, and the bits of our research that are safe to talk about in public. Audiences have been kind enough to put me near the top of the ratings more than once.

§ 03 · Projects

Three things I do on evenings and weekends.

Games / Sizecoding / Tools

Make games for old computers. Write demoscene intros that fit in a few hundred bytes. Build the tools that make both possible.

03 / a · Games

Small games for old hardware.

Atari 8-bit, mostly

Usually Atari 8-bit, occasionally with ports to other platforms. The constraints are the point: sixty-four kilobytes of RAM concentrates the mind.

Dozens of finished or half-finished projects over the years; a few worth showing.

2010
His Dark Majesty gameplay screenshot

His Dark Majesty

Turn-based strategyAtari 8-bit

Heavily inspired by the old Java mobile games Reign of Swords and Ancient Empires, with a nod to Advance Wars and The Battle for Wesnoth. Open map, like chess: no randomness, no hidden information, just clear rules, terrain effects, unit abilities, and positioning. Reviewers were kind to it at the time and it is still played today.

Code, graphics and design: Ilmenit · Music and sound: Jakub Husak · Additional code: Marok · Additional graphics: Kaz, Powrooz · Language: Shawn Jefferson.

2013
The Hunt gameplay screenshot

The Hunt

Tactical roguelikeAtari 8-bitABBUC SW Contest

You play the predator. A reimagined Hoplite for the Atari 8-bit: tight rulesets, turn-based combat, one clean decision at a time. From the 2013 ABBUC Software Contest. Code by me, graphics by Paweł "ripek" Szewczyk, music by Michał "stRing" Radecki.

2024
The Art of Masquerade cover art

The Art of Masquerade

Narrative / IFCustom VMAI-assisted

An experiment in AI-assisted authoring. The interesting part, for programmers, is underneath the story: a custom programming language (NIF) with a hand-written lexer, parser, compiler and stack-based VM, built from scratch to run the narrative engine.

2002

Xenocide: The Roguelike

RoguelikeSurvival horror

A text-based, turn-based roguelike inspired by Alien, Predator and Half-Life, with mechanics borrowed from Fallout.

2025
Pressure board game screenshot

Pressure

Minimalist board gamePlayable in browser

A small abstract board game on a 5×5 grid with twelve tokens. A pushing mechanic makes it behave more like chess than its size suggests. Playable directly from this site against a local opponent.

10 LINES

Ten-line Roguelike

Turbo Basic XLAtari 8-bitNOMAM Basic Ten-Liners

A roguelike written in ten lines of Atari BASIC, later re-implemented on PICO-8 and TIC-80 by the community.

2014

Abyss

Space tradingAtari 8-bitNOMAM Basic Ten-Liners 2014

A galaxy in ten lines of Turbo Basic XL. You are a trader; Armageddon arrives on day 1000; between now and then there are planets, missions, and a black hole or two.

2010
Adventure Studio screenshot — dungeon scene with narration

Adventure Studio

Authoring toolAtari 8-bitGraphic adventures

A tool for building graphic adventure games on the Atari 8-bit. Bitmap rooms, object interaction, scripted dialog, all sized to fit on the original hardware. Open source; development thread on AtariAge goes back to 2010.

2005
Moon Defence gameplay screenshot

Moon Defence

ArcadeWindowsAllegro

A remake of Tom Hudson's Atari 8-bit classic Planetary Defense. Mouse, keyboard, high scores, explosions.

03 / b · Retro-computing

Tools I wanted to exist.

Side projects · hardware

Side projects that exist mostly because I wanted the tool to exist, plus a few pieces of hardware I keep going back to.

CC65 Advanced Optimizations

github.com/ilmenit/CC65-Advanced-Optimizations

A write-up on squeezing performance and size out of C on the 6502, for people who think compilers are magic but still want the magic to fit in 64 kilobytes.

DOSBUILD / DOSBOXBUILD

github.com/ilmenit/DOSBUILD

Preconfigured environments for writing MS-DOS programs in C and C++. Compile-on-save, no clicking through IDE menus; the output runs in a virtual machine on the side, DOSBox for DOSBOXBUILD or VirtualBox for DOSBUILD. The loop is: save the file, watch it run. See also DOSBOXBUILD.

Retro handhelds

The other side of retro-computing: playing old games on small modern devices built by people who love the same machines. Current favorites are the Miyoo Mini and the Ayn Odin 2. Both are small miracles of how far emulation and embedded hardware have come.

prime-fold

github.com/ilmenit/prime-fold

The same optimization family applied to a very different problem: folding primes. Related in spirit to RastaConverter in that the heavy lifting is a well-tuned local search.

§ 04 · Sizecoding

Intros that fit in 256 bytes, sometimes less.

Group: Agenda

Member of Agenda. I focus mostly on sizecoding: writing intros in 256, 128, 64 or even fewer bytes that still manage to draw something worth watching. It is an odd discipline, closer to mathematical puzzle-solving than to software engineering, and I enjoy the way it strips programming down to instructions and cycles.

2014
Meteoriks · Best Tiny Intro · Mona
A rendition of the Mona Lisa, since ported to a surprising number of platforms, including a Stack Exchange answer that runs in Excel.
256 b · Atari XL/XE
2020
Nano Award · Moonrise
Best Oldschool Tiny Intro
Tiny intro
2021
Nano Award · Quarter Express
Best Oldschool Tiny Intro
Tiny intro
2022
Nano Award · Murkwood
Best Oldschool Tiny Intro
256 b · Atari XL/XE
2022
Nano Award · Thrive
Best Fantasy Console Tiny Intro
TIC-80
04 / a · Productions

Selected intros, sources and screenshots.

Full archive: github.com/ilmenit/sizecoding. Production lists on pouët and Demozoo.

Encounter screenshot
Encounter
256 bMicroW8Outline 2024
A cinematic experience with no GPU and no shaders.
Urban Drift screenshot
Urban Drift
512 bMicroW8Lovebyte 2025
Raymarched steel canyons, reflections chasing each other.
Chaos Rose screenshot
Chaos Rose
256 bMicroW8Lovebyte 2024
Parametric rose, after Paul Nylander.
Midnight Dream screenshot
Midnight Dream
256 bMicroW8Lovebyte 2024
Silver moonlight weaving dreams.
Murkwood screenshot
Murkwood
256 bAtari XL/XELovebyte 2022
Nano Award 2022
Procedural forest, rain and four-channel music. Rain code by Koala.
Rescue on Mars screenshot
Rescue on Mars!
256 bAtari XL/XELovebyte 2022
A flight over procedural Martian terrain. Real-time, full-screen, double-buffered.
Sapere Aude screenshot
Sapere Aude
256 bC64Outline 2021
First C64 intro. Dare to know.
Thrive animation
Thrive
TinyTIC-802022
Nano Award 2022
What will grow out of a tiny seed?
Parenthood screenshot
Parenthood
256 bAtari XL/XELovebyte 2022
Moments matter. Graphics by Emba.
Phase of Haze screenshot
Phase of Haze
128 bAtari XL/XELovebyte 2022
Passing haze of discontent.
Stairs in the Sky screenshot
Stairs in the Sky
128 bAtari XL/XELovebyte 2022
The exit you were looking for.
Dirt Race screenshot
Dirt Race
128 bAtari XL/XELovebyte 2025
Loud, fast and dirty.
Dekabyte screenshot
Dekabyte
64 bAtari XL/XELovebyte 2022
Less than hectobyte.
Graphite32 screenshot
Graphite32
32 bAtari XL/XELovebyte 2022
Carbon fiber-reinforced polymer.
Sunrise8 screenshot
Sunrise8
8 bAtari XL/XELovebyte 2022
Day by day. Eight bytes, not counting the loader.
§ 05 · Beyond the keyboard

Family first. Before that, slightly unreasonable hobbies.

Off the computer

Married, two children, and most of what used to be my free time is now spent with them, which is the right trade.

  • 2001Skydiving license
  • 2002Paragliding license
  • 2005Caving. Past member of several caving clubs. Great Snowy Cave, Poland, 800 m deep
  • 2009Trad climbing. An 18-pitch 5.10c route in the Dolomites
  • 2014Reykjavík Marathon. 3:45
  • Travelling and backpacking. Forty-plus countries across six continents

Mountains, wild places and long walks are still the preferred way to reset.

§ 06 · Elsewhere

Where else to find me, and a quiet tip jar.

Profiles · mail

If something here saved you time or made your afternoon a bit better, you are welcome to buy me a coffee. No obligation at all.