Skip to content

Instantly share code, notes, and snippets.

View raymondctc's full-sized avatar
🤔
To be or not to be?

Raymond Chan raymondctc

🤔
To be or not to be?
View GitHub Profile
<LinearLayout
android:width="wrap_content"
android:height="wrap_content"
android:descendantFocusability="beforeDescendants"
android:orientation="vertical">
<PostView ... />
<PublisherAdView ... />
</LinearLayout>

High number of downloads

  • Excellent app discovery
    • Play Store keyword, screenshot, screen recordings optimization (ASO)
    • New app store possiblities (e.g. Samsung Galaxy Store)
    • App support different locales
    • Support various device types
    • App SEO
    • Instant app trial
  • Excellent app stability, quality
  • Ref: "Build for billions"
@raymondctc
raymondctc / txt
Created June 11, 2020 01:59
liftoff-20200611.txt
https://click.liftoff.io/v1/campaign_click/ZtQ56GJO6u0pi_WkT0KZOP0cxwJM4LH1Hq3A4IHakkAGwA8VOfsym12_OQySzuGM_EvOUDJnbiLo4957j_fB2dN3_Z0OqXTwHKzDK-qQy14vUmbOL00mwxdD6jHqBSqAvun10jlwUGbN3NU-qei6bKwKeG-vS0x7oW55NOLkIOwrQ8Kbdzm2gF8_n-3_6bMPpxAKjl8L_pnSo9QJAoKDhjGbNwJiVXD-QzZRQSCCDblf6mr478DWzRalrX3hte1RYprIidDy1NhwCxADxx4J1KliUM-NR1xAS3WrEtQwrj8XGdnxX8gX49YmEAtkWkgTcpppSLu_Ey-9jsYtGL6g
https://click.liftoff.io/v1/campaign_click/slACVIKo_BPYKYD02-2uxxX2tL3zmKx3VolaiHZHXuUmE3uRtrt44SvLlvgJAIfC0OQRnjhChTMI27JPcVfaXx9jKPQeu8i_ImWZs7mxzxZaYnuhWJs6HR44A4_E_53eQKCgfPXWjBN_hgMtUyBhIHPIH94G6hmtXYbGs4jy8mj6VVc13FNaqu0klWzyzSDAkle_seoo-R9f8E1867qSr_QgO3lli1Mend3-XhIIh2vfvJD5nuzchtEMF5p6ZK_HurnP8c1-CajVgVxXTFM0o44fUIS0DRhxm2CpTgsDQtxF52iPCzOalim3iuUzTjig53aqeIFXR5yi-yM4zBLCyOLgNuAuwHM_RQ?click_x=179&click_y=16&click_time=1591778201544&open_method=mraid
https://click.liftoff.io/v1/campaign_click/MScpAjNuzPKsm3qM5-jhjEfuX_F0r-XLXEV78oRW5VlF1dHb5USSL-CCsI42caEO5pZNshf1LsRq0pIhnKeRcnN3hSjNesOvNJ5kfX8TfAU-uloL2gRDVIeqhLDGmNkH-Zr1h
@raymondctc
raymondctc / play_store_split.py
Created November 9, 2021 02:19
Split data from Play Store filter
import sys
f = open("device_data.txt", "r")
lines = f.readlines()
count = 0
tempString = ""
for line in lines:
if count % 2 == 0:
tempString = line.replace("\n", "")
@raymondctc
raymondctc / batch_clickup.mjs
Created February 25, 2022 07:28
Batch update ClickUp tasks
import fetch from "node-fetch";
const tasks = {
"tasks": {}
}
const TOKEN = ""
const excludedIndex = [0, 1, 4, 5, 6, 7, 8, 9, 10, 23, 24]
@raymondctc
raymondctc / monotone_process.py
Created February 14, 2025 19:03
Applying a monotone filter to PNG for Android app icons
import os
from PIL import Image, ImageEnhance
def apply_monotone(image_path, output_path, color=(0, 0, 255)):
"""Apply a monotone filter while preserving transparency."""
img = Image.open(image_path).convert("RGBA") # Ensure RGBA mode
r, g, b, alpha = img.split() # Separate channels
# Convert image to grayscale
grayscale = ImageEnhance.Color(img).enhance(0)