Skip to content

Instantly share code, notes, and snippets.

View seanwu1105's full-sized avatar
💱
Write colorful texts on a dark screen for living.

Shuang Wu seanwu1105

💱
Write colorful texts on a dark screen for living.
View GitHub Profile
@cellularmitosis
cellularmitosis / README.md
Last active October 24, 2026 13:13
Some inexpensive Factorio ship designs

Inexpensive Factorio ship and how to design them

Here's an overview of my Factorio ship designs which can be built inexpensively.

See also the Design topics section below.

These ships are designed for use within the first four planets.

⭐️ Recommended ships:

  • The Hornet (the cheapest useful ship)
@stefanocoding
stefanocoding / macos_on_ubuntu.md
Last active October 15, 2025 02:33
Install macOS in a VirtualBox machine on Ubuntu

Important: I'm writing this when the last version of macOS (and the one I have installed) is Mojave. There is already a script which installs Mojave in a virtual machine here https://github.com/img2tab/okiomov. But if you are curios how to do everything manually to install High Sierra, then this guide may be useful.

After reading a few articles I ended up with these steps:

  1. On macOS, download the High Sierra installer (even if you have Mojave installed): https://itunes.apple.com/us/app/macos-high-sierra/id1246284741?ls=1&mt=12
  2. If the High Sierra Installer starts, quit it.
  3. Open "Disk Utility".
  4. Click on "File" > "New Image" > "Blank image...". Or just press cmd+N.
@OliverJAsh
OliverJAsh / foo.ts
Last active January 27, 2025 18:24
Records and dictionaries in TypeScript
/*
In JavaScript, objects can be used to serve various purposes.
To maximise our usage of the type system, we should assign different types to our objects depending
on the desired purpose.
In this blog post I will clarify two common purposes for objects known as records and dictionaries
(aka maps), and how they can both be used with regards to the type system.
# from: https://doc.qt.io/qt-5/qtcharts-nesteddonuts-example.html
import functools
import random
from PyQt5.QtChart import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
from PyQt5.QtWidgets import *
class Widget(QWidget):
@rharter
rharter / SharedPreferenceLiveData.kt
Last active March 19, 2023 08:15
Creates LiveData objects that observe a value in SharedPreferences while they have active listeners.
import android.arch.lifecycle.LiveData
import android.content.SharedPreferences
abstract class SharedPreferenceLiveData<T>(val sharedPrefs: SharedPreferences,
val key: String,
val defValue: T) : LiveData<T>() {
private val preferenceChangeListener = SharedPreferences.OnSharedPreferenceChangeListener { sharedPreferences, key ->
if (key == this.key) {
value = getValueFromPreferences(key, defValue)
@tanyuan
tanyuan / fcitx-chewing.png
Last active August 19, 2024 22:42
Ubuntu: fcitx + chewing 新酷音輸入法
fcitx-chewing.png
@Daniel-Hug
Daniel-Hug / get-text-nodes.js
Last active April 7, 2022 20:09
Get the text nodes which are descendants of the passed parent
// Get the text nodes which are descendants of the passed parent
function getTextNodes(parent){
var all = [];
for (parent = parent.firstChild; parent; parent = parent.nextSibling) {
if (['SCRIPT','STYLE'].indexOf(parent.tagName) >= 0) continue;
if (parent.nodeType === Node.TEXT_NODE) all.push(parent);
else all = all.concat(getTextNodes(parent));
}
return all;
}
@dwilkie
dwilkie / docker-cheat-sheat.md
Last active October 16, 2026 08:15
Docker Cheat Sheet

Build docker image

$ cd /path/to/Dockerfile
$ sudo docker build .

View running processes

@fabiomsr
fabiomsr / ByteArray.kt
Last active April 24, 2024 08:41
ByteArray and String extension to add hexadecimal methods in Kotlin
private val HEX_CHARS = "0123456789ABCDEF".toCharArray()
fun ByteArray.toHex() : String{
val result = StringBuffer()
forEach {
val octet = it.toInt()
val firstIndex = (octet and 0xF0).ushr(4)
val secondIndex = octet and 0x0F
result.append(HEX_CHARS[firstIndex])
var mediaJSON = { "categories" : [ { "name" : "Movies",
"videos" : [
{ "description" : "Big Buck Bunny tells the story of a giant rabbit with a heart bigger than himself. When one sunny day three rodents rudely harass him, something snaps... and the rabbit ain't no bunny anymore! In the typical cartoon tradition he prepares the nasty rodents a comical revenge.\n\nLicensed under the Creative Commons Attribution license\nhttp://www.bigbuckbunny.org",
"sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/BigBuckBunny.mp4" ],
"subtitle" : "By Blender Foundation",
"thumb" : "images/BigBuckBunny.jpg",
"title" : "Big Buck Bunny"
},
{ "description" : "The first Blender Open Movie from 2006",
"sources" : [ "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ElephantsDream.mp4" ],