README.md

The GW Systems Hacking Club

GW SHC is a student group focusing on systems design and implementation.
There's material if you're curious what that is all about, or how to get into it.

Examples of projects the SHC might work on

Linux kernel hacking.

Hacking the Composite component-based OS, a GW-native research kernel.

Writing an OS in Rust, or learning more about the new breed of systems programming languages.

Writing threading libraries, and reading/modifying language runtimes.

Hacking on embedded systems in including Arduinos, Galileos, and iRobot Creates.

Writing massively parallel code on our servers.

Some colorful descriptions of the heroic disposition of system programmers.
Don't let you scare you though, we are pretty relaxed and have broad interests.

Organization

If you would like more information about what this club does, visit the wiki at https://github.com/gw-shc/info/wiki. The home page has more information about the club, and the pages drop-down on the right includes some past projects and a rough schedule of meetings.

The primary means of communication and the best way to join SHC is through the slack: https://gw-shc.slack.com. Slack is a team based messaging platform. We use it to send out information about meeting times and locations, as well as general discussion, project collaboration, and links/memes. Email Gabe Parmer (gparmer@gwu.edu) to be added.

If you're interested in a project, please add an appropriate page to the Wiki for this github repo. We'll create a mailing list soon for coordination. See members.md for a list of current and past members, and the schedule page in the wiki for our schedule.

FAQ

Should you be involved in the SHC?

Are you willing to put some time into deepening your understanding of these topics? Are you comfortable pushing yourself, and learning on your own?

Do you want to be part of a community of like-minded students?

Do you believe that systems can be better? That they can be more capable?

Yes? SHC is for you.

Do I need to have taken OS before I can join the SHC? Do I have to know C?

No. You will need to learn low-level languages such as C, but that can be learned in the club.

If you don't know C, and want to learn, a great place to start is Nick Parlante's material. Start with "Essential C", and move on to "Pointers and Memory" and "Lists and Trees".

How is this club related to systems research?

We will talk about and hack on cutting-edge research. However, it is not necessary that you do as well. This club is an opportunity to hack on systems, and if you're interested in the associated research, it is a great opportunity to learn.

How is this club related to Prof. Parmer?

Prof. Parmer is one of the systems professors at GWU. His research revolves around the Composite component-based operating system. He helps in the organization of the club, but the club is student run, and student organized.

How is the club related to the GW Cyber Security Club (formerly Buff and Blue Hat)

GW Cyber is focused on system security. Therefore, there is a fair amount of overlap between the clubs. SHC is more focused on system implementation and development, while GW Cyber is focused on penetration testing, compromises, and other issues centered around security.

How is the club related to the Tech Collective?

The focus of the TC is on embedded systems, and technology. It is a great group for those wanting to stay on the cutting edge of technology (e.g. 3d printing, embedded systems), and work on projects with others. The SHC focuses on making highly-productive low-level system hackers.

Does this club train evil Hackers?

No. This club has little to do with system compromises, and the pejorative use of the term "hack". Hacking is the application of a deep understanding of a system to some, often very clever, end. Hackers often have a fundamental curiousity of how systems work, and enjoy applying their ingenuity to make them do amazing things. If this is unclear, please google the difference between Hackers and Crackers.