CCG classification · rate SSfile 1000-7

▮ subject fileCCG · 20th ward
subject
ssrankedghoul
rate
SS
photo: Re-l Mayer, Ergo Proxy

Artem Horhulenko

Informatik @ RUB · 3rd semester

Personal site. The professional one is horhulenko.dev.

Taglines

yukinoshita ⋙ any other tsundere · nino ⋙ any other nakano · servantr ⋙ any other 1c dev

checking the sky…RUB campus · Bochum
checking the sky…
preview the sky changes the background, not the forecast
scroll
01 //

now

last updated October 13, 2026

studying

Informatik @ RUB

Third semester at Ruhr-Universität Bochum.

ruhr-uni-bochum.de

shipping release soon

RMI

A native rethink of the RUB app — Kotlin & Compose on Android, SwiftUI on iOS.

  • Compose
  • SwiftUI
see the project

learning

español → A1

  • hola
  • gracias
  • ¿dónde está la biblioteca?
  • subjuntivolater
A0A1

Target: A1 by the end of the semester.

02 //

work

flagship · 01release soon

RMI

The RUB student app, rethought natively: timetable, Mensa, Semesterticket, uni mail and Moodle in one offline-first app behind a single login.

unofficial · not affiliated with Ruhr-Universität Bochum

  • AndroidKotlin · Jetpack Composev0.2.0
  • iOS 26SwiftUI · Liquid Glassv0.1.4
  • watchOSApple Watch app
What's inside:
  • timetable
  • Mensa
  • Semesterticket
  • library card
  • mail
  • Moodle
  • course catalogue
tap a phone

Screens from the built-in demo mode — the student, the grades and the inbox are all fictional.

RMI, by the numbers · 02

under the hood

release APK

~3.4 MB

Android, approximate

tests

560+

Swift Testing, iOS

142

unit tests, Android

AKAFÖ Mensa outlets, native

26

lines of code, raw count

Swift ~89kKotlin ~34k

Highlights

  1. Real data, not a link list

    Native Mensa with allergen and diet filters, a full IMAP/SMTP mail client, Moodle with native LaTeX, the course catalogue, ticket and library card. All of it works offline.

  2. Two apps, no shared code

    Kotlin + Compose on Android, SwiftUI on iOS. The Swift logic was re-implemented from Kotlin and checked by porting the Android tests 1:1 with the same fixtures.

  3. Lives outside the app, too

    Home-screen widgets, a lecture Live Activity in the Dynamic Island, a Control Center ticket button, Siri shortcuts and an Apple Watch app with complications.

  4. A timetable that reads the fine print

    Courses come in from the VVZ and link to Moodle on their own. Exam dates and room changes are suggested from announcements and the faculty's exam PDF, parsed by a tiny pure-Kotlin PDF reader.

  5. The password is sealed

    The RUB login sits in a core module with internal fields, so feature code can't even compile a read of it. Encrypted with AES-256-GCM in the Android Keystore.

  6. A demo that never phones home

    Demo mode shows every feature with fictional data and refuses to contact any RUB login service while it runs. That part is tested too.

own project

proxy-checker (opens in a new tab)

Rust · CLI · v1.0.0 · single static binary · Linux + Windows

Pings the same targets through an HTTP CONNECT proxy and directly, then prints the overhead per target as a colour-coded table.

Rust0starslast push:licence:MIT
contribution

TypeR (opens in a new tab)

fork of ScanR/TypeR · 34 commits ahead

A Photoshop extension for manga and comics typesetters. My fork adds dependency upgrades, a release workflow, an install script that restarts Photoshop for you, and fixes for paste and vertical selection.

CSS0starslast push:licence:MIT
this site
you are here
nuxt
4 · vue 3.5 · bun
webgl2
web audio
i18n
enderu

zxc.rip

Nuxt 4 · Vue 3.5 · WebGL2 · Web Audio · i18n · Bun

This site: a procedural city in WebGL2 that follows the live weather at the RUB campus, a generative radio in Web Audio, three languages.

card 1 of 4
03 //

stack

03.105

web

  • TypeScriptlang
  • Vueui
  • Nuxtframework
  • Node.jsruntime
  • Bunruntime
03.204

systems

  • Rustlang
  • Clang
  • C++lang
  • x86-64 asmisa
03.304

mobile (RMI)

  • Kotlinandroid
  • Jetpack Composeui
  • Swiftios
  • SwiftUIui
03.403

reversing

  • IDA / Hex-Raysdisasm
  • Ghidradisasm
  • x64dbgdebugger
03.505

infra

  • Dockerops
  • Linuxos
  • SQLdata
  • Pythonscripts
  • Gitvcs

languages

  • ukукраїнська
  • ruрусский
  • dedeutsch
  • enenglish
  • esespañollearning: A1 · loading…
04 //

about

decompile me.

About me, written as decompiled pseudocode.

IDA — ssrankedghoul.i64 (ssrankedghoul.exe)

Decompiled pseudocode. Arrow keys move the cursor, N renames a variable, F2 toggles a breakpoint, F5 decompiles.

1// Hex-Rays decompiler output
2
3__int64 __fastcall ssrankedghoul(world_t *)
4{
5 ghoul_t *;// rax
6 int ;// edx
7 const char *;// rsi
8 __int64 ;// [rsp+28h] [rbp-10h]
9
10 = ghoul_new(, "Artem Horhulenko");// real name
11 ->handle = "ssrankedghoul";// after Kaneki Ken, Tokyo Ghoul
12 ->country = COUNTRY_DE;// Germany
13 ->langs = LANG_UK | LANG_RU | LANG_DE | LANG_EN;// Ukrainian, Russian, German, English
14 ->langs |= lang_load(LANG_ES, LEVEL_A1);// learning, target A1
15 enroll(, "RUB", "Informatik", 3);// Informatik at RUB, 3rd semester
16 ship(&RMI, "Kotlin/Compose", "SwiftUI");// the RUB app, rebuilt native
17
18 while ( !->sleep )// main loop
19 {
20 = rand() % 2;
21 if ( ! )
22 solve("crackmes.one");
23 else
24 solve("root-me.org");
25 = shikimori_next(, 182);// 182 completed on Shikimori, favourite: Oregairu
26 = yt_music_next(LIKED, 1436);// 1436 likes: phonk, darkwave, Би-2, Lil Peep
27 }
28 return 0xDEADBEEF;
29}
xrefs to ghoul_new1
DirTAddressText
herepv1 = ghoul_new(a1, "Artem Horhulenko");
Output

Possible file format: PE64 (ssrankedghoul.exe)

Autoanalysis subsystem has been initialized.

The initial autoanalysis has been finished.

F5 decompiles, N renames, F2 sets a breakpoint.

AU: idlessrankedghoul+9line 10/29DownDisk: 64GB
05 //

shelf

★ the 10/10 wall

22titles rated 10 out of 10

shikimori // stats

live from Shikimori

182titles completed

mean score
7.15
episodes
1,629
watch time
27 days
score spread

mostly

  • romance111
  • comedy74
  • drama55
  • fantasy43
  • supernatural33

76 planned22 on hold11 dropped

Shikimori profile (opens in a new tab)

favourite titles

recently on the list

  1. Made in Abyss: Dawn of the Deep Soulcompleted8
  2. Made in Abysscompleted7
  3. Cyberpunk: Edgerunnerscompleted8
  4. Ergo Proxycompleted10
  5. Frieren: Beyond Journey's Endcompleted10
  6. My Deer Friend Nokotandropped3
06 //

sound

standbyzxc.rip radioND-9696–110 bpmkey —

night drive

press play to tune in

intro
groove
lift
breakdown
drop
outro
0:00—:——
07 //

gacha

// pity

S or better within 20
SS within 60

a ×10 always holds an A or better

// archive

0/470% complete

  • SS07-001SS — still classified
  • SS07-002SS — still classified
  • SS07-003SS — still classified
  • SS07-004SS — still classified
  • S07-005S — still classified
  • S07-006S — still classified
  • S07-007S — still classified
  • S07-008S — still classified
  • S07-009S — still classified
  • S07-010S — still classified
  • A07-011A — still classified
  • A07-012A — still classified
  • A07-013A — still classified
  • A07-014A — still classified
  • A07-015A — still classified
  • A07-016A — still classified
  • A07-017A — still classified
  • A07-018A — still classified
  • A07-019A — still classified
  • A07-020A — still classified
  • B07-021B — still classified
  • B07-022B — still classified
  • B07-023B — still classified
  • B07-024B — still classified
  • B07-025B — still classified
  • B07-026B — still classified
  • B07-027B — still classified
  • B07-028B — still classified
  • B07-029B — still classified
  • B07-030B — still classified
  • B07-031B — still classified
  • B07-032B — still classified
  • B07-033B — still classified
  • B07-034B — still classified
  • B07-035B — still classified
  • C07-036C — still classified
  • C07-037C — still classified
  • C07-038C — still classified
  • C07-039C — still classified
  • C07-040C — still classified
  • C07-041C — still classified
  • C07-042C — still classified
  • C07-043C — still classified
  • C07-044C — still classified
  • C07-045C — still classified
  • C07-046C — still classified
  • C07-047C — still classified

Found files can be reopened any time.

built with

  • Nuxt 4
  • Vue
  • WebGL2
  • Web Audio

hints

  • ↑ ↑ ↓ ↓ ← → ← → B A

zxc.rip

© 2026 Artem Horhulenkolast updated