
[{"content":"Projects I\u0026rsquo;ve designed, built, and maintained.\n","date":"7 July 2025","externalUrl":null,"permalink":"/projects/created/","section":"Projects","summary":"Projects I’ve designed, built, and maintained.\n","title":"Created","type":"projects"},{"content":"Notable contributions to open source projects.\n","date":"30 September 2026","externalUrl":null,"permalink":"/projects/contributions/","section":"Projects","summary":"Notable contributions to open source projects.\n","title":"Contributions","type":"projects"},{"content":"I\u0026rsquo;ve spent some time recently rebuilding my website from the ground up, and I\u0026rsquo;m continuing to develop it. I\u0026rsquo;ve updated the theme, refined the visuals and styling, and added new pages, sections, and content. Check out the colophon to see how the site was built.\nThis section is a microblog for shorter thoughts and updates.\n","date":"14 October 2026","externalUrl":null,"permalink":"/notes/20261014205413/","section":"Notes","summary":"I’ve spent some time recently rebuilding my website from the ground up, and I’m continuing to develop it. I’ve updated the theme, refined the visuals and styling, and added new pages, sections, and content. Check out the colophon to see how the site was built.\nThis section is a microblog for shorter thoughts and updates.\n","title":"Note · 14 Oct 2026, 20:54","type":"notes"},{"content":"What\u0026rsquo;s on my mind and things I want to share.\n","date":"14 October 2026","externalUrl":null,"permalink":"/notes/","section":"Notes","summary":"What’s on my mind and things I want to share.\n","title":"Notes","type":"notes"},{"content":"","date":"14 October 2026","externalUrl":null,"permalink":"/","section":"Nour Agha","summary":"","title":"Nour Agha","type":"page"},{"content":" This website is my personal and independent home on the web — a place to share my thoughts, ideas, projects, writing, and experiments. Rooted in creative and artistic expression, engineering discipline and philosophy, and digital independence and freedom, it reflects both my identity and my values.\nInspired by the principles of the IndieWeb, it\u0026rsquo;s a space where I own and control my content. Its design and development are guided by three core principles: privacy, simplicity, and performance.\nAs the internet becomes increasingly dominated by a handful of social media platforms and algorithm-driven feeds, there\u0026rsquo;s immense value in having a space of your own. Your online identity, personal expression, and creative content shouldn’t depend entirely on any platform, its algorithms, policies, or shifting priorities. I believe in owning your presence on the web.\n⚙️ Technology # This site is built with Hugo, a fast, open-source static site generator for content-driven websites. Distributed as a self-contained binary, Hugo keeps tooling lightweight and builds fast, without requiring a JavaScript runtime or build toolchain. It also supports Hugo Modules, which use Go for dependency management.\nThe site uses Blowfish as its theme, customized with my own color scheme inspired by Dreamscape, alongside custom Hugo templates and additional CSS for styling and visual refinements.\nContent is written in Markdown, and the site is deployed and hosted on Cloudflare Pages, with its source code maintained on GitHub. Availability and uptime are monitored using Better Stack, with a public status page providing service status and incident updates.\nA custom _redirects configuration preserves older URLs and provides convenient shortcuts to feeds, social profiles, and other resources.\n🎨 Design # ☁️ Dreamscape # The site\u0026rsquo;s visual identity is centered around Dreamscape, my custom visual language built around light, atmosphere, and negative space. More than just an aesthetic or fantasy, it\u0026rsquo;s a personal expression of my identity — my personality, character, creativity, and vision — reflecting both who I am and the ideas, values, and content I share.\nIt consists of two complementary environments, representing two emotional states of mind within the same inner world — one turning inward and the other reaching outward and upward:\n🌑 Dreamscape Midnight (Dark Mode): A deep, quiet, and contemplative atmosphere where cyan light emerges as a soft, luminous glow, illuminating the near-black darkness and evoking introspection, imagination, and inspiration. A private yet expansive inner world for looking inward, exploring dreams, and finding light within the unknown. Its darkness isn\u0026rsquo;t emptiness or despair, but a space for thought, wonder, and endless possibility. 🌥️ Dreamscape Dawn (Light Mode): A bright, heavenly, and ethereal atmosphere where the same cyan light expands into an open, boundless sky, evoking celestial beauty, angelic serenity, and an almost divine sense of bliss and transcendence. A feeling of reaching a higher state of being, embracing new horizons, and finding peace, tranquility, and sanctuary beyond the ordinary. The design uses a restrained palette of near-black (#0A0A0A), white (#FFFFFF), and electric cyan (#00CCFF), with smooth gradients, soft bloom and glow, gentle radiance, atmospheric luminance, and generous open space. The balance between light and dark echoes the harmony found in nature, while the interplay of light, atmosphere, and space creates a serene, immersive, trance-like experience, evoking depth and emotion without unnecessary decoration.\nThe backgrounds use optimized WebP images with dedicated desktop and mobile compositions. The site supports light and dark modes, with dark mode as the default and automatic adaptation to system preferences.\n🩵 Electric Cyan # The same light illuminates Midnight and Dawn: my signature electric cyan (#00CCFF), composed of 100% blue, 80% green, and 0% red (rgb(0, 204, 255)). Its maximum-intensity blue evokes electric energy, inspiration, and transcendence, while its strong green component reflects nature, harmony, and grounded serenity. Together, they form a cool, vibrant, and luminous light expressing two deeply connected aspects of who I am: the dreamer and the guardian.\nAt the heart of Dreamscape, electric cyan is more than my signature color — it is my symbolic presence within this inner world. My name, Nour (نور), literally means light in Arabic, and this luminous, continuous light embodies my identity, character, and spirit. It represents the dreamer and the guardian as two complementary aspects of who I am, united in a single essence that remains unchanged whether emerging from the darkness of Midnight or expanding into the boundless openness of Dawn.\nThe dreamer is the guiding spirit and imaginative heart — empathetic, intuitive, curious, and hopeful. It embraces wonder and the courage to envision what could be, seeking inspiration beyond the boundaries of what already exists. Guided by independent, progressive thought and an idealistic yet pragmatic outlook, it explores possibilities through imagination and innovation. It aspires toward a better future shaped by freedom, creativity, knowledge, progress, and the pursuit of human potential.\nThe guardian is the steadfast, grounding, and protective foundation — calm, resilient, and vigilant, offering sanctuary, security, and stability amid uncertainty. It combines gentle compassion with courage, loyalty, and a fierce, chivalrous spirit of protection and devotion. Guided by purity of intention, humility, and wisdom, it draws strength from conviction and understanding rather than aggression or control, offering reassurance through its steady presence and resolve to stand for what is right. Its profound loyalty to loved ones and principles worth safeguarding is rooted in compassion rather than blind allegiance; its gentleness is never weakness, nor does its serenity diminish its strength.\nThe dreamer and the guardian reflect a balance between idealism and pragmatism, freedom and responsibility, imagination and purpose. One envisions a better world; the other provides the grounding and protection needed to nurture that vision and make it possible.\nElectric cyan unites these qualities in a single, continuous light. Its cool luminosity, soft bloom, and gentle glow evoke clarity, tranquility, trust, and comfort, while its electric intensity brings a vibrant spark of life and energy, stirring imagination, inspiration, hope, euphoria, and an uplifting sense of transcendence. It embodies balance: gentle without being fragile, powerful without being overwhelming, and steadfast without losing its warmth.\nIn Midnight, this light emerges from within, illuminating imagination and offering comfort in darkness. In Dawn, it expands into luminous openness, embodying transcendence, freedom, and possibility. Throughout both, the guardian remains a quiet, reassuring presence.\nMidnight and Dawn reflect a philosophy of looking introspectively inward, progressively forward, and imaginatively upward — seeking understanding within ourselves, striving toward a better future, and daring to envision what lies beyond.\nThe light discovered inwardly in Midnight becomes the light the dreamer rises into in Dawn. 🔤 Typography # Typography uses the self-hosted variable fonts Inter for general text and Fira Code for code. Inter\u0026rsquo;s clean, contemporary design, subtle geometric qualities, and soft, approachable character complement Dreamscape\u0026rsquo;s minimalist aesthetic, while Fira Code provides crisp, readable monospaced typography with programming ligatures.\n🔒 Privacy # Privacy is a fundamental part of this site\u0026rsquo;s design, not an afterthought.\nThere are no advertisements, tracking cookies, or cross-site tracking. I use Umami Cloud and Cloudflare Web Analytics for privacy-first, anonymized, aggregate usage and performance statistics, not for identifying or profiling visitors.\nSome optional features, including comments and Webmentions, rely on third-party services. Cloudflare also processes technical information necessary to deliver and secure the site.\nYou can explore the site\u0026rsquo;s public analytics or read the Privacy page for more details about how data is handled.\n🛡️ Security # Security is a key consideration throughout the site\u0026rsquo;s configuration, with an emphasis on protecting visitors and minimizing unnecessary exposure.\nHTTPS is enforced across the site, with Transport Layer Security (TLS) securing connections and HTTP Strict Transport Security (HSTS) helping prevent protocol downgrade attacks and insecure connections. The domain is included in the HSTS preload list, allowing supporting browsers to enforce HTTPS before the first connection.\nA restrictive Content Security Policy (CSP) is configured through Cloudflare Pages using a custom _headers file and enforced by browsers. It restricts resource loading to explicitly permitted sources and uses cryptographic hashes for approved inline content. These measures help mitigate cross-site scripting (XSS) and other code injection attacks.\nAdditional HTTP security headers provide protections against clickjacking and MIME-type sniffing, while restricting browser permissions and referrer information.\nDNSSEC helps protect the integrity of DNS responses by enabling their authentication. Email security is strengthened through SPF, DKIM, and DMARC, alongside MTA-STS, TLS reporting (TLS-RPT), and DANE. Certificate Authority Authorization (CAA) further restricts which certificate authorities are authorized to issue certificates for the domain.\nA published security.txt file provides a designated contact for security researchers to report vulnerabilities.\nThe site\u0026rsquo;s security configuration can be independently evaluated using:\nMozilla HTTP Observatory (A+ grade / 100+ score) — HTTP security headers and browser security best practices. Hardenize (All tests passed) — Domain, TLS, HTTP, and email security. ⚡ Performance \u0026amp; Simplicity # I believe websites should be fast, lightweight, readable, accessible, and easy to use.\nThis philosophy is partly inspired by Perfect Motherfucking Website, which demonstrates how much can be accomplished with relatively little.\nI see it as a guiding principle rather than a strict set of rules. Simplicity doesn\u0026rsquo;t have to mean sacrificing personality, aesthetics, or useful functionality. Some features inevitably introduce complexity or performance costs, and that\u0026rsquo;s okay when the benefits justify the trade-offs.\nThe goal isn\u0026rsquo;t to build the smallest possible website, but to avoid unnecessary complexity and make deliberate choices about what deserves to be there.\nHugo’s static output, Cloudflare\u0026rsquo;s global network, efficient content delivery and compression, optimized images, self-hosted fonts, and lightweight customizations all contribute to keeping the site fast, responsive, and efficient.\nThe site has achieved near-perfect scores of 99–100 across all four Lighthouse categories — Performance, Accessibility, Best Practices, and SEO — on both mobile and desktop, as measured by Google PageSpeed Insights, powered by Lighthouse.\n🌐 The Open Web # I believe the web should remain open, decentralized, and accessible to everyone.\nSocial media platforms can be useful for discovering content and connecting with others, but they shouldn\u0026rsquo;t be the only way to publish, share, or participate online.\nThis site embraces that philosophy by supporting RSS for following content without relying on algorithms, Webmentions through Webmention.io and Bridgy for interactions across the web, and comments through Giscus and GitHub Discussions.\nThese features help connect this independent space to the wider internet without making any single social platform its center.\n🤖 AI Assistance # I use ChatGPT, Claude, and Gemini as thinking partners across my creative and technical work — from exploring ideas and gaining new perspectives to refining phrasing and working through code. Their real-time feedback helps me evaluate possibilities, iterate on ideas, and make decisions, allowing me to move faster and get things done more efficiently.\nAI is a tool that supports and accelerates my process, not a substitute for my own creativity, critical thinking, or judgment. The content and writing on this site are my own, as are the ideas, creative direction, and final decisions behind my work.\nTo bring my artistic vision for Dreamscape to life, I worked with AI to develop a deterministic Python script that mathematically combines six overlapping Gaussian light sources into soft, luminous gradients of my signature electric cyan. The artwork follows my specifications and is procedurally generated by code, not an AI image-generation model.\n💻 Source Code \u0026amp; Credits # The source code is publicly available under the MIT License.\nOriginal visual assets, including Dreamscape artwork, images, logos, and illustrations, are all rights reserved unless otherwise stated and may not be reused without prior permission. Third-party assets remain subject to their respective licenses, terms, and attribution requirements.\nSee ASSETS.md for the full visual asset usage policy.\nThis website wouldn\u0026rsquo;t be possible without the many people who create and maintain free and open-source software.\nIt\u0026rsquo;s an ongoing personal project, and I\u0026rsquo;ll continue refining it as I learn, experiment, and discover better ways to do things.\nBuilt with ❤️ and ☕\n","date":"12 October 2026","externalUrl":null,"permalink":"/colophon/","section":"Nour Agha","summary":" This website is my personal and independent home on the web — a place to share my thoughts, ideas, projects, writing, and experiments. Rooted in creative and artistic expression, engineering discipline and philosophy, and digital independence and freedom, it reflects both my identity and my values.\nInspired by the principles of the IndieWeb, it’s a space where I own and control my content. Its design and development are guided by three core principles: privacy, simplicity, and performance.\n","title":"Colophon","type":"page"},{"content":"A snapshot of what I\u0026rsquo;ve been up to lately. This page is inspired by the /now page movement.\nI\u0026rsquo;m focused on growing as a software engineer, building things I care about, taking care of myself, and finding a sustainable balance between work, learning, health, and the things I enjoy. 🏢 Work # I\u0026rsquo;ve been building and maintaining systems, documentation, and tooling while troubleshooting software and hardware issues. I\u0026rsquo;m also exploring AI integration and automation through projects while working toward my long-term career goals.\nEarlier this year, I worked on building and deploying an AI system that transcribes customer calls with faster-whisper and WhisperX. It uses LLMs through Ollama, vLLM, and the OpenAI API for sentiment analysis, emotion detection, and generating detailed insights and reports. I also host, maintain, and administer a Chatwoot server on Google Cloud Platform.\n👨🏻‍💻 Projects # I\u0026rsquo;m continuing to work on my personal projects and contributing to open source projects, as well as shaping agha.dev into a personal space for my projects, ideas, writing, and experiments. I\u0026rsquo;m interested in thoughtful design, useful software, and building things with privacy in mind, as well as staying up to date with AI and agentic development.\nVS Code with GitHub Copilot: Standardizing document formatting 🌱 Learning # I’m revisiting programming fundamentals and learning new languages and frameworks to grow and develop my skills further. I’m planning to put what I learn into practice through personal projects and tools for communities I\u0026rsquo;m passionate about.\n❤️ Health \u0026amp; Fitness # I’m focused on improving my overall fitness and health while building muscle and strength. I train four days a week with an upper/lower split, or three days a week with full-body workouts. This allows me to train each muscle group at least twice a week. Each workout lasts about 90 minutes: 60 minutes of strength training and 30 minutes of cardio.\nMy sessions are based on resistance training and progressive overload. I start with 10 minutes of incline walking as a warm-up, followed by an hour of weight lifting and another 20 minutes of incline walking to finish and burn extra calories.\nI’m building sustainable long-term habits that include morning stretching, meal planning and cooking at home when I can, eating a balanced whole-food diet, taking supplements, and maintaining self-care routines.\n🎮 Gaming # I got back into RuneScape after a long break and I\u0026rsquo;m catching up on the latest content, rediscovering the game and experiencing what\u0026rsquo;s changed as I work toward reclaiming my Completionist cape. I recently hit a major milestone and claimed my 20-year Veteran cape, marking over two decades in the game.\nIn November, I\u0026rsquo;m planning to return to World of Warcraft by playing WoW Forever and immersing myself again in Azeroth, a world that has always felt like home and holds many memories.\nRuneScape: Cutting eternal magic trees for 110 Woodcutting\n🎹 Music # I\u0026rsquo;m looking to reconnect with my passion for electronic music through mixing and production. I\u0026rsquo;d love to spend more time exploring that creative, artistic, and emotional side again, experimenting with sounds, and rediscovering the joy of creating and sharing music.\nLately, I\u0026rsquo;ve been listening to a lot of deep, progressive, and melodic house and techno, as well as chillout and downtempo. I\u0026rsquo;ve also been keeping up with Above \u0026amp; Beyond and releases from their Anjunabeats, Anjunadeep, and newer Anjunachill labels. I\u0026rsquo;ve been exploring music from artists like Mahmut Orhan, Guy Didden, Into The Ether, Because of Art, Jan Blomqvist, mölly, and Marten Lou.\nSome of my favorite discoveries this year have been Planet of Souls for their cinematic electronic downtempo style and ethereal vocals, and Lynnic \u0026amp; ItsArius for their emotional, atmospheric melodic deep house.\nLynnic, ItsArius \u0026amp; Dinia - Fading Away (Live) Lynnic, ItsArius \u0026amp; Sam Welch - More Than Us (Live) Note: YouTube embed playback may not be available on mobile. ☕ Coffee \u0026amp; Drinks # I\u0026rsquo;ve been honing my home barista skills, getting creative with iced coffee and matcha lattes, frappes, homemade cold foams, and smoothies (both drinks and bowls). I love experimenting with different flavors, fruits, and colorful ingredients like blue spirulina, butterfly pea flower, and pink pitaya. I find the creative ritual of making each drink really therapeutic, and I much prefer iced drinks to hot drinks because I find them very refreshing and energizing, which makes them more enjoyable. It\u0026rsquo;s especially satisfying to create something as healthy as it is delicious, with natural or zero-calorie sweeteners.\nIced latte with vanilla cold foam Iced strawberry matcha latte Earth sky iced matcha latte Pink pitaya iced latte Blue spirulina smoothie bowl Previous Next ","date":"9 October 2026","externalUrl":null,"permalink":"/now/","section":"Nour Agha","summary":"A snapshot of what I’ve been up to lately. This page is inspired by the /now page movement.\nI’m focused on growing as a software engineer, building things I care about, taking care of myself, and finding a sustainable balance between work, learning, health, and the things I enjoy. 🏢 Work # I’ve been building and maintaining systems, documentation, and tooling while troubleshooting software and hardware issues. I’m also exploring AI integration and automation through projects while working toward my long-term career goals.\n","title":"Now","type":"page"},{"content":"The gear, software, and tech I use day to day. This page is inspired by the uses.tech community.\nI highly value privacy, simplicity, efficiency, and flexibility. ⚙️ Hardware # 💻 Laptop: Lenovo IdeaPad Gaming 3 16IAH7 — my main machine for work and development. CPU: Intel Core i7-12650H GPU: NVIDIA RTX 3060 6 GB RAM: 64 GB DDR4 SSD: 512 GB NVMe M.2 📱 Phone: Samsung Galaxy A55 — for calls, messaging, photos, and everyday essentials. 📱 Tablet: Samsung Galaxy A9 — for reading, media, and casual entertainment. ⌚ Smartwatch: Amazfit Active 2 — an elegant and lightweight smartwatch for daily wear, notifications, health monitoring, and fitness tracking. 🖥️ Software # 👨🏻‍💻 Development # ⚙️ Operating system: Pop!_OS — Ubuntu-based Linux and my daily driver for development, productivity, and gaming. 🪟 Desktop environment: COSMIC ⌨️ Terminal: COSMIC Terminal 🐟 Shell: fish — a friendly, interactive shell with syntax highlighting, autosuggestions, and tab completions out of the box, giving me a cleaner experience than zsh with plugins. 🧩 Shell plugins: Fisher — plugin manager for fish. I mainly use plugin-git for git aliases, fzf.fish for fuzzy finding, and nvm.fish for node version management. ✨ Prompt: Starship — a minimal, fast, customizable, and cross-shell prompt. 📝 Editor: VS Code — for code editing with extensions and AI agents. 🧠 Languages: C, C++, Java, Bash/Shell, and Windows Batch/CMD 🔄 Version control: Git ⚡ Static site generator: Hugo — a fast static site generator with a single binary and no runtime dependencies, powering my website. 🚀 Hosting \u0026amp; infrastructure: Cloudflare Pages and DigitalOcean 🟢 Status monitoring: Better Stack 📊 Analytics: Umami — privacy-first, cookieless analytics for my website. 🤖 AI # 💬 Assistant: ChatGPT, Claude, Gemini, and Ollama (local) — for brainstorming, research, learning, productivity, creative exploration, problem-solving, and feedback. 🛠️ Coding \u0026amp; agents: GitHub Copilot (primary coding assistant), Codex, Claude Code, and Antigravity — for coding, agentic development, and technical workflows. 📦 Applications # ✉️ Mail: Proton Mail — for private, secure, and encrypted mail with SimpleLogin for email aliases. 📅 Calendar: Proton Calendar 🔑 Password manager: Bitwarden and Proton Pass 🛡️ Authenticator: Ente Auth and Proton Authenticator 🌐 Browser: Firefox — I use a hardened configuration for privacy. Main extensions: uBlock Origin (ad and content blocker) Violentmonkey (userscripts) Stylus (userstyles) — I use the Catppuccin Mocha (Sapphire) theme for many websites. Dark Reader (dark mode) Firefox Multi-Account Containers (separating personal, work, and other browsing) 💬 Communication: Signal, WhatsApp, Discord, and Element 🗝️ VPN \u0026amp; network privacy: Cloudflare WARP and Proton VPN 📝 Notes: Obsidian and Standard Notes 🖼️ Photos: Ente Photos 💳 Wallet: Cake Wallet, Coinbase Wallet, and Proton Wallet 🎮 Game launchers: Steam (with Proton), Lutris, Heroic Games Launcher, and Prism Launcher 🔁 Windows compatibility: Bottles — for running Windows apps and games on Linux. 🖥️ Remote desktop: RustDesk 🎛️ Digital audio workstation: Bitwig Studio — for music production and mixing. 🔐 Encryption: Cryptomator (cloud) and VeraCrypt (disk) 💾 Backup: Kopia 🎨 Design \u0026amp; editing: GIMP and Kdenlive — for creative media editing and content creation. 📸 Screenshots: ShareX — the best screenshot tool I have ever used. ❤️ Health \u0026amp; fitness tracking: Zepp Health — for my Amazfit Active 2 watch. 🍎 Nutrition tracking: Cronometer 🌈 Theme: Catppuccin Mocha (Sapphire) — my favorite theme across many applications. I like its calm, colorful, and soothing aesthetic. 🅰️ Font: Inter and Fira Code — my main sans-serif and monospace typefaces for the site and code. ☁️ Services # 🔎 Search: DuckDuckGo, Brave Search, and Startpage — for private search and varied results. 📁 Cloud storage: Proton Drive, Tresorit, and Google Drive 🎵 Music: Spotify and Anghami 📺 Video: Netflix and Prime Video 🧰 Accessories # 🎧 Headphones: Anker soundcore Space One — I really like Anker audio products for casual, everyday listening and calls. They offer great quality, excellent value, and solid ANC, and I can connect and manage everything in the same polished, feature-rich Soundcore app. Check out the reviews on SoundGuys. 🔊 Portable speaker: Anker soundcore Select 4 Go — one of the best purchases I’ve made. It punches well above its weight and is surprisingly loud for its size, with much better sound and value, and nearly three times the battery life of the JBL Go models I previously owned. 🔋 Power \u0026amp; charging: Anker 336 Charger (67W), Anker 533 Power Bank (PowerCore 30W), and Anker USB-C Cables — Anker is hard to beat for charging essentials. Reliable, practical, and consistently excellent quality and value. 🎒 Bag: SWISSGEAR ScanSmart Backpack ","date":"7 October 2026","externalUrl":null,"permalink":"/uses/","section":"Nour Agha","summary":"The gear, software, and tech I use day to day. This page is inspired by the uses.tech community.\nI highly value privacy, simplicity, efficiency, and flexibility. ⚙️ Hardware # 💻 Laptop: Lenovo IdeaPad Gaming 3 16IAH7 — my main machine for work and development. CPU: Intel Core i7-12650H GPU: NVIDIA RTX 3060 6 GB RAM: 64 GB DDR4 SSD: 512 GB NVMe M.2 📱 Phone: Samsung Galaxy A55 — for calls, messaging, photos, and everyday essentials. 📱 Tablet: Samsung Galaxy A9 — for reading, media, and casual entertainment. ⌚ Smartwatch: Amazfit Active 2 — an elegant and lightweight smartwatch for daily wear, notifications, health monitoring, and fitness tracking. 🖥️ Software # 👨🏻‍💻 Development # ⚙️ Operating system: Pop!_OS — Ubuntu-based Linux and my daily driver for development, productivity, and gaming. 🪟 Desktop environment: COSMIC ⌨️ Terminal: COSMIC Terminal 🐟 Shell: fish — a friendly, interactive shell with syntax highlighting, autosuggestions, and tab completions out of the box, giving me a cleaner experience than zsh with plugins. 🧩 Shell plugins: Fisher — plugin manager for fish. I mainly use plugin-git for git aliases, fzf.fish for fuzzy finding, and nvm.fish for node version management. ✨ Prompt: Starship — a minimal, fast, customizable, and cross-shell prompt. 📝 Editor: VS Code — for code editing with extensions and AI agents. 🧠 Languages: C, C++, Java, Bash/Shell, and Windows Batch/CMD 🔄 Version control: Git ⚡ Static site generator: Hugo — a fast static site generator with a single binary and no runtime dependencies, powering my website. 🚀 Hosting \u0026 infrastructure: Cloudflare Pages and DigitalOcean 🟢 Status monitoring: Better Stack 📊 Analytics: Umami — privacy-first, cookieless analytics for my website. 🤖 AI # 💬 Assistant: ChatGPT, Claude, Gemini, and Ollama (local) — for brainstorming, research, learning, productivity, creative exploration, problem-solving, and feedback. 🛠️ Coding \u0026 agents: GitHub Copilot (primary coding assistant), Codex, Claude Code, and Antigravity — for coding, agentic development, and technical workflows. 📦 Applications # ✉️ Mail: Proton Mail — for private, secure, and encrypted mail with SimpleLogin for email aliases. 📅 Calendar: Proton Calendar 🔑 Password manager: Bitwarden and Proton Pass 🛡️ Authenticator: Ente Auth and Proton Authenticator 🌐 Browser: Firefox — I use a hardened configuration for privacy. Main extensions: uBlock Origin (ad and content blocker) Violentmonkey (userscripts) Stylus (userstyles) — I use the Catppuccin Mocha (Sapphire) theme for many websites. Dark Reader (dark mode) Firefox Multi-Account Containers (separating personal, work, and other browsing) 💬 Communication: Signal, WhatsApp, Discord, and Element 🗝️ VPN \u0026 network privacy: Cloudflare WARP and Proton VPN 📝 Notes: Obsidian and Standard Notes 🖼️ Photos: Ente Photos 💳 Wallet: Cake Wallet, Coinbase Wallet, and Proton Wallet 🎮 Game launchers: Steam (with Proton), Lutris, Heroic Games Launcher, and Prism Launcher 🔁 Windows compatibility: Bottles — for running Windows apps and games on Linux. 🖥️ Remote desktop: RustDesk 🎛️ Digital audio workstation: Bitwig Studio — for music production and mixing. 🔐 Encryption: Cryptomator (cloud) and VeraCrypt (disk) 💾 Backup: Kopia 🎨 Design \u0026 editing: GIMP and Kdenlive — for creative media editing and content creation. 📸 Screenshots: ShareX — the best screenshot tool I have ever used. ❤️ Health \u0026 fitness tracking: Zepp Health — for my Amazfit Active 2 watch. 🍎 Nutrition tracking: Cronometer 🌈 Theme: Catppuccin Mocha (Sapphire) — my favorite theme across many applications. I like its calm, colorful, and soothing aesthetic. 🅰️ Font: Inter and Fira Code — my main sans-serif and monospace typefaces for the site and code. ☁️ Services # 🔎 Search: DuckDuckGo, Brave Search, and Startpage — for private search and varied results. 📁 Cloud storage: Proton Drive, Tresorit, and Google Drive 🎵 Music: Spotify and Anghami 📺 Video: Netflix and Prime Video 🧰 Accessories # 🎧 Headphones: Anker soundcore Space One — I really like Anker audio products for casual, everyday listening and calls. They offer great quality, excellent value, and solid ANC, and I can connect and manage everything in the same polished, feature-rich Soundcore app. Check out the reviews on SoundGuys. 🔊 Portable speaker: Anker soundcore Select 4 Go — one of the best purchases I’ve made. It punches well above its weight and is surprisingly loud for its size, with much better sound and value, and nearly three times the battery life of the JBL Go models I previously owned. 🔋 Power \u0026 charging: Anker 336 Charger (67W), Anker 533 Power Bank (PowerCore 30W), and Anker USB-C Cables — Anker is hard to beat for charging essentials. Reliable, practical, and consistently excellent quality and value. 🎒 Bag: SWISSGEAR ScanSmart Backpack ","title":"Uses","type":"page"},{"content":"A personal website and blog theme for Hugo that powers this site.\nAdded Ko-fi integration (#3118), shipped in v3.9.0. nunocoracao/blowfish Personal Website \u0026amp; Blog Theme for Hugo HTML 2912 763 ","date":"30 September 2026","externalUrl":null,"permalink":"/projects/contributions/blowfish/","section":"Projects","summary":"A personal website and blog theme for Hugo that powers this site.\nAdded Ko-fi integration (#3118), shipped in v3.9.0. nunocoracao/blowfish Personal Website \u0026 Blog Theme for Hugo HTML 2912 763 ","title":"Blowfish","type":"projects"},{"content":"","date":"30 September 2026","externalUrl":null,"permalink":"/tags/go/","section":"Tags","summary":"","title":"Go","type":"tags"},{"content":"","date":"30 September 2026","externalUrl":null,"permalink":"/tags/hugo/","section":"Tags","summary":"","title":"Hugo","type":"tags"},{"content":"Projects I\u0026rsquo;ve built and open source projects I\u0026rsquo;ve contributed to.\n","date":"30 September 2026","externalUrl":null,"permalink":"/projects/","section":"Projects","summary":"Projects I’ve built and open source projects I’ve contributed to.\n","title":"Projects","type":"projects"},{"content":"","date":"30 September 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"30 September 2026","externalUrl":null,"permalink":"/tags/tailwind-css/","section":"Tags","summary":"","title":"Tailwind CSS","type":"tags"},{"content":" This site is designed and built with privacy in mind. It uses privacy-first, cookieless analytics that collect aggregate information about site usage, such as pages visited, referrers, approximate country, and device/browser type. This information helps me understand which content people find helpful, how they navigate the site, and how the site and its content can be improved. The data is anonymized and does not include personally identifiable information. There is no advertising, tracking cookies, or cross-site tracking, and analytics are not used to build personal profiles.\nOverview # Service Purpose What it does Cloudflare Pages Hosting Processes technical information needed to deliver and secure the site Umami Cloud Primary analytics Privacy-first, cookieless, anonymized usage statistics Cloudflare Web Analytics Additional analytics \u0026amp; performance Privacy-first, cookieless, aggregate usage and performance metrics Giscus / GitHub Comments Stores comments as GitHub Discussions Webmention.io / Bridgy Webmentions Processes publicly available web content Hosting # The site is deployed and hosted on Cloudflare Pages. Cloudflare may process standard technical information, such as IP addresses and user-agent information, as necessary to deliver, secure, and operate its infrastructure.\nFor more information, see Cloudflare\u0026rsquo;s Privacy Policy.\nAnalytics # Umami Cloud is the primary analytics service used on this site. It collects anonymized information such as pages visited, referrers, country, browser, operating system, and device type. Umami does not store personally identifiable information and does not use cookies or track visitors across websites.\nCloudflare Web Analytics is also enabled through Cloudflare Pages. It provides additional traffic and performance metrics and does not collect or use visitors\u0026rsquo; personal data or track individual end users across different websites.\nYou can view the public, aggregate analytics for this site at agha.dev/analytics.\nNeither analytics service is used for advertising, cross-site tracking, or building personal profiles.\nFor more information:\nUmami privacy documentation Cloudflare Web Analytics documentation Comments # Comments are provided through Giscus, which uses GitHub Discussions in this site\u0026rsquo;s source repository. Posting a comment requires a GitHub account, and anything you post is publicly visible.\nFor more information, see GitHub\u0026rsquo;s Privacy Statement.\nWebmentions # This site supports Webmentions through Webmention.io and Bridgy.\nInteractions with posts here, such as replies, likes, reposts, and mentions from supported platforms, may appear on this site. These services process publicly available information associated with those interactions.\nSource Code # This site\u0026rsquo;s source code is publicly available on GitHub.\nContact # Questions about privacy on this site?\nnour@agha.dev\n","date":"26 September 2026","externalUrl":null,"permalink":"/privacy/","section":"Nour Agha","summary":" This site is designed and built with privacy in mind. It uses privacy-first, cookieless analytics that collect aggregate information about site usage, such as pages visited, referrers, approximate country, and device/browser type. This information helps me understand which content people find helpful, how they navigate the site, and how the site and its content can be improved. The data is anonymized and does not include personally identifiable information. There is no advertising, tracking cookies, or cross-site tracking, and analytics are not used to build personal profiles.\n","title":"Privacy","type":"page"},{"content":"","date":"7 July 2025","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","date":"7 July 2025","externalUrl":null,"permalink":"/tags/jvm/","section":"Tags","summary":"","title":"JVM","type":"tags"},{"content":"","date":"7 July 2025","externalUrl":null,"permalink":"/categories/minecraft/","section":"Categories","summary":"","title":"Minecraft","type":"categories"},{"content":" Paper server built, hosted, and administered for a dedicated community of over a thousand members, featuring JVM performance optimization, plugins, live 2D/3D web maps, and analytics for server performance and player activity metrics. Fabric client modpack curated, hosted, and maintained on Modrinth with thousands of downloads, featuring performance optimization and graphics enhancement mods. ","date":"7 July 2025","externalUrl":null,"permalink":"/projects/created/minecraft-smp/","section":"Projects","summary":" Paper server built, hosted, and administered for a dedicated community of over a thousand members, featuring JVM performance optimization, plugins, live 2D/3D web maps, and analytics for server performance and player activity metrics. Fabric client modpack curated, hosted, and maintained on Modrinth with thousands of downloads, featuring performance optimization and graphics enhancement mods. ","title":"Minecraft SMP","type":"projects"},{"content":"","date":"7 July 2025","externalUrl":null,"permalink":"/tags/modpack/","section":"Tags","summary":"","title":"Modpack","type":"tags"},{"content":"","date":"7 July 2025","externalUrl":null,"permalink":"/tags/server-administration/","section":"Tags","summary":"","title":"Server Administration","type":"tags"},{"content":"A simple and clean blog theme for Hugo, previously used for my site.\nAdded automatic color scheme switching for syntax highlighting (#815) Added support for Pirsch analytics (#795) Added giscus as a comment system (#753) luizdepra/hugo-coder A minimalist blog theme for hugo. HTML 3116 1153 ","date":"14 June 2023","externalUrl":null,"permalink":"/projects/contributions/hugo-coder/","section":"Projects","summary":"A simple and clean blog theme for Hugo, previously used for my site.\nAdded automatic color scheme switching for syntax highlighting (#815) Added support for Pirsch analytics (#795) Added giscus as a comment system (#753) luizdepra/hugo-coder A minimalist blog theme for hugo. HTML 3116 1153 ","title":"Hugo Coder","type":"projects"},{"content":"","date":"14 June 2023","externalUrl":null,"permalink":"/tags/scss/","section":"Tags","summary":"","title":"SCSS","type":"tags"},{"content":"Writing about what I build, learn, and enjoy.\n","date":"13 May 2023","externalUrl":null,"permalink":"/posts/","section":"Blog","summary":"Writing about what I build, learn, and enjoy.\n","title":"Blog","type":"posts"},{"content":"","date":"13 May 2023","externalUrl":null,"permalink":"/tags/email/","section":"Tags","summary":"","title":"Email","type":"tags"},{"content":"An MTA-STS (Mail Transfer Agent Strict Transport Security) policy is essential for securing your emails with both encryption and authentication. This helps prevent potential and malicious MITM (man-in-the-middle) attacks which involve interception and tampering during transit through SMTP (Simple Mail Transfer Protocol) used by mail providers. MTA-STS is a fairly new standard which makes email communication much more secure, and has been adopted by Google only a few years ago and Microsoft as of last year. If you have and use your own domain for email, you will need to create, configure, and publish your own MTA-STS policy.\nCreating a policy # My MTA-STS policy is published and can be accessed at https://mta-sts.agha.dev/.well-known/mta-sts.txt. For your domain, this similarly requires defining and configuring your policy in an mta-sts.txt file under a .well-known directory at the root of an mta-sts subdomain. In a Hugo repository, for .well-known to be at the root of your site, it should go under the /static directory at the root of your repository. The mta-sts.txt file should have the following contents:\nversion: STSv1 mode: enforce mx: mail.protonmail.ch mx: mailsec.protonmail.ch max_age: 604800 The version currently adopted is STSv1. The mode can be either none, testing, or enforce: none disables the policy. testing only evaluates the policy without enforcing it and requests reports via TLS-RPT. enforce actively enforces the policy and connection security. The mx values depend on the MX (mail exchange) servers of your mail provider. I use Proton Mail which uses mail.protonmail.ch and mailsec.protonmail.ch as MX servers. The max_age value is how long (in seconds) the policy is cached, which is set to a recommended 604800 (1 week). My site repository is hosted on GitHub and I came across this excellent article on Hosting your MTA-STS policy using GitHub Pages and used it for hosting my policy. However, later on I felt that having or maintaining a separate repository (or even branch) just for my MTA-STS policy was not the most efficient approach, and I wanted to keep things as minimal as possible and have everything related to my website in one single repository.\nThis can be easily done by creating a different branch (mta-sts) within my site repository, but having a different branch just to serve one file was also not the most efficient or minimal approach, especially when I already have a .well-known directory in my main branch where other files are served under my base domain (such as those needed for my Mastodon alias).\nPlacing my mta-sts.txt policy configuration file under the .well-known directory in my main branch was the best approach, but there was one problem. This would serve it from my base domain agha.dev rather than the mta-sts.agha.dev subdomain.\nRedirects and rewrites # This is where Netlify redirects and rewrites, as ever, come in handy. To solve this, defining some redirects and rewrites in my netlify.toml file was needed as follows:\n[[redirects]] from = \u0026#34;https://mta-sts.agha.dev/.well-known/mta-sts.txt\u0026#34; to = \u0026#34;https://agha.dev/.well-known/mta-sts.txt\u0026#34; status = 200 [[redirects]] from = \u0026#34;https://mta-sts.agha.dev/*\u0026#34; to = \u0026#34;https://mta-sts.agha.dev/.well-known/mta-sts.txt\u0026#34; status = 302 force = true The first redirect rule uses the HTTP 200 code and essentially does a rewrite by making use of rewrites and proxying. This means that when https://mta-sts.agha.dev/.well-known/mta-sts.txt is visited, the server responds with https://agha.dev/.well-known/mta-sts.txt without changing the URL in the address bar of the browser.\nThe second redirect rule is a simple HTTP 302 redirect and uses a * wildcard. which makes it so that visiting the https://mta-sts.agha.dev subdomain always redirects to my MTA-STS policy configuration in mta-sts.txt, no matter what\u0026rsquo;s typed after the URL. This is important because this subdomain is not going to be used for serving anything else other than my MTA-STS policy, and due to how the DNS records are configured in Netlify, not having this redirect would instead make the URL serve my website rather than the policy.\nIf we visit https://mta-sts.agha.dev/.well-known/mta-sts.txt, we can see that my policy is successfully returned and served from the correct URL. For short, it can also be accessed at https://mta-sts.agha.dev, but the full URL is what mail servers need and look for when checking for an MTA-STS policy.\nDNS records # Lastly, in order to enable MTA-STS and signal that my domain supports it, a DNS record should be defined as follows:\nName: _mta-sts.agha.dev TTL: 3600 Type: TXT Value: v=STSv1; id=1666328180 The id is set as the current time in epoch (UNIX) time (the amount of seconds since 1 January 1970). 1666328180 refers to October 21, 2022, which is the time I created and published my policy. It needs to be unique and updated every time any changes or updates are made to the policy. An epoch converter is useful.\nTo add and enable TLS-RPT (SMTP TLS Reporting) reports for statistics such as successes and failures, I use Report URI to collect the reports and have the following DNS record added:\nName: _smtp._tls.agha.dev TTL: 3600 Type: TXT Value: v=TLSRPTv1; rua=mailto:nour-d@tlsrpt.report-uri.com This sends reports to nour-d@tlsrpt.report-uri.com, which allows the reports and statistics to be displayed in my Report URI dashboard. It can be substituted for one of my emails, but using a service like Report URI collects and aggregates the reports and displays them to be visualized in a nicer way through graphs.\nAfter setting up MTA-STS and TLS-RPT, Hardenize shows that my domain is properly hardened and secured for email.\n","date":"13 May 2023","externalUrl":null,"permalink":"/posts/hosting-an-mta-sts-policy-using-hugo-and-netlify/","section":"Blog","summary":"An MTA-STS (Mail Transfer Agent Strict Transport Security) policy is essential for securing your emails with both encryption and authentication. This helps prevent potential and malicious MITM (man-in-the-middle) attacks which involve interception and tampering during transit through SMTP (Simple Mail Transfer Protocol) used by mail providers. MTA-STS is a fairly new standard which makes email communication much more secure, and has been adopted by Google only a few years ago and Microsoft as of last year. If you have and use your own domain for email, you will need to create, configure, and publish your own MTA-STS policy.\n","title":"Hosting an MTA-STS policy using Hugo and Netlify","type":"posts"},{"content":"","date":"13 May 2023","externalUrl":null,"permalink":"/categories/security/","section":"Categories","summary":"","title":"Security","type":"categories"},{"content":"","date":"13 May 2023","externalUrl":null,"permalink":"/tags/web/","section":"Tags","summary":"","title":"Web","type":"tags"},{"content":"","date":"25 April 2023","externalUrl":null,"permalink":"/tags/activitypub/","section":"Tags","summary":"","title":"Activitypub","type":"tags"},{"content":"You can create a Mastodon alias with your own custom domain without having to host your own Mastodon server, thanks to some web magic. It\u0026rsquo;s called an alias because it doesn\u0026rsquo;t change your actual address, but it\u0026rsquo;s very useful for identity and discoverability. This means that others can find you on Mastodon (or the wider fediverse) using your alias – a part of your identity that remains unchanged, even if you switch or migrate servers.\nSince it uses your own custom domain, your Mastodon alias could be the same as your email address, for example. My Mastodon account is Nour@fosstodon.org, but you can also find my account by searching nour@agha.dev.\nMastodon user search: WebFinger protocol # To understand how this works, you will need to understand how Mastodon search works, which uses a discovery protocol called WebFinger. This means that when you search for a username or handle on Mastodon, a WebFinger query is performed which returns a JSON document containing their information.\nFor example, when you search for Nour@fosstodon.org on Mastodon, a GET request is performed at a WebFinger endpoint which looks like this:\nhttps://fosstodon.org/.well-known/webfinger?resource=acct:Nour@fosstodon.org This returns the below JSON document:\n{ \u0026#34;subject\u0026#34;: \u0026#34;acct:Nour@fosstodon.org\u0026#34;, \u0026#34;aliases\u0026#34;: [ \u0026#34;https://fosstodon.org/@Nour\u0026#34;, \u0026#34;https://fosstodon.org/users/Nour\u0026#34; ], \u0026#34;links\u0026#34;: [ { \u0026#34;rel\u0026#34;: \u0026#34;http://webfinger.net/rel/profile-page\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;text/html\u0026#34;, \u0026#34;href\u0026#34;: \u0026#34;https://fosstodon.org/@Nour\u0026#34; }, { \u0026#34;rel\u0026#34;: \u0026#34;self\u0026#34;, \u0026#34;type\u0026#34;: \u0026#34;application/activity+json\u0026#34;, \u0026#34;href\u0026#34;: \u0026#34;https://fosstodon.org/users/Nour\u0026#34; }, { \u0026#34;rel\u0026#34;: \u0026#34;http://ostatus.org/schema/1.0/subscribe\u0026#34;, \u0026#34;template\u0026#34;: \u0026#34;https://fosstodon.org/authorize_interaction?uri={uri}\u0026#34; } ] } To create a Mastodon alias, it involves a simple trick, and all you have to do is host a WebFinger endpoint on your own domain at /.well-known/webfinger, the same place it lives on your Mastodon server (i.e. fosstodon.org). For a WebFinger query or lookup to be successful, it needs to find this at the root of your website as a JSON formatted document containing your profile information to be returned.\nYou can visit this URL and you will find that it returns the same JSON document above:\nhttps://agha.dev/.well-known/webfinger When you search for nour@agha.dev on Mastodon, a WebFinger lookup is done on the agha.dev domain, which finds my Fosstodon account or profile information, and leads to my Fosstodon profile being returned as a result.\nOther people can now find me by the same identity and address I use for my email and don\u0026rsquo;t need to know or memorize what server I\u0026rsquo;m on or instance I decide to migrate to, because the alias is the same. If I need to migrate to another Mastodon instance, I will just need to update the JSON document on my website at /.well-known/webfinger with my new instance and Mastodon username.\nIf you would like to get your own alias set up, I would highly recommend the Masto Guide for this, which makes things very easy by allowing you to interactively fill your information in the placeholder fields.\nCustom links and redirects # After I had my alias set up, I decided to take things a step further. Instead of only being found with my custom alias through Mastodon search, I also wanted a way to be able to externally link my account to people outside Mastodon while using my custom domain for consistency. For example, visiting https://agha.dev/@nour would redirect to my Mastodon profile at https://fosstodon.org/@Nour.\nThere are a lot of ways to do URL redirects, and since my website is hosted on Netlify, this is easily achievable with their powerful and flexible redirects and rewrites.\nThis was done by adding these lines to my netlify.toml file to create an HTTP 302 redirect:\n[[redirects]] from = \u0026#34;/@nour/*\u0026#34; to = \u0026#34;https://fosstodon.org/@Nour/:splat\u0026#34; status = 302 force = true By using * as a wildcard after agha.dev/@nour/, I\u0026rsquo;ve not only created a redirect to my Mastodon profile, but also to my posts, since any input there will get appended to https://fosstodon.org/@Nour/. You can try this here: https://agha.dev/@nour/109599984030559230\n","date":"25 April 2023","externalUrl":null,"permalink":"/posts/creating-a-mastodon-alias/","section":"Blog","summary":"You can create a Mastodon alias with your own custom domain without having to host your own Mastodon server, thanks to some web magic. It’s called an alias because it doesn’t change your actual address, but it’s very useful for identity and discoverability. This means that others can find you on Mastodon (or the wider fediverse) using your alias – a part of your identity that remains unchanged, even if you switch or migrate servers.\n","title":"Creating a Mastodon alias","type":"posts"},{"content":"","date":"25 April 2023","externalUrl":null,"permalink":"/tags/mastodon/","section":"Tags","summary":"","title":"Mastodon","type":"tags"},{"content":"","date":"25 April 2023","externalUrl":null,"permalink":"/categories/social/","section":"Categories","summary":"","title":"Social","type":"categories"},{"content":"Welcome to my blog!\nThis is a place to share my ideas, projects, guides, and documentation, and a home for my thoughts, opinions, insights, and perspectives regarding any topics or subjects of interest. When it comes to technical blogs, my aim is to make my guides and documentation user-friendly and accessible to anyone regardless of technical skill and background, where possible or necessary.\nYou can find out and explore more about me and my background on the about page, where I cover my main areas, passions, and interests. If you would like to connect, need help, or have any questions, feel free to reach out via my contact page – I\u0026rsquo;m always happy to chat and meet new people.\nI have a lot of stuff coming up, including some big music projects that I have been planning for a long time and span more than a decade of inspiration, and I can\u0026rsquo;t wait to share it with the world.\nThe source code for this website and blog lives on GitHub.\nYou can subscribe to any updates by following my RSS feed.\n","date":"8 April 2023","externalUrl":null,"permalink":"/posts/welcome/","section":"Blog","summary":"Welcome to my blog!\nThis is a place to share my ideas, projects, guides, and documentation, and a home for my thoughts, opinions, insights, and perspectives regarding any topics or subjects of interest. When it comes to technical blogs, my aim is to make my guides and documentation user-friendly and accessible to anyone regardless of technical skill and background, where possible or necessary.\nYou can find out and explore more about me and my background on the about page, where I cover my main areas, passions, and interests. If you would like to connect, need help, or have any questions, feel free to reach out via my contact page – I’m always happy to chat and meet new people.\n","title":"Welcome","type":"posts"},{"content":" Introduction # 👋🏻 Hello, I\u0026rsquo;m Nour, a computer engineer and software developer from 🇱🇧 Lebanon. I\u0026rsquo;m currently working in a senior support role in the computer guided surgery field in digital dentistry, helping and enabling dental professionals to design, craft, and spread more smiles.\nI\u0026rsquo;m a dreamer, writer, gamer, and electronic music lover, a free and open source software (FOSS) enthusiast, and a privacy, security, digital freedom, and humane technology advocate. I\u0026rsquo;m interested in science and philosophy and I\u0026rsquo;m passionate about STEM, academically and professionally. My favourite literary and entertainment genres are sci-fi and fantasy. I enjoy music, writing, gaming, and football as hobbies.\nBackground # My background covers my main areas, passions, and interests which include some of my personal stories, experiences, achievements, and goals.\nEducation # I have a Bachelor of Science (BS) degree in Computer Engineering and graduated from the University of Balamand in Koura, Lebanon. I had previously spent two years at the American University of Beirut where I lived on campus in Bliss Street, studying Electrical and Computer Engineering as a major. Both programs are ABET accredited. My focus is computer science, software, and programming with experience in algorithms, data structures, and object-oriented programming, and I have a strong foundational background in electric circuits, electronics, microcontrollers, microprocessors, and embedded systems, in addition to operating systems, cybersecurity, networking, telecommunications, digital and analog signal processing, automation, and programmable logic controllers.\nI attended The International School of Choueifat (SABIS) in Koura, Lebanon for fifteen years from kindergarten to high school, where I graduated with a Lebanese Baccalaureate certificate in General Sciences. Mathematics, physics, and computing were by far my best and favourite academic subjects which I excelled at, and majoring in computer engineering and becoming an engineer was always a clear and easy choice. I also enjoyed learning other sciences such as biology and chemistry, and philosophy, literature, and music when it came to arts.\nSoftware # Programming # Software and programming are my ideal and preferred profession and field. I enjoy problem-solving and writing, and I\u0026rsquo;m obsessed with and love organization and detail. I find the structured, organized, detailed, and precise nature of writing code to be highly satisfying, and designing, building, and programming something to give exactly the desired behaviour, effect, or solution to be very fulfilling. Software is a daily and essential part of our lives and digital future; almost every interaction, task, or system in today\u0026rsquo;s digital world involves software. It\u0026rsquo;s a greatly fulfilling and rewarding field that enables me to make a significant impact on society by being able to affect and transform the way people interface with and experience the world, making their daily lives and jobs easier and better. As an engineer, I highly value simplicity, minimalism, and efficiency, which is what my design philosophy is based on, and I love writing simple, clean, and efficient code.\nI\u0026rsquo;m experienced and familiar with C/C++ and Java, and I\u0026rsquo;m very interested in and currently learning Rust and Go which have recently emerged as my favourite modern languages. Python is also a language I never got the chance to learn, even though it\u0026rsquo;s a lot simpler and I aim to eventually familiarize myself further with its concepts and syntax. There are a lot of other languages, apart from frameworks, I\u0026rsquo;m interested in learning later on such as Ruby, Kotlin, Dart, Lua, and more. I\u0026rsquo;m familiar with basic shell scripting which I use to automate some tasks on my system, and I\u0026rsquo;ve been working on and building some projects recently using frameworks such as Hugo, which this site is based on, and Next.js. I have a server on DigitalOcean which I use for development and self-hosting some personal services, and when it comes to web projects I usually prefer to go serverless with Cloudflare Pages, Netlify, and Vercel.\nFree and Open Source # Over the years, I grew very passionate and enthusiastic about free (as in freedom, or in other words, libre) and open source software, and I enjoy developing and contributing to projects, especially ones that I\u0026rsquo;ve used and relied on such as Blowfish, the theme of this site, and popular and widely used privacy and security tools like Cryptomator. Open source software promotes community, trust, and transparency and allows for endless possibilities and innovation through interoperability, collaboration, inspiration, learning, knowledge-sharing, and freedom which collectively benefit and improve society. The largest example of this is the Linux kernel which the computing, networking, server, and cloud infrastructure of the world is built on, and powers most people\u0026rsquo;s smartphones through the Android operating system. I prefer to and almost always use free and open source software, but I don\u0026rsquo;t mind using proprietary and closed source software if there is no viable or better alternative or if it helps achieve or get something done much more efficiently, especially if it has good design and practices.\nI use Pop!_OS, an Ubuntu-based Linux distribution by System76 as my daily driver for development, productivity, and gaming. After having used Windows exclusively before, I greatly enjoy the amount of customization and configuration and the level of control and freedom I have over my system, and I like tinkering with different tools, software, and games which have also happened to allow me to learn a lot when it comes to troubleshooting and solving technical issues and problems. On mobile, I\u0026rsquo;m using Android and may switch to GrapheneOS with a Pixel device in the future, due to its privacy hardening and security.\nFrom a very young age, I liked taking things apart that no longer worked to understand how they functioned. I was also particularly fascinated by padlocks, which were my favourite tool, and how a simple locking mechanism provided a strong and satisfying sense and concept of security.\nPrivacy and Security # Privacy and security became a main topic of interest and the subject of my research in university which included encryption and cryptography. As our lives increasingly became digital, I identified this as a massively impactful issue of global concern and one of the biggest challenges facing humanity, freedom, and democracy. A lot of software today is written and designed to exploit the user or person through unhealthy, unethical, and unsustainable practices such as invasive personal data collection, user tracking, and dark patterns in the name of for-profit and ad-funded business models, and most significantly, surveillance capitalism. I find this to not only be against the design ethics, moral code, and social responsibilities of an engineer, but also against our human values and principles.\nIn 2020, I started taking my online privacy a lot more seriously after realizing the great extent of the risks and dangers associated with the current state of software and the internet, especially to our health, wellbeing, and future. I also realized that a better digital reality is not only possible but already exists, and all it takes is us deciding to care about and protect our privacy by switching to privacy-friendly, humane, ethical, and usually open source alternatives, where Privacy Guides has been an excellent, well-curated and comprehensive resource and community. The Social Dilemma by the Center for Humane Technology is also a very important, highly impactful and eye-opening documentary that highlights a lot of today\u0026rsquo;s issues and the amount of harm and threat they pose to our society and future.\nAs the speed at which our technology is advancing grows exponentially, we have a social and moral responsibility as people, designers, and engineers to advocate for humane design principles and technology, since regulation continues to fall behind significantly while regulators fail to understand how the underlying technologies work, apart from often being influenced by powerful corporations. Historically, legislation tends to only be enacted when it\u0026rsquo;s too late, unless the harms are physical and immediate. I have found that the main issue is not one of indifference but of a lack of awareness, as there is not enough education to make informed decisions regarding these technologies and issues, and most people are simply unaware about the extent to which they are regularly being tracked, profiled, and targeted.\nMusic # I grew up listening to everything like a lot of people, with my background mainly in rock music through different bands and early influences such as Linkin Park, Green Day, and Muse. I was heavily drawn towards the electronic sounds produced by the electric guitar which became my favourite instrument, and I started taking guitar lessons in 2006. We also had an electronic keyboard at home, apart from a grand piano, and there are only a few things I love more than some good piano chords. It did not take me long before I found myself exactly where I needed to be.\nMy electronic music journey started in 2007 with trance and house music, through legendary acts and pioneers such as Tiësto, Armin van Buuren, Paul van Dyk, Above \u0026amp; Beyond, Cosmic Gate, Dash Berlin, Ferry Corsten, Markus Schulz, David Vendetta, deadmau5, Eric Prydz, Dirty South, and more. I was introduced to a lot of new sounds and styles, and the energy and emotion in some tracks was unlike anything I had ever heard, felt, or experienced before.\nTiësto\u0026rsquo;s Elements Of Life album and Copenhagen world tour served as my intro to the genre and changed my life, which included the Cosmic Gate and Dirty South remixes of Everything and In The Dark. Cosmic Gate\u0026rsquo;s Sign of the Times and Above \u0026amp; Beyond\u0026rsquo;s Group Therapy are among my special and top albums, and Armin van Buuren\u0026rsquo;s A State Of Trance 2009 \u0026amp; A State Of Trance 2010 are my all-time favourite mix compilations as artistic masterpieces that perfectly encapsulate the peak of a golden and genre-defining era of progressive and uplifting trance music. I\u0026rsquo;ve been following Armin van Buuren\u0026rsquo;s A State Of Trance (ASOT) and Above \u0026amp; Beyond\u0026rsquo;s Group Therapy (ABGT) weekly radioshows for many years including their milestone episode celebration events, and it\u0026rsquo;s one of my favourite ways to discover new music, artists, and labels. I was fortunate to see Cosmic Gate live during my first gig at the Forum De Beyrouth in Beirut in 2011 followed by Armin van Buuren in 2013 during A State Of Trance 600 Beirut, and Above \u0026amp; Beyond and Aly \u0026amp; Fila ten years later in 2023 during Future Sound Of Egypt 800 at the Pyramids of Giza. I have also seen other trance artists and legends such as Kyau \u0026amp; Albert, Dash Berlin, John O\u0026rsquo;Callaghan, Ferry Corsten, and Markus Schulz.\nMy favourite and primary electronic genres are trance, house, and techno. I also enjoy chillout/downtempo and drum and bass (D\u0026amp;B), especially liquid. My favourite and preferred styles, sounds and subgenres are progressive, uplifting, deep, and melodic. I like harmonic, orchestral, epic, classical, oriental, ambient, tech, and dark elements and influences. In general, I believe good music is good music, regardless of genre or subgenre.\nMusic is much more than a hobby or passion; it is deeply philosophical, and one of my main creative outlets and best forms of self-expression. Music is a universal religion and universal language – it speaks directly to emotion and transcends all communication barriers. Music has had a profound impact on my life and is a huge source of inspiration as my dream fuel. I have never seen anything more powerful in uniting people, and I always witness the magic happen when people come together regardless of their differences or backgrounds for their shared love of music. I love sharing music and being able to spread happiness and tell stories through crafting uplifting, emotional, and thoughtful musical journeys.\nI used Ableton as my digital audio workstation and took a step back from working on music during college to focus on my studies, but I have a lot more to learn and I\u0026rsquo;m looking forward to getting back into it soon. I worked on a small project at the time as my first entry into mixing and originally planned to be part of a larger series, and I have a lot of exciting projects planned and a big announcement coming in the near future. I am also planning to move my mixing and production setup from Ableton Live to Bitwig Studio, especially since I am now using Linux as my daily driver.\nGaming # MMORPGs are my favourite game genre due to their high fantasy, social, living worlds, and roleplaying, and my top and main games are RuneScape and World of Warcraft which I\u0026rsquo;ve dedicated a significant amount of time to. I also enjoy and play a lot of other games in between such as Minecraft, Overwatch, FIFA, and I\u0026rsquo;m planning to get into League of Legends in the near future.\nRuneScape # I spent a lot of my childhood on and grew up playing RuneScape. I have a Completionist account which I have been playing on and off since 2005 as a game veteran. RuneScape helped me grow a lot as a person and taught me many skills, and it was somewhere I had met a lot of people and built long-lasting friendships. I enjoyed helping people and owned a clan of more than a hundred players which was focused on helping players progress in the game and achieve their goals, apart from being an admin/moderator in other player communities. I am also an owner of a community that helps thousands of players which I had been managing and leading since 2016, where I had been an admin for months before being passed on the ownership by its founder. As a community leader, I created, managed, and developed social and community systems, documentation and resources, including public sheets and Discord communities, which have been relied on by and helped many players, improving their daily game experience and making their lives easier. I enjoy both PvM (also known as PvE) and PvP in the game, where I\u0026rsquo;ve defeated most high-level bosses and participated in and helped lead many events, including some very memorable, massive, thrilling, and highly competitive player wars as a member of the most dominant and successful PvP group in the game. I also play Old School RuneScape and have a unique appreciation for both versions of the game.\nWorld of Warcraft # I got into World of Warcraft at the end of 2017 during the final patch of the Legion expansion, playing on EU and the Alliance faction. I started as a Retribution Paladin which I got to max level before eventually later switching to a Windwalker Monk due to its high agility and mobility, and earned my first Ahead of the Curve achievement after defeating all eleven raid bosses of the Antorus raid on Heroic difficulty with my guild ahead of the Battle for Azeroth expansion in 2018. During Battle for Azeroth, I earned another Ahead of the Curve achievement after defeating all eight bosses of the Uldir raid on Heroic difficulty following weeks of raid progression during the first patch of the expansion and then moved up into Mythic difficulty, the most challenging and hardcore raid difficulty in the game.\nFor the second patch of the expansion, after my guild had become no longer active and stopped raiding, I joined a new guild and large social community which consisted of hundreds of members and became a member of one of the guild\u0026rsquo;s two 20-30 player raid teams for Mythic raid progression, raiding on a fixed and semi-hardcore schedule of three days a week for three hours each night. After months of progression in The Eternal Palace raid on Mythic in 2019, our team was struggling on the fourth boss and was hit by a huge setback after the resignation of the team\u0026rsquo;s raid officers which included the raid leader and raid assistant in addition to several leaving team members and quitting players, which not only left the team leaderless during the middle of progression, but also put us below the minimum of 20 raiders required to raid and progress. In order to keep the team together and continue progressing, I decided to step up and take on the role of raid assistant to co-lead the team with a new raid leader, as part of the guild\u0026rsquo;s leadership team headed by the guild owner.\nAs a raid officer and co-leader of a team of 25-30 people from different countries and age groups, apart from raiding with the team and spending many hours a week grinding to keep my player character at the highest possible level for raid preparation, I was in charge of and responsible for managing the team which included recruitment, onboarding, and trialing new team members, analyzing raid stats and logs, reviewing team performance, providing feedback to members, resolving team and member issues, making team decisions and announcements, organizing and planning events and team strategies, and managing, improving, and designing new and efficient team systems and resources through various community tools, software, sheets, and websites.\nAfter undertaking a period of intensive and active recruitment through applications and interviews, and with the support and backing of the guild owner, I helped lead a reinforced and highly organized team back into progression raiding, defeating the fourth boss and an even more difficult fifth boss which was an incredible challenge and test to overcome (aptly referred to in progression as a \u0026lsquo;wall\u0026rsquo;), and kept on pushing further beyond over the following few months to achieve a very strong finish of seven out of eight raid bosses defeated before the new patch released. For the third and final patch of the expansion in 2020, after five months of progression in the new twelve-boss Ny\u0026rsquo;alotha, the Waking City raid which included more than a month and over three hundred attempts to defeat the final boss, I co-led the team to and earned my first Cutting Edge achievement and the guild\u0026rsquo;s third in its 10-year history, awarded for defeating all bosses of a raid on Mythic difficulty – the most difficult, prestigious, and highest achievement in the game, which also saw our guild become ranked among the top five guilds on the realm and server. We maintained form going into the next expansion despite increasingly difficult recruitment, and achieved another and the guild\u0026rsquo;s first consecutive Cutting Edge achievement during the Castle Nathria raid of Shadowlands in 2021 after defeating all ten bosses on Mythic.\nI made some unforgettable memories and experiences in the game alongside a lot of amazing and supportive people and guild members which will stay with me forever. There is no experience like the nerves at the end of a twelve-minute boss fight and the adrenaline rush of finally defeating a raid boss after hundreds of failed wipes in an extremely high-pressure environment where everyone has to know exactly what their role is and be able to execute it perfectly at the right times, since there is almost no room for error in Mythic, especially on the later and final bosses of a raid which each typically take hundreds of wipes or attempts and several weeks or tens of hours of raid preparation and progression to defeat. The levels of preparation, performance, focus, awareness, coordination, and communication, along with the overall stakes, were so high that one mistake, misstep, or death from any team member almost certainly meant the whole team wiping and restarting the fight. I decided to take a break from the game and competitive Mythic raiding as a whole for now since it was hugely demanding and acted as a full-time job which required lots of effort and time which I no longer had or could commit to especially after the Lebanese economic crisis, and I\u0026rsquo;m aiming to play the game again and raid more casually on Heroic in the future.\nOne of my favourite things about the game is its developer community, which includes a lot of third party addons, mods, and tools from complete UI overhauls using ElvUI to powerful customization frameworks such as WeakAuras. I enjoyed using WeakAuras to create, design, and program graphical interface elements for combat, which I publicly shared to be used by thousands of other players and were officially endorsed and recommended by the Monk player community.\nFootball # Football is a huge passion and important part of my life, and I\u0026rsquo;m a big fan of sports in general and like other sports such as basketball, NFL, F1, tennis, and more whenever I get the chance to catch and follow them. I played a lot of football growing up and eventually stopped after recurrent knee injuries, and I enjoy watching, talking, and writing about football.\nGermany # My earliest footballing memory is the FIFA World Cup in 2002. I really liked Germany and supported them throughout the tournament and final and became interested in German football. My favourite German national team player was Michael Ballack and I naturally liked his team Bayern Munich in the Bundesliga, although I did not watch or follow league football at the time. Bastian Schweinsteiger, who had also played for both Germany and Bayern, similarly became one of my favourite footballers of all time. I have great admiration and appreciation for German football, which includes the Germany national team who I\u0026rsquo;ve followed internationally, the Bundesliga, and Bayern Munich – a club I like, respect, and have a soft spot for.\nChelsea FC # Around 2004, especially with all of my friends supporting Arsenal, I became very interested in the Premier League in England and started following and supporting Chelsea. A couple of years later, Michael Ballack joined Chelsea, and the rest is history.\nI have been a Chelsea supporter since and they went on to become one of the most successful sides in English and European football history. I was very active on Twitter since its early years, where I mainly wrote about Chelsea and football. John Terry and Frank Lampard were among my favourite English players and Chelsea legends.\nPhilosophy # My philosophy is based on free, progressive, and independent thought. I don\u0026rsquo;t usually follow ideas, people, or trends unless I truly believe in and like their rationale and perspective. I have a highly analytical perspective and approach to problems and issues, and greatly value personal autonomy and originality. I always prefer and like to do my own thing or apply my own touch when possible, which can lead me to taking unique and unconventional approaches and perspectives. I\u0026rsquo;m heavily guided by, trust, rely on, and follow my strong sense of intuition. I\u0026rsquo;m an idealist and dreamer at heart, but I\u0026rsquo;m realistic, flexible, open-minded, adaptible, and I\u0026rsquo;m very pragmatic, especially when it comes to making decisions and getting things done.\nI\u0026rsquo;m driven by strong moral, ethical, and humane principles and believe in freedom, justice, and equality. I ultimately believe in being an overall good person and decent human, and I respect the freedom to follow any belief or lifestyle that is fundamentally based on the fact and reality that we\u0026rsquo;re all equally human and promotes love, togetherness, and unity, and does not, directly or indirectly, incite or call for discrimination, hate, or violence against others. All belief systems are based purely on faith; none of us truly know. As a species, we are not yet capable of knowing, and share the very fact and quality that makes us all human – not knowing. Anyone should be free to live the way they want as long as it allows them to be a good person, does no harm to others, does not infringe on any rights and freedoms, and brings them solace and inner peace.\nMy purpose and mission in life is to make an impact and leave the world a better place by enabling people, transforming their lives, and driving change through meaningful and thoughtful software and music experiences. The world would be a much better place if we focused on what unites us rather than what divides us. The world would also be an infinitely better place if we could focus more on knowledge, science, and human advancement, rather than on securing our fundamental human rights and worrying about meeting our basic necessities, such as healthcare and education, or even nutrition, safety, and security.\nMy vision and dream is an uplifted and progressive society – a united, peaceful, and secure place where these worries are eliminated and basic needs are met and guaranteed, allowing everyone to be an educated and productive member of society and able to aim for and reach their full potential. This leads to an advanced society and world that is collectively better for everyone, where our focus would be primarily on science, progress, and innovation, and our aim would be to build and sustain our future through advancing and evolving the human race, apart from protecting and preserving our only home and planet. Humanity or human intelligence is a small lit flame in the dark and vast universe. Our obligation and duty is to not only keep it alight, but also grow and spread it further, which is only possible through expansion by becoming interplanetary, and ultimately, interstellar species in the future. Otherwise, it remains at risk of being extinguished along with all of our history, achievements, hopes, and memories, which can happen either any instant through natural or man-made disasters or eventually over the lifetime of our planet, its finite resources and overpopulation, especially as the average life expectancy increases with scientific advancement. We spend a lot of our time looking judgementally outward, conservatively backward, and hopelessly downward, when we should instead be looking introspectively inward, progressively forward, and imaginatively upward.\nWhile a very advanced society is possible, a utopia is neither achievable nor desirable. In nature, nothing is perfect, and most importantly, balance must always exist; there is no light without darkness. Order and discipline are important, however, on the other hand, chaos and entropy are fundamental elements and aspects of life without which many natural, cosmological, and ecological processes, such as evolution, are not possible. Moderation and regulation are essential for all aspects of life, especially on a physiological, ecological, and legislative level. I have learnt that there are three basic rules to life; everything happens for a reason, everything in moderation is good while anything to the extreme is bad, and nothing lasts forever.\nWhen it comes to the universe, I\u0026rsquo;m interested in both physics and metaphysics, and believe there is very likely a lot more to the world than what our five human senses or developed scientific tools can sense and detect, such as spiritual and supernatural forces. I\u0026rsquo;m really fascinated by cosmology, and Neil DeGrasse Tyson\u0026rsquo;s \u0026lsquo;Cosmos: A Spacetime Odyssey\u0026rsquo; documentary series were deeply insightful and changed how I see life and the universe. My main influences were science and philosophy as disciplines throughout my academic studies and the philosophers I have read which helped shape some of my perspectives, and I\u0026rsquo;m always attracted to and inspired by free, independent, and forward-thinking people.\n","date":"5 March 2023","externalUrl":null,"permalink":"/about/","section":"Nour Agha","summary":"Introduction # 👋🏻 Hello, I’m Nour, a computer engineer and software developer from 🇱🇧 Lebanon. I’m currently working in a senior support role in the computer guided surgery field in digital dentistry, helping and enabling dental professionals to design, craft, and spread more smiles.\nI’m a dreamer, writer, gamer, and electronic music lover, a free and open source software (FOSS) enthusiast, and a privacy, security, digital freedom, and humane technology advocate. I’m interested in science and philosophy and I’m passionate about STEM, academically and professionally. My favourite literary and entertainment genres are sci-fi and fantasy. I enjoy music, writing, gaming, and football as hobbies.\n","title":"About","type":"page"},{"content":" Message # You can contact me at nour@agha.dev, hello@nouragha.com, or hi@nour.lol.\nFor secure and encrypted communication, you can find my GPG key here: 135F 6915 34C8 9192 95ED 97C1 C185 9ED0 57E7 14DC\nChat # If you\u0026rsquo;d like to get in touch and chat with me, feel free to send me a message:\nSignal: nour.01\nMatrix Matrix: @nour:mozilla.org\nSocial # You can find and follow me on:\nMastodon: agha.dev/@nour\nBluesky: @agha.dev\nIdentity # My digital identities are cryptographically signed and verified and can be found on Keyoxide:\nOpenPGP: openpgp4fpr:135F691534C8919295ED97C1C1859ED057E714DC\nASP: aspe:keyoxide.org:NRWOOGRSUA5JACMIMCVAQP4H6E\nLinks # A full list of my currently active accounts, email addresses, and socials can be found on my links page:\nnour.lol\n","date":"31 December 2022","externalUrl":null,"permalink":"/contact/","section":"Nour Agha","summary":"Message # You can contact me at nour@agha.dev, hello@nouragha.com, or hi@nour.lol.\n","title":"Contact","type":"page"},{"content":"My developer environment and system configuration files, designed for instant setup to deploy all of my configs and applications across any system with a single command.\nnourkagha/dotfiles 🔧 .files, configs and applications for my Pop!_OS desktop, managed with 🏠 chezmoi. Shell 3 1 ","date":"29 April 2021","externalUrl":null,"permalink":"/projects/created/dotfiles/","section":"Projects","summary":"My developer environment and system configuration files, designed for instant setup to deploy all of my configs and applications across any system with a single command.\nnourkagha/dotfiles 🔧 .files, configs and applications for my Pop!_OS desktop, managed with 🏠 chezmoi. Shell 3 1 ","title":"dotfiles","type":"projects"},{"content":"","date":"29 April 2021","externalUrl":null,"permalink":"/tags/linux/","section":"Tags","summary":"","title":"Linux","type":"tags"},{"content":"","date":"29 April 2021","externalUrl":null,"permalink":"/tags/shell/","section":"Tags","summary":"","title":"Shell","type":"tags"},{"content":"Multi-platform transparent client-side encryption of your files in the cloud.\nAdded support for MEGA and pCloud as cloud providers and vault location presets (#1622), shipped in v1.5.15. cryptomator/cryptomator Cryptomator for Windows, macOS, and Linux: Secure client-side encryption for your cloud storage, ensuring privacy and control over your data. Java 16318 1540 ","date":"20 April 2021","externalUrl":null,"permalink":"/projects/contributions/cryptomator/","section":"Projects","summary":"Multi-platform transparent client-side encryption of your files in the cloud.\nAdded support for MEGA and pCloud as cloud providers and vault location presets (#1622), shipped in v1.5.15. cryptomator/cryptomator Cryptomator for Windows, macOS, and Linux: Secure client-side encryption for your cloud storage, ensuring privacy and control over your data. Java 16318 1540 ","title":"Cryptomator","type":"projects"},{"content":"","date":"20 April 2021","externalUrl":null,"permalink":"/tags/java/","section":"Tags","summary":"","title":"Java","type":"tags"},{"content":"Customizable graphics and event-driven Lua elements for real-time status tracking and UI customization in World of Warcraft.\nWago.io | Nour ","date":"8 January 2021","externalUrl":null,"permalink":"/projects/created/custom-weakauras/","section":"Projects","summary":"Customizable graphics and event-driven Lua elements for real-time status tracking and UI customization in World of Warcraft.\nWago.io | Nour ","title":"Custom WeakAuras","type":"projects"},{"content":"","date":"8 January 2021","externalUrl":null,"permalink":"/tags/lua/","section":"Tags","summary":"","title":"Lua","type":"tags"},{"content":"","date":"8 January 2021","externalUrl":null,"permalink":"/tags/weakauras/","section":"Tags","summary":"","title":"WeakAuras","type":"tags"},{"content":"","date":"8 January 2021","externalUrl":null,"permalink":"/categories/world-of-warcraft/","section":"Categories","summary":"","title":"World of Warcraft","type":"categories"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"}]