Skip to content

Instantly share code, notes, and snippets.

View weeklymenucalendarsync.js
/*
* This script is intended to be used as an Apps Script attached to a Google Sheet formatted like:
* https://docs.google.com/spreadsheets/d/1oiHQopo6KsdJIyRnPDBPNmWx2RVMtpiN6XoZItjmneo/edit?usp=sharing
*/
var WEDNESDAY = 3;
function startup() {
checkCalendarEvents();
};
@luser
luser / output
Created Apr 21, 2021
firefox macos unwind info
View output
$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-objdump -arch x86_64 --macho --unwind-info /Applications/Firefox.app/Contents/MacOS/firefox
Contents of __unwind_info section:
Version: 0x1
Common encodings array section offset: 0x1c
Number of common encodings in array: 0x1
Personality function array section offset: 0x20
Number of personality functions in array: 0x0
Index array section offset: 0x20
Number of indices in array: 0x2
Common encodings: (count = 1)
@luser
luser / output
Created Apr 21, 2021
firefox macos eh_frame contents
View output
$ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/llvm-objdump -arch x86_64 --macho --dwarf=frames /Applications/Firefox.app/Contents/MacOS/firefox
.debug_frame contents:
.eh_frame contents:
00000000 00000014 ffffffff CIE
Version: 1
Augmentation: "zR"
View CodeResources
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>files</key>
<dict>
<key>Resources/XUL.sig</key>
<data>
Y0SEPxyC6hCQ+rl4LTRmXy7F9DQ=
</data>
View appium.log
2021-03-03 12:37:40:741 [HTTP] --> POST /wd/hub/session/c3491ff0-a516-4c53-b508-d79a55777fc9/appium/device/push_file
2021-03-03 12:37:40:741 [HTTP] {"path":"@com.fullstory.reftest/shared_prefs/com.fullstory.reftest.FS_PREFS.xml","data":"..."}
2021-03-03 12:37:40:741 [W3C (c3491ff0)] Calling AppiumDriver.pushFile() with args: ["@com.fullstory.reftest/shared_prefs/com.fullstory.reftest.FS_PREFS.xml","...","c3491ff0-a516-4c53-b508-d79a55777fc9"]
2021-03-03 12:37:40:742 [AndroidDriver] Parsed package identifier 'com.fullstory.reftest' from '@com.fullstory.reftest/shared_prefs/com.fullstory.reftest.FS_PREFS.xml'. Will put the data into '/data/data/com.fullstory.reftest/shared_prefs/com.fullstory.reftest.FS_PREFS.xml'
2021-03-03 12:37:40:742 [ADB] Running '/Users/ted/Library/Android/sdk/platform-tools/adb -P 5037 -s emulator-5554 shell run-as com.fullstory.reftest "mkdir -p '/data/data/com.fullstory.reftest/shared_prefs'"'
2021-03-03 12:37:40:766 [ADB] Running '/Users/ted/Library/Android/sdk/platform-tools/adb -P 5
@luser
luser / canonicalpath.py
Created Feb 1, 2021
Canonicalize filename case in system Python 2.7 on macOS
View canonicalpath.py
#!/usr/bin/python
from __future__ import print_function
from Carbon.File import FSPathMakeRef
import os
import sys
import unicodedata
def actual_path(path):
@luser
luser / README.md
Created Jan 14, 2021
Illustration of a potential issue with subprocesses in Go
View README.md

I ran into this issue at work in a test runner we have that is written in Go and runs a test suite which is a node module, which itself spawns several subprocesses. The issue was that one of the subprocesses inherited its parents' stdout file descriptor, but would outlive the parent process being killed. If you use Go's exec.Cmd to run a process and set its Stdout or Stderr to something that is not a File, a goroutine will be spawned to drive that I/O when calling Cmd.Start, and all such goroutines will be run to completion as part of Cmd.Wait. In this situation, because the grandchild process stays alive, it keeps the stdout pipe open, thus Cmd.Wait blocks until it exits.

subprocess.go is a minimal testcase to display the issue. It spawns itself as a child process with piped stdout, then waits one second before killing the subprocess and waiting on it. The child process spawns itself as a grandchild with inherited stdout and sleeps for 5 seconds before exiting. The grandchild process simply

View lib.rs
use std::char::{decode_utf16, DecodeUtf16Error};
#[allow(non_camel_case_types)]
pub struct wstr([u16]);
impl wstr {
pub fn to_wstring(&self) -> WString {
self.to_owned()
}
View compile error
In file included from /build/mcpelauncher/fake-jni/examples/src/main.cpp:3:
In file included from /build/mcpelauncher/fake-jni/include/fake-jni/jvm.h:5:
/build/mcpelauncher/fake-jni/include/fake-jni/internal/meta/field.h:61:73: error: conversion from 'FakeJni::JString' to 'jvalue' is ambiguous
((T*)inst)->*((type_t)field) = ValueTranslator<F>::convert_set(env, *((F*)value));
^~~~~~~~~~~~
/build/mcpelauncher/fake-jni/include/fake-jni/jvm.h:1465:59: note: in instantiation of member function 'FakeJni::_CX::FieldAccessor<FakeJni::JString ExampleClass::*>::set' requested here
proxySetFunc((void (*)())&_CX::FieldAccessor<T (M::*)>::set),
^
/build/mcpelauncher/fake-jni/include/fake-jni/jvm.h:1386:38: note: in instantiation of function template specialization 'FakeJni::JFieldID::JFieldID<FakeJni::JString, ExampleClass>' requested here
return clazz->registerField(new JFieldID(fie
View bevy_ecs.rs
This file has been truncated, but you can view the full file.
#![feature(prelude_import)]
#[prelude_import]
use std::prelude::v1::*;
#[macro_use]
extern crate std;
pub use bevy_hecs::{Query as HecsQuery, *};
mod resource {