After working hard to make computer science part of his high school courseload, a young Nick DeMarinis was thrilled to end up in an advanced placement CS course in his senior year with a “really kind of eccentric” teacher at the helm. Nick is the most recent hire in the multi-year CS With Impact campaign, the largest expansion in Brown CS history. Having successfully defended his doctoral thesis last September, he’s returning to the department this July as lecturer.
“I still think of that teacher,” Nick tells us, and hopes to emulate him. Not only by sharing his love of systems and security in their endless detail across both hardware and software, but also by creating an environment where students feel like they matter and they belong. “Computer science students face a lot of external pressure, and they’re constantly being asked to measure success. For less privileged students it’s even harder, and I want to help them feel supported and help create departmental structures to provide that support.”
Well prepared for higher education by high school experiments with Boolean circuits and LISP expressions, Nick first headed to Worcester Polytechnic Institute (WPI) for a BS in Electrical and Computer Engineering and Computer Science with a minor in Writing and Rhetoric, followed by an MS in Electrical and Computer Engineering.
“I’m still walking the line between hardware and software,” he says. “As a kid, I always wanted to see how things work under the hood, and when you get deep into how we build real systems, the distinction stops mattering. Systems can seem pretty magical in all their dark details, and I love demystifying how you can go backward from ‘Hello world’ to electrical signals in a CPU, all the layers of abstraction.”
Nick’s minor in Writing and Rhetoric at WPI began with an elements of writing course that was initially scary and eventually fascinating. The appeal to someone who was already interested in systems seems clear: “It was less about how to persuade than how to structure an argument and reason about the underlying rhetoric in all forms of communication. Understanding how a subtle rhetoric permeates a speech or even a syllabus really helped me a lot, and that class taught me how to read an academic paper.”
While at WPI, one of Nick’s honors was an Honorable Mention for a Teaching Assistant of the Year award. “Teaching has been a huge part of my time in academia,” he says, “and it’s a big part of why I’m here at Brown. It really amazes me how the Brown CS UTA program mirrors how I feel about teaching, the way students are driven not just about content but pedagogy, taking responsibility for a class – I haven’t seen that elsewhere.”
He returns to the idea of the importance of creating a supportive environment: “Being a CS student is stressful. If something is off by one bit, it breaks, and it can be hard to see why. As students, we’re always asking ourselves if we’re good enough if we don’t understand something, and I really want to build my course staff in a responsible way, help them keep their sense of perspective as we work on a course together.”
Nick’s “varied path” continued throughout his doctoral work at Brown, where he was advised by Professors Vasileios Kemerlis and Rodrigo Fonseca, the latter now at Microsoft Research. Some of his research topics included exploring ways to improve network debugging in software defined networks, and investigating vulnerable research robots that use the Robot Operating System, work that’s believed to be the first such Internet-wide scan of robotic platforms.
For his dissertation (“Improving Application Security at Scale by Reducing System Call and Library Overprivilege”), Nick presented a set of techniques for reducing software overprivilege, in which programs have access to more system features than their functionality requires, and then demonstrated the security benefits gained by overprivilege reduction.
“It’s an area that’s becoming increasingly important because of the way we develop software,” he says. “We use a lot of libraries, and as a developer, you might not know the full extent of what you’re working with, and a single bug or security problem can compromise the entire software life cycle.”
But the industry, Nick says, is becoming more cognizant of the problem that overprivilege and other security concerns present, and he’s looking forward to a day when working to mitigate them becomes routine. “Think of the set of permissions on our phones, and how we automatically get an alert if an app is requesting a change to that set. It’ll never be quite that simple for developers to know if there’s something concerning deep within their code, but good software design should at least be looking in that direction.”
With his return to Brown this summer, one of the things Nick is looking forward to most is redesigning CSCI 1680 Computer Networks. “I have a lot of very interested students, and I want to see what the course can look like if we reenvision what we want to include. There’s a huge scope, from how to send a few bytes all the way up to how we build complex cloud services. The students have great ideas, and letting them grapple with social responsibility issues like privacy, censorship, equity, and access to resources is a big part of what I want to do.”
He’s also very interested in creating a new course on network security, but it won’t be ready for the fall. Too many ideas and not enough time to implement them, Nick says, is a constant challenge: “It’s a matter of ordering priorities and being sure to make time for a personal life with friends and family.” He likes the little things: taking a drive to Newport, immersing himself in a videogame, and spending time outside.
And Nick says it’s easy to feel empathy for students who often don’t have the time to stop and smell the roses, because he was very recently in their shoes: “As a grad student, you’re constantly asking yourself if you’re making good enough progress, and you might work for multiple years on a big paper. A supportive environment is crucial, and I want to figure out how to create that for students. I was just there myself, needing that. I want to teach some new modes of thinking, to encourage students to build tools and work on their thought processes, but I want them to feel happy and fulfilled at the same time.”
For more information, click the link that follows to contact Brown CS Communications Manager Jesse C. Polhemus.