CWRU Hacker Society Talk Materials

August 26, 2015 - Intro to HacSoc & Linux Basics

Thomas Murphy, Andrew Mason

Description: Andrew (@andrew_mason1) and Thomas (@ThomasRMurphy) tell you why Linux matters and what it is, and how to get involved. Since everyone wants to look like a hacker, we'll introduce basic usage of the command line (you should probably bring your laptop).

Presentation: pdf


November 19, 2014 - "Agile+ High Assurance" with GenomOncology

GenomOnocology

Description: GenomOncology is coming to Hacker Society! Hang out with us and learn about managing software workload and design. GenomOncology is doing incredibly cool things with cancer data analysis that helps save lives, so if you're interested in data, advanced algorithms, or bioinformatics, be here.



November 12, 2014 - Advising Party

Steph Hippo

Description: Come get advice on advising from upperclassmen who have read graduation requirements, are up-to-date on recent changes, and have already taken the classes you're considering. We've been researching all semester and working with both the department and Undergraduate Studies to improve the current way that information is dispersed. If you're interested in exploring or learning more about a particular area of computing, we'll have upperclassmen on hand to give you advice. Go in to your advising meetings with your professors well-prepared and confident in your lineup. We will be prepared for all EECS majors.



October 29, 2014 - To Type Or Not To Type: The Pros And Cons Of Dynamically Typed Languages

Brendan Higgins

Description: Due to a last-minute speaker cancellation, CWRU senior Brendan Higgins will be stepping up to the plate for us. Brendan has a history of giving really solid talks, so you won't want to miss this. If so far you've only tinkered with Java, you might be surprised to learn that some languages don't make you explicitly declare the "type" of something. Like anything in Computer Science, it's a trade-off, and there's a lot of debate about whether it's worth it. Brendan will use this talk to teach what this means and explain the arguments both for and against this kind of typing. It'll be a good time, so we'll see you tomorrow night.



October 22, 2014 - "Hacking" Android

Matt Insko

Description: Matt Insko (San Diego State University '99) of PreEmptive Solutions will be talking about the tools used to hack Android. This is a great talk to go to if you're attending Kent Hack Enough. While you won't be able to do anything of this scale in a weekend, the talk should introduce you to some tools that may be of use to you later. Matt is a professional Java developer and currently works on byte code obfuscation, so we're sure all of our hackers can learn a thing or two from him. We'll see you there.



October 15, 2014 - Hacker Society Presents: Google in Glennan

John Gunderman

Description: Hacker Society alum and current Googler, John Gunderman will be giving his talk entitled "What is Site Reliability Engineering: How Google Stays Up (And You Can Too)." Site Reliability is a huge challenge at Google and one they handle extremely well. Learn about the engineering behind site reliability- it's more than magic that holds the internet up.



October 08, 2014 - NASA Internship

Luc Bettaib

Description: Hear from one of Hacker Society's own when Luc Bettaib talks about his experience interning at NASA, what the current state of our space agency is, and why people should still care. He'll be talking about the program he did on his first summer working at MSFC, the Robotics Academy as well as other summer work and how it's relevant to space exploration. Hear about what NASA is doing now and how its relevant to the future of space exploration. You can impact space exploration without actually being an astronaut, before you even graduate.



October 01, 2014 - Yelp Talk!

Nat Thompson

Description: Come hear from Yelp engineer Nat T, as he speaks on A/B Testing at Yelp: How to Make Out like a Bandit. Learn about A/B testing and multi-armed bandit algorithms, and how they're used in a real-world setting on millions of users. We'll discuss the reasons to use them, how to implement them, and things to watch out for during experimentation. Please bring your reviewed resume to enter a raffle for an iPad Mini.



September 24, 2014 - 2DMe

Dave Fleischer

Description: Dave Fleischer is a lifelong animator/developer, with a background creating "bleeding edge" real-time technology for animation production, at places like Wildbrain and Gravity in San Francisco -- and as Nickelodeon's external R&D department in NY. From 2003 - 2008 he grew and coordinated The Cleveland Institute of Art's animation program. His current company "2Dme" is creating a simple lightweight technology that will take a picture of your face and automatically create a 2D avatar you can talk with. The advantage: Unlike 3d --- you won't be "creeped out by your avatar. And unlike the massive demands for video transmission -- each moment in 2Dme's data transmission can function even if the bandwidth is as low as 2K. (So face to face in a bandwidth similar to that of texting!) We'll present pieces of our technology -- along with some of the issues related to making avatars that people don't find...um... creepy.



September 17, 2014 - How To Get A Job At A Top Tech Company

CWRU Hacker Society

Description: We'll talk about how to network, find companies that are working on problems you'd enjoy solving, and a. How do you craft a resume? How do you set up a github displaying your work? How do you prevent getting nervous when talking to recruiters? What do you do when a recruiter asks you to tell them about yourself, and you completely forget who you are? By the end of the night, you'll know how to put your best technical foot forward and land the internship/Co-Op/full-time position you want.



September 10, 2014 - What's Up With Hackathons?

Various

Description: What's a hackathon? Why should I go? What if I have no experience? And the most important question: How do I sign up? These and a million other hackathon questions will be answered on Wednesday night. Following a 5 minute lightning talk on hackathons, you can hang out for the rest of the hour to do nothing but check out the demos of MHacks projects that were built by our Hacker Society students this weekend.



September 03, 2014 - Git Down With Git

Jon Pfeil, Steph Hippo

Description: Jon Pfeil and Steph Hippo will be co-hosting a talk about Version Control and git. Drop/Add deadline is on Friday, and understanding git may be essential to getting through your classes. We'll teach you what it is, how to use it, and get you making your first commits by the end of the night. This is an interactive talk, so bring your laptop with git already installed. If you have trouble with the install, shoot Steph an email (before Wednesday) to schedule a time to help you out.



August 27, 2014 - Course Scheduling And Moonlight

Aaron Neyer, Diego Waxemberg

Description: Quick discussion on what courses are worth taking and when is the best time to take them. Super helpful for underclassmen, and we'd appreciate any comments during the talk from older and wiser upperclassmen. After that, Aaron Neyer and Diego Waxemberg are then going to give a presentation and demo of Moonlight (moonlight-stream.com), one of the coolest student projects to come out of CWRU.



April 16, 2014 - Gunderscript

Christian Gunderman

Description: Christian Gunderman, a sophomore at Case is going to be talking about a scripting language he is making called gunderscript. Gunderscript features a compiler that compiles it to a byte-code that is executed in a stack based virtual machine. Christian will be talking about the architecture of his compiler and virtual machine and will of course have a demo of his language.



April 09, 2014 - reMesh

Andrew Konya, Aaron Slodov

Description: Beginning with "We the People" the US Constitution implies that it itself speaks for the newly forming American people. In the United States the idea of "speaking for the people" is central to governance and implemented by way of a representative democracy. People are elected to 'speak for' their constituents within different governing bodies. This idea is predicated upon the assumption that the people will elect the individual which best 'speaks for' them. This paradigm has a few fundamental challenges: First, the options of who can be chosen to 'speak for' a group are typically limited. Second, the ways by which a ‘speaker’ can be chosen are overly simplistic and subject to many forms of corruption. Lastly, a single person may be subject to many influences outside of the group they speak for. The resulting 'voice' is an unreliable and crude approximation to what it means to 'speak for' a group of people. This talk will introduce a theoretical framework to more objectively consider what it means to 'speak for' a group of people as well as discuss its computational implementation within the context of a conversation.



April 02, 2014 - Building Systems & Portability - Makefiles + Autotools

Jared Hance

Description: Starting with the basics of Makefiles and then working into how autoconf and automake actually work and how they (believe it or not) make your life easier. Brief touch on the differences between Autotools and CMake and what makes them distinct objectively. Coverage of autoconf, automake, libtool, aclocal, autoheader, m4, m4sh etc. Description of how to actually manage the project properly and distribute it. Some description about internals and why it works the way it does.



March 19, 2014 - A Brief Introduction to Verilog for Synthesis

Mitchell Haynes

Description: Hardware Description Languages (HDLs) have a variety of applications in writing, verifying and documenting logic design. In particular, they are used designing logic used in a number of real-time or embedded environments, such as for PLDs, FPGAs or logic ASICS. I will be providing a very brief introduction to the Verilog HDL, and demonstrating how to use standard synthesize-able Verilog language constructs to write practical logic designs. I will also go through a few examples to give further context.



March 05, 2014 - DNS Security

Kyle Schomp

Description: The Domain Name System (DNS) is a critical component of the Internet infrastructure as it maps human-readable names to IP addresses. Injecting fraudulent mappings allows an attacker to divert users from intended destinations to those of an attacker's choosing. In this talk, we show the results of a measurement study of the Internet's vulnerability to DNS record injection attacks - including a new attack we uncover. We find that record injection vulnerabilities are fairly common - even years after some of them were first uncovered.



February 26, 2014 - Web Scraping & Web Crawling

Aaron Neyer

Description: I will talk about how to pull relevant information off of web pages using tools such as Nokogiri and Mechanize, and some tips for how to best analyze the source code to most efficiently extract the information. I will also go over how search engines like Google create web crawlers that scrape information off of web pages to create an index of the internet.

Presentation: pptx pdf



February 19, 2014 - Functional Reactive Programming

Brandon Siegel (Mobile Defense)

Description: Brandon is a 2007 CWRU CE alumni and founding Hacker Society member. After college Brandon worked at Preemptive Solutions where he worked on C# obfuscation and app analytics product. In 2012 he relocated to sunnier San Francisco where he worked as a web developer at Causes. Now at Mobile Defense Brandon has worked on a variety of things including: Ruby web development, Windows Phone applications, Android application, and Python and Scala back end services. Most recently he has worked as on our deployment and provisioning infrastructure which uses Capistrano and Chef.
His talk will offer a brief intro to monads and side effect free code as well as an introduction to the observable monad. Brandon will also offer an example of how reactive programming can benefit UI design.

Presentation: pdf


February 12, 2014 - The Design of a PCB

Thomas Murphy

Description: The design of a PCB (printed circuit board). Objective planning and reading datasheets. Schematic capture: understanding how the parts connect, expressing electrical requirements/values. Layout: footprint design, number of layers on board, routing signals, ground/power planes, design rules/constraints, placement of components. Manufacturing options for prototypes. Board hand assembly: surface mount and through-hole. Software options and standards for this process. Demonstrations of gEDA and the resulting product.

Presentation: pptx pdf



February 05, 2014 - Reverse Engineering

Cameron Gutman

Description: He will be going over the basics of how to reverse engineer a protocol, what strategies you use, and what technologies, such as Wireshark, you can use. He will also explain how this was used to reverse engineer the NVIDIA GameStream Protocol to be able to create Limelight (limelight-stream.com).



January 29, 2014 - Secrets, Spies and Ciphers: Cryptography in Past, Present, and Future

Michelle Bergeron

Description: Since the dawn of communication itself, people have desired a way to keep their message exchanges secret and out of sight from prying eyes. This week's HacSoc talk is about cryptography: the practice and study of techniques for secure communication in the presence of third parties. This talk will be a little different than the usual talks in that it does not require knowledge of any specific technology, but it is still technical in nature.
I'll give a background of the technology used to keep messages safe and focus on how it has evolved over time. This talk is designed to engage beginners and cryptography experts alike, so come to Hacker Society this Wednesday to explore cryptography's...



January 22, 2014 - Rowkey Design in HBase

Doug Meil

Description: HBase is a "open-source, distributed, versioned, non-relational database modeled after Google's Bigtable." It is the database that backs Hadoop. This talk discussed the design requirements for the rowkey that defines each row stored in an HBase table.




January 15, 2014 - Regular Expressions: Everything You Wanted To Know But Were Afraid To Ask

Brendan Higgins

Description: This talk has a little bit for everyone: for those of you who are unfamiliar with regexs I will be talking about what they are and how to use them and how they make your life easier; for those regex masters I will be talking about how to write a regex compiler and engine.



December 04, 2013 - Discussion on the Hacker Ethos

Hackers

Description: A group discussion on the Hacker Ethos and what it means to be a hacker.



November 13, 2013 - Linear Hashing

Tim Henderson

Description: I will be talking about Linear Hashing, a common file-structure that databases and file systems use to index data. If you have ever wondered how to implement a hash table that grows beyond the size of the main memory on your computer this is the talk for you! I will discuss the algorithm and its properties. A Go implementation will be provided for your enjoyment.

Presentation: pdf



November 06, 2013 - Git Internals

Jared Hance

Description: We all know what git does, but how does it do it? How does git know how to automagically merge to changes affecting the same file? How is git capable of efficiently storing so much data?



October 30, 2013 - Thinking About Functions Mathematically: Statelessness and Functions as Mappings

Brendan Higgins

Description: We are building ever larger, more concurrent, systems in which state is a liability. Thus if we think about functions as mappings without side effects and state it becomes much easier not only to make programs concurrent, but to make more scalable and even more readable code. So come to HacSoc and learn about cool functional stuff!



October 23, 2013 - Meta-programming in Ruby

Jon Pfeil

Description: Ruby is a truly complete object oriented language in the sense that everything in Ruby is an object. Ruby also allows you to modify any preexisting type. For example, let's say you wish that integers defined some method, you can just add that method in on your own! There are some other languages that allow you to do similar things so it is always useful (and fun) to see how others do it.



October 16, 2013 - Haskell

Jared Hance

Description: Haskell is a purely functional programming language as opposed to most languages which are imperative.



October 09, 2013 - Snakes on a Domain

Vertical Knowledge

Description: Exploiting open data, evading detection, and gathering intelligence on the open web with Python.



October 02, 2013 - OpenCL

Ben Horstman (MIM)

Description: Every want to multiply big ass matrices? If you want to do image/video processing, or computer vision then the answer is yes. OpenCL is an open, cross platform, GPU compute library that allows you to use your GPU to do things like multiply big ass matrices.
MIM is a Cleveland based medical imaging company; they have really cool software that takes 3d scans and rescales them and uses feature matching to overlay them in another color so you can, lets say, take 2 CT scans from different points in time and see how the size and shape of a tumor is changing overtime.



September 25, 2013 - Meteor

Daniel Zapata

Description: A talk on Meteor, a distributed data web framework in Javascript.



September 18, 2013 - Lisp Macro System

Timothy Franke

Description:



September 11, 2013 - Let's Build a Data Center

Fred Hatfull (Yelp)

Description: Join Yelp Software Engineers as they dig in to current projects and describe what it's like to work as an engineer at Yelp HQ in San Francisco. Meet our engineering team and ask us questions about our open stack programming languages, daily push cycle, and open-source projects. We will be providing dinner and raffling off an iPad mini, so remember to bring your CS or engineering resume to get a raffle ticket!
I'm hoping to cover a variety of topics about building and supporting a large internet property from the low level hardware all the way up to the high level software. My goal is to provide some insight into both the day-to-day operation and the higher-level architecture that goes into building and scaling redundant, highly-available, and performant systems.



September 04, 2013 - Hacking the Nvidia Shield

Cameron Gutman

Description: The Shield is a handheld android game console that can stream games being played from a host computer. The Shield is not designed to be played over a NAT; however, Cameron is going to tell us about a utility he wrote to get around this restriction.



August 28, 2013 - Intro Linux Talks

Brendan Higgins, Aaron Neyer, Diego Waxemberg, Cameron Gutman

Description: This evening's talk will consist of a series of short intro talks on Linux and Unix tools that we think are very useful to newcomers.



April 24, 2013 - Senior Sendoff

Brian Stack

Description: Brian Stack will be giving a simple goodbye talk, most likely curmudgeonly berating the underclassmen on their lack of ACM conference planning, on behalf of the senior class before they flee to a place with more predictable weather. Afterwards, there will of course be Slacker Society at the Scholar!



April 17, 2013 - Generating Social Networks Graph from Github + Sandwich

Aaron Neyer

Description: My talk will just be a brief presentation of my work with Aron Lindberg in generating social network graphs from Github. I will talk about some of the technologies used, such as Googles BigQuery for getting large amounts of data with minimal effort.
My talk will be relatively short, and afterwards me, Brendan, Diego, and Cameron will give a mini talk on the current progress of Sandwich.



April 10, 2013 - Power Grid

Tyler Laseter

Description: Although Tyler's talk will start on and work with the power grid, he is able and willing to talk about many other things that are related to it. So, Tyler would like some suggestions on what the audience is interested in him expanding into.



April 03, 2013 - A Discussion on Society and The Machine

Tim Bruckner

Description: Tim Bruckner, inspired by some discussions his courses have been having on the topic of technology and how it affects our lives, would like to lead a discussion of how a series of "a machines" leads to "the machine."



March 27, 2013 - Numerical Methods with Numpy and Scipy

John Dulin

Description: Tonight in HacSoc, I'll be talking about Python's Numpy and Scipy libraries, what makes them so awesome, and numerical methods in general. It should be a fun whirlwind tour of some math and how computers can make your relationship with math a lot simpler (or at least faster). I will also use a mathematical model to provide estimates to the Humans in the audience as to just how much time they have left...



March 20, 2013 - Cross Domain Javascript

Marco DiDomenico (Letsgift.it)

Description: Letsgift.it is trying to deliver a new way to do group gifts, and they are looking for a few Case hackers to bring on as interns this summer (as I mentioned a few weeks ago.) If you would like to learn more, come and chat with Marco and, hopefully, Ryan O'Donnell, the two co-founders.
Remember to stop by tonight's Hacker Society talk, where Marco, LetsGift.it's CTO, will be talking about getting around the Same Origin Policy in JavaScript using the EasyXDM library. Specifically, he will use the video recorder LetsGift.it built as an example of some of the cool stuff you can do.



March 06, 2013 - The Whole Enchilada

David Shah, Steve Jackson (Leandog)

Description: We could have built a simple "hello world app" to demonstrate how we do things. That would be lame. Instead, we decided to find a local customer and demonstrate on a small scale how we rock out apps @LeanDog We will take you through the entire process from the initial planning, to testing, building, and deploying a native Android application for our local lunch favorite - Ohio City Burrito.



February 27, 2013 - An Intro to Computer Vision

Brendan Higgins

Description: Brendan Higgins will be using C++ to demonstrate some basic principles of computer vision and how to solve practical computer vision problems! Come check out how to identify, trace, and remove objects from images and some basic methods that make computers able to sense of all those pixels.



February 20, 2013 - Slayer - Bloomberg Black’s Security Layer Based on Distributed Trust

Adam Berger (Bloomberg)

Description: This week in Hacker Society, Adam Berger from Bloomberg will be flying in to talk about "Slayer - Bloomberg Black's Security Layer Based on Distributed Trust!" Slayer is Bloomberg's security solution for distributed, service-oriented architectures, providing authentication and flexible privileging that's secure, auditable, and fast.
Adam Berger has worked on startup web businesses at Bloomberg ever since he graduated from Washington University in St. Louis with a degree in Computer Science and Economics. During that time, he has developed the highly available, robust, and secure distributed infrastructure to run two new, consumer- and business-facing websites.



February 13, 2013 - Bitcoins

Josh Snyder

Description: Bitcoin is a fascinating digital currency that has taken off in the past few years and allows for the instantaneous and secure transfer of a collectively managed currency. Bitcoins are issued by no central authority, but instead use cryptography to control the creation and transfer of money.



February 06, 2013 - Intro to Functional Programming

Anthony Coble (Mobile Defense)

Description: Functional programming is a powerful and interesting paradigm that can change the way you think about computing, and be applied to interesting problems in languages from Python to Lisp to Ruby. Come learn.



January 30, 2013 - Program Analysis

Tim Henderson

Description: The talk will be a good starting point for learning more about program analysis and cover general principles and tools.



January 23, 2013 - Combinatory Parsing and Functional Programming in Javascript

Matt Bierner

Description: Matt Bierner will be talking about, well, combinatorial parsers and functional programming with Javascript! He has been working on a ECMAScript 5 parser and working on a combinatorial parser Javascript library, parse.js.




December 05, 2012 - Explorys Hadoop

Doug Meil (Explorys)

Description: Doug Meil of Explorys fame will be talking on Hadoop and what Explorys has been up to with the distributed framework.



November 28, 2012 - Literally Canvas

Steve Johnson

Description: Literally Canvas is an open source HTML5 widget that lets you draw! So Steve will be getting into the project's motivation, design, some HTML5 and JavaScript, and general tips on starting an open source software project. Don't miss it!



November 14, 2012 - WPA

Rob Wiesler

Description: Rob Wiesler will be giving a presentation on the WPA protocol and its design and functionality.



November 07, 2012 - The Go Programming Language

Brendan Higgins

Description: Go is a programming language that went into development by a team at Google in 2007, including Rob Pike, Ken Thompson, and Robert Griesemer. One of the stated goals of Go is to offer the efficiency of a statically typed language with the ease of programming of a dynamically typed, and I know that it is being used more and more internally at Google. Brendan will be offering an introduction of the features and design choices in the language and their motivation.



October 31, 2012 - Iotos - The Internet of Things Operating System

Christopher Armenio (Iotos)

Description:
1. Open-source projects and tools for creating your own internet-enabled projects
This will be a whirl-wind tour of a number of open-source projects and tools that we have found useful including:
Arduino, Roving Networks Wifly modules, the Apache Mina project, Amazon AWS and EC2, Ubuntu Server, and a light topping of PHP. The talk will be more tutorial oriented showing how you can leverage each of these tools in your own projects.
2. The iOTOS platform, what it does, and how to use it I definitely don't want this to be a sales pitch...so this will be relatively brief. We'll cover the iOTOS platform, what it does, how it works, and how you can use it in your own internet-enabled projects.



October 24, 2012 - SPDY

Brian Stack

Description: This week in Hacker Society, you can listen to Brian Stack pop his stack* on SPDY (pronounced "SPeeDY"), an experimental protocol for a faster web from Google. SPDY is a protocol developed from Google's "Let's Make the Web Faster" initiative (https://developers.google.com/speed/) designed to reduce latency in loading web pages at the application layer. (http://www.chromium.org/spdy/spdy-whitepaper) SPDY looks like an interesting update to HTTP and has been shown to make loading web pages 64% faster; It could be the future of the web! So you should definitely come listen to him at the same place, same time,



October 17, 2012 - Anti-Reverse Engineering Techniques

Ryan Welton (Mobile Defense)

Description: Anti-Reverse Engineering techniques: Basic exercises in obfuscation and dynamic analysis evasion. Ryan will be talking about techniques commonly used to obscure the intent of an application as well as detecting and behavior when under scrutiny. This talk will be geared particularly toward the Android platform.



October 10, 2012 - Windows File System Filtering Infrastructure and ReactOS

Cameron Gutman

Description: This week in Hacker Society, we will learn everything you ever wanted to know (and didn't know you didn't know) about the Windows kernel and drivers from Sophomore Cameron Gutman, who has done extensive work on React OS. More specifically, the talk will be about the Windows File System Filtering Infrastructure.




September 26, 2012 - Using Mobile for Manufacturing and IT with Eaton

Eaton

Description: This week in HacSoc, the Eaton Corporation will be talking about how they use mobile applications to control their manufacturing process and IT projects taken on by Case Alumni. Furthermore, they will be providing food and drink for everyone!!!




September 19, 2012 - Time and Timing

Tyler Laseter

Description: This week in Hacker Society, Tyler Laseter, Electrical Engineer Extraordinaire and doer of things "The Right Way™," will talk Time and Timing in computers. Come to learn what you didn't know you were supposed to know about time in electronics, with demonstrations of the first digital clock and an atomic clock!



September 12, 2012 - Git Version Control

John Gunderman

Description: This week John Gunderman will fearlessly be giving a talk on Version Control with Git. What it is, how to use it (properly), and how it works are all things that absolutely every good professional programmer should know, whether they are from Case or not! Luckily for you, the presentation John will give while juggling bowling pins on a unicycle* will help you get started with all of that!



September 05, 2012 - How to be a Case Programmer

Aaron Neyer, John Dulin, Brendan Higgins, Brian Stack, John Gunderman, Rob Wiesler

Description: Tonight we will have the exciting return of Lightning Talks, now with more Java! Our lineup is intended to help new members of the Computer Science department get the most out of the coming year with tips, tools, and introductions for their Java programming classes and skills that will help them become good hackers. Each talk will probably be no more than 15 minutes.
How to Java and Succeed in EECS 132 - Aaron Neyer
How to Data Structure and Succeed in EECS 233 - John Dulin
JUnit Testing - Brendan Higgins
Text Editors and the Command Line - Brian Stack / John Gunderman (vim and emacs showdown?)
SSH - Rob Wiesler



April 18, 2012 - Haskell + User Interface Design

John Gunderman, Tim Bruckner

Description: John Gunderman will talk about Haskell and Tim Bruckner will talk about user interface design magic. If I'm in a good mood, one of them will talk first and the other one second. If I'm upset, the talks will occur simultaneously in a "whoever shouts louder wins" format. I strongly recommend that both of the speakers keep me happy tomorrow. Honestly, both talks should be pretty interesting, and appeal to a wide range of people.



April 11, 2012 - Random Number Generators

Brian Stack

Description: This week we were going to have the very smart John Gunderman give a talk on Haskell. However, it seems like he has tickets to go see Aziz Ansari or something else far less cool than HacSoc.
In light of this, you're all stuck hearing me talk about random number generators. It's the talk I'm giving to my crypto class that morning, but hopefully it should be able to be morphed into something acceptable for you all.



April 04, 2012 - Explorys Talk

Doug Meil (Explorys)

Description: Explorys is the company that has been sponsoring those Hadoop user groups down at CSU that a few of us have gone to. Those have been really great, so come to HacSoc on Wednesday to get a taste of it right here on our campus. If you're interested in startups in the Cleveland area, Explorys is just about as good as it gets. See you there!




March 28, 2012 - Unexpected security flaws in web standards

Eric Meyer

Description: This week Eric Meyer is visiting campus to speak to us. Eric is an expert on CSS and HTML and an Alum of CWRU. However, why would you listen to me talk about him when you could just read the Wikipedia aricle about him, or go check out his awesome website?



March 21, 2012 - A Quest For Truth On The Internet

Mark Allman

Description: This talk will first delve into the importance of empirical Internet measurement as a means for understanding the system at scale. We will discuss the history of rigorous measurement and the general approaches taken to date. We argue that the approaches taken to date---while useful in modest terms---lack the broad visibility required to understand the Internet at scale. We then introduce a Firefox extension---called Fathom---that will provides a measurement-oriented API to JavaScript code that can be included with any web page and hence executed on a broad set of Internet-connected hosts. We discuss several use cases for this extensions, discuss security and privacy implications, sketch the overhead of the system and the accuracy of the measurements.




March 07, 2012 - Size Matters

Rob Wiesler

Description: This week a trench coat with a beard (aka Rob Wiesler) will be talking about "small code". He fancifully describes this as, "there are a couple more tricks for making code small than ramming it through an entropy grinder."



February 29, 2012 - Introduction to Android Reversing

Ryan Welton (Mobile Defense)

Description: This week Ryan Welton, a CWRU alum at Mobile defense is giving a talk titled "Introduction to Android Reversing". They describe the talk as, "a brief overview of the Android architecture, take a dive into the Dalvik VM, explain Dalvik Bytecode". In addition he will patch an application to remove or do something unexpected. Mobile Defense is a local company that is held in high regard by a number of students I've spoken to here. They work on some pretty cool stuff and seem to be winning awards like there's no tomorrow.



February 22, 2012 - Epic

Epic

Description: This week we have a company coming to talk to us. Epic is giving a "mystery" talk Wednesday night at 7:30 in the Glennan glass room. Epic is a software company at the intersection of two dynamic fields: medicine and computer science. As a developer at Epic, you’ll directly impact the way 1 in 3 Americans receives healthcare – in fact, there’s a good chance your innovations will affect the life of someone close to you. You’ll push the boundaries in creating software to reduce medical errors, improve screening for diseases, and improve the quality of patient care. The software you’ll develop will be used by some of the world’s largest healthcare organizations and leading research institutions, including Kaiser Permanente, Cleveland Clinic, Stanford, and Yale.



February 15, 2012 - Space Bunnies and The Fact That Everything in Hell is a File

John Dulin

Description: This week in Hacker Society, I will be talking about distributed operating systems, particularly the most recent research progeny of Bell Labs, "Plan 9 from Bell Labs" and "Inferno." Plan 9 was a research platform developed in the 1980s by many of the same engineers who built Unix, while Inferno is a more recent operating system developed by Vita Nuova, based on the design principles and innovations of Plan 9. I will explore the more curious and unique design features of Plan 9, the reasons for them, and the fact that the circles of Hell dynamically link to one another.



February 08, 2012 - More DNS than your body has room for

Tom Callahan

Description: This Wednesday at 7:30 in Glennan 322, Tom Callahan describes his novel method for message passing using DNS. The talk will include an introduction to DNS, a vital part of the internet.



February 02, 2012 - Steve is gone! Let's talk about Ruby instead of Python

Tom Dooner

Description: I'm going to walk you through a lot of features of Ruby, and how they're cool.



January 25, 2012 - Hackers

Steve Johnson

Description: Rambling about the nature of the universe and our place in it

Presentation: txt


December 07, 2011 - Web Develeopment: The New Stuff

Tom Dooner, Brian Stack

Description: Tom and Brian don't talk about some monk who did stuff with numbers. Instead they'll wax poetic about the fun parts of web development. Come to the talk to hear about the new hotness in html5, css3, and javascript.
Each topic will be covered with an easy introduction to how things currently work, a demonstration of something annoying about the current process, and then move into how these new web technologies solve all the worlds problems, and let you eat your cake too.



November 30, 2011 - Not My Problem (Open Source Rants For Your Own Good)

Steve Johnson

Description: Software. Pretty cool, right? Even better when it's open source: free to be used, free to be modified, and free to be redistributed. But contributing to open projects can be intimidating, running them yourself even more so. In this talk I'll try to demystify various aspects of contributing to and running open source projects, hopefully giving you confidence as you explore the world of technology.



November 16, 2011 - Practical Cryptography: an Overview

Josh Snyder

Description: The advent of public-key cryptography in the 1970s, together with the rise of computers, caused a revolution in the field of secret keeping. Cryptography was quickly changed from an esoteric art to a public science. It became accessible to the masses as never before, spurring a revolution in the field as it adapted to handling the everyday business of a much larger audience. After giving a very brief introduction on the need for and workings of public-key algorithms, I will discuss many of the difficulties inherent in using these and other cryptographic primitives to secure information in the real world. We shall touch on topics criminally under-discussed today, including the PKI problem, secure storage of passwords, and the issues associated with storing data in-place.



November 09, 2011 - Parallel computing (with MPI and Matlab)

Alexey Ilchenko

Description: There is a fundamental difficulty that comes up when you try to parallelize a task: would you like your architecture to employ shared or distributed memory? For example, if you use shared memory, how do you let a specific processor know whether or not a piece of data was updated by another processor. A proposed solution comes by passing messages using a library called MPI, Message Passing Interface. MPI uses graph theory to understand the architecture and efficiently pass messages between vertices/processors. Unfortunately, MPI doesn't simply compile a parallized version of your program and, if you want a parallel algorithm, you have to be aware of bits of your algorithm that are readily parallelizable. One readily parallelizable component is the iteration space of some loop: I will give examples of matrix vector multiplication and two efficient ways to parallelize the iteration space in a finding prime numbers algorithm.
As an added treat, we can easily learn how to initialize workers in Matlab's Parallel Computing Toolbox (Parallel Toolbox is included with Case's version of Matlab) and how to perform for-loops in parallel under certain conditions (Matlab parallelization pays off in time even on 2-core computers).



October 26, 2011 - Higher Order Functions

Tim Henderson

Description: Functions about functions. For the first half an hour we will learn how to use functions about functions. Examples will be mostly in Python since many already know the language. The next half an hour will discuss implementation details from the compiler author's perspective. If your a beginner come learn a neat programming construct you may not have used. If you already know everything about use higher order functions come learn how they work under the covers.



October 12, 2011 - UIUC Conference Discussion

Hackers

Description: This week in Hacker Society, the attendees of the ACM Conference at UIUC will recap their experiences at the conference, and will discuss how the ACM chapter at UIUC differs from ours, and how we might try to change our culture based on our observations.



September 28, 2011 - What are you really listening to?

Fred Hatfull

Description: Your music may contain more information than you think. In an age of easy and efficient information transmission, copyright holders are turning to more advanced forms of copyright protection than just teams of lawyers. Join me for a cursory discussion of audio steganography techniques and how they can be used to watermark audio signals to contain information that the listener may never be aware of. THERE WILL BE STEGOSAURUS.



September 21, 2011 - TEMPEST

Tyler Laseter

Description: TEMPEST and SIGINT (Signals Intelligence) -- Or: The Tip of the Iceberg in Ubiquitous Electronic Signals
We live in a highly interconnected world, yet many of those interconnections are either passively or actively hidden from us. Furthermore, many of the analysis tools are expensive, confusing, or are simply never taught. My talk will both introduce the concept of TEMPEST as well as more broadly describe signals intelligence attacks, counterattacks, and counter-countermeasures, as well as an overview of time vs. frequency domain analysis, vulnerability of devices, and a variety of demonstrations exposing these concepts (and a couple of campus radio signals to boot). Topics covered will include:
-So what's a spectrum analyzer, anyways?
-Why are all* receivers transmitters?
-What do power supplies have to do with device security?
-What kinds of radio protocols are out there?
-What kinds of equipment can be used to toy around with these concepts?
...as well as a variety of other concepts.



September 07, 2011 - Intro Lightning Talks

Josh Snyder, Brian Stack, Tom Dooner, Steve Johnson, Tim Henderson, Fred Hatfull

Description: Boot camp for the discerning computer science student. Core knowledge and pro tips from five upperclassmen.



April 27, 2011 - Kinect

Garvin Seto, Toby Waite

Description: Overview and random tidbits about working with the Microsoft Kinect by a Codonics employee and an MS student studying robotics

Presentation: pdf


March 02, 2011 - Spamalytics

Steve Johnson

Description: The tale of how a group of researchers took over part of the Storm botnet, and what they found out as a result

Presentation: pdf


February 24, 2011 - Email

Josh Snyder

Description: Email revealed in all its distributed, insecure, quirky glory

Presentation: html


October 05, 2010 - Yelp talks

Adam Derewicki

Description: Important concepts in computer science that aren't covered by the typical undergraduate curriculum



September 08, 2010 - Google Web Toolkit

Gary Doran

Description: How Google Web Toolkit simplifies your web application development by compiling Java into efficient JavaScript, binding UI to control code, bundling static resources, and making client-server interaction painless

Presentation: pdf



September 01, 2010 - Essential Tools for Programmers

Steve Johnson, Tim Henderson

Description: A handful of way-too-useful tools that will simultaneously save your bacon and provide you with rocket boots

Presentation: pdf


April 14, 2010 - Serious Games

Brian Beck

Description: Applying game mechanics to learning, training, working, and communicating in the fields of defense, education, health, engineering, and politics

Presentation: pdf


April 07, 2010 - Intellectual Property

David Stein

Description: An intellectual property lawyer discusses the ins and outs of IP law as it applies to software

Presentation: pdf


March 31, 2010 - Regular Expressions

Tim Henderson

Description: A thorough exploration of the theory and practice of regular expression engine implementations

Presentation: pdf


March 18, 2010 - CitizenGroove

John Knific

Description: One of the founders of the social network for professional musicians talks about the path the startup has taken from a CWRU dorm room to the present

Presentation: pdf


February 11, 2010 - The Go Programming Language

Steve Johnson, Tim Henderson

Description: An introduction to the new Go programming language

Presentation: pdf


February 04, 2009 - Why You Want Version Control (git)

Steve Johnson, Tim Henderson

Description: A gentle introduction to version control and Git

Presentation: pdf