Skip to content

Instantly share code, notes, and snippets.

View ccgus's full-sized avatar

August "Gus" Mueller ccgus

View GitHub Profile
@ccgus
ccgus / quant.py
Created November 7, 2023 21:21
Making the Beby-Gan model quite a bit smaller.
# Before running this, setup a python venv for everything:
# python3 -m venv coremltools-venv
# source coremltools-venv/bin/activate
# pip install -U coremltools
import coremltools as ct
from coremltools.models.neural_network import quantization_utils
# load full precision model
model_fp32 = ct.models.MLModel('Beby-GANx4.mlmodel')
#import <Foundation/Foundation.h>
#import <dlfcn.h>
// clang main.m -framework Foundation
int main(int argc, const char * argv[]) {
@autoreleasepool {
dlopen("/System/Library/Frameworks/CoreGraphics.framework/Resources/BridgeSupport/CoreGraphics.dylib", RTLD_LAZY);
from AppKit import *
from Foundation import *
html = NSString.stringWithString_("<b style='font-size: 20px; font-family: HelveticaNeue'>Hi</b>")
d = html.dataUsingEncoding_(NSUTF8StringEncoding);
ats = NSAttributedString.alloc().initWithHTML_options_documentAttributes_(d, None, None)[0];
ps = ats.attribute_atIndex_effectiveRange_(NSParagraphStyleAttributeName, 0, None)[0]
print(ps.minimumLineHeight())
print(ps.maximumLineHeight())
@ccgus
ccgus / Leaky16BPCTiff.m
Last active December 6, 2019 18:58
Asking the internet for help to make sure I'm not being stupid.
/*
This sample shows how CGImageSourceCreateThumbnailAtIndex leaks something akin
to the memory behind a CGImageRef when asked to create a thumbnail for a 16bpc
TIFF image if one isn't present.
Full sample project here:
http://shapeof.com/archives/2019/media/SixteenBitPerComponentThumbnailLeak.zip
*/
- (FJSValue*)evaluateModuleAtURL:(NSURL*)scriptURL {
if (scriptURL) {
NSError *error;
NSString *script = [NSString stringWithContentsOfURL:scriptURL encoding:NSUTF8StringEncoding error:&error];
if (script) {
#define NODE_STYLE_WRAPPER 1
#ifdef NODE_STYLE_WRAPPER
/*
How to install this plugin:
1) Choose Acorn's Help ▸ Open Acorn's App Support Folder menu item.
2) Place this script in the Plug-Ins folder (and make sure it ends with .jstalk)
3) Restart Acorn. The plugin will now show up in the Filter menu.
*/
function main(image, doc, layer) {
@ccgus
ccgus / gist:a475e2916f1e860b3b7dd2143862d5a5
Created September 19, 2018 16:28
Calling Core Image with FMJS
var url = NSURL.fileURLWithPath_('/Library/Desktop Pictures/Yosemite.jpg');
var img = CIImage.imageWithContentsOfURL_(url)
var f = CIFilter.filterWithName_('CIColorInvert');
f.setValue_forKey_(img, kCIInputImageKey);
var r = f.outputImage();
var tiff = r.TIFFRepresentation();
tiff.writeToFile_atomically_('/tmp/foo.tiff', true);
NSWorkspace.sharedWorkspace().openFile_('/tmp/foo.tif');
void TSCreateImageFromIOSurfaceReleaseCallback(void * __nullable info, const void *data, size_t size);
void TSCreateImageFromIOSurfaceReleaseCallback(void * __nullable info, const void *data, size_t size) {
CFRelease(info);
}
CGImageRef TSCreateImageFromIOSurface(IOSurfaceRef surface, CGColorSpaceRef cs) {
NSWorkspace *workspace = [NSWorkspace sharedWorkspace];
NSDictionary *activeAppDict = [workspace activeApplication];
ProcessSerialNumber psn;
psn.highLongOfPSN = [[activeAppDict objectForKey:@"NSApplicationProcessSerialNumberHigh"] intValue];
psn.lowLongOfPSN = [[activeAppDict objectForKey:@"NSApplicationProcessSerialNumberLow"] intValue];
SetFrontProcess( &psn );
NSImageRep *originalCursorRep = [originalCursorImage bestRepresentationForRect:NSMakeRect(0, 0, [originalCursorImage size].width * retinaScale, [originalCursorImage size].height * retinaScale) context:nil hints:[NSDictionary dictionaryWithObject:[NSAffineTransform transform] forKey:NSImageHintCTM]];