Daniel Fichtinger
This image was processed by a dithering algorithm, which lends it a unique aesthetic and reduces its file size significantly.
About Me
My name is Daniel, and I am a graduate student researching cybersecurity, programmer, and
Linux enthusiast. My goal is to channel my passion for computers and security
into making the internet safer for everyone. Part of the NSERC CREATE
Cybersecurity program, my work combines programming, cryptography, system
design, and threat modeling to tackle real-world security challenges.
I’m passionate about minimalist design. This website is part of the 1mb club, jsfree.org, and built with
Zona, a tool I wrote myself. I’m also
interested in efficiency and optimization.
I use Helix as my main
text editor, and I prefer typing
in Colemak-DH on a custom layout.
I will publish blog posts about various technology topics on this website once I
have implemented the necessary features in
Zona. It already works great for building a simple website,
but it can’t yet automatically handle the structure of blog posts.
In the meantime, you can learn more
about me below. I hope you enjoy your stay, and you are welcome to
contact me anytime.
Research
I have conducted research during my undergraduate education and ongoing Master’s
program.
- Peer-To-Peer MFA System
- Undergraduate capstone project.
- Topic: P2P MFA system using sound comparison.
- Completed.
- Linux Dependency & Vulnerability Analysis
- Research project for “Release Engineering” graduate class.
- Topic: Relationship between package dependencies and vulnerabilities in
Linux Distributions.
- Completed.
- Master’s Thesis
- Topic: Authentication.
- Ongoing.
- Smart Car Authentication
- Research project for “Cyber-Physical System Security” graduate class.
- Topic: Improving user authentication in smart cars.
- Ongoing.
- AI Voice Recognition
- Research project for “AI in Cybersecurity” graduate class.
- Topic: Evaluate the effectiveness of voice-recognition for authentication.
- Ongoing.
Projects
I really enjoy programming. I care about writing code that’s efficient and
optimized. Below, you’ll find a selection of my projects. Some of them are for
fun, others are for school assignments.
Go-Chat
- Lightweight end-to-end encrypted TUI messaging application implemented in
Go.
- Proof-of-concept application. My first Go project.
Zona
- Static site builder written in Go and optimized for lightweight blogs
following minimalist design principles.
- Support for templates, declarative metadata, and configuration files.
- Interprets inline image “alt text” as Markdown, rendered as an image tag.
- In active development, plans for many more features.
- Used to build this website.
AutoYADM
- Shell utility to automate managing dot files with yadm.
- Consists of two Bash scripts; very lightweight.
- I use this daily to keep my dotfiles
in sync.
Email Parser
- Forked and maintains a Tree-sitter parser for
mail
files.
- Extended formal grammar definitions, supporting additional syntax elements & fixing critical bugs.
- Wrote highlight and text object queries implementing
mail
support for Helix; contributed the feature upstream.
- Currently researching how to leverage the parser to contribute
mail
support to the Harper grammar checker.
Niri Utilities
Screen Recording Utility
- Lightweight utility to improve the UX of sharing screen recordings and demos on Wayland.
- Automatically records screen, compresses the file, and copies its URI to the clipboard for easy sharing in GUI apps.
- Implemented an asynchronous server in Python which provides recording status integration for Waybar.
Niri Window Status (WIP)
- Python server that integrates with Niri to provide a live indicator of windows open on active workspaces.
- Designed for use with Waybar and similar software.
Niri Window Picker
- Simple Python script that spawns a fuzzy picker allowing users to fuzzily select an open window to switch focus to.
Keyboard Stuff
- Self-built wireless corne keyboard.
- Colemak-DH (non-QWERTY, ergonomic
layout).
- Custom columnar split layout
leveraging overloaded modifiers and layers to maximize efficiency.
- Custom ANSI layout
intended to make my ThinkPad internal keyboard as ergonomic as possible
without conflicting with external keyboards.
Ashen
- Original color scheme designed by me.
- This website uses it, too!
- Ported to a wide variety of software, including (but not limited to):
- Helix (text editor).
- Ashen.nvim
- Implementation of Ashen for Neovim.
- Supports numerous plugin integrations.
- Terminal emulators (Most popular emulators covered)
- Web browsers (Firefox)
- CLI tools (eza, bat)
- TUI tools (lazygit, yazi)
Academic.nvim
- Neovim plugin.
- Automatically installs and configures an Academic English spelling
dictionary.
- Minimal performance overhead.
Self-Study
I enjoy learning new skills by my own motivation. Right now, I’m working on:
- Rust
- Rustlings exercises ~50% complete.
- Planned learning projects:
- Simple CLI tool (easily download raw files from GitHub).
- Regular Expressions
- Practicing writing my own regexes from scratch.
- Working on increasing complexity.
Note: I prefer to keep my LinkedIn presence fairly minimal. Please contact me
by email instead.