>> Discover Innovation → Deliver Success

$ whoami

0x??roll

Associate Professor and Program Director at Arcadia University, WiCyS Global Chapter Coordinator, and Co-Founder/CTO at Citodex Technology Ltd.
Specializing in Cybersecurity/CS Research and Education, Machine Learning, and Infrastructure.

Security: Zero Trust, Zero Hype
Free security tools I recommend:
Safe Internet:Cloudflare WARP
Antivirus:BitDefender
Passwords:Bitwarden
XDR:Wazuh
Not sponsored, not affiliated with. Personal preferences only.
Profile
Current FocusSecurity, AI, and Uncomfortable Edge Cases
29
Publications
797
Citations
19
Years in Education and Tech
9
NSF, NSA, and Internal Funding Awards
50+
Teams Coached

GitHub Activity

Syncing...
Beyond Academics

Building & Breaking Software

Past competitions include NCL, ICPC, CPTC, CCDC, and OWASP Secure Coding. Building on those experiences, now training teams in NCL and ICPC.

Working with Women in Cybersecurity student chapters globally to help recruit, retain, and advance women in cybersecurity as part of a workforce solution.

Passionate about building startups. As co-founder and CTO of Citodex, working extensively with diverse tech stacks, AI, security, and cloud infrastructure.

Consulting organizations on secure infrastructure design, zero-trust integration, OSINT & incident response engagements, and the resolution of complex system issues.

Contributing to open-source software and occasionally engaging in bug bounty hunting. Solving puzzles like Advent of Code in Rust was a blast, especially playing with the power of functional chains.

🦀
AdventOfCode2022/src/day05/main.rs
use std::collections::{BTreeMap, VecDeque};
use std::fs::read_to_string;

fn main() {
    let mut crates = BTreeMap::new();
    read_to_string("./data.txt")
        .expect("File does not exist!")
        .lines()
        .for_each(|line| {
            if !line.trim().is_empty() {
                match &line.trim()[0..1] {
                    "[" => line
                        .chars()
                        .collect::<Vec<char>>()
                        .chunks(4)
                        .map(|c| c.iter().collect::<String>())
                        .enumerate()
                        .filter_map(|(i, s)| match s.chars().nth(1).unwrap() {
                            ' ' => None,
                            _ => Some(((i + 1).to_string(), s[1..2].to_owned())),
                        })
                        .for_each(|(i, s)| crates.entry(i).or_insert(VecDeque::new()).push_back(s)),
                    "m" => &lbrace;
                        for i in 0..line
                            .split(" ")
                            .map(|e| e.to_string())
                            .collect::<Vec<String>>()[1]
                            .parse().unwrap()
                         {
                            let val = crates
                                .get_mut(&line.split(" ").map(|e| e.to_string()).collect::<Vec<String>>()[3])
                                .unwrap().pop_front().unwrap();
                            crates
                                .get_mut(&line.split(" ").map(|e| e.to_string()).collect::<Vec<String>>()[5])
                                .unwrap().insert(i, val);
                        }
                    }
                    _ => (),
                }
            }
        });

    // Part 2
    // For Part 1, change Line 39 to push_front without the index i
    crates
        .iter_mut()
        .for_each(|(_, v)| print!("&#123;&#125;", v.pop_front().unwrap()));
}

Featured Projects

Featured Achievements & Grants

Beyond the Code

When not playing with my kids or hanging out with my wife and friends, I enjoy playing table tennis, chess, and travel.

"And now these three remain: faith, hope and love. But the greatest of these is love."

1 Corinthians 13:13
Wisdom

"Teach me and I will forget. Show me and I may remember. Involve me and I'll understand."

Xun Kuang
Fundamental Pedagogy

"Reach for the stars, and you won't even notice when you pass the sky."

Vitaly Ford
Inspiration

"Security is not a product, but a process."

Bruce Schneier
Security Philosophy

"The art of teaching is the art of assisting discovery."

Mark Van Doren
Educational Insight

"Complexity is the worst enemy of security."

Bruce Schneier
System Design