StarCon 2018
Make Computer Science and its related technologies accessible to everyone, taking into consideration race, class, gender, ability, religion or sexual orientation, and intersections thereof.Create a culture that fosters learning and community building through knowledge sharing among people from diverse backgrounds.
This page was generated from this YAML file. Found a typo, want to add some data? Just edit it on GitHub.
-
🎤 Keynotes 'So you want to be a wizard?'
- 📹 1 video
- 👤 Julia Evans
I don’t always feel like a wizard. I’m not the most experienced member on my team, like most people I sometimes find my work difficult, and I still have a TON TO LEARN.But along the way, I have learned a few ways to debug tricky problems, get the information I need from my colleagues, and get my job done. We’re going to talk about. -
🎤 Open Lessons from Open Source
- 📹 1 video
- 👤 Safia Abdalla
Working in open source provides interesting insights on technology and people culture. In this keynote, Safia shares the lessons learned and ideas gather from her experience as an open source contributor and maintainer. -
🎤 The Innerworkings of Ransomware
- 📹 1 video
- 👤 Dinah Davis
This past year was all about large Ransomware hacks like WannaCry, Petya/NotPetya, and CRYPSHED to name a few. In this talk Dinah will detail how it works, how to avoid it, and what is coming next in the world of Ransomware. She will also demonstrate what happens when ransomware is exploded on a computer from the Arctic Wolf labs. -
🎤 Concurrent, Assembly-ish Actor-based Programming for Teens
- 📹 1 video
- 👤 Josh Bowman-Matthews
Investigating programming languages that never went mainstream can help us better appreciate the subtle trade-offs that are required when designing a programming language. In “Remembering MegaZeux: Concurrent, Assembly-ish Actor-based Programming for Teens”, we will focus on one such language in particular. In 1994, a small community of teenagers started usi… -
🎤 Why You Should be Building Design Systems and CSS Architectures
- 📹 1 video
- 👤 Christina Truong
CSS is sometimes undervalued and misinterpreted as being “easy” because it is not a programming language. So planning and writing efficient, scalable and maintainable CSS sometimes falls by the wayside. But it shouldn’t! From small projects to large projects, creating and planning the CSS architecture right from the beginning will help make it easier to main… -
🎤 Formal Methods for Everyone: Practical Tools for Computer-Aided Reasoning
- 📹 1 video
- 👤 Murphy Berzish
Do you want to write code you can be confident in, and test your programs thoroughly? Formal methods is a powerful discipline of software engineering that uses logic and automated reasoning to prove correctness of programs or find counterexamples to assertions. -
🎤 Of Tracked Changes and Diffs: Moving from Editorial to Engineering
- 📹 1 video
- 👤 Breanne Boland
I worked in online content in varying capacities for more than a decade before I made the shift to software engineering. While my ability to communicate verbally and in writing were early helpers as I completed this transition, the lessons I learned from editorial life were also surprisingly helpful. It turned out that years of workshopping stories, trading … -
🎤 Notworking with a Whale: A Tale of Dockers, Networks, and Problem Solving
- 📹 1 video
- 👤 Fatema Boxwala
Docker has become an extremely popular tool in the tech industry. Docker containers can be found playing a hugely important role in the infrastructure of companies from the tiniest startup to the giantest of the giants. Despite it’s ubiquity, much of the inner-workings of Docker remain shrouded in mystery for developers, even for some people that work with t… -
🎤 How to make a real-time collaborative text editor in 5 easy steps!
- 📹 1 video
- 👤 Rudi Chen
With the rise of cloud applications, more and more software is becoming collaborative. That is, multiple people can be viewing and editing the same document or information at the same time. This can lead to tricky issues figuring out what the end result should be when two users simultaneously do conflicting operations (e.g. in Google Docs, two users typing i… -
🎤 Why I Prefer Good Testing Over Excellent Testing
- 📹 1 video
- 👤 Tina Fletcher
I often used to feel that if we only had more time for testing, we’d find all the bugs and everything would be awesome. But the longer I’ve been working on software projects, the more times I’ve seen that this might not be true. Most of the escaped defects in my recent memory were hiding in the areas I didn’t even know to ask about, in the small differences … -
🎤 Dealing with Bad Architecture Decisions: A Case Study
- 📹 1 video
- 👤 Claire Janke
Have you ever worked on a project for several months, only to realize right before the end date that there’s a fundamental flaw in your approach? In this talk I’ll tell the story of how our team built a new data management system which started as a fairly straightforward Elasticsearch index but then at the last minute evolved into a Frankenstein-esque databa… -
🎤 How giant human-powered calculators became the internet
- 📹 1 video
- 👤 Andrew Louis
Once upon a time, a “computer” was literally a large room filled with hundreds of workers hunched over desks doing math. Almost a century later, we’ve arrived at the internet but what we have now was by no means inevitable. -
🎤 Taking the Fun Out of Everything: Automating Neopets
- 📹 1 video
- 👤 Kelly McBride
Neopets is probably one of the Web 1.0’s greatest achievements. The fact that it was created during that time means that its original features rely on older technology that’s more commonly understood now, making it a prime target for automation at the hands of junior programmers. Neopets is a browser game about taking care of virtual pets. Fortunately, it’s … -
🎤 Protecting cryptography code from timing vulnerabilities
- 📹 1 video
- 👤 Tim McLean
It’s well-known that cryptography code is hard to get right. Small mistakes often have disproportionately large consequences, like handing an attacker your encryption keys.One key category of pitfalls that cryptography engineers face are timing leaks. When a program runs on a computer, it subtly but measurably interferes with the performance of other process… -
🎤 Undoing the Chatbot
- 📹 1 video
- 👤 Erika Pierre
In this talk, we’ll be taking a look at the history and present of chatbots and digital personal assistants in English-speaking North America from a technological and social perspective. Whether we’re looking at virtual assistant bots, Facebook Messenger bots, or Slackbots, what do we expect from our bots, and why? What else can we imagine for and with our b… -
🎤 Introduction to Software Defined Radios
- 📹 1 video
- 👤 Jordan Pryde
Software Defined Radios (SDR) are devices that implement the components of a radio, that have been traditionally implemented in hardware, with more flexible software. These components include mixers, filters, modulators and demodulators. In my talk I will introduce the audience to the concept of SDRs and other basic radio concepts, describe some cool project… -
🎤 Why Lossless Data Compression Is Important and Fun
- 📹 1 video
- 👤 Alex Rhatushnyak
Data compression is highly important for reducing storage costs and transmission times. More than 70% of global Internet traffic is video, and it’s compressed video as a rule. Similarly, audio and images more often travel in compressed form. Lossless data compression (LDC) is an important part of a data compression system. Advanced LDC is an application of D… -
🎤 Gloom, Doom, and the Internet
- 📹 1 video
- 👤 Keefer Rourke
Since the advent of the internet, technology has undergone a revolution like no other. It has enabled connectivity on a scale that has never been seen before, enabling free distribution of information, ideas, and independent content. However, in recent years we’ve seen a turn of events. What was once primarily a mechanism for free expression has given way to… -
🎤 Managing Connections with Graphs: Uses and Challenges
- 📹 1 video
- 👤 Siddhartha Sahu
Connections in social networks, financial transactions, and interactions between proteins are just a few examples of real-world data that can be intuitively represented as graphs. In my talk “Managing Connections with Graphs: Uses and Challenges”, I will examine the rising relevance of graph software in managing highly interconnected data. While graph proces… -
🎤 Imagining a world with Ethereum
- 📹 1 video
- 👤 Anastasia Santasheva
Cryptocurrencies such as Bitcoin, Ethereum, and others have recently become (in)famous in the news. In my talk, “Imagining a world with Ethereum”, I will explore Ethereum’s fundamentals by contrasting it with Bitcoin. Then I will show why this technology is powerful and what projects have been established in this space. I’ll discuss their impact and lessons … -
🎤 How Rust Makes Advanced Type Systems Accessible to the Masses
- 📹 1 video
- 👤 Sunjay Varma
In the past it was accepted that only experts and highly experienced programmers could work on really large codebases. Those people all had the “special” capacity to keep all the different parts and considerations in their mind so that they could avoid a whole host of issues that a less experienced person might make. Nowadays, that convention isn’t sufficien… -
🎤 Remote code execution in your text editor!
- 📹 1 video
- 👤 Max Veystman
Text editors do a lot more than just edit characters in a buffer. Whether you use vim, emacs, submile text, atom, or something else, you probably configured your editor to highlight syntax, provide auto-completions, jump to defintions, and maybe even evaluate code. These plugins often spawn processes that evaluate code alongside your editor, and sometimes th…