Simplifying Data Analysis with GitHub Codespaces, Jupyter Notebooks & Open AI
11-02, 14:35–15:15 (America/New_York), Central Park West (Room 6501)

As web developers, we create large quantities of data (e.g., from test reports and analytics) that require insights for iterative optimization. But how does a JavaScript developer begin their journey into data science? Enter GitHub Codespaces, GitHub Copilot and Open AI. In this talk, I'll share my journey into creating a consistent development and runtime environment with GitHub Codespaces and Jupyter Notebooks, then activating it with Open AI to support an interactive "learn by exploring" process that helped me (as a JavaScript developer) skill up on Python and data analysis techniques in actionable ways. I'll walk through a couple of motivating use cases, and demonstrate some projects related to competitive programming and data visualization to showcase these insights in action.


As a JavaScript developer, I generate a lot of JSON data that can provide insights for testing, analytics and performance optimization. However, existing tools to analyze this data effectively often rely on knowledge of Python and relevant libraries and tools that I may not know - or even be aware of. From a developer experience perspective, I faced 3 challenges:
1. Identifying what I needed to learn (where I might not even know what to ask)
2. Knowing what tools & libraries I needed (and how to set them up successfully)
3. Applying what I learned to the projects I was doing (bridging JavaScript & Python)

In this talk, I want to share my learnings and experiences in addressing these challenges using three core tools:
1. GitHub Copilot - while known for its code-generation capability, the tool also has the ability to explain, fix, simply and test existing code. And it has the ability to generate Notebooks that are pre-configured to support a stated goal.
2. GitHub Codespaces - based on the concept of dev containers, this allowed me to take advantage of pre-defined "container images" that provided all the core tools and environment needed for data science, and reuse them across local and cloud platforms, to get an instant runtime for my notebooks that was consistent and reproducible across my devices and across members of my team.
3. OpenAI - officially supports a Python library that can be seamlessly integrated into these Notebook-Codespaces environments, making it possible to combine structured code segments with prompt-driven chat-based interactions that are more friendly to non-Python users while allowing new capabilities like data visualizations to be explored.

At the end of this talk, you should have a good understanding of:
- Why Copilot is useful for learning new concepts with an exploratory mindset
- Why Codespaces is useful for establishing reusable environments across teams
- Why OpenAI integration helps expand data analysis usage to non-Python devs

And, if you are a non-Python programmer, I hope this encourages you to jump into data science fearlessly and build your own data visualizations or insights projects with the help of such tools and environments.


Prior Knowledge Expected

No previous knowledge expected

Nitya Narasimhan is a PhD and Polyglot with 25+ years of experience in software research, engineering and advocacy across industry, startups and academia. Her interests span distributed systems, mobile & web development, cloud and AI. She is currently a member of the JavaScript Advocacy team at Microsoft where she works on empowering the web developer ecosystem to build intelligent apps with Azure and AI. You can find here talking about tech and career @nitya - and visualizing tech @SketchTheDocs