Skip to content

Instantly share code, notes, and snippets.

View mikofski's full-sized avatar
😎
Solving solar

Mark Mikofski mikofski

😎
Solving solar
View GitHub Profile
@mikofski
mikofski / air.m
Created August 29, 2013 18:26
Thermal-physical properties of air at 1 atm between temperatures of 200 K and 350 K.
classdef air < handle
% AIR Thermal-physical properties of air at 1 atm between temperatures
% of 200 K and 350 K.
% Mark Mikofski
% Version 1-0, 2010-10-29
properties
description = 'air at 1 atm between 200 and 350 K'
end
properties
Temp
@mikofski
mikofski / topological_sort.py
Created August 18, 2013 17:08
topological sorting methods
#! /usr/bin/env python
# -*- coding: utf-8 -*-
"""
`Topological sort by Kahn (1962) on Wikipedia
<http://en.wikipedia.org/wiki/Topological_sorting>`_
L ← Empty list that will contain the sorted elements
S ← Set of all nodes with no incoming edges
while S is non-empty do
remove a node n from S
import ast
allowed_functions = set([
#math library
'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh',
'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf',
'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod',
'frexp', 'fsum', 'gamma', 'hypot', 'isinf', 'isnan', 'ldexp',
'lgamma', 'log', 'log10', 'log1p', 'modf', 'pi', 'pow', 'radians',
'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'trunc',
import ast
import math
SAFE_FX = {
'exp': math.exp,
}
SAFE_NODES = set(
(ast.Expression,
ast.Num,
@mikofski
mikofski / scrolled_canvas.py
Last active December 19, 2015 05:49
ttk widgets
from Tkinter import Canvas, GROOVE, BOTH, X, Y, YES, RIGHT, LEFT, W
from ttk import Frame, Scrollbar, Checkbutton
import logging
import tkMessageBox
class ScrolledCanvas(Frame):
"""
A scrolling canvas of frames with checkboxes.
"""
@mikofski
mikofski / scrolled_lists.py
Created June 25, 2013 21:35
scroll 2 listboxes in paned windows
#! /usr/bin/env python
from Tkinter import *
from ttk import *
import calendar
root = Tk()
master = Frame(root)
@mikofski
mikofski / ez_Notebook.py
Last active November 12, 2020 09:06
Python 2 version of ttk Notebook Demo by courtesy of Jane
#! /usr/bin/env python
from Tkinter import *
from ttk import *
root = Tk() # create a top-level window
master = Frame(root, name='master') # create Frame in "root"
master.pack(fill=BOTH) # fill both sides of the parent
@mikofski
mikofski / blogger_codestyle.html
Last active December 18, 2015 18:19
CSS inline and block code classes for blogger
<!-- begin CSS styles -->
<head><style type="text/css">
.block-code{
background-color: pink;
border-style: solid none;
border-color: red white;
font-family: "Courier New", Courier, monospace;
}
.inline-code {
@mikofski
mikofski / cbox.py
Last active December 17, 2015 14:08
async Tk waitbox widget
"""
An example of a combobox that adds user entries using key binding to return
"""
from Tkinter import *
from ttk import *
def on_combobox_selected(event):
new_value = event.widget.get()
is_in_list = event.widget.current()