Conventional wisdom among programmers holds that one should choose "the best language for the job." Though exactly which language is "best" is often ambiguous, in practice, there has arisen a division between so-called "systems programming" languages that enable fine-grained control over the usage and layout of memory, and "applications programming" languages that provide the programmer with…
Yesterday on Twitter, Joomy Korkut ( @cattheory ) posted about the graduate program application season starting again and offered his help to folks who plan to apply. This, of course, reminded me that I completely dropped the ball on doing the same thing last year as I had initially intended. So, better late than never: I'm writing this post to share some of my application materials, and some…
Rust is a modern programming language which is marketed primarily on the basis of its very nice type system, and I'd like to tell you about how you can use this type system to reason about your programs in interesting ways. Most of the time when its type system is discussed, the focus is on its guarantee of data race freedom and ability to enable so-called fearless concurrency (and rightfully…
Last Friday, I gave a talk at NEPLS on work I did while I was at UMass with Arjun Guha . You can find the slide deck for the talk here , but the rest of this post will be a presentation of the same general material. The State of System Configuration In the past, system administrators relied largely on the shell to configure systems within an organization. Systems would either be configured…
This is a cross-post from the PdgnCo Community Blog . It was published on February 11th, 2015, and can also be found here . The idea for Pdgn first came in June of 2014. For reasons that I can't recall, I was drawn to searching for a domain. I didn't really have a purpose for it. I was just poking around to see if anything cool was available. I stumbled upon the domain pdgn.co , and I thought it…
As a member of the Student Labor Action Project, I wrote an opinion-editorial for UMass' Daily Collegian. It was published October 30th, and is available online here . Additionally, it is reproduced exactly as I wrote it below. Today is Worker Appreciation Day. The Student Labor Action Project (SLAP) is hosting a brunch to show gratitude to the many workers of UMass. We’d like to encourage other…
As part of HSCTF, there was a reverse engineering problem entitled "λ1". The problem text was short and to the point "Here's the lock. Find the key." The first phrase "Here's the lock." linked to an archive containing three executables, one for each of the major operating systems. All three executables were 64-bit. This problem is the first of a series of reversing problems. Ultimately, the goal…
As an organizer of the recent High School CTF competition, HSCTF , I designed a series of problems for competitors to take part in. My primary focus in problem design for the competition was in reverse engineering, but I also created one of the most challenging reconnaissance problem we offered in the competition. Since the competition is now complete, I'll be posting a series of write-ups on the…
As part of HSCTF, there was a reconnaissance problem entitled awe. The given text for the problem was simple, and generally unhelpful as it was part of a series on some of our organizers. The text read "My name is Aaron Weiss." The problem was, as you could probably tell, about me. The task of finding the flag was broken up into two pairs of #, word in two different places on the web. The hope was…