Skip to content

Instantly share code, notes, and snippets.

View mpiannucci's full-sized avatar

Matthew Iannucci mpiannucci

View GitHub Profile
@mpiannucci
mpiannucci / vectordoublevalidator.cpp
Last active July 17, 2017 19:21
A custom implementation of QDoubleValidator to allow comma-seperated numerical values
#include "vectordoublevalidator.h"
// VectorDoubleValidator Constructor
VectorDoubleValidator::VectorDoubleValidator ( double bottom, double top, int decimals,
QObject* parent = 0 )
: QDoubleValidator ( bottom, top, decimals, parent ) {
}
// Custom validate function to allow comma seperated values
@mpiannucci
mpiannucci / wattage.py
Created November 3, 2016 20:48
Get Battery Power Consumption on Linux
#!/usr/bin/python
with open('/sys/class/power_supply/BAT0/status') as f:
if 'Charging' in f.read():
print('The battery is currently charging')
exit(0)
scale = 1000000000000.000
voltage = 0
current = 0
@mpiannucci
mpiannucci / chart.rs
Created May 25, 2016 19:15
Lib UI Rust LineChart
extern crate ui;
use ui::{Area, AreaDrawParams, AreaHandler};
use ui::draw::{Brush, FillMode, Path, SolidBrush, StrokeParams, LineCap, LineJoin};
use ui::draw::text::{Layout, Font, FontDescriptor, Weight, Italic, Stretch};
pub struct LineChart {
pub title: String,
pub x_axis_label: String,
pub y_axis_label: String,
@mpiannucci
mpiannucci / .htaccess
Created December 19, 2013 20:18
Dreamhost .htaccess file for a Web.py application
Options +ExecCGI
AddHandler cgi-script .py
DirectoryIndex code.py/
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} !^/static/favicon.ico$
RewriteCond %{REQUEST_URI} !^/static/(.*)$
RewriteCond %{REQUEST_URI} !^(/.*)+code.py/
RewriteRule ^(.*)$ code.py/$1 [PT]
@mpiannucci
mpiannucci / inspectslice.go
Created November 9, 2015 18:22
Inspect Go Slice memeory layouts
package main
func InspectSlice(slice []string) {
// Capture the address to the slice structure
address := unsafe.Pointer(&slice)
// Capture the address where the length and cap size is stored
lenAddr := uintptr(address) + uintptr(8)
capAddr := uintptr(address) + uintptr(16)