Skip to content

Instantly share code, notes, and snippets.

View Andrewpk's full-sized avatar
🐶
wat

Andrew Kehrig Andrewpk

🐶
wat
View GitHub Profile
@Andrewpk
Andrewpk / qwen3.5_openwebui_llama.cpp_docker-compose.yml
Last active March 11, 2026 13:40
Simple docker-compose I use for local LLM work. llama.cpp with qwen3.5, nvidia gpu support, openwebui, and ollama.
services:
llama-cpp:
image: ghcr.io/ggml-org/llama.cpp:server-cuda13
container_name: llama-cpp
restart: unless-stopped
ports:
- "8081:8080"
volumes:
- ./models:/models
command: >
@Andrewpk
Andrewpk / docker-compose.yml
Last active November 13, 2025 23:09
tailscale docker-compose example
version: '3.8'
services:
tailscale:
image: tailscale/tailscale:stable
container_name: tailscaled
privileged: true
volumes:
- /dev/net/tun:/dev/net/tun
- tailscale-data:/var/lib/tailscale
network_mode: "host"
@Andrewpk
Andrewpk / allowPaste.js
Created November 17, 2021 23:16
Allow paste in Chrome/Safari when websites decide to block it.
var allowPaste = function(e) {
e.stopImmediatePropagation();
return true;
};
document.addEventListener('paste', allowPaste, true);
//
// main.m
// NSURLWeirdness
//
// Created by Andrew Kehrig on 6/24/16.
// Copyright © 2016 dudid llc. All rights reserved.
//
#import <Foundation/Foundation.h>
@Andrewpk
Andrewpk / interviewLulz.php
Last active March 31, 2016 05:45
Silly craptastic interview question
<?php
/**
* I was given a really silly sorting question to write out in pseudo code once after spending 9 hours traveling
* to the HQ of the employer and running on about 3 hours of sleep.
* I figured I'd do poorly, and I did, but I explained my method.
* I just wasn't able to get the code on the board without constantly erasing and not having a clear head so I was
* passed over for another candidate.
* I named this interviewLulz because I find it lulzworthy when an employer uses sorting questions as their test when
* the sorting requested is:
* A) Ridiculous.
@Andrewpk
Andrewpk / uriparsing.java
Last active August 29, 2015 14:25
String + Uri.parse() vs Uri.parse().buildUpon(). I'm probably missing something, but why does Android 2.3 have problems with using Uri.parse().buildUpon() when every one of these methods has been around since api v1?
/**
* Works great on Android 4, and likely 3 but causes Android 2.3 to build a Uri
* with a string value of "geo:?q=" + zipCode
*/
Uri geoUri = Uri.parse("geo:0,0?").buildUpon()
.appendQueryParameter("q", zipCode).build();
/**
* Works great on Android 2.3+
*/
@Andrewpk
Andrewpk / angularChainedSelect.html
Last active August 29, 2015 14:19
angular chained select copied based on http://jsfiddle.net/pythondave/JUZDf/
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.0.1/angular.min.js"></script>
<style>
/** setup simple styling **/
.ng-invalid { border: 1px solid red; }
body { font-family: Arial,Helvetica,sans-serif; }
body, td, th { font-size: 14px; margin: 0; }
table { border-collapse: separate; border-spacing: 2px; display: table; margin-bottom: 0; margin-top: 0; -moz-box-sizing: border-box; text-indent: 0; }
a:link, a:visited, a:hover { color: #5D6DB6; text-decoration: none; }
@Andrewpk
Andrewpk / gist:25bbc40c2f1ab9985eda
Created March 6, 2015 17:21
Simple grunt-contrib-connect options to modify cross-domain policy.
grunt.config(['connect'], {
options: {
port: 9000,
hostname: '*',
keepalive: true,
middleware: function (connect) {
return [
function (request, response, next) {
response.setHeader('Access-Control-Allow-Origin', '*');
return next();
@Andrewpk
Andrewpk / listen.sh
Created January 8, 2015 18:14
Ports being listened to on my machine
netstat -an | grep LISTEN | awk '{ print $4 }' | rev | cut -d: -f1 | rev
@Andrewpk
Andrewpk / mehRandomString.php
Last active August 29, 2015 14:12
PHP: pseudo-random string of defined length
<?php
function randString($length, $charset = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-0123456789')
{
$str = '';
$count = strlen($charset) - 1;
while ($length--) {
$str .= $charset[mt_rand(0, $count)];
}
return $str;