Skip to content

Instantly share code, notes, and snippets.

@nmz787
nmz787 / pycosat.c
Created June 29, 2016 23:53
pycosat.c extended with hacked Noddy class example
/*
Copyright (c) 2013, Ilan Schnell, Continuum Analytics, Inc.
Python bindings to picosat (http://fmv.jku.at/picosat/)
This file is published under the same license as picosat itself, which
uses an MIT style license.
*/
#define PYCOSAT_URL "https://pypi.python.org/pypi/pycosat"
#include <Python.h>
#include "structmember.h"
# most of the following code is from here: https://github.com/WoLpH/numpy-stl#combining-multiple-stl-files
# but instead of combining STLs, I'm just copying and replicating the same one
import math
import stl
from stl import mesh
import numpy
# find the max dimensions, so we can know the bounding box, getting the height, width, length (because these are the step size)...
def find_mins_maxs(obj):
import numpy as np
import cv2
import math
h=1000
w=1000
scaling = 20.
fin_w = 85
@nmz787
nmz787 / rename_kicad_gerbers.py
Created October 16, 2015 11:30
Renames KiCad plot and drill files to the correct OSHpark file extensions, and also puts all these into a ZIP file.
"""
Renames KiCad plot and drill files to the correct OSHpark file extensions, and also puts all these into a ZIP file.
usage:
python rename_kicad_gerbers.py path/to/my/project/plot_output
returns:
kicad_out.zip (in the directory you ran the script from)
"""
import os
@nmz787
nmz787 / each_cell_on_its_own_line
Last active August 20, 2023 09:38
git-xlsx-textconv-python
import xlrd
import sys
if __name__ == '__main__':
if len(sys.argv) != 2:
print "Usage: git-xlsx-textconv file.xslx"
excelFileName = sys.argv[1]
xlFile = xlrd.open_workbook(excelFileName)
@nmz787
nmz787 / brightness_tk.py
Last active August 29, 2015 14:11
Brightness adjustment slider GUI (wxPython or Tk)
"""
A super-simple GUI for setting my laptop backlight.
For some reason Ubuntu Answers couldn't tell me where to change the minimum brightness and step interval.
So I had to make something because my laptop can be MUCH dimmer than Ubuntu's minimum.
Added this version for tk, since it is such a simple GUI.
"""
import os
import subprocess
from Tkinter import *
@nmz787
nmz787 / PDF uploader bookmarklet.js
Last active July 25, 2016 02:04 — forked from kanzure/bookmarklet.js
This bookmarklet downloads the PDF currently being viewed in a browser window then uploads it with a filename of your choice to a different web server. The included Flask-based web server takes the uploaded file and saves it to disk, then returns the resulting URL so the user can copy it with CTRL-C.
function copyToClipboard (text) {
window.prompt ("Copy to clipboard: Ctrl+C, Enter", text);
}
var xhr = new XMLHttpRequest();
xhr.onload = function(e) {
if (this.status == 200) {
var xhr2 = new XMLHttpRequest();
xhr2.onreadystatechange = function() {
switch (xhr2.readyState) {
case 0: // uninitialized
@nmz787
nmz787 / pdf bookmarklet uploader bookmar
Created May 7, 2013 07:40
pdf bookmarklet uploader
var testUrl = 'http://link.springer.com.ezproxy.rit.edu/content/pdf/10.1007/s11207-013-0286-8.pdf';
var xhr = new XMLHttpRequest();
xhr.open("GET", window.location, false);
xhr.send(null);
function crossDomainPost() {
// Add the iframe with a unique name
var iframe = document.createElement("iframe");
var uniqueString = "CHANGE_THIS_TO_SOME_UNIQUE_STRING";
document.body.appendChild(iframe);