Geekcamp Singapore 2023

you@geekcampsg
{
  "title": "GeekcampSG 2023",
  "startDate": "Oct 14, 2023, 10:00 AM",
  "endDate": "Oct 14, 2023, 6:00 PM",
  "inPersonLocation": "WeWork 21 Collyer Quay",
  "onlineLocation": "Discord",
  "registration": "Get tickets!",
  "volunteer": "Apply now!",
  "cfp": "CFP is now closed.",
  "description": "Join us for an eventful day of geek talks."
}
Enter command. Type help to see available commands =>

What is
Geekcamp?

We're a free, one-day event that brings together hundreds of geeks in Singapore to have fun sharing about technologies and knowledge, connecting the community through curated talks, by geeks, for geeks.

Some of our past topics include databases, cybersecurity, 3D printing, dependency management, verifiable computing, blockchain, hardware version control, algorithms, internet scanning, compilers, interpreters, statistics, machine learning, authentication, orchestration, open-source and many more.

Schedule - Oct 14, 23

Time shown is in SGT (UTC+8)

  • Opening

    Track 1 (2F)
  • BarcampSG

    Track 0 (2E)

    Barcamps are informal meetups where people come together to learn from each other through discussion and collaboration. We cover a wide range of topics, including design, books, science, movies, space exploration, health, food, the impact of technology on society, travel, and more. Participants are welcome to propose their own topics for discussion, and the group will vote on which ones to explore. Find out more on the BarcampSG website at https://openmeets.org/barcamp-singapore

  • Kneel before Zod!

    Track 1 (2F)

    - Abstract: Inputs and outputs. That’s all your programs care for. When building apps, we need to manipulate data. The shape of that data will be our interface, between our users and applications, but also between the elements inside our system. How do we ensure that the data we manipulate has the expected format? Only one solution: Parse don’t validate! That’s what Zod is here for. - Scope of presentation Validation is a hard topic. We need to handle types, mapping different shape of data and most importantly running arbitrary rules to check the constraints we want to apply to our data. With the help of Zod we’ll do all these things. We will be able to use default validation rules (like check that a number is positive) as well as defining custom validation and complex data transformation. - Audience Takeaways Zod is a fantastic library that can help us for validation. - Prerequisites for the audience in order for them to appreciate the presentation Any developer that had to deal with validation (backend or frontend) or want to know how to deal with it is welcome.

  • ArchGPT - a new programming paradigm, and a prompt-orchestration framework for LLMs

    Track 2 (2G)

    I have discovered something quite interesting during my time of working with GPT2, GPT3, GPT-Codex, ChatGPT3.5 and GPT4 in the past three years. In this talk I will introduce a new programming paradigm (under which anyone can create software using spoken English, and manages its architecture, etc) inspired by a theorem in category theory, and an open-source prompt-orchestration framework I've been working on to create automated software development pipeline with CodeLlama. By the end of this talk, you’ll be able to locally run an AI agent on your laptop that will manage a simple React app for you 👨‍💻 and build on top of it. Github Repo: https://github.com/0a-io/Arch-GPT *: ArchGPT is short for "Architecture for Reasoning and Computing over Hypergraphs on top of GPT-4 (and other LLMs))"

  • Building an Eco-Conscious, Transparent Relief Platform with Aptos and Move

    Track 1 (2F)

    Explore how the Aptos blockchain, combined with Move, enables transparent coordination and eco-friendly cross-border payments. From innovative contract development to environment impact metrics, gain insights into creating a next-gen platform for global good.

  • Don't be a dunderhead

    Track 2 (2G)

    What happens when python calculates 1 + 1? In this lightning talk, we'll go into how python makes use of the double underscored (dunder) methods, such as __add__ and __radd__ to provide a rich and comprehensive operator overloading mechanism. We'll strip back the abstraction, and go into the logic of how python decides to convert syntactical sugar into user specfied method calls, touching on reversed dunders, the NotImplemented Singleton, and how dunders work together. With that, we'll discuss how to properly implement custom operators overloading, and explain the reasoning behind certain good practices.

  • Good (n)gram hunting: How we built search in-house at (almost) zero cost

    Track 1 (2F)

    This talk walks through the process of transforming an unstructured database of over 30 million entities into a text-searchable resource. Instead of using an existing solution, we opted to build our search in-house using ngrams, serverless computing and object storage. We will deep-dive concepts of indexing, (n)grams and tf-idf. And explore the insights from the successes, challenges and limitations of this technical project.

  • Side hustle: How I built a money making app as a solo developer

    Track 2 (2G)

    Hi! In this talk I will step through the end-to-end process of building an application as a single developer. From understanding the problem, to architecting the solution, to coding and finally deploying. I will explain the thinking and technologies behind each process from my own decisions and alternative choices others can take. The main technologies I will focus on is Flutter and Firebase, with other mentions to Stripe and Singapore specific solutions like Paynow and OneMaps API.

  • Tribalism in Software Engineering

    Track 1 (2F)

    Exploring the complex human behaviors that causes cults of personality to form around DHH, Evan You and Taylor Otwell. Will also explore the problem that arises when a beginner refuses to step outside of their bubble of knowledge and gets trap in defending their position without considering the values

  • Block Youtube shorts with Chrome Extensions

    Track 2 (2G)

    A quick introduction on how to build a chrome extension in order to block youtube shorts on the youtube website. https://www.hairizuan.com/chrome-extension-to-get-rid-of-youtube-shorts/

  • Lunch

    Track 1 (2F)
  • Finding the shortest route to pick your online orders

    Track 1 (2F)

    As E-commerce becomes more prevalent, most of us make our purchases online instead of shopping in person. Pickers are responsible for gathering our orders from various parts of the warehouse. They spend up to 60% of the time walking from one product to the next. Picker routing is an example of the Travelling Salesman Problem. Although the TSP is hard to solve in general, in the case of moving around a warehouse, we can exploit the restricted movement to develop efficient algorithms. This talk will cover recent advances in solving the TSP for such cases.

  • Inheriting teams and what to do with the new found minions

    Track 2 (2G)

    Most people inherit teams at one point or another... hit the ground running or hit the ground and fall face flat goes beyond managing. It is about being human and treating others as such

  • Revving up with Cars, Code and AI: My Baby Steps into the AWS Deepracer Rabbit Hole

    Track 1 (2F)

    Train a self-driving car with AI with absolutely zero prior knowledge? Apparently that's possible! I share my learning journey from my first experience with AWS Deepracer and how it combines gamification and AI to demystify Machine Learning and make it fun.

  • Ordinals and emergence of meta protocols on Bitcoin

    Track 2 (2G)

    Explain how Bitcoin Ordinals are done and how Bitcoin, without any major upgrades, are attracting developers back into it again. Explains also about social consensus and how the whole Bitcoin meta protocol development fits into the whole OSI model.

  • Break

    Track 1 (2F)
  • From Law to Code: My Unexpected Journey into Open Source

    Track 1 (2F)

    I talk about my transformation from a lawyer to a maintainer of an open source project that is used by many people around the world. From a brief moment of virality, I learnt to embrace change, pursue my passions and bridge seemingly unrelated worlds. Hopefully this inspires others in "unrelated" professions to embrace their inner geeks and think about possibilities that lie beyond your current path.

  • Making a call via the internet? Let's use Google Cloud and WebRTC!

    Track 2 (2G)

    Have you used WebRTC to create an application for video calling? But Javascript/TypeScript/frontend tech is not enough! Here's how you can build a working internet telephone with frontend and backend in Javascript, containerized and deployed into the cloud!

  • SST Incorporated - An incubator for technology start-ups by Secondary School Students

    Track 1 (2F)

    SST Incorporated (SST Inc.) is the technology Talent Development Programme in the School of Science and Technology, Singapore. SST Inc. is an incubator that nurtures student employees in running technology start-ups to serve communities and better our world.

  • The intelligent crop farmer

    Track 2 (2G)

    I make use of simple dynamic programming methods implemented in spreadsheets to demonstrate optimal decision making over multiple time frame.

  • Call APIs with less error handling boilerplate code and better type safety!

    Track 1 (2F)

    A pitch for better API libraries that requires less error handling boilerplate code due to errors thrown randomly, and have better type safety by having type safe API calls that we can actually trust using runtime validation instead of just generic castings!

  • Giving nightmares to reverse engineers

    Track 1 (2F)

    How Artfuscator works and the motivations behind it: https://github.com/JuliaPoo/artfuscator Disclaimer: This project looks like a monumental achievement in compiler technology and it is but most of the work wasnt by me: I built Artfuscator on ELVM. Motivation: Give nightmares to the future generations of reverse engineers History: Had covid got bored project written while having a fever Intellectual content: A brief description of how compilers work in general, Artfuscator being a trojan horse to force-feed this knowledge Inspiration: REPsych by Christopher Domas Accreditation: 790 extremely well-deserved stars on github

  • Closing

    Track 1 (2F)

2023
Speakers

Aathithya Jegatheesan
Aathithya Jegatheesan

President of SST Inc
Akshata Mohanty
Akshata Mohanty

Founding Engineer, Awen Finance
Archy Will He
Archy Will He

Creator of ArchGPT
Ayaan Jain
Ayaan Jain

CAO of SST Inc
Caleb Han
Caleb Han

CTO (React) of SST Inc.
Chee Keen Lim
Chee Keen Lim

Software Engineer, GAOGAO | Co-founder/Tech-lead, Bizbulk
Hairizuan Noorazman
Hairizuan Noorazman

Devops Engineer at Acronis
Hou Fu Ang
Hou Fu Ang

Corporate Counsel by day, Coder by night
Javier Lim
Javier Lim

Hobbyist
JJ Lee
JJ Lee

Software Engineer, thepmftool.com
Jodie Tan
Jodie Tan

Jodie - Software Engineer
Jules Poon
Jules Poon

Pursuer of dumb ideas
Melvin Zhang
Melvin Zhang

Research Engineer, Raccoons Dev
Prakash Perumal Haridas
Prakash Perumal Haridas

Media Producer, National University of Singapore
Thomas Huchedé
Thomas Huchedé

Consultant, Zenika
Tristan Chay
Tristan Chay

iOS Taskforce of SST Inc. | Apple WWDC 2023 Swift Student Challenge Winner
TzeHoung Lee
TzeHoung Lee

Adjunct , SUSS
U-Zyn Chua
U-Zyn Chua

CTO & Co-Founder, Cake Group
Weiyuan Liu
Weiyuan Liu

Google Developer Expert, Google Cloud
Yitch Blob
Yitch Blob

Being the non technical value parasite that happens to be the boss
Zeyu Yao
Zeyu Yao

Student, Stamford American International School

What People Said

Code
of
Conduct

All participants are expected to adhere to the CoC both onsite and online. The guiding principle is respect and care for self and others. Examples of unacceptable behaviours include (not exhaustive):

  • Offensive comments related to gender identity and expression, sexual orientation, disability, mental illness, neuro(a)typicality, physical appearance, body size, race, or religion
  • Gratuitous or off-topic sexual images or behavior in spaces where they are not appropriate
  • Threats of violence or incitement of violence towards any individual, including encouraging a person to commit suicide or to engage in self-harm
  • Publication of non-harassing private communication or another member's personal information without their explicit consent

The CoC applies to all GeekcampSG attendees, including organisers, sponsors, speakers and talk attendees.

Reporting violations

In the event that you need to report a CoC violation:

  1. Reporting methods
    1. On-site
      • Approach any Geekcamp organiser (wearing an Organiser shirt)
      • Alternatively, head to the registration desk and inform the volunteers that you would like to report a violation.
    2. Online: Discord
      • Create a ticket at Contact Us > #report-issue. A new, private ticket channel will be created under the Tickets category, where you can send a moderator more details on the violation.
      • If you feel uncomfortable creating a ticket, feel free to reach out to us via private message.
  2. What to include when reporting
    • Identifying information of the participant doing the harassing
      • On-site: Name and outfit description
      • Online: Discord username (Username#1234), server nickname
        • Discord username: Right-click on the participant’s profile picture.
        • Server nickname: The name displayed on top of the message.
    • The behaviour that was in violation
    • The approximate time of the behaviour
    • The circumstances surrounding the incident
    • Evidence of the violation, if available
      • Online: A screenshot of the conversation where the violation occurred

We will respect confidentiality requests for the purpose of protecting victims of abuse. At our discretion, we may publicly name a person about whom we’ve received harassment complaints. We will not name harassment victims without their affirmative consent.

Consequences

The participant will face the following, in order of increasing severity:

  1. Time-out

    If a participant has exhibited concerning behavior, as outlined in the rules, they may be pulled into timeout. During timeout, the participant will have a discussion with our Code of Conduct representatives about any concerning behaviors until we have come to an agreement.

    1. On-site

      The participant will be separated from other participants and have a discussion with our Code of Conduct representatives in a private setting.

    2. Online

      The participant loses access to all channels on the Geekcamp server other than timeout. Only the timed-out participant and the mods will be able to see the conversation.

  2. Kicked from Geekcamp Conference
    1. On-site

      The participant will be escorted off the premises and will not be allowed to re-enter.

    2. Online

      The user will be banned from the Geekcamp Discord server.

  3. Escalation to authorities
    1. On-site

      Geekcamp organisers will liaise with the venue host to initiate actions such as reporting to building security and/or police for their follow-up action.

    2. Online

      Geekcamp organisers will provide supporting evidence to Discord administrators and/or local law enforcement authorities for their follow-up action.

Organisers

Ambrose
Ambrose
Jian Zhen
Jian Zhen
Juliana
Juliana
Li Hau
Li Hau
Perwyl
Perwyl
Sam
Sam
Terence
Terence
Tomoe
Tomoe