NUS Hackers
10.8K subscribers
519 photos
16 videos
3 files
719 links
Download Telegram
Friday Hacks #194: Test Driven Development, and using Machine Learning for Optimal Game Strategies

Date/Time:
9th October, 7.00PM
Venue: Online on Zoom
Zoom link: https://www.nushackers.org/fh194zoom

Talk #1: TDD Changed My Life

Description

Test Driven Development (TDD) is an engineering technique where tests and code are written in small increments, with tests written before code. When done well, it has surprisingly large impacts on the quality of the code. This presentation will explain how it works, and then demonstrate it in action.

Speaker Profile

Jake has been a software developer for 20 years. He is currently a staff software engineer at Indeed and leads a team developing software to identify and recommend potential jobs to job seekers. He has worked in a variety of industries including consulting, online gambling, finance and tech. He has worked with a diverse array of tools & languages including Java, Python & Haskell. He has worked in 6 different cities in 4 different countries. As a developer, Jake's focus is on ensuring that his software helps as many people as possible get jobs, making sure that his team is able to keep working efficiently and helping other developers learn to do what he does. He also hates titles and corporate jargon. In his spare time Jake plays Smash Bros with his kids, cycles, barbeques and does what his wife tells him.

Talk #2: Using Machine Learning for Creating Optimal Strategies for Imperfect Information Games

Description

We would talk about mathematics of the game, using and designing simulations and most recent machine learning concepts involved in arriving at optimal strategies. The codes highlighting some of these concepts will also be reviewed and shared. There will be a problem-solving opportunity at the end of the event for participants to work on and get an attractive prize.

Speaker Profile

Denis is a senior quantitative researcher at Alphalab Capital and has many years of experience working in the high-frequency trading industry.
Hackerschool: Intro to React Workshop

Date/Time: 10th October, Saturday, 1.00 PM to 4.00 PM
Venue: Online on Zoom
Sign up here!

React
.js is an open-source JavaScript library that is used for building user interfaces specifically for single-page applications. It’s used for handling the view layer for web and mobile applications. The main purpose of React is to be fast, scalable, and simple, and is used by companies such as Facebook, Airbnb and Netflix to develop their applications.

In this Hackerschool, we will learn the fundamentals of React by building a simple React application.

Basic knowledge of HTML and CSS is required, and basic knowledge of JavaScript is a plus. If you have used other programming languages before, you should be able to follow along.
NUS Hackers
Friday Hacks #194: Test Driven Development, and using Machine Learning for Optimal Game Strategies Date/Time: 9th October, 7.00PM Venue: Online on Zoom Zoom link: https://www.nushackers.org/fh194zoom Talk #1: TDD Changed My Life Description Test Driven…
Hey everyone, a reminder that we're having Friday Hacks tonight starting in a few minutes. First up is a talk on test driven development. Feel free to join if you're interested! 😄
Friday Hacks #195: Online Algorithms Made Easy, and Kubernetes in Production

Date/Time:
October 16, 7.00PM
Venue: Online on Zoom
Zoom link: https://www.nushackers.org/fh195zoom

Talk #1: Online Algorithms Made Easy

Description

The world around us is constantly changing and at Jane Street we're receiving new data at a rate faster than ever before. When running complicated models that contain many parameters, reacting to a change in a single parameter by restarting the entire model is impractical. Instead, Jane Street makes use of ideas from research into self-adjusting computation in order to turn static models into models that can be partially recomputed in an efficient way. This talk will introduce the idea of self-adjusting computation and show how it can be used to make online algorithms easy to run and update efficiently.

Speaker Profile

Jane Street is an electronic market maker with offices in New York, London and Hong Kong. Harry graduated from Victoria University of Wellington, New Zealand with a BSc (Hons) in Computer Science and is now a Software Engineer in Jane Street's Hong Kong office working on a distributed system at the core of Jane Street's trading infrastructure.

Talk #2: Our Journey with Kubernetes, One Year in Production

Description

This session will give a very brief introduction of containers and Kubernetes, and share our experiences in introducing Kubernetes to our infrastructure, covering both the good and bad. At the end, Jiang Huan will also share some tips for university students and fresh graduates to start learning Kubernetes with free online resources.

Speaker Profile

Jiang Huan has 4 years of career experience in software development, specialized in backend development, cloud infrastructure automation and Kubernetes. He currently works as a Senior Research Engineer in Titansoft’s Research & Development Team, where the team is focusing on furthering the company’s technical direction and driving innovations across the stack. He is also a fan of functional programming and video games.
Hackerschool: React Concurrent Mode
Date/Time:
17th October, Saturday, 1.00 PM to 4.00 PM
Venue: Online on Zoom
Sign-up link: http://bit.ly/hs-advanced-react
Zoom link will be sent to registrants closer to the date

Have you stumbled upon React's experimental concurrent mode and suspense stuff and wondered what those were all about? Learn how to use them plus experimental DevTools and take a peek into React's codebase in this Hackerschool! For this workshop, knowledge of basic JavaScript and basic React.js framework is required.
Hacker Tools: CLI Debugging and Profiling

Date/Time:
Tuesday, 20 Oct 2020, 18:30 to 20:30
Venue: Online on Zoom
📝 Sign-up Link

Come learn how to debug and profile various things on Linux, all from the command line. We’ll look at how to figure out what’s going wrong with programs you write and the operating system itself.

Please ensure you have access to real Linux. If you are on a Linux distribution, you are set; if you use Windows or Mac, consider installing Ubuntu in a virtual machine like VirtualBox. If you are on Windows, you can also use Windows Subsystem for Linux 2. (WSL 1 is not suitable.)

- WSL: https://docs.microsoft.com/en-us/windows/wsl/install-win10

Please make sure you have the following programs installed in your Linux system:

- Git, Perl 5, Python 3, gdb, strace, ltrace, Valgrind, GCC, perf (Linux kernel), htop, dstat, iotop, df, du, free, lsof, ss, stress, s-tui
- On Ubuntu, the following packages: gdb strace ltrace valgrind linux-tools htop dstat iotop lsof iproute2 stress s-tui procps build-essential python3 perl git
- On Arch Linux, the following packages: gdb strace ltrace valgrind perf htop dstat iotop lsof iproute2 stress s-tui procps-ng base-devel python perl git

For security and safety reasons, the Zoom link will not be published publicly. Please register at the sign-up link to attend this workshop!

This workshop is largely based on the Missing Semester of Your CS Education lecture series conducted in MIT. This week’s topic is based on https://missing.csail.mit.edu/2020/debugging-profiling/
Friday Hacks #196: Under the hood of Stripe.js, and CPython Internals

Date/Time:
October 23, 7.00PM
Venue: Online on Zoom
📽 Zoom Link

Talk #1: A look under the hood of Stripe.js

Description

Stripe.js are pre-built UI elements that abstract away the complexity of integrating with complex payment methods, easing integration experience for developers. In this talk, I will share about the workings of Stripe.js, and explain the design considerations that were made in creating this library.

Speaker Profile

Ankita works as a Software Engineer at Stripe, working on building global payments infrastructure. She enjoys working on both front-end and back-end technologies as a part of her work. Her interests involve web development, distributed systems, data pipelines, and infrastructure management.

Talk #2: A Brief Tour of CPython Internals

Description

Python is *the* language for Leetcode interviews. Supposedly, not knowing the difference between b=a and b=a[:] could cost you a job. Despite its perceived importance, what lies within the language is a mystery for most. In this talk, we plan to give a tour of common features of Python and how they are implemented: For instance, Garbage Collection, the Global Interpreter Lock, and parts of the Standard Library. We will also introduce the disassembler and use it to inspect the behaviour of a few short programs.

Speaker Profile

Joel is a Master’s in Statistics student from the National University of Singapore. He was previously a member of NUS Hackers during his time as an undergrad at the School of Computing. He is an avid user of Python and has used it for a few years. In his free time he enjoys learning languages like Spanish and Elixir.
Just a reminder that Hacker Tools: CLI debugging and profiling is happening later today. If you've already signed up, please check your mailbox for the Zoom link; otherwise, it's not too late to do so.
Hackerschool: Introduction to Docker

Date/Time:
24 October 2020
Venue: Online on Zoom
📝 Sign-up Link

Docker is a platform that allows you to package and run applications in an isolated environment called a container. In contrast to virtualization, Docker containers are lighter, more portable, and faster.

This session aims to teach participants how to use Docker to easily set up a development environment, and how to package and deploy their own applications with Docker.

Basic command-line knowledge (bash or PowerShell) required. Docker should be installed beforehand.

Ubuntu: https://docs.docker.com/engine/install/ubuntu/
Windows: https://docs.docker.com/docker-for-windows/install/
macOS: https://docs.docker.com/docker-for-mac/install/

Speaker Profile

Wei Wen is the co-founder of Kiasu Foodies. He enjoys using technology to build things and solve problems.

Hope to see you there! 👋
Hacker Tools: LaTeX

Date/Time: Tuesday, 3 Nov 2020, 18:30 to 20:30
Sign up here

This week, we’ll be introducing the well-known LaTeX document preparation system used widely across fields to prepare high-quality documents, papers, notes, journals, books, slides, cheatsheets, resumes, and so on. Come learn this invaluable tool that will let you create beautiful documents and impress your readers.

Please have TeX and TeXstudio installed before the workshop. You can install either MiKTeX or TeX Live, depending on your OS. If in doubt:

- On Windows, MiKTeX is easier to install: https://miktex.org/download#win
- On Linux, install TeX Live using your package manager.
- On macOS, install MacTeX, a version of TeX Live for macOS: http://tug.org/mactex/

TeXstudio:

- On Windows and macOS: https://www.texstudio.org/#download
- On Linux, install TeXstudio using your package manager.

For security and safety reasons, the Zoom link will not be published publicly. Please register here to attend this workshop.

This workshop is largely based on the Missing Semester of Your CS Education lecture series conducted in MIT. This week’s topic is our own addition, not based on any topic in the original series.

See you there!