<marcuswanner /> 

I do application and network programming, system administration, a bit of hardware hacking, and a whole bunch of other stuff. Check out my résumé.

<maxims />

1
security: "I take the security of my tools very seriously. When implementing a new idea, threat modeling and robustness under failure are integral to the design process."

2
networks: "Secure protocol design is the foundation of network security. I have experience developing software for the Tor and i2p networks, as well as typical TCP/IP networks."

3
software: "My passion is to write good code. This means a careful balance of clarity, extensibility, and ease of maintenance."

<cicadabounty />

I am party to a wager regarding the validity of Cicada 3301's PGP-signed messages. As fans of the puzzle are aware, the 3301 group uses a PGP key, fingerprint 6D85 4CD7 9333 22A6 01C3 286D 181F 01E5 7A35 090F, to uniquely authenticate their puzzle clues, public statements, and secure private communications. In response to a surge of unverified Cicada-style puzzles, a small group of 3301 librarians agreed to put a price tag on our level of confidence that these puzzles are fake. Taken in conjunction with recent signed disavowals of unsigned messages, this wager serves as a bounty to be claimed by anyone who can disprove the assertion that non-signed Cicada puzzles are fake.

Shouts to crashdemons who drew this thing up!

<misc />

These days, most of my time is spent developing and deploying network security systems. I enjoy problem solving, application development, communications security, applied cryptography, photography, 2D graphics, 3D modeling, and autonomous robotics.

links = {
		github:		"https://github.com/marcuswanner";
		vt-mag:		"http://www.vtmag.vt.edu/sum15/ology.html";
		rolling-stone:	"http://rol.st/1ICncd1";
}
contact = {
		email:	"marcus@wanners.net";
		irc:	"irc.freenode.net/marcusw";
}
PGP = {
		key:		"2D9B1B89.asc";
		fingerprint:	"E98B D056 EB0E 2FB6 4CCD  \
				 BE8D 7919 2C2C 2D9B 1B89";
		comment:	"encrypted messages welcome";
}