Skip to content

Instantly share code, notes, and snippets.

KC60 Keyboard end-user tips, tricks, programming notes, etc.

Leimi's note: removed lots of stuff from the original gist of scottjl, (thanks to him by the way!), as in the end some wasn't useful for me. If you are intestered, go check the gist revisions.

The KC60 is kinda like a premade GH60 that was first sold on Massdrop during summer 2015.
It runs on TMK firmware, or something based on it at least (not sure this is the real source for the keyboard but it seems it is), which means it's heavily programmable.
There is a GUI tool (the source of this tool seems to be here) and a command-line tool to ease up the process of programming the board.
**Go check this great article on Key

@reidblomquist
reidblomquist / gist:fdb80d5647881bcab4df
Last active September 23, 2015 17:18
gitignore for dir w/ unity project subdir
# Unity Generated
Temp
Library
# vs/mono Generated
ExportedObj
obj
*.svd
*.userprefs
@rgranadino
rgranadino / gist:a3dfe55f21b347682144
Created December 4, 2014 23:55
really force magento orders complete
<?php
/* @var $collection Mage_Sales_Model_Resource_Order_Collection */
$collection = Mage::getResourceModel('sales/order_collection');
$reflection = new ReflectionMethod( Mage_Sales_Model_Order, '_setState');
$reflection->setAccessible(true);
foreach ($collection as $order) {
/* @var $order Mage_Sales_Model_Order */
$reflection->invoke($order, 'complete', 'bulk_complete', 'force complete', false, false);
$order->save();
}
@donpdonp
donpdonp / trimet.js
Last active August 29, 2015 14:09
neuronbot trimet
function(payload) {
var override = false
if(payload.type == "emessage") {
var match = payload.message.match(/^trimet ([1-9a-z]+)/)
if (match){
var url = 'http://developer.trimet.org/ws/V1/arrivals?locIDs='+match[1]+'&appID='+db.get('trimet:key')
var xml = http.get(url)
var msg = xmlparse(xml)
return "StopID "+match[1]+" #"+msg
@molotovbliss
molotovbliss / gist:c7c19227c60d1b82b53b
Created August 20, 2014 01:12
Locate eval(gzinflate [common signature for hiding backdoors/exploits] recursively for PHP exploits (all file types)
find . -type f -name '*' | xargs grep --no-messages -l "eval*(gzinflate" --color
@bsweger
bsweger / useful_pandas_snippets.md
Last active April 4, 2025 21:20
Useful Pandas Snippets

Useful Pandas Snippets

A personal diary of DataFrame munging over the years.

Data Types and Conversion

Convert Series datatype to numeric (will error if column has non-numeric values)
(h/t @makmanalp)

@molotovbliss
molotovbliss / gist:c36c25b7a08afda2848b
Last active November 16, 2016 02:20 — forked from magentogirl/gist:e8dc6aa7c74d021f85cc
Disable Magento Logging observers & unused Core Modules via XML
<?xml version="1.0"?>
<config>
<frontend>
<events>
<!-- disble logs -->
<controller_action_predispatch>
<observers><log><type>disabled</type></log></observers>
</controller_action_predispatch>
<controller_action_postdispatch>
<observers><log><type>disabled</type></log></observers>
@steig
steig / gist:e8d9307dfdfa3e278142
Created July 2, 2014 03:56
magento seo product work generator
import xmlrpclib
import random
class Magento(object):
URL = 'https://www.yoursitehere.com/index.php/api/xmlrpc'
usr = 'usernamehere'
passwd = 'password'
svr = ''
token = ''
@philwinkle
philwinkle / reproduce.md
Last active February 24, 2016 08:42
product->load as an antipattern?
<?php

require('app/Mage.php');
Mage::app();


$product = Mage::getModel('catalog/product')->getCollection()->getFirstItem();

var_dump($product-&gt;getData('media_gallery'));
@molotovbliss
molotovbliss / example.php
Last active November 10, 2018 00:12
Running multiple processes in PHP
<?php
set_time_limit(0);
include "threads.php";
$commands = array('ffmpeg -i '.$inputFile[0].' '.$outputFile[0].' 2>&1','ffmpeg -i '.$inputFile[0].' '.$outputFile[0].' 2>&1');
$threads = new Multithread($commands);
$threads->run();
foreach ($threads->commands as $key=>$command){
echo "Command ".$command.":<br>";
echo "Output ".$threads->output[$key]."<br>";
echo "Error ".$threads->error[$key]."<br><br>";