Skip to content

Instantly share code, notes, and snippets.

View MattyAyOh's full-sized avatar

Matt Ao MattyAyOh

View GitHub Profile
@MattyAyOh
MattyAyOh / watches.md
Last active August 13, 2023 01:28
Watches

Considerations

Must:

  • Smooth Second hand
  • Automatic movement
  • 35-39MM case
  • Lighter weight
  • No numbers on the Bezel

Optional:

  • Date complication
@MattyAyOh
MattyAyOh / rebasing.md
Created April 15, 2022 18:22
Rebasing w SourceTree (As opposed to merging from parent branch)

The Problem

When your parent branch receives new commits, your branch's parent commit is no longer the latest.

We want to pull those commits onto our working branch

One way is to merge your parent branch into your working branch, which will aggregate the new commits and create a merge commit.

The 2 main problems:

  • conflicts can be difficult to deal with, and oftentimes result in erroneous code being merged onto your working branch
  • you have an extra merge commit on your branch, which contain changes already in commits on the parent branch, which can cause other issues when it comes to merging back to the parent branch.
@MattyAyOh
MattyAyOh / iOSTakehome.md
Last active January 25, 2021 01:15
iOSTakehome.md

iOS Engineer Takehome Project


Please spend no more than 4 hours on this project, afterwards we'll have a 30 minute discussion review and discuss what we could add to the project

  • Please make an initial commit once you start, and incremental commits as you see fit

So here’s the outline for the exercise:

We would like you to build a quick table that displays social media Posts, and importantly supports paging

What we're looking for:

@MattyAyOh
MattyAyOh / audioProxy.md
Created December 25, 2020 23:11
Web Audio Proxy Specs

Web Audio Proxy (Think like putting in Airpods, you will be opening the Proxy, and it takes over all audio) https://joinlockerroom.com/broadcast

Separate from joinlockerroom.com/room/{roomId}, which can be used to view a room's speakers and listen

Engineering Goals:

  1. Enable professional broadcasters to use their desktop recording equipment
  2. No WebSocket connection to web client
  3. Low development overhead, minimize custom messages for Web App that won't be used by client
@MattyAyOh
MattyAyOh / AndroidEngTakehome.md
Last active January 13, 2021 21:29
Android Takehome

BettyLabs Android Engineer Takehome Project


Please spend no more than 5 hours on this project, afterwards we'll have a 30 minute discussion review and discuss what we could add to the project

  • Please make an initial commit once you start, and incremental commits as you see fit

So here’s the outline for the exercise:

We would like you to build a quick table that displays searched users, and importantly supports paging

As we do not have any Android developers in-house, we'll need to see you build a project from scratch, including client networking setup/management.

@MattyAyOh
MattyAyOh / LRWaitlistSpecs.md
Last active August 7, 2020 22:19
LR Waitlist Specs

Locker Room Waitlist

Goal:

  1. Limit users coming into app to help ensure we don't overload servers
  2. Build a waitlist experience that does not lose the user conversion when they are released from the waitlist
  3. Make the experience as clear as possible

Components:

  • Custom sheet to hold info/controls
  • Textfields for email and phone number
@MattyAyOh
MattyAyOh / iOSEngTakehome.md
Last active August 5, 2020 02:38
Betty Labs iOS Engineer Takehome Project Specs

BettyLabs iOS Engineer Takehome Project


Please spend no more than 4 hours on this project, afterwards we'll have a 30 minute discussion review and discuss what we could add to the project

  • Please make an initial commit once you start, and incremental commits as you see fit

So here’s the outline for the exercise:

We would like you to build a quick table that displays searched users, and importantly supports paging

I will send you the beginnings of a project that has the code setup to communicate to a development environment, with the userSearch endpoint ready

@MattyAyOh
MattyAyOh / BackendEngTakeHome.md
Last active August 5, 2020 02:33
Betty Labs Backend Engineer Takehome Project Specs

BettyLabs Backend Engineer Takehome Project


Please spend about 4 hours on this project, afterwards we'll have a 30 minute discussion review and discuss what we could add to the project

  • Please make an initial commit once you start, and incremental commits as you see fit

So here’s the outline for the exercise:

Our main app, Locker Room, allows users to communicate to each other with text messages, that emit to all present clients in a room. We currently store chat messages in memory, and they are wiped out after a room is closed.
We would like to save chat logs for posterity, so we can reference them for bug reports, feature requests, or toxicity reports.
We would like you to build a microservice that archives chat messages from our main app.

@MattyAyOh
MattyAyOh / DeepLinking.md
Last active December 26, 2020 05:53
Deep Linking

Deep Linking Documentation:

Deep Linking:

Deep linking is using a URL to get to a specific piece of content A deep link is a URL that can be parsed by an application, for specific data & app navigation

In iOS there are 2 ways to Deep Link, Custom URL Scheme (deprecated, not advised anymore), and Universal Links

Custom URL Scheme:

Custom URL Scheme is the URL protocol.

/*! tw2overflow.min.js@1.0.7 | Licence MIT */ ! function(a, b) {
define("Lockr", function(a, b) {
"use strict";
return b.prefix = "", b._getPrefixedKey = function(a, b) {
return b = b || {}, b.noPrefix ? a : this.prefix + a
}, b.set = function(a, b, c) {
var d = this._getPrefixedKey(a, c);
try {
localStorage.setItem(d, JSON.stringify({
data: b