1<!-- src/templates/layout.ecr --> 2<!DOCTYPE html> 3<html lang="en"> 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>CHAINS // Journal Series // Technical Logs - SOL.VIN</title> 8 9 <meta name="description" content="SOL.VIN - Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash."> 10 <meta name="author" content="Ian Rash"> 11 12 13 <meta name="keywords" content="DevOps, Systems Engineering, Linux Kernel, Crystal, Ruby, Python, Infrastructure as Code, OpenTofu, Terraform, Security Engineering, Reverse Engineering"> 14 15 <meta name="robots" content="index, follow"> 16 17 18 <link rel="canonical" href="https://sol.vin/chains"> 19 20 <link rel="alternate" type="application/rss+xml" title="SOL.VIN Journal - Global RSS Feed" href="../rss.xml"> 21 22 23 <meta property="og:title" content="CHAINS // Journal Series // Technical Logs - SOL.VIN"> 24 <meta property="og:description" content="SOL.VIN - Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash."> 25 <meta property="og:type" content="website"> 26 <meta property="og:url" content="https://sol.vin/chains"> 27 <meta property="og:image" content="https://sol.vin/images/logo.png"> 28 <meta property="og:site_name" content="SOL.VIN"> 29 30 <meta name="twitter:card" content="summary_large_image"> 31 <meta name="twitter:title" content="CHAINS // Journal Series // Technical Logs - SOL.VIN"> 32 <meta name="twitter:description" content="SOL.VIN - Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash."> 33 <meta name="twitter:image" content="https://sol.vin/images/logo.png"> 34 35 36 <link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png"> 37 <link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png"> 38 <link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png"> 39 <link rel="manifest" href="../site.webmanifest"> 40
40<script> 41 window.SITE_PALETTES = [{"id":"warm_paper","name":"Warm Paper (Default)","colors":{"bg_color":"#faf6ee","bg_window":"#faf6ee","text_color":"#1c1c1e","link_color":"#303030","text_dim":"#1c1c1e","border_color":"#1c1c1e","border_active":"#1c1c1e","accent_color":"#1c1c1e","shadow_color":"#1c1c1e","accent_secondary":"#3a3a3c","accent_tertiary":"#545458","accent_quaternary":"#303030","cube":"#1c1c1e","cube_hover":"#303030","resume_job_role":"#1c1c1e","resume_job_company":"#303030","resume_job_meta":"#545458","resume_skill_bg":"#1c1c1e","resume_skill_text":"#faf6ee","resume_badge_bg":"#1c1c1e","resume_badge_text":"#faf6ee","filter_start_color":"#1c1c1e","filter_end_color":"#faf6ee"},"palette_colors":{"cream":"#faf6ee","dark_charcoal":"#1c1c1e","charcoal":"#303030","dark_grey":"#3a3a3c","grey":"#545458"},"variables":{"bg_color":"cream","bg_window":"cream","text_color":"dark_charcoal","link_color":"charcoal","text_dim":"dark_charcoal","border_color":"dark_charcoal","border_active":"dark_charcoal","accent_color":"dark_charcoal","shadow_color":"dark_charcoal","accent_secondary":"dark_grey","accent_tertiary":"grey","accent_quaternary":"charcoal","cube":"dark_charcoal","cube_hover":"charcoal","resume_job_role":"dark_charcoal","resume_job_company":"charcoal","resume_job_meta":"grey","resume_skill_bg":"dark_charcoal","resume_skill_text":"cream","resume_badge_bg":"dark_charcoal","resume_badge_text":"cream","filter_start_color":"dark_charcoal","filter_end_color":"cream"}},{"id":"monochrome","name":"Monochrome","colors":{"bg_color":"#ffffff","bg_window":"#ffffff","text_color":"#000000","link_color":"#000000","text_dim":"#555555","border_color":"#000000","border_active":"#000000","accent_color":"#000000","shadow_color":"#000000","accent_secondary":"#333333","accent_tertiary":"#555555","accent_quaternary":"#777777","cube":"#000000","cube_hover":"#333333","resume_job_role":"#000000","resume_job_company":"#333333","resume_job_meta":"#555555","resume_skill_bg":"#000000","resume_skill_text":"#ffffff","resume_badge_bg":"#000000","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"white":"#ffffff","black":"#000000","grey":"#555555","dark_grey":"#333333","light_grey":"#777777"},"variables":{"bg_color":"white","bg_window":"white","text_color":"black","link_color":"black","text_dim":"grey","border_color":"black","border_active":"black","accent_color":"black","shadow_color":"black","accent_secondary":"dark_grey","accent_tertiary":"grey","accent_quaternary":"light_grey","cube":"black","cube_hover":"dark_grey","resume_job_role":"black","resume_job_company":"dark_grey","resume_job_meta":"grey","resume_skill_bg":"black","resume_skill_text":"white","resume_badge_bg":"black","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"white"}},{"id":"inversion","name":"Inversion","colors":{"bg_color":"#000000","bg_window":"#000000","text_color":"#ffffff","link_color":"#ffffff","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#ffffff","accent_color":"#ffffff","shadow_color":"#ffffff","accent_secondary":"#dddddd","accent_tertiary":"#aaaaaa","accent_quaternary":"#888888","cube":"#ffffff","cube_hover":"#aaaaaa","resume_job_role":"#ffffff","resume_job_company":"#dddddd","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ffffff","resume_skill_text":"#000000","resume_badge_bg":"#ffffff","resume_badge_text":"#000000","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","light_grey":"#aaaaaa","grey":"#dddddd","dark_grey":"#888888"},"variables":{"bg_color":"black","bg_window":"black","text_color":"white","link_color":"white","text_dim":"light_grey","border_color":"white","border_active":"white","accent_color":"white","shadow_color":"white","accent_secondary":"grey","accent_tertiary":"light_grey","accent_quaternary":"dark_grey","cube":"white","cube_hover":"light_grey","resume_job_role":"white","resume_job_company":"grey","resume_job_meta":"light_grey","resume_skill_bg":"white","resume_skill_text":"black","resume_badge_bg":"white","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"white"}},{"id":"monokai","name":"Monokai","colors":{"bg_color":"#272822","bg_window":"#1e1f1c","text_color":"#f8f8f2","link_color":"#66d9ef","text_dim":"#75715e","border_color":"#f92672","border_active":"#a6e22e","accent_color":"#fd971f","shadow_color":"#141411","accent_secondary":"#a6e22e","accent_tertiary":"#66d9ef","accent_quaternary":"#f92672","cube":"#f8f8f2","cube_hover":"#f92672","resume_job_role":"#fd971f","resume_job_company":"#66d9ef","resume_job_meta":"#75715e","resume_skill_bg":"#f92672","resume_skill_text":"#ffffff","resume_badge_bg":"#a6e22e","resume_badge_text":"#272822","filter_start_color":"#272822","filter_end_color":"#f8f8f2"}
41,"palette_colors":{"charcoal":"#272822","dark_charcoal":"#1e1f1c","off_white":"#f8f8f2","grey":"#75715e","cyan":"#66d9ef","pink":"#f92672","green":"#a6e22e","orange":"#fd971f","black":"#141411","white":"#ffffff"},"variables":{"bg_color":"charcoal","bg_window":"dark_charcoal","text_color":"off_white","link_color":"cyan","text_dim":"grey","border_color":"pink","border_active":"green","accent_color":"orange","shadow_color":"black","accent_secondary":"green","accent_tertiary":"cyan","accent_quaternary":"pink","cube":"off_white","cube_hover":"pink","resume_job_role":"orange","resume_job_company":"cyan","resume_job_meta":"grey","resume_skill_bg":"pink","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"charcoal","filter_start_color":"charcoal","filter_end_color":"off_white"}},{"id":"candy","name":"Candy","colors":{"bg_color":"#fdf0f8","bg_window":"#ffffff","text_color":"#4a2c58","link_color":"#d84b9b","text_dim":"#8c6899","border_color":"#e5a8d8","border_active":"#d84b9b","accent_color":"#b8388c","shadow_color":"#d6b2dc","accent_secondary":"#d84b9b","accent_tertiary":"#b8388c","accent_quaternary":"#e5a8d8","cube":"#4a2c58","cube_hover":"#d84b9b","resume_job_role":"#b8388c","resume_job_company":"#d84b9b","resume_job_meta":"#8c6899","resume_skill_bg":"#d84b9b","resume_skill_text":"#ffffff","resume_badge_bg":"#b8388c","resume_badge_text":"#ffffff","filter_start_color":"#4a2c58","filter_end_color":"#fdf0f8"},"palette_colors":{"blush_pink":"#fdf0f8","white":"#ffffff","plum":"#4a2c58","mauve":"#8c6899","hot_pink":"#d84b9b","pastel_pink":"#e5a8d8","magenta":"#b8388c","lavender":"#d6b2dc"},"variables":{"bg_color":"blush_pink","bg_window":"white","text_color":"plum","link_color":"hot_pink","text_dim":"mauve","border_color":"pastel_pink","border_active":"hot_pink","accent_color":"magenta","shadow_color":"lavender","accent_secondary":"hot_pink","accent_tertiary":"magenta","accent_quaternary":"pastel_pink","cube":"plum","cube_hover":"hot_pink","resume_job_role":"magenta","resume_job_company":"hot_pink","resume_job_meta":"mauve","resume_skill_bg":"hot_pink","resume_skill_text":"white","resume_badge_bg":"magenta","resume_badge_text":"white","filter_start_color":"plum","filter_end_color":"blush_pink"}},{"id":"pastel","name":"Pastel","colors":{"bg_color":"#f7f5ff","bg_window":"#ffffff","text_color":"#2d2738","link_color":"#ff6b8b","text_dim":"#786b8e","border_color":"#a288e3","border_active":"#ff6b8b","accent_color":"#9b5de5","
41shadow_color":"#d0c4e8","accent_secondary":"#ff6b8b","accent_tertiary":"#9b5de5","accent_quaternary":"#a288e3","cube":"#2d2738","cube_hover":"#a288e3","resume_job_role":"#9b5de5","resume_job_company":"#ff6b8b","resume_job_meta":"#786b8e","resume_skill_bg":"#9b5de5","resume_skill_text":"#ffffff","resume_badge_bg":"#ff6b8b","resume_badge_text":"#ffffff","filter_start_color":"#2d2738","filter_end_color":"#f7f5ff"},"palette_colors":{"lavender_white":"#f7f5ff","white":"#ffffff","dark_purple":"#2d2738","muted_purple":"#786b8e","pink":"#ff6b8b","pastel_purple":"#a288e3","bright_purple":"#9b5de5","light_purple":"#d0c4e8"},"variables":{"bg_color":"lavender_white","bg_window":"white","text_color":"dark_purple","link_color":"pink","text_dim":"muted_purple","border_color":"pastel_purple","border_active":"pink","accent_color":"bright_purple","shadow_color":"light_purple","accent_secondary":"pink","accent_tertiary":"bright_purple","accent_quaternary":"pastel_purple","cube":"dark_purple","cube_hover":"pastel_purple","resume_job_role":"bright_purple","resume_job_company":"pink","resume_job_meta":"muted_purple","resume_skill_bg":"bright_purple","resume_skill_text":"white","resume_badge_bg":"pink","resume_badge_text":"white","filter_start_color":"dark_purple","filter_end_color":"lavender_white"}},{"id":"fos","name":"FOS","colors":{"bg_color":"#0000aa","bg_window":"#0000aa","text_color":"#ffffff","link_color":"#55ffff","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#55ffff","accent_color":"#ffffff","shadow_color":"#000000","accent_secondary":"#55ffff","accent_tertiary":"#ffff55","accent_quaternary":"#aaaaaa","cube":"#ffffff","cube_hover":"#55ffff","resume_job_role":"#ffffff","resume_job_company":"#55ffff","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ffffff","resume_skill_text":"#0000aa","resume_badge_bg":"#ffff55","resume_badge_text":"#000000","filter_start_color":"#0000aa","filter_end_color":"#ffffff"},"palette_colors":{"dos_blue":"#0000aa","dark_blue":"#000055","white":"#ffffff","light_grey":"#aaaaaa","dark_grey":"#555555","cyan":"#55ffff","yellow":"#ffff55","black":"#000000"},"variables":{"bg_color":"dos_blue","bg_window":"dos_blue","text_color":"white","link_color":"cyan","text_dim":"light_grey","border_color":"white","border_active":"cyan","accent_color":"white","shadow_color":"black","accent_secondary":"cyan","accent_tertiary":"yellow","accent_quaternary":"light_grey","cube":"white","cube_hover":"cyan","resume_job_role":"white","resume_job_company":"cyan","resume_job_meta":"light_grey","resume_skill_bg":"white","resume_skill_text":"dos_blue","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"dos_blue","filter_end_color":"white"}},{"id":"a64_pal","name":"A64 PAL","colors":{"bg_color":"#40318d","bg_window":"#40318d","text_color":"#7869c4","link_color":"#94e089","text_dim":"#787878","border_color":"#8b3f96","border_active":"#7869c4","accent_color":"#bfce72","shadow_color":"#000000","accent_secondary":"#94e089","accent_tertiary":"#67b6bd","accent_quaternary":"#8b3f96","cube":"#7869c4","cube_hover":"#bfce72","resume_job_role":"#bfce72","resume_job_company":"#94e089","resume_job_meta":"#787878","resume_skill_bg":"#8b3f96","resume_skill_text":"#ffffff","resume_badge_bg":"#bfce72","resume_badge_text":"#000000","filter_start_color":"#8b3f96","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","red":"#883932","cyan":"#67b6bd","purple":"#8b3f96","green":"#55a049","blue":"#40318d","yellow":"#bfce72","orange":"#8b5429","brown":"#574200","light_red":"#b86962","dark_grey":"#505050","grey":"#787878","light_green":"#94e089","light_blue":"#7869c4","light_grey":"#9f9f9f"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"light_blue","link_color":"light_green","text_dim":"grey","border_color":"purple","border_active":"light_blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"light_green","accent_tertiary":"cyan","accent_quaternary":"purple","cube":"light_blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"light_green","resume_job_meta":"grey","resume_skill_bg":"purple","resume_skill_text":"white","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"purple","filter_end_color":"white"}},{"id":"a64_ntsc","name":"A64 NTSC","colors":{"bg_color":"#0000aa","bg_window":"#0000aa","text_color":"#0088ff","link_color":"#aaff66","text_dim":"#777777","border_color":"#cc44cc","border_active":"#0088ff","accent_color":"#eeee7
417","shadow_color":"#000000","accent_secondary":"#aaff66","accent_tertiary":"#aaffee","accent_quaternary":"#cc44cc","cube":"#0088ff","cube_hover":"#eeee77","resume_job_role":"#eeee77","resume_job_company":"#aaff66","resume_job_meta":"#777777","resume_skill_bg":"#cc44cc","resume_skill_text":"#ffffff","resume_badge_bg":"#eeee77","resume_badge_text":"#000000","filter_start_color":"#cc44cc","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","red":"#880000","cyan":"#aaffee","purple":"#cc44cc","green":"#00cc55","blue":"#0000aa","yellow":"#eeee77","orange":"#dd8855","brown":"#664400","light_red":"#ff7777","dark_grey":"#333333","grey":"#777777","light_green":"#aaff66","light_blue":"#0088ff","light_grey":"#bbbbbb"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"light_blue","link_color":"light_green","text_dim":"grey","border_color":"purple","border_active":"light_blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"light_green","accent_tertiary":"cyan","accent_quaternary":"purple","cube":"light_blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"light_green","resume_job_meta":"grey","resume_skill_bg":"purple","resume_skill_text":"white","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"purple","filter_end_color":"white"}},{"id":"amigo","name":"Amigo","colors":{"bg_color":"#0055aa","bg_window":"#0055aa","text_color":"#ffffff","link_color":"#ff5500","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#ff5500","accent_color":"#ff9900","shadow_color":"#000000","accent_secondary":"#ff9900","accent_tertiary":"#ff5500","accent_quaternary":"#aaaaaa","cube":"#ffffff","cube_hover":"#ff5500","resume_job_role":"#ff9900","resume_job_company":"#ff5500","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ff5500","resume_skill_text":"#ffffff","resume_badge_bg":"#ff9900","resume_badge_text":"#000000","filter_start_color":"#0055aa","filter_end_color":"#ffffff"},"palette_colors":{"blue":"#0055aa","white":"#ffffff","light_grey":"#aaaaaa","orange":"#ff5500","amber":"#ff9900","black":"#000000"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"white","link_color":"orange","text_dim":"light_grey","border_color":"white","border_active":"orange","accent_color":"amber","shadow_color":"black","accent_secondary":"amber","accent_tertiary":"orange","accent_quaternary":"light_grey","cube":"white","cube_hover":"orange","resume_job_role":"amber","resume_job_company":"orange","resume_job_meta":"light_grey","resume_skill_bg":"orange","resume_skill_text":"white","resume_badge_bg":"amber","resume_badge_text":"black","filter_start_color":"blue","filter_end_color":"white"}},{"id":"trash80","name":"Trash80","colors":{"bg_color":"#0a0d0a","bg_window":"#121612","text_color":"#33ff33","link_color":"#66ff66","text_dim":"#1e881e","border_color":"#33ff33","border_active":"#66ff66","accent_color":"#33ff33","shadow_color":"#000000","accent_secondary":"#66ff66","accent_tertiary":"#99ff99","accent_quaternary":"#00cc00","cube":"#33ff33","cube_hover":"#66ff66","resume_job_role":"#33ff33","resume_job_company":"#66ff66","resume_job_meta":"#1e881e","resume_skill_bg":"#33ff33","resume_skill_text":"#000000","resume_badge_bg":"#66ff66","resume_badge_text":"#000000","filter_start_color":"#0a0d0a","filter_end_color":"#33ff33"},"palette_colors":{"dark_charcoal":"#0a0d0a","slate":"#121612","neon_green":"#33ff33","forest_green":"#1e881e","mint_green":"#66ff66","pastel_green":"#99ff99","green":"#00cc00","black":"#000000"},"variables":{"bg_color":"dark_charcoal","bg_window":"slate","text_color":"neon_green","link_color":"mint_green","text_dim":"forest_green","border_color":"neon_green","border_active":"mint_green","accent_color":"neon_green","shadow_color":"black","accent_secondary":"mint_green","accent_tertiary":"pastel_green","accent_quaternary":"green","cube":"neon_green","cube_hover":"mint_green","resume_job_role":"neon_green","resume_job_company":"mint_green","resume_job_meta":"forest_green","resume_skill_bg":"neon_green","resume_skill_text":"black","resume_badge_bg":"mint_green","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"neon_green"}},{"id":"classic_green","name":"Nuke","colors":{"bg_color":"#0a0a0a","bg_window":"#121212","text_color":"#33ff33","link_color":"#66ff66","text_dim":"#1e881e","border_color":"#00cc00","border_active":"#66ff66","accent_color":"#33ff33","shadow_color":"#0a0a0a","accent_secondary":"#66ff66","accent_tertiary":"#33ff33","accent_quaternary":"#1e881e","cube":"#33ff33","cube_hover":"#66ff66","resume_job_role":"#33ff33","resume_job_company":"#66ff66","resume_job_meta":"#1e881e","resume_skill_bg":"#00cc00","resume_skill_text":"#0a0a0a","resume_badge_bg":"#33ff33","resume_badge_text":"#0a0a0a","filter_start_color":"#0a0a0a","filter_end_color":"#33ff33"},"palette_colors":{"black":"#0a0a0a","dark_charcoal":"#121212","neon_green":"#33ff33","forest_green":"#1e881e","bright_green":"#66ff66","emerald":"#00cc00"},"variables":{"bg_color":"black","bg_window":"dark_charcoal","text_color":"neon_green","link_color":"bright_green","text_dim":"forest_green","border_color":"emerald","border_active":"bright_green","accent_color":"neon_green","shadow_color":"black","accent_secondary":"bright_green","accent_tertiary":"neon_green","accent_quaternary":"forest_green","cube":"neon_green","cube_hover":"bright_green","resume_job_role":"neon_green","resume_job_company":"bright_green","resume_job_meta":"forest_green","resume_skill_bg":"emerald","resume_skill_text":"black","resume_badge_bg":"neon_green","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"neon_green"}},{"id":"aperture","name":"Aperture","colors":{"bg_color":"#1f232a","bg_window":"#262a33","text_color":"#ffee55","link_color":"#ff9900","text_dim":"#c4a63a","border_color":"#ffcc00","border_active":"#ff9100","accent_color":"#ffcc00","shadow_color":"#101216","accent_secondary":"#ff9900","accent_tertiary":"#ffee55","accent_quaternary":"#ff6600","cube":"#ffee55","cube_hover":"#ff9900","resume_job_role":"#ffcc00","resume_job_company":"#ff9900","resume_job_meta":"#c4a63a","resume_skill_bg":"#ffcc00","resume_skill_text":"#1f232a","resume_badge_bg":"#ffee55","resume_badge_text":"#1f232a","filter_start_color":"#1f232a","filter_end_color":"#ffee55"},"palette_colors":{"dark_grey":"#1f232a","slate":"#262a33","yellow":"#ffee55","amber":"#c4a63a","orange":"#ff9900","gold":"#ffcc00","dark_orange":"#ff9100","bright_orange":"#ff6600","black":"#101216"},"variables":{"bg_color":"dark_grey","bg_window":"slate","text_color":"yellow","link_color":"orange","text_dim":"amber","border_color":"gold","border_active":"dark_orange","accent_color":"gold","shadow_color":"black","accent_secondary":"orange","accent_tertiary":"yellow","accent_quaternary":"bright_orange","cube":"yellow","cube_hover":"orange","resume_job_role":"gold","resume_job_company":"orange","resume_job_meta":"amber","resume_skill_bg":"gold","resume_skill_text":"dark_grey","resume_badge_bg":"yellow","resume_badge_text":"dark_grey","filter_start_color":"dark_grey","filter_end_color":"yellow"}},{"id":"smile_os","name":"SmileOS","colors":{"bg_color":"#e6e6ea","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#b30000","text_dim":"#444444","border_color":"#8b0000","border_active":"#c00000","accent_color":"#b30000","
41shadow_color":"#a0a0a8","accent_secondary":"#c00000","accent_tertiary":"#8b0000","accent_quaternary":"#b30000","cube":"#000000","cube_hover":"#b30000","resume_job_role":"#b30000","resume_job_company":"#8b0000","resume_job_meta":"#444444","resume_skill_bg":"#b30000","resume_skill_text":"#ffffff","resume_badge_bg":"#8b0000","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#e6e6ea"},"palette_colors":{"light_grey":"#e6e6ea","grey":"#c0c0c0","black":"#000000","dark_grey":"#444444","red":"#b30000","dark_red":"#8b0000","crimson":"#c00000","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"red","text_dim":"dark_grey","border_color":"dark_red","border_active":"crimson","accent_color":"red","shadow_color":"slate","accent_secondary":"crimson","accent_tertiary":"dark_red","accent_quaternary":"red","cube":"black","cube_hover":"red","resume_job_role":"red","resume_job_company":"dark_red","resume_job_meta":"dark_grey","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"dark_red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"former_rain","name":"The Former Rain","colors":{"bg_color":"#1b1726","bg_window":"#261e34","text_color":"#e8ddf5","link_color":"#c77dff","text_dim":"#8a7b9c","border_color":"#a076c5","border_active":"#c77dff","accent_color":"#d896ff","shadow_color":"#100c19","accent_secondary":"#c77dff","accent_tertiary":"#d896ff","accent_quaternary":"#a076c5","cube":"#e8ddf5","cube_hover":"#c77dff","resume_job_role":"#d896ff","resume_job_company":"#c77dff","resume_job_meta":"#8a7b9c","resume_skill_bg":"#c77dff","resume_skill_text":"#1b1726","resume_badge_bg":"#d896ff","resume_badge_text":"#1b1726","filter_start_color":"#1b1726","filter_end_color":"#e8ddf5"},"palette_colors":{"dark_purple":"#1b1726","deep_purple":"#261e34","lavender":"#e8ddf5","muted_purple":"#8a7b9c","bright_violet":"#c77dff","violet":"#a076c5","light_violet":"#d896ff","black":"#100c19"},"variables":{"bg_color":"dark_purple","bg_window":"deep_purple","text_color":"lavender","link_color":"bright_violet","text_dim":"muted_purple","border_color":"violet","border_active":"bright_violet","accent_color":"light_violet","shadow_color":"black","accent_secondary":"bright_violet","accent_tertiary":"light_violet","accent_quaternary":"violet","cube":"lavender","cube_hover":"bright_violet","resume_job_role":"light_violet","resume_job_company":"bright_violet","resume_job_meta":"muted_purple","resume_skill_bg":"bright_violet","resume_skill_text":"dark_purple","resume_badge_bg":"light_violet","resume_badge_text":"dark_purple","filter_start_color":"dark_purple","filter_end_color":"lavender"}},{"id":"ranger","name":"Ranger","colors":{"bg_color":"#1f1914","bg_window":"#2c241d","text_color":"#d4c39e","link_color":"#e06d20","text_dim":"#8c7355","border_color":"#8c603b","border_active":"#e57c25","accent_color":"#e57c25","shadow_color":"#120e0b","accent_secondary":"#e06d20","accent_tertiary":"#e57c25","accent_quaternary":"#8c603b","cube":"#d4c39e","cube_hover":"#e57c25","resume_job_role":"#e57c25","resume_job_company":"#e06d20","resume_job_meta":"#8c7355","resume_skill_bg":"#e57c25","resume_skill_text":"#faf4e1","resume_badge_bg":"#8c603b","resume_badge_text":"#faf4e1","filter_start_color":"#1f1914","filter_end_color":"#d4c39e"},"palette_colors":{"dark_brown":"#1f1914","espresso":"#2c241d","sand":"#d4c39e","tan":"#8c7355","burnt_orange":"#e06d20","brown":"#8c603b","orange":"#e57c25","black":"#120e0b","cream":"#faf4e1"},"variables":{"bg_color":"dark_brown","bg_window":"espresso","text_color":"sand","link_color":"burnt_orange","text_dim":"tan","border_color":"brown","border_active":"orange","accent_color":"orange","shadow_color":"black","accent_secondary":"burnt_orange","accent_tertiary":"orange","accent_quaternary":"brown","cube":"sand","cube_hover":"orange","resume_job_role":"orange","resume_job_company":"burnt_orange","resume_job_meta":"tan","resume_skill_bg":"orange","resume_skill_text":"cream","resume_badge_bg":"brown","resume_badge_text":"cream","filter_start_color":"dark_brown","filter_end_color":"sand"}},{"id":"bring_me_hope","name":"Bluebie","colors":{"bg_color":"#002b55","bg_window":"#003a70","text_color":"#00c8ff","link_color":"#66e0ff","text_dim":"#3a7ca5","border_color":"#00a8e8","border_active":"#00e5ff","accent_color":"#00e5ff","shadow_color":"#00152b","accent_secondary":"#66e0ff","accent_tertiary":"#00e5ff","accent_quaternary":"#00a8e8","cube":"#00c8ff","cube_hover":"#00e5ff","resume_job_role":"#00e5ff","resume_job_company":"#00c8ff","resume_job_meta":"#3a7ca5","resume_skill_bg":"#00a8e8","resume_skill_text":"#002b55","resume_badge_bg":"#00e5ff","resume_badge_text":"#002b55","filter_start_color":"#002b55","filter_end_color":"#00c8ff"},"palette_colors":{"navy":"#002b55","deep_blue":"#003a70","cyan":"#00c8ff","steel_blue":"#3a7ca5","light_blue":"#66e0ff","blue":"#00a8e8","bright_cyan":"#00e5ff","dark_navy":"#001
4152b"},"variables":{"bg_color":"navy","bg_window":"deep_blue","text_color":"cyan","link_color":"light_blue","text_dim":"steel_blue","border_color":"blue","border_active":"bright_cyan","accent_color":"bright_cyan","shadow_color":"dark_navy","accent_secondary":"light_blue","accent_tertiary":"bright_cyan","accent_quaternary":"blue","cube":"cyan","cube_hover":"bright_cyan","resume_job_role":"bright_cyan","resume_job_company":"cyan","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"navy","resume_badge_bg":"bright_cyan","resume_badge_text":"navy","filter_start_color":"navy","filter_end_color":"cyan"}},{"id":"disinherited","name":"Samuel","colors":{"bg_color":"#16120e","bg_window":"#281f18","text_color":"#faf4e1","link_color":"#f2a81d","text_dim":"#857458","border_color":"#d48815","border_active":"#c01111","accent_color":"#f2a81d","shadow_color":"#0c0906","accent_secondary":"#f2a81d","accent_tertiary":"#d48815","accent_quaternary":"#857458","cube":"#faf4e1","cube_hover":"#f2a81d","resume_job_role":"#f2a81d","resume_job_company":"#d48815","resume_job_meta":"#857458","resume_skill_bg":"#f2a81d","resume_skill_text":"#16120e","resume_badge_bg":"#c01111","resume_badge_text":"#ffffff","filter_start_color":"#16120e","filter_end_color":"#faf4e1"},"palette_colors":{"dark_brown":"#16120e","espresso":"#281f18","cream":"#faf4e1","sand":"#857458","amber":"#f2a81d","crimson":"#c01111","burnt_amber":"#d48815","black":"#0c0906","white":"#ffffff"},"variables":{"bg_color":"dark_brown","bg_window":"espresso","text_color":"cream","link_color":"amber","text_dim":"sand","border_color":"burnt_amber","border_active":"crimson","accent_color":"amber","shadow_color":"black","accent_secondary":"amber","accent_tertiary":"burnt_amber","accent_quaternary":"sand","cube":"cream","cube_hover":"amber","resume_job_role":"amber","resume_job_company":"burnt_amber","resume_job_meta":"sand","resume_skill_bg":"amber","resume_skill_text":"dark_brown","resume_badge_bg":"crimson","resume_badge_text":"white","filter_start_color":"dark_brown","filter_end_color":"cream"}},{"id":"game_station","name":"GameStation","colors":{"bg_color":"#d2d2d6","bg_window":"#e8e8ec","text_color":"#141418","link_color":"#0063be","text_dim":"#585860","border_color":"#df0024","border_active":"#00a88f","accent_color":"#c88e00","shadow_color":"#a0a0a8","accent_secondary":"#0063be","accent_tertiary":"#00a88f","accent_quaternary":"#df0024","cube":"#141418","cube_hover":"#df0024","resume_job_role":"#c88e00","resume_job_company":"#0063be","resume_job_meta":"#585860","resume_skill_bg":"#0063be","resume_skill_text":"#ffffff","resume_badge_bg":"#df0024","resume_badge_text":"#ffffff","filter_start_color":"#141418","filter_end_color":"#d2d2d6"},"palette_colors":{"light_grey":"#d2d2d6","grey_white":"#e8e8ec","black":"#141418","dark_grey":"#585860","blue":"#0063be","red":"#df0024","teal":"#00a88f","gold":"#c88e00","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey_white","text_color":"black","link_color":"blue","text_dim":"dark_grey","border_color":"red","border_active":"teal","accent_color":"gold","shadow_color":"slate","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"red","cube":"black","cube_hover":"red","resume_job_role":"gold","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"game_station_2","name":"GameStation2","colors":{"bg_color":"#090a10","bg_window":"#121520","text_color":"#e0e6f0","link_color":"#0088ff","text_dim":"#4a5870","border_color":"#00439c","border_active":"#00a2e8","accent_color":"#0072ce","shadow_color":"#040508","accent_secondary":"#0088ff","accent_tertiary":"#00a2e8","accent_quaternary":"#00439c","cube":"#e0e6f0","cube_hover":"#0088ff","resume_job_role":"#0072ce","resume_job_company":"#0088ff","resume_job_meta":"#4a5870","resume_skill_bg":"#0088ff","resume_skill_text":"#ffffff","resume_badge_bg":"#0072ce","resume_badge_text":"#ffffff","filter_start_color":"#090a10","filter_end_color":"#e0e6f0"},"palette_colors":{"black":"#090a10","dark_navy":"#121520","ice_blue":"#e0e6f0","slate_blue":"#4a5870","bright_blue":"#0088ff","navy":"#00439c","cyan_blue":"#00a2e8","royal_blue":"#0072ce","dark_black":"#040508","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_navy","text_color":"ice_blue","link_color":"bright_blue","text_dim":"slate_blue","border_color":"navy","border_active":"cyan_blue","accent_color":"royal_blue","shadow_color":"dark_black","accent_secondary":"bright_blue","accent_tertiary":"
41cyan_blue","accent_quaternary":"navy","cube":"ice_blue","cube_hover":"bright_blue","resume_job_role":"royal_blue","resume_job_company":"bright_blue","resume_job_meta":"slate_blue","resume_skill_bg":"bright_blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"ice_blue"}},{"id":"digital_guy","name":"DigitalGuy","colors":{"bg_color":"#000000","bg_window":"#110000","text_color":"#ff0000","link_color":"#ff3333","text_dim":"#880000","border_color":"#ff0000","border_active":"#ff5555","accent_color":"#ff0000","shadow_color":"#330000","accent_secondary":"#ff3333","accent_tertiary":"#ff5555","accent_quaternary":"#880000","cube":"#ff0000","cube_hover":"#ff5555","resume_job_role":"#ff0000","resume_job_company":"#ff3333","resume_job_meta":"#880000","resume_skill_bg":"#ff0000","resume_skill_text":"#ffffff","resume_badge_bg":"#ff5555","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ff0000"},"palette_colors":{"black":"#000000","dark_red":"#110000","red":"#ff0000","maroon":"#880000","light_red":"#ff3333","bright_red":"#ff5555","deep_red":"#330000","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_red","text_color":"red","link_color":"light_red","text_dim":"maroon","border_color":"red","border_active":"bright_red","accent_color":"red","shadow_color":"deep_red","accent_secondary":"light_red","accent_tertiary":"bright_red","accent_quaternary":"maroon","cube":"red","cube_hover":"bright_red","resume_job_role":"red","resume_job_company":"light_red","resume_job_meta":"maroon","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"bright_red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"red"}},{"id":"playtoy","name":"PlayToy","colors":{"bg_color":"#8bac0f","bg_window":"#9bbc0f","text_color":"#0f380f","link_color":"#0f380f","text_dim":"#1b3f1b","border_color":"#0f380f","border_active":"#306230","accent_color":"#0f380f","shadow_color":"#0f380f","accent_secondary":"#1b3f1b","accent_tertiary":"#306230","accent_quaternary":"#0f380f","cube":"#0f380f","cube_hover":"#306230","resume_job_role":"#0f380f","resume_job_company":"#0f380f","resume_job_meta":"#1b3f1b","resume_skill_bg":"#0f380f","resume_skill_text":"#9bbc0f","resume_badge_bg":"#306230","resume_badge_text":"#9bbc0f","filter_start_color":"#0f380f","filter_end_color":"#8bac0f"},"palette_colors":{"olive":"#8bac0f","light_olive":"#9bbc0f","dark_green":"#0f380f","forest_green":"#1b3f1b","green":"#306230"},"variables":{"bg_color":"olive","bg_window":"light_olive","text_color":"dark_green","link_color":"dark_green","text_dim":"forest_green","border_color":"dark_green","border_active":"green","accent_color":"dark_green","shadow_color":"dark_green","accent_secondary":"forest_green","accent_tertiary":"green","accent_quaternary":"dark_green","cube":"dark_green","cube_hover":"green","resume_job_role":"dark_green","resume_job_company":"dark_green","resume_job_meta":"forest_green","resume_skill_bg":"dark_green","resume_skill_text":"light_olive","resume_badge_bg":"green","resume_badge_text":"light_olive","filter_start_color":"dark_green","filter_end_color":"olive"}},{"id":"entertainment_system","name":"Entertainment System","colors":{"bg_color":"#e8e8ec","bg_window":"#d8d8dc","text_color":"#101012","link_color":"#c80018","text_dim":"#505055","border_color":"#202024","border_active":"#c80018","accent_color":"#c80018","shadow_color":"#a0a0a8","accent_secondary":"#c80018","accent_tertiary":"#202024","accent_quaternary":"#a0a0a8","cube":"#101012","cube_hover":"#c80018","resume_job_role":"#c80018","resume_job_company":"#c80018","resume_job_meta":"#505055","resume_skill_bg":"#c80018","resume_skill_text":"#ffffff","resume_badge_bg":"#202024","resume_badge_text":"#ffffff","filter_start_color":"#101012","filter_end_color":"#e8e8ec"},"palette_colors":{"light_grey":"#e8e8ec","grey":"#d8d8dc","black":"#101012","dark_grey":"#505055","crimson":"#c80018","charcoal":"#202024","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"crimson","text_dim":"dark_grey","border_color":"charcoal","border_active":"crimson","accent_color":"crimson","shadow_color":"slate","accent_secondary":"crimson","accent_tertiary":"
41charcoal","accent_quaternary":"slate","cube":"black","cube_hover":"crimson","resume_job_role":"crimson","resume_job_company":"crimson","resume_job_meta":"dark_grey","resume_skill_bg":"crimson","resume_skill_text":"white","resume_badge_bg":"charcoal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"super_es","name":"Super ES","colors":{"bg_color":"#f0f0f5","bg_window":"#e2e2ea","text_color":"#1b1924","link_color":"#5c439b","text_dim":"#605c70","border_color":"#4f3880","border_active":"#785dba","accent_color":"#4f3880","shadow_color":"#b0b0c0","accent_secondary":"#785dba","accent_tertiary":"#5c439b","accent_quaternary":"#605c70","cube":"#4f3880","cube_hover":"#5c439b","resume_job_role":"#4f3880","resume_job_company":"#785dba","resume_job_meta":"#605c70","resume_skill_bg":"#785dba","resume_skill_text":"#ffffff","resume_badge_bg":"#4f3880","resume_badge_text":"#ffffff","filter_start_color":"#1b1924","filter_end_color":"#f0f0f5"},"palette_colors":{"light_slate":"#f0f0f5","slate":"#e2e2ea","dark_charcoal":"#1b1924","muted_purple":"#605c70","purple":"#5c439b","deep_purple":"#4f3880","bright_purple":"#785dba","grey":"#b0b0c0","white":"#ffffff"},"variables":{"bg_color":"light_slate","bg_window":"slate","text_color":"dark_charcoal","link_color":"purple","text_dim":"muted_purple","border_color":"deep_purple","border_active":"bright_purple","accent_color":"deep_purple","shadow_color":"grey","accent_secondary":"bright_purple","accent_tertiary":"purple","accent_quaternary":"muted_purple","cube":"deep_purple","cube_hover":"purple","resume_job_role":"deep_purple","resume_job_company":"bright_purple","resume_job_meta":"muted_purple","resume_skill_bg":"bright_purple","resume_skill_text":"white","resume_badge_bg":"deep_purple","resume_badge_text":"white","filter_start_color":"dark_charcoal","filter_end_color":"light_slate"}},{"id":"m64","name":"M64","colors":{"bg_color":"#232328","bg_window":"#32323a","text_color":"#d0d0d8","link_color":"#1e68d8","text_dim":"#80808a","border_color":"#1e68d8","border_active":"#f0c018","accent_color":"#f0c018","shadow_color":"#121215","accent_secondary":"#24ac4c","accent_tertiary":"#e62828","accent_quaternary":"#f0c018","cube":"#f0c018","cube_hover":"#e62828","resume_job_role":"#f0c018","resume_job_company":"#24ac4c","resume_job_meta":"#e62828","resume_skill_bg":"#1e68d8","resume_skill_text":"#d0d0d8","resume_badge_bg":"#e62828","resume_badge_text":"#d0d0d8","filter_start_color":"#121215","filter_end_color":"#e62828"},"palette_colors":{"dark_grey":"#232328","slate":"#32323a","light_grey":"#d0d0d8","dpad_grey":"#80808a","start_red":"#e62828","a_blue":"#1e68d8","b_green":"#24ac4c","c_yellow":"#f0c018","black":"#121215"},"variables":{"bg_color":"dark_grey","bg_window":"slate","text_color":"light_grey","link_color":"a_blue","text_dim":"dpad_grey","border_color":"a_blue","border_active":"c_yellow","accent_color":"c_yellow","shadow_color":"black","accent_secondary":"b_green","accent_tertiary":"start_red","accent_quaternary":"c_yellow","cube":"c_yellow","cube_hover":"start_red","resume_job_role":"c_yellow","resume_job_company":"b_green","resume_job_meta":"start_red","resume_skill_bg":"a_blue","resume_skill_text":"light_grey","resume_badge_bg":"start_red","resume_badge_text":"light_grey","filter_start_color":"black","filter_end_color":"start_red"}},{"id":"playbox","name":"Playbox","colors":{"bg_color":"#2d224b","bg_window":"#563f91","text_color":"#ffffff","link_color":"#22c55e","text_dim":"#b0a4d0","border_color":"#8b75c8","border_active":"#22c55e","accent_color":"#ef4444","shadow_color":"#19122c","accent_secondary":"#22c55e","accent_tertiary":"#ef4444","accent_quaternary":"#8b75c8","cube":"#ffffff","cube_hover":"#22c55e","resume_job_role":"#ef4444","resume_job_company":"#22c55e","resume_job_meta":"#b0a4d0","resume_skill_bg":"#22c55e","resume_skill_text":"#2d224b","resume_badge_bg":"#ef4444","resume_badge_text":"#ffffff","filter_start_color":"#2d224b","filter_end_color":"#ffffff"},"palette_colors":{"dark_purple":"#2d224b","purple":"#563f91","white":"#ffffff","light_violet":"#b0a4d0","green":"#22c55e","violet":"#8b75c8","red":"#ef4444","deep_purple":"#19122c"},"variables":{"bg_color":"dark_purple","bg_window":"purple","text_color":"white","link_color":"green","text_dim":"light_violet","border_color":"violet","border_active":"green","accent_color":"red","shadow_color":"deep_purple","accent_secondary":"green","accent_tertiary":"red","accent_quaternary":"violet","cube":"white","cube_hover":"green","resume_job_role":"red","resume_job_company":"green","resume_job_meta":"light_violet","resume_skill_bg":"green","resume_skill_text":"dark_purple","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"dark_purple","filter_end_color":"white"}},{"id":"oui","name":"Oui","colors":{"bg_color":"#e8ecef","bg_window":"#ffffff","text_color":"#2c3238","link_color":"#00a3e0","text_dim":"#788490","border_color":"#0095d0","border_active":"#00c3ff","accent_color":"#0095d0","shadow_color":"#c8d0d8","accent_secondary":"#00a3e0","accent_tertiary":"#00c3ff","accent_quaternary":"#788490","cube":"#2c3238","cube_hover":"#00a3e0","resume_job_role":"#0095d0","resume_job_company":"#00a3e0","resume_job_meta":"#788490","resume_skill_bg":"#00a3e0","resume_skill_text":"#ffffff","resume_badge_bg":"#0095d0","resume_badge_text":"#ffffff","filter_start_color":"#2c3238","filter_end_color":"#e8ecef"},"palette_colors":{"light_blue":"#e8ecef","white":"#ffffff","charcoal":"#2c3238","slate":"#788490","cyan":"#00a3e0","bright_cyan":"#00c3ff","blue":"#0095d0","grey":"#c8d0d8"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"charcoal","link_color":"cyan","text_dim":"slate","border_color":"blue","border_active":"bright_cyan","accent_color":"blue","shadow_color":"grey","accent_secondary":"cyan","accent_tertiary":"bright_cyan","accent_quaternary":"slate","cube":"charcoal","cube_hover":"cyan","resume_job_role":"blue","resume_job_company":"cyan","resume_job_meta":"slate","resume_skill_bg":"cyan","resume_skill_text":"white","resume_badge_bg":"blue","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_blue"}},{"id":"cross_cube","name":"CrossCube","colors":{"bg_color":"#121412","bg_window":"#1a1d1a","text_color":"#e2ece2","link_color":"#107c41","text_dim":"#556855","border_color":"#107c41","border_active":"#00ff2b","accent_color":"#52b736","shadow_color":"#080a08","accent_secondary":"#00ff2b","accent_tertiary":"#52b736","accent_quaternary":"#107c41","cube":"#e2ece2","cube_hover":"#00ff2b","resume_job_role":"#52b736","resume_job_company":"#107c41","resume_job_meta":"#556855","resume_skill_bg":"#107c41","resume_skill_text":"#ffffff","resume_badge_bg":"#52b736","resume_badge_text":"#121412","filter_start_color":"#121412","filter_end_color":"#e2ece2"},"palette_colors":{"black":"#121412","dark_green":"#1a1d1a","light_green":"#e2ece2","forest_green":"#556855","green":"#107c41","neon_green":"#00ff2b","lime":"#52b736","deep_black":"#080a08","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_green","text_color":"light_green","link_color":"green","text_dim":"forest_green","border_color":"green","border_active":"neon_green","accent_color":"lime","shadow_color":"deep_black","accent_secondary":"neon_green","accent_tertiary":"lime","accent_quaternary":"green","cube":"light_green","cube_hover":"neon_green","resume_job_role":"lime","resume_job_company":"green","resume_job_meta":"forest_green","resume_skill_bg":"green","resume_skill_text":"white","resume_badge_bg":"lime","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"light_green"}}
41,{"id":"cross_cube_360","name":"CrossCube 360","colors":{"bg_color":"#e4e8ec","bg_window":"#ffffff","text_color":"#1e242b","link_color":"#107c41","text_dim":"#606d7a","border_color":"#107c41","border_active":"#7fba00","accent_color":"#7fba00","shadow_color":"#b8c0c8","accent_secondary":"#107c41","accent_tertiary":"#7fba00","accent_quaternary":"#606d7a","cube":"#1e242b","cube_hover":"#107c41","resume_job_role":"#7fba00","resume_job_company":"#107c41","resume_job_meta":"#606d7a","resume_skill_bg":"#107c41","resume_skill_text":"#ffffff","resume_badge_bg":"#7fba00","resume_badge_text":"#1e242b","filter_start_color":"#1e242b","filter_end_color":"#e4e8ec"},"palette_colors":{"light_grey":"#e4e8ec","white":"#ffffff","dark_slate":"#1e242b","slate":"#606d7a","green":"#107c41","lime":"#7fba00","grey":"#b8c0c8"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"dark_slate","link_color":"green","text_dim":"slate","border_color":"green","border_active":"lime","accent_color":"lime","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"lime","accent_quaternary":"slate","cube":"dark_slate","cube_hover":"green","resume_job_role":"lime","resume_job_company":"green","resume_job_meta":"slate","resume_skill_bg":"green","resume_skill_text":"white","resume_badge_bg":"lime","resume_badge_text":"dark_slate","filter_start_color":"dark_slate","filter_end_color":"light_grey"}},{"id":"creation","name":"Creation","colors":{"bg_color":"#141518","bg_window":"#1e2024","text_color":"#e8e8ed","link_color":"#d81b24","text_dim":"#7a7e85","border_color":"#c81018","border_active":"#e6222b","accent_color":"#d4af37","shadow_color":"#0a0b0d","accent_secondary":"#d81b24","accent_tertiary":"#e6222b","accent_quaternary":"#c81018","cube":"#e8e8ed","cube_hover":"#e6222b","resume_job_role":"#d4af37","resume_job_company":"#d81b24","resume_job_meta":"#7a7e85","resume_skill_bg":"#c81018","resume_skill_text":"#ffffff","resume_badge_bg":"#d4af37","resume_badge_text":"#141518","filter_start_color":"#141518","filter_end_color":"#e8e8ed"},"palette_colors":{"black":"#141518","dark_charcoal":"#1e2024","off_white":"#e8e8ed","grey":"#7a7e85","red":"#d81b24","dark_red":"#c81018","bright_red":"#e6222b","gold":"#d4af37","deep_black":"#0a0b0d","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_charcoal","text_color":"off_white","link_color":"red","text_dim":"grey","border_color":"dark_red","border_active":"bright_red","accent_color":"gold","shadow_color":"deep_black","accent_secondary":"red","accent_tertiary":"bright_red","accent_quaternary":"dark_red","cube":"off_white","cube_hover":"bright_red","resume_job_role":"gold","resume_job_company":"red","resume_job_meta":"grey","resume_skill_bg":"dark_red","resume_skill_text":"white","resume_badge_bg":"gold","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"off_white"}},{"id":"game_sprocket","name":"GameSprocket","colors":{"bg_color":"#1c1e22","bg_window":"#262930","text_color":"#f4f6fa","link_color":"#0088ff","text_dim":"#767e8c","border_color":"#e6001a","border_active":"#00c878","accent_color":"#0088ff","shadow_color":"#0a0c0e","accent_secondary":"#00c878","accent_tertiary":"#0088ff","accent_quaternary":"#e6001a","cube":"#f4f6fa","cube_hover":"#00c878","resume_job_role":"#00c878","resume_job_company":"#0088ff","resume_job_meta":"#767e8c","resume_skill_bg":"#e6001a","resume_skill_text":"#ffffff","resume_badge_bg":"#00c878","resume_badge_text":"#0a0c0e","filter_start_color":"#1c1e22","filter_end_color":"#f4f6fa"},"palette_colors":{"dark_charcoal":"#1c1e22","charcoal":"#262930","off_white":"#f4f6fa","grey":"#767e8c","blue":"#0088ff","red":"#e6001a","emerald":"#00c878","black":"#0a0c0e","white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"off_white","link_color":"blue","text_dim":"grey","border_color":"red","border_active":"emerald","accent_color":"blue","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"blue","accent_quaternary":"red","cube":"off_white","cube_hover":"emerald","resume_job_role":"emerald","resume_job_company":"blue","resume_job_meta":"grey","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"off_white"}},{"id":"spaces_31","name":"Spaces 3.1","colors":{"bg_color":"#ffffff","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#404040","border_color":"#000080","border_active":"#008080","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#008080","accent_tertiary":"#004080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#004080","resume_job_role":"#000080","resume_job_company":"#004080","resume_job_meta":"#404040","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"white":"#ffffff","grey":"#c0c0c0","black":"#000000","dark_grey":"#404040","navy":"#000080","teal":"#008080","blue":"#004080","dark_teal":"#004040"},"variables":{"bg_color":"white","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"teal","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"teal","accent_tertiary":"blue","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"white"}},{"id":"spaces_95","name":"Spaces 95","colors":{"bg_color":"#f0f4f4","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#333333","border_color":"#000080","border_active":"#104e8b","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#104e8b","accent_tertiary":"#008080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#000080","resume_job_role":"#000080","resume_job_company":"#104e8b","resume_job_meta":"#333333","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f4"},"palette_colors":{"light_grey":"#f0f4f4","grey":"#c0c0c0","black":"#000000","dark_grey":"#333333","navy":"#000080","blue":"#104e8b","teal":"#008080","dark_teal":"#004040","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"blue","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"navy","cube":"black","cube_hover":"navy","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_97","name":"Spaces 97","colors":{"bg_color":"#f0f4f8","bg_window":"#d4d0c8","text_color":"#000000","link_color":"#000080","text_dim":"#333333","border_color":"#2b579a","border_active":"#1084d0","accent_color":"#000080","shadow_color":"#1a385c","accent_secondary":"#1084d0","accent_tertiary":"#2b579a","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#000080","resume_job_role":"#000080","resume_job_company":"#2b579a","resume_job_meta":"#333333","resume_skill_bg":"#2b579a","resume_skill_text":"#ffffff","resume_badge_bg":"#1084d0","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f8"},"palette_colors":{"light_blue":"#f0f4f8","grey":"#d4d0c8","black":"#000000","dark_grey":"#333333","navy":"#000080","blue":"#1084d0","steel_blue":"#2b579a","dark_navy":"#1a385c","white":"#ffffff"},"variables":{"bg_color":"light_blue","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"steel_blue","border_active":"blue","accent_color":"navy","shadow_color":"dark_navy","accent_secondary":"blue","accent_tertiary":"steel_blue","accent_quaternary":"navy","cube":"black","cube_hover":"navy","resume_job_role":"navy","resume_job_company":"steel_blue","resume_job_meta":"dark_grey","resume_skill_bg":"steel_blue","resume_skill_text":"white","resume_badge_bg":"blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_blue"}},{"id":"spaces_98","name":"Spaces 98","colors":{"bg_color":"#f0f4f4","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#444444","border_color":"#000080","border_active":"#10549c","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#10549c","accent_tertiary":"#008080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#10549c","resume_job_role":"#000080","resume_job_company":"#10549c","resume_job_meta":"#444444","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f4"},"palette_colors":{"light_grey":"#f0f4f4","grey":"#c0c0c0","black":"#000000","dark_grey":"#444444","navy":"#000080","blue":"#10549c","teal":"#008080","dark_teal":"#004040","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"blue","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_2000","name":"Spaces 2000","colors":{"bg_color":"#f0f4f8","bg_window":"#d4d0c8","text_color":"#000000","link_color":"#0a246a","text_dim":"#404040","border_color":"#2c5aa0","border_active":"#18429c","accent_color":"#0a246a","shadow_color":"#203858","accent_secondary":"#18429c","accent_tertiary":"#5b7b9a","accent_quaternary":"#0a246a","cube":"#000000","cube_hover":"#18429c","resume_job_role":"#0a246a","resume_job_company":"#18429c","resume_job_meta":"#404040","resume_skill_bg":"#2c5aa0","resume_skill_text":"#ffffff","resume_badge_bg":"#2c5aa0","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f8"},"palette_colors":{"light_grey":"#f0f4f8","grey":"#d4d0c8","black":"#000000","dark_grey":"#404040","navy":"#0a246a","blue":"#18429c","steel_blue":"#5b7b9a","dark_navy":"#203858","royal_blue":"#2c5aa0","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"royal_blue","border_active":"blue","accent_color":"navy","shadow_color":"dark_navy","accent_secondary":"blue","accent_tertiary":"steel_blue","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"royal_blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_xp","name":"Spaces XP","colors":{"bg_color":"#e2ebf4","bg_window":"#ffffff","text_color":"#0f2545","link_color":"#0055ea","text_dim":"#4e6580","border_color":"#0055ea","border_active":"#2e7d32","accent_color":"#0055ea","shadow_color":"#a0b4cc","accent_secondary":"#2e7d32","accent_tertiary":"#d84315","accent_quaternary":"#0055ea","cube":"#0f2545","cube_hover":"#d84315","resume_job_role":"#0055ea","resume_job_company":"#2e7d32","resume_job_meta":"#4e6580","resume_skill_bg":"#0055ea","resume_skill_text":"#ffffff","resume_badge_bg":"#2e7d32","resume_badge_text":"#ffffff","filter_start_color":"#0f2545","filter_end_color":"#e2ebf4"},"palette_colors":{"light_blue":"#e2ebf4","white":"#ffffff","navy":"#0f2545","steel_blue":"#4e6580","blue":"#0055ea","green":"#2e7d32","orange":"#d84315","grey":"#a0b4cc"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"navy","link_color":"blue","text_dim":"steel_blue","border_color":"blue","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"orange","accent_quaternary":"blue","cube":"navy","cube_hover":"orange","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"white","filter_start_color":"navy","filter_end_color":"light_blue"}},{"id":"spaces_xp_royale","name":"Spaces XP Royale","colors":{"bg_color":"#141820","bg_window":"#1f2430","text_color":"#f0f4f9","link_color":"#4090ff","text_dim":"#7b8c9e","border_color":"#1f5ac8","border_active":"#4090ff","accent_color":"#4090ff","shadow_color":"#0a0d12","accent_secondary":"#10b981","accent_tertiary":"#4090ff","accent_quaternary":"#1f5ac8","cube":"#f0f4f9","cube_hover":"#4090ff","resume_job_role":"#4090ff","resume_job_company":"#10b981","resume_job_meta":"#7b8c9e","resume_skill_bg":"#1f5ac8","resume_skill_text":"#ffffff","resume_badge_bg":"#10b981","resume_badge_text":"#0f172a","filter_start_color":"#141820","filter_end_color":"#f0f4f9"},"palette_colors":{"dark_navy":"#141820","navy":"#1f2430","ice_blue":"#f0f4f9","slate":"#7b8c9e","bright_blue":"#4090ff","blue":"#1f5ac8","emerald":"#10b981","black":"#0a0d12","
41white":"#ffffff","dark_slate":"#0f172a"},"variables":{"bg_color":"dark_navy","bg_window":"navy","text_color":"ice_blue","link_color":"bright_blue","text_dim":"slate","border_color":"blue","border_active":"bright_blue","accent_color":"bright_blue","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"bright_blue","accent_quaternary":"blue","cube":"ice_blue","cube_hover":"bright_blue","resume_job_role":"bright_blue","resume_job_company":"emerald","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"dark_slate","filter_start_color":"dark_navy","filter_end_color":"ice_blue"}},{"id":"spaces_vista","name":"Spaces Vista","colors":{"bg_color":"#141c24","bg_window":"#1f2b37","text_color":"#f0f4f8","link_color":"#00c3ff","text_dim":"#7890a8","border_color":"#0084b4","border_active":"#00c3ff","accent_color":"#00c3ff","shadow_color":"#080d12","accent_secondary":"#34d399","accent_tertiary":"#00c3ff","accent_quaternary":"#0084b4","cube":"#f0f4f8","cube_hover":"#00c3ff","resume_job_role":"#00c3ff","resume_job_company":"#34d399","resume_job_meta":"#7890a8","resume_skill_bg":"#0084b4","resume_skill_text":"#ffffff","resume_badge_bg":"#34d399","resume_badge_text":"#0f172a","filter_start_color":"#141c24","filter_end_color":"#f0f4f8"},"palette_colors":{"dark_navy":"#141c24","navy":"#1f2b37","ice_blue":"#f0f4f8","slate":"#7890a8","cyan":"#00c3ff","blue":"#0084b4","emerald":"#34d399","black":"#080d12","white":"#ffffff","dark_slate":"#0f172a"},"variables":{"bg_color":"dark_navy","bg_window":"navy","text_color":"ice_blue","link_color":"cyan","text_dim":"slate","border_color":"blue","border_active":"cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"cyan","accent_quaternary":"blue","cube":"ice_blue","cube_hover":"cyan","resume_job_role":"cyan","resume_job_company":"emerald","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"dark_slate","filter_start_color":"dark_navy","filter_end_color":"ice_blue"}},{"id":"spaces_7","name":"Spaces 7","colors":{"bg_color":"#dce8f5","bg_window":"#ffffff","text_color":"#1a2b3c","link_color":"#0066cc","text_dim":"#5a7086","border_color":"#3385d6","border_active":"#00a0e9","accent_color":"#0066cc","shadow_color":"#abcced","accent_secondary":"#00a0e9","accent_tertiary":"#3385d6","accent_quaternary":"#0066cc","cube":"#1a2b3c","cube_hover":"#00a0e9","resume_job_role":"#0066cc","resume_job_company":"#00a0e9","resume_job_meta":"#5a7086","resume_skill_bg":"#0066cc","resume_skill_text":"#ffffff","resume_badge_bg":"#3385d6","resume_badge_text":"#ffffff","filter_start_color":"#1a2b3c","filter_end_color":"#dce8f5"},"palette_colors":{"light_blue":"#dce8f5","white":"#ffffff","navy":"#1a2b3c","steel_blue":"#5a7086","blue":"#0066cc","royal_blue":"#3385d6","bright_blue":"#00a0e9","grey_blue":"#abcced"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"navy","link_color":"blue","text_dim":"steel_blue","border_color":"royal_blue","border_active":"bright_blue","accent_color":"blue","shadow_color":"grey_blue","accent_secondary":"bright_blue","accent_tertiary":"royal_blue","accent_quaternary":"blue","cube":"navy","cube_hover":"bright_blue","resume_job_role":"blue","resume_job_company":"bright_blue","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"navy","filter_end_color":"light_blue"}},{"id":"spaces_8","name":"Spaces 8","colors":{"bg_color":"#eff3f8","bg_window":"#ffffff","text_color":"#1e1e1e","link_color":"#0078d7","text_dim":"#555555","border_color":"#2b579a","border_active":"#00a300","accent_color":"#0078d7","shadow_color":"#d0d7e0","accent_secondary":"#00a300","accent_tertiary":"#9f00a7","accent_quaternary":"#2b579a","cube":"#1e1e1e","cube_hover":"#00a300","resume_job_role":"#0078d7","resume_job_company":"#00a300","resume_job_meta":"#555555","resume_skill_bg":"#0078d7","resume_skill_text":"#ffffff","resume_badge_bg":"#9f00a7","resume_badge_text":"#ffffff","filter_start_color":"#1e1e1e","filter_end_color":"#eff3f8"},"palette_colors":{"light_grey":"#eff3f8","white":"#ffffff","charcoal":"#1e1e1e","dark_grey":"#555555","blue":"#0078d7","navy":"#2b579a","green":"#00a300","purple":"#9f00a7","grey":"#d0d7e0"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"charcoal","link_color":"blue","text_dim":"dark_grey","border_color":"navy","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"purple","accent_quaternary":"navy","cube":"charcoal","cube_hover":"green","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"purple","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_grey"}},{"id":"spaces_10","name":"Spaces 10","colors":{"bg_color":"#1f1f1f","bg_window":"#2c2c2c","text_color":"#f3f3f3","link_color":"#26b5ff","text_dim":"#9e9e9e","border_color":"#0078d4","border_active":"#26b5ff","accent_color":"#26b5ff","shadow_color":"#121212","accent_secondary":"#26b5ff","accent_tertiary":"#0078d4","accent_quaternary":"#9e9e9e","cube":"#f3f3f3","cube_hover":"#26b5ff","resume_job_role":"#26b5ff","resume_job_company":"#0078d4","resume_job_meta":"#9e9e9e","resume_skill_bg":"#0078d4","resume_skill_text":"#ffffff","resume_badge_bg":"#26b5ff","resume_badge_text":"#121212","filter_start_color":"#1f1f1f","filter_end_color":"#f3f3f3"},"palette_colors":{"dark_charcoal":"#1f1f1f","charcoal":"#2c2c2c","white":"#f3f3f3","grey":"#9e9e9e","cyan":"#26b5ff","blue":"#0078d4","black":"#121212","pure_white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"white","link_color":"cyan","text_dim":"grey","border_color":"blue","border_active":"cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"cyan","accent_tertiary":"blue","accent_quaternary":"grey","cube":"white","cube_hover":"cyan","resume_job_role":"cyan","resume_job_company":"blue","resume_job_meta":"grey","resume_skill_bg":"blue","resume_skill_text":"pure_white","resume_badge_bg":"cyan","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"white"}},{"id":"spaces_11","name":"Spaces 11","colors":{"bg_color":"#18191c","bg_window":"#24272c","text_color":"#f8f9fa","link_color":"#4cc2ff","text_dim":"#8e96a0","border_color":"#383d44","border_active":"#60cdff","accent_color":"#4cc2ff","shadow_color":"#0d0e10","accent_secondary":"#60cdff","accent_tertiary":"#4cc2ff","accent_quaternary":"#383d44","cube":"#f8f9fa","cube_hover":"#60cdff","resume_job_role":"#4cc2ff","resume_job_company":"#60cdff","resume_job_meta":"#8e96a0","resume_skill_bg":"#005fb8","resume_skill_text":"#ffffff","resume_badge_bg":"#4cc2ff","resume_badge_text":"#0d0e10","filter_start_color":"#18191c","filter_end_color":"#f8f9fa"},"palette_colors":{"dark_charcoal":"#18191c","charcoal":"#24272c","white":"#f8f9fa","grey":"#8e96a0","cyan":"#4cc2ff","slate":"#383d44","light_cyan":"#60cdff","black":"#0d0e10","blue":"#005fb8","pure_white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"white","link_color":"cyan","text_dim":"grey","border_color":"slate","border_active":"light_cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"light_cyan","accent_tertiary":"
41cyan","accent_quaternary":"slate","cube":"white","cube_hover":"light_cyan","resume_job_role":"cyan","resume_job_company":"light_cyan","resume_job_meta":"grey","resume_skill_bg":"blue","resume_skill_text":"pure_white","resume_badge_bg":"cyan","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"white"}},{"id":"fruit_os","name":"Fruit OS","colors":{"bg_color":"#d6d6d6","bg_window":"#ffffff","text_color":"#000000","link_color":"#0000aa","text_dim":"#555555","border_color":"#000000","border_active":"#3333cc","accent_color":"#0000aa","shadow_color":"#888888","accent_secondary":"#3333cc","accent_tertiary":"#0000aa","accent_quaternary":"#555555","cube":"#000000","cube_hover":"#3333cc","resume_job_role":"#0000aa","resume_job_company":"#3333cc","resume_job_meta":"#555555","resume_skill_bg":"#0000aa","resume_skill_text":"#ffffff","resume_badge_bg":"#3333cc","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#d6d6d6"},"palette_colors":{"light_grey":"#d6d6d6","white":"#ffffff","black":"#000000","dark_grey":"#555555","blue":"#0000aa","royal_blue":"#3333cc","grey":"#888888"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"black","link_color":"blue","text_dim":"dark_grey","border_color":"black","border_active":"royal_blue","accent_color":"blue","shadow_color":"grey","accent_secondary":"royal_blue","accent_tertiary":"blue","accent_quaternary":"dark_grey","cube":"black","cube_hover":"royal_blue","resume_job_role":"blue","resume_job_company":"royal_blue","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"fruit_osx","name":"Fruit OSX","colors":{"bg_color":"#e8ecef","bg_window":"#ffffff","text_color":"#1d1d1f","link_color":"#007aff","text_dim":"#6e6e73","border_color":"#007aff","border_active":"#34c759","accent_color":"#007aff","shadow_color":"#c0c8d0","accent_secondary":"#34c759","accent_tertiary":"#ff9500","accent_quaternary":"#ff3b30","cube":"#1d1d1f","cube_hover":"#ff3b30","resume_job_role":"#007aff","resume_job_company":"#34c759","resume_job_meta":"#6e6e73","resume_skill_bg":"#007aff","resume_skill_text":"#ffffff","resume_badge_bg":"#34c759","resume_badge_text":"#ffffff","filter_start_color":"#1d1d1f","filter_end_color":"#e8ecef"},"palette_colors":{"light_grey":"#e8ecef","white":"#ffffff","charcoal":"#1d1d1f","slate":"#6e6e73","blue":"#007aff","green":"#34c759","orange":"#ff9500","red":"#ff3b30","grey":"#c0c8d0"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"charcoal","link_color":"blue","text_dim":"slate","border_color":"blue","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"orange","accent_quaternary":"red","cube":"charcoal","cube_hover":"red","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_grey"}},{"id":"community","name":"Community","colors":{"bg_color":"#2c001e","bg_window":"#380c2a","text_color":"#f7f7f7","link_color":"#ff6331","text_dim":"#aea79f","border_color":"#e95420","border_active":"#ff6331","accent_color":"#ff6331","shadow_color":"#180010","accent_secondary":"#ff6331","accent_tertiary":"#e95420","accent_quaternary":"#aea79f","cube":"#f7f7f7","cube_hover":"#ff6331","resume_job_role":"#ff6331","resume_job_company":"#e95420","resume_job_meta":"#aea79f","resume_skill_bg":"#e95420","resume_skill_text":"#ffffff","resume_badge_bg":"#77216f","resume_badge_text":"#ffffff","filter_start_color":"#2c001e","filter_end_color":"#f7f7f7"},"palette_colors":{"dark_aubergine":"#2c001e","aubergine":"#380c2a","white":"#f7f7f7","grey":"#aea79f","orange":"#ff6331","ubuntu_orange":"#e95420","black":"#180010","pure_white":"#ffffff","purple":"#77216f"},"variables":{"bg_color":"dark_aubergine","bg_window":"aubergine","text_color":"white","link_color":"orange","text_dim":"grey","border_color":"ubuntu_orange","border_active":"orange","accent_color":"orange","shadow_color":"black","accent_secondary":"orange","accent_tertiary":"ubuntu_orange","accent_quaternary":"grey","cube":"white","cube_hover":"orange","resume_job_role":"orange","resume_job_company":"ubuntu_orange","resume_job_meta":"grey","resume_skill_bg":"ubuntu_orange","resume_skill_text":"pure_white","resume_badge_bg":"purple","resume_badge_text":"pure_white","filter_start_color":"dark_aubergine","filter_end_color":"white"}},{"id":"pico_8","name":"Pico-8","colors":{"bg_color":"#1d2b53","bg_window":"#1d2b53","text_color":"#fff1e8","link_color":"#29adff","text_dim":"#83769c","border_color":"#83769c","border_active":"#29adff","accent_color":"#ffff27","shadow_color":"#000000","accent_secondary":"#00e436","accent_tertiary":"#ff004d","accent_quaternary":"#ffa300","cube":"#29adff","cube_hover":"#ffff27","resume_job_role":"#ffff27","resume_job_company":"#00e436","resume_job_meta":"#83769c","resume_skill_bg":"#7e2553","resume_skill_text":"#fff1e8","resume_badge_bg":"#ff004d","resume_badge_text":"#fff1e8","filter_start_color":"#1d2b53","filter_end_color":"#fff1e8"}
41,"palette_colors":{"black":"#000000","dark_blue":"#1d2b53","dark_purple":"#7e2553","dark_green":"#008751","brown":"#ab5236","dark_grey":"#5f574f","light_grey":"#c2c3c7","white":"#fff1e8","red":"#ff004d","orange":"#ffa300","yellow":"#ffff27","green":"#00e436","blue":"#29adff","indigo":"#83769c","pink":"#ff77a8","peach":"#ffccaa"},"variables":{"bg_color":"dark_blue","bg_window":"dark_blue","text_color":"white","link_color":"blue","text_dim":"indigo","border_color":"indigo","border_active":"blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"green","accent_tertiary":"red","accent_quaternary":"orange","cube":"blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"green","resume_job_meta":"indigo","resume_skill_bg":"dark_purple","resume_skill_text":"white","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"dark_blue","filter_end_color":"white"}},{"id":"playdate","name":"Playdate","colors":{"bg_color":"#ffc72c","bg_window":"#ffc72c","text_color":"#111110","link_color":"#111110","text_dim":"#3a3a36","border_color":"#111110","border_active":"#111110","accent_color":"#111110","shadow_color":"#111110","accent_secondary":"#20201d","accent_tertiary":"#3a3a36","accent_quaternary":"#111110","cube":"#111110","cube_hover":"#20201d","resume_job_role":"#111110","resume_job_company":"#20201d","resume_job_meta":"#3a3a36","resume_skill_bg":"#111110","resume_skill_text":"#ffc72c","resume_badge_bg":"#111110","resume_badge_text":"#ffc72c","filter_start_color":"#111110","filter_end_color":"#ffc72c"},"palette_colors":{"signal_yellow":"#ffc72c","lcd_charcoal":"#20201d","dpad_black":"#111110","dark_grey":"#3a3a36"},"variables":{"bg_color":"signal_yellow","bg_window":"signal_yellow","text_color":"dpad_black","link_color":"dpad_black","text_dim":"dark_grey","border_color":"dpad_black","border_active":"dpad_black","accent_color":"dpad_black","shadow_color":"dpad_black","accent_secondary":"lcd_charcoal","accent_tertiary":"dark_grey","accent_quaternary":"dpad_black","cube":"dpad_black","cube_hover":"lcd_charcoal","resume_job_role":"dpad_black","resume_job_company":"lcd_charcoal","resume_job_meta":"dark_grey","resume_skill_bg":"dpad_black","resume_skill_text":"signal_yellow","resume_badge_bg":"dpad_black","resume_badge_text":"signal_yellow","filter_start_color":"dpad_black","filter_end_color":"signal_yellow"}},{"id":"sweetie_80","name":"Sweetie 80","colors":{"bg_color":"#1a1c2c","bg_window":"#333c57","text_color":"#f4f4f4","link_color":"#41a6f6","text_dim":"#94b0c2","border_color":"#3b5dc9","border_active":"#73eff7","accent_color":"#ffcd75","shadow_color":"#1a1c2c","accent_secondary":"#38b764","accent_tertiary":"#ef7d57","accent_quaternary":"#a7f070","cube":"#41a6f6","cube_hover":"#73eff7","resume_job_role":"#ffcd75","resume_job_company":"#a7f070","resume_job_meta":"#94b0c2","resume_skill_bg":"#5d275d","resume_skill_text":"#f4f4f4","resume_badge_bg":"#b13e53","resume_badge_text":"#f4f4f4","filter_start_color":"#1a1c2c","filter_end_color":"#f4f4f4"},"palette_colors":{"deep_void":"#1a1c2c","plum":"#5d275d","wine":"#b13e53","coral":"#ef7d57","peach":"#ffcd75","lime":"#a7f070","emerald":"#38b764","teal":"#257179","midnight":"#29366f","royal_blue":"#3b5dc9","sky_blue":"#41a6f6","aqua":"#73eff7","ghost_white":"#f4f4f4","ice_grey":"#94b0c2","slate":"#566c86","dark_slate":"#333c57"},"variables":{"bg_color":"deep_void","bg_window":"dark_slate","text_color":"ghost_white","link_color":"sky_blue","text_dim":"ice_grey","border_color":"royal_blue","border_active":"aqua","accent_color":"peach","shadow_color":"deep_void","accent_secondary":"emerald","accent_tertiary":"coral","accent_quaternary":"lime","cube":"sky_blue","cube_hover":"aqua","resume_job_role":"peach","resume_job_company":"lime","resume_job_meta":"ice_grey","resume_skill_bg":"plum","resume_skill_text":"ghost_white","resume_badge_bg":"wine","resume_badge_text":"ghost_white","filter_start_color":"deep_void","filter_end_color":"ghost_white"}},{"id":"oled_micro","name":"OLED Micro","colors":{"bg_color":"#05080c","bg_window":"#05080c","text_color":"#00f0ff","link_color":"#ffffff","text_dim":"#0099aa","border_color":"#00f0ff","border_active":"#ffffff","accent_color":"#f59e0b","shadow_color":"#1f2937","accent_secondary":"#ffffff","accent_tertiary":"#f59e0b","accent_quaternary":"#0099aa","cube":"#00f0ff","cube_hover":"#ffffff","resume_job_role":"#f59e0b","resume_job_company":"#ffffff","resume_job_meta":"#0099aa","resume_skill_bg":"#1f2937","resume_skill_text":"#00f0ff","resume_badge_bg":"#f59e0b","resume_badge_text":"#05080c","filter_start_color":"#05080c","filter_end_color":"#00f0ff"},"palette_colors":{"oled_black":"#05080c","oled_cyan":"#00f0ff","oled_white":"#ffffff","solder_slate":"#1f2937","circuit_gold":"#f59e0b","dim_cyan":"#0099aa"},"variables":{"bg_color":"oled_black","bg_window":"oled_black","text_color":"oled_cyan","link_color":"oled_white","text_dim":"dim_cyan","border_color":"oled_cyan","border_active":"oled_white","accent_color":"circuit_gold","shadow_color":"solder_slate","accent_secondary":"oled_white","accent_tertiary":"
41circuit_gold","accent_quaternary":"dim_cyan","cube":"oled_cyan","cube_hover":"oled_white","resume_job_role":"circuit_gold","resume_job_company":"oled_white","resume_job_meta":"dim_cyan","resume_skill_bg":"solder_slate","resume_skill_text":"oled_cyan","resume_badge_bg":"circuit_gold","resume_badge_text":"oled_black","filter_start_color":"oled_black","filter_end_color":"oled_cyan"}},{"id":"dreamcast","name":"Spiral 128","colors":{"bg_color":"#ececec","bg_window":"#dcdcdc","text_color":"#232328","link_color":"#ff6600","text_dim":"#55555c","border_color":"#232328","border_active":"#ff6600","accent_color":"#ff6600","shadow_color":"#232328","accent_secondary":"#0055a5","accent_tertiary":"#6dc5b8","accent_quaternary":"#232328","cube":"#232328","cube_hover":"#ff6600","resume_job_role":"#ff6600","resume_job_company":"#0055a5","resume_job_meta":"#55555c","resume_skill_bg":"#232328","resume_skill_text":"#ececec","resume_badge_bg":"#ff6600","resume_badge_text":"#ececec","filter_start_color":"#232328","filter_end_color":"#ececec"},"palette_colors":{"console_grey":"#ececec","deep_grey":"#dcdcdc","charcoal":"#232328","swirl_orange":"#ff6600","swirl_blue":"#0055a5","vmu_teal":"#6dc5b8","dim_charcoal":"#55555c"},"variables":{"bg_color":"console_grey","bg_window":"deep_grey","text_color":"charcoal","link_color":"swirl_orange","text_dim":"dim_charcoal","border_color":"charcoal","border_active":"swirl_orange","accent_color":"swirl_orange","shadow_color":"charcoal","accent_secondary":"swirl_blue","accent_tertiary":"vmu_teal","accent_quaternary":"charcoal","cube":"charcoal","cube_hover":"swirl_orange","resume_job_role":"swirl_orange","resume_job_company":"swirl_blue","resume_job_meta":"dim_charcoal","resume_skill_bg":"charcoal","resume_skill_text":"console_grey","resume_badge_bg":"swirl_orange","resume_badge_text":"console_grey","filter_start_color":"charcoal","filter_end_color":"console_grey"}},{"id":"saturn","name":"Saturn","colors":{"bg_color":"#dcdde1","bg_window":"#cbccd1","text_color":"#22252a","link_color":"#192a56","text_dim":"#555f6d","border_color":"#192a56","border_active":"#0f1830","accent_color":"#192a56","shadow_color":"#192a56","accent_secondary":"#192a56","accent_tertiary":"#0f1830","accent_quaternary":"#555f6d","cube":"#192a56","cube_hover":"#0f1830","resume_job_role":"#192a56","resume_job_company":"#0f1830","resume_job_meta":"#555f6d","resume_skill_bg":"#192a56","resume_skill_text":"#dcdde1","resume_badge_bg":"#e1b12c","resume_badge_text":"#192a56","filter_start_color":"#192a56","filter_end_color":"#dcdde1"},"palette_colors":{"mist_grey":"#dcdde1","slate_card":"#cbccd1","midnight_blue":"#192a56","saturn_gold":"#e1b12c","dark_charcoal":"#22252a","slate_dim":"#555f6d","deep_navy":"#0f1830"},"variables":{"bg_color":"mist_grey","bg_window":"slate_card","text_color":"dark_charcoal","link_color":"midnight_blue","text_dim":"slate_dim","border_color":"midnight_blue","border_active":"deep_navy","accent_color":"midnight_blue","shadow_color":"midnight_blue","accent_secondary":"midnight_blue","accent_tertiary":"deep_navy","accent_quaternary":"slate_dim","cube":"midnight_blue","cube_hover":"deep_navy","resume_job_role":"midnight_blue","resume_job_company":"deep_navy","resume_job_meta":"slate_dim","resume_skill_bg":"midnight_blue","resume_skill_text":"mist_grey","resume_badge_bg":"saturn_gold","resume_badge_text":"midnight_blue","filter_start_color":"midnight_blue","filter_end_color":"mist_grey"}},{"id":"atomic_purple","name":"Atomic Purple","colors":{"bg_color":"#4b3869","bg_window":"#6a528f","text_color":"#e8e0f5","link_color":"#ad9cc1","text_dim":"#bdaece","border_color":"#7e68a0","border_active":"#c83e74","accent_color":"#c83e74","shadow_color":"#261b36","accent_secondary":"#ad9cc1","accent_tertiary":"#2d572c","accent_quaternary":"#bdaece","cube":"#e8e0f5","cube_hover":"#c83e74","resume_job_role":"#ad9cc1","resume_job_company":"#c83e74","resume_job_meta":"#bdaece","resume_skill_bg":"#c83e74","resume_skill_text":"#e8e0f5","resume_badge_bg":"#2d572c","resume_badge_text":"#e8e0f5","filter_start_color":"#261b36","filter_end_color":"#e8e0f5"},"palette_colors":{"resin_purple":"#4b3869","resin_light":"#6a528f","resin_border":"#7e68a0","lilac_text":"#e8e0f5","lilac_dim":"#bdaece","pcb_green":"#2d572c","button_magenta":"#c83e74","specular_lilac":"#ad9cc1","void_black":"#261b36"},"variables":{"bg_color":"resin_purple","bg_window":"resin_light","text_color":"lilac_text","link_color":"specular_lilac","text_dim":"lilac_dim","border_color":"resin_border","border_active":"button_magenta","accent_color":"button_magenta","shadow_color":"void_black","accent_secondary":"specular_lilac","accent_tertiary":"pcb_green","accent_quaternary":"lilac_dim","cube":"lilac_text","cube_hover":"button_magenta","resume_job_role":"specular_lilac","resume_job_company":"button_magenta","resume_job_meta":"lilac_dim","resume_skill_bg":"button_magenta","resume_skill_text":"lilac_text","resume_badge_bg":"pcb_green","resume_badge_text":"lilac_text","filter_start_color":"void_black","filter_end_color":"lilac_text"}},{"id":"pocket_advance","name":"Pocket Advance","colors":{"bg_color":"#3f427b","bg_window":"#282a52","text_color":"#e0e4f0","link_color":"#39ff14","text_dim":"#9fa5b5","border_color":"#9fa5b5","border_active":"#39ff14","accent_color":"#39ff14","shadow_color":"#1a1b36","accent_secondary":"#ff5500","accent_tertiary":"#9fa5b5","accent_quaternary":"#39ff14","cube":"#e0e4f0","cube_hover":"#39ff14","resume_job_role":"#39ff14","resume_job_company":"#ff5500","resume_job_meta":"#9fa5b5","resume_skill_bg":"#282a52","resume_skill_text":"#e0e4f0","resume_badge_bg":"#39ff14","resume_badge_text":"#282a52","filter_start_color":"#1a1b36","filter_end_color":"#e0e4f0"},"palette_colors":{"gba_indigo":"#3f427b","gba_dark":"#282a52","white_lettering":"#e0e4f0","slate_grey":"#9fa5b5","power_green":"#39ff14","battery_amber":"#ff5500","shadow_indigo":"#1a1b36"},"variables":{"bg_color":"gba_indigo","bg_window":"gba_dark","text_color":"white_lettering","link_color":"power_green","text_dim":"slate_grey","border_color":"slate_grey","border_active":"power_green","accent_color":"power_green","shadow_color":"shadow_indigo","accent_secondary":"battery_amber","accent_tertiary":"slate_grey","accent_quaternary":"power_green","cube":"white_lettering","cube_hover":"power_green","resume_job_role":"power_green","resume_job_company":"battery_amber","resume_job_meta":"slate_grey","resume_skill_bg":"gba_dark","resume_skill_text":"white_lettering","resume_badge_bg":"power_green","resume_badge_text":"gba_dark","filter_start_color":"shadow_indigo","filter_end_color":"white_lettering"}},{"id":"indiglo_light","name":"Indiglo Light","colors":{"bg_color":"#124742","bg_window":"#092623","text_color":"#66fcd4","link_color":"#2de2b6","text_dim":"#258575","border_color":"#2de2b6","border_active":"#66fcd4","accent_color":"#66fcd4","shadow_color":"#041210","accent_secondary":"#2de2b6","accent_tertiary":"#258575","accent_quaternary":"#66fcd4","cube":"#66fcd4","cube_hover":"#2de2b6","resume_job_role":"#66fcd4","resume_job_company":"#2de2b6","resume_job_meta":"#258575","resume_skill_bg":"#041210","resume_skill_text":"#66fcd4","resume_badge_bg":"#2de2b6","resume_badge_text":"#041210","filter_start_color":"#041210","filter_end_color":"#66fcd4"},"palette_colors":{"el_backlit":"#124742","el_dark":"#092623","lcd_mint":"#66fcd4","lcd_glow":"#2de2b6","lcd_ink":"#041210","dim_mint":"#258575"},"variables":{"bg_color":"el_backlit","bg_window":"el_dark","text_color":"lcd_mint","link_color":"lcd_glow","text_dim":"dim_mint","border_color":"lcd_glow","border_active":"lcd_mint","accent_color":"lcd_mint","shadow_color":"lcd_ink","accent_secondary":"lcd_glow","accent_tertiary":"dim_mint","accent_quaternary":"lcd_mint","cube":"lcd_mint","cube_hover":"lcd_glow","resume_job_role":"lcd_mint","resume_job_company":"lcd_glow","resume_job_meta":"dim_mint","resume_skill_bg":"lcd_ink","resume_skill_text":"lcd_mint","resume_badge_bg":"lcd_glow","resume_badge_text":"lcd_ink","filter_start_color":"lcd_ink","filter_end_color":"lcd_mint"}},{"id":"gamestation_portable","name":"GameStationPortable","colors":{"bg_color":"#0c0d10","bg_window":"#181b22","text_color":"#e0f7fa","link_color":"#29b6f6","text_dim":"#758294","border_color":"#c8d1dc","border_active":"#29b6f6","accent_color":"#29b6f6","shadow_color":"#050607","accent_secondary":"#c8d1dc","accent_tertiary":"#e0f7fa","accent_quaternary":"#758294","cube":"#c8d1dc","cube_hover":"#29b6f6","resume_job_role":"#29b6f6","resume_job_company":"#c8d1dc","resume_job_meta":"#758294","resume_skill_bg":"#181b22","resume_skill_text":"#29b6f6","resume_badge_bg":"#29b6f6","resume_badge_text":"#050607","filter_start_color":"#050607","filter_end_color":"#e0f7fa"},"palette_colors":{"piano_black":"#0c0d10","bezel_dark":"#181b22","xmb_cyan":"#29b6f6","chrome_silver":"#c8d1dc","white_glow":"#e0f7fa","dim_silver":"#758294","deep_black":"#050607"},"variables":{"bg_color":"piano_black","bg_window":"bezel_dark","text_color":"white_glow","link_color":"xmb_cyan","text_dim":"dim_silver","border_color":"chrome_silver","border_active":"xmb_cyan","accent_color":"xmb_cyan","shadow_color":"deep_black","accent_secondary":"chrome_silver","accent_tertiary":"white_glow","accent_quaternary":"dim_silver","cube":"chrome_silver","cube_hover":"xmb_cyan","resume_job_role":"xmb_cyan","resume_job_company":"chrome_silver","resume_job_meta":"dim_silver","resume_skill_bg":"bezel_dark","resume_skill_text":"xmb_cyan","resume_badge_bg":"xmb_cyan","resume_badge_text":"deep_black","filter_start_color":"deep_black","filter_end_color":"white_glow"}},{"id":"gamestation_3","name":"GameStation 3","colors":{"bg_color":"#0e0f14","bg_window":"#191b22","text_color":"#d4dae2","link_color":"#ff1744","text_dim":"#8a95a5","border_color":"#d4dae2","border_active":"#00e676","accent_color":"#ff1744","shadow_color":"#060709","accent_secondary":"#00e676","accent_tertiary":"#d4dae2","accent_quaternary":"#8a95a5","cube":"#d4dae2","cube_hover":"#ff1744","resume_job_role":"#ff1744","resume_job_company":"#00e676","resume_job_meta":"#8a95a5","resume_skill_bg":"#191b22","resume_skill_text":"#d4dae2","resume_badge_bg":"#ff1744","resume_badge_text":"#0e0f14","filter_start_color":"#060709","filter_end_color":"#d4dae2"},"palette_colors":{"gloss_black":"#0e0f14","slot_dark":"#191b22","chrome_trim":"#d4dae2","standby_red":"#ff1744","power_green":"#00e676","titanium_grey":"#8a95a5","void_black":"#060709"},"variables":{"bg_color":"gloss_black","bg_window":"slot_dark","text_color":"chrome_trim","link_color":"standby_red","text_dim":"titanium_grey","border_color":"chrome_trim","border_active":"power_green","accent_color":"standby_red","shadow_color":"void_black","accent_secondary":"power_green","accent_tertiary":"
41chrome_trim","accent_quaternary":"titanium_grey","cube":"chrome_trim","cube_hover":"standby_red","resume_job_role":"standby_red","resume_job_company":"power_green","resume_job_meta":"titanium_grey","resume_skill_bg":"slot_dark","resume_skill_text":"chrome_trim","resume_badge_bg":"standby_red","resume_badge_text":"gloss_black","filter_start_color":"void_black","filter_end_color":"chrome_trim"}},{"id":"nds_aqua","name":"NDS Aqua","colors":{"bg_color":"#008b9e","bg_window":"#005d6b","text_color":"#ffffff","link_color":"#80deea","text_dim":"#80deea","border_color":"#ffffff","border_active":"#80deea","accent_color":"#80deea","shadow_color":"#0f1318","accent_secondary":"#ffffff","accent_tertiary":"#80deea","accent_quaternary":"#266973","cube":"#ffffff","cube_hover":"#80deea","resume_job_role":"#80deea","resume_job_company":"#ffffff","resume_job_meta":"#80deea","resume_skill_bg":"#0f1318","resume_skill_text":"#80deea","resume_badge_bg":"#80deea","resume_badge_text":"#0f1318","filter_start_color":"#0f1318","filter_end_color":"#ffffff"},"palette_colors":{"metallic_aqua":"#008b9e","abyss_cyan":"#005d6b","bezel_black":"#0f1318","pure_white":"#ffffff","glint_cyan":"#80deea","dim_cyan":"#266973"},"variables":{"bg_color":"metallic_aqua","bg_window":"abyss_cyan","text_color":"pure_white","link_color":"glint_cyan","text_dim":"glint_cyan","border_color":"pure_white","border_active":"glint_cyan","accent_color":"glint_cyan","shadow_color":"bezel_black","accent_secondary":"pure_white","accent_tertiary":"glint_cyan","accent_quaternary":"dim_cyan","cube":"pure_white","cube_hover":"glint_cyan","resume_job_role":"glint_cyan","resume_job_company":"pure_white","resume_job_meta":"glint_cyan","resume_skill_bg":"bezel_black","resume_skill_text":"glint_cyan","resume_badge_bg":"glint_cyan","resume_badge_text":"bezel_black","filter_start_color":"bezel_black","filter_end_color":"pure_white"}},{"id":"atarl","name":"AtarL","colors":{"bg_color":"#1a1a1a","bg_window":"#5c3a21","text_color":"#f0e6d2","link_color":"#ff4500","text_dim":"#997a54","border_color":"#b0b0b0","border_active":"#ff4500","accent_color":"#ff4500","shadow_color":"#111111","accent_secondary":"#b0b0b0","accent_tertiary":"#5c3a21","accent_quaternary":"#997a54","cube":"#f0e6d2","cube_hover":"#ff4500","resume_job_role":"#ff4500","resume_job_company":"#b0b0b0","resume_job_meta":"#997a54","resume_skill_bg":"#1a1a1a","resume_skill_text":"#f0e6d2","resume_badge_bg":"#ff4500","resume_badge_text":"#1a1a1a","filter_start_color":"#1a1a1a","filter_end_color":"#f0e6d2"},"palette_colors":{"ribbed_black":"#1a1a1a","ribbed_shadow":"#111111","walnut_veneer":"#5c3a21","joystick_fire":"#ff4500","lever_silver":"#b0b0b0","vintage_ivory":"#f0e6d2","dim_amber":"#997a54"},"variables":{"bg_color":"ribbed_black","bg_window":"walnut_veneer","text_color":"vintage_ivory","link_color":"joystick_fire","text_dim":"dim_amber","border_color":"lever_silver","border_active":"joystick_fire","accent_color":"joystick_fire","shadow_color":"ribbed_shadow","accent_secondary":"lever_silver","accent_tertiary":"walnut_veneer","accent_quaternary":"dim_amber","cube":"vintage_ivory","cube_hover":"joystick_fire","resume_job_role":"joystick_fire","resume_job_company":"lever_silver","resume_job_meta":"dim_amber","resume_skill_bg":"ribbed_black","resume_skill_text":"vintage_ivory","resume_badge_bg":"joystick_fire","resume_badge_text":"ribbed_black","filter_start_color":"ribbed_black","filter_end_color":"vintage_ivory"}},{"id":"mega_shock","name":"Mega Shock","colors":{"bg_color":"#141416","bg_window":"#222329","text_color":"#f5f5f5","link_color":"#d4af37","text_dim":"#8f7524","border_color":"#d4af37","border_active":"#e53935","accent_color":"#e53935","shadow_color":"#141416","accent_secondary":"#1e88e5","accent_tertiary":"#fbc02d","accent_quaternary":"#43a047","cube":"#d4af37","cube_hover":"#e53935","resume_job_role":"#d4af37","resume_job_company":"#1e88e5","resume_job_meta":"#8f7524","resume_skill_bg":"#141416","resume_skill_text":"#d4af37","resume_badge_bg":"#e53935","resume_badge_text":"#f5f5f5","filter_start_color":"#141416","filter_end_color":"#f5f5f5"},"palette_colors":{"arcade_black":"#141416","cabinet_slate":"#222329","neo_gold":"#d4af37","button_red":"#e53935","button_yellow":"#fbc02d","button_green":"#43a047","button_blue":"#1e88e5","text_white":"#f5f5f5","dim_gold":"#8f7524"},"variables":{"bg_color":"arcade_black","bg_window":"cabinet_slate","text_color":"text_white","link_color":"neo_gold","text_dim":"dim_gold","border_color":"neo_gold","border_active":"button_red","accent_color":"button_red","shadow_color":"arcade_black","accent_secondary":"button_blue","accent_tertiary":"button_yellow","accent_quaternary":"button_green","cube":"neo_gold","cube_hover":"button_red","resume_job_role":"neo_gold","resume_job_company":"button_blue","resume_job_meta":"dim_gold","resume_skill_bg":"arcade_black","resume_skill_text":"neo_gold","resume_badge_bg":"button_red","resume_badge_text":"text_white","filter_start_color":"arcade_black","filter_end_color":"text_white"}}
41,{"id":"engine_16","name":"Engine 16","colors":{"bg_color":"#f2f4f7","bg_window":"#e4e7eb","text_color":"#33373d","link_color":"#ff3b30","text_dim":"#8e95a0","border_color":"#33373d","border_active":"#ff3b30","accent_color":"#ff3b30","shadow_color":"#33373d","accent_secondary":"#007aff","accent_tertiary":"#8e95a0","accent_quaternary":"#33373d","cube":"#33373d","cube_hover":"#ff3b30","resume_job_role":"#ff3b30","resume_job_company":"#007aff","resume_job_meta":"#8e95a0","resume_skill_bg":"#33373d","resume_skill_text":"#f2f4f7","resume_badge_bg":"#ff3b30","resume_badge_text":"#f2f4f7","filter_start_color":"#33373d","filter_end_color":"#f2f4f7"},"palette_colors":{"pce_white":"#f2f4f7","pce_card":"#e4e7eb","pad_charcoal":"#33373d","hucard_red":"#ff3b30","nec_blue":"#007aff","switch_grey":"#8e95a0","dark_black":"#1a1a1c"},"variables":{"bg_color":"pce_white","bg_window":"pce_card","text_color":"pad_charcoal","link_color":"hucard_red","text_dim":"switch_grey","border_color":"pad_charcoal","border_active":"hucard_red","accent_color":"hucard_red","shadow_color":"pad_charcoal","accent_secondary":"nec_blue","accent_tertiary":"switch_grey","accent_quaternary":"pad_charcoal","cube":"pad_charcoal","cube_hover":"hucard_red","resume_job_role":"hucard_red","resume_job_company":"nec_blue","resume_job_meta":"switch_grey","resume_skill_bg":"pad_charcoal","resume_skill_text":"pce_white","resume_badge_bg":"hucard_red","resume_badge_text":"pce_white","filter_start_color":"pad_charcoal","filter_end_color":"pce_white"}},{"id":"phosphor_vector","name":"Phosphor Vector","colors":{"bg_color":"#070709","bg_window":"#070709","text_color":"#39ff14","link_color":"#00e5ff","text_dim":"#1a660a","border_color":"#39ff14","border_active":"#ffffff","accent_color":"#ffffff","shadow_color":"#070709","accent_secondary":"#00e5ff","accent_tertiary":"#ff007f","accent_quaternary":"#1a660a","cube":"#39ff14","cube_hover":"#ffffff","resume_job_role":"#ffffff","resume_job_company":"#00e5ff","resume_job_meta":"#1a660a","resume_skill_bg":"#121217","resume_skill_text":"#39ff14","resume_badge_bg":"#ff007f","resume_badge_text":"#ffffff","filter_start_color":"#070709","filter_end_color":"#39ff14"},"palette_colors":{"crt_pitch":"#070709","crt_mesh":"#121217","laser_green":"#39ff14","vector_cyan":"#00e5ff","overlay_pink":"#ff007f","beam_white":"#ffffff","dim_green":"#1a660a"},"variables":{"bg_color":"crt_pitch","bg_window":"crt_pitch","text_color":"laser_green","link_color":"vector_cyan","text_dim":"dim_green","border_color":"laser_green","border_active":"beam_white","accent_color":"beam_white","shadow_color":"crt_pitch","accent_secondary":"vector_cyan","accent_tertiary":"overlay_pink","accent_quaternary":"dim_green","cube":"laser_green","cube_hover":"beam_white","resume_job_role":"beam_white","resume_job_company":"vector_cyan","resume_job_meta":"dim_green","resume_skill_bg":"crt_mesh","resume_skill_text":"laser_green","resume_badge_bg":"overlay_pink","resume_badge_text":"beam_white","filter_start_color":"crt_pitch","filter_end_color":"laser_green"}},{"id":"deck_handheld","name":"Deck Handheld","colors":{"bg_color":"#17191e","bg_window":"#0f1013","text_color":"#f1f3f6","link_color":"#1a9fff","text_dim":"#667085","border_color":"#1a9fff","border_active":"#ff7700","accent_color":"#1a9fff","shadow_color":"#0f1013","accent_secondary":"#ff7700","accent_tertiary":"#1a9fff","accent_quaternary":"#667085","cube":"#f1f3f6","cube_hover":"#1a9fff","resume_job_role":"#1a9fff","resume_job_company":"#ff7700","resume_job_meta":"#667085","resume_skill_bg":"#0f1013","resume_skill_text":"#f1f3f6","resume_badge_bg":"#1a9fff","resume_badge_text":"#0f1013","filter_start_color":"#0f1013","filter_end_color":"#f1f3f6"},"palette_colors":{"matte_slate":"#17191e","grip_black":"#0f1013","steam_blue":"#1a9fff","thumb_amber":"#ff7700","font_white":"#f1f3f6","dim_slate":"#667085"},"variables":{"bg_color":"matte_slate","bg_window":"grip_black","text_color":"font_white","link_color":"steam_blue","text_dim":"dim_slate","border_color":"steam_blue","border_active":"thumb_amber","accent_color":"steam_blue","shadow_color":"grip_black","accent_secondary":"thumb_amber","accent_tertiary":"steam_blue","accent_quaternary":"dim_slate","cube":"font_white","cube_hover":"steam_blue","resume_job_role":"steam_blue","resume_job_company":"thumb_amber","resume_job_meta":"dim_slate","resume_skill_bg":"grip_black","resume_skill_text":"font_white","resume_badge_bg":"steam_blue","resume_badge_text":"grip_black","filter_start_color":"grip_black","filter_end_color":"font_white"}},{"id":"orchard_2","name":"Orchard II","colors":{"bg_color":"#e3d8be","bg_window":"#e3d8be","text_color":"#4a3728","link_color":"#61bb46","text_dim":"#735945","border_color":"#4a3728","border_active":"#61bb46","accent_color":"#e03a3e","shadow_color":"#4a3728","accent_secondary":"#fdb827","accent_tertiary":"#009ddc","accent_quaternary":"#963d97","cube":"#4a3728","cube_hover":"#61bb46","resume_job_role":"#e03a3e","resume_job_company":"#61bb46","resume_job_meta":"#735945","resume_skill_bg":"#4a3728","resume_skill_text":"#e3d8be","resume_badge_bg":"#fdb827","resume_badge_text":"#4a3728","filter_start_color":"#4a3728","filter_end_color":"#e3d8be"},"palette_colors":{"putty_case":"#e3d8be","dark_umber":"#4a3728","crt_green":"#33ff33","apple_green":"#61bb46","apple_yellow":"#fdb827","apple_orange":"#f58220","apple_red":"#e03a3e","apple_purple":"#963d97","apple_blue":"#009ddc","dim_umber":"#735945"},"variables":{"bg_color":"putty_case","bg_window":"putty_case","text_color":"dark_umber","link_color":"apple_green","text_dim":"dim_umber","border_color":"dark_umber","border_active":"apple_green","accent_color":"apple_red","
41shadow_color":"dark_umber","accent_secondary":"apple_yellow","accent_tertiary":"apple_blue","accent_quaternary":"apple_purple","cube":"dark_umber","cube_hover":"apple_green","resume_job_role":"apple_red","resume_job_company":"apple_green","resume_job_meta":"dim_umber","resume_skill_bg":"dark_umber","resume_skill_text":"putty_case","resume_badge_bg":"apple_yellow","resume_badge_text":"dark_umber","filter_start_color":"dark_umber","filter_end_color":"putty_case"}},{"id":"snow_white","name":"Snow White","colors":{"bg_color":"#ded7c4","bg_window":"#ffffff","text_color":"#000000","link_color":"#34312d","text_dim":"#888888","border_color":"#000000","border_active":"#34312d","accent_color":"#000000","shadow_color":"#34312d","accent_secondary":"#34312d","accent_tertiary":"#888888","accent_quaternary":"#000000","cube":"#000000","cube_hover":"#34312d","resume_job_role":"#000000","resume_job_company":"#34312d","resume_job_meta":"#888888","resume_skill_bg":"#000000","resume_skill_text":"#ffffff","resume_badge_bg":"#34312d","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ded7c4"},"palette_colors":{"vintage_beige":"#ded7c4","chassis_card":"#cfc8b4","recessed_vent":"#34312d","gui_ink":"#000000","paper_white":"#ffffff","dither_grey":"#888888"},"variables":{"bg_color":"vintage_beige","bg_window":"paper_white","text_color":"gui_ink","link_color":"recessed_vent","text_dim":"dither_grey","border_color":"gui_ink","border_active":"recessed_vent","accent_color":"gui_ink","shadow_color":"recessed_vent","accent_secondary":"recessed_vent","accent_tertiary":"dither_grey","accent_quaternary":"gui_ink","cube":"gui_ink","cube_hover":"recessed_vent","resume_job_role":"gui_ink","resume_job_company":"recessed_vent","resume_job_meta":"dither_grey","resume_skill_bg":"gui_ink","resume_skill_text":"paper_white","resume_badge_bg":"recessed_vent","resume_badge_text":"paper_white","filter_start_color":"gui_ink","filter_end_color":"vintage_beige"}},{"id":"black_cube","name":"Black Cube","colors":{"bg_color":"#121214","bg_window":"#1c1c20","text_color":"#ffffff","link_color":"#f9e01e","text_dim":"#7d7f85","border_color":"#7d7f85","border_active":"#35b34b","accent_color":"#f32736","shadow_color":"#121214","accent_secondary":"#35b34b","accent_tertiary":"#e52d7e","accent_quaternary":"#f9e01e","cube":"#ffffff","cube_hover":"#35b34b","resume_job_role":"#f9e01e","resume_job_company":"#35b34b","resume_job_meta":"#7d7f85","resume_skill_bg":"#e52d7e","resume_skill_text":"#ffffff","resume_badge_bg":"#f32736","resume_badge_text":"#ffffff","filter_start_color":"#121214","filter_end_color":"#ffffff"},"palette_colors":{"magnesium_black":"#121214","cube_dark":"#1c1c20","pure_white":"#ffffff","titanium_grey":"#7d7f85","rand_vermilion":"#f32736","rand_cerise":"#e52d7e","rand_green":"#35b34b","rand_yellow":"#f9e01e"},"variables":{"bg_color":"magnesium_black","bg_window":"cube_dark","text_color":"pure_white","link_color":"rand_yellow","text_dim":"titanium_grey","border_color":"titanium_grey","border_active":"rand_green","accent_color":"rand_vermilion","shadow_color":"magnesium_black","accent_secondary":"rand_green","accent_tertiary":"rand_cerise","accent_quaternary":"rand_yellow","cube":"pure_white","cube_hover":"rand_green","resume_job_role":"rand_yellow","resume_job_company":"rand_green","resume_job_meta":"titanium_grey","resume_skill_bg":"rand_cerise","resume_skill_text":"pure_white","resume_badge_bg":"rand_vermilion","resume_badge_text":"pure_white","filter_start_color":"magnesium_black","filter_end_color":"pure_white"}},{"id":"yellow_tab","name":"YellowTab","colors":{"bg_color":"#dcdfe3","bg_window":"#eef0f3","text_color":"#141416","link_color":"#c40000","text_dim":"#36414e","border_color":"#234b75","border_active":"#ffc400","accent_color":"#234b75","shadow_color":"#234b75","accent_secondary":"#ffc400","accent_tertiary":"#c40000","accent_quaternary":"#36414e","cube":"#234b75","cube_hover":"#c40000","resume_job_role":"#c40000","resume_job_company":"#234b75","resume_job_meta":"#36414e","resume_skill_bg":"#ffc400","resume_skill_text":"#141416","resume_badge_bg":"#c40000","resume_badge_text":"#ffffff","filter_start_color":"#234b75","filter_end_color":"#dcdfe3"},"palette_colors":{"gui_grey":"#dcdfe3","gui_window":"#eef0f3","steel_blue":"#234b75","bold_yellow":"#ffc400","border_black":"#141416","be_red":"#c40000","dark_slate":"#36414e","pure_white":"#ffffff"},"variables":{"bg_color":"gui_grey","bg_window":"gui_window","text_color":"border_black","link_color":"be_red","text_dim":"dark_slate","border_color":"steel_blue","border_active":"bold_yellow","accent_color":"steel_blue","shadow_color":"steel_blue","accent_secondary":"bold_yellow","accent_tertiary":"be_red","accent_quaternary":"dark_slate","cube":"steel_blue","cube_hover":"be_red","resume_job_role":"be_red","resume_job_company":"steel_blue","resume_job_meta":"dark_slate","resume_skill_bg":"bold_yellow","resume_skill_text":"border_black","resume_badge_bg":"be_red","resume_badge_text":"pure_white","filter_start_color":"steel_blue","filter_end_color":"gui_grey"}},{"id":"silicon_indigo","name":"Silicon Indigo","colors":{"bg_color":"#1e3a8a","bg_window":"#14285e","text_color":"#ffffff","link_color":"#00f0ff","text_dim":"#c7d2fe","border_color":"#00f0ff","border_active":"#e91e63","accent_color":"#00f0ff","shadow_color":"#14285e","accent_secondary":"#e91e63","accent_tertiary":"#005952","accent_quaternary":"#5eead4","cube":"#00f0ff","cube_hover":"#e91e63","resume_job_role":"#00f0ff","resume_job_company":"#e91e63","resume_job_meta":"#c7d2fe","resume_skill_bg":"#005952","resume_skill_text":"#ffffff","resume_badge_bg":"#e91e63","resume_badge_text":"#ffffff","filter_start_color":"#14285e","filter_end_color":"#ffffff"},"palette_colors":{"sgi_blue":"#1e3a8a","sgi_dark":"#14285e","indy_teal":"#005952","silicon_cyan":"#00f0ff","wireframe_magenta":"#e91e63","text_white":"#ffffff","window_grey":"#c7d2fe","dim_cyan":"#5eead4"},"variables":{"bg_color":"sgi_blue","bg_window":"sgi_dark","text_color":"text_white","link_color":"silicon_cyan","text_dim":"window_grey","border_color":"silicon_cyan","border_active":"wireframe_magenta","accent_color":"silicon_cyan","shadow_color":"sgi_dark","accent_secondary":"wireframe_magenta","accent_tertiary":"indy_teal","accent_quaternary":"dim_cyan","cube":"silicon_cyan","cube_hover":"wireframe_magenta","resume_job_role":"silicon_cyan","resume_job_company":"wireframe_magenta","resume_job_meta":"window_grey","resume_skill_bg":"indy_teal","resume_skill_text":"text_white","resume_badge_bg":"wireframe_magenta","resume_badge_text":"text_white","filter_start_color":"sgi_dark","filter_end_color":"text_white"}},{"id":"bento_pad","name":"Bento Pad","colors":{"bg_color":"#141416","bg_window":"#1e1e24","text_color":"#e6e6e6","link_color":"#e00000","text_dim":"#737373","border_color":"#e00000","border_active":"#0066cc","accent_color":"#e00000","shadow_color":"#141416","accent_secondary":"#0066cc","accent_tertiary":"#43a047","accent_quaternary":"#737373","cube":"#e6e6e6","cube_hover":"#e00000","resume_job_role":"#e00000","resume_job_company":"#0066cc","resume_job_meta":"#737373","resume_skill_bg":"#0066cc","resume_skill_text":"#e6e6e6","resume_badge_bg":"#e00000","resume_badge_text":"#e6e6e6","filter_start_color":"#141416","filter_end_color":"#e6e6e6"},"palette_colors":{"raven_black":"#141416","raven_panel":"#1e1e24","trackpoint_red":"#e00000","enter_blue":"#0066cc","key_white":"#e6e6e6","led_green":"#43a047","dim_grey":"#737373"},"variables":{"bg_color":"raven_black","bg_window":"raven_panel","text_color":"key_white","link_color":"trackpoint_red","text_dim":"dim_grey","border_color":"trackpoint_red","border_active":"enter_blue","accent_color":"trackpoint_red","
41shadow_color":"raven_black","accent_secondary":"enter_blue","accent_tertiary":"led_green","accent_quaternary":"dim_grey","cube":"key_white","cube_hover":"trackpoint_red","resume_job_role":"trackpoint_red","resume_job_company":"enter_blue","resume_job_meta":"dim_grey","resume_skill_bg":"enter_blue","resume_skill_text":"key_white","resume_badge_bg":"trackpoint_red","resume_badge_text":"key_white","filter_start_color":"raven_black","filter_end_color":"key_white"}},{"id":"speccy_48k","name":"Speccy 48K","colors":{"bg_color":"#000000","bg_window":"#141414","text_color":"#ffffff","link_color":"#00d8d8","text_dim":"#666666","border_color":"#00d8d8","border_active":"#d8d800","accent_color":"#d80000","shadow_color":"#000000","accent_secondary":"#00d800","accent_tertiary":"#d8d800","accent_quaternary":"#00d8d8","cube":"#00d8d8","cube_hover":"#d8d800","resume_job_role":"#d8d800","resume_job_company":"#00d800","resume_job_meta":"#666666","resume_skill_bg":"#d80000","resume_skill_text":"#ffffff","resume_badge_bg":"#00d8d8","resume_badge_text":"#000000","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"speccy_black":"#000000","speccy_card":"#141414","chiclet_grey":"#d8d8d8","rainbow_red":"#d80000","rainbow_yellow":"#d8d800","rainbow_green":"#00d800","rainbow_cyan":"#00d8d8","bright_white":"#ffffff","dim_grey":"#666666"},"variables":{"bg_color":"speccy_black","bg_window":"speccy_card","text_color":"bright_white","link_color":"rainbow_cyan","text_dim":"dim_grey","border_color":"rainbow_cyan","border_active":"rainbow_yellow","accent_color":"rainbow_red","shadow_color":"speccy_black","accent_secondary":"rainbow_green","accent_tertiary":"rainbow_yellow","accent_quaternary":"rainbow_cyan","cube":"rainbow_cyan","cube_hover":"rainbow_yellow","resume_job_role":"rainbow_yellow","resume_job_company":"rainbow_green","resume_job_meta":"dim_grey","resume_skill_bg":"rainbow_red","resume_skill_text":"bright_white","resume_badge_bg":"rainbow_cyan","resume_badge_text":"speccy_black","filter_start_color":"speccy_black","filter_end_color":"bright_white"}},{"id":"acorn_bbc","name":"Acorn BBC","colors":{"bg_color":"#ded6c4","bg_window":"#ded6c4","text_color":"#2b221a","link_color":"#e62b1e","text_dim":"#6b5847","border_color":"#2b221a","border_active":"#e62b1e","accent_color":"#e62b1e","shadow_color":"#2b221a","accent_secondary":"#00e676","accent_tertiary":"#e62b1e","accent_quaternary":"#6b5847","cube":"#2b221a","cube_hover":"#e62b1e","resume_job_role":"#e62b1e","resume_job_company":"#00e676","resume_job_meta":"#6b5847","resume_skill_bg":"#2b221a","resume_skill_text":"#ded6c4","resume_badge_bg":"#e62b1e","resume_badge_text":"#f7f4ec","filter_start_color":"#2b221a","filter_end_color":"#ded6c4"},"palette_colors":{"biscuit_cream":"#ded6c4","chassis_panel":"#cfc5af","umber_dark":"#2b221a","function_red":"#e62b1e","crt_green":"#00e676","dim_umber":"#6b5847","light_ivory":"#f7f4ec"},"variables":{"bg_color":"biscuit_cream","bg_window":"biscuit_cream","text_color":"umber_dark","link_color":"function_red","text_dim":"dim_umber","border_color":"umber_dark","border_active":"function_red","accent_color":"function_red","shadow_color":"umber_dark","accent_secondary":"crt_green","accent_tertiary":"function_red","accent_quaternary":"dim_umber","cube":"umber_dark","cube_hover":"function_red","resume_job_role":"function_red","resume_job_company":"crt_green","resume_job_meta":"dim_umber","resume_skill_bg":"umber_dark","resume_skill_text":"biscuit_cream","resume_badge_bg":"function_red","resume_badge_text":"light_ivory","filter_start_color":"umber_dark","filter_end_color":"biscuit_cream"}},{"id":"twin_tower","name":"Twin Tower","colors":{"bg_color":"#191b20","bg_window":"#0f1013","text_color":"#e8ebf0","link_color":"#00ff88","text_dim":"#5c6370","border_color":"#00ff88","border_active":"#ff9900","accent_color":"#ff9900","shadow_color":"#0f1013","accent_secondary":"#00ff88","accent_tertiary":"#ff9900","accent_quaternary":"#5c6370","cube":"#e8ebf0","cube_hover":"#00ff88","resume_job_role":"#ff9900","resume_job_company":"#00ff88","resume_job_meta":"#5c6370","resume_skill_bg":"#0f1013","resume_skill_text":"#00ff88","resume_badge_bg":"#ff9900","resume_badge_text":"#0f1013","filter_start_color":"#0f1013","filter_end_color":"#e8ebf0"},"palette_colors":{"graphite_black":"#191b20","shadow_black":"#0f1013","drive_green":"#00ff88","eject_amber":"#ff9900","human_white":"#e8ebf0","dim_graphite":"#5c6370"},"variables":{"bg_color":"graphite_black","bg_window":"shadow_black","text_color":"human_white","link_color":"drive_green","text_dim":"dim_graphite","border_color":"drive_green","border_active":"eject_amber","accent_color":"eject_amber","shadow_color":"shadow_black","accent_secondary":"drive_green","accent_tertiary":"eject_amber","accent_quaternary":"dim_graphite","cube":"human_white","cube_hover":"drive_green","resume_job_role":"eject_amber","resume_job_company":"drive_green","resume_job_meta":"dim_graphite","resume_skill_bg":"shadow_black","resume_skill_text":"drive_green","resume_badge_bg":"eject_amber","resume_badge_text":"shadow_black","filter_start_color":"shadow_black","filter_end_color":"human_white"}},{"id":"datacorder_464","name":"Datacorder 464","colors":{"bg_color":"#26282e","bg_window":"#1c1d22","text_color":"#f4f4f7","link_color":"#27ae60","text_dim":"#6c727d","border_color":"#c0392b","border_active":"#27ae60","accent_color":"#c0392b","shadow_color":"#1c1d22","accent_secondary":"#27ae60","accent_tertiary":"#2980b9","accent_quaternary":"#f39c12","cube":"#f4f4f7","cube_hover":"#27ae60","resume_job_role":"#f39c12","resume_job_company":"#27ae60","resume_job_meta":"#6c727d","resume_skill_bg":"#c0392b","resume_skill_text":"#f4f4f7","resume_badge_bg":"#2980b9","resume_badge_text":"#f4f4f7","filter_start_color":"#1c1d22","filter_end_color":"#f4f4f7"},"palette_colors":{"cpc_charcoal":"#26282e","cpc_panel":"#1c1d22","text_white":"#f4f4f7","rec_red":"#c0392b","play_green":"#27ae60","pause_blue":"#2980b9","stop_yellow":"#f39c12","dim_cpc":"#6c727d"},"variables":{"bg_color":"cpc_charcoal","bg_window":"cpc_panel","text_color":"text_white","link_color":"play_green","text_dim":"dim_cpc","border_color":"rec_red","border_active":"play_green","accent_color":"rec_red","shadow_color":"cpc_panel","accent_secondary":"play_green","accent_tertiary":"pause_blue","accent_quaternary":"stop_yellow","cube":"text_white","cube_hover":"play_green","resume_job_role":"stop_yellow","resume_job_company":"play_green","resume_job_meta":"dim_cpc","resume_skill_bg":"rec_red","resume_skill_text":"text_white","resume_badge_bg":"pause_blue","resume_badge_text":"text_white","filter_start_color":"cpc_panel","filter_end_color":"text_white"}},{"id":"rhythm_808","name":"Rhythm 808","colors":{"bg_color":"#18191d","bg_window":"#23252b","text_color":"#f5f0e1","link_color":"#ff7700","text_dim":"#7a7e88","border_color":"#ff7700","border_active":"#f5c400","accent_color":"#e02828","shadow_color":"#18191d","accent_secondary":"#f5c400","accent_tertiary":"#e02828","accent_quaternary":"#ede9de","cube":"#ff7700","cube_hover":"#f5c400","resume_job_role":"#f5c400","resume_job_company":"#ff7700","resume_job_meta":"#7a7e88","resume_skill_bg":"#e02828","resume_skill_text":"#f5f0e1","resume_badge_bg":"#ff7700","resume_badge_text":"#18191d","filter_start_color":"#18191d","filter_end_color":"#ff7700"},"palette_colors":{"chassis_black":"#18191d","chassis_slate":"#23252b","cream_print":"#f5f0e1","step_red":"#e02828","step_orange":"#ff7700","step_yellow":"#f5c400","step_white":"#ede9de","dim_grey":"#7a7e88"},"variables":{"bg_color":"chassis_black","bg_window":"chassis_slate","text_color":"cream_print","link_color":"step_orange","text_dim":"dim_grey","border_color":"step_orange","border_active":"step_yellow","accent_color":"step_red","shadow_color":"chassis_black","accent_secondary":"step_yellow","accent_tertiary":"step_red","accent_quaternary":"step_white","cube":"step_orange","cube_hover":"step_yellow","resume_job_role":"step_yellow","resume_job_company":"step_orange","resume_job_meta":"dim_grey","resume_skill_bg":"step_red","resume_skill_text":"cream_print","resume_badge_bg":"step_orange","resume_badge_text":"chassis_black","filter_start_color":"chassis_black","filter_end_color":"step_orange"}},{"id":"acid_303","name":"Acid 303","colors":{"bg_color":"#c2c7cc","bg_window":"#c2c7cc","text_color":"#26282d","link_color":"#ff0033","text_dim":"#50555e","border_color":"#26282d","border_active":"#ff0033","accent_color":"#ff0033","shadow_color":"#26282d","accent_secondary":"#a6ff00","accent_tertiary":"#ff0033","accent_quaternary":"#50555e","cube":"#26282d","cube_hover":"#ff0033","resume_job_role":"#ff0033","resume_job_company":"#26282d","resume_job_meta":"#50555e","resume_skill_bg":"#26282d","resume_skill_text":"#c2c7cc","resume_badge_bg":"#ff0033","resume_badge_text":"#c2c7cc","filter_start_color":"#26282d","filter_end_color":"#c2c7cc"},"palette_colors":{"silver_metallic":"#c2c7cc","chassis_card":"#adb5bd","knob_charcoal":"#26282d","ruby_led":"#ff0033","acid_neon":"#a6ff00","deep_cut":"#0e1014","dim_charcoal":"#50555e"},"variables":{"bg_color":"silver_metallic","bg_window":"silver_metallic","text_color":"knob_charcoal","link_color":"ruby_led","text_dim":"dim_charcoal","border_color":"knob_charcoal","border_active":"ruby_led","accent_color":"ruby_led","shadow_color":"knob_charcoal","accent_secondary":"acid_neon","accent_tertiary":"ruby_led","accent_quaternary":"dim_charcoal","cube":"knob_charcoal","cube_hover":"ruby_led","resume_job_role":"ruby_led","resume_job_company":"knob_charcoal","resume_job_meta":"dim_charcoal","resume_skill_bg":"knob_charcoal","resume_skill_text":"silver_metallic","resume_badge_bg":"ruby_led","resume_badge_text":"silver_metallic","filter_start_color":"knob_charcoal","filter_end_color":"silver_metallic"}},{"id":"operator_1","name":"Operator 1","colors":{"bg_color":"#e2e4e2","bg_window":"#f0f2f0","text_color":"#1c1d20","link_color":"#1658b4","text_dim":"#4e5158","border_color":"#1c1d20","border_active":"#d96500","accent_color":"#d96500","shadow_color":"#1c1d20","accent_secondary":"#198c4f","accent_tertiary":"#1658b4","accent_quaternary":"#d96500","cube":"#1c1d20","cube_hover":"#d96500","resume_job_role":"#d96500","resume_job_company":"#1658b4","resume_job_meta":"#4e5158","resume_skill_bg":"#1c1d20","resume_skill_text":"#ffffff","resume_badge_bg":"#1658b4","resume_badge_text":"#ffffff","filter_start_color":"#1c1d20","filter_end_color":"#e2e4e2"},"palette_colors":{"cnc_aluminum":"#e2e4e2","aluminum_window":"#f0f2f0","oled_charcoal":"#1c1d20","key_white":"#ffffff","dial_blue":"#1658b4","dial_green":"#198c4f","dial_orange":"#d96500","dim_charcoal":"#4e5158"},"variables":{"bg_color":"cnc_aluminum","bg_window":"aluminum_window","text_color":"oled_charcoal","link_color":"dial_blue","text_dim":"dim_charcoal","border_color":"oled_charcoal","border_active":"dial_orange","accent_color":"dial_orange","shadow_color":"oled_charcoal","accent_secondary":"dial_green","accent_tertiary":"dial_blue","accent_quaternary":"dial_orange","cube":"oled_charcoal","cube_hover":"dial_orange","resume_job_role":"dial_orange","resume_job_company":"dial_blue","resume_job_meta":"dim_charcoal","resume_skill_bg":"oled_charcoal","resume_skill_text":"key_white","resume_badge_bg":"dial_blue","resume_badge_text":"key_white","filter_start_color":"oled_charcoal","filter_end_color":"cnc_aluminum"}},{"id":"boom_bap_16","name":"Boom Bap 16","colors":{"bg_color":"#d4cfc7","bg_window":"#d4cfc7","text_color":"#212328","link_color":"#d32f2f","text_dim":"#69717d","border_color":"#43484f","border_active":"#d32f2f","accent_color":"#d32f2f","shadow_color":"#43484f","accent_secondary":"#7ca4cc","accent_tertiary":"#43484f","accent_quaternary":"#69717d","cube":"#43484f","cube_hover":"#d32f2f","resume_job_role":"#d32f2f","resume_job_company":"#43484f","resume_job_meta":"#69717d","resume_skill_bg":"#43484f","resume_skill_text":"#d4cfc7","resume_badge_bg":"#7ca4cc","resume_badge_text":"#212328","filter_start_color":"#212328","filter_end_color":"#d4cfc7"},"palette_colors":{"putty_grey":"#d4cfc7","housing_panel":"#c4beba","pad_slate":"#43484f","lcd_blue":"#7ca4cc","record_red":"#d32f2f","ink_charcoal":"#212328","dim_slate":"#69717d"},"variables":{"bg_color":"putty_grey","bg_window":"putty_grey","text_color":"ink_charcoal","link_color":"record_red","text_dim":"dim_slate","border_color":"pad_slate","border_active":"record_red","accent_color":"record_red","shadow_color":"pad_slate","accent_secondary":"lcd_blue","accent_tertiary":"pad_slate","accent_quaternary":"dim_slate","cube":"pad_slate","cube_hover":"record_red","resume_job_role":"record_red","resume_job_company":"pad_slate","resume_job_meta":"dim_slate","resume_skill_bg":"pad_slate","resume_skill_text":"putty_grey","resume_badge_bg":"lcd_blue","resume_badge_text":"ink_charcoal","filter_start_color":"ink_charcoal","filter_end_color":"putty_grey"}}
41,{"id":"blue_cassette","name":"Blue Cassette","colors":{"bg_color":"#1e4d8c","bg_window":"#133563","text_color":"#ffffff","link_color":"#ff6f00","text_dim":"#c8d1d9","border_color":"#c8d1d9","border_active":"#ff6f00","accent_color":"#ff6f00","shadow_color":"#222629","accent_secondary":"#c8d1d9","accent_tertiary":"#ff6f00","accent_quaternary":"#8fa0b3","cube":"#c8d1d9","cube_hover":"#ff6f00","resume_job_role":"#ff6f00","resume_job_company":"#c8d1d9","resume_job_meta":"#8fa0b3","resume_skill_bg":"#c8d1d9","resume_skill_text":"#1e4d8c","resume_badge_bg":"#ff6f00","resume_badge_text":"#ffffff","filter_start_color":"#222629","filter_end_color":"#ffffff"},"palette_colors":{"walkman_blue":"#1e4d8c","deep_blue":"#133563","brushed_silver":"#c8d1d9","hotline_orange":"#ff6f00","leather_black":"#222629","pure_white":"#ffffff","dim_silver":"#8fa0b3"},"variables":{"bg_color":"walkman_blue","bg_window":"deep_blue","text_color":"pure_white","link_color":"hotline_orange","text_dim":"brushed_silver","border_color":"brushed_silver","border_active":"hotline_orange","accent_color":"hotline_orange","shadow_color":"leather_black","accent_secondary":"brushed_silver","accent_tertiary":"hotline_orange","accent_quaternary":"dim_silver","cube":"brushed_silver","cube_hover":"hotline_orange","resume_job_role":"hotline_orange","resume_job_company":"brushed_silver","resume_job_meta":"dim_silver","resume_skill_bg":"brushed_silver","resume_skill_text":"walkman_blue","resume_badge_bg":"hotline_orange","resume_badge_text":"pure_white","filter_start_color":"leather_black","filter_end_color":"pure_white"}},{"id":"functionalist","name":"Functionalist","colors":{"bg_color":"#212121","bg_window":"#363636","text_color":"#ffffff","link_color":"#ff6d00","text_dim":"#7d7d7d","border_color":"#ffffff","border_active":"#ff6d00","accent_color":"#ff6d00","shadow_color":"#212121","accent_secondary":"#556b2f","accent_tertiary":"#ff6d00","accent_quaternary":"#7d7d7d","cube":"#ffffff","cube_hover":"#ff6d00","resume_job_role":"#ff6d00","resume_job_company":"#556b2f","resume_job_meta":"#7d7d7d","resume_skill_bg":"#363636","resume_skill_text":"#ffffff","resume_badge_bg":"#ff6d00","resume_badge_text":"#212121","filter_start_color":"#212121","filter_end_color":"#ffffff"},"palette_colors":{"pebble_dark":"#212121","key_grey":"#363636","rams_orange":"#ff6d00","olive_green":"#556b2f","pure_white":"#ffffff","dim_grey":"#7d7d7d"},"variables":{"bg_color":"pebble_dark","bg_window":"key_grey","text_color":"pure_white","link_color":"rams_orange","text_dim":"dim_grey","border_color":"pure_white","border_active":"rams_orange","accent_color":"rams_orange","shadow_color":"pebble_dark","accent_secondary":"olive_green","accent_tertiary":"rams_orange","accent_quaternary":"dim_grey","cube":"pure_white","cube_hover":"rams_orange","resume_job_role":"rams_orange","resume_job_company":"olive_green","resume_job_meta":"dim_grey","resume_skill_bg":"key_grey","resume_skill_text":"pure_white","resume_badge_bg":"rams_orange","resume_badge_text":"pebble_dark","filter_start_color":"pebble_dark","filter_end_color":"pure_white"}},{"id":"resin_91","name":"Resin 91","colors":{"bg_color":"#18191c","bg_window":"#9eaa90","text_color":"#1b241a","link_color":"#0088ff","text_dim":"#595e69","border_color":"#d4af37","border_active":"#39ff14","accent_color":"#d4af37","shadow_color":"#18191c","accent_secondary":"#0088ff","accent_tertiary":"#39ff14","accent_quaternary":"#595e69","cube":"#d4af37","cube_hover":"#39ff14","resume_job_role":"#d4af37","resume_job_company":"#0088ff","resume_job_meta":"#595e69","resume_skill_bg":"#18191c","resume_skill_text":"#9eaa90","resume_badge_bg":"#d4af37","resume_badge_text":"#18191c","filter_start_color":"#18191c","filter_end_color":"#9eaa90"},"palette_colors":{"resin_black":"#18191c","resin_bezel":"#222429","lcd_grey":"#9eaa90","lcd_segment":"#1b241a","resist_gold":"#d4af37","stripe_blue":"#0088ff","nightlight_green":"#39ff14","dim_resin":"#595e69"},"variables":{"bg_color":"resin_black","bg_window":"lcd_grey","text_color":"lcd_segment","link_color":"stripe_blue","text_dim":"dim_resin","border_color":"resist_gold","border_active":"nightlight_green","accent_color":"resist_gold","shadow_color":"resin_black","accent_secondary":"stripe_blue","accent_tertiary":"nightlight_green","accent_quaternary":"dim_resin","cube":"resist_gold","cube_hover":"nightlight_green","resume_job_role":"resist_gold","resume_job_company":"stripe_blue","resume_job_meta":"dim_resin","resume_skill_bg":"resin_black","resume_skill_text":"lcd_grey","resume_badge_bg":"resist_gold","resume_badge_text":"resin_black","filter_start_color":"resin_black","filter_end_color":"lcd_grey"}},{"id":"night_city","name":"Night City","colors":{"bg_color":"#0d0d11","bg_window":"#15151c","text_color":"#ffffff","link_color":"#fcee0a","text_dim":"#5e5073","border_color":"#fcee0a","border_active":"#00f0ff","accent_color":"#fcee0a","shadow_color":"#ff0055","accent_secondary":"#00f0ff","accent_tertiary":"#ff0055","accent_quaternary":"#5e5073","cube":"#fcee0a","cube_hover":"#00f0ff","resume_job_role":"#fcee0a","resume_job_company":"#00f0ff","resume_job_meta":"#5e5073","resume_skill_bg":"#ff0055","resume_skill_text":"#ffffff","resume_badge_bg":"#fcee0a","resume_badge_text":"#0d0d11","filter_start_color":"#0d0d11","filter_end_color":"#ffffff"},"palette_colors":{"netrunner_black":"#0d0d11","cyber_panel":"#15151c","cyber_yellow":"#fcee0a","neon_cyan":"#00f0ff","hot_magenta":"#ff0055","pure_white":"#ffffff","dim_purple":"#5e5073"},"variables":{"bg_color":"netrunner_black","bg_window":"cyber_panel","text_color":"pure_white","link_color":"cyber_yellow","text_dim":"dim_purple","border_color":"cyber_yellow","border_active":"neon_cyan","accent_color":"cyber_yellow","shadow_color":"hot_magenta","accent_secondary":"neon_cyan","accent_tertiary":"hot_magenta","accent_quaternary":"dim_purple","cube":"cyber_yellow","cube_hover":"neon_cyan","resume_job_role":"cyber_yellow","resume_job_company":"neon_cyan","resume_job_meta":"dim_purple","resume_skill_bg":"hot_magenta","resume_skill_text":"pure_white","resume_badge_bg":"cyber_yellow","resume_badge_text":"netrunner_black","filter_start_color":"netrunner_black","filter_end_color":"pure_white"}},{"id":"they_fear","name":"They Fear","colors":{"bg_color":"#101014","bg_window":"#1c1c24","text_color":"#ffffff","link_color":"#f5a623","text_dim":"#78879e","border_color":"#3b7dd8","border_active":"#f5a623","accent_color":"#f5a623","shadow_color":"#101014","accent_secondary":"#3b7dd8","accent_tertiary":"#b71c1c","accent_quaternary":"#e
4165100","cube":"#f5a623","cube_hover":"#3b7dd8","resume_job_role":"#f5a623","resume_job_company":"#3b7dd8","resume_job_meta":"#78879e","resume_skill_bg":"#3b7dd8","resume_skill_text":"#ffffff","resume_badge_bg":"#b71c1c","resume_badge_text":"#ffffff","filter_start_color":"#101014","filter_end_color":"#f5a623"},"palette_colors":{"slag_black":"#101014","furnace_dark":"#1c1c24","logo_blue":"#3b7dd8","logo_cyan":"#68a9f4","logo_gold":"#f5a623","logo_orange":"#e65100","logo_red":"#b71c1c","armor_white":"#ffffff","dim_steel":"#78879e"},"variables":{"bg_color":"slag_black","bg_window":"furnace_dark","text_color":"armor_white","link_color":"logo_gold","text_dim":"dim_steel","border_color":"logo_blue","border_active":"logo_gold","accent_color":"logo_gold","shadow_color":"slag_black","accent_secondary":"logo_blue","accent_tertiary":"logo_red","accent_quaternary":"logo_orange","cube":"logo_gold","cube_hover":"logo_blue","resume_job_role":"logo_gold","resume_job_company":"logo_blue","resume_job_meta":"dim_steel","resume_skill_bg":"logo_blue","resume_skill_text":"armor_white","resume_badge_bg":"logo_red","resume_badge_text":"armor_white","filter_start_color":"slag_black","filter_end_color":"logo_gold"}},{"id":"hero_of_time","name":"Hero of Time","colors":{"bg_color":"#0e2417","bg_window":"#163824","text_color":"#f5f0db","link_color":"#ffd700","text_dim":"#527a63","border_color":"#ffd700","border_active":"#00e5ff","accent_color":"#ffd700","shadow_color":"#0e2417","accent_secondary":"#00e5ff","accent_tertiary":"#1565c0","accent_quaternary":"#527a63","cube":"#f5f0db","cube_hover":"#ffd700","resume_job_role":"#ffd700","resume_job_company":"#00e5ff","resume_job_meta":"#527a63","resume_skill_bg":"#1565c0","resume_skill_text":"#f5f0db","resume_badge_bg":"#ffd700","resume_badge_text":"#0e2417","filter_start_color":"#0e2417","filter_end_color":"#f5f0db"},"palette_colors":{"woods_green":"#0e2417","kokiri_dark":"#163824","triforce_gold":"#ffd700","master_blue":"#1565c0","sheikah_cyan":"#00e5ff","parchment_cream":"#f5f0db","dim_sage":"#527a63"},"variables":{"bg_color":"woods_green","bg_window":"kokiri_dark","text_color":"parchment_cream","link_color":"triforce_gold","text_dim":"dim_sage","border_color":"triforce_gold","border_active":"sheikah_cyan","accent_color":"triforce_gold","shadow_color":"woods_green","accent_secondary":"sheikah_cyan","accent_tertiary":"master_blue","accent_quaternary":"dim_sage","cube":"parchment_cream","cube_hover":"triforce_gold","resume_job_role":"triforce_gold","resume_job_company":"sheikah_cyan","resume_job_meta":"dim_sage","resume_skill_bg":"master_blue","resume_skill_text":"parchment_cream","resume_badge_bg":"triforce_gold","resume_badge_text":"woods_green","filter_start_color":"woods_green","filter_end_color":"parchment_cream"}},{"id":"kanto_red","name":"Kanto Red","colors":{"bg_color":"#b71c1c","bg_window":"#c62828","text_color":"#f8f9fa","link_color":"#ffeb3b","text_dim":"#e0d8d8","border_color":"#f8f9fa","border_active":"#ffeb3b","accent_color":"#ffeb3b","shadow_color":"#500b0b","accent_secondary":"#1565c0","accent_tertiary":"#5e35b1","accent_quaternary":"#e0d8d8","cube":"#f8f9fa","cube_hover":"#ffeb3b","resume_job_role":"#ffeb3b","resume_job_company":"#1565c0","resume_job_meta":"#e0d8d8","resume_skill_bg":"#1565c0","resume_skill_text":"#f8f9fa","resume_badge_bg":"#ffeb3b","resume_badge_text":"#500b0b","filter_start_color":"#500b0b","filter_end_color":"#f8f9fa"},"palette_colors":{"pokeball_red":"#b71c1c","scarlet_panel":"#c62828","cerulean_blue":"#1565c0","pikachu_yellow":"#ffeb3b","pure_white":"#f8f9fa","freak_purple":"#5e35b1","dim_cream":"#e0d8d8","shadow_dark":"#500b0b"},"variables":{"bg_color":"pokeball_red","bg_window":"scarlet_panel","text_color":"pure_white","link_color":"pikachu_yellow","text_dim":"dim_cream","border_color":"pure_white","border_active":"pikachu_yellow","accent_color":"pikachu_yellow","shadow_color":"shadow_dark","accent_secondary":"cerulean_blue","accent_tertiary":"freak_purple","accent_quaternary":"dim_cream","cube":"pure_white","cube_hover":"pikachu_yellow","resume_job_role":"pikachu_yellow","resume_job_company":"cerulean_blue","resume_job_meta":"dim_cream","resume_skill_bg":"cerulean_blue","resume_skill_text":"pure_white","resume_badge_bg":"pikachu_yellow","resume_badge_text":"shadow_dar
41k","filter_start_color":"shadow_dark","filter_end_color":"pure_white"}},{"id":"hazard_suit","name":"Hazard Suit","colors":{"bg_color":"#1f2127","bg_window":"#14151a","text_color":"#e0e0e0","link_color":"#ff6f00","text_dim":"#607d8b","border_color":"#ff6f00","border_active":"#76ff03","accent_color":"#ff6f00","shadow_color":"#14151a","accent_secondary":"#76ff03","accent_tertiary":"#d32f2f","accent_quaternary":"#607d8b","cube":"#e0e0e0","cube_hover":"#ff6f00","resume_job_role":"#ff6f00","resume_job_company":"#76ff03","resume_job_meta":"#607d8b","resume_skill_bg":"#14151a","resume_skill_text":"#ff6f00","resume_badge_bg":"#ff6f00","resume_badge_text":"#14151a","filter_start_color":"#14151a","filter_end_color":"#e0e0e0"},"palette_colors":{"research_slate":"#1f2127","facility_black":"#14151a","hazard_orange":"#ff6f00","xen_green":"#76ff03","crowbar_red":"#d32f2f","alloy_grey":"#e0e0e0","dim_steel":"#607d8b"},"variables":{"bg_color":"research_slate","bg_window":"facility_black","text_color":"alloy_grey","link_color":"hazard_orange","text_dim":"dim_steel","border_color":"hazard_orange","border_active":"xen_green","accent_color":"hazard_orange","shadow_color":"facility_black","accent_secondary":"xen_green","accent_tertiary":"crowbar_red","accent_quaternary":"dim_steel","cube":"alloy_grey","cube_hover":"hazard_orange","resume_job_role":"hazard_orange","resume_job_company":"xen_green","resume_job_meta":"dim_steel","resume_skill_bg":"facility_black","resume_skill_text":"hazard_orange","resume_badge_bg":"hazard_orange","resume_badge_text":"facility_black","filter_start_color":"facility_black","filter_end_color":"alloy_grey"}},{"id":"vault_101","name":"Vault 101","colors":{"bg_color":"#0c2340","bg_window":"#071526","text_color":"#ffcc00","link_color":"#f5f5f5","text_dim":"#a88700","border_color":"#ffcc00","border_active":"#ffb000","accent_color":"#ffcc00","shadow_color":"#071526","accent_secondary":"#1eff00","accent_tertiary":"#ffb000","accent_quaternary":"#a88700","cube":"#ffcc00","cube_hover":"#f5f5f5","resume_job_role":"#ffcc00","resume_job_company":"#1eff00","resume_job_meta":"#a88700","resume_skill_bg":"#071526","resume_skill_text":"#ffcc00","resume_badge_bg":"#ffcc00","resume_badge_text":"#071526","filter_start_color":"#071526","filter_end_color":"#ffcc00"},"palette_colors":{"vault_navy":"#0c2340","jumpsuit_dark":"#071526","vault_gold":"#ffcc00","pip_amber":"#ffb000","pip_green":"#1eff00","pure_white":"#f5f5f5","dim_gold":"#a88700"},"variables":{"bg_color":"vault_navy","bg_window":"jumpsuit_dark","text_color":"vault_gold","link_color":"pure_white","text_dim":"dim_gold","border_color":"vault_gold","border_active":"pip_amber","accent_color":"vault_gold","shadow_color":"jumpsuit_dark","accent_secondary":"pip_green","accent_tertiary":"pip_amber","accent_quaternary":"dim_gold","cube":"vault_gold","cube_hover":"pure_white","resume_job_role":"vault_gold","resume_job_company":"pip_green","resume_job_meta":"dim_gold","resume_skill_bg":"jumpsuit_dark","resume_skill_text":"vault_gold","resume_badge_bg":"vault_gold","resume_badge_text":"jumpsuit_dark","filter_start_color":"jumpsuit_dark","filter_end_color":"vault_gold"}},{"id":"overworld_85","name":"Overworld 85","colors":{"bg_color":"#5c94fc","bg_window":"#3f78e0","text_color":"#ffffff","link_color":"#fcd116","text_dim":"#ffffff","border_color":"#ffffff","border_active":"#fcd116","accent_color":"#fcd116","shadow_color":"#28509e","accent_secondary":"#e52521","accent_tertiary":"#00a800","accent_quaternary":"#b84418","cube":"#ffffff","cube_hover":"#fcd116","resume_job_role":"#fcd116","resume_job_company":"#00a800","resume_job_meta":"#ffffff","resume_skill_bg":"#e52521","resume_skill_text":"#ffffff","resume_badge_bg":"#fcd116","resume_badge_text":"#b84418","filter_start_color":"#28509e","filter_end_color":"#ffffff"},"palette_colors":{"sky_blue":"#5c94fc","deep_sky":"#3f78e0","mario_red":"#e52521","block_gold":"#fcd116","pipe_green":"#00a800","cloud_white":"#ffffff","brick_brown":"#b84418","shadow_blue":"#28509e"},"variables":{"bg_color":"sky_blue","bg_window":"deep_sky","text_color":"cloud_white","link_color":"block_gold","text_dim":"cloud_white","border_color":"cloud_white","border_active":"block_gold","accent_color":"block_gold","shadow_color":"shadow_blue","accent_secondary":"mario_red","accent_tertiary":"pipe_green","accent_quaternary":"brick_brown","cube":"cloud_white","cube_hover":"block_gold","resume_job_role":"block_gold","resume_job_company":"pipe_green","resume_job_meta":"cloud_white","resume_skill_bg":"mario_red","resume_skill_text":"cloud_white","resume_badge_bg":"block_gold","resume_badge_text":"brick_brown","filter_start_color":"shadow_blue","filter_end_color":"cloud_white"}},{"id":"mineshaft","name":"Mineshaft","colors":{"bg_color":"#141316","bg_window":"#1e1e24","text_color":"#f0f2f5","link_color":"#38e6d2","text_dim":"#9aa0a6","border_color":"#38e6d2","border_active":"#f5a623","accent_color":"#38e6d2","shadow_color":"#0b0a0d","accent_secondary":"#ff3333","accent_tertiary":"#f5a623","accent_quaternary":"#5b8731","cube":"#f0f2f5","cube_hover":"#38e6d2","resume_job_role":"#f5a623","resume_job_company":"#38e6d2","resume_job_meta":"#9aa0a6","resume_skill_bg":"#1e1e24","resume_skill_text":"#38e6d2","resume_badge_bg":"#ff3333","resume_badge_text":"#f0f2f5","filter_start_color":"#0b0a0d","filter_end_color":"#f0f2f5"},"palette_colors":{"deepslate":"#141316","cobblestone_dark":"#1e1e24","quartz_white":"#f0f2f5","diamond_cyan":"#38e6d2","redstone_red":"#ff3333","grass_green":"#5b8731","torch_gold":"#f5a623","stone_dim":"#9aa0a6","void_black":"#0b0a0d"},"variables":{"bg_color":"deepslate","bg_window":"cobblestone_dark","text_color":"quartz_white","link_color":"diamond_cyan","text_dim":"stone_dim","border_color":"diamond_cyan","border_active":"torch_gold","accent_color":"diamond_cyan","shadow_color":"void_black","accent_secondary":"redstone_red","accent_tertiary":"torch_gold","accent_quaternary":"grass_green","cube":"quartz_white","cube_hover":"diamond_cyan","resume_job_role":"torch_gold","resume_job_company":"diamond_cyan","resume_job_meta":"stone_dim","resume_skill_bg":"cobblestone_dark","resume_skill_text":"diamond_cyan","resume_badge_bg":"redstone_red","resume_badge_text":"quartz_white","filter_start_color":"void_black","filter_end_color":"quartz_white"}},{"id":"master","name":"Master","colors":{"bg_color":"#3d4528","bg_window":"#2a301b","text_color":"#eef2e6","link_color":"#e5a823","text_dim":"#707b53","border_color":"#e5a823","border_active":"#00e5ff","accent_color":"#e5a823","shadow_color":"#2a301b","accent_secondary":"#00e5ff","accent_tertiary":"#7b1fa2","accent_quaternary":"#707b53","cube":"#eef2e6","cube_hover":"#e5a823","resume_job_role":"#e5a823","resume_job_company":"#00e5ff","resume_job_meta":"#707b53","resume_skill_bg":"#2a301b","resume_skill_text":"#eef2e6","resume_badge_bg":"#e5a823","resume_badge_text":"#2a301b","filter_start_color":"#2a301b","filter_end_color":"#eef2e6"},"palette_colors":{"mjolnir_olive":"#3d4528","armor_dark":"#2a301b","visor_gold":"#e5a823","cortana_cyan":"#00e5ff","plasma_purple":"#7b1fa2","armor_white":"#eef2e6","dim_olive":"#707b53"},"variables":{"bg_color":"mjolnir_olive","bg_window":"armor_dark","text_color":"armor_white","link_color":"visor_gold","text_dim":"dim_olive","border_color":"visor_gold","border_active":"cortana_cyan","accent_color":"visor_gold","shadow_color":"armor_dark","accent_secondary":"cortana_cyan","accent_tertiary":"plasma_purple","accent_quaternary":"dim_olive","cube":"armor_white","cube_hover":"visor_gold","resume_job_role":"visor_gold","resume_job_company":"cortana_cyan","resume_job_meta":"dim_olive","resume_skill_bg":"armor_dark","resume_skill_text":"armor_white","resume_badge_bg":"visor_gold","resume_badge_text":"armor_dark","filter_start_color":"armor_dark","filter_end_color":"armor_white"}},{"id":"faith","name":"Faith","colors":{"bg_color":"#f8f9fa","bg_window":"#f8f9fa","text_color":"#212529","link_color":"#e60000","text_dim":"#6c757d","border_color":"#212529","border_active":"#e60000","accent_color":"#e60000","shadow_color":"#212529","accent_secondary":"#00b4d8","accent_tertiary":"#ffcc00","accent_quaternary":"#6c757d","cube":"#212529","cube_hover":"#e60000","resume_job_role":"#e60000","resume_job_company":"#00b4d8","resume_job_meta":"#6c757d","resume_skill_bg":"#212529","resume_skill_text":"#f8f9fa","resume_badge_bg":"#e60000","resume_badge_text":"#f8f9fa","filter_start_color":"#212529","filter_end_color":"#f8f9fa"},"palette_colors":{"sterile_white":"#f8f9fa","panel_card":"#eceef1","runner_crimson":"#e60000","skyline_cyan":"#00b4d8","concrete_black":"#212529","hazard_yellow":"#ffcc00","dim_concrete":"#6c757d"},"variables":{"bg_color":"sterile_white","bg_window":"sterile_white","text_color":"concrete_black","link_color":"runner_crimson","text_dim":"dim_concrete","border_color":"concrete_black","border_active":"runner_crimson","accent_color":"runner_crimson","shadow_color":"concrete_black","accent_secondary":"skyline_cyan","accent_tertiary":"hazard_yellow","accent_quaternary":"dim_concrete","cube":"concrete_black","cube_hover":"runner_crimson","resume_job_role":"runner_crimson","resume_job_company":"skyline_cyan","resume_job_meta":"dim_concrete","resume_skill_bg":"concrete_black","resume_skill_text":"sterile_white","resume_badge_bg":"runner_crimson","resume_badge_text":"sterile_white","filter_start_color":"concrete_black","filter_end_color":"sterile_white"}},{"id":"ash_of_ember","name":"Ash of Ember","colors":{"bg_color":"#121214","bg_window":"#1e1e24","text_color":"#f5f5f5","link_color":"#d84315","text_dim":"#78909c","border_color":"#d84315","border_active":"#ffb300","accent_color":"#d84315","shadow_color":"#121214","accent_secondary":"#ffb300","accent_tertiary":"#546e7a","accent_quaternary":"#78909c","cube":"#f5f5f5","cube_hover":"#d84315","resume_job_role":"#d84315","resume_job_company":"#ffb300","resume_job_meta":"#78909c","resume_skill_bg":"#1e1e24","resume_skill_text":"#f5f5f5","resume_badge_bg":"#d84315","resume_badge_text":"#121214","filter_start_color":"#121214","filter_end_color":"#f5f5f5"},"palette_colors":{"abyssal_black":"#121214","ash_dark":"#1e1e24","ember_orange":"#d84315","estus_gold":"#ffb300","sword_grey":"#546e7a","pure_white":"#f5f5f5","dim_ash":"#78909c"},"variables":{"bg_color":"abyssal_black","bg_window":"ash_dark","text_color":"pure_white","link_color":"ember_orange","text_dim":"dim_ash","border_color":"ember_orange","border_active":"estus_gold","accent_color":"ember_orange","shadow_color":"abyssal_black","accent_secondary":"estus_gold","accent_tertiary":"sword_grey","accent_quaternary":"dim_ash","cube":"pure_white","cube_hover":"ember_orange","resume_job_role":"ember_orange","resume_job_company":"estus_gold","resume_job_meta":"dim_ash","resume_skill_bg":"ash_dark","resume_skill_text":"pure_white","resume_badge_bg":"ember_orange","resume_badge_text":"abyssal_black","filter_start_color":"abyssal_black","filter_end_color":"pure_white"}},{"id":"disturbing_the_peace","name":"Disturbing The Peace","colors":{"bg_color":"#0a0a0c","bg_window":"#16161c","text_color":"#ffffff","link_color":"#e60012","text_dim":"#6e6e78","border_color":"#e60012","border_active":"#ffe600","accent_color":"#e60012","shadow_color":"#0a0a0c","accent_secondary":"#ffe600","accent_tertiary":"#ffffff","accent_quaternary":"#6e6e78","cube":"#ffffff","cube_hover":"#e60012","resume_job_role":"#e60012","resume_job_company":"#ffe600","resume_job_meta":"#6e6e78","resume_skill_bg":"#e60012","resume_skill_text":"#ffffff","resume_badge_bg":"#ffe600","resume_badge_text":"#0a0a0c","filter_start_color":"#0a0a0c","filter_end_color":"#ffffff"},"palette_colors":{"underground_black":"#0a0a0c","rebel_panel":"#16161c","rebel_red":"#e60012","star_yellow":"#ffe600","comic_white":"#ffffff","shadow_grey":"#3a3a40","dim_slate":"#6e6e78"},"variables":{"bg_color":"underground_black","bg_window":"rebel_panel","text_color":"comic_white","link_color":"rebel_red","text_dim":"dim_slate","border_color":"rebel_red","border_active":"star_yellow","accent_color":"rebel_red","
41shadow_color":"underground_black","accent_secondary":"star_yellow","accent_tertiary":"comic_white","accent_quaternary":"dim_slate","cube":"comic_white","cube_hover":"rebel_red","resume_job_role":"rebel_red","resume_job_company":"star_yellow","resume_job_meta":"dim_slate","resume_skill_bg":"rebel_red","resume_skill_text":"comic_white","resume_badge_bg":"star_yellow","resume_badge_text":"underground_black","filter_start_color":"underground_black","filter_end_color":"comic_white"}},{"id":"iwasbornintheusa","name":"IWASBORNINTHEUSA","colors":{"bg_color":"#0c0714","bg_window":"#180f26","text_color":"#ffffff","link_color":"#00ffff","text_dim":"#5e3a8c","border_color":"#ff1493","border_active":"#00ffff","accent_color":"#ff1493","shadow_color":"#0c0714","accent_secondary":"#00ffff","accent_tertiary":"#ffe600","accent_quaternary":"#5e3a8c","cube":"#ffffff","cube_hover":"#ff1493","resume_job_role":"#ffe600","resume_job_company":"#00ffff","resume_job_meta":"#5e3a8c","resume_skill_bg":"#ff1493","resume_skill_text":"#ffffff","resume_badge_bg":"#00ffff","resume_badge_text":"#0c0714","filter_start_color":"#0c0714","filter_end_color":"#ffffff"},"palette_colors":{"midnight_horizon":"#0c0714","dusk_panel":"#180f26","neon_pink":"#ff1493","laser_cyan":"#00ffff","sunset_violet":"#7928ca","neon_yellow":"#ffe600","pure_white":"#ffffff","dim_purple":"#5e3a8c"},"variables":{"bg_color":"midnight_horizon","bg_window":"dusk_panel","text_color":"pure_white","link_color":"laser_cyan","text_dim":"dim_purple","border_color":"neon_pink","border_active":"laser_cyan","accent_color":"neon_pink","shadow_color":"midnight_horizon","accent_secondary":"laser_cyan","accent_tertiary":"neon_yellow","accent_quaternary":"dim_purple","cube":"pure_white","cube_hover":"neon_pink","resume_job_role":"neon_yellow","resume_job_company":"laser_cyan","resume_job_meta":"dim_purple","resume_skill_bg":"neon_pink","resume_skill_text":"pure_white","resume_badge_bg":"laser_cyan","resume_badge_text":"midnight_horizon","filter_start_color":"midnight_horizon","filter_end_color":"pure_white"}},{"id":"solarized_dark","name":"Solarized Dark","colors":{"bg_color":"#002b36","bg_window":"#073642","text_color":"#839496","link_color":"#268bd2","text_dim":"#586e75","border_color":"#586e75","border_active":"#2aa198","accent_color":"#b58900","shadow_color":"#002b36","accent_secondary":"#2aa198","accent_tertiary":"#859900","accent_quaternary":"#cb4b16","cube":"#839496","cube_hover":"#2aa198","resume_job_role":"#b58900","resume_job_company":"#268bd2","resume_job_meta":"#586e75","resume_skill_bg":"#073642","resume_skill_text":"#839496","resume_badge_bg":"#2aa198","resume_badge_text":"#002b36","filter_start_color":"#002b36","filter_end_color":"#839496"},"palette_colors":{"base03":"#002b36","base02":"#073642","base01":"#586e75","base00":"#657b83","base0":"#839496","base1":"#93a1a1","base2":"#eee8d5","base3":"#fdf6e3","yellow":"#b58900","orange":"#cb4b16","red":"#dc322f","magenta":"#d33682","violet":"#6c71c4","blue":"#268bd2","cyan":"#2aa198","green":"#859900"},"variables":{"bg_color":"base03","bg_window":"base02","text_color":"base0","link_color":"blue","text_dim":"base01","border_color":"base01","border_active":"cyan","accent_color":"yellow","shadow_color":"base03","accent_secondary":"cyan","accent_tertiary":"green","accent_quaternary":"orange","cube":"base0","cube_hover":"cyan","resume_job_role":"yellow","resume_job_company":"blue","resume_job_meta":"base01","resume_skill_bg":"base02","resume_skill_text":"base0","resume_badge_bg":"cyan","resume_badge_text":"base03","filter_start_color":"base03","filter_end_color":"base0"}},{"id":"solarized_light","name":"Solarized Light","colors":{"bg_color":"#fdf6e3","bg_window":"#eee8d5","text_color":"#657b83","link_color":"#268bd2","text_dim":"#93a1a1","border_color":"#93a1a1","border_active":"#268bd2","accent_color":"#cb4b16","shadow_color":"#93a1a1","accent_secondary":"#2aa198","accent_tertiary":"#859900","accent_quaternary":"#b58900","cube":"#657b83","cube_hover":"#268bd2","resume_job_role":"#cb4b16","resume_job_company":"#268bd2","resume_job_meta":"#93a1a1","resume_skill_bg":"#eee8d5","resume_skill_text":"#657b83","resume_badge_bg":"#268bd2","resume_badge_text":"#fdf6e3","filter_start_color":"#657b83","filter_end_color":"#fdf6e3"},"palette_colors":{"base3":"#fdf6e3","base2":"#eee8d5","base1":"#93a1a1","base0":"#839496","base00":"#657b83","base01":"#586e75","base02":"#073642","base03":"#002b36","yellow":"#b58900","orange":"#cb4b16","red":"#dc322f","magenta":"#d33682","violet":"#6c71c4","blue":"#268bd2","cyan":"#2aa198","green":"#859900"},"variables":{"bg_color":"base3","bg_window":"base2","text_color":"base00","link_color":"blue","text_dim":"base1","border_color":"base1","border_active":"blue","accent_color":"orange","shadow_color":"base1","accent_secondary":"cyan","accent_tertiary":"green","accent_quaternary":"yellow","cube":"base00","cube_hover":"blue","resume_job_role":"orange","resume_job_company":"blue","resume_job_meta":"base1","resume_skill_bg":"base2","resume_skill_text":"base00","resume_badge_bg":"blue","resume_badge_text":"base3","filter_start_color":"base00","filter_end_color":"base3"}},{"id":"nord_frost","name":"Arctic Frost","colors":{"bg_color":"#2e3440","bg_window":"#3b4252","text_color":"#eceff4","link_color":"#88c0d0","text_dim":"#a3b1c6","border_color":"#81a1c1","border_active":"#88c0d0","accent_color":"#88c0d0","shadow_color":"#2e3440","accent_secondary":"#a3be8c","accent_tertiary":"#ebcb8b","accent_quaternary":"#bf616a","cube":"#eceff4","cube_hover":"#88c0d0","resume_job_role":"#88c0d0","resume_job_company":"#a3be8c","resume_job_meta":"#a3b1c6","resume_skill_bg":"#434c5e","resume_skill_text":"#eceff4","resume_badge_bg":"#88c0d0","resume_badge_text":"#2e3440","filter_start_color":"#2e3440","filter_end_color":"#eceff4"},"palette_colors":{"polar_night0":"#2e3440","polar_night1":"#3b4252","polar_night2":"#434c5e","polar_night3":"#4c566a","snow_storm0":"#d8dee9","snow_storm1":"#e5e9f0","snow_storm2":"#eceff4","frost0":"#8fbcbb","frost1":"#88c0d0","frost2":"#81a1c1","frost3":"#5e81ac","aurora_red":"#bf616a","aurora_orange":"#d08770","aurora_yellow":"#ebcb8b","aurora_green":"#a3be8c","aurora_purple":"#b48ead","frost_dim":"#a3b1c6"},"variables":{"bg_color":"polar_night0","bg_window":"polar_night1","text_color":"snow_storm2","link_color":"frost1","text_dim":"frost_dim","border_color":"frost2","border_active":"frost1","accent_color":"frost1","shadow_color":"polar_night0","accent_secondary":"aurora_green","accent_tertiary":"aurora_yellow","accent_quaternary":"aurora_red","cube":"snow_storm2","cube_hover":"frost1","resume_job_role":"frost1","resume_job_company":"aurora_green","resume_job_meta":"frost_dim","resume_skill_bg":"polar_night2","resume_skill_text":"snow_storm2","resume_badge_bg":"frost1","resume_badge_text":"polar_night0","filter_start_color":"polar_night0","filter_end_color":"snow_storm2"}},{"id":"catppuccin_mocha","name":"Catppuccin Mocha","colors":{"bg_color":"#1e1e2e","bg_window":"#181825","text_color":"#cdd6f4","link_color":"#89b4fa","text_dim":"#a6adc8","border_color":"#cba6f7","border_active":"#89b4fa","accent_color":"#cba6f7","shadow_color":"#11111b","accent_secondary":"#a6e3a1","accent_tertiary":"#fab387","accent_quaternary":"#f9e2af","cube":"#cdd6f4","cube_hover":"#89b4fa","resume_job_role":"#cba6f7","resume_job_company":"#89b4fa","resume_job_meta":"#a6adc8","resume_skill_bg":"#313244","resume_skill_text":"#cdd6f4","resume_badge_bg":"#cba6f7","resume_badge_text":"#11111b","filter_start_color":"#11111b","filter_end_color":"#cdd6f4"}
41,"palette_colors":{"mocha_base":"#1e1e2e","mocha_mantle":"#181825","mocha_crust":"#11111b","mocha_surface":"#313244","mocha_text":"#cdd6f4","mocha_subtext":"#a6adc8","mocha_mauve":"#cba6f7","mocha_pink":"#f5c2e7","mocha_red":"#f38ba8","mocha_peach":"#fab387","mocha_yellow":"#f9e2af","mocha_green":"#a6e3a1","mocha_teal":"#94e2d5","mocha_sapphire":"#74c7ec","mocha_blue":"#89b4fa","mocha_lavender":"#b4befe"},"variables":{"bg_color":"mocha_base","bg_window":"mocha_mantle","text_color":"mocha_text","link_color":"mocha_blue","text_dim":"mocha_subtext","border_color":"mocha_mauve","border_active":"mocha_blue","accent_color":"mocha_mauve","shadow_color":"mocha_crust","accent_secondary":"mocha_green","accent_tertiary":"mocha_peach","accent_quaternary":"mocha_yellow","cube":"mocha_text","cube_hover":"mocha_blue","resume_job_role":"mocha_mauve","resume_job_company":"mocha_blue","resume_job_meta":"mocha_subtext","resume_skill_bg":"mocha_surface","resume_skill_text":"mocha_text","resume_badge_bg":"mocha_mauve","resume_badge_text":"mocha_crust","filter_start_color":"mocha_crust","filter_end_color":"mocha_text"}},{"id":"vampire_count","name":"Vampire Count","colors":{"bg_color":"#282a36","bg_window":"#44475a","text_color":"#f8f8f2","link_color":"#8be9fd","text_dim":"#6272a4","border_color":"#bd93f9","border_active":"#ff79c6","accent_color":"#ff79c6","shadow_color":"#282a36","accent_secondary":"#50fa7b","accent_tertiary":"#ffb86c","accent_quaternary":"#f1fa8c","cube":"#f8f8f2","cube_hover":"#8be9fd","resume_job_role":"#bd93f9","resume_job_company":"#50fa7b","resume_job_meta":"#6272a4","resume_skill_bg":"#44475a","resume_skill_text":"#f8f8f2","resume_badge_bg":"#ff79c6","resume_badge_text":"#282a36","filter_start_color":"#282a36","filter_end_color":"#f8f8f2"},"palette_colors":{"drac_bg":"#282a36","drac_current":"#44475a","drac_fg":"#f8f8f2","drac_comment":"#6272a4","drac_cyan":"#8be9fd","drac_green":"#50fa7b","drac_orange":"#ffb86c","drac_pink":"#ff79c6","drac_purple":"#bd93f9","drac_red":"#ff5555","drac_yellow":"#f1fa8c"},"variables":{"bg_color":"drac_bg","bg_window":"drac_current","text_color":"drac_fg","link_color":"drac_cyan","text_dim":"drac_comment","border_color":"drac_purple","border_active":"drac_pink","accent_color":"drac_pink","shadow_color":"drac_bg","accent_secondary":"drac_green","accent_tertiary":"drac_orange","accent_quaternary":"drac_yellow","cube":"drac_fg","cube_hover":"drac_cyan","resume_job_role":"drac_purple","resume_job_company":"drac_green","resume_job_meta":"drac_comment","resume_skill_bg":"drac_current","resume_skill_text":"drac_fg","resume_badge_bg":"drac_pink","resume_badge_text":"drac_bg","filter_start_color":"drac_bg","filter_end_color":"drac_fg"}},{"id":"retro_groove","name":"Retro Groove","colors":{"bg_color":"#282828","bg_window":"#3c3836","text_color":"#ebdbb2","link_color":"#83a598","text_dim":"#a89984","border_color":"#fabd2f","border_active":"#8ec07c","accent_color":"#fe8019","shadow_color":"#282828","accent_secondary":"#b8bb26","accent_tertiary":"#fabd2f","accent_quaternary":"#d3869b","cube":"#ebdbb2","cube_hover":"#8ec07c","resume_job_role":"#fabd2f","resume_job_company":"#83a598","resume_job_meta":"#a89984","resume_skill_bg":"#3c3836","resume_skill_text":"#ebdbb2","resume_badge_bg":"#fe8019","resume_badge_text":"#282828","filter_start_color":"#282828","filter_end_color":"#ebdbb2"},"palette_colors":{"dark0":"#282828","dark1":"#3c3836","dark2":"#504945","light1":"#ebdbb2","light4":"#a89984","red":"#fb4934","green":"#b8bb26","yellow":"#fabd2f","blue":"#83a598","purple":"#d3869b","aqua":"#8ec07c","orange":"#fe8019"},"variables":{"bg_color":"dark0","bg_window":"dark1","text_color":"light1","link_color":"blue","text_dim":"light4","border_color":"yellow","border_active":"aqua","accent_color":"orange","shadow_color":"dark0","accent_secondary":"green","accent_tertiary":"yellow","accent_quaternary":"purple","cube":"light1","cube_hover":"aqua","resume_job_role":"yellow","resume_job_company":"blue","resume_job_meta":"light4","resume_skill_bg":"dark1","resume_skill_text":"light1","resume_badge_bg":"orange","resume_badge_text":"dark0","filter_start_color":"dark0","filter_end_color":"light1"}},{"id":"tokyo_midnight","name":"Tokyo Midnight","colors":{"bg_color":"#1a1b26","bg_window":"#24283b","text_color":"#c0caf5","link_color":"#7dcfff","text_dim":"#565f89","border_color":"#7aa2f7","border_active":"#7dcfff","accent_color":"#bb9af7","shadow_color":"#1a1b26","accent_secondary":"#73daca","accent_tertiary":"#ff9e64","accent_quaternary":"#e0af68","cube":"#c0caf5","cube_hover":"#7dcfff","resume_job_role":"#bb9af7","resume_job_company":"#7aa2f7","resume_job_meta":"#565f89","resume_skill_bg":"#24283b","resume_skill_text":"#c0caf5","resume_badge_bg":"#bb9af7","resume_badge_text":"#1a1b26","filter_start_color":"#1a1b26","filter_end_color":"#c0caf5"},"palette_colors":{"tokyo_bg":"#1a1b26","tokyo_storm":"#24283b","tokyo_fg":"#c0caf5","tokyo_dim":"#565f89","tokyo_blue":"#7aa2f7","tokyo_cyan":"#7dcfff","tokyo_green":"#73daca","tokyo_magenta":"#bb9af7","tokyo_orange":"#ff9e64","tokyo_red":"#f7768e","tokyo_yellow":"#e0af68"},"variables":{"bg_color":"tokyo_bg","bg_window":"tokyo_storm","text_color":"tokyo_fg","link_color":"tokyo_cyan","text_dim":"tokyo_dim","border_color":"tokyo_blue","border_active":"tokyo_cyan","accent_color":"tokyo_magenta","shadow_color":"tokyo_bg","accent_secondary":"tokyo_green","accent_tertiary":"tokyo_orange","accent_quaternary":"tokyo_yellow","cube":"tokyo_fg","cube_hover":"tokyo_cyan","resume_job_role":"tokyo_magenta","resume_job_company":"tokyo_blue","resume_job_meta":"tokyo_dim","resume_skill_bg":"tokyo_storm","resume_skill_text":"tokyo_fg","resume_badge_bg":"tokyo_magenta","resume_badge_text":"tokyo_bg","filter_start_color":"tokyo_bg","filter_end_color":"tokyo_fg"}}
41,{"id":"dawnbringer_16","name":"DawnBringer 16","colors":{"bg_color":"#140c1c","bg_window":"#30346d","text_color":"#deeed6","link_color":"#6dc2ca","text_dim":"#8595a1","border_color":"#597dce","border_active":"#6dc2ca","accent_color":"#dad45e","shadow_color":"#140c1c","accent_secondary":"#6daa2c","accent_tertiary":"#d04648","accent_quaternary":"#d27d2c","cube":"#deeed6","cube_hover":"#6dc2ca","resume_job_role":"#dad45e","resume_job_company":"#6daa2c","resume_job_meta":"#8595a1","resume_skill_bg":"#30346d","resume_skill_text":"#deeed6","resume_badge_bg":"#d04648","resume_badge_text":"#deeed6","filter_start_color":"#140c1c","filter_end_color":"#deeed6"},"palette_colors":{"void_black":"#140c1c","plum_dark":"#442434","midnight_indigo":"#30346d","dark_grey":"#4e4a4e","rust_brown":"#854c30","forest_green":"#346524","coral_red":"#d04648","muted_gold":"#757161","periwinkle":"#597dce","amber_orange":"#d27d2c","slate_light":"#8595a1","lime_green":"#6daa2c","desert_sand":"#d2aa99","glacier_cyan":"#6dc2ca","pale_yellow":"#dad45e","off_white":"#deeed6"},"variables":{"bg_color":"void_black","bg_window":"midnight_indigo","text_color":"off_white","link_color":"glacier_cyan","text_dim":"slate_light","border_color":"periwinkle","border_active":"glacier_cyan","accent_color":"pale_yellow","shadow_color":"void_black","accent_secondary":"lime_green","accent_tertiary":"coral_red","accent_quaternary":"amber_orange","cube":"off_white","cube_hover":"glacier_cyan","resume_job_role":"pale_yellow","resume_job_company":"lime_green","resume_job_meta":"slate_light","resume_skill_bg":"midnight_indigo","resume_skill_text":"off_white","resume_badge_bg":"coral_red","resume_badge_text":"off_white","filter_start_color":"void_black","filter_end_color":"off_white"}},{"id":"endesga_32","name":"Endesga 32","colors":{"bg_color":"#0d080d","bg_window":"#1f1624","text_color":"#eef4f4","link_color":"#73a7c4","text_dim":"#756c7d","border_color":"#7f4e82","border_active":"#73a7c4","accent_color":"#edd666","shadow_color":"#0d080d","accent_secondary":"#4fb377","accent_tertiary":"#f05b5b","accent_quaternary":"#756c7d","cube":"#eef4f4","cube_hover":"#73a7c4","resume_job_role":"#edd666","resume_job_company":"#4fb377","resume_job_meta":"#756c7d","resume_skill_bg":"#7f4e82","resume_skill_text":"#eef4f4","resume_badge_bg":"#f05b5b","resume_badge_text":"#eef4f4","filter_start_color":"#0d080d","filter_end_color":"#eef4f4"},"palette_colors":{"edg_void":"#0d080d","edg_shadow":"#1f1624","edg_text":"#eef4f4","edg_dim":"#756c7d","edg_coral":"#f05b5b","edg_blue":"#73a7c4","edg_foliage":"#4fb377","edg_sun":"#edd666","edg_purple":"#7f4e82","edg_marine":"#2b4f6e"},"variables":{"bg_color":"edg_void","bg_window":"edg_shadow","text_color":"edg_text","link_color":"edg_blue","text_dim":"edg_dim","border_color":"edg_purple","border_active":"edg_blue","accent_color":"edg_sun","shadow_color":"edg_void","accent_secondary":"edg_foliage","accent_tertiary":"edg_coral","accent_quaternary":"edg_dim","cube":"edg_text","cube_hover":"edg_blue","resume_job_role":"edg_sun","resume_job_company":"edg_foliage","resume_job_meta":"edg_dim","resume_skill_bg":"edg_purple","resume_skill_text":"edg_text","resume_badge_bg":"edg_coral","resume_badge_text":"edg_text","filter_start_color":"edg_void","filter_end_color":"edg_text"}}]; 42 window.SITE_JAMS = [{"id":"1dayjam_3","name":"1-DAY JAM #3","tagline":"The 24-hour Game Jam #3 Winner","link":"https://itch.io/jam/1-day-jam-3","start_date":"2026-09-04","end_date":"2026-09-07","submission_date":"2026-09-05","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","host":"","games":[{"subdomain":"soulantern","title":"Soulantern","ranking":"1st Place Winner!","rate_url":"https://itch.io/jam/1-day-jam-3/rate/4976157"}]},{"id":"procjam_2021","name":"PROCJAM 2021","tagline":"Procedural Generation Jam 2021","link":"https://itch.io/jam/procjam2021","start_date":"2021-12-02","end_date":"2021-12-12","submission_date":"2021-12-11","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","host":"","games":[{"subdomain":"mineshift","title":"Mineshift","ranking":"Jam Entry","rate_url":""}]},{"id":"soupjam_2026","name":"SOUPJAM 2026","tagline":"Collaborative fever-dream room exploration jam","link":"https://itch.io/jam/soupjam2026","start_date":"2026-03-01","end_date":"2026-07-01","submission_date":"2026-6-30","de
42scription":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","host":"","games":[{"subdomain":"soup","title":"Solo Oasis : Unlimited Places","ranking":"Jam Collaboration","rate_url":"https://itch.io/jam/soupjam2026/rate/4451070"}]},{"id":"trijam_346","name":"TRIJAM 346","tagline":"The 3-hour Game Jam #346","link":"https://itch.io/jam/trijam-346","start_date":"2025-11-14","end_date":"2025-11-17","submission_date":"2025-11-15","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","host":"","games":[{"subdomain":"box-warp","title":"Box Warp","ranking":"Jam Submission","rate_url":""}]},{"id":"trijam_363","name":"TRIJAM 363","tagline":"The 3-hour Game Jam #363 Winner","link":"https://itch.io/jam/trijam-363","start_date":"2026-03-13","end_date":"2026-03-16","submission_date":"2026-03-16","description":"TRIJAM 363 challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","host":"","games":[{"subdomain":"trolleys","title":"The Problem With Trolleys","ranking":"Winner!","rate_url":""}]}]; 43 </script>
43 44 45
45<script src="../js/palette_engine.js"></script>
45 46 47
47<script> 48 if (window.PaletteEngine) { 49 PaletteEngine.initHead(window.SITE_PALETTES); 50 } 51 </script>
51 52 <link rel="stylesheet" href="../style.css"> 53<link rel="stylesheet" href="../grayscale.min.css"> 54</head> 55<body> 56 <div class="terminal-container" id="top"> 57 <header class="terminal-header"> 58 <div class="terminal-header-top"> 59 <div class="header-left-container"> 60 61 <div id="header-cube-app" title="Spinning 3D Isometric Cube"></div> 62 63 </div> 64 65 <a href="../" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]"> 66 <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div> 67 </a> 68 <div class="header-right-controls"> 69 <button id="hamburger-btn" class="hamburger-btn" type="button" aria-label="Toggle Menu" aria-expanded="false"> 70 [ <span class="hamburger-icon">â°</span> MENU ] 71 </button> 72 <div id="header-menu-content" class="header-menu-content"> 73 <div class="menu-window-header">[ MENU ]</div> 74 <button id="palette-swap-btn" class="palette-swap-btn" type="button" aria-label="Swap Color Palette" data-tooltip="Left-click: Next | Right-click: Prev | Left Hold: Palette Selection Menu | Right Hold: Reset Default"> 75 [ PALETTE: <span id="palette-color-preview" class="palette-color-preview">â</span><span id="palette-name-label">Warm Paper</span> ] 76 </button> 77 78 <div class="header-download-links"> 79 80 81 82 <a href="../rss.xml" class="export-btn" title="[RSS FEED]" data-tooltip="[RSS FEED]"> 83 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg> 84 </a> 85 86 87 88 </div> 89 90 </div> 91 </div> 92 </div> 93 <div class="terminal-subtitle"> 94 <span class="terminal-prompt">cat chains</span> 95 <span class="header-build-info"> 96 <span>SOL.VIN JOURNAL v1.51-prod</span> 97 <span title="[ BUILD TIME: 2026-10-06 22:27:24 UTC ]" data-tooltip="[ BUILD TIME: 2026-10-06 22:27:24 UTC ]" class="header-build-hash">[ MIBPO ]</span> 98 </span> 99 </div> 100 </header> 101 102 <nav class="nav-bar-container"> 103 <div class="nav-links"> 104 105 106 107 108 <span class="nav-link nav-link-disabled" data-tooltip="[ CHAINS ]" aria-label="[ CHAINS ]"> 109 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"/></svg>
110 <span class="nav-link-label">[ CHAINS ]</span> 111 </span> 112 113 114 115 116 117 <a href="../projects" class="nav-link" data-tooltip="[ PROJECTS ]" aria-label="[ PROJECTS ]"> 118 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z"/></svg> 119 <span class="nav-link-label">[ PROJECTS ]</span> 120 </a> 121 122 123 124 125 126 <a href="../games" class="nav-link" data-tooltip="[ GAMES ]" aria-label="[ GAMES ]"> 127 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg> 128 <span class="nav-link-label">[ GAMES ]</span> 129 </a> 130 131 132 133 134 135 <a href="../art" class="nav-link" data-tooltip="[ ART ]" aria-label="[ ART ]"> 136 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg> 137 <span class="nav-link-label">[ ART ]</span> 138 </a> 139 140 141 142 143 144 <a href="../achievements" class="nav-link" data-tooltip="[ ACHIEVEMENTS ]" aria-label="[ ACHIEVEMENTS ]"> 145 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg> 146 <span class="nav-link-label">[ ACHIEVEMENTS ]</span> 147 </a> 148 149 150 151 152 153 <a href="../favorites" class="nav-link" data-tooltip="[ FAVORITES ]" aria-label="[ FAVORITES ]"> 154 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
154<path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg> 155 <span class="nav-link-label">[ FAVORITES ]</span> 156 </a> 157 158 159 160 161 162 <a href="../whoami" class="nav-link" data-tooltip="[ WHOAMI ]" aria-label="[ WHOAMI ]"> 163 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z"/></svg> 164 <span class="nav-link-label">[ WHOAMI ]</span> 165 </a> 166 167 168 169 170 171 <a href="../status" class="nav-link" data-tooltip="[ STATUS ]" aria-label="[ STATUS ]"> 172 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg> 173 <span class="nav-link-label">[ STATUS ]</span> 174 </a> 175 176 177 </div> 178 179 180 <div class="breadcrumbs-bar"> 181 <a href="../" class="nav-link">[ HOME ]</a> <span style="color: var(--text-dim);">></span> <span class="nav-link nav-link-disabled">[ CHAINS ]</span> 182 </div> 183 184 </nav> 185 186 187 188 <main> 189 <div class="terminal-window" > 190 <div class="window-header"> 191 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg></span>SYSTEM STATUS</h1> 192 <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
192<path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 193 </div> 194 <div class="window-body"> 195 <!-- src/templates/welcome_text.ecr --> 196 197<p>Welcome to the SOL.VIN journal console. Select a category chain from the lists below to explore entries.<span class="cursor"></span></p> 198<p class="welcome-stats">SYSTEM STATS: 5 chains discovered, 30 total entries loaded.</p> 199 200 201 </div> 202</div> 203<div class="terminal-window filter-dialog-box no-pdf" > 204 <div class="window-header"> 205 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 64C19.1 64 7.4 71.8 2.4 83.8S.2 109.5 9.4 118.6L192 301.3 192 416c0 8.5 3.4 16.6 9.4 22.6l64 64c9.2 9.2 22.9 11.9 34.9 6.9S320 492.9 320 480l0-178.7 182.6-182.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 64 480 64L32 64z"/></svg></span>Filter</h1> 206 <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
206<path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 207 </div> 208 <div class="window-body"> 209 <div class="chain-filter-container"> 210 <span class="chain-filter-label">FILTER POST CHAINS BY SKILL:</span> 211 <div class="skill-tags chain-filter-tags"> 212 <button type="button" class="chain-filter-btn active" data-home-filter="all" data-tooltip="">[ ALL ]</button> 213 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="3d_modeling" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."> 214 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg>3D Modeling 215 </button> 216 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="c" data-skill="c" data-tooltip="Low-level system programming language for high-performance applications, memory management, and low-level system software."> 217 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448
217c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"/></svg>C 218 </button> 219 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="crystal" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."> 220 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg>Crystal 221 </button> 222 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="esoteric_programming" data-skill="esoteric_programming" data-tooltip="Designing non-traditional programming languages to test boundaries of language design and visual computing."> 223 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z"/></svg>Esoteric Programming 224 </button> 225 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="exploit_poc" data-skill="exploit_poc" data-tooltip="Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation."> 226 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg>Exploit PoC Development 227 </button> 228 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="exploitation" data-skill="exploitation" data-tooltip="Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps."> 229 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
229<path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg>Exploitation 230 </button> 231 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="fuzzing" data-skill="fuzzing" data-tooltip="Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws."> 232 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg>Fuzzing 233 </button> 234 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="game_engine_dev" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."> 235 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg>Game Engine Development 236 </button> 237 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="gdshader" data-skill="gdshader" data-tooltip="Godot Engine's custom shading language for 2D and 3D visual effects, materials, and post-processing."> 238 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg>GDShader 239 </button> 240 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="generative_art" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."> 241 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
241<path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg>Generative Art 242 </button> 243 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="glsl" data-skill="glsl" data-tooltip="OpenGL Shading Language for high-performance GPU vertex and fragment shader development."> 244 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg>GLSL 245 </button> 246 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="godot_4" data-skill="godot_4" data-tooltip="Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes."> 247 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z"/></svg>Godot 4 248 </button> 249 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="hardware_security" data-skill="hardware_security" data-tooltip="Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis."> 250 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg>Hardware Security 251 </button> 252 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="linux_kernel" data-skill="linux_kernel" data-tooltip="In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls."> 253 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
253<path fill="currentColor" d="M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"/></svg>Linux Kernel 254 </button> 255 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="low_poly_3d_modeling" data-skill="low_poly_3d_modeling" data-tooltip="Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines."> 256 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
256<path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg>Low Poly 3D Modelling 257 </button> 258 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="raylib" data-skill="raylib" data-tooltip="A simple and easy-to-use C library to enjoy videogames programming."> 259 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg>Raylib 260 </button> 261 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="reverse_engineering" data-skill="reverse_engineering" data-tooltip="Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols."> 262 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>Reverse Engineering 263 </button> 264 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="security_research" data-skill="security_research" data-tooltip="Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks."> 265 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg>Security Research 266 </button> 267 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="shaders" data-skill="shaders" data-tooltip="GPU shader programming for custom visual effects, post-processing, and material lighting."> 268 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
268<path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg>Shaders 269 </button> 270 <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="static_analysis" data-skill="static_analysis" data-tooltip="Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues."> 271 <svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg>Static Analysis 272 </button> 273 </div> 274</div> 275 276 </div> 277</div> 278<div class="terminal-window" data-skills="3d_modeling game_engine_dev gdshader generative_art glsl godot_4 low_poly_3d_modeling shaders"> 279 <div class="window-header"> 280 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg></span>CHAIN // Liminalita Devlog // Log Chain</h1> 281 <div class="window-controls"><a href="liminalita_devlog/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to Liminalita Devlog RSS Feed"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
281<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="pdfs/liminalita_devlog/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="liminalita_devlog-combined.pdf" aria-label="Download Liminalita Devlog PDF Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="inline/liminalita_devlog/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="liminalita_devlog-combined.html" aria-label="Download Liminalita Devlog HTML Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
281<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 282 </div> 283 <div class="window-body"> 284 <!-- src/templates/home_category_box.ecr --> 285<p>Development log entries for Liminalita, a 3D procedural art walking simulator.</p> 286<div class="post-link-container"> 287 288 289 <a href="liminalita_devlog/0" class="post-link-item"> 290 <span class="post-link-title"><span class="post-link-index">0 - </span>Project Origins, Gallery Concepts & Spatial Illusions</span> 291 <span class="post-link-date">[2025-05-19]</span> 292 </a> 293 294 <a href="liminalita_devlog/1" class="post-link-item"> 295 <span class="post-link-title"><span class="post-link-index">1 - </span>Expanding Exhibits, Threaded Loading & World Architecture</span> 296 <span class="post-link-date">[2025-06-06]</span> 297 </a> 298 299 <a href="liminalita_devlog/2" class="post-link-item"> 300 <span class="post-link-title"><span class="post-link-index">2 - </span>Library of Babel Modeling, Atrium Teleports & Lobby Expansion</span> 301 <span class="post-link-date">[2025-06-11]</span> 302 </a> 303 304 <a href="liminalita_devlog/3" class="post-link-item"> 305 <span class="post-link-title"><span class="post-link-index">3 - </span>Shader Optimization & Visual Refinements</span> 306 <span class="post-link-date">[2025-08-19]</span> 307 </a> 308 309 310</div> 311<div class="home-cat-box-footer"> 312 <div class="chain-toc-skills"> 313
314 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">3d Modeling</span></span> 315 316 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">Game Engine Dev</span></span> 317 318 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="gdshader" data-tooltip="Godot Engine's custom shading language for 2D and 3D visual effects, materials, and post-processing."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg><span class="skill-tag-label">gdshader</span></span> 319 320 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg><span class="skill-tag-label">Generative Art</span></span> 321
322 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="glsl" data-tooltip="OpenGL Shading Language for high-performance GPU vertex and fragment shader development."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg><span class="skill-tag-label">glsl</span></span> 323 324 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="godot_4" data-tooltip="Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z"/></svg><span class="skill-tag-label">Godot 4</span></span> 325 326 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="low_poly_3d_modeling" data-tooltip="Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">Low Poly 3d Modeling</span></span> 327 328 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="shaders" data-tooltip="GPU shader programming for custom visual effects, post-processing, and material lighting."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg><span class="skill-tag-label">shaders</span></span> 329 330 </div> 331 <div class="home-cat-footer-actions"> 332 <a href="liminalita_devlog/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN â ]</a> 333 </div> 334</div> 335 336 </div> 337</div> 338<div class="terminal-window" data-skills="crystal esoteric_programming generative_art raylib"> 339 <div class="window-header"> 340 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
340<path fill="currentColor" d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"/></svg></span>CHAIN // PixelLang Esoteric Language // Log Chain</h1> 341 <div class="window-controls"><a href="pixellang/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to PixelLang Esoteric Language RSS Feed"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="pdfs/pixellang/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="pixellang-combined.pdf" aria-label="Download PixelLang Esoteric Language PDF Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
341<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="inline/pixellang/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="pixellang-combined.html" aria-label="Download PixelLang Esoteric Language HTML Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
341<path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 342 </div> 343 <div class="window-body"> 344 <!-- src/templates/home_category_box.ecr --> 345<p>An esoteric language entirely in pixels.</p> 346<div class="post-link-container"> 347 348 349 <a href="pixellang/0" class="post-link-item"> 350 <span class="post-link-title"><span class="post-link-index">0 - </span>Intro</span> 351 <span class="post-link-date">[2019-09-05]</span> 352 </a> 353 354 <a href="pixellang/1" class="post-link-item"> 355 <span class="post-link-title"><span class="post-link-index">1 - </span>More Instructions</span> 356 <span class="post-link-date">[2019-09-06]</span> 357 </a> 358 359 <a href="pixellang/2" class="post-link-item"> 360 <span class="post-link-title"><span class="post-link-index">2 - </span>Showcase</span> 361 <span class="post-link-date">[2019-09-07]</span> 362 </a> 363 364 365</div> 366<div class="home-cat-box-footer"> 367 <div class="chain-toc-skills"> 368 369 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg><span class="skill-tag-label">crystal</span></span> 370 371 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="esoteric_programming" data-tooltip="Designing non-traditional programming languages to test boundaries of language design and visual computing."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z"/></svg><span class="skill-tag-label">Esoteric Programming</span></span> 372 373 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
373<path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg><span class="skill-tag-label">Generative Art</span></span> 374 375 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="raylib" data-tooltip="A simple and easy-to-use C library to enjoy videogames programming."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">raylib</span></span> 376 377 </div> 378 <div class="home-cat-footer-actions"> 379 <a href="pixellang/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN â ]</a> 380 </div> 381</div> 382 383 </div> 384</div> 385<div class="terminal-window" data-skills="3d_modeling game_engine_dev godot_4"> 386 <div class="window-header"> 387 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 176c0-35.3 28.7-64 64-64 .5 0 1.1 0 1.6 0 7.4-36.5 39.7-64 78.4-64 15 0 29 4.1 40.9 11.2 13.3-25.7 40.1-43.2 71.1-43.2s57.8 17.6 71.1 43.2c12-7.1 26-11.2 40.9-11.2 38.7 0 71 27.5 78.4 64 .5 0 1.1 0 1.6 0 35.3 0 64 28.7 64 64 0 11.7-3.1 22.6-8.6 32L8.6 208C3.1 198.6 0 187.7 0 176zM0 283.4C0 268.3 12.3 256 27.4 256l457.1 0c15.1 0 27.4 12.3 27.4 27.4 0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28l-231.5 0c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z"/></svg></span>CHAIN // Solo Oasis Devlog // Log Chain</h1> 388 <div class="window-controls"><a href="soup_devlog/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to Solo Oasis Devlog RSS Feed"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
388<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="pdfs/soup_devlog/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="soup_devlog-combined.pdf" aria-label="Download Solo Oasis Devlog PDF Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="inline/soup_devlog/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="soup_devlog-combined.html" aria-label="Download Solo Oasis Devlog HTML Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
388<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 389 </div> 390 <div class="window-body"> 391 <!-- src/templates/home_category_box.ecr --> 392<p>Development log entries for Solo Oasis : Unlimited Places (SOUPJAM 2026).</p> 393<div class="post-link-container"> 394 395 396 <a href="soup_devlog/0" class="post-link-item"> 397 <span class="post-link-title"><span class="post-link-index">0 - </span>Room Progress Snapshot</span> 398 <span class="post-link-date">[2026-04-30]</span> 399 </a> 400 401 <a href="soup_devlog/1" class="post-link-item"> 402 <span class="post-link-title"><span class="post-link-index">1 - </span>Android & Mobile Web Support</span> 403 <span class="post-link-date">[2026-05-20]</span> 404 </a> 405 406 <a href="soup_devlog/2" class="post-link-item"> 407 <span class="post-link-title"><span class="post-link-index">2 - </span>ALL DONE</span> 408 <span class="post-link-date">[2026-07-03]</span> 409 </a> 410 411 412</div> 413<div class="home-cat-box-footer"> 414 <div class="chain-toc-skills"> 415 416 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
416<path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">3d Modeling</span></span> 417 418 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">Game Engine Dev</span></span> 419 420 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="godot_4" data-tooltip="Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z"/></svg><span class="skill-tag-label">Godot 4</span></span> 421 422 </div> 423 <div class="home-cat-footer-actions"> 424 <a href="soup_devlog/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN â ]</a> 425 </div> 426</div> 427 428 </div> 429</div> 430<div class="terminal-window" data-skills="c crystal exploit_poc exploitation hardware_security linux_kernel reverse_engineering security_research static_analysis"> 431 <div class="window-header"> 432 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M157.1 7c-33.2-12.1-69.9 5-82 38.3L20.4 195.6c-12.1 33.2 5 69.9 38.3 82l93.7 34.1 0 8.3 0 96c0 4.4-3.6 8-8 8l-64 0 0-24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 96c0 13.3 10.7 24 24 24s24-10.7 24-24l0-24 64 0c30.9 0 56-25.1 56-56l0-86.8 66.2 24.1c10.9 4 23.1 1.7 31.9-5.9L491.9 179.5c18.4-16 12.9-45.9-10-54.2L157.1 7zM449.5 419.9c16.6 6 35-2.5 41-19.1l43.8-120.3c6-16.6-2.5-35-19.1-41l-13.6-4.9-165.9 143.9 113.8 41.4z"/></svg></span>CHAIN // VStarCam Security Research // Log Chain</h1> 433 <div class="window-controls"><a href="vstarcam_journey/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to VStarCam Security Research RSS Feed"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
433<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="pdfs/vstarcam_journey/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="vstarcam_journey-combined.pdf" aria-label="Download VStarCam Security Research PDF Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="inline/vstarcam_journey/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="vstarcam_journey-combined.html" aria-label="Download VStarCam Security Research HTML Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
433<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
433<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 434 </div> 435 <div class="window-body"> 436 <!-- src/templates/home_category_box.ecr --> 437<p>A journey through a horribly insecure webcam, and the discovery, and fruititon of a client hijacking exploit.</p> 438<div class="post-link-container"> 439 440 441 <a href="vstarcam_journey/0" class="post-link-item"> 442 <span class="post-link-title"><span class="post-link-index">0 - </span>Intro</span> 443 <span class="post-link-date">[2019-09-03]</span> 444 </a> 445 446 <a href="vstarcam_journey/1" class="post-link-item"> 447 <span class="post-link-title"><span class="post-link-index">1 - </span>Network Protocol Analysis</span> 448 <span class="post-link-date">[2019-09-03]</span> 449 </a> 450 451 <a href="vstarcam_journey/2" class="post-link-item"> 452 <span class="post-link-title"><span class="post-link-index">2 - </span>Password Hashes & Exploitation</span> 453 <span class="post-link-date">[2019-09-03]</span> 454 </a> 455 456 <a href="vstarcam_journey/3" class="post-link-item"> 457 <span class="post-link-title"><span class="post-link-index">3 - </span>Hardware Dumping</span> 458 <span class="post-link-date">[2019-09-03]</span> 459 </a> 460 461 <a href="vstarcam_journey/4" class="post-link-item"> 462 <span class="post-link-title"><span class="post-link-index">4 - </span>Writing a Client</span> 463 <span class="post-link-date">[2019-09-03]</span> 464 </a> 465 466 <div class="home-cat-overflow-ellipsis">... (5 more)</div> 467 468 <a href="vstarcam_journey/10" class="post-link-item"> 469 <span class="post-link-title"><span class="post-link-index">10 - </span>Re-evaluating fixed vulnerabilities</span> 470 <span class="post-link-date">[2019-09-03]</span> 471 </a> 472 473</div> 474<div class="home-cat-box-footer"> 475 <div class="chain-toc-skills"> 476 477 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="c" data-tooltip="Low-level system programming language for high-performance applications, memory management, and low-level system software."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"/></svg><span class="skill-tag-label">c</span></span> 478 479 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg><span class="skill-tag-label">crystal</span></span> 480 481 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploit_poc" data-tooltip="Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
481<path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg><span class="skill-tag-label">Exploit Poc</span></span> 482 483 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploitation" data-tooltip="Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg><span class="skill-tag-label">exploitation</span></span> 484 485 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="hardware_security" data-tooltip="Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg><span class="skill-tag-label">Hardware Security</span></span> 486 487 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="linux_kernel" data-tooltip="In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
487<path fill="currentColor" d="M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.1-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z"/></svg><span class="skill-tag-label">Linux Kernel</span></span> 488 489 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="reverse_engineering" data-tooltip="Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
489<path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg><span class="skill-tag-label">Reverse Engineering</span></span> 490 491 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="security_research" data-tooltip="Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg><span class="skill-tag-label">Security Research</span></span> 492 493 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="static_analysis" data-tooltip="Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg><span class="skill-tag-label">Static Analysis</span></span> 494 495 </div> 496 <div class="home-cat-footer-actions"> 497 <a href="vstarcam_journey/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN â ]</a> 498 </div> 499</div> 500 501 </div> 502</div> 503<div class="terminal-window" data-skills="c exploit_poc exploitation fuzzing hardware_security reverse_engineering security_research"> 504 <div class="window-header"> 505 <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg></span>CHAIN // Xiongmai Security Research // Log Chain</h1> 506 <div class="window-controls">
506<a href="xiongmai_journey/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to Xiongmai Security Research RSS Feed"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="pdfs/xiongmai_journey/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="xiongmai_journey-combined.pdf" aria-label="Download Xiongmai Security Research PDF Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M96 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><a href="inline/xiongmai_journey/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="xiongmai_journey-combined.html" aria-label="Download Xiongmai Security Research HTML Export"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
506<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></a><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
506<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div> 507 </div> 508 <div class="window-body"> 509 <!-- src/templates/home_category_box.ecr --> 510<p>A journey through a horribly insecure webcam, and the discovery, and fruititon of a client hijacking exploit.</p> 511<div class="post-link-container"> 512 513 514 <a href="xiongmai_journey/0" class="post-link-item"> 515 <span class="post-link-title"><span class="post-link-index">0 - </span>Intro</span> 516 <span class="post-link-date">[2019-09-04]</span> 517 </a> 518 519 <a href="xiongmai_journey/1" class="post-link-item"> 520 <span class="post-link-title"><span class="post-link-index">1 - </span>Hardware</span> 521 <span class="post-link-date">[2019-09-04]</span> 522 </a> 523 524 <a href="xiongmai_journey/2" class="post-link-item"> 525 <span class="post-link-title"><span class="post-link-index">2 - </span>Software Overview and Audit</span> 526 <span class="post-link-date">[2019-09-04]</span> 527 </a> 528 529 <a href="xiongmai_journey/3" class="post-link-item"> 530 <span class="post-link-title"><span class="post-link-index">3 - </span>Hashing</span> 531 <span class="post-link-date">[2019-09-04]</span> 532 </a> 533 534 <a href="xiongmai_journey/4" class="post-link-item"> 535 <span class="post-link-title"><span class="post-link-index">4 - </span>Basic Fuzzing</span> 536 <span class="post-link-date">[2019-09-04]</span> 537 </a> 538 539 <div class="home-cat-overflow-ellipsis">... (3 more)</div> 540 541 <a href="xiongmai_journey/8" class="post-link-item"> 542 <span class="post-link-title"><span class="post-link-index">8 - </span>Denial of Service</span> 543 <span class="post-link-date">[2019-09-04]</span> 544 </a> 545 546</div> 547<div class="home-cat-box-footer"> 548 <div class="chain-toc-skills"> 549 550 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="c" data-tooltip="Low-level system programming language for high-performance applications, memory management, and low-level system software."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"/></svg><span class="skill-tag-label">c</span></span> 551 552 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploit_poc" data-tooltip="Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2
55211.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg><span class="skill-tag-label">Exploit Poc</span></span> 553 554 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploitation" data-tooltip="Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg><span class="skill-tag-label">exploitation</span></span> 555 556 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="fuzzing" data-tooltip="Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg><span class="skill-tag-label">fuzzing</span></span> 557 558 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="hardware_security" data-tooltip="Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg><span class="skill-tag-label">Hardware Security</span></span> 559
560 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="reverse_engineering" data-tooltip="Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"/></svg><span class="skill-tag-label">Reverse Engineering</span></span> 561 562 <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="security_research" data-tooltip="Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg><span class="skill-tag-label">Security Research</span></span> 563 564 </div> 565 <div class="home-cat-footer-actions"> 566 <a href="xiongmai_journey/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN â ]</a> 567 </div> 568</div> 569 570 </div> 571</div> 572 573 </main> 574 575 <footer class="terminal-footer"> 576 577 <div class="footer-nav-container"> 578 <div class="footer-nav-links"> 579 580 581 582 583 584 <span class="nav-link nav-link-disabled">[ CHAINS ]</span> 585 586 587 588 589 590 <a href="../projects" class="nav-link">[ PROJECTS ]</a> 591 592 593 594 595 596 <a href="../games" class="nav-link">[ GAMES ]</a> 597 598 599 600 601 602 <a href="../art" class="nav-link">[ ART ]</a> 603 604 605 606 607 608 <a href="../achievements" class="nav-link">[ ACHIEVEMENTS ]</a> 609 610 611 612 613 614 <a href="../favorites" class="nav-link">[ FAVORITES ]</a> 615 616 617 618 619 620 <a href="../whoami" class="nav-link">[ WHOAMI ]</a> 621 622 623 624 625 626 <a href="../status" class="nav-link">[ STATUS ]</a> 627 628 629 630 <a href="#top" id="scroll-to-top-btn" class="nav-link scroll-to-top-btn" title="Back to top" aria-label="Back to top">[ â² ]</a> 631 </div> 632 </div> 633 634 635 <div class="footer-logo-wrapper"> 636 <a href="../" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]"> 637 <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div> 638 </a> 639 </div> 640 <p>+---------------------------------------------------+</p> 641 642 <p>© 2026 Ian Rash - Built with Crystal & Served with Nginx</p> 643 644 <p>+---------------------------------------------------+</p> 645 </footer> 646 </div> 647 648 <div id="gui-image-modal" class="no-palette-filter no-monochrome" data-palette-filter="false" data-monochrome="false" role="dialog" aria-modal="true" aria-labelledby="image-viewer-title-text"> 649 <div class="terminal-window image-viewer-window" data-palette-filter="false" data-monochrome="false"> 650 <div class="window-header"> 651 <h1 class="window-title" id="image-viewer-title-text"><span class="window-header-icon" title="Image Viewer"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
651<path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM272 224c8.4 0 16.1 4.4 20.5 11.5l88 144c4.5 7.4 4.7 16.7 .5 24.3S368.7 416 360 416L88 416c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l26.4 37.8 61.4-100.5c4.4-7.1 12.1-11.5 20.5-11.5z"/></svg></span>VIEWER // Lightbox // Image Inspector: <span id="image-viewer-filename">image.png</span></h1> 652 <div class="window-controls"> 653 <span id="image-viewer-min-btn" class="window-btn window-btn-min" title="Toggle Fit / Zoom"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 654 <span id="image-viewer-max-btn" class="window-btn" title="Toggle Zoom"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 655 <span id="image-viewer-close-btn" class="window-btn window-btn-close" title="Close Viewer"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
655<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 656 </div> 657 </div> 658 <div class="window-body image-viewer-body" data-palette-filter="false" data-monochrome="false"> 659 <img id="image-viewer-img" src="" alt="Image Viewer Preview" filter="0" data-filter="0" data-palette-filter="false" data-monochrome="false" class="no-palette-filter no-monochrome" /> 660 </div> 661 <div class="image-viewer-caption"> 662 <span id="image-viewer-path">SOURCE: N/A</span> 663 <span>[ CLICK IMAGE TO TOGGLE ZOOM | ESC TO CLOSE ]</span> 664 </div> 665 </div> 666 </div> 667 668 <div id="palette-picker-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="palette-picker-modal-title"> 669 <div class="terminal-window skill-modal-window palette-picker-window"> 670 <div class="window-header window-header-flex"> 671 <h1 id="palette-picker-modal-title" class="window-title palette-modal-title"> 672 <span class="window-header-icon" title="Theme Palette Selector"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg></span>THEME // Palette Selector // Color Catalog 673 </h1> 674 <div class="window-controls"> 675 <button type="button" id="palette-picker-modal-close" class="window-btn window-btn-close" title="Close Catalog"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
675<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></button> 676 </div> 677 </div> 678 <div class="window-body palette-modal-body"> 679 <div class="palette-modal-top-bar"> 680 <p class="palette-modal-text">Select a theme palette from the catalog below to instantly customize site appearance:</p> 681 <button id="palette-picker-random-btn" type="button" class="export-btn export-btn-bold-sm" title="Pick Random Palette"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M141.4 2.3C103-8 63.5 14.8 53.3 53.2L2.5 242.7C-7.8 281.1 15 320.6 53.4 330.9l189.5 50.8c38.4 10.3 77.9-12.5 88.2-50.9l50.8-189.5c10.3-38.4-12.5-77.9-50.9-88.2L141.4 2.3zm23 205.7a32 32 0 1 1 55.4-32 32 32 0 1 1 -55.4 32zM79.2 220.3a32 32 0 1 1 32 55.4 32 32 0 1 1 -32-55.4zm185 96.4a32 32 0 1 1 -32-55.4 32 32 0 1 1 32 55.4zm9-208.4a32 32 0 1 1 32 55.4 32 32 0 1 1 -32-55.4zm-121 14.4a32 32 0 1 1 -32-55.4 32 32 0 1 1 32 55.4zM418 192L377.4 343.2c-17.2 64-83 102-147 84.9l-38.3-10.3 0 30.2c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64L418 192z"/></svg> [ RANDOM // Palette ]</button> 682 </div> 683 <div id="palette-picker-grid"></div> 684 </div> 685 </div> 686 </div> 687 688 <div id="skill-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="skill-modal-title"> 689 <div class="terminal-window skill-modal-window"> 690 <div class="window-header"> 691 <h1 id="skill-modal-title" class="window-title"><span id="skill-modal-icon" class="window-header-icon skill-modal-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg></span><span id="skill-modal-title-text">SKILL // Specification // Technical Details</span></h1> 692 <div class="window-controls"> 693 <span id="skill-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
693<path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 694 </div> 695 </div> 696 <div class="window-body"> 697 <div class="skill-modal-meta"> 698 <div><strong>Category:</strong> <span id="skill-modal-category"></span></div> 699 <div id="skill-modal-exp-wrap"><strong>Experience:</strong> <span id="skill-modal-exp"></span></div> 700 <div id="skill-modal-started-wrap"><strong>Started:</strong> <span id="skill-modal-started"></span></div> 701 <div id="skill-modal-links-wrap"> 702 <strong>Links:</strong> 703 <span id="skill-modal-links"></span> 704 </div> 705 </div> 706 <div class="skill-modal-short-desc" id="skill-modal-short-desc"></div> 707 <div class="skill-modal-long-desc" id="skill-modal-long-desc"></div> 708 709 <div id="skill-modal-projects-section" class="skill-modal-section"> 710 <h2 class="modal-section-h2">[ MATCHING PROJECTS (<span id="skill-modal-projects-count">0</span>) ]</h2> 711 <div id="skill-modal-projects-list" class="skill-modal-projects-grid"></div> 712 </div> 713 714 <div id="skill-modal-games-section" class="skill-modal-section"> 715 <h2 class="modal-section-h2">[ MATCHING GAMES (<span id="skill-modal-games-count">0</span>) ]</h2> 716 <div id="skill-modal-games-list" class="skill-modal-projects-grid"></div> 717 </div> 718 719 <div id="skill-modal-achievements-section" class="skill-modal-section"> 720 <h2 class="modal-section-h2">[ MATCHING ACCOLADES & ACHIEVEMENTS (<span id="skill-modal-achievements-count">0</span>) ]</h2> 721 <div id="skill-modal-achievements-list" class="skill-modal-projects-grid"></div> 722 </div> 723 724 <div id="skill-modal-posts-section" class="skill-modal-section"> 725 <h2 class="modal-section-h2">[ MATCHING JOURNAL POSTS (<span id="skill-modal-posts-count">0</span>) ]</h2> 726 <div id="skill-modal-posts-list" class="skill-modal-projects-grid"></div> 727 </div> 728 </div> 729 </div> 730 </div> 731 732
732<script id="skills-catalog-data" type="application/json"> 733{"3d_modeling":{"name":"3D Modeling","slug":"3d_modeling","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Creating 3D polygonal models, retro low-poly assets, and environmental art for games.","long_description_html":"<p>3D modeling involves creating digital three-dimensional surfaces and assets. Specializing in stylized low-poly environmental assets, retro game art, and optimized game meshes.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/3D_modeling"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"../projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"../liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"../liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"../liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"},{"title":"Room Progress Snapshot","url":"../soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"}]},"aseprite":{"name":"Aseprite","slug":"aseprite","category":"Design & Art","years":"5 years","date_started":"2019-01-01","description":"Animated sprite editor and pixel art tool for game development and 2D assets.","long_description_html":"<p>Aseprite is an industry-standard pixel art tool designed for creating sprite sheets, pixel animations, tilemaps, and 2D game artwork.</p>\n","icon":"palette.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>","links":[{"key":"website","url":"https://www.aseprite.org"}],"projects":[{"title":"crowbar","url":"../projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"pixel_lang_crystal","url":"../projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"}],"posts":[]},"audacity":{"name":"Audacity","slug":"audacity","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Open-source multi-track audio editor and recorder for sound editing, filtering, and effect processing.","long_description_html":"<p>Audacity is an open-source audio editing tool used for recording, trimming, noise reduction, audio format conversion, and mastering game sound effects and voiceovers.</p>\n","icon":"waveform.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288 0c15.5 0 28.8 11.1 31.5 26.4l47.4 265.5 33.5-201.1c2.5-15 15.1-26.1 30.3-26.7s28.6 9.5 32.3 24.2L505 256 528 256c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0c-14.7 0-27.5-10-31-24.2L438.3 253 399.6 485.3c-2.6 15.4-15.8 26.6-31.4 26.7s-29-11-31.7-26.4L288 214 239.5 485.6c-2.7 15.3-16.1 26.5-31.7 26.4s-28.8-11.4-31.4-26.7L137.7 253 127 295.8C123.5 310 110.7 320 96 320l-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32L71 256 113 88.2c3.7-14.7 17.2-24.8 32.3-24.2s27.8 11.8 30.3 26.7l33.5 201.1 47.4-265.5C259.2 11.1 272.5 0 288 0z\"/></svg>","links":[{"key":"website","url":"https://www.audacityteam.org"}],"projects":[{"title":"SunVox Animalese Generator","url":"../projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"}],"games":[{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363
733challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"audio_engine_dev":{"name":"Audio Engine Development","slug":"audio_engine_dev","category":"Audio & Music","years":"4 years","date_started":"2020-01-01","description":"Building real-time audio playback engines, waveform synthesis, and audio driver integrations.","long_description_html":"<p>Audio engine development focuses on low-latency audio buffer streaming, sound synthesis algorithms, and embedding modular audio libraries like SunVox into custom applications.</p>\n","icon":"sliders.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 224zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Audio_signal_processing"}],"projects":[{"title":"SunVox Animalese Generator","url":"../projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"../projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"../projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"audio_engineering":{"name":"Audio Engineering","slug":"audio_engineering","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Sound design, audio mixing, signal processing, and sound effect engineering for games and s
733oftware.","long_description_html":"<p>Audio engineering encompasses recording, synthesizing, editing, and processing digital audio. Used for designing game sound effects, procedural voice generation, dynamic audio mixing, and mastering soundtracks.</p>\n","icon":"headphones.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 224c0-88.4 71.6-160 160-160s160 71.6 160 160l0 37.5c-10-3.5-20.8-5.5-32-5.5l-16 0c-26.5 0-48 21.5-48 48l0 128c0 26.5 21.5 48 48 48l16 0c53 0 96-43 96-96l0-160C448 100.3 347.7 0 224 0S0 100.3 0 224L0 384c0 53 43 96 96 96l16 0c26.5 0 48-21.5 48-48l0-128c0-26.5-21.5-48-48-48l-16 0c-11.2 0-22 1.9-32 5.5L64 224z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Audio_engineering"}],"projects":[{"title":"Fluorite","url":"../projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"SunVox Animalese Generator","url":"../projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"libsunvox","url":"../projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"}],"posts":[]},"autohotkey":{"name":"AutoHotkey","slug":"autohotkey","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Windows scripting language for hotkeys, UI automation, and rapid desktop tool prototyping.","long_description_html":"<p>AutoHotkey is a custom scripting language for Windows providing automation of desktop GUIs, input sequences, and hotkeys. Used for constructing automated game testing sequences and rapid desktop automation tools. I mainly use this tool for the automation of QA testing for games as it is easier to automate combonation button presses, as well as create macros that can test for common problems.</p>\n","icon":"keyboard.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm16 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM176 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM160 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z\"/></svg>","links":[{"key":"website","url":"https://www.autohotkey.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"blender":{"name":"Blender","slug":"blender","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Open-source 3D creation suite for low-poly modeling, UV unwrapping, rigging, and animation.","long_description_html":"<p>Blender is a powerful 3D modeling and animation platform. Used for crafting low-poly game models, environment props, UV mapping, and glTF export pipelines.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"website","url":"https://www.blender.org"}],"projects":[],"games":[{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"c":{"name":"C","slug":"c","category":"Languages","years":"12 years","date_started":"2012-01-01","description":"Low-level system programming language for high-performance applications, memory management, and low-level system software.","long_description_html":"<p>C is a fundamental system programming language offering direct hardware access and precise control over memory. My work with C spans native library extensions, developing low-level network protocol analyzers, firmware reverse engineering, and analyzing system vulnerabilities.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448
733c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://en.wikipedia.org/wiki/C_(programming_language)"}],"projects":[{"title":"Rubellite","url":"../projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"raylib-cr","url":"../projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"libsunvox","url":"../projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"},{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"}],"posts":[{"title":"Network Protocol Analysis","url":"../vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"../vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Memory Leaks and De-serialization","url":"../vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"},{"title":"Reversing authentication","url":"../vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"../vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Software Overview and Audit","url":"../xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Hashing","url":"../xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Brute Force","url":"../xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"}]},"cd":{"name":"CD","slug":"cd","category":"DevOps & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"Continuous Delivery and Continuous Deployment pipelines for automated application releases.","long_description_html":"<p>Continuous Delivery automates artifact building, release packaging, and automated deployment pipelines across cloud platforms, Steam, Itch.io, and GitHub Releases.</p>\n","icon":"code-branch.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 70.7 176 0c26.5 0 48-21.5 48-48l0-22.7c-28.3-12.3-48-40.5-48-73.3 0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 22.7c0 61.9-50.1 112-112 112l-176 0 0 70.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80S0 476.2 0 432c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Continuous_delivery"}],"projects":[{"title":"Carbon","url":"../projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"chiptune_audio":{"name":"Chiptune Audio","slug":"chiptune_audio","category":"Audio & Music","years":"5 years","date_started":"2019-01-01","description":"Synthesized retro 8-bit / 16-bit music and sound effect design for games and standalone audio tools.","long_description_html":"<p>Chiptune audio design leverages limited-channel synthesized sound generators (square waves, noise, FM synthesis) to craft nostalgic retro audio tracks and sound effects.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Chiptune"}],"projects":[{"title":"solvox","url":"../projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"}],"games":[],"achievements":[],"posts":[]}
733,"ci":{"name":"CI","slug":"ci","category":"DevOps & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"Continuous Integration practices for automated build, test, and code quality verification.","long_description_html":"<p>Continuous Integration automates code building and automated testing on every code push, catching defects early and keeping repository main branches release-ready.</p>\n","icon":"code-branch.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 70.7 176 0c26.5 0 48-21.5 48-48l0-22.7c-28.3-12.3-48-40.5-48-73.3 0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 22.7c0 61.9-50.1 112-112 112l-176 0 0 70.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80S0 476.2 0 432c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Continuous_integration"}],"projects":[{"title":"Carbon","url":"../projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"cpp":{"name":"C++","slug":"cpp","category":"Languages","years":"12 years","date_started":"2012-01-01","description":"High-performance object-oriented and generic system programming language.","long_description_html":"<p>C++ provides low-level control combined with high-level abstractions. My experience includes high-performance software development, game engine architecture, native library bindings, and reverse engineering.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://isocpp.org"}],"projects":[{"title":"Lapis","url":"../projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"crocotile_3d":{"name":"Crocotile 3D","slug":"crocotile_3d","category":"Design & Art","years":"3 years","date_started":"2021-01-01","description":"3D tile-based modeling tool for creating retro low-poly environments and assets.","long_description_html":"<p>Crocotile 3D is a specialized tool that creates 3D models using 2D tilemaps, perfect for low-poly retro aesthetic game environments and level geometry.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"website","url":"https://crocotile3d.com"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"../projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[],"achievements":[],"posts":[]},"crystal":{"name":"Crystal","slug":"crystal","category":"Languages","years":"8 years","date_started":"2016-01-01","description":"A fast, compiled, statically typed language with Ruby-inspired syntax.","long_description_html":"<p>Crystal is a compiled, statically type-checked language featuring syntax inspired by Ruby. It provides C-like performance with zero-cost abstractions, macro metaprogramming, and built-in concurrency primitives. I have used Crystal extensively to build high-performance command-line utilities, web application generators, and custom game framework bindings.</p>\n","icon":"crystal.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\"><path fill=\"currentColor\" d=\"M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0\" fill-rule=\"evenodd\"/></svg>","links":[{"key":"website","url":"https://crystal-lang.org"},{"key":"github","url":"crystal-lang/crystal"}],"projects":[{"title":"Citrine","url":"../projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"Fluorite","url":"../projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"Carbon","url":"../projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"},{"title":"Jasper","url":"../projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"Diorite","url":"../projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via L
733apis.","section":"libraries"},{"title":"cradare2","url":"../projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Opal","url":"../projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"},{"title":"Rubellite","url":"../projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"CRShader","url":"../projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Lapis","url":"../projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"crixel","url":"../projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"},{"title":"raylib-cr","url":"../projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"solvox","url":"../projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"../projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"},{"title":"wireland","url":"../projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"crowbar","url":"../projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"celestine","url":"../projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"},{"title":"pixel_lang_crystal","url":"../projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"},{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"../projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"}],"games":[{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"},{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"},{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"},{"title":"Crystal Code Camp 2017","category":"Certificates","date":"2017","issuer":"Crystal Core Team","description":"Certificate of achievement for participation, open-source development, and collaborative code contributions during Crystal Code Camp 2017.","link":"https://crystal-lang.org/"}],"posts":[{"title":"Intro","url":"../pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"../pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"../pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"},{"title":"Password Hashes & Exploitation","url":"../vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Writing a Client","url":"../vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"}]},"css":{"name":"CSS","slug":"css","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Cascading Style Sheets for visual presentation, layouts, and responsive design.","long_description_html":"<p>Modern CSS3 including Flexbox, CSS Grid, custom properties, animation, and responsive media queries to craft clean retro/terminal aesthetic UI design.</p>\n","icon":"css3.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M480 32l-64 368-223.3 80-192.7-80 19.6-94.8 82 0-8 40.6 116.4 44.4 134.1-44.4 18.8-97.1-333.4 0 16-82 333.7 0 10.5-52.7-333.4 0 16.3-82 407.4 0z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/CSS"}],"projects":[],"games":[],"achievements":[],"posts":[]},"dns":{"name":"DNS","slug":"dns","category":"Networking & Security","years":"8 years","date_started":"2016-01-01","description":"Domain Name System protocol for hostname resolution, zone management, and network infrastru
733cture security.","long_description_html":"<p>Domain Name System (DNS) is a core Internet protocol. Work includes configuring DNSSEC, managing zone records, implementing custom DNS sinkholes/tunneling research, and auditing DNS resolution behavior in embedded hardware.</p>\n","icon":"globe.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M351.9 280l-190.9 0c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zM160.9 232l190.9 0C349 167.5 334.7 108.1 314.4 64.6 303 40.2 290.7 22.8 279.3 12.2 268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4zm-48 0C116.4 146.4 138.5 66.9 170.8 14.7 78.7 47.3 10.9 131.2 1.5 232l111.4 0zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3L1.5 280zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3l-111.4 0zm111.4-48C501.9 131.2 434.1 47.3 342 14.7 374.3 66.9 396.4 146.4 399.9 232l111.4 0z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Domain_Name_System"}],"projects":[],"games":[],"achievements":[],"posts":[]},"docker":{"name":"Docker","slug":"docker","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Application containerization, Dockerfile optimization, and isolated development environments.","long_description_html":"<p>Docker containerization enables portable runtime environments across development and production servers. I construct lightweight multi-stage Dockerfiles, Docker Compose orchestrations, and containerized build toolchains for consistent software execution.</p>\n","icon":"docker.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M349.9 236.3l-66.1 0 0-59.4 66.1 0 0 59.4zm0-204.3l-66.1 0 0 60.7 66.1 0 0-60.7zm78.2 144.8l-66.1 0 0 59.4 66.1 0 0-59.4zM271.8 104.7l-66.1 0 0 60.1 66.1 0 0-60.1zm78.1 0l-66.1 0 0 60.1 66.1 0 0-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7l-434.7 0c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4 .4 67.6 .1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zM115.6 176.8l-66 0 0 59.4 66.1 0 0-59.4-.1 0zm78.1 0l-66.1 0 0 59.4 66.1 0 0-59.4zm78.1 0l-66.1 0 0 59.4 66.1 0 0-59.4zm-78.1-72.1l-66.1 0 0 60.1 66.1 0 0-60.1z\"/></svg>","links":[{"key":"website","url":"https://www.docker.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"esoteric_programming":{"name":"Esoteric Programming","slug":"esoteric_programming","category":"Languages","years":"3 years","date_started":"2021-01-01","description":"Designing non-traditional programming languages to test boundaries of language design and visual computing.","long_description_html":"<p>Esoteric programming languages (esolangs) explore unconventional paradigms. Created PixelLangâa language where executable code is encoded directly as 2D RGB pixel images.</p>\n","icon":"brain.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Esoteric_programming_language"}],"projects":[{"title":"wireland","url":"../projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"pixel_lang_crystal","url":"../projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[{"title":"Intro","url":"../pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"../pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"../pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"exploit_poc":{"name":"Exploit PoC Development","slug":"exploit_poc","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation.","long_description_html":"<p>Developing reliable proof-of-concept exploits to demonstrate security vulnerabilities under controlled conditions. Responsible for researching zero-day security flaws, authoring ethical exploit PoCs for responsible disclosure to vendors and MITRE (resulting in published CVE disclosures).</p>\n","icon":"bug.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-1
7335.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z\"/></svg>","links":[{"key":"cve","url":"https://cve.mitre.org"}],"projects":[{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"../projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Password Hashes & Exploitation","url":"../vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Reversing authentication","url":"../vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"../vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Post Mortem & Fixes","url":"../vstarcam_journey/9.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":9,"date":"2019-09-03"},{"title":"Fuzzing With Radamsa","url":"../xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Denial of Service","url":"../xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"exploitation":{"name":"Exploitation","slug":"exploitation","category":"Security","years":"6 years","date_started":"2018-01-01","description":"Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps.","long_description_html":"<p>Vulnerability exploitation involves writing reliable PoC exploit code (buffer overflows, RCEs, authentication bypasses) to demonstrate security risks and verify patch effectiveness.</p>\n","icon":"user-secret.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z\"/></svg>","links":[{"key":"exploit_db","url":"https://www.exploit-db.com"}],"projects":[{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
733cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Reversing authentication","url":"../vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"../vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Software Overview and Audit","url":"../xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Brute Force","url":"../xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"}]},"ffmpeg":{"name":"FFmpeg","slug":"ffmpeg","category":"Tools & Frameworks","years":"6 years","date_started":"2018-01-01","description":"Cross-platform audio/video transcoding, media stream processing, filter graphs, and container multiplexing.","long_description_html":"<p>Comprehensive media processing using FFmpeg and libav libraries. Building automated video transcode pipelines, audio track extraction, filter graph transformations, Discord upload size budgeting, and palette-optimized GIF generation.</p>\n","icon":"film.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM48 368l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 240l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L64 96c-8.8 0-16 7.2-16 16zM352 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0z\"/></svg>","links":[{"key":"website","url":"https://ffmpeg.org"}],"projects":[{"title":"Fluorite","url":"../projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"fuzzing":{"name":"Fuzzing","slug":"fuzzing","category":"Security","years":"5 years","date_started":"2019-01-01","description":"Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws.","long_description_html":"<p>Fuzz testing automates the generation of malformed data inputs sent to network daemons, file parsers, and APIs to uncover memory corruption bugs and unexpected edge cases.</p>\n","icon":"bug.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Fuzzing"}],"projects":[{"title":"crowbar","url":"../projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"../projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
733cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Basic Fuzzing","url":"../xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"../xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"},{"title":"Fuzzing With Radamsa","url":"../xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Denial of Service","url":"../xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"game_engine_dev":{"name":"Game Engine Development","slug":"game_engine_dev","category":"Game Development","years":"4 years","date_started":"2020-01-01","description":"Building lightweight game engines, rendering loops, input handling, and entity systems from scratch.","long_description_html":"<p>Game engine development involves architecting core game loops, scene graphs, tilemap renderers, and input abstractions in native languages like Crystal and C++.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Game_engine"}],"projects":[{"title":"Citrine","url":"../projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"Diorite","url":"../projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"CRShader","url":"../projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"crixel","url":"../projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"../liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Room Progress Snapshot","url":"../soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"},{"title":"Android & Mobile Web Support","url":"../soup_devlog/1.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":1,"date":"2026-05-20"},{"title":"ALL DONE","url":"../soup_devlog/2.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":2,"date":"2026-07-03"}]},"gdshader":{"name":"GDShader","slug":"gdshader","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"Godot Engine's custom shading language for 2D and 3D visual effects, materials, and post-processing.","long_description_html":"<p>GDShader is Godot Engine's shading language based on GLSL. Used for writing custom spatial shaders, canvas item shaders, retro outline shaders, pixelation post-processing, and dynamic material effects.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"website","url":"https://docs.godotengine.org/en/stable/tutorials/shaders/index.html"}],"projects":[{"title":"CRShader","url":"../projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"../projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"../liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Shader Optimization & Visual Refinements","url":"../liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"generative_art":{"name":"Generative Art","slug":"generative_art","category":"Design & Art","years":"5 years","date_started":"2019-01-01","description":"Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics.","long_description_html":"<p>Generative art uses mathematical algorithms, noise functions (Perlin/Simplex), and code to automatically generate complex visual textures, procedural levels, and SVG graphic assets.</p>\n","icon":"palette.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Generative_art"}],"projects":[{"title":"Jasper","url":"../projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"celestine","url":"../projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"},{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"},{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"../liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Intro","url":"../pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"../pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"../pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"github_actions":{"name":"GitHub Actions","slug":"github_actions","category":"Tools & Infrastru
733cture","years":"6 years","date_started":"2018-01-01","description":"Designing automated continuous integration and release delivery pipelines for cross-platform builds.","long_description_html":"<p>GitHub Actions provides automated continuous integration and continuous deployment (CI/CD) workflows triggered by repository events. I author multi-platform workflows to compile, test, package, and release software artifacts for Windows, Linux, macOS, and Web platforms.</p>\n","icon":"github.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"/></svg>","links":[{"key":"website","url":"https://github.com/features/actions"}],"projects":[{"title":"Carbon","url":"../projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"},{"title":"raylib-cr","url":"../projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"celestine","url":"../projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"glsl":{"name":"GLSL","slug":"glsl","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"OpenGL Shading Language for high-performance GPU vertex and fragment shader development.","long_description_html":"<p>GLSL is the standard shading language for OpenGL graphics pipelines. Used for writing custom Godot/Raylib fragment shaders, retro dither effects, and water refraction.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/OpenGL_Shading_Language"}],"projects":[{"title":"CRShader","url":"../projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"../projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[],"achievements":[],"posts":[{"title":"Shader Optimization & Visual Refinements","url":"../liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"gltf":{"name":"glTF","slug":"gltf","category":"Design & Art","years":"3 years","date_started":"2021-01-01","description":"Khronos Group specification for efficient transmission and loading of 3D scenes and models.","long_description_html":"<p>glTF (GL Transmission Format) is an open royalty-free specification for 3D asset delivery. Used for exporting and importing 3D models with materials, textures, and skeletal animations into web and game engines.</p>\n","icon":"box.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M369.4 128l-34.3-48-222.1 0-34.3 48 290.7 0zM0 148.5c0-13.3 4.2-26.3 11.9-37.2L60.9 42.8C72.9 26 92.3 16 112.9 16l222.1 0c20.7 0 40.1 10 52.1 26.8l48.9 68.5c7.8 10.9 11.9 23.9 11.9 37.2L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 148.5z\"/></svg>","links":[{"key":"website","url":"https://www.khronos.org/gltf/"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"../projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[],"posts":[]},"godot_4":{"name":"Godot 4","slug":"godot_4","category":"Game Development","years":"4 years","date_started":"2020-01-01","description":"Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes.","long_description_html":"<p>Godot 4 is a lightweight, feature-rich open-source game engine. My experience includes GDScript architecture, custom GLSL/GDShader development, 3D low-poly rendering pipelines, game jam projects, and procedural level generation.</p>\n","icon":"robot.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l
7330 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z\"/></svg>","links":[{"key":"website","url":"https://godotengine.org"}],"projects":[{"title":"Diorite","url":"../projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"CRShader","url":"../projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Lapis","url":"../projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"../projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363 challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"},{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"},{"title":"1-DAY JAM #3 Winner","category":"Competitions & Jams","date":"2026-09-05","issuer":"1-DAY JAM","description":"Awarded 1st Place overall in 1-DAY JAM #3 out of all submissions for the fast-paced 3D momentum platformer 'Soulantern' under the theme 'FIRE'.","link":"https://itch.io/jam/1-day-jam-3/rate/4976157"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"../liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"../liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"../liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"},{"title":"Shader Optimization & Visual Refinements","url":"../liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"},{"title":"Room Progress Snapshot","url":"../soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"},{"title":"Android & Mobile Web Support","url":"../soup_devlog/1.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":1,"date":"2026-05-20"},{"title":"ALL DONE","url":"../soup_devlog/2.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":2,"date":"2026-07-03"}]},"hardware_security":{"name":"Hardware Security","slug":"hardware_security","category":"Security","years":"6 years","date_started":"2018-01-01","description":"Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis.","long_description_html":"<p>Hardware security auditing covers interfacing with board headers (UART/JTAG/SPI), dumping SPI flash EEPROMs, analyzing SoC bootloaders, and extracting hardcoded credentials.</p>\n","icon":"microchip.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z\"/>
733</svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Hardware_security"}],"projects":[{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"../projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
733cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"../vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"../vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Firmware Analysis","url":"../vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"},{"title":"Intro","url":"../xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"../xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"}]},"heroku":{"name":"Heroku","slug":"heroku","category":"Cloud & DevOps","years":"5 years","date_started":"2019-01-01","description":"PaaS cloud platform for deploying and scaling containerized web applications and background workers.","long_description_html":"<p>Heroku is a platform-as-a-service (PaaS) enabling rapid cloud deployment, managed Postgres/Redis add-ons, and continuous buildpacks for Ruby, Node, and Python web services.</p>\n","icon":"server.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"/></svg>","links":[{"key":"website","url":"https://www.heroku.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"html":{"name":"HTML","slug":"html","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Standard markup language for structuring web pages and web applications.","long_description_html":"<p>HTML5 forms the foundation of web document structure and accessible web application interfaces. Specializing in semantic markup and responsive structural layout.</p>\n","icon":"html5.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/HTML"}],"projects":[],"games":[],"achievements":[],"posts":[]},"image_processing":{"name":"Image Processing","slug":"image_processing","category":"Computer Science","years":"5 years","date_started":"2019-01-01","description":"Algorithmic manipulation, decoding, dithering, and color space transformations of raster images.","long_description_html":"<p>Image processing involves programmatic pixel manipulation, palette quantization, custom dithering algorithms, and PNG/JPEG buffer parsing.</p>\n","icon":"image.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM272 224c8.4 0 16.1 4.4 20.5 11.5l88 144c4.5 7.4 4.7 16.7 .5 24.3S368.7 416 360 416L88 416c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l26.4 37.8 61.4-100.5c4.4-7.1 12.1-11.5 20.5-11.5z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Digital_image_processing"}],"projects":[{"title":"Fluorite","url":"../projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"pixel_lang_crystal","url":"../projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[],"achievements":[{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"}],"posts":[]}
733,"javascript":{"name":"JavaScript","slug":"javascript","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Dynamic scripting language for web application logic and interactive client-side components.","long_description_html":"<p>JavaScript powers modern client-side application logic and web interactivity. Used for interactive web components, dynamic web dashboards, and browser-based graphics tools.</p>\n","icon":"js.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32l0 448 448 0 0-448-448 0zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5l0-143.1 42.1 0 0 143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript"}],"projects":[],"games":[],"achievements":[],"posts":[]},"kubernetes":{"name":"Kubernetes","slug":"kubernetes","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Container orchestration, cluster deployment management, and microservice scaling.","long_description_html":"<p>Kubernetes provides automated container orchestration, service discovery, load balancing, and rolling updates. Experience deploying microservices, managing ingress controllers, and maintaining cloud Kubernetes clusters.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://kubernetes.io"}],"projects":[],"games":[],"achievements":[],"posts":[]},"linux_kernel":{"name":"Linux Kernel","slug":"linux_kernel","category":"Systems & Security","years":"14 years","date_started":"2010-01-01","description":"In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls.","long_description_html":"<p>Extensive experience configuring, troubleshooting, and securing Linux operating systems across embedded devices, cloud virtual machines, and bare-metal servers. Skilled in tracing system calls, analyzing kernel crash dumps, optimizing I/O performance, and configuring custom kernel builds.</p>\n","icon":"linux.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.
7331-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"/></svg>","links":[{"key":"kernel","url":"https://www.kernel.org"}],"projects":[],"games":[],"achievements":[],"posts":[{"title":"Firmware Analysis","url":"../vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"}]},"low_poly_3d_modeling":{"name":"Low Poly 3D Modelling","slug":"low_poly_3d_modeling","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines.","long_description_html":"<p>Low poly 3D modeling focuses on creating stylized, memory-efficient polygonal assets, retro environment art, and pixel-mapped 3D meshes for indie games and real-time engines.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Low_poly"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"../projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[],"posts":[{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"../liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"}]},"midi":{"name":"MIDI","slug":"midi","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Musical Instrument Digital Interface standard for digital music composition, synth communication, and note sequencing.","long_description_html":"<p>MIDI (Musical Instrument Digital Interface) provides event-based protocol standards for note sequencing, hardware synthesizer control, virtual instruments, and software music composition.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/MIDI"}],"projects":[],"games":[],"achievements":[],"posts":[]},"modular_synth":{"name":"Modular Synth","slug":"modular_synth","category":"Audio & Music","years":"4 years","date_started":"2020-01-01","description":"Designing electronic audio signals using interconnected sound modules, generators, and filters.","long_description_html":"<p>Modular synthesis involves interconnecting separate modules (VCOs, VCFs, LFOs, envelopes
733) to create complex procedural soundscapes, dynamic game SFX, and synth textures.</p>\n","icon":"sliders.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 224zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Modular_synthesizer"}],"projects":[{"title":"SunVox Animalese Generator","url":"../projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"../projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"../projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"nginx":{"name":"Nginx","slug":"nginx","category":"Tools & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"High-performance HTTP web server, reverse proxy, and SSL/TLS termination configuration.","long_description_html":"<p>Nginx is an HTTP web server, reverse proxy, and load balancer. I configure Nginx for secure web application routing, SSL/TLS certificate automation, static asset caching, rate limiting, and CORS headers management.</p>\n","icon":"server.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"/></svg>","links":[{"key":"website","url":"https://nginx.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"obs_studio":{"name":"OBS Studio","slug":"obs_studio","category":"Tools & Software","years":"5 years","date_started":"2019-01-01","description":"Open Broadcaster Software for video recording, live streaming, and gameplay footage capture.","long_description_html":"<p>OBS Studio is the industry-standard software for high-performance video recording, screen capture, live streaming, and demonstration video production.</p>\n","icon":"video.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M96 64c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L96 64zM464 336l73.5 58.8c4.2 3.4 9.4 5.2 14.8 5.2 13.1 0 23.7-10.6 23.7-23.7l0-240.6c0-13.1-10.6-23.7-23.7-23.7-5.4 0-10.6 1.8-14.8 5.2L464 176 464 336z\"/></svg>","links":[{"key":"website","url":"https://obsproject.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"opentofu":{"name":"OpenTofu","slug":"opentofu","category":"Tools & Infrastru
733cture","years":"2 years","date_started":"2022-01-01","description":"Open-source Infrastructure-as-Code tool for provisioning and managing cloud infrastructure.","long_description_html":"<p>OpenTofu provides community-driven declarative infrastructure management for cloud infrastructure across AWS, DigitalOcean, and Heroku.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://opentofu.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"playstation_2":{"name":"PlayStation 2","slug":"playstation_2","category":"Platforms & Hardware","years":"3 years","date_started":"2023-01-01","description":"PlayStation 2 architecture, Emotion Engine MIPS R5900, Graphics Synthesizer, SPRAM, and homebrew runtime engineering.","long_description_html":"<p>Developing native software and custom bytecode virtual machines for Sony's PlayStation 2 hardware, leveraging the 128-bit Emotion Engine, DMA channels, Scratchpad RAM, and PCSX2 emulation debugging.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[],"projects":[{"title":"Citrine","url":"../projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"python":{"name":"Python","slug":"python","category":"Languages","years":"10 years","date_started":"2014-01-01","description":"A versatile high-level programming language used for scripting, security tools, and automation.","long_description_html":"<p>Python is a high-level interpreted programming language known for its clear syntax and vast ecosystem. I utilize Python for exploit proof-of-concept development, protocol reverse engineering, network security toolkits, automated data processing pipelines, and system administration scripts.</p>\n","icon":"python.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2l-40.1 0 0 47.4c0 36.8-31.2 67.8-66.8 67.8l-106.8 0c-29.2 0-53.4 25-53.4 54.3l0 101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3l0-40.7-106.7 0 0-13.6 160.2 0c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 444.7a20.4 20.4 0 1 1 0-40.7 20.4 20.4 0 1 1 0 40.7zM167.8 248.1l106.8 0c29.7 0 53.4-24.5 53.4-54.3l0-101.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8 .1-45.2 8-53.4 24.7-53.4 55.6l0 40.7 106.9 0 0 13.6-147 0c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2l36.7 0 0-48.8c0-35.3 30.5-66.4 66.8-66.4zM161.2 64.7a20.4 20.4 0 1 1 0 40.8 20.4 20.4 0 1 1 0-40.8z\"/></svg>","links":[{"key":"website","url":"https://www.python.org"}],"projects":[{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"radare2":{"name":"radare2","slug":"radare2","category":"Systems & Security","years":"6 years","date_started":"2018-01-01","description":"UNIX-style reverse engineering framework, binary disassembler, hex editor, and debugger.","long_description_html":"<p>radare2 is a portable, modular reverse-engineering framework and binary analysis toolset. I utilize radare2 for binary forensics, firmware analysis, disassembly, and automated debugging through custom pipes and plugins like cradare2.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
733<path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"website","url":"https://rada.re/n/"},{"key":"github","url":"radareorg/radare2"}],"projects":[{"title":"Citrine","url":"../projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"cradare2","url":"../projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Rubellite","url":"../projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"Lapis","url":"../projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"raylib":{"name":"Raylib","slug":"raylib","category":"Libraries & Frameworks","years":"5 years","date_started":"2019-01-01","description":"A simple and easy-to-use C library to enjoy videogames programming.","long_description_html":"<p>
733Raylib is an open-source C library designed for 2D/3D graphics, windowing, audio, and game development. I authored <code>raylib-cr</code> (Crystal bindings for Raylib) and have created various game jam entries and interactive tools using Raylib.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[{"key":"website","url":"https://www.raylib.com"},{"key":"github","url":"raysan5/raylib"}],"projects":[{"title":"crixel","url":"../projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"},{"title":"raylib-cr","url":"../projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"wireland","url":"../projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"pixel_lang_crystal","url":"../projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"}],"posts":[{"title":"Intro","url":"../pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"../pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"../pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"reverse_engineering":{"name":"Reverse Engineering","slug":"reverse_engineering","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols.","long_description_html":"<p>Reverse engineering involves analyzing binary executables, assembly code, and embedded hardware interfaces without source code access. I utilize disassemblers, decompilers, and static analysis tools to discover zero-day vulnerabilities, audit IoT camera firmware, and decipher proprietary protocols.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"ghidra","url":"https://ghidra-sre.org"}],"projects":[{"title":"Citrine","url":"../projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"cradare2","url":"../projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Rubellite","url":"../projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"Lapis","url":"../projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"../projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
733cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"../vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Network Protocol Analysis","url":"../vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"../vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"../vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Writing a Client","url":"../vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"},{"title":"Memory Leaks and De-serialization","url":"../vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"},{"title":"Firmware Analysis","url":"../vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"},{"title":"Re-evaluating fixed vulnerabilities","url":"../vstarcam_journey/10.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":10,"date":"2019-09-03"},{"title":"Intro","url":"../xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"../xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"},{"title":"Hashing","url":"../xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Basic Fuzzing","url":"../xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"../xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"}]},"ruby":{"name":"Ruby","slug":"ruby","category":"Languages","years":"10 years","date_started":"2014-01-01","description":"A dynamic, open-source programming language with a focus on simplicity and productivity.","long_description_html":"<p>Ruby is a dynamic object-oriented programming language designed for developer happiness and readable code. Over the past decade, I have used Ruby extensively for full-stack web applications, automation scripting, REST API backends, and system integration tools.</p>\n","icon":"gem.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8l240 0c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5L210.5 179.8 63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8l-147.2-12.3 57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"/></svg>","links":[{"key":"website","url":"https://www.ruby-lang.org"}],"projects":[{"title":"Rubellite","url":"../projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"security_research":{"name":"Security Research","slug":"security_research","category":"Security","years":"7 years","date_started":"2017-01-01","description":"Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks.","long_description_html":"<p>Security research involves vulnerability discovery, threat modeling, protocol analysis, and hardware/firmware auditing across IoT devices, web services, and binary software.</p>\n","icon":"user-secret.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M171-16c-36.4 0-57.8 58.3-68.3 112L72 9
7336c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z\"/></svg>","links":[{"key":"cve","url":"https://cve.mitre.org"}],"projects":[{"title":"cradare2","url":"../projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"crowbar","url":"../projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"xet","url":"../projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"../projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"../projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"../vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Network Protocol Analysis","url":"../vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"../vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"../vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Writing a Client","url":"../vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"},{"title":"Reversing authentication","url":"../vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Post Mortem & Fixes","url":"../vstarcam_journey/9.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":9,"date":"2019-09-03"},{"title":"Re-evaluating fixed vulnerabilities","url":"../vstarcam_journey/10.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":10,"date":"2019-09-03"},{"title":"Intro","url":"../xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"../xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"},{"title":"Software Overview and Audit","url":"../xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Hashing","url":"../xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Basic Fuzzing","url":"../xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"../xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"},{"title":"Fuzzing With Radamsa","url":"../xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Brute Force","url":"../xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"},{"title":"Denial of Service","url":"../xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"shaders":{"name":"Shaders","slug":"shaders","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"GPU shader programming for custom visual effects, post-processing, and material lighting.","long_description_html":"<p>Shader programming enables custom GPU pixel and vertex manipulation for real-time graphics, lighting models, and retro visual post-processing effects.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Shader"}],"projects":[{"title":"Opal","url":"../projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"},{"title":"CRShader","url":"../projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"../projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363
733challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"},{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"../liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Shader Optimization & Visual Refinements","url":"../liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"simulation":{"name":"Simulation","slug":"simulation","category":"Computer Science","years":"4 years","date_started":"2020-01-01","description":"Modeling complex real-world or artificial systems, cellular automata, and interactive agent behaviors.","long_description_html":"<p>Simulation development covers cellular automata (Wireworld, Game of Life), physics state updates, and agent-based systemic simulations.</p>\n","icon":"atom.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224 398.8c-11.8 5.1-23.4 9.7-34.9 13.5 16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM414 256c33 45.2 44.3 90.9 23.6 128-20.2 36.3-62.5 49.3-115.2 43.2-22 52.1-55.7 84.8-98.4 84.8s-76.4-32.7-98.4-84.8C72.9 433.3 30.6 420.3 10.4 384-10.3 346.9 1 301.2 34 256 1 210.8-10.3 165.1 10.4 128 30.6 91.7 72.9 78.7 125.6 84.8 147.6 32.7 181.2 0 224 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2 20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2 31.8 1.4 38.6-8.7 40.2-11.7 2.3-4.2 7-17.9-11.9-48.1-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2 7.6 6.1 14.8 12.3 21.6 18.6 18.9-30.2 14.2-44 11.9-48.1-1.6-2.9-8.4-13-40.2-11.7zM258.9 99.7C242.1 65.9 227.9 64 224 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5 11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2-31.8-1.4-38.6 8.7-40.2 11.7-2.3 4.2-7 17.9 11.9 48.1 6.8-6.3 14-12.5 21.6-18.6zM78.2 304.8c-18.9 30.2-14.2 44-11.9 48.1 1.6 2.9 8.4 13 40.2 11.7-2.8-13.1-5-26.9-6.7-41.2-7.6-6.1-14.8-12.3-21.6-18.6zM304 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Simulation"}],"projects":[{"title":"Diorite","url":"../projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"wireland","url":"../projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"sip":{"name":"SIP","slug":"sip","category":"Networking & Security","years":"6 years","date_started":"2018-01-01","description":"Session Initiation Protocol (RFC 3261) used for signaling and controlling VoIP communication sessions.","long_description_html":"<p>Session Initiation Protocol (SIP) is an application-layer control protocol for creating, modifying, and terminating real-time sessions like VoIP calls. My work includes analyzing SIP call flows, auditing SIP user agents on IoT cameras, and dissecting authentication mechanisms.</p>\n","icon":"phone.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M160.2 25C152.3 6.1 131.7-3.9 112.1 1.4l-5.5 1.5c-64.6 17.6-119.8 80.2-103.7 156.4 37.1 175 174.8 312.7 349.8 349.8 76.3 16.2 138.8-39.1 156.4-103.7l1.5-5.5c
7335.4-19.7-4.7-40.3-23.5-48.1l-97.3-40.5c-16.5-6.9-35.6-2.1-47 11.8l-38.6 47.2C233.9 335.4 177.3 277 144.8 205.3L189 169.3c13.9-11.3 18.6-30.4 11.8-47L160.2 25z\"/></svg>","links":[{"key":"rfc","url":"https://datatracker.ietf.org/doc/html/rfc3261"}],"projects":[],"games":[],"achievements":[],"posts":[]},"static_analysis":{"name":"Static Analysis","slug":"static_analysis","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues.","long_description_html":"<p>Static analysis encompasses inspecting codebase ASTs, control flow graphs, and data flows without executing code. I use static analyzers and custom parsing scripts to detect vulnerability patterns (integer overflows, buffer handling, memory safety) early in development.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"cwe","url":"https://cwe.mitre.org"}],"projects":[{"title":"Jasper","url":"../projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"cradare2","url":"../projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"crowbar","url":"../projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"}],"games":[],"achievements":[],"posts":[{"title":"Memory Leaks and De-serialization","url":"../vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"}]},"sunvox":{"name":"SunVox","slug":"sunvox","category":"Audio & Music","years":"5 years","date_started":"2019-01-01","description":"Small, fast, and powerful modular synthesizer and pattern-based tracker for music composition.","long_description_html":"<p>SunVox is a flexible modular synth tracker. Used for composing original chiptune soundtracks, game SFX, and integrating native SunVox audio engines via libsunvox C bindings.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"website","url":"https://www.warmplace.ru/soft/sunvox/"}],"projects":[{"title":"SunVox Animalese Generator","url":"../projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"../projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"../projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"svg":{"name":"SVG","slug":"svg","category":"Design & Art","years":"6 years","date_started":"2018-01-01","description":"Scalable Vector Graphics XML format for resolution-independent vector illustrations and programmatic rendering.","long_description_html":"<p>Scalable Vector Graphics (SVG) is an XML-based vector image format. Used for creating UI icon sets, generating programmatic vector graphics in Crystal/Ruby, and clean web illustrations.</p>\n","icon":"vector-square.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 119.4C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0 87.7 0 108.4 12.9 119.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 23.7-12.9 44.4-32 55.4l0 273.1c19.1 11.1 32 31.7 32 55.4 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1zm64 0l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c5.6-9.7 13.7-17.8 23.4-23.4l0-273.1c-9.7-5.6-17.8-13.7-23.4-23.4L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4z\"/></svg>","links":[{"key":"website","url":"https://www.w3.org/TR/SVG2/"}],"projects":[{"title":"celestine","url":"../projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[],"achievements":[{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"}],"posts":[]},"terraform":{"name":"Terraform","slug":"terraform","category":"Tools & Infrastru
733cture","years":"6 years","date_started":"2018-01-01","description":"Declarative Infrastructure-as-Code (IaC) tool for provisioning cloud resources.","long_description_html":"<p>Terraform enables declarative management of cloud infrastructure via code, enabling reproducible state and automated deployment pipelines across AWS and cloud providers.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://www.terraform.io"}],"projects":[],"games":[],"achievements":[],"posts":[]},"trenchbroom":{"name":"TrenchBroom","slug":"trenchbroom","category":"Design & Art","years":"2 years","date_started":"2022-01-01","description":"Cross-platform level editor for Quake-style engine maps and 3D level design.","long_description_html":"<p>TrenchBroom is a modern, intuitive level editor designed for Quake-style brush geometry and 3D level construction for classic retro FPS engines and Godot integrations.</p>\n","icon":"box.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M369.4 128l-34.3-48-222.1 0-34.3 48 290.7 0zM0 148.5c0-13.3 4.2-26.3 11.9-37.2L60.9 42.8C72.9 26 92.3 16 112.9 16l222.1 0c20.7 0 40.1 10 52.1 26.8l48.9 68.5c7.8 10.9 11.9 23.9 11.9 37.2L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 148.5z\"/></svg>","links":[{"key":"website","url":"https://trenchbroom.github.io"}],"projects":[],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[]},"tui":{"name":"Terminal UI","slug":"tui","category":"Tools & Frameworks","years":"5 years","date_started":"2019-01-01","description":"Terminal user interface architecture, Elm architecture (TEA), ANSI escape sequences, and virtual terminal emulation.","long_description_html":"<p>Building rich, double-buffered, and accessible terminal user interfaces using ANSI/VT100 escape codes, TrueColor rasterization, and Elm-inspired architecture models.</p>\n","icon":"terminal.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M9.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 256 9.4 118.6zM224 384l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"/></svg>","links":[],"projects":[{"title":"Fluorite","url":"../projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"Opal","url":"../projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]}
733,"typescript":{"name":"TypeScript","slug":"typescript","category":"Languages","years":"6 years","date_started":"2018-01-01","description":"Strongly typed programming language that builds on JavaScript for scalable front-end and back-end development.","long_description_html":"<p>TypeScript enables robust type safety across large web applications, client-side tools, and web integrations.</p>\n","icon":"js.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32l0 448 448 0 0-448-448 0zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5l0-143.1 42.1 0 0 143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"/></svg>","links":[{"key":"website","url":"https://www.typescriptlang.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"voip":{"name":"VoIP","slug":"voip","category":"Networking & Security","years":"6 years","date_started":"2018-01-01","description":"Voice over Internet Protocol technologies for real-time voice, video, and multimedia communication over IP networks.","long_description_html":"<p>VoIP encompasses protocols and media streaming technologies (SIP, RTP, RTSP, SDP) enabling audio/video transport over IP networks.</p>\n","icon":"phone.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M160.2 25C152.3 6.1 131.7-3.9 112.1 1.4l-5.5 1.5c-64.6 17.6-119.8 80.2-103.7 156.4 37.1 175 174.8 312.7 349.8 349.8 76.3 16.2 138.8-39.1 156.4-103.7l1.5-5.5c5.4-19.7-4.7-40.3-23.5-48.1l-97.3-40.5c-16.5-6.9-35.6-2.1-47 11.8l-38.6 47.2C233.9 335.4 177.3 277 144.8 205.3L189 169.3c13.9-11.3 18.6-30.4 11.8-47L160.2 25z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Voice_over_IP"}],"projects":[],"games":[],"achievements":[],"posts":[]},"vscode":{"name":"VS Code","slug":"vscode","category":"Developer Tools","years":"7 years","date_started":"2017-01-01","description":"Lightweight, extensible code editor used for daily multi-language development and debugging.","long_description_html":"<p>Visual Studio Code is a cross-platform source-code editor with native debugging support, Git integration, custom tasks, and extensive extension ecosystems for Crystal, Ruby, Python, and C/C++.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://code.visualstudio.com"}],"projects":[],"games":[],"achievements":[],"posts":[]}} 734 </script>
734 735 736 <div id="favorite-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="favorite-modal-title"> 737 <div class="terminal-window skill-modal-window favorite-modal-window"> 738 <div class="window-header"> 739 <h1 id="favorite-modal-title" class="window-title"><span class="window-header-icon" title="Favorite Spec"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg></span>FAVORITE // Specification // Media Details</h1> 740 <div class="window-controls"> 741 <span id="favorite-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 742 </div> 743 </div> 744 <div class="window-body favorite-modal-body"> 745 <div id="favorite-modal-single-body"> 746 <div class="skill-modal-meta"> 747 <div><strong>Category:</strong> <span id="favorite-modal-category"></span></div> 748 <div id="favorite-modal-creator-wrap"><strong>Creator:</strong> <span id="favorite-modal-creator"></span></div> 749 <div id="favorite-modal-year-wrap"><strong>Year:</strong> <span id="favorite-modal-year"></span></div> 750 <div id="favorite-modal-rating-wrap"><strong>Rating:</strong> <span id="favorite-modal-rating"></span></div> 751 <div id="favorite-modal-links-wrap"> 752 <strong>Link:</strong> 753 <span id="favorite-modal-links"></span> 754 </div> 755 </div> 756 <div class="skill-modal-short-desc" id="favorite-modal-short-desc"></div> 757 <div class="skill-modal-long-desc" id="favorite-modal-long-desc"></div> 758 759 <div id="favorite-modal-player-section"> 760 <h2 class="modal-section-h2">[ MEDIA PLAYER / EMBED ]</h2> 761 <div id="favorite-modal-player-container"></div> 762 </div> 763 </div> 764 765 <div id="favorite-modal-collection-body"> 766 <div class="skill-modal-meta favorite-modal-meta"> 767 <div><strong>Artist / Creator:</strong> <span id="favorite-modal-col-creator"></span></div> 768 <div><strong>Total Tracks / Items:</strong> <span id="favorite-modal-col-count" class="fav-badge-collection fav-badge-collection-inline"></span></div> 769 <div id="favorite-modal-col-link-wrap"> 770 <a id="favorite-modal-col-artist-link" href="#" target="_blank" class="accolade-link-btn" title="View Artist Profile"><span>ARTIST WEBSITE / PROFILE â</span></a> 771 </div> 772 </div> 773 <div class="fav-desc" id="favorite-modal-col-desc"></div> 774 775 <div class="favorite-modal-section-divider"> 776 <h2 class="modal-section-h2">[ COLLECTION PLAYERS & MEDIA LINKS ]</h2> 777 <div id="favorite-modal-items-container"></div> 778 </div> 779 </div> 780 </div> 781 </div> 782 </div> 783 784 <div id="jam-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="jam-modal-title"> 785 <div class="terminal-window skill-modal-window jam-modal-window"> 786 <div class="window-header"> 787 <h1 id="jam-modal-title" class="window-title"><span class="window-header-icon" title="Game Jam Spec"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
787<path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg></span>JAM // Specification // Event Details</h1> 788 <div class="window-controls"> 789 <span id="jam-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span> 790 </div> 791 </div> 792 <div class="window-body"> 793 <h2 id="jam-modal-name"></h2> 794 <p id="jam-modal-tagline"></p> 795 796 <div class="skill-modal-meta jam-modal-meta-grid"> 797 <div id="jam-modal-host-wrap"><strong>Host / Organizer:</strong> <span id="jam-modal-host"></span></div> 798 <div id="jam-modal-dates-wrap"><strong>Dates:</strong> <span id="jam-modal-dates"></span></div> 799 <div id="jam-modal-link-wrap"><strong>Link:</strong> <span id="jam-modal-link"></span></div> 800 </div> 801 802 <div id="jam-modal-live-stats-wrap"> 803 <h3 class="jam-modal-section-h3">[ LIVE JAM STATS ]</h3> 804 <div id="jam-modal-live-stats" class="project-live-stats jam-live-stats"></div> 805 </div> 806 807 <div id="jam-modal-desc-wrap"> 808 <h3 class="jam-modal-section-h3">[ OVERVIEW ]</h3> 809 <p id="jam-modal-desc"></p> 810 </div> 811 812 <div id="jam-modal-games-wrap"> 813 <h3 class="jam-modal-section-h3">[ SUBMITTED GAMES ]</h3> 814 <div id="jam-modal-games-list"></div> 815 </div> 816 </div> 817 </div> 818 </div> 819 820 <div id="carousel-thumbs-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="carousel-thumbs-modal-title"> 821 <div class="terminal-window skill-modal-window carousel-thumbs-window"> 822 <div class="window-header window-header-flex"> 823 <h1 id="carousel-thumbs-modal-title" class="window-title carousel-thumbs-title"> 824 <span class="window-header-icon" title="Gallery Selector"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
824<path fill="currentColor" d="M96 96c0-35.3 28.7-64 64-64l320 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64L96 96zM24 128c13.3 0 24 10.7 24 24l0 296c0 8.8 7.2 16 16 16l360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L64 512c-35.3 0-64-28.7-64-64L0 152c0-13.3 10.7-24 24-24zm168 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm196.5 11.5c-4.4-7.1-12.1-11.5-20.5-11.5s-16.1 4.4-20.5 11.5l-56.3 92.1-24.5-30.6c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S174.8 352 184 352l272 0c8.7 0 16.7-4.7 20.9-12.3s4.1-16.8-.5-24.3l-88-144z"/></svg></span>GALLERY // Slide Selector // Thumbnails 825 </h1> 826 <div class="window-controls"> 827 <button type="button" id="carousel-thumbs-modal-close" class="window-btn window-btn-close" title="Close Gallery"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></button> 828 </div> 829 </div> 830 831 <div class="window-body carousel-thumbs-body"> 832 <div id="carousel-thumbs-modal-grid"></div> 833 834 <div id="carousel-thumbs-modal-pagination"> 835 <button type="button" id="carousel-thumbs-prev-page" class="export-btn export-btn-page">[ â PREV PAGE ]</button> 836 <span id="carousel-thumbs-page-badge">[ PAGE 1 / 1 ]</span> 837 <button type="button" id="carousel-thumbs-next-page" class="export-btn export-btn-page">[ NEXT PAGE ⺠]</button> 838 </div> 839 </div> 840 </div> 841 </div> 842 843 <div id="game-player-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="game-player-modal-title"> 844 <div id="game-player-window" class="terminal-window game-player-window"> 845 <div class="window-header game-player-window-header"> 846 <h1 id="game-player-modal-title" class="window-title game-player-modal-title"> 847 <span class="window-header-icon" title="Game Player"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg></span>PLAYER // Web Game // Godot & Emulators 848 </h1>
849 <div class="window-controls game-player-controls"> 850 <button type="button" id="game-player-maximize-btn" class="window-btn window-btn-clean" title="Maximize Window to Viewport"> 851 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg> 852 <span id="maximize-btn-text">[ MAXIMIZE ]</span> 853 </button> 854 <button type="button" id="game-player-fullscreen-btn" class="window-btn window-btn-clean" title="Fullscreen Monitor Mode"> 855 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg> 856 <span>[ FULLSCREEN ]</span> 857 </button> 858 <button type="button" id="game-player-close-btn" class="window-btn window-btn-clean" title="Close Game"> 859 <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg> 860 <span>[ CLOSE ]</span> 861 </button> 862 </div> 863 </div> 864 865 <div class="window-body game-player-window-body"> 866 <iframe id="game-player-iframe" data-src="./shell.html" allow="autoplay; fullscreen; focus-without-user-activation; cross-origin-isolated; pointer-lock; gamepad" credentialless></iframe> 867 </div> 868 </div> 869 </div> 870 871
871<script id="favorites-catalog-data" type="application/json"> 872{"frieren":{"name":"Frieren","title":"Frieren: Beyond Journey's End","slug":"frieren","category":"Anime","type":"standard","is_collection":false,"creator":"Keiichiro Saito","label":null,"studio":"Madhouse","year":"2023-2024","rating":"8.9/10 IMDb","description":"Masterpiece fantasy anime about an elven mage reflecting on time, mortality, human relationships, and memories after defeating the Demon King.","long_description_html":"<p>Frieren: Beyond Journey's End (Sousou no Frieren) is an extraordinary high-fantasy anime produced by Madhouse. Rather than focusing on the battle to save the world, the story begins after the 10-year hero quest has concluded. Frieren, an immortal elven mage, grapples with the fleeting nature of human lifespan as her former companions age and pass away, prompting her to embark on a quiet journey to retrace their path and understand human hearts.</p>\n","url":"https://www.imdb.com/title/tt22248376/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt22248376","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime","High Fantasy","Slice of Life","Adventure","Madhouse"],"items":[]},"tatami_galaxy":{"name":"The Tatami Galaxy","title":"The Tatami Galaxy","slug":"tatami_galaxy","category":"Anime","type":"standard","is_collection":false,"creator":"Masaaki Yuasa","label":null,"studio":"Madhouse / Noitamina","year":"2010","rating":"8.4/10 IMDb","description":"Visually inventive and fast-paced anime series directed by Masaaki Yuasa following a college student trapped in parallel timelines searching for the rose-colored campus life.","long_description_html":"<p>Based on Tomihiko Morimi's novel and directed by visionary Masaaki Yuasa, The Tatami Galaxy is a landmark 11-episode anime masterpiece. Utilizing rapid-fire dialogue, kinetic mixed-media animation, and Groundhog Day-style parallel universe timelines, the series follows a nameless college student in Kyoto as he resets his college years repeatedly to find true fulfillment, friendship with Ozu, and love with Akashi.</p>\n","url":"https://www.imdb.com/title/tt1847445/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt1847445","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime","Surreal","Comedy","Psychological","Masaaki Yuasa"],"items":[]},"2_mello":{"name":"2 Mello","title":"2 Mello","slug":"2_mello","category":"Collections","type":"collection","is_collection":true,"creator":"2 Mello","label":null,"studio":null,"year":null,"rating":null,"description":"Hip-hop producer, composer, and sound designer known for Jet Set Radio spiritual successor soundtracks and funky breakbeats.","long_description_html":"","url":"https://2mello.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Jet Set Radio","Cyberfunk","Hip-Hop","Breakbeat","OST","YouTube"],"items":[{"title":"Memories Of Tokyo-To (Full Album)","url":"https://www.youtube.com/watch?v=OBt8ioYEXBw","description":"Full tribute concept album to Jet Set Radio featuring high-energy funk and scratching.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"OBt8ioYEXBw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sounds Of Tokyo-To Future (Full Album)","url":"https://youtu.be/upIDgvEJrlg","description":"Follow-up album expanding the funky cyberpunk soundscapes with new vocal collabs.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"upIDgvEJrlg","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sunsound Collisions (Full Album)","url":"https://www.youtube.com/watch?v=Ua0_JA4xQQg","description":"Smooth boom-bap hip-h
872op and sample-heavy beat tape.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"Ua0_JA4xQQg","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"anamanaguchi":{"name":"Anamanaguchi","title":"Anamanaguchi","slug":"anamanaguchi","category":"Collections","type":"collection","is_collection":true,"creator":"Anamanaguchi","label":null,"studio":null,"year":null,"rating":null,"description":"Loud, hyperactive chiptune indie rock quartet utilizing NES and Game Boy sound generators blended with live instrumentation.","long_description_html":"","url":"https://soundcloud.com/anamanaguchi","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chiptune","Indie Rock","Scott Pilgrim","8-Bit","SoundCloud"],"items":[{"title":"Another Winter (Scott Pilgrim OST)","url":"https://soundcloud.com/anamanaguchi/another-winter","description":"Legendary overworld theme from Scott Pilgrim vs. The World: The Game OST.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/another-winter","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Air On Line","url":"https://soundcloud.com/anamanaguchi/anamanaguchi-air-on-line","description":"High-concept electronic rock piece from [USA].","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/anamanaguchi-air-on-line","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lorem Ipsum (Arctic Anthem)","url":"https://soundcloud.com/anamanaguchi/anamanaguchi-lorem-ipsum-arctic-anthem","description":"Fast-tempo anthemic 8-bit rock cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/anamanaguchi-lorem-ipsum-arctic-anthem","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pop It (ABSRDST Remix)","url":"https://soundcloud.com/anamanaguchi/pop-it-absrdst-remix","description":"Glitchy bass remix by producer ABSRDST.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/pop-it-absrdst-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"android52":{"name":"Android52","title":"Android52","slug":"android52","category":"Collections","type":"collection","is_collection":true,"creator":"Android52","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"High-energy French Touch, Future Funk, and anime groove productions by Android52 on Neoncity Records.","long_description_html":"","url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French Touch","Neoncity Records","Electronic","Bandcamp"],"items":[{"title":"Future Groove Product","url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","description":"Dynamic 10-track Future Funk album packed with driving basslines and anime sample chops.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","bandcamp_album_id":"2395065892","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"}]},"caravan_palace":{"name":"Caravan Palace","title":"Caravan Palace","slug":"caravan_palace","category":"Collections","type":"collection","is_collection":true,"creator":"Caravan Palace","label":null,"studio":null,"year":null,"rating":null,"description":"Pioneering French electro-swing and gypsy jazz band blending acoustic instruments with electronic house beats.","long_description_html":"","url":"https://soundcloud.com/caravan-palace-official","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electro-Swing","Gypsy Jazz","French House","SoundCloud"],"items":[{"title":"Lone Digger","url":"https://soundcloud.com/caravan-palace-official/lone-digger","description":"Breakout platinum electro-swing anthem with driving bass and brass hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/caravan-palace-official/lone-digger","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Good Mouse","url":"https://soundcloud.com/caravan-palace-official/good-mouse-1","description":"Funky, swing-infused electro track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/caravan-palace-official/good-mouse-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"cinematic_sequences":{"name":"Cinematic Sequences","title":"Cinematic Sequences","slug":"cinematic_sequences","category":"Collections","type":"collection","is_collection":true,"creator":"Cinematic Sequences","label":null,"studio":null,"year":null,"rating":null,"description":"Ambient, lo-fi, and chill synth soundscapes inspired by retro aesthetics, daily rhythms, and late night cityscapes.","long_description_html":"","url":"https://cinematicsequences.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Ambient","Lo-Fi","Synthwave","Chillwave","Bandcamp"],"items":[{"title":"Night Shift","url":"https://cinematicsequences.bandcamp.com/album/night-shift","description":"Atmospheric late-night synth sounds.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/night-shift","bandcamp_album_id":"4290757090","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Day Shift","url":"https://cinematicsequences.bandcamp.com/album/day-shift","description":"Bright daytime chill beats and electronic grooves.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/day-shift","bandcamp_album_id":"1731191999","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Casual Restaurant","url":"https://cinematicsequences.bandcamp.com/album/casual-restaurant","description":"Relaxed background ambient tunes for casual listening.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/casual-restaurant","bandcamp_album_id":"2380808922","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Between Exits","url":"https://cinematicsequences.bandcamp.com/album/between-exits","de
872scription":"Dreamy highway synthscapes and transitional ambient journeys.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/between-exits","bandcamp_album_id":"2238275806","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"}]},"darren_korb":{"name":"Darren Korb","title":"Darren Korb","slug":"darren_korb","category":"Collections","type":"collection","is_collection":true,"creator":"Darren Korb","label":null,"studio":"Supergiant Games","year":null,"rating":null,"description":"Iconic video game original soundtracks composed by Darren Korb for Supergiant Games.","long_description_html":"","url":"https://www.supergiantgames.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["OST","Video Games","Acoustic / Electronic","Supergiant Games"],"items":[{"title":"Bastion OST","url":"https://www.youtube.com/watch?v=2mdQBvMBnKk&list=PL53mjgVKFq7yPfCiSJaA_aI2SPKrnEmmJ","description":"Acoustic trip-hop soundtrack for Bastion.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"2mdQBvMBnKk","youtube_playlist_id":"PL53mjgVKFq7yPfCiSJaA_aI2SPKrnEmmJ","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Transistor OST","url":"https://www.youtube.com/watch?v=ql8K3KJyWgY&list=PL53mjgVKFq7y63ke-WLKrowba3mdSEJMf","description":"Electronic post-rock and vocals soundtrack for Transistor.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"ql8K3KJyWgY","youtube_playlist_id":"PL53mjgVKFq7y63ke-WLKrowba3mdSEJMf","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Hades 1 OST","url":"https://www.youtube.com/watch?v=3GRKJ87S5cI","description":"Heavy Mediterranean rock and orchestral soundscapes for Hades.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"3GRKJ87S5cI","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Hades 2 OST","url":"https://www.youtube.com/watch?v=jfIuPRP94WI","description":"Dark witchy rock and orchestral themes for Hades II.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"jfIuPRP94WI","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"heaven_pierce_her":{"name":"Heaven Pierce Her","title":"Heaven Pierce Her","slug":"heaven_pierce_her","category":"Collections","type":"collection","is_collection":true,"creator":"Heaven Pierce Her (Hakita)","label":null,"studio":null,"year":null,"rating":null,"description":"Aggressive industrial metal, cyber breakcore, and frantic dynamic battle soundtracks composed by Hakita for ULTRAKILL.","long_description_html":"","url":"https://soundcloud.com/user-362886855","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Industrial Metal","Breakcore","OST","Hakita"],"items":[{"title":"War Without Reason (ULTRAKILL 7-4 Theme)","url":"https://youtu.be/Elj4zDLqJvw","de
872scription":"Epic multi-phase climactic boss theme for the Earthmover in Violence layer (7-4).","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"Elj4zDLqJvw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"War Without Reason (SoundCloud cut)","url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-war-without","description":"Violence layer climax battle theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-war-without","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The World Looks Red (ULTRAKILL 7-1)","url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-the-world","description":"Haunting acoustic opening transitioning into relentless industrial breakcore for 7-1.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-the-world","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Suffering Leaves Suffering Leaves (ULTRAKILL 7-3)","url":"https://soundcloud.com/vipery-belarus/suffering-leaves-suffering","description":"Intense atmospheric battle theme for Violence layer 7-3.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vipery-belarus/suffering-leaves-suffering","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Order (ULTRAKILL Minos Prime Theme)","url":"https://soundcloud.com/sexballs/03-order","description":"Legendary piano and speed-metal boss theme for Prime Sanctum P-1 (Minos Prime).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/03-order","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Complete and Utter Destruction of the Senses","url":"https://soundcloud.com/sexballs/07-a-complete-and-utter","description":"Frantic breakcore assault track from the ULTRAKILL soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/07-a-complete-and-utter","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Deep Blue (ULTRAKILL 5-1 Wrath Layer)","url":"https://soundcloud.com/sexballs/06-deep-blue","description":"Melodic underwater breakcore and guitar track for Oceanstaring (5-1).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/06-deep-blue","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Shattering Circle (Combat 18)","url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-shattering-circle-or-a-charade-of-shadeless-ones-and-zeroes-rearranged-ad-nihilum-combat-18","description":"High-energy combat sequence arrangement.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-shattering-circle-or-a-charade-of-shadeless-ones-and-zeroes-rearranged-ad-nihilum-combat-18","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Break (Crimson Glass deComposition)","url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-break-1","description":"Intense combat variation theme with atmospheric build.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-break-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Shattered Illusion","url":"https://soundcloud.com/das-itmane/ultrakill-ost-a-shattered","description":"Speed metal guitar and glitch drum grooves.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/das-itmane/ultrakill-ost-a-shattered","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"No Devil Lived On","url":"https://soundcloud.com/user-362886855/no-devil-lived-on-ultrakill-1","description":"High-octane industrial metal combat theme for ULTRAKILL.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-362886855/no-devil-lived-on-ultrakill-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Event Horizon / Reach for the...","url":"https://soundcloud.com/user-362886855/event-horizon-reach-for-the","description":"Atmospheric and intense soundtrack cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-362886855/event-horizon-reach-for-the","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"kokonoku":{"name":"kokonoku","title":"kokonoku","slug":"kokonoku","category":"Collections","type":"collection","is_collection":true,"creator":"kokonoku","label":null,"studio":null,"year":null,"rating":null,"description":"Melodic chill lo-fi beats, lyrical hip-hop rhymes, and emotive electronic soundscapes by kokonoku.","long_description_html":"","url":"https://soundcloud.com/kokonoku","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lo-Fi","Hip-Hop","Chill","S
872oundCloud"],"items":[{"title":"SUMMER WAS AWFUL","url":"https://soundcloud.com/kokonoku/summer-was-awful","description":"Reflective lo-fi hip-hop track capturing summer nostalgia.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/summer-was-awful","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"WHO IS SHE?","url":"https://soundcloud.com/kokonoku/who-is-she","description":"Introspective beat with vocal samples and warm keys.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/who-is-she","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"why do shorties write rhymes?","url":"https://soundcloud.com/kokonoku/why-do-shorties-write-rhymes","description":"Laid-back boom-bap rhythm and playful cadence.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/why-do-shorties-write-rhymes","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"luminous_orange":{"name":"Luminous Orange","title":"Luminous Orange","slug":"luminous_orange","category":"Collections","type":"collection","is_collection":true,"creator":"Luminous Orange","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese dream pop and shoegaze band led by Rie Takeuchi, famous for ethereal vocals, lush guitar walls, and intricate math rock rhythms.","long_description_html":"","url":"https://www.youtube.com/user/luminousorange","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Shoegaze","Dream Pop","Math Rock","Japanese Indie","YouTube"],"items":[{"title":"The White Moon","url":"https://www.youtube.com/watch?v=N4Xr2tuiDWw","description":"Ethereal, swirling shoegaze masterpiece from Drop You Vivid Colours.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"N4Xr2tuiDWw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sea of Lights","url":"https://www.youtube.com/watch?v=aT0XPrvtwis","description":"Polyrhythmic math-rock guitars and heavenly vocal harmonies.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"aT0XPrvtwis","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"macross_82_99":{"name":"Macross 82-99","title":"Macross 82-99","slug":"macross_82_99","category":"Collections","type":"collection","is_collection":true,"creator":"Macross 82-99","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"Pioneering Future Funk, French Touch, and Japanese 80s anime-infused dance discography by Mexican producer Macross 82-99.","long_description_html":"","url":"https://macross82-99.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French Touch","City Pop","Anime Groove","Bandcamp","Electronic"],"items":[{"title":"SAILORWAVE","url":"https://neoncityrecords.bandcamp.com/album/sailorwave","description":"The quintessential landmark 2013 Future Funk album that defined the genre.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave","bandcamp_album_id":"1892710195","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"SAILORWAVE II","url":"https://neoncityrecords.bandcamp.com/album/sailorwave-ii","description":"High-energy sequel album bursting with brass, disco basslines, and anime samples.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave-ii","bandcamp_album_id":"4064191542","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"SAILORWAVE III","url":"https://neoncityrecords.bandcamp.com/album/sailorwave-iii-2","description":"The grand third installment in the legendary Sailorwave trilogy.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave-iii-2","bandcamp_album_id":"1995491460","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"10 Million Miles Away","url":"https://neoncityrecords.bandcamp.com/album/10-million-miles-away","description":"Classic 2014 Future Funk album featuring upbeat French House grooves.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/10-million-miles-away","bandcamp_album_id":"2135592731","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Summer Touch","url":"https://neoncityrecords.bandcamp.com/album/summer-touch","de
872scription":"Breezy summer City Pop and house album released on Neoncity Records.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/summer-touch","bandcamp_album_id":"829133684","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"ããªæ±äº¬ (Neo Tokyo)","url":"https://neoncityrecords.bandcamp.com/album/neo-tokyo","description":"Early 2013 classic featuring cyberpunk aesthetic and sample chops.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/neo-tokyo","bandcamp_album_id":"354036144","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Idols, Sakura","url":"https://neoncityrecords.bandcamp.com/album/idols-sakura","description":"Iconic EP exploring Japanese idol aesthetics and upbeat dance music.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/idols-sakura","bandcamp_album_id":"596354313","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Shibuya Meltdown","url":"https://neoncityrecords.bandcamp.com/album/shibuya-meltdown","description":"Urban club funk with heavier French Touch synth basslines.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/shibuya-meltdown","bandcamp_album_id":"1461554244","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Love 4 You","url":"https://neoncityrecords.bandcamp.com/album/love-4-you","description":"Modern French Touch & Future Funk singles compilation.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/love-4-you","bandcamp_album_id":"3937905813","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"At Night","url":"https://soundcloud.com/macross-82-99/at-night-1","description":"Smooth late-night Future Funk cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/at-night-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Melt (ft. Puniden)","url":"https://soundcloud.com/macross-82-99/melt-ft-puniden-shibuya-meltdown-out-now","description":"Collaborative Shibuya Meltdown single with punipunidenki.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/melt-ft-puniden-shibuya-meltdown-out-now","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Private Caller (Macross 82-99 Edit)","url":"https://soundcloud.com/macross-82-99/private-caller-macross-82-99-edit","description":"Famous rework of Saint Pepsi's Private Caller.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/private-caller-macross-82-99-edit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"For You (feat. Morning)","url":"https://soundcloud.com/macross-82-99/for-you-feat-morning-summer-touch-now-available","description":"Sunny, warm Summer Touch single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/for-you-feat-morning-summer-touch-now-available","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fresh ! (feat. Flamingosis)","url":"https://soundcloud.com/macross-82-99/fresh-feat-flamingosis","description":"Funky chill collab with producer Flamingosis.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/fresh-feat-flamingosis","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Cool Soda","url":"https://soundcloud.com/macross-82-99/cool-soda","description":"Bubbly and energetic classic anime dance track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/cool-soda","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Now Or Never (Flamingosis x Macross 82-99)","url":"https://soundcloud.com/flamingosis/flamingosis-x-macross-82-99-now-or-never","description":"Signature disco funk beat collaboration.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/flamingosis/flamingosis-x-macross-82-99-now-or-never","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Sakurafubuki (feat. Punipunidenki & Le Real)","url":"https://soundcloud.com/macross-82-99/sakurafubuki-feat-punipunidenki-le-real","description":"Silky smooth City Pop house single with punipunidenki and Lé Real.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/sakurafubuki-feat-punipunidenki-le-real","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"milk_talk":{"name":"Milk Talk","title":"Milk Talk (ãã«ã¯ãã¼ã¯)","slug":"milk_talk","category":"Collections","type":"collection","is_collection":true,"creator":"Milk Talk","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese/American synth-funk and neo-city pop duo consisting of producer Hair Kid and singer-songwriter Q.i, crafting breezy, infectious disco and retro-futuristic boogie anthems.","long_description_html":"","url":"https://www.youtube.com/@MilkTalk","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Synth Funk","Neo City Pop","Nu-Disco","J-Pop","YouTube"],"items":[{"title":"The Bay","url":"https://www.youtube.com/watch?v=h0kEsJIY6qs","description":"Breez
872y, sun-soaked neo-city pop and 80s boogie-funk anthem featuring sparkling synths and silky Japanese/English vocals.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"h0kEsJIY6qs","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Electric Indigo","url":"https://www.youtube.com/watch?v=olYRn-v4pQ8","description":"Pulsing neon synth-pop groove with infectious slap bass, driving drums, and vibrant bilingual hooks.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"olYRn-v4pQ8","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"The Velvet Line","url":"https://www.youtube.com/watch?v=j-QkNPTkC8M","description":"Late-night boogie, future funk, and electro-pop fusion with driving synth bass and catchy vocoder accents.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"j-QkNPTkC8M","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"DE DE MOUSE & Milk Talk - Beautiful Criminal","url":"https://www.youtube.com/watch?v=pA37MUCOYyY","description":"High-octane collaborative future city pop and disco single between DE DE MOUSE and Milk Talk.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"pA37MUCOYyY","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Medusa","url":"https://www.youtube.com/watch?v=8r_W7Rc0u3M","description":"Snappy retro-funk and electro-disco dance track with groovy basslines and hypnotic vocal harmonies.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"8r_W7Rc0u3M","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"moe_shop":{"name":"Moe Shop","title":"Moe Shop","slug":"moe_shop","category":"Collections","type":"collection","is_collection":true,"creator":"Moe Shop","label":null,"studio":null,"year":null,"rating":null,"description":"French Touch electronic music, anime sample chops, club house, and Future Funk grooves by producer Moe Shop.","long_description_html":"","url":"https://soundcloud.com/moeshop","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Anime Groove","Electronic","SoundCloud"],"items":[{"title":"Charm (w/ Puniden) [Music Video]","url":"https://youtu.be/1iKZhsc8WGs","description":"Official animated music video for Charm featuring punipunidenki.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"1iKZhsc8WGs","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Charm (w/ Puniden)","url":"https://soundcloud.com/moeshop/charm-puniden","description":"Ultra-catchy J-pop house single with silky punipunidenki vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/charm-puniden","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Complications","url":"https://soundcloud.com/moeshop/complications","description":"Bouncy French Touch bassline and vocal chops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/complications","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Newly Human Feeling (feat. Jamie Paige)","url":"https://soundcloud.com/moeshop/newly-human-feeling","description":"Glitchy, emotive Future Bass / French House single with Jamie Paige.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/newly-human-feeling","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Synchronizer (KMNZ prod. Moe Shop)","url":"https://www.youtube.com/watch?v=TsILoCA8Mm4","description":"Official music video for Virtual Hip-hop duo KMNZ produced by Moe Shop.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"TsILoCA8Mm4","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Identity (w/ SEIJ)","url":"https://soundcloud.com/moeshop/identity","de
872scription":"Upbeat French House collab featuring SEIJ.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/identity","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyo Night Flyght (Moe Shop Remix)","url":"https://soundcloud.com/attackthemusic/timemaxeras-tokyo-night-flyght-moe-shop-remix","description":"High-energy dance floor remix of TiMEMAXERAS.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/attackthemusic/timemaxeras-tokyo-night-flyght-moe-shop-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"UKIYO (TEMPURA KIDZ & Moe Shop)","url":"https://soundcloud.com/moeshop/ukiyo","description":"Collaborative Japanese electronic single with TEMPURA KIDZ.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/ukiyo","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Virtual (w/ Puniden)","url":"https://soundcloud.com/moeshop/virtual","description":"Funky French House single with punipunidenki.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/virtual","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lovesick (w/ maisou)","url":"https://soundcloud.com/moeshop/lovesick","description":"Melodic club track featuring Japanese indie artist maisou.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/lovesick","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Magic (w/ MYLK)","url":"https://soundcloud.com/moeshop/magic","description":"Bright, bubbly electronic house single with MYLK.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/magic","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"ULTRAFINE (Lé Real & Moe Shop)","url":"https://soundcloud.com/nikon9200/ultrafine-prod-tsun-dealer","description":"Classic Future Funk collab produced by Lé Real & Moe Shop.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/nikon9200/ultrafine-prod-tsun-dealer","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Silhouette","url":"https://soundcloud.com/moeshop/silhouette","description":"Popular French Touch house single with upbeat vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/silhouette","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Owarini Liveshow","url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","description":"High-energy live DJ set recorded at Owarini in Tokyo.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Waifu Material","url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","description":"Landmark Future Funk and French House mixtape.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Moe Moe","url":"https://soundcloud.com/moeshop/sets/moe-moe","description":"Moe Moe EP set on SoundCloud.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/sets/moe-moe","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"night_tempo":{"name":"Night Tempo","title":"Night Tempo","slug":"night_tempo","category":"Collections","type":"collection","is_collection":true,"creator":"Night Tempo","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"Selected discography and Showa Groove remixes by South Korean Future Funk and City Pop producer Night Tempo.","long_description_html":"","url":"https://nighttempo.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","City Pop","Showa Groove","Vaporwave","Electronic","Bandcamp"],"items":[{"title":"Nighty Tape","url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","description":"Essential 80s City Pop flipped into upbeat Future Funk grooves by Night Tempo.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","bandcamp_album_id":"1324499771","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Moonrise","url":"https://nighttempo.bandcamp.com/album/moonrise","description":"Retro 80s synth vibes and disco boogie tracks.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://nighttempo.bandcamp.com/album/moonrise","bandcamp_album_id":"1899802584","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Fantasy","url":"https://neoncityrecords.bandcamp.com/album/fantasy","description":"18-track Future Funk extravaganza released via Neoncity Records.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/fantasy","bandcamp_album_id":"1942155638","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Babymaker 2","url":"https://nighttempo.bandcamp.com/album/babymaker-2","description":"Smooth, sensuous retro boogie and chill Future Funk beats.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://nighttempo.bandcamp.com/album/babymaker-2","bandcamp_album_id":"874626386","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Sentimental (Neon Mix) [feat. Miyu Takeuchi]","url":"https://soundcloud.com/ntreboot/sentimental-neon-mix-feat-miyu","description":"Lush City Pop collaboration featuring vocals by Miyu Takeuchi.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/sentimental-neon-mix-feat-miyu","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Dreams of Light","url":"https://soundcloud.com/ntreboot/dreams-of-light","description":"Sparkling retro synthesizer melody and driving dance beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/dreams-of-light","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Kiss Kara Hajimeru Mystery","url":"https://soundcloud.com/ntreboot/kiss-kara-hajimeru-mistery","description":"High-energy Showa Groove edit with classic Japanese 80s idol hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/kiss-kara-hajimeru-mistery","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyo in the Blue","url":"https://soundcloud.com/ntreboot/tokyo-in-the-blue","description":"Late-night metropolitan synth grooves and nostalgic samples.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/tokyo-in-the-blue","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tell Me Tell Me","url":"https://soundcloud.com/ntreboot/tell-me-tell-me","description":"Uptempo disco house rhythm and catchy vocal sample loops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/tell-me-tell-me","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"I Wanna Be With You","url":"https://soundcloud.com/ntreboot/i-wanna-be-with-you","description":"Romantic 80s City Pop boogie edit.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/i-wanna-be-with-you","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}
872,{"title":"Rats & Star - Megumi no Hito (Night Tempo Showa Groove Mix)","url":"https://soundcloud.com/ntreboot/ratsstar","description":"Official Showa Groove remix of the timeless 1983 classic Megumi no Hito.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/ratsstar","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"I Must Change My Life & Love For Me (Night Tempo Showa Groove Mix)","url":"https://soundcloud.com/ntreboot/changemylife","description":"Vibrant Showa Groove rework of 80s J-pop.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/changemylife","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Patchwork Love","url":"https://soundcloud.com/ntreboot/patchworklove","description":"Collaboration with punipunidenki and Pasocom Music Club.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/patchworklove","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Mint","url":"https://soundcloud.com/ntreboot/mint","description":"Crisp, refreshing Future Funk club single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/mint","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Better Days (feat. Puniden, Super Brass)","url":"https://soundcloud.com/ntreboot/better-days-feat-puniden-super-brass","description":"Uplifting neo-city-pop single with live brass sections and punipunidenki vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/better-days-feat-puniden-super-brass","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lil Bit","url":"https://www.youtube.com/watch?v=u93UQcoB-rM","description":"Catchy single with energetic retro synth chops.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"u93UQcoB-rM","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Silhouette","url":"https://www.youtube.com/watch?v=PX4YAla7u3A&list=RDTxhlbeNG0sY&index=24","description":"Smooth synthwave and disco groove.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"PX4YAla7u3A","youtube_playlist_id":"RDTxhlbeNG0sY","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"nujabes":{"name":"Nujabes","title":"Nujabes","slug":"nujabes","category":"Collections","type":"collection","is_collection":true,"creator":"Nujabes","label":null,"studio":null,"year":null,"rating":null,"description":"Pioneering Japanese hip-hop producer and DJ whose jazz-infused beats defined the modern lo-fi and chillhop movements.","long_description_html":"","url":"https://soundcloud.com/junseba","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lo-Fi Hip-Hop","Jazz Rap","Samurai Champloo","Chillhop","YouTube","SoundCloud"],"items":[{"title":"Nujabes Essential Discography Mix","url":"https://www.youtube.com/watch?v=m4fDm4rdUdk","description":"Complete curated journey through Nujabes' most memorable jazz-hop masterpieces.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"m4fDm4rdUdk","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Luv (Sic) Part 3 (Whos Theme Remix)","url":"https://soundcloud.com/bazfirstbounce/nujabes-luv-sic-part-3-whos","description":"Heartfelt remix blending Luv(Sic) with MINM
872I's Who's Theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/bazfirstbounce/nujabes-luv-sic-part-3-whos","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Sign (feat. Pase Rock)","url":"https://soundcloud.com/headhunter0/07-nujabes-the-sign-feat-pase","description":"Soulful conscious hip-hop cut from Modal Soul featuring Pase Rock.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/headhunter0/07-nujabes-the-sign-feat-pase","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"oddeeo":{"name":"ODDEEO","title":"ODDEEO","slug":"oddeeo","category":"Collections","type":"collection","is_collection":true,"creator":"=ODDEEO=","label":null,"studio":null,"year":null,"rating":null,"description":"Innovative Vocaloid music, City Pop arrangements, saxophone solos, and glitch electronic pop by producer ODDEEO.","long_description_html":"","url":"https://soundcloud.com/oddeeoofficial","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Vocaloid","Hatsune Miku","City Pop","Saxophone","Electronic"],"items":[{"title":"Wonder (feat. Hatsune Miku) [Music Video]","url":"https://www.youtube.com/watch?v=JDpUO29cRmA","description":"Vocaloid City Pop music video featuring saxophone performance by Soneji.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"JDpUO29cRmA","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Wonder (feat. Hatsune Miku) [MIKU EXPO 2024]","url":"https://soundcloud.com/oddeeoofficial/wonder-feat-hatsune-miku-miku-expo-2024","description":"Official MIKU EXPO 2024 submission track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/wonder-feat-hatsune-miku-miku-expo-2024","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pacify (nostraightanswer - ODDEEO Remix)","url":"https://soundcloud.com/oddeeoofficial/nostraightanswer-pacify-oddeeo-remix","description":"High-energy electronic remix of nostraightanswer.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/nostraightanswer-pacify-oddeeo-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"[HOME]","url":"https://soundcloud.com/oddeeoofficial/home","description":"Emotive ambient electronic soundscape.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/home","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pavlo's Cues [ft. Megpoid GUMI]","url":"https://soundcloud.com/oddeeoofficial/pavlos-cues-ft-megpoid-gumi","description":"Complex syncopated rhythms with Megpoid GUMI vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/pavlos-cues-ft-megpoid-gumi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":">This_feeling_is_a_cliché...","url":"https://soundcloud.com/oddeeoofficial/this_feeling_is_a_cliche","description":"Experimental glitch pop and expressive synthesis.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/this_feeling_is_a_cliche","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"[SELF]","url":"https://soundcloud.com/oddeeoofficial/self","description":"Moody, evolving electronic instrumental.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/self","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Utopia [feat. Hatsune Miku]","url":"https://soundcloud.com/oddeeoofficial/utopia-feat-hatsune-miku-mikuexpo-contest-submission","description":"Dynamic MikuExpo contest entry track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/utopia-feat-hatsune-miku-mikuexpo-contest-submission","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"plexi":{"name":"Plexi","title":"Plexi","slug":"plexi","category":"Collections","type":"collection","is_collection":true,"creator":"Plexi","label":null,"studio":null,"year":null,"rating":null,"description":"Futuristic edits, anime vocal reworks, and electronic beats by Plexi.","long_description_html":"","url":"https://soundcloud.com/plexi-two","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Electronic","Anime Edits","SoundCloud"],"items":[{"title":"Your Love","url":"https://soundcloud.com/plexi-two/your-love","description":"Upbeat dance edit with sparkling synths.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/plexi-two/your-love","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Let Me Be With You (Plexi Edit)","url":"https://soundcloud.com/plexitofer/let-me-be-with-you-plexi-edit","description":"Chobits opening theme flipped into a bouncy club edit.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/plexitofer/let-me-be-with-you-plexi-edit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"porter_robinson":{"name":"Porter Robinson","title":"Porter Robinson","slug":"porter_robinson","category":"Collections","type":"collection","is_collection":true,"creator":"Porter Robinson","label":null,"studio":null,"year":null,"rating":null,"description":"Visionary electronic, synth-pop, and emotive dance tracks spanning the Worlds and Nurture eras by Porter Robinson.","long_description_html":"","url":"https://soundcloud.com/porter-robinson","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electronic","Synth-Pop","Worlds","Nurture","S
872oundCloud"],"items":[{"title":"Sad Machine","url":"https://soundcloud.com/porter-robinson/sad-machine","description":"Iconic Worlds duet between Vocaloid AVANNA and Porter Robinson.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/sad-machine","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Get Your Wish","url":"https://soundcloud.com/porter-robinson/get-your-wish","description":"Lead single from Nurture with uplifting piano and pitch-shifted vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/get-your-wish","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Something Comforting","url":"https://soundcloud.com/porter-robinson/something-comforting","description":"Heartfelt electronic indie-pop anthemic track from Nurture.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/something-comforting","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Get Your Wish (Anamanaguchi Remix)","url":"https://soundcloud.com/porter-robinson/get-your-wish-anamanaguchi","description":"Hyperactive chiptune rock remix by Anamanaguchi.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/get-your-wish-anamanaguchi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Flicker","url":"https://soundcloud.com/porter-robinson/flicker","description":"Disco-influenced Worlds anthem built around hip-hop breakbeats.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/flicker","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lionhearted (feat. Urban Cone)","url":"https://soundcloud.com/porter-robinson/lionhearted-feat-urban-cone","description":"Driving indie-electro track featuring Swedish indie band Urban Cone.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/lionhearted-feat-urban-cone","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Polygon Dust (feat. Charli XCX)","url":"https://soundcloud.com/porter-robinson/polygon-dust","description":"Melodic chiptune synth-pop cut from Worlds.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/polygon-dust","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Years of War (feat. Breanne Düren & Sean Caskey)","url":"https://soundcloud.com/porter-robinson/years-of-war","description":"Soaring, emotional 80s synth-pop vocal collaboration.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/years-of-war","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fresh Static Snow","url":"https://soundcloud.com/porter-robinson/fresh-static-snow","description":"Aggressive distorted synthesizer bass drops paired with emotional melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/fresh-static-snow","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"punipunidenki":{"name":"Punipunidenki","title":"Punipunidenki (ã·ã«ã·ã«é»æ©)","slug":"punipunidenki","category":"Collections","type":"collection","is_collection":true,"creator":"punipunidenki","label":null,"studio":null,"year":null,"rating":null,"description":"Enchanting neo-city pop, jazz fusion, and Jap
872anese electronic soul compositions by singer-songwriter & producer Punipunidenki.","long_description_html":"","url":"https://soundcloud.com/puniden","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Neo Soul","Jazz Fusion","J-Pop","SoundCloud"],"items":[{"title":"Wonder Underground (EP Crossfade)","url":"https://soundcloud.com/puniden/wonderunderxfd","description":"Crossfade preview of the landmark Wonder Underground EP.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/wonderunderxfd","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Life is SUPER DOPE","url":"https://soundcloud.com/puniden/life-is-super-dope","description":"Funky indie pop single with soulful vocal hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/life-is-super-dope","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Imaginary boi (w/ Mikazuki BIGWAVE)","url":"https://soundcloud.com/puniden/imaginaryboi_sample","description":"Collaborative Future Funk single with producer Mikazuki BIGWAVE.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/imaginaryboi_sample","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Drop","url":"https://soundcloud.com/puniden/a-drop","description":"Atmospheric electronic soul and minimal percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/a-drop","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"INterNe... (ã¤ã³ã¿ã¼ãã)","url":"https://soundcloud.com/puniden/interne","description":"Intimate cyber-nostalgic vocal cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/interne","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Miracle! (w/ ããã kotu)","url":"https://soundcloud.com/kotu/miracle","description":"Bright, energetic electronic pop collaboration with kotu.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kotu/miracle","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"shawn_wasabi":{"name":"Shawn Wasabi","title":"Shawn Wasabi","slug":"shawn_wasabi","category":"Collections","type":"collection","is_collection":true,"creator":"Shawn Wasabi","label":null,"studio":null,"year":null,"rating":null,"description":"Bubbly MIDI Fighter controllerism, bright bubblegum bass, and catchy pop productions by Shawn Wasabi.","long_description_html":"","url":"https://soundcloud.com/sssshawnnnn","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Midi Fighter","Bubblegum Bass","Pop","Electronic","SoundCloud"],"items":[{"title":"Marble Tea","url":"https://soundcloud.com/sssshawnnnn/marble-tea","description":"Complex Midi Fighter finger-drumming composition and upbeat synth melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/marble-tea","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Snack That Smiles Back (feat. Raychel Jay)","url":"https://soundcloud.com/sssshawnnnn/snack-feat-raychel-jay","description":"Playful and bouncy pop single with singer Raychel Jay.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/snack-feat-raychel-jay","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HALO HALO (feat. Chevy)","url":"https://soundcloud.com/sssshawnnnn/halo-halo-feat-chevy","de
872scription":"Sweet ukulele and pop collaboration celebrating the Filipino dessert.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/halo-halo-feat-chevy","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"MANGO LOVE (feat. Satica)","url":"https://soundcloud.com/sssshawnnnn/mango-love-feat-satica","description":"Tropical electronic pop groove featuring Satica.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/mango-love-feat-satica","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"MEDICINE (feat. Tia Scola)","url":"https://soundcloud.com/sssshawnnnn/medicine-feat-tia-scola","description":"Catchy electronic RnB and pop hybrid with Tia Scola.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/medicine-feat-tia-scola","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Princess Peach","url":"https://soundcloud.com/sssshawnnnn/princess-peach-2","description":"Chiptune-infused Midi Fighter live mashup tribute.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/princess-peach-2","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"ANIMAL CROSSING","url":"https://soundcloud.com/sssshawnnnn/animal-crossing-1","description":"Cozy, wholesome Nintendo-inspired sample track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/animal-crossing-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"LEMONS (feat. Kennedi)","url":"https://soundcloud.com/sssshawnnnn/lemons-feat-kennedi","description":"Citrusy, infectious summer pop single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/lemons-feat-kennedi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"snowshoo":{"name":"Snowshoo","title":"Snowshoo","slug":"snowshoo","category":"Collections","type":"collection","is_collection":true,"creator":"snowshoo","label":null,"studio":null,"year":null,"rating":null,"description":"Lush future beats, warm synthesizer chords, and chill electronic grooves by snowshoo.","long_description_html":"","url":"https://soundcloud.com/snowshoo","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Beats","Chill","Electronic","SoundCloud"],"items":[{"title":"My Love","url":"https://soundcloud.com/snowshoo/my-love","description":"Warm, melodic future beats track with vocal chops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/snowshoo/my-love","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Touch","url":"https://soundcloud.com/snowshoo/touch","de
872scription":"Silky smooth synth progressions and relaxed groove.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/snowshoo/touch","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"supercar":{"name":"Supercar","title":"Supercar (ã¹ã¼ãã¼ã«ã¼)","slug":"supercar","category":"Collections","type":"collection","is_collection":true,"creator":"Supercar","label":null,"studio":null,"year":null,"rating":null,"description":"Iconic Japanese indie rock, shoegaze, and electronic dance rock quartet known for defining the 90s/00s Japanese alternative sound.","long_description_html":"","url":"https://soundcloud.com/supercarofficial","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Rock","Shoegaze","Indie Rock","Electronic Rock","SoundCloud"],"items":[{"title":"Rollin' Rollin'","url":"https://soundcloud.com/supercarofficial/rollin-rollin-1","description":"Hypnotic electronic shoegaze groove from their experimental era.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/rollin-rollin-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Last Scene","url":"https://soundcloud.com/supercarofficial/last-scene-1","description":"Melancholic alternative rock anthem with shimmering guitars.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/last-scene-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Soratobi (空é£ã¶)","url":"https://soundcloud.com/nicholasmuldoon/supercar-soratobi","description":"Classic guitar rock track full of youthful noise pop energy.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/nicholasmuldoon/supercar-soratobi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HELP","url":"https://soundcloud.com/supercarofficial/help","description":"Driving indie rock cut with fuzzy distortion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/help","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"RECREATION","url":"https://soundcloud.com/supercarofficial/recreation","description":"Upbeat blend of electronic drum programming and indie guitar riffs.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/recreation","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HARMONY","url":"https://soundcloud.com/supercarofficial/harmony","description":"Dreamy atmospheric rock cut showcasing their electronic evolution.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/harmony","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"team_reptile":{"name":"Team Reptile","title":"Team Reptile","slug":"team_reptile","category":"Collections","type":"collection","is_collection":true,"creator":"Team Reptile","label":null,"studio":"Team Reptile","year":null,"rating":null,"description":"High-energy fighting games and funk-infused soundtracks developed by indie studio Team Reptile.","long_description_html":"","url":"https://team-reptile.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Games","Cyberfunk","Breakbeat","Steam"],"items":[{"title":"Lethal League Blaze","url":"https://store.steampowered.com/app/553310/Lethal_League_Blaze/","description":"High-speed projectile fighting game with beat-matching mechanics.","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":"553310","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"steam-symbol.svg"},{"title":"Lethal League Blaze OST","url":"https://www.youtube.com/watch?v=GT_DW35F-vw&list=PL5ZYa6WKvySBCqnkvR7y3pLpS2LbnUNja","de
872scription":"Full Original Soundtrack for Lethal League Blaze featuring Hideki Naganuma, Frankkle, and more.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"GT_DW35F-vw","youtube_playlist_id":"PL5ZYa6WKvySBCqnkvR7y3pLpS2LbnUNja","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Bomb Rush Cyberfunk","url":"https://store.steampowered.com/app/1353230/Bomb_Rush_Cyberfunk/","description":"Cel-shaded graffiti action game inspired by Jet Set Radio.","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":"1353230","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"steam-symbol.svg"},{"title":"Bomb Rush Cyberfunk OST","url":"https://www.youtube.com/watch?v=5t4KSZw_ekA&list=PLD6ujQ0tHAv2qLS5FKH6B8MjtfEg1kwsn","description":"Full Original Soundtrack for Bomb Rush Cyberfunk.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"5t4KSZw_ekA","youtube_playlist_id":"PLD6ujQ0tHAv2qLS5FKH6B8MjtfEg1kwsn","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"teddyloid":{"name":"TeddyLoid","title":"TeddyLoid","slug":"teddyloid","category":"Collections","type":"collection","is_collection":true,"creator":"TeddyLoid","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese electronic music producer and DJ renowned for high-energy electro house, anime OSTs (Panty & Stocking, ME!ME!ME!), and bass music.","long_description_html":"","url":"https://www.teddyloid.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electro House","Anime OST","Bass Music","YouTube","SoundCloud"],"items":[{"title":"Angels and Demons","url":"https://www.youtube.com/watch?v=bBXDP2ZNq3Y","description":"Heavy electronic dance anthem with dark synth progression.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"bBXDP2ZNq3Y","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Fly Away (Fusq Remix)","url":"https://youtu.be/57I3maUeP3c","description":"Panty & Stocking battle track remixed with bright Future Bass synths by Fusq.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"57I3maUeP3c","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"tokyopill":{"name":"Tokyopill","title":"Tokyopill","slug":"tokyopill","category":"Collections","type":"collection","is_collection":true,"creator":"Tokyopill","label":null,"studio":null,"year":null,"rating":null,"description":"Breakcore, cyber-aesthetic drum and bass, and Serial Experiments Lain inspired electronic soundscapes by Tokyopill.","long_description_html":"","url":"https://soundcloud.com/tokyopill","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Drum & Bass","Cyberpunk","SoundCloud"],"items":[{"title":"Ethereal","url":"https://soundcloud.com/tokyopill/ethereal","description":"Atmospheric breakcore track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/ethereal","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lets all love lain","url":"https://soundcloud.com/tokyopill/e-x-t-e-n-d-e-d","description":"Extended ambient breakcore tribute.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/e-x-t-e-n-d-e-d","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Club Cyberia","url":"https://soundcloud.com/tokyopill/club-cyberia","description":"Cyberpunk rave beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/club-cyberia","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Virtual Tears","url":"https://soundcloud.com/tokyopill/virtual-tears","description":"Melanch
872olic synth breakcore track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/virtual-tears","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Cyber Psyche Green","url":"https://soundcloud.com/tokyopill/psyche","description":"Fast-paced breakbeat single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/psyche","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"S u r r e a l i t y 1","url":"https://soundcloud.com/tokyopill/s-u-r-r-e-a-l-i-t-y-1","description":"Surreal glitch beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/s-u-r-r-e-a-l-i-t-y-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Unlike Me Remix","url":"https://soundcloud.com/tokyopill/unlike-me-remix","description":"Hard-hitting breakcore remix.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/unlike-me-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyofruit","url":"https://soundcloud.com/tokyopill/tokyofruit","description":"Upbeat electronic breakbeat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/tokyofruit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"hotline_miami":{"name":"Hotline Miami 1 & 2","title":"Hotline Miami 1 & 2","slug":"hotline_miami","category":"Games","type":"standard","is_collection":false,"creator":"Dennaton Games","label":null,"studio":"Devolver Digital","year":"2012 / 2015","rating":"Overwhelmingly Positive","description":"High-octane neon-soaked top-down action games featuring brutal fast-paced combat, surreal storytelling, and legendary synthwave soundtracks.","long_description_html":"<p>Created by Jonatan Söderström and Dennis Wedin (Dennaton Games), Hotline Miami and Hotline Miami 2: Wrong Number are genre-defining top-down action games set in a surreal 1980s Miami. Demanding frame-perfect execution, lethal gunplay, and animal masks with unique abilities, the games are propelled by an iconic synthwave soundtrack featuring Jasper Byrne, Perturbator, M|O|O|N, Scattle, and Carpenter Brut.</p>\n","url":"https://store.steampowered.com/app/219150/Hotline_Miami/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"219150","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Top-Down Shooter","Synthwave","Brutal","Retro","Action"],"items":[]},"noita":{"name":"Noita","title":"Noita","slug":"noita","category":"Games","type":"standard","is_collection":false,"creator":"Nolla Games","label":null,"studio":"Nolla Games","year":"2020","rating":"Overwhelmingly Positive","description":"Magical action roguelite set in a world where every single pixel is physically simulatedâburn, melt, freeze, explosion, and wand crafting chaos.","long_description_html":"<p>Developed by Finnish studio Nolla Games (creators of Crayon Physics Deluxe, Swapper, and Baba Is You), Noita is a magical action roguelite set in a world where every single pixel is physically simulated. Players customize and craft infinite combinations of spell wands as they melt ice, ignite oil reserves, vaporize toxic sludge, and cause catastrophic chain reactions in procedural underground dungeons.</p>\n","url":"https://store.steampowered.com/app/881100/Noita/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"881100","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Pixel Physics","Roguelite","Wand Crafting","Simulation","Indie"],"items":[]}
872,"ultrakill":{"name":"ULTRAKILL","title":"ULTRAKILL","slug":"ultrakill","category":"Games","type":"standard","is_collection":false,"creator":"Arsi 'Hakita' Patala","label":null,"studio":"New Blood Interactive","year":"2020","rating":"Overwhelmingly Positive","description":"Fast-paced ultraviolent retro FPS combining classic arena shooters with stylish combo mechanics where MANKIND IS DEAD. BLOOD IS FUEL. HELL IS FULL.","long_description_html":"<p>ULTRAKILL is a high-speed ultraviolent retro FPS developed by Arsi 'Hakita' Patala and published by New Blood Interactive. Combining movement mechanics reminiscent of Quake, weapon switching tricks, projectile boosting, and Devil May Cry-style combo ranking systems, players control V1âa machine fueled by fresh bloodâas they plummet through the layers of Dante's Inferno.</p>\n","url":"https://store.steampowered.com/app/1229490/ULTRAKILL/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"1229490","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Fast-Paced FPS","Movement Shooter","Retro","Stylish","Action"],"items":[]},"moe_shop_owarini_tokyo_liveshow":{"name":"Moe Shop - Owarini Tokyo Liveshow","title":"Moe Shop - Owarini Tokyo Liveshow","slug":"moe_shop_owarini_tokyo_liveshow","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Moe Shop","label":"Future Society","studio":null,"year":"2017","rating":null,"description":"High-energy live DJ mixtape recorded at Owarini in Tokyo featuring signature French Touch beats and upbeat anime sample chops.","long_description_html":"","url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Live Set","Future Society","SoundCloud"],"items":[]},"moe_shop_waifu_material_mixtape":{"name":"Moe Shop - Waifu Material Mixtape","title":"Moe Shop - Waifu Material Mixtape","slug":"moe_shop_waifu_material_mixtape","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Moe Shop","label":"Future Society","studio":null,"year":"2016","rating":null,"description":"Landmark Future Funk, French Touch, and Nu-Disco mixtape by Moe Shop packed with nostalgic dance floor anthems.","long_description_html":"","url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Nu-Disco","Future Society","SoundCloud"],"items":[]},"night_tempo_nighty_tape":{"name":"Night Tempo - Nighty Tape","title":"Night Tempo - Nighty Tape","slug":"night_tempo_nighty_tape","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Night Tempo","label":"Neoncity Records","studio":null,"year":"2017","rating":null,"description":"Essential 80s City Pop flipped into upbeat Future Funk grooves and cassette tape beats by Night Tempo.","long_description_html":"","url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","bandcamp_album_id":"1324499771","bandcamp_track_id":null,"tags":["Future Funk","City Pop","Vaporwave","Neoncity Records","Bandcamp"],"items":[]},"scr_guest_neon_city_records":{"name":"SCR Guest - Neon City Records (April 10, 2018)","title":"SCR Guest: Neon City Records w/ Night Tempo, Daviouxx, Aritus, Desired (April 10, 2018)","slug":"scr_guest_neon_city_records","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Seoul Community Radio","label":"Neoncity Records","studio":null,"year":"2018","rating":null,"description":"Live Future Funk guest mix by Aritus and Daviouxx featuring Night Tempo and Desired from the Neoncity Records showcase at Seoul Community Radio.","long_description_html":"","url":"https://soundcloud.com/seoulcommunityradio/scr-guest-neon-city-records-w-night-tempo-daviouxx-aritus-desired-april-10-2018","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/seoulcommunityradio/scr-guest-neon-city-records-w-night-tempo-daviouxx-aritus-desired-april-10-2018","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","City Pop","Neoncity Records","Seoul Community Radio","SoundCloud"],"items":[]},"session_9":{"name":"Session 9","title":"Session 9","slug":"session_9","category":"Movies","type":"standard","is_collection":false,"creator":"Brad Anderson","label":null,"studio":null,"year":"2001","rating":"6.4/10 IMDb","description":"Psychological horror film set in the abandoned Danvers State Mental Hospital, where an asbestos cleanup crew slowly unravels under terrifying atmospheric dread.","long_description_html":"<p>Directed by Brad Anderson and starring Peter Mullan, David Caruso, and Josh Lucas, Session 9 is a masterclass in low-budget psych
872ological dread. Filmed on location at the real, abandoned Danvers State Hospital in Massachusetts, the film follows a desperate hazardous materials abatement crew as they discover nine audio tape sessions recording the treatment of a patient with multiple personality disorder.</p>\n","url":"https://www.imdb.com/title/tt0261983/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt0261983","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Horror","Psychological Thriller","Mystery","Cult Classic"],"items":[]},"smile_now_cry_later":{"name":"Smile Now Cry Later","title":"Smile Now Cry Later","slug":"smile_now_cry_later","category":"Movies","type":"standard","is_collection":false,"creator":"Spoken Reason","label":null,"studio":null,"year":"2011","rating":"Indie Feature","description":"Dramatic indie film exploring street life, mask of toughness, personal struggles, and raw emotional vulnerability.","long_description_html":"<p>Smile Now Cry Later captures the raw emotion and dualities of urban life. Taking its title from classic theater masks and tattoo art, the film explores how individuals present a brave smile to the world while dealing with quiet heartbreak, survival, and inner drama behind closed doors.</p>\n","url":"https://www.imdb.com/title/tt1380811/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt1380811","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Drama","Indie Film","Urban Life","Independent"],"items":[]},"arlo_parks_portra_400":{"name":"Arlo Parks - Portra 400","title":"Arlo Parks - Portra 400","slug":"arlo_parks_portra_400","category":"Music","type":"standard","is_collection":false,"creator":"Arlo Parks","label":null,"studio":null,"year":"2021","rating":null,"description":"Warm, nostalgic neo-soul and bedroom pop groove with lush jazz chords, analogue warmth, and poetic lyrics.","long_description_html":"","url":"https://www.youtube.com/watch?v=nAVqjnxg89w","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"nAVqjnxg89w","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Neo Soul","Indie Pop","Bedroom Pop","Arlo Parks","YouTube"],"items":[]},"blackballoons_final_fantasy":{"name":"black balloons - FINAL FANTASY","title":"black balloons - FINAL FANTASY","slug":"blackballoons_final_fantasy","category":"Music","type":"standard","is_collection":false,"creator":"black balloons","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric electronic beats and melancholic sample chops.","long_description_html":"","url":"https://soundcloud.com/blackballoonss/final-fantasy","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/blackballoonss/final-fantasy","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electronic","Lo-Fi","Sampled","SoundCloud"],"items":[]},"brain_rot":{"name":"Brain Rot","title":"Brain Rot","slug":"brain_rot","category":"Music","type":"standard","is_collection":false,"creator":"Tokyo Manaka feat. 1","label":null,"studio":null,"year":null,"rating":null,"description":"Fast-paced synth breakcore track on SoundCloud.","long_description_html":"","url":"https://soundcloud.com/boss-54604603/brain-rot-tokyo-manaka-feat-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/boss-54604603/brain-rot-tokyo-manaka-feat-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Electronic"],"items":[]},"creepynuts_losstime":{"name":"Creepy Nuts - Losstime","title":"Creepy Nuts - Losstime (ãã¹ã¿ã¤ã )","slug":"creepynuts_losstime","category":"Music","type":"standard","is_collection":false,"creator":"Creepy Nuts (R-Shitei & DJ Matsunaga)","label":null,"studio":null,"year":"2022","rating":null,"description":"Introspective Japanese hi
872p-hop cut featuring world champion turntable scratching by DJ Matsunaga and lyrical flow by R-Shitei (Call of the Night insert song).","long_description_html":"","url":"https://soundcloud.com/creepynuts/losstime","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/creepynuts/losstime","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Hip-Hop","Call of the Night","Turntablism","SoundCloud"],"items":[]},"dj_kuroneko_around_u":{"name":"Around U","title":"Around U","slug":"dj_kuroneko_around_u","category":"Music","type":"standard","is_collection":false,"creator":"DJ kuroneko","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric jungle / drum and bass track.","long_description_html":"","url":"https://soundcloud.com/dissolve4/around-u-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/dissolve4/around-u-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Jungle","Drum & Bass"],"items":[]},"ev_exi_you_cant_run":{"name":"ev.exi - You Can't Run (ft. Lavera)","title":"ev.exi - You Can't Run (ft. Lavera)","slug":"ev_exi_you_cant_run","category":"Music","type":"standard","is_collection":false,"creator":"ev.exi","label":null,"studio":null,"year":null,"rating":null,"description":"Funky French House and Future Funk track packed with heavy slapping bass and soulful vocals.","long_description_html":"","url":"https://soundcloud.com/ev-exi/you-cant-run","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ev-exi/you-cant-run","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French House","Nu-Disco","SoundCloud"],"items":[]},"fusq_yeah":{"name":"fusq - Yeah!","title":"fusq - Yeah!","slug":"fusq_yeah","category":"Music","type":"standard","is_collection":false,"creator":"fusq","label":null,"studio":null,"year":null,"rating":null,"description":"Hyper-bouncy future bass and chiptune electro dance track with playful vocal samples.","long_description_html":"","url":"https://soundcloud.com/fusq/yeah","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/fusq/yeah","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Bass","Chiptune","Electro","SoundCloud"],"items":[]},"gorillaz_humility":{"name":"Gorillaz - Humility","title":"Gorillaz - Humility (feat. George Benson)","slug":"gorillaz_humility","category":"Music","type":"standard","is_collection":false,"creator":"Gorillaz","label":null,"studio":null,"year":"2018","rating":null,"description":"Sun-drenched funk-pop single featuring jazz guitar virtuoso George Benson from The Now Now.","long_description_html":"","url":"https://www.youtube.com/watch?v=E5yFcdPAGv0","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"E5yFcdPAGv0","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Pop","Funk","Gorillaz","Music Video"],"items":[]},"hideki_naganuma_aint_nothin_like_a_funky_beat":{"name":"Hideki Naganuma - AINT NOTHIN LIKE A FUNKY BEAT","title":"Hideki Naganuma - AINT NOTHIN LIKE A FUNKY BEAT","slug":"hideki_naganuma_aint_nothin_like_a_funky_beat","category":"Music","type":"standard","is_collection":false,"creator":"Hideki Naganuma","label":null,"studio":"Team Reptile","year":null,"rating":null,"description":"Wild breakbeat cyberfunk anthem composed by Hideki Naganuma for Lethal League Blaze.","long_description_html":"","url":"https://soundcloud.com/immajustuploadthisokay/hideki-naganuma-aint-nothin-like-a-funky-beat","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/immajustuploadthisokay/hideki-naganuma-aint-nothin-like-a-funky-beat","y
872outube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakbeat","Cyberfunk","Hideki Naganuma","Lethal League Blaze"],"items":[]},"hkmori_lost":{"name":"Lost","title":"Lost","slug":"hkmori_lost","category":"Music","type":"standard","is_collection":false,"creator":"hkmori","label":null,"studio":null,"year":null,"rating":null,"description":"Melancholic atmospheric electronic breakcore track by hkmori.","long_description_html":"","url":"https://soundcloud.com/hkmori/lost","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/hkmori/lost","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Electronic"],"items":[]},"joey_valence_and_brae_punk_tactics":{"name":"PUNK TACTICS","title":"PUNK TACTICS","slug":"joey_valence_and_brae_punk_tactics","category":"Music","type":"standard","is_collection":false,"creator":"Joey Valence & Brae","label":null,"studio":null,"year":"2022","rating":null,"description":"Explosive 90s Beastie Boys-inspired boom bap and hip-hop punk anthem.","long_description_html":"","url":"https://soundcloud.com/joeyvalenceandbrae/punk-tactics","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/joeyvalenceandbrae/punk-tactics","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hip-Hop","Punk Rap","Boom Bap","90s Revival"],"items":[]},"kero_kero_bonito_flyway":{"name":"Kero Kero Bonito - Flyway","title":"Kero Kero Bonito - Flyway","slug":"kero_kero_bonito_flyway","category":"Music","type":"standard","is_collection":false,"creator":"Kero Kero Bonito","label":null,"studio":null,"year":"2018","rating":null,"description":"Dynamic indie rock and dream-pop single from Time 'n' Place with soaring distorted guitars and introspective bilingual vocals.","long_description_html":"","url":"https://www.youtube.com/watch?v=dSuINZdJBk8","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"dSuINZdJBk8","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Rock","Dream Pop","Kero Kero Bonito","J-Rock","YouTube"],"items":[]},"keygen_church_la_chiave_del_mio_amor":{"name":"Keygen Church - La Chiave Del Mio Amor","title":"Keygen Church - La Chiave Del Mio Amor","slug":"keygen_church_la_chiave_del_mio_amor","category":"Music","type":"standard","is_collection":false,"creator":"Keygen Church (Master Boot Record)","label":"Metal Blade Records","studio":null,"year":"2024","rating":null,"description":"Majestic pipe organ baroque counterpoint fused with heavy 8-string synth metal and chiptune arpeggios.","long_description_html":"","url":"https://soundcloud.com/metalbladerecords/keygen-church-la-chiave-del-mio-amor","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/metalbladerecords/keygen-church-la-chiave-del-mio-amor","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Baroque Metal","Pipe Organ","Chiptune","Synth Metal"],"items":[]},"kiss_me_nerdy_girl_lost_summer_2020":{"name":"kissmenerdygirl - Lost Summer 2020","title":"kissmenerdygirl - Lost Summer 2020","slug":"kiss_me_nerdy_girl_lost_summer_2020","category":"Music","type":"standard","is_collection":false,"creator":"kissmenerdygirl","label":null,"studio":null,"year":"2020","rating":null,"description":"Nostalgic lo-fi future funk and summer chillwave beat tape cut.","long_description_html":"","url":"https://soundcloud.com/kissmenerdygirl/lost-summer-2020","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kissmenerdygirl/lost-summer-2020","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Chillwave","Lo-Fi","SoundCloud"],"items":[]},"kiyosumi_whenever":{"name":"kiyosumi - whenever","title":"kiyosumi - whenever","slug":"kiyosumi_whenever","category":"Music","type":"standard","is_collection":false,"creator":"kiyosumi","label":null,"studio":null,"year":null,"rating":null,"description":"Melodic chillwave and emotive electronic beat with lush chords.","long_description_html":"","url":"https://soundcloud.com/kiyosumi76/whenever","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kiyosumi76/whenever","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chillwave","Electronic","Beats","SoundCloud"],"items":[]},"lomaji_rr":{"name":"LOMAJI - RR","title":"LOMAJI - RR","slug":"lomaji_rr","category":"Music","type":"standard","is_collection":false,"creator":"LOMAJI","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric ambient electronic breakbeat and ethereal synth textures.","long_description_html":"","url":"https://soundcloud.com/vaguefi/rr-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vaguefi/rr-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Ambient","Breakbeat","Electronic","SoundCloud"],"items":[]},"magic_sword_legend_of_the_keeper":{"name":"Magic Sword - Legend Of The Keeper","title":"Magic Sword - Legend Of The Keeper","slug":"magic_sword_legend_of_the_keeper","category":"Music","type":"standard","is_collection":false,"creator":"Magic Sword","label":null,"studio":null,"year":"2015","rating":null,"description":"Epic synthwave and retro electro rock with roaring lead guitars (featured in Hotline Miami 2).","long_description_html":"","url":"https://soundcloud.com/magic-sword/legend-of-the-keeper","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/magic-sword/legend-of-the-keeper","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Synthwave","Darksynth","Electronic Rock","SoundCloud"],"items":[]},"mikazuki_bigwave_stardust_disco":{"name":"Mikazuki BIGWAVE - Stardust Disco","title":"Mikazuki BIGWAVE - Stardust Disco (æå±ãã£ã¹ã³)","slug":"mikazuki_bigwave_stardust_disco","category":"Music","type":"standard","is_collection":false,"creator":"Mikazuki BIGWAVE","label":"Sleepless Tapes","studio":null,"year":null,"rating":null,"description":"Sparkling Kawaii Future Funk and French House dance floor burner.","long_description_html":"","url":"https://soundcloud.com/sleeplesstapes/stardust-disco","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sleeplesstapes/stardust-disco","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Kawaii Bass","French House","SoundCloud"],"items":[]},"ninajirachi_wannacry":{"name":"WannaCry","title":"WannaCry","slug":"ninajirachi_wannacry","category":"Music","type":"standard","is_collection":false,"creator":"Ninajirachi","label":null,"studio":null,"year":null,"rating":null,"description":"Forward-thinking hyperpop and intricate club sound design by Australian electronic producer Ninajirachi.","long_description_html":"","url":"https://soundcloud.com/ninajirachi/wannacry","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ninajirachi/wannacry","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hyperpop","Club","
872Electronic","SoundCloud"],"items":[]},"number_girl_teppuu_surudoku_natte":{"name":"Number Girl - Teppuu Surudoku Natte","title":"Number Girl - Teppuu Surudoku Natte (é風 éããªã£ã¦)","slug":"number_girl_teppuu_surudoku_natte","category":"Music","type":"standard","is_collection":false,"creator":"Number Girl","label":null,"studio":null,"year":"2000","rating":null,"description":"Legendary Japanese noise rock and math punk anthem featuring ferocious angular guitar riffs and frantic vocals by Shutoku Mukai.","long_description_html":"","url":"https://soundcloud.com/numbergirl-music/teppuu-surudoku-natte","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/numbergirl-music/teppuu-surudoku-natte","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Noise Rock","Math Rock","Post-Hardcore","Alternative"],"items":[]},"otsukare_summer":{"name":"Otsukare Summer","title":"Otsukare Summer","slug":"otsukare_summer","category":"Music","type":"standard","is_collection":false,"creator":"HALCALI","label":null,"studio":null,"year":null,"rating":null,"description":"Catchy Japanese hip-hop/pop summer track by duo HALCALI.","long_description_html":"","url":"https://soundcloud.com/damian2811/halcali-otsukare-summer","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/damian2811/halcali-otsukare-summer","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["J-Pop","Hip-Hop","Summer"],"items":[]},"rose_after_hours":{"name":"rose - after hours (w/ hentai dude)","title":"rose - after hours (w/ hentai dude)","slug":"rose_after_hours","category":"Music","type":"standard","is_collection":false,"creator":"rose & hentai dude","label":null,"studio":null,"year":null,"rating":null,"description":"Late night chillwave and electronic RnB collaboration.","long_description_html":"","url":"https://soundcloud.com/unerose/after-hours","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/unerose/after-hours","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chillwave","Electronic","Future Beats","SoundCloud"],"items":[]},"so87_ride":{"name":"SO87 - Ride (w/ Jamie Paige)","title":"SO87 - Ride (w/ Jamie Paige)","slug":"so87_ride","category":"Music","type":"standard","is_collection":false,"creator":"SO87 & Jamie Paige","label":null,"studio":null,"year":null,"rating":null,"description":"Glitchy electronic vocal track with dynamic future garage beats.","long_description_html":"","url":"https://soundcloud.com/so87/ride-w-jamie-paige","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/so87/ride-w-jamie-paige","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Garage","Electronic","Glitch","SoundCloud"],"items":[]},"syojo_satori_chain_of_love":{"name":"Syojo Satori - Chain of Love","title":"Syojo Satori - Chain of Love (æã®é)","slug":"syojo_satori_chain_of_love","category":"Music","type":"standard","is_collection":false,"creator":"Syojo Satori","label":null,"studio":null,"year":null,"rating":null,"description":"Catchy Future Funk and retro anime disco groove.","long_description_html":"","url":"https://soundcloud.com/syojosatori/chain-of-love","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/syojosatori/chain-of-love","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Nu-Disco","Anime Groove","SoundCloud"],"items":[]},"takako_mamiya_love_trip":{"name":"Takako Mamiya - Love Trip","title":"Takako Mamiya - Love Trip (é宮貴å - LOVE TRIP)","slug":"takako_mamiya_love_trip","category":"Music","type":"standard","is_collection":false,"creator":"Takako Mamiya","label":null,"studio":null,"year":"1982","rating":null,"description":"Seminal Japanese City Pop masterpiece with flawless jazz-fusion arrangements, silky basslines, and brass sections.","long_description_html":"","url":"https://www.youtube.com/watch?v=M0HmUICJRZc","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"M0HmUICJRZc","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Jazz Funk","80s J-Pop","Takako Mamiya","YouTube"],"items":[]},"tokimeki_records_orange_sea":{"name":"Orange Sea","title":"Orange Sea (prod. Tokimeki Records)","slug":"tokimeki_records_orange_sea","category":"Music","type":"standard","is_collection":false,"creator":"Tokimeki Records","label":null,"studio":null,"year":null,"rating":null,"description":"Modern Japanese city pop groove featuring retro synthesizers, silky brass, and nostalgic melodies.","long_description_html":"","url":"https://soundcloud.com/user-769779415/5b71e105-f58b-4c68-a7ae-1a9316b84658","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-769779415/5b71e105-f58b-4c68-a7ae-1a9316b84658","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Neo City Pop","Japanese Groove","SoundCloud"],"items":[]},"vylet_pony_ni4ni":{"name":"NI4NI","title":"NI4NI","slug":"vylet_pony_ni4ni","category":"Music","type":"standard","is_collection":false,"creator":"Vylet Pony","label":null,"studio":null,"year":null,"rating":null,"description":"Expansive electronic art pop and emotional hyperpop journey by producer and vocalist Vylet Pony.","long_description_html":"","url":"https://soundcloud.com/vyletpony/ni4ni-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vyletpony/ni4ni-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Art Pop","Hyperpop","Electronic","SoundCloud"],"items":[]},"air_gear_ost":{"name":"Air Gear OST","title":"Air Gear OST","slug":"air_gear_ost","category":"OST","type":"standard","is_collection":false,"creator":"Hideki Naganuma","label":null,"studio":null,"year":null,"rating":null,"description":"High-octane funk and breakbeat anime original soundtrack composed by Hideki Naganuma.","long_description_html":"","url":"https://www.youtube.com/watch?v=D1qAA9BjMjc","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"D1qAA9BjMjc","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Breakbeat","Funk"],"items":[]},"aivi_surasshu_ost":{"name":"aivi & surasshu","title":"aivi & surasshu","slug":"aivi_surasshu_ost","category":"OST","type":"collection","is_collection":true,"creator":"aivi & surasshu","label":null,"studio":null,"year":null,"rating":null,"description":"Charming piano and chiptune duo famous for the Steven Universe score, FEZ arrangements, and original electronic compositions.","long_description_html":"","url":"https://aivisura.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chiptune","Piano","Steven Universe","FEZ","Bandcamp"],"items":[{"title":"The Black Box","url":"https://aivisura.bandcamp.com/album/the-black-box","de
872scription":"Full landmark album combining expressive jazz piano and Game Boy sound hardware.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://aivisura.bandcamp.com/album/the-black-box","bandcamp_album_id":"1996609636","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Come Back (FEZ Remix)","url":"https://soundcloud.com/aiviwave/aivi-surasshu-come-back","description":"Joyful and intricate remix of Disasterpeace's FEZ soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/aiviwave/aivi-surasshu-come-back","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"c418_minecraft_ost":{"name":"Minecraft - Volume Alpha","title":"Minecraft - Volume Alpha","slug":"c418_minecraft_ost","category":"OST","type":"standard","is_collection":false,"creator":"C418 (Daniel Rosenfeld)","label":null,"studio":null,"year":"2011","rating":null,"description":"Iconic, minimalist ambient and piano soundtrack composed by C418 for Minecraft, universally celebrated as a masterpiece of video game music.","long_description_html":"<p>Minecraft - Volume Alpha is Daniel Rosenfeld's timeless ambient masterpiece. Featuring delicate acoustic piano melodies, warm analogue synth pads, and subtle environmental sounds, it defined the identity and emotional depth of Minecraft for millions of players around the world.</p>\n","url":"https://c418.bandcamp.com/album/minecraft-volume-alpha","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":"https://c418.bandcamp.com/album/minecraft-volume-alpha","bandcamp_album_id":"1349219244","bandcamp_track_id":null,"tags":["Minecraft","Ambient","Piano","Video Game OST","Bandcamp"],"items":[]},"goblin_slayer_ost":{"name":"Goblin Slayer OST","title":"Goblin Slayer Original Soundtrack","slug":"goblin_slayer_ost","category":"OST","type":"collection","is_collection":true,"creator":"Kenichiro Suehiro & Mili","label":null,"studio":null,"year":null,"rating":null,"description":"Dark fantasy orchestral compositions by Kenichiro Suehiro along with iconic anime openings by classical-electronic band Mili.","long_description_html":"","url":"https://soundcloud.com/search?q=goblin%20slayer%20ost","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Dark Fantasy","Orchestral","Mili","SoundCloud"],"items":[{"title":"Rightfully (Opening Full by Mili)","url":"https://soundcloud.com/admiral_goblinslayer/goblin-slayer-op-opening-full-rightfully-mili","description":"Acclaimed baroque-pop opening theme performed by Mili.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/admiral_goblinslayer/goblin-slayer-op-opening-full-rightfully-mili","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Main Theme","url":"https://soundcloud.com/guild_girl/1-maintheme-goblin-slayer","description":"Grim, driving orchestral battle motif composed by Kenichiro Suehiro.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/1-maintheme-goblin-slayer","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Battle Theme (15)","url":"https://soundcloud.com/guild_girl/15-goblin-slayer-original","description":"Tense strings and heavy drums depicting brutal close-quarters combat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/15-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Cave Theme (16)","url":"https://soundcloud.com/guild_girl/16-goblin-slayer-original","description":"Eerie dungeon crawler ambiance.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/16-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Climax Theme (19)","url":"https://soundcloud.com/guild_girl/19-goblin-slayer-original","description":"Epic heroic orchestral climax.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/19-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"hades_ost":{"name":"Hades OST","title":"Hades OST","slug":"hades_ost","category":"OST","type":"standard","is_collection":false,"creator":"Darren Korb","label":null,"studio":"Supergiant Games","year":"2020","rating":null,"description":"Electrifying Mediterranean-infused acoustic and progressive metal soundtrack composed by Darren Korb for Supergiant Games' rogue-like masterpiece Hades.","long_description_html":"<p>Composed, produced, and performed by Darren Korb (with vocals by Ashley Barrett), the Hades Original Soundtrack blends Mediterranean folk instruments like bouzouki and Turkish baglama with heavy electric guitars, progressive drums, and haunting vocal harmonie
872s to match the relentless action of the Underworld.</p>\n","url":"https://www.youtube.com/watch?v=3GRKJ87S5cI","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"3GRKJ87S5cI","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Game Soundtrack","Progressive Metal","Acoustic Folk","Supergiant Games"],"items":[]},"hotline_miami_bloodline":{"name":"Scattle - Bloodline","title":"Scattle - Bloodline","slug":"hotline_miami_bloodline","category":"OST","type":"standard","is_collection":false,"creator":"Scattle","label":null,"studio":"Dennaton Games","year":"2015","rating":null,"description":"Dark, pulsing synthwave and electro combat track from Hotline Miami 2: Wrong Number OST by Scattle.","long_description_html":"","url":"https://soundcloud.com/user-326777983/scattle-bloodline","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-326777983/scattle-bloodline","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hotline Miami","Synthwave","Dark Electro","OST"],"items":[]},"hotline_miami_heist":{"name":"EL TIGR3 - Heist","title":"EL TIGR3 - Heist","slug":"hotline_miami_heist","category":"OST","type":"standard","is_collection":false,"creator":"EL TIGR3","label":null,"studio":"Dennaton Games","year":"2015","rating":null,"description":"Relentless cyberpunk electro house track from Hotline Miami 2: Wrong Number OST.","long_description_html":"","url":"https://soundcloud.com/el-tigr3/heist","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/el-tigr3/heist","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hotline Miami","Electro House","Cyberpunk","OST"],"items":[]},"lethal_league_snibbit":{"name":"Klaus Veen - Snibbit","title":"Klaus Veen - Snibbit","slug":"lethal_league_snibbit","category":"OST","type":"standard","is_collection":false,"creator":"Klaus Veen","label":null,"studio":"Team Reptile","year":"2018","rating":null,"description":"Infectious 90s speed garage and funky breakbeat battle track composed for Lethal League Blaze.","long_description_html":"","url":"https://soundcloud.com/klausveen/klaus-veen-snibbit","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/klausveen/klaus-veen-snibbit","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lethal League Blaze","Speed Garage","Breakbeat","OST"],"items":[]},"lifeformed_ost":{"name":"Lifeformed OST Discography","title":"Lifeformed OST Discography","slug":"lifeformed_ost","category":"OST","type":"collection","is_collection":true,"creator":"Lifeformed (Terence Lee)","label":null,"studio":"Hitbox Team","year":null,"rating":null,"description":"Acoustic chiptune, ambient electronic, and platformer original soundtracks by Lifeformed including Dustforce (Fastfall), Immerse, and Umbra.","long_description_html":"","url":"https://lifeformed.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Dustforce","Chiptune","Indie Game OST","Ambient","Bandcamp"],"items":[{"title":"Fastfall (Dustforce OST Full Album)","url":"https://lifeformed.bandcamp.com/album/fastfall","description":"Award-winning soundtrack for sweeping acrobatic platformer Dustforce.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/fastfall","bandcamp_album_id":"2118918607","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Immerse","url":"https://lifeformed.bandcamp.com/album/immerse","description":"Melodic electronic album exploring lush synth atmospheres.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/immerse","bandcamp_album_id":"1653268435","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Umbra (Lifeformed à Janice Kwan)","url":"https://lifeformed.bandcamp.com/album/umbra","description":"Original soundtrack for indie adventure Tunic.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/umbra","bandcamp_album_id":"568006953","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Fastfall - \"Dream\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-dream","description":"Gentle acoustic guitar and soft 8-bit synth arpeggios.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-dream","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"Your Favorite Color\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-your","description":"Warm, rhythmic piano and electronic percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-your","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"A Safe Place To Sleep\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-a-safe","description":"Serene and comforting hub level theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-a-safe","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}
872,{"title":"Fastfall - \"9-bit Expedition\"","url":"https://soundcloud.com/lifeformed/dustforce-9-bit-expedition","description":"Energetic chiptune melody and driving beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/dustforce-9-bit-expedition","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"Cider Time\"","url":"https://soundcloud.com/lifeformed/dustforce-cider-time","description":"Playful syncopated acoustic chiptune melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/dustforce-cider-time","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"marzuku_ost":{"name":"Marzuku - Fraudulence & ULTRAViolence OST","title":"Marzuku - Fraudulence & ULTRAViolence OST","slug":"marzuku_ost","category":"OST","type":"collection","is_collection":true,"creator":"Marzuku","label":null,"studio":null,"year":null,"rating":null,"description":"Dark industrial metal, cybernetic breakcore, and jazz-fusion boss battle soundtracks composed by Marzuku for ULTRAKILL fan projects and ULTRAViolence.","long_description_html":"","url":"https://marzuku.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal","Breakcore","Bandcamp"],"items":[{"title":"Agony & Imminence","url":"https://marzuku.bandcamp.com/album/agony-imminence","description":"Full release featuring high-intensity industrial
872combat tracks.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/agony-imminence","bandcamp_album_id":"110939586","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"ULTRAViolence (Original Soundtrack)","url":"https://marzuku.bandcamp.com/album/ultraviolence-original-soundtrack","description":"Complete industrial metal and breakcore soundtrack album.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/ultraviolence-original-soundtrack","bandcamp_album_id":"691865275","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Industrial Hell","url":"https://marzuku.bandcamp.com/album/industrial-hell","description":"Heavy distorted electronic metal assault.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/industrial-hell","bandcamp_album_id":"607746923","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Colliding Stars","url":"https://marzuku.bandcamp.com/album/colliding-stars","description":"Epic synth-metal and melodic breakcore release.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/colliding-stars","bandcamp_album_id":"2704067357","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Caelum","url":"https://marzuku.bandcamp.com/album/caelum","description":"Heavenly choral progressions over punishing drum patterns.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/caelum","bandcamp_album_id":"2955753723","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Harmony","url":"https://marzuku.bandcamp.com/track/harmony","description":"Complex melodic industrial
872composition.","link_type":"bandcamp","embed_type":"track","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/track/harmony","bandcamp_album_id":null,"bandcamp_track_id":"3366003343","icon_filename":"bandcamp.svg"},{"title":"Cross Turned Dagger","url":"https://marzuku.bandcamp.com/track/cross-turned-dagger","description":"Ferocious collab track with Duv.","link_type":"bandcamp","embed_type":"track","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/track/cross-turned-dagger","bandcamp_album_id":null,"bandcamp_track_id":"3673573405","icon_filename":"bandcamp.svg"},{"title":"Turning Point (From \"Fraudulence Vol. 1\")","url":"https://soundcloud.com/marzuku-music/turning-point-from-fraudulence","description":"Climactic battle sequence theme from the Fraudulence soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-music/turning-point-from-fraudulence","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Valley of Fools","url":"https://soundcloud.com/marzuku-871072200/valley-of-fools","description":"Sinister electronic atmosphere and relentless percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/valley-of-fools","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Profaned Community (w/ YEM ft. Perrell)","url":"https://soundcloud.com/marzuku-871072200/profaned-community-w-yem-ft-saxophonist-perrell-fraudulence-soundtrack","description":"Industrial jazz fusion featuring live saxophone solos by Perrell.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/profaned-community-w-yem-ft-saxophonist-perrell-fraudulence-soundtrack","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Imminence","url":"https://soundcloud.com/marzuku-871072200/imminence","description":"Driving combat cut building tense speed and aggression.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/imminence","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"panty_and_stocking_theme":{"name":"Theme for Scanty & Knee Socks","title":"Theme for Scanty & Knee Socks","slug":"panty_and_stocking_theme","category":"OST","type":"standard","is_collection":false,"creator":"TeddyLoid & TCY FORCE","label":null,"studio":"Gainax","year":"2010","rating":null,"description":"Cult classic high-energy French electro house battle theme from the Panty & Stocking with Garterbelt Original Soundtrack.","long_description_html":"","url":"https://soundcloud.com/panty-and-stocking/14-theme-for-scanty-knee-socks","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/panty-and-stocking/14-theme-for-scanty-knee-socks","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Electro House","Panty & Stocking","TeddyLoid"],"items":[]},"risk_of_rain_2_ost":{"name":"The Rain Formerly Known as Purple","title":"The Rain Formerly Known as Purple","slug":"risk_of_rain_2_ost","category":"OST","type":"standard","is_collection":false,"creator":"Chris Christodoulou","label":null,"studio":"Hopoo Games","year":"2020","rating":null,"description":"Monumental 7-minute progressive rock and synth masterpiece composed by Chris Christodoulou for Risk of Rain 2's Sky Meadow stage.","long_description_html":"<p>Composed by Greek multi-instrumentalist Chris Christodoulou, 'The Rain Formerly Known as Purple' serves as the musical centerpiece of Risk of Rain 2. Transitioning from contemplative guitar arpeggios to a soaring guitar solo over vintage synthesizers and aggressive drum grooves, it is
872widely considered one of the greatest tracks in modern gaming.</p>\n","url":"https://soundcloud.com/chrischristodouloumusic/the-rain-formerly-known-as","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/chrischristodouloumusic/the-rain-formerly-known-as","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Risk of Rain 2","Progressive Rock","Synthwave","Video Game OST"],"items":[]},"shatter_ost":{"name":"Shatter OST","title":"Shatter OST","slug":"shatter_ost","category":"OST","type":"standard","is_collection":false,"creator":"Module","label":null,"studio":"Sidhe","year":"2009","rating":null,"description":"Award-winning synthwave, electro-rock, and retro video game soundtrack composed by Module for the brick-breaking arcade game Shatter.","long_description_html":"<p>Composed by New Zealand musician Module (Jeramiah Ross), the Shatter Original Soundtrack is widely regarded as one of the greatest video game electronic soundtracks. Featuring driving synthlines, vocoder vocals, upbeat guitar riffs, and soaring melodies across 14 tracks, it received numerous awards and defined modern arcade music.</p>\n","url":"https://www.youtube.com/watch?v=k76eJ2_ilis&list=OLAK5uy_muAw6jWyN3GgtQNWhZddJ8W40aPiglhGo","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"k76eJ2_ilis","youtube_playlist_id":"OLAK5uy_muAw6jWyN3GgtQNWhZddJ8W40aPiglhGo","imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Game Soundtrack","Synthwave","Electro Rock","Chiptune"],"items":[]},"ultrakill_fan_ost":{"name":"ULTRAKILL Fan Soundtracks","title":"ULTRAKILL Fan Soundtracks","slug":"ultrakill_fan_ost","category":"OST","type":"collection","is_collection":true,"creator":"Various Community Composers","label":null,"studio":null,"year":null,"rating":null,"description":"Community-composed original soundtrack tributes and unofficial level themes for ULTRAKILL.","long_description_html":"","url":"https://soundcloud.com/search?q=ultrakill%20fan%20ost","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal","Breakcore","SoundCloud"],"items":[{"title":"Blood-Red Sakura (ULTRAKILL 7-3 UST)","url":"https://soundcloud.com/agnab-lol/blood-red-sakura-ultrakill-7-3-ust","description":"Unofficial soundtrack arrangement by AGNAB for Violence layer (7-3).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/agnab-lol/blood-red-sakura-ultrakill-7-3-ust","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Stolen Heaven","url":"https://soundcloud.com/triagegremlin/ultrakill-fan-ost-stolen-heaven","description":"Frantic breakcore and guitar track composed by Triage Gremlin.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/triagegremlin/ultrakill-fan-ost-stolen-heaven","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Reverse Lunar Evisceration","url":"https://soundcloud.com/triagegremlin/ultrakill-album-collab-reverse-lunar-evisceration","description":"High-speed industrial metal collaboration for ULTRAKILL community album.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/triagegremlin/ultrakill-album-collab-reverse-lunar-evisceration","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Primordial Hunger","url":"https://soundcloud.com/requiemine/primordial-hunger","description":"Dark, oppressive industrial battle theme by Requiemine.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/requiemine/primordial-hunger","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"ultrakill_fan_ost_corporate_martyrs":{"name":"ULTRAKILL Fan OST - Corporate Martyrs (Fraud Climax)","title":"ULTRAKILL Fan OST - Corporate Martyrs (Fraud Climax)","slug":"ultrakill_fan_ost_corporate_martyrs","category":"OST","type":"standard","is_collection":false,"creator":"Rey Hunter","label":null,"studio":null,"year":null,"rating":null,"description":"High-intensity fan-composed climax theme for ULTRAKILL Fraud layer.","long_description_html":"","url":"https://soundcloud.com/rey-hunter-169341173/ultrakill-fan-ost-corporate-martyrs-fraud-climax","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/rey-hunter-169341173/ultrakill-fan-ost-corporate-martyrs-fraud-climax","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal"],"items":[]},"burn_notice":{"name":"Burn Notice","title":"Burn Notice","slug":"burn_notice","category":"TV","type":"standard","is_collection":false,"creator":"Matt Nix","label":null,"studio":"USA Network","year":"2007-2013","rating":"8.0/10 IMDb","description":"Slick spy drama following blacklisted CIA operative Michael Westen as he relies on tradecraft, voiceovers, and improvised gadgets in Miami while trying to figure out who burned him.","long_description_html":"<p>Created by Matt Nix and starring Jeffrey Donovan as Michael Westen, Gabrielle Anwar as Fiona Glenanne, and Bruce Campbell as Sam Axe. When CIA operative Michael Westen is issued a burn notice mid-operation, he finds himself stranded in Miami with no money or records. Taking on freelance PI jobs for ordinary people using DIY espionage tactics, homemade explosives, and undercover personas, he methodically hunts down the shadowy organization that betrayed him.</p>\n","url":"https://www.imdb.com/title/tt0810788/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt0810788","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Action","Espionage","Drama","Comedy","Tradecraft"],"items":[]},"collatz_multiverse":{"name":"Collatz Multiverse","title":"The Simplest Math Problem No One Can Solve","slug":"collatz_multiverse","category":"Videos","type":"standard","is_collection":false,"creator":"Veritasium","label":null,"studio":null,"year":"2021","rating":null,"description":"Deep dive into the famous unproven Collatz Conjecture (3n+1) in mathematics and its chaotic branching tree structures.","long_description_html":"<p>An extraordinary science documentary video by Derek Muller on the Veritasium channel exploring the Collatz Conjecture (also known as the 3n + 1 problem). The video breaks down the deceptively simple rules, mathematical visualizations, infinite loops, p-adic numbers, and why Paul ErdÅs famously remarked that mathematics is not yet ready for such problems.</p>\n","url":"https://www.youtube.com/watch?v=n63FBYqj98E","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"n63FBYqj98E","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Mathematics","Science","Veritasium","Collatz Conjecture"],"items":[]},"dirt_man":{"name":"Dirt Man","title":"Dirt Man","slug":"dirt_man","category":"Videos","type":"standard","is_collection":false,"creator":"Carter Vail","label":null,"studio":null,"year":"2024","rating":null,"description":"Viral indie-pop comedy track by Carter Vail about keeping a piece of dirt under your pillow for the Dirt Man.","long_description_html":"<p>A hilarious and ridiculously catchy viral song created by musician Carter Vail. Featuring smooth 70s soft-rock harmonie
872s and funky electric guitar, the song warns listeners to keep a little dirt under their pillow so the Dirt Man won't take them down to his lair under the mountain.</p>\n","url":"https://www.youtube.com/watch?v=XEgvqHdWybo","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"XEgvqHdWybo","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Pop","Comedy","Viral Video","Music Video"],"items":[]}} 873 </script>
873 874 875 <svg id="duotone-svg-container" aria-hidden="true"> 876 <filter id="palette-duotone-filter" color-interpolation-filters="sRGB"> 877 <feColorMatrix id="palette-duotone-matrix" type="matrix" values="0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0.2126 0.7152 0.0722 0 0 0 0 0 1 0"/> 878 </filter> 879 </svg> 880 881 882
882<script src="../js/chart.min.js"></script>
882 883
883<script src="../js/highlight.min.js"></script>
883 884
884<script src="../js/hold_click.js"></script>
884 885
885<script src="../js/image_viewer.js"></script>
885 886
886<script src="../js/window_drag.js"></script>
886 887 888
888<script> 889 try { 890 if (typeof hljs !== 'undefined' && hljs.highlightAll) { 891 hljs.highlightAll(); 892 } 893 } catch(e) { 894 console.warn('Highlight.js skipped:', e); 895 } 896 897 function initLayout() { 898 // Hamburger Menu Toggle Logic 899 const hamburgerBtn = document.getElementById('hamburger-btn'); 900 const menuContent = document.getElementById('header-menu-content'); 901 902 if (hamburgerBtn && menuContent) { 903 hamburgerBtn.addEventListener('click', (e) => { 904 e.stopPropagation(); 905 const isOpen = menuContent.classList.toggle('is-open'); 906 hamburgerBtn.setAttribute('aria-expanded', isOpen ? 'true' : 'false'); 907 }); 908 909 document.addEventListener('click', (e) => { 910 if (menuContent.classList.contains('is-open') && !menuContent.contains(e.target) && e.target !== hamburgerBtn) { 911 menuContent.classList.remove('is-open'); 912 hamburgerBtn.setAttribute('aria-expanded', 'false'); 913 } 914 }); 915 916 document.addEventListener('keydown', (e) => { 917 if (e.key === 'Escape' && menuContent.classList.contains('is-open')) { 918 menuContent.classList.remove('is-open'); 919 hamburgerBtn.setAttribute('aria-expanded', 'false'); 920 } 921 }); 922 } 923 924 // Palette Swapping Engine (Modularized) 925 if (window.PaletteEngine) { 926 PaletteEngine.initDom(); 927 } 928 929 // Modular Draggable Snap-Back Windows 930 if (window.WindowDraggable) { 931 WindowDraggable.init(); 932 } 933 934 // Terminal Window Behavior 935 document.querySelectorAll('.terminal-window').forEach(win => { 936 if (win.classList.contains('image-viewer-window') || win.classList.contains('game-player-window') || win.id === 'game-player-window') return; 937 if (win.dataset.windowInitialized) return; 938 win.dataset.windowInitialized = 'true'; 939 940 const header = win.querySelector(':scope > .window-header'); 941 const controls = header ? header.querySelector(':scope > .window-controls') : win.querySelector('.window-controls'); 942 if (!controls) return; 943 944 const btns = controls.querySelectorAll('.window-btn'); 945 if (btns.length >= 2) { 946 const minBtn = controls.querySelector('.window-btn-min, .minimize-btn') || btns[0]; 947 const closeBtn = controls.querySelector('.window-btn-close, .close-btn') || btns[btns.length - 1]; 948 949 // Minimize behavior: toggle window body display and switch SVG symbol 950 const bracketLeft = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg>`; 951 const bracketRight = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg>`; 952 const minusIcon = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg>`; 953 const plusIcon = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
953<path fill="currentColor" d="M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z"/></svg>`; 954 955 minBtn.addEventListener('click', (e) => { 956 e.preventDefault(); 957 e.stopPropagation(); 958 const body = win.querySelector(':scope > .window-body'); 959 if (body) { 960 if (body.style.display === 'none') { 961 body.style.display = ''; 962 minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${minusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`; 963 } else { 964 body.style.display = 'none'; 965 minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${plusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`; 966 } 967 } 968 }); 969 970 971 // Close behavior: hide the window element or its parent modal overlay instead of removing from DOM 972 closeBtn.addEventListener('click', (e) => { 973 e.preventDefault(); 974 e.stopPropagation(); 975 976 const overlay = win.closest('.skill-modal-overlay, [role="dialog"]'); 977 if (overlay) { 978 overlay.style.display = 'none'; 979 document.body.style.overflow = ''; 980 const iframe = overlay.querySelector('iframe'); 981 if (iframe) iframe.src = 'about:blank'; 982 } else { 983 win.style.display = 'none'; 984 } 985 }); 986 } 987 }); 988 989 // Modular Retro GUI OS Image Viewer Logic 990 const viewer = window.ImageViewer ? window.ImageViewer.getInstance() : null; 991 if (viewer) { 992 const postImages = document.querySelectorAll('.post-body-markdown img, .window-body img:not(#image-viewer-img)'); 993 postImages.forEach((img, index) => { 994 if (img.closest('.gallery-main-frame, .carousel-main-frame, .gallery-thumbs, .photo-carousel-container, .game-carousel-wrapper')) return; 995 const figNum = index + 1; 996 img.setAttribute('data-figure-num', figNum); 997 img.style.cursor = 'pointer'; 998 img.addEventListener('click', (e) => { 999 e.preventDefault(); 1000 e.stopPropagation(); 1001 const imgSrc = img.getAttribute('src') || img.src; 1002 const imgAlt = img.getAttribute('alt') || img.getAttribute('title') || ''; 1003 viewer.open(imgSrc, imgAlt, figNum); 1004 }); 1005 }); 1006 } 1007 1008 // Floating Series Quick Jump Observer & Interaction 1009 const topJumpNav = document.getElementById('top-series-jump-nav') || document.getElementById('combined-toc'); 1010 const floatingNav = document.getElementById('series-floating-nav'); 1011 const floatingToggle = document.getElementById('floating-nav-toggle'); 1012 1013 if (topJumpNav && floatingNav) { 1014 const observer = new IntersectionObserver((entries) => { 1015 entries.forEach(entry => { 1016 if (!entry.isIntersecting) { 1017 floatingNav.classList.add('is-active'); 1018 } else { 1019 floatingNav.classList.remove('is-active'); 1020 floatingNav.classList.remove('is-open'); 1021 } 1022 }); 1023 }, { threshold: 0 }); 1024 1025 observer.observe(topJumpNav); 1026 1027 if (floatingToggle) { 1028 floatingToggle.addEventListener('click', (e) => { 1029 e.stopPropagation(); 1030 floatingNav.classList.toggle('is-open'); 1031 }); 1032 } 1033 1034 // Close floating menu when clicking links 1035 floatingNav.querySelectorAll('.floating-jump-btn').forEach(link => { 1036 link.addEventListener('click', () => { 1037 floatingNav.classList.remove('is-open'); 1038 }); 1039 }); 1040 } 1041 1042 // Smooth scroll to entry targets 1043 document.querySelectorAll('a[href^="#entry-"]').forEach(anchor => { 1044 anchor.addEventListener('click', (e) => { 1045 e.preventDefault(); 1046 const targetId = anchor.getAttribute('href').substring(1); 1047 const targetEl = document.getElementById(targetId); 1048 if (targetEl) { 1049 targetEl.scrollIntoView({ behavior: 'smooth', block: 'start' }); 1050 history.pushState(null, '', '#' + targetId); 1051 } 1052 }); 1053 }); 1054 1055 // Smooth scroll to top button 1056 const scrollToTopBtn = document.getElementById('scroll-to-top-btn'); 1057 if (scrollToTopBtn) { 1058 scrollToTopBtn.addEventListener('click', (e) => { 1059 e.preventDefault(); 1060 window.scrollTo({ top: 0, behavior: 'smooth' }); 1061 }); 1062 } 1063 1064 // Series Jump Tooltip Edge-Fit Logic 1065 document.querySelectorAll('.series-jump-btn').forEach(btn => { 1066 btn.addEventListener('mouseenter', () => { 1067 const rect = btn.getBoundingClientRect(); 1068 const tooltip = btn.querySelector('.btn-title'); 1069 if (tooltip) { 1070 if (rect.left + 260 > window.innerWidth) { 1071 tooltip.style.left = 'auto'; 1072 tooltip.style.right = '0'; 1073 } else { 1074 tooltip.style.left = '0'; 1075 tooltip.style.right = 'auto'; 1076 } 1077 } 1078 }); 1079 }); 1080 1081 // Global Dynamic Tooltip Handler for Skills & Tech Tags 1082 (function() { 1083 let tooltipEl = document.getElementById('global-skill-tooltip'); 1084 if (!tooltipEl) { 1085 tooltipEl = document.createElement('div'); 1086 tooltipEl.id = 'global-skill-tooltip'; 1087 tooltipEl.className = 'global-skill-tooltip-box'; 1088 document.body.appendChild(tooltipEl); 1089 } 1090 1091 const selector = '[data-tooltip], [data-skill], .skill-tooltip-trigger, .jam-tooltip-trigger, .skill-tag, .skill-tag-icon-only, .project-filter-btn, .series-filter-btn, .chain-filter-btn, .section-project-filter-btn, .fav-filter-btn'; 1092 1093 document.addEventListener('mouseover', function(e) { 1094 const target = e.target.closest(selector); 1095 if (!target) return; 1096 1097 if (target.hasAttribute('title')) { 1098 target.removeAttribute('title'); 1099 } 1100 const childrenWithTitle = target.querySelectorAll('[title]'); 1101 for (var i = 0; i < childrenWithTitle.length; i++) { 1102 childrenWithTitle[i].removeAttribute('title'); 1103 } 1104 1105 let text = target.getAttribute('data-tooltip') || ''; 1106 const slug = target.getAttribute('data-skill'); 1107 const isFilterBtn = target.matches('.chain-filter-btn, .series-filter-btn, .project-filter-btn, .section-project-filter-btn, .fav-filter-btn'); 1108 const isPaletteBtn = target.matches('.palette-swap-btn'); 1109 const isSkillElement = target.matches('.skill-tooltip-trigger, .skill-tag, .skill-tag-icon-only') || !!slug; 1110 1111 if ((!text || !text.trim()) && isSkillElement) { 1112 const catalogScript = document.getElementById('skills-catalog-data'); 1113 let catalog = {}; 1114 if (catalogScript) { 1115 try { catalog = JSON.parse(catalogScript.textContent); } catch(err) {} 1116 } 1117 let cleanSlug = slug ? String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') : ''; 1118 if (!cleanSlug && target.textContent) { 1119 cleanSlug = target.textContent.trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, ''); 1120 } 1121 const sObj = catalog[slug] || catalog[cleanSlug]; 1122 if (sObj) { 1123 if (sObj.description && sObj.description.trim()) { 1124 if (target.matches('.skill-tag-icon-only')) { 1125 text = sObj.name + ': ' + sObj.description; 1126 } else { 1127 text = sObj.description; 1128 } 1129 } else { 1130 text = sObj.name; 1131 } 1132 } else if (target.textContent && target.textContent.trim()) { 1133 text = target.textContent.trim(); 1134 } 1135 } 1136 1137 if ((!text || !text.trim()) && !isFilterBtn && !isPaletteBtn) return; 1138 1139 function escapeHtml(str) { 1140 return String(str || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 1141 } 1142 1143 if (isPaletteBtn) { 1144 let html = "<div style=\"margin-bottom: 0.2rem;\">Left-click: Next palette</div><div style=\"margin-bottom: 0.2rem;\">Right-click: Previous palette</div><div style=\"margin-bottom: 0.2rem;\">Left Click Hold: Open Palette Menu</div><div>Right Click Hold: Reset to default</div>"; 1145 tooltipEl.innerHTML = html; 1146 } else if (isFilterBtn) { 1147 const isAllBtn = (target.getAttribute('data-home-filter') === 'all') || 1148 (target.getAttribute('data-series-filter') === 'all') || 1149 (target.getAttribute('data-project-filter') === 'all') || 1150 (target.getAttribute('data-section-filter') === 'all') || 1151 (target.textContent.trim().toUpperCase() === '[ ALL ]'); 1152 let html = ''; 1153 const filterLegend = "<div style=\"font-size: 0.75rem; color: var(--text-dim); margin-top: 0.35rem; font-style: italic;\">Left: Select | Right: Select Multiple<br>Left Click Hold: Inspect</div>"; 1154 const filterAllLegend = "<div style=\"font-size: 0.75rem; color: var(--text-dim); font-style: italic;\">Left: Select | Right: Select Multiple<br>Left Click Hold: Reset ALL</div>"; 1155 if (isAllBtn) { 1156 html += filterAllLegend; 1157 } else { 1158 if (text && text.trim()) { 1159 html += '<div>' + escapeHtml(text) + '</div>'; 1160 html += filterLegend; 1161 } else { 1162 html += filterLegend; 1163 } 1164 } 1165 tooltipEl.innerHTML = html; 1166 } else { 1167 tooltipEl.textContent = text; 1168 } 1169 1170 tooltipEl.classList.add('is-visible'); 1171 1172 const rect = target.getBoundingClientRect(); 1173 const tooltipRect = tooltipEl.getBoundingClientRect(); 1174 1175 let top = rect.top - tooltipRect.height - 8; 1176 let left = rect.left + (rect.width / 2) - (tooltipRect.width / 2); 1177 1178 if (top < 10) { 1179 top = rect.bottom + 8; 1180 } 1181 if (left < 10) left = 10; 1182 if (left + tooltipRect.width > window.innerWidth - 10) { 1183 left = window.innerWidth - tooltipRect.width - 10; 1184 } 1185 1186 tooltipEl.style.top = (top + window.scrollY) + 'px'; 1187 tooltipEl.style.left = (left + window.scrollX) + 'px'; 1188 }); 1189 1190 document.addEventListener('mouseout', function(e) { 1191 const target = e.target.closest(selector); 1192 if (target) { 1193 if (e.relatedTarget && target.contains(e.relatedTarget)) return; 1194 tooltipEl.classList.remove('is-visible'); 1195 } 1196 }); 1197 })(); 1198 1199 // Retro Skill Spec Modal Interaction Logic 1200 (function() {
1201 var overlay = document.getElementById('skill-modal-overlay'); 1202 if (!overlay) return; 1203 1204 var catalogScript = document.getElementById('skills-catalog-data'); 1205 if (!catalogScript) return; 1206 1207 var catalog = {}; 1208 try { 1209 catalog = JSON.parse(catalogScript.textContent); 1210 } catch(e) { 1211 console.error('Failed to parse skills catalog:', e); 1212 } 1213 1214 function escapeHtml(str) { 1215 return String(str || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 1216 } 1217 1218 function openModal(slug) { 1219 if (!slug) return; 1220 var cleanSlug = String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, ''); 1221 var skill = catalog[slug] || catalog[cleanSlug]; 1222 if (!skill) return; 1223 1224 document.getElementById('skill-modal-title-text').textContent = 'SKILL_SPEC // ' + (skill.name || slug).toUpperCase(); 1225 var iconEl = document.getElementById('skill-modal-icon'); 1226 if (iconEl) { 1227 if (skill.svg_content) { 1228 iconEl.innerHTML = skill.svg_content; 1229 var svg = iconEl.querySelector('svg'); 1230 if (svg) { 1231 svg.classList.add('skill-icon-svg'); 1232 svg.style.width = '1em'; 1233 svg.style.height = '1em'; 1234 svg.style.verticalAlign = '-0.1em'; 1235 svg.style.fill = 'currentColor'; 1236 svg.style.display = 'inline-block'; 1237 } 1238 } else if (skill.icon) { 1239 var cleanIcon = skill.icon.endsWith('.svg') ? skill.icon : skill.icon + '.svg'; 1240 iconEl.innerHTML = '<span class="skill-icon-svg skill-icon-mask icon-' + (skill.slug || slug) + '"></span>'; 1241 var maskSpan = iconEl.querySelector('.skill-icon-mask'); 1242 if (maskSpan) { 1243 maskSpan.style.maskImage = "url('/icons/" + cleanIcon + "')"; 1244 maskSpan.style.webkitMaskImage = "url('/icons/" + cleanIcon + "')"; 1245 } 1246 } else { 1247 iconEl.innerHTML = ''; 1248 } 1249 } 1250 document.getElementById('skill-modal-category').textContent = skill.category || 'General'; 1251 1252 var expWrap = document.getElementById('skill-modal-exp-wrap'); 1253 if (skill.years) { 1254 document.getElementById('skill-modal-exp').textContent = skill.years; 1255 expWrap.style.display = 'block'; 1256 } else { 1257 expWrap.style.display = 'none'; 1258 } 1259 1260 var startedWrap = document.getElementById('skill-modal-started-wrap'); 1261 if (skill.date_started) { 1262 document.getElementById('skill-modal-started').textContent = skill.date_started; 1263 startedWrap.style.display = 'block'; 1264 } else { 1265 startedWrap.style.display = 'none'; 1266 } 1267 1268 var linksWrap = document.getElementById('skill-modal-links-wrap'); 1269 var linksContainer = document.getElementById('skill-modal-links'); 1270 linksContainer.innerHTML = ''; 1271 if (skill.links && skill.links.length > 0) { 1272 skill.links.forEach(function(l) { 1273 var a = document.createElement('a'); 1274 a.href = l.url; 1275 a.target = '_blank'; 1276 a.className = 'nav-link'; 1277 a.style.fontSize = '0.8rem'; 1278 a.textContent = '[ ' + l.key.toUpperCase() + ' ]'; 1279 linksContainer.appendChild(a); 1280 }); 1281 linksWrap.style.display = 'flex'; 1282 } else { 1283 linksWrap.style.display = 'none'; 1284 } 1285 1286 document.getElementById('skill-modal-short-desc').textContent = skill.description || ''; 1287 1288 var longDescEl = document.getElementById('skill-modal-long-desc'); 1289 if (skill.long_description_html && skill.long_description_html.trim().length > 0) { 1290 longDescEl.innerHTML = skill.long_description_html; 1291 longDescEl.style.display = 'block'; 1292 } else { 1293 longDescEl.innerHTML = ''; 1294 longDescEl.style.display = 'none'; 1295 } 1296 1297 var projSection = document.getElementById('skill-modal-projects-section'); 1298 var projList = document.getElementById('skill-modal-projects-list'); 1299 var projCount = document.getElementById('skill-modal-projects-count'); 1300 if (projSection && projList && projCount) { 1301 projList.innerHTML = ''; 1302 if (skill.projects && skill.projects.length > 0) { 1303 projCount.textContent = skill.projects.length;
1304 skill.projects.forEach(function(p) { 1305 var card = document.createElement('div'); 1306 card.className = 'skill-modal-project-item'; 1307 card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a> <span class="skill-modal-tag">[' + escapeHtml(p.section.toUpperCase()) + ']</span></div><div class="skill-modal-desc">' + escapeHtml(p.description) + '</div>'; 1308 projList.appendChild(card); 1309 }); 1310 } else { 1311 projCount.textContent = '0'; 1312 var emptyCard = document.createElement('div'); 1313 emptyCard.className = 'skill-modal-project-item'; 1314 emptyCard.style.fontStyle = 'italic'; 1315 emptyCard.style.color = 'var(--text-dim)'; 1316 emptyCard.style.fontSize = '0.82rem'; 1317 emptyCard.textContent = 'No matching projects recorded for this skill.'; 1318 projList.appendChild(emptyCard); 1319 } 1320 projSection.style.display = 'block'; 1321 } 1322 1323 var gameSection = document.getElementById('skill-modal-games-section'); 1324 var gameList = document.getElementById('skill-modal-games-list'); 1325 var gameCount = document.getElementById('skill-modal-games-count'); 1326 if (gameSection && gameList && gameCount) { 1327 gameList.innerHTML = ''; 1328 if (skill.games && skill.games.length > 0) { 1329 gameCount.textContent = skill.games.length; 1330 skill.games.forEach(function(g) { 1331 var card = document.createElement('div'); 1332 card.className = 'skill-modal-project-item'; 1333 var titleHtml = '<a href="' + escapeHtml(g.url) + '" class="skill-modal-project-title">' + escapeHtml(g.title) + '</a>'; 1334 var metaParts = []; 1335 if (g.engine) metaParts.push(g.engine.toUpperCase()); 1336 if (g.subdomain) metaParts.push(g.subdomain.toUpperCase()); 1337 var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' ⢠')) + ']</span>' : ''; 1338 var descStr = g.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(g.description) + '</div>' : ''; 1339 1340 card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>'; 1341 gameList.appendChild(card); 1342 }); 1343 } else { 1344 gameCount.textContent = '0'; 1345 var emptyCard = document.createElement('div'); 1346 emptyCard.className = 'skill-modal-project-item'; 1347 emptyCard.style.fontStyle = 'italic'; 1348 emptyCard.style.color = 'var(--text-dim)'; 1349 emptyCard.style.fontSize = '0.82rem'; 1350 emptyCard.textContent = 'No matching games recorded for this skill.'; 1351 gameList.appendChild(emptyCard); 1352 } 1353 gameSection.style.display = 'block'; 1354 } 1355 1356 var achSection = document.getElementById('skill-modal-achievements-section'); 1357 var achList = document.getElementById('skill-modal-achievements-list'); 1358 var achCount = document.getElementById('skill-modal-achievements-count'); 1359 if (achSection && achList && achCount) { 1360 achList.innerHTML = ''; 1361 if (skill.achievements && skill.achievements.length > 0) { 1362 achCount.textContent = skill.achievements.length; 1363 skill.achievements.forEach(function(a) { 1364 var card = document.createElement('div'); 1365 card.className = 'skill-modal-project-item'; 1366 var titleHtml = a.link 1367 ? '<a href="' + escapeHtml(a.link) + '" target="_blank" class="skill-modal-project-title">' + escapeHtml(a.title) + '</a>' 1368 : '<span class="skill-modal-project-title skill-modal-title-plain">' + escapeHtml(a.title) + '</span>'; 1369 1370 var metaParts = []; 1371 if (a.category) metaParts.push(a.category.toUpperCase()); 1372 if (a.issuer) metaParts.push(a.issuer); 1373 if (a.date) metaParts.push(a.date); 1374 1375 var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' ⢠')) + ']</span>' : ''; 1376 var descStr = a.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(a.description) + '</div>' : ''; 1377 1378 card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>'; 1379 achList.appendChild(card); 1380 }); 1381 } else { 1382 achCount.textContent = '0'; 1383 var emptyCard = document.createElement('div'); 1384 emptyCard.className = 'skill-modal-project-item';
1385 emptyCard.style.fontStyle = 'italic'; 1386 emptyCard.style.color = 'var(--text-dim)'; 1387 emptyCard.style.fontSize = '0.82rem'; 1388 emptyCard.textContent = 'No matching accolades or achievements recorded for this skill.'; 1389 achList.appendChild(emptyCard); 1390 } 1391 achSection.style.display = 'block'; 1392 } 1393 1394 var postSection = document.getElementById('skill-modal-posts-section'); 1395 var postList = document.getElementById('skill-modal-posts-list'); 1396 var postCount = document.getElementById('skill-modal-posts-count'); 1397 if (postSection && postList && postCount) { 1398 postList.innerHTML = ''; 1399 if (skill.posts && skill.posts.length > 0) { 1400 postCount.textContent = skill.posts.length; 1401 skill.posts.forEach(function(p) { 1402 var card = document.createElement('div'); 1403 card.className = 'skill-modal-project-item'; 1404 var metaParts = []; 1405 if (p.chain_title || p.category) metaParts.push((p.chain_title || p.category).toUpperCase()); 1406 metaParts.push('ENTRY #' + p.index); 1407 if (p.date) metaParts.push(p.date); 1408 var metaStr = ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' ⢠')) + ']</span>'; 1409 card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a>' + metaStr + '</div>'; 1410 postList.appendChild(card); 1411 }); 1412 } else { 1413 postCount.textContent = '0'; 1414 var emptyCard = document.createElement('div'); 1415 emptyCard.className = 'skill-modal-project-item'; 1416 emptyCard.style.fontStyle = 'italic'; 1417 emptyCard.style.color = 'var(--text-dim)'; 1418 emptyCard.style.fontSize = '0.82rem'; 1419 emptyCard.textContent = 'No matching journal posts recorded for this skill.'; 1420 postList.appendChild(emptyCard); 1421 } 1422 postSection.style.display = 'block'; 1423 } 1424 1425 overlay.style.display = 'flex'; 1426 document.body.style.overflow = 'hidden'; 1427 } 1428 1429 function closeModal() { 1430 overlay.style.display = 'none'; 1431 document.body.style.overflow = ''; 1432 } 1433 1434 window.openSkillModal = openModal; 1435 1436 document.addEventListener('click', function(e) { 1437 var trigger = e.target.closest('.skill-modal-trigger'); 1438 if (trigger) { 1439 if (trigger.classList.contains('chain-filter-btn') || 1440 trigger.classList.contains('series-filter-btn') || 1441 trigger.classList.contains('project-filter-btn') || 1442 trigger.classList.contains('section-project-filter-btn') || 1443 trigger.classList.contains('fav-filter-btn')) { 1444 return; 1445 } 1446 e.preventDefault(); 1447 e.stopPropagation(); 1448 var slug = trigger.getAttribute('data-skill'); 1449 if (slug) { 1450 openModal(slug); 1451 } 1452 } 1453 }); 1454 1455 var closeBtn = document.getElementById('skill-modal-close-btn'); 1456 if (closeBtn) { 1457 closeBtn.addEventListener('click', closeModal); 1458 } 1459 1460 overlay.addEventListener('click', function(e) { 1461 if (e.target === overlay) { 1462 closeModal(); 1463 } 1464 }); 1465 1466 document.addEventListener('keydown', function(e) { 1467 if (e.key === 'Escape' && overlay.style.display === 'flex') { 1468 closeModal(); 1469 } 1470 }); 1471 })(); 1472 1473 // Retro Jam Spec Modal Interaction Logic 1474 (function() { 1475 var overlay = document.getElementById('jam-modal-overlay'); 1476 if (!overlay) return; 1477 1478 var jamsList = window.SITE_JAMS || []; 1479 1480 function escapeHtml(str) { 1481 return String(str || '').replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); 1482 } 1483 1484 function openModal(jamQuery) { 1485 if (!jamQuery) return; 1486 var qNorm = String(jamQuery).trim().toLowerCase(); 1487 var jam = jamsList.find(function(j) { 1488 return (j.id && j.id.toLowerCase() === qNorm) || 1489 (j.name && j.name.toLowerCase() === qNorm) || 1490 (j.id && qNorm.includes(j.id.toLowerCase())) || 1491 (j.name && j.name.toLowerCase().includes(qNorm)); 1492 }); 1493 if (!jam) return; 1494 1495 document.getElementById('jam-modal-title').textContent = '[ JAM_SPEC // ' + (jam.name || jamQuery).toUpperCase() + ' ]'; 1496 document.getElementById('jam-modal-name').textContent = jam.name || 'Game Jam'; 1497 document.getElementById('jam-modal-tagline').textContent = jam.tagline || ''; 1498 document.getElementById('jam-modal-host').textContent = jam.host || 'N/A'; 1499 document.getElementById('jam-modal-dates').textContent = (jam.start_date && jam.end_date) ? (jam.start_date + ' to ' + jam.end_date) : (jam.start_date || jam.end_date || 'N/A'); 1500 1501 var linkWrap = document.getElementById('jam-modal-link'); 1502 if (jam.link) { 1503 linkWrap.innerHTML = '<a href="' + escapeHtml(jam.link) + '" target="_blank" class="export-btn jam-visit-btn">[ VISIT JAM PAGE â ]</a>'; 1504 } else { 1505 linkWrap.textContent = 'N/A'; 1506 } 1507 1508 var liveStatsEl = document.getElementById('jam-modal-live-stats'); 1509 var liveStatsWrap = document.getElementById('jam-modal-live-stats-wrap'); 1510 var jamSlug = jam.itch_jam_slug || (jam.link && jam.link.includes('itch.io/jam/') ? jam.link.split('itch.io/jam/')[1].split('/')[0].split('?')[0] : null); 1511 1512 if (jamSlug && liveStatsEl) { 1513 if (liveStatsWrap) liveStatsWrap.style.display = 'block'; 1514 liveStatsEl.innerHTML = ''; 1515 liveStatsEl.setAttribute('data-itch-jam', jamSlug); 1516 if (window.ItchJamWidget && typeof window.ItchJamWidget.initElement === 'function') { 1517 window.ItchJamWidget.initElement(liveStatsEl); 1518 } 1519 } else if (liveStatsWrap) { 1520 liveStatsWrap.style.display = 'none'; 1521 } 1522 1523 document.getElementById('jam-modal-desc').textContent = jam.description || ''; 1524 1525 var gamesListContainer = document.getElementById('jam-modal-games-list'); 1526 gamesListContainer.innerHTML = ''; 1527 if (jam.games && jam.games.length > 0) {
1528 jam.games.forEach(function(g) { 1529 var chip = document.createElement('div'); 1530 chip.className = 'export-btn jam-game-chip'; 1531 chip.innerHTML = '<span class="game-chip-title">' + escapeHtml(g.title) + '</span>' + (g.ranking ? ' <span class="game-chip-rank">[' + escapeHtml(g.ranking) + ']</span>' : ''); 1532 gamesListContainer.appendChild(chip); 1533 }); 1534 } else { 1535 gamesListContainer.innerHTML = '<span class="game-empty-notice">No registered game entries found.</span>'; 1536 } 1537 1538 overlay.style.display = 'flex'; 1539 document.body.style.overflow = 'hidden'; 1540 } 1541 1542 function closeModal() { 1543 overlay.style.display = 'none'; 1544 document.body.style.overflow = ''; 1545 } 1546 1547 var closeBtn = document.getElementById('jam-modal-close-btn'); 1548 if (closeBtn) { 1549 closeBtn.addEventListener('click', closeModal); 1550 } 1551 1552 overlay.addEventListener('click', function(e) { 1553 if (e.target === overlay) { 1554 closeModal(); 1555 } 1556 }); 1557 1558 document.addEventListener('keydown', function(e) { 1559 if (e.key === 'Escape' && overlay.style.display !== 'none') { 1560 closeModal(); 1561 } 1562 }); 1563 1564 document.addEventListener('click', function(e) { 1565 var trigger = e.target.closest('.jam-modal-trigger'); 1566 if (trigger) { 1567 e.preventDefault(); 1568 var jamQuery = trigger.getAttribute('data-jam') || trigger.getAttribute('data-tooltip') || trigger.textContent; 1569 openModal(jamQuery); 1570 } 1571 }); 1572 })(); 1573 1574 // Generic Multi-Select Filter Group Handler with HoldClick Support 1575 function setupFilterGroup(options) { 1576 var btnSelector = options.btnSelector; 1577 var attrName = options.attrName; 1578 var onFilterChange = options.onFilterChange; 1579 1580 var selectedFilters = new Set(['all']); 1581 1582 function updateUI() { 1583 var allBtns = document.querySelectorAll(btnSelector); 1584 allBtns.forEach(function(b) { 1585 var val = b.getAttribute(attrName) || 'all'; 1586 if (selectedFilters.has('all')) { 1587 if (val === 'all') b.classList.add('active'); 1588 else b.classList.remove('active'); 1589 } else { 1590 if (selectedFilters.has(val)) b.classList.add('active'); 1591 else b.classList.remove('active'); 1592 } 1593 }); 1594 1595 onFilterChange(selectedFilters); 1596 } 1597 1598 if (!window.HoldClick) return; 1599 1600 HoldClick.attach(document.body, { 1601 delegateSelector: btnSelector, 1602 holdDuration: 2000, 1603 spinnerDelay: 500, 1604 onLeftClick: function(e, btn) { 1605 var filterVal = btn.getAttribute(attrName) || 'all'; 1606 selectedFilters.clear(); 1607 selectedFilters.add(filterVal); 1608 updateUI(); 1609 }, 1610 onRightClick: function(e, btn) { 1611 var filterVal = btn.getAttribute(attrName) || 'all'; 1612 if (filterVal === 'all') { 1613 selectedFilters.clear(); 1614 selectedFilters.add('all'); 1615 } else { 1616 selectedFilters.delete('all'); 1617 if (selectedFilters.has(filterVal)) { 1618 selectedFilters.delete(filterVal); 1619 if (selectedFilters.size === 0) { 1620 selectedFilters.add('all'); 1621 } 1622 } else { 1623 selectedFilters.add(filterVal); 1624 } 1625 } 1626 updateUI(); 1627 }, 1628 onLeftHold: function(e, btn) { 1629 var filterVal = btn.getAttribute(attrName) || 'all'; 1630 if (filterVal === 'all') { 1631 selectedFilters.clear(); 1632 selectedFilters.add('all'); 1633 updateUI(); 1634 } else { 1635 var slug = btn.getAttribute('data-skill'); 1636 if (slug && window.openSkillModal) { 1637 window.openSkillModal(slug); 1638 } 1639 } 1640 }, 1641 onRightHold: function(e, btn) { 1642 var slug = btn.getAttribute('data-skill'); 1643 if (slug && window.openSkillModal) { 1644 window.openSkillModal(slug); 1645 } 1646 } 1647 }); 1648 } 1649 1650 // 1. Home Page Post Chain Skill Filter 1651 setupFilterGroup({ 1652 btnSelector: '.chain-filter-btn', 1653 attrName: 'data-home-filter', 1654 onFilterChange: function(selected) { 1655 var chainBoxes = document.querySelectorAll('.terminal-window[data-skills]');
1656 chainBoxes.forEach(function(box) { 1657 if (selected.has('all')) { 1658 box.style.display = ''; 1659 } else { 1660 var skills = (box.getAttribute('data-skills') || '').split(/\s+/); 1661 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1662 box.style.display = match ? '' : 'none'; 1663 } 1664 }); 1665 } 1666 }); 1667 1668 // 2. Series Page Post Skill Filter 1669 setupFilterGroup({ 1670 btnSelector: '.series-filter-btn', 1671 attrName: 'data-series-filter', 1672 onFilterChange: function(selected) { 1673 var postItems = document.querySelectorAll('.post-link-item[data-skills]'); 1674 postItems.forEach(function(item) { 1675 if (selected.has('all')) { 1676 item.style.display = ''; 1677 } else { 1678 var skills = (item.getAttribute('data-skills') || '').split(/\s+/); 1679 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1680 item.style.display = match ? '' : 'none'; 1681 } 1682 }); 1683 1684 var entryBoxes = document.querySelectorAll('.terminal-window[id^="entry-"][data-skills]'); 1685 entryBoxes.forEach(function(box) { 1686 if (selected.has('all')) { 1687 box.style.display = ''; 1688 } else { 1689 var skills = (box.getAttribute('data-skills') || '').split(/\s+/); 1690 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1691 box.style.display = match ? '' : 'none'; 1692 } 1693 }); 1694 1695 var jumpBtns = document.querySelectorAll('.series-jump-btn[data-skills], .floating-jump-btn[data-skills]'); 1696 jumpBtns.forEach(function(jbtn) { 1697 if (selected.has('all')) { 1698 jbtn.style.display = ''; 1699 } else { 1700 var skills = (jbtn.getAttribute('data-skills') || '').split(/\s+/); 1701 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1702 jbtn.style.display = match ? '' : 'none'; 1703 } 1704 }); 1705 } 1706 }); 1707 1708 // 3. Main Projects Page Skill Filter 1709 setupFilterGroup({ 1710 btnSelector: '.project-filter-btn', 1711 attrName: 'data-project-filter', 1712 onFilterChange: function(selected) { 1713 var flexGrid = document.getElementById('projects-flex-grid'); 1714 var resultsGrid = document.getElementById('projects-filter-results-grid'); 1715 1716 if (selected.has('all')) { 1717 if (flexGrid) flexGrid.style.display = ''; 1718 if (resultsGrid) resultsGrid.style.display = 'none'; 1719 } else { 1720 if (flexGrid) flexGrid.style.display = 'none'; 1721 if (resultsGrid) { 1722 resultsGrid.style.display = 'flex'; 1723 var filterCards = resultsGrid.querySelectorAll('.filter-project-card'); 1724 filterCards.forEach(function(card) { 1725 var skills = (card.getAttribute('data-skills') || '').split(/\s+/); 1726 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1727 card.style.display = match ? '' : 'none'; 1728 }); 1729 } 1730 } 1731 } 1732 }); 1733 1734 // 4. Project Subsection Skill Filter 1735 setupFilterGroup({ 1736 btnSelector: '.section-project-filter-btn', 1737 attrName: 'data-section-filter', 1738 onFilterChange: function(selected) { 1739 var sectionCards = document.querySelectorAll('.section-card[data-skills]'); 1740 sectionCards.forEach(function(card) { 1741 if (selected.has('all')) { 1742 card.style.display = ''; 1743 } else { 1744 var skills = (card.getAttribute('data-skills') || '').split(/\s+/); 1745 var match = Array.from(selected).every(function(s) { return skills.includes(s); }); 1746 card.style.display = match ? '' : 'none'; 1747 } 1748 }); 1749 } 1750 }); 1751 1752 // 5. Favorites Page Category Filter 1753 setupFilterGroup({ 1754 btnSelector: '.fav-filter-btn', 1755 attrName: 'data-fav-filter', 1756 onFilterChange: function(selected) { 1757 var catGroups = document.querySelectorAll('.fav-category-group'); 1758 catGroups.forEach(function(group) { 1759 if (selected.has('all')) { 1760 group.style.display = ''; 1761 } else { 1762 var cat = group.getAttribute('data-category'); 1763 group.style.display = selected.has(cat) ? '' : 'none'; 1764 } 1765 }); 1766 } 1767 }); 1768 1769 // Retro Favorite Spec Modal Interaction Logic 1770 (function() {
1771 var overlay = document.getElementById('favorite-modal-overlay'); 1772 if (!overlay) return; 1773 1774 var catalogScript = document.getElementById('favorites-catalog-data'); 1775 if (!catalogScript) return; 1776 1777 var catalog = {}; 1778 try { 1779 catalog = JSON.parse(catalogScript.textContent); 1780 } catch(e) { 1781 console.error('Failed to parse favorites catalog:', e); 1782 } 1783 1784 function openModal(slug) { 1785 var item = catalog[slug]; 1786 if (!item) return; 1787 1788 var singleBody = document.getElementById('favorite-modal-single-body'); 1789 var colBody = document.getElementById('favorite-modal-collection-body'); 1790 var playerContainer = document.getElementById('favorite-modal-player-container'); 1791 var itemsContainer = document.getElementById('favorite-modal-items-container'); 1792 1793 if (playerContainer) playerContainer.innerHTML = ''; 1794 if (itemsContainer) itemsContainer.innerHTML = ''; 1795 1796 if (item.is_collection && item.items && item.items.length > 0) { 1797 if (singleBody) singleBody.style.display = 'none'; 1798 if (colBody) colBody.style.display = 'block'; 1799 1800 document.getElementById('favorite-modal-title').textContent = 'COLLECTION_SPEC // ' + (item.name || item.title || slug).toUpperCase(); 1801 document.getElementById('favorite-modal-col-creator').textContent = item.creator || 'Various'; 1802 document.getElementById('favorite-modal-col-count').textContent = item.items.length + ' ITEMS'; 1803 document.getElementById('favorite-modal-col-desc').textContent = item.description || ''; 1804 1805 var artistLinkEl = document.getElementById('favorite-modal-col-artist-link'); 1806 if (artistLinkEl) { 1807 if (item.url) { 1808 artistLinkEl.href = item.url; 1809 artistLinkEl.style.display = 'inline-flex'; 1810 } else { 1811 artistLinkEl.style.display = 'none'; 1812 } 1813 } 1814 1815 item.items.forEach(function(subItem, idx) { 1816 var card = document.createElement('div'); 1817 card.className = 'fav-modal-item-card'; 1818 card.style.cssText = 'border: 1px solid var(--border-color); background: var(--bg-window); padding: 0.85rem; margin-bottom: 1rem;'; 1819 1820 var header = document.createElement('div'); 1821 header.style.cssText = 'display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; border-bottom: 1px dashed var(--border-color); padding-bottom: 0.4rem;'; 1822 1823 var titleSpan = document.createElement('span'); 1824 titleSpan.style.cssText = 'font-weight: bold; color: var(--text-color); font-size: 0.95rem;'; 1825 titleSpan.textContent = (idx + 1) + '. ' + subItem.title; 1826 header.appendChild(titleSpan); 1827 1828 if (subItem.url) { 1829 var linkBtn = document.createElement('a'); 1830 linkBtn.href = subItem.url; 1831 linkBtn.target = '_blank'; 1832 linkBtn.className = 'accolade-link-btn'; 1833 linkBtn.innerHTML = '<span>' + (subItem.link_type || 'LINK').toUpperCase() + '</span>'; 1834 header.appendChild(linkBtn); 1835 } 1836 1837 card.appendChild(header); 1838 1839 if (subItem.description) { 1840 var descDiv = document.createElement('div'); 1841 descDiv.style.cssText = 'font-size: 0.85rem; color: var(--text-dim); margin-bottom: 0.5rem;'; 1842 descDiv.textContent = subItem.description; 1843 card.appendChild(descDiv); 1844 } 1845 1846 var playerDiv = document.createElement('div'); 1847 playerDiv.className = 'fav-player-section'; 1848 playerDiv.style.cssText = 'margin-top: 0.5rem; background: var(--bg-color); border: 1px solid var(--border-color); padding: 0.4rem;'; 1849 1850 if (subItem.link_type === 'soundcloud' && subItem.soundcloud_url && window.SoundcloudWidget) { 1851 window.SoundcloudWidget.render(playerDiv, subItem.soundcloud_url); 1852 card.appendChild(playerDiv); 1853 } else if (subItem.link_type === 'youtube' && (subItem.youtube_id || subItem.youtube_playlist_id) && window.YoutubeWidget) { 1854 window.YoutubeWidget.render(playerDiv, subItem.youtube_id, subItem.youtube_playlist_id, subItem.embed_type); 1855 card.appendChild(playerDiv); 1856 } else if (subItem.link_type === 'bandcamp' && window.BandcampWidget) { 1857 window.BandcampWidget.render(playerDiv, subItem.bandcamp_url, subItem.bandcamp_album_id, subItem.bandcamp_track_id, subItem.title, item.creator); 1858 card.appendChild(playerDiv); 1859 } else if (subItem.link_type === 'steam' && subItem.steam_appid && window.SteamWidget) { 1860 var steamHost = document.createElement('div'); 1861 steamHost.setAttribute('data-steam-appid', subItem.steam_appid); 1862 steamHost.setAttribute('data-widget-layout', 'rectangle'); 1863 playerDiv.appendChild(steamHost); 1864 card.appendChild(playerDiv); 1865 window.SteamWidget.initElement(steamHost); 1866 } 1867 1868 if (itemsContainer) itemsContainer.appendChild(card); 1869 }); 1870 } else { 1871 if (colBody) colBody.style.display = 'none'; 1872 if (singleBody) singleBody.style.display = 'block'; 1873 1874 document.getElementById('favorite-modal-title').textContent = 'FAVORITE_SPEC // ' + (item.name || item.title || slug).toUpperCase(); 1875 document.getElementById('favorite-modal-category').textContent = item.category || 'General'; 1876 1877 var creatorWrap = document.getElementById('favorite-modal-creator-wrap'); 1878 if (item.creator) { 1879 document.getElementById('favorite-modal-creator').textContent = item.creator; 1880 creatorWrap.style.display = 'block'; 1881 } else { 1882 creatorWrap.style.display = 'none'; 1883 } 1884 1885 var yearWrap = document.getElementById('favorite-modal-year-wrap'); 1886 if (item.year) { 1887 document.getElementById('favorite-modal-year').textContent = item.year; 1888 yearWrap.style.display = 'block'; 1889 } else { 1890 yearWrap.style.display = 'none'; 1891 } 1892 1893 var ratingWrap = document.getElementById('favorite-modal-rating-wrap'); 1894 if (item.rating) { 1895 document.getElementById('favorite-modal-rating').textContent = item.rating; 1896 ratingWrap.style.display = 'block'; 1897 } else { 1898 ratingWrap.style.display = 'none'; 1899 } 1900 1901 var linksContainer = document.getElementById('favorite-modal-links'); 1902 linksContainer.innerHTML = ''; 1903 if (item.url) { 1904 var a = document.createElement('a'); 1905 a.href = item.url; 1906 a.target = '_blank'; 1907 a.className = 'nav-link'; 1908 a.style.fontSize = '0.8rem'; 1909 a.textContent = '[ OPEN ' + (item.link_type || 'LINK').toUpperCase() + ' ]'; 1910 linksContainer.appendChild(a); 1911 } 1912 1913 document.getElementById('favorite-modal-short-desc').textContent = item.description || ''; 1914 1915 var longDescEl = document.getElementById('favorite-modal-long-desc'); 1916 if (item.long_description_html && item.long_description_html.trim().length > 0) { 1917 longDescEl.innerHTML = item.long_description_html; 1918 longDescEl.style.display = 'block'; 1919 } else { 1920 longDescEl.innerHTML = ''; 1921 longDescEl.style.display = 'none'; 1922 } 1923 1924 var playerSection = document.getElementById('favorite-modal-player-section'); 1925 playerSection.style.display = 'none'; 1926 1927 if (item.link_type === 'soundcloud' && item.soundcloud_url && window.SoundcloudWidget) { 1928 playerSection.style.display = 'block'; 1929 window.SoundcloudWidget.render(playerContainer, item.soundcloud_url); 1930 } else if (item.link_type === 'youtube' && (item.youtube_id || item.youtube_playlist_id) && window.YoutubeWidget) { 1931 playerSection.style.display = 'block'; 1932 window.YoutubeWidget.render(playerContainer, item.youtube_id, item.youtube_playlist_id, item.embed_type); 1933 } else if (item.link_type === 'steam' && item.steam_appid && window.SteamWidget) { 1934 playerSection.style.display = 'block'; 1935 var steamHost = document.createElement('div'); 1936 steamHost.setAttribute('data-steam-appid', item.steam_appid); 1937 steamHost.setAttribute('data-widget-layout', 'rectangle'); 1938 if (item.rating) steamHost.setAttribute('data-steam-review-score', item.rating); 1939 playerContainer.appendChild(steamHost); 1940 window.SteamWidget.initElement(steamHost); 1941 } else if (item.link_type === 'imdb' && window.ImdbWidget) { 1942 playerSection.style.display = 'block'; 1943 window.ImdbWidget.render(playerContainer, item.imdb_id, item.rating, item.creator, item.year, item.category); 1944 } else if (item.link_type === 'bandcamp' && window.BandcampWidget) { 1945 playerSection.style.display = 'block'; 1946 window.BandcampWidget.render(playerContainer, item.bandcamp_url, item.bandcamp_album_id, item.bandcamp_track_id, item.title, item.creator); 1947 } 1948 } 1949 1950 overlay.style.display = 'flex'; 1951 document.body.style.overflow = 'hidden'; 1952 } 1953 1954 function closeModal() { 1955 overlay.style.display = 'none'; 1956 document.body.style.overflow = ''; 1957 var playerContainer = document.getElementById('favorite-modal-player-container'); 1958 if (playerContainer) playerContainer.innerHTML = ''; 1959 var itemsContainer = document.getElementById('favorite-modal-items-container'); 1960 if (itemsContainer) itemsContainer.innerHTML = ''; 1961 } 1962 1963 document.addEventListener('click', function(e) { 1964 var trigger = e.target.closest('.favorite-modal-trigger'); 1965 if (trigger) { 1966 e.preventDefault(); 1967 e.stopPropagation(); 1968 var slug = trigger.getAttribute('data-favorite'); 1969 if (slug) { 1970 openModal(slug); 1971 } 1972 } 1973 }); 1974 1975 var closeBtn = document.getElementById('favorite-modal-close-btn'); 1976 if (closeBtn) { 1977 closeBtn.addEventListener('click', closeModal); 1978 } 1979 1980 overlay.addEventListener('click', function(e) { 1981 if (e.target === overlay) { 1982 closeModal(); 1983 } 1984 }); 1985 1986 document.addEventListener('keydown', function(e) { 1987 if (e.key === 'Escape' && overlay.style.display === 'flex') { 1988 closeModal(); 1989 } 1990 }); 1991 })(); 1992 } 1993 1994 (function() { 1995 if (typeof window === 'undefined' || window.location.protocol === 'file:') return; 1996 if (document.body && (document.body.classList.contains('is-export') || window.location.pathname.indexOf('/inline/') !== -1 || window.location.pathname.indexOf('/pdfs/') !== -1)) return;
1997 try { 1998 var reqPath = window.location.pathname; 1999 var reqRef = document.referrer || ''; 2000 var trackUrl = '/api/track?path=' + encodeURIComponent(reqPath) + 2001 '&referrer=' + encodeURIComponent(reqRef); 2002 if (typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function') { 2003 navigator.sendBeacon(trackUrl); 2004 } else if (typeof fetch === 'function') { 2005 fetch(trackUrl, { method: 'POST', keepalive: true }).catch(function(){}); 2006 } else { 2007 var img = new Image(); 2008 img.src = trackUrl; 2009 } 2010 } catch(e) {} 2011 })(); 2012 2013 if (document.readyState === 'loading') { 2014 document.addEventListener('DOMContentLoaded', initLayout); 2015 } else { 2016 initLayout(); 2017 } 2018 </script>
2018 2019 2020 2021
2021<script src="../js/cube.js"></script>
2021 2022 2023 2024 2025 2026
2026<script src="../js/rate_limiter.js"></script>
2026 2027
2027<script src="../js/widgets/github_widget.js"></script>
2027 2028
2028<script src="../js/widgets/gist_widget.js"></script>
2028 2029
2029<script src="../js/widgets/itch_widget.js"></script>
2029 2030
2030<script src="../js/widgets/itch_jam_widget.js"></script>
2030 2031
2031<script src="../js/widgets/steam_widget.js"></script>
2031 2032
2032<script src="../js/widgets/soundcloud_widget.js"></script>
2032 2033
2033<script src="../js/widgets/youtube_widget.js"></script>
2033 2034
2034<script src="../js/widgets/bandcamp_widget.js"></script>
2034 2035
2035<script src="../js/widgets/imdb_widget.js"></script>
2035 2036
2036<script src="../js/live_stats.js"></script>
2036 2037
2037<script src="../js/carousel.js"></script>
2037 2038
2038<script src="../js/game_player.js"></script>
2038 2039 2040</body> 2041</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.