Skip to content

Instantly share code, notes, and snippets.

Avatar
🏠
Working from home

Lex Tang lexrus

🏠
Working from home
View GitHub Profile
View URLRequest+MultipartFormData.swift
// Public domain - https://gist.github.com/nolanw/dff7cc5d5570b030d6ba385698348b7c
import Foundation
extension URLRequest {
/**
Configures the URL request for `multipart/form-data`. The request's `httpBody` is set, and a value is set for the HTTP header field `Content-Type`.
- Parameter parameters: The form data to set.
@lexrus
lexrus / doss.sh
Last active Apr 20, 2022
A tiny script to initialize a new Shadowsocks server in DigitalOcean.
View doss.sh
#!/bin/bash
#
# This macOS bash script helps you initialize a new Shadowsocks server with doctl in seconds.
# Original author: lexrus https://github.com/lexrus
#
# You can get $100 free credit for create VPS in DigitalOcean with my referral link:
# https://m.do.co/c/3eb5cf371fc9
#
# Please intall and authorize doctl before running this script.
# https://github.com/digitalocean/doctl
@lexrus
lexrus / naive_cam.py
Created Dec 26, 2021
Record videos for every single minute. Minimum requirements: Raspberry Pi Zero W and 12GB free space.
View naive_cam.py
import picamera
from time import sleep
import datetime as dt
camera = picamera.PiCamera(resolution=(1024, 640), framerate=15)
camera.start_preview()
sleep(2)
camera.annotate_background = picamera.Color('black')
camera.annotate_text = dt.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
@lexrus
lexrus / delete_all_imessage_conversations.applescript
Last active Jul 18, 2022
Delete all iMessage conversations. Compatible with macOS Monterey. Please check Reduce motion before launch this apple script.
View delete_all_imessage_conversations.applescript
# System Preferences -> Accessibility -> Display -> Reduce motion
tell application "Messages" to activate
tell application "Messages"
set chatCount to (count of chats)
end tell
tell application "System Events"
tell process "Messages"
@lexrus
lexrus / ForkWeeklyReport.sh
Last active Apr 2, 2022
Fork custom command which export weekly report of current git user.
View ForkWeeklyReport.sh
cd $path
DATE=`date -v-6d +"%Y-%m-%d"`
AUTHOR=`git config user.name`
LOG=`git log --branches --pretty=format:"\n%ad: %s" --date=short --after=$DATE --author="$AUTHOR"`
CHANGES=`git log --branches --date=short --after=$DATE --author="$AUTHOR" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "本周贡献代码: +%s行, -%s行, 总行数: %s\n", add, subs, loc }' -`
WEEKSTART=`date -v"monday" +"%-m月%d"`
TODAY=`date +"%-m月%d"`
REPORT="【周报】$WEEKSTART ~ $TODAY \n\n$CHANGES\n$LOG\n"
@lexrus
lexrus / ToggleHDRCatalina.applescript
Created Mar 26, 2020
Workaround the HDR bug of macOS Catalina 10.15.4
View ToggleHDRCatalina.applescript
tell application "System Preferences"
activate
end tell
tell application "System Events"
tell process "System Preferences"
activate
delay 1
click menu item "Displays" of menu "View" of menu bar 1
delay 1
@lexrus
lexrus / createml.swift
Created Jun 29, 2018
CreateML 双色球
View createml.swift
import Cocoa
import CreateML
let 双色球神算子 = try MLTextClassifier(trainingData: [
"中奖啦": [
"09 11 14 20 27 30 09",
"02 09 14 15 16 23 10",
"11 16 19 22 25 30 08",
"02 05 06 13 16 19 03",
"04 09 15 16 19 27 10",
View CandleChart.swift
import UIKit
import PlaygroundSupport
let chartData: [Double] = [1, 2, 4, 0, 0, 2, 6, 0, 4, 8, 12, 14, 1, 2, 2, 0, 0, 1, 6, 0, 4, 0, 3, 0]
class TimelineCandleChart: UIView {
var data: [Double] = [] {
didSet { setNeedsDisplay() }
}
@lexrus
lexrus / RxTextFieldDelegateProxy.swift
Created Feb 14, 2018
RxSwift extension for textFieldShouldReturn of UITextFieldDelegate
View RxTextFieldDelegateProxy.swift
//
// RxTextFieldDelegateProxy.swift
//
// Created by Lex Tang on 2/14/18.
// Copyright © 2018 Krunoslav Zaher. All rights reserved.
//
import RxSwift
import RxCocoa
@lexrus
lexrus / update_settings_version.sh
Created Aug 10, 2017
Update version string in Settings.bundle
View update_settings_version.sh
#!/bin/bash
PLISTBUDDY="/usr/libexec/PlistBuddy"
INFO_PLIST="$CODESIGNING_FOLDER_PATH/Info.plist"
SETTINGS_PLIST="$CODESIGNING_FOLDER_PATH/Settings.bundle/Root.plist"
VERSION_NUMBER="`$PLISTBUDDY -c \"Print CFBundleShortVersionString\" \"$INFO_PLIST\"`"
BUILD_NUMBER="`$PLISTBUDDY -c \"Print CFBundleVersion\" \"$INFO_PLIST\"`"
VERSION="Version $VERSION_NUMBER ($BUILD_NUMBER)"
GROUP_INDEX="`xmllint --xpath \"count(//array/dict)-1\" \"$SETTINGS_PLIST\"`"
$PLISTBUDDY -c "Set :PreferenceSpecifiers:$GROUP_INDEX:Title '$VERSION'" "$SETTINGS_PLIST"