Skip to content

Instantly share code, notes, and snippets.

View tmandry's full-sized avatar

Tyler Mandry tmandry

View GitHub Profile
@tmandry
tmandry / dwarf-dump.txt
Created June 17, 2020 23:20
Generator variant line info
0x00000935: DW_TAG_namespace
DW_AT_name ("generator_simple")
0x0000093a: DW_TAG_namespace
DW_AT_name ("example")
0x0000093f: DW_TAG_structure_type
DW_AT_name ("generator-0")
DW_AT_byte_size (0x20)
DW_AT_alignment (8)
// edition:2018
// aux-build:arc_wake.rs
#![feature(async_await, await_macro)]
extern crate arc_wake;
use std::pin::Pin;
use std::future::Future;
use std::sync::{
@tmandry
tmandry / generator-objects-dwarf.txt
Last active April 30, 2019 21:46
generator-objects DWARF
0x00000189: DW_TAG_structure_type
DW_AT_name ("generator")
DW_AT_byte_size (0x18)
DW_AT_alignment (8)
0x00000190: DW_TAG_member
DW_AT_name ("__0")
DW_AT_type (0x00000246 "&mut i32")
DW_AT_alignment (8)
DW_AT_data_member_location (0x00)
#![feature(generators)]
fn main() {
let a = || {
{
let x: i32 = 5;
yield;
println!("{:?}", x);
}
{
@tmandry
tmandry / make_border.swift
Created November 1, 2018 23:01
Creating window borders for a WM
var win: NSWindow!
func makeWindow() {
let rect = NSRect(x: 1000, y: 1000, width: 400, height: 300)
win = NSWindow(contentRect: rect, styleMask: .borderless, backing: .buffered, defer: false)
win.center()
win.level = .floating
win.hasShadow = false
win.backgroundColor = NSColor.clear
win.animationBehavior = .none
win.ignoresMouseEvents = true
@tmandry
tmandry / watch_spaces.swift
Last active March 29, 2022 21:22
Getting Spaces and their order for each display
var observer: Observer!
func stuff() {
guard let database = UserDefaults.init(suiteName: "com.apple.spaces") else {
fatalError("cannot read spaces data")
}
print(String(describing: database.object(forKey: "SpacesDisplayConfiguration")))
observer = Observer(object: database)
}
class Observer: NSObject {
@tmandry
tmandry / iterator.rs
Created April 8, 2018 00:27
rustc type inference error 2
#[lang = "sized"]
#[fundamental]
pub trait Sized {
}
pub trait Clone : Sized {
fn clone(&self) -> Self;
}
#[lang = "copy"]
@tmandry
tmandry / errors.txt
Created April 7, 2018 20:06
rustc type inference error
Running `rustc --crate-name core src/lib.rs --crate-type lib --emit=dep-info,link -C debuginfo=2 -C metadata=dc98e8200778de86 -C extra-filename=-dc98e8200778de86 --out-dir /Users/tyler/code/rust/rust-core-template/target/debug/deps -C incremental=/Users/tyler/code/rust/rust-core-template/target/debug/incremental -L dependency=/Users/tyler/code/rust/rust-core-template/target/debug/deps`
error[E0282]: type annotations needed
--> src/iterator.rs:25:16
|
25 | val == LoopState::Continue(())
| ^^^^^^^^^^^^^^^^^^^ cannot infer type for `B`
error: aborting due to previous error
For more information about this error, try `rustc --explain E0282`.
@tmandry
tmandry / msbuild.bzl
Created November 15, 2017 04:46
vcxproj generation from bazel aspect
def _expand_items(items):
return '\n'.join(items)
def _msb_project(*items):
return ("""<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup Label="ProjectConfigurations">
<ProjectConfiguration Include="Debug|Win32">
<Configuration>Debug</Configuration>
@tmandry
tmandry / windowtracker.lua
Created May 27, 2015 17:07
windowtracker
--- === windowtracker ===
--- Track all windows on the screen.
---
--- You can watch for the following events:
--- * windowtracker.windowCreated: A window was created.
--- * windowtracker.windowDestroyed: A window was destroyed.
--- * windowtracker.mainWindowChanged: The main window was changed. This is usually the same as the
--- focused window, except for helper dialog boxes like file open windows and the like, which are
--- not reported by this event.
--- * windowtracker.windowMoved: A window was moved.