Skip to content

Instantly share code, notes, and snippets.

# This is a Klipper configuration for TronXY X5SA, with CXY-V6
# motherboard.
# === FLASHING WITH STOCK BOOTLOADER ===
# You should make firmware for STM32F103 with bootloader offset
# at 0x8008800 (Chitu v6 Bootloader) and serial (on USART1 PA10/PA9)
# communication.
# Use "./scripts/update_chitu.py ./out/klipper.bin ./out/update.cbd"
# after make to generate update.cbd. Put `update.cbd` onto SD card,
- id: '1579390245541'
alias: Emergency Charge
description: Charge the tesla when it comes home in the middle of the day to 40%
trigger:
- entity_id: binary_sensor.toothless_charger_sensor
for: 00:30:00
from: 'off'
platform: state
to: 'on'
condition:
import xmltodict
from pprint import pprint
with open('thumb0001.xml') as fd:
doc = xmltodict.parse(fd.read())
def remap(x, in_min, in_max, out_min, out_max):
return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min
width = int(doc['annotation']['size']['width'])

Warning: non technical post.

My grandfather slipped away today. We knew it was coming, and so I took the chance to fly to Maine to get one last chance with him. I had some thoughts about him and people that I want to share, especially about how lucky we both are.

He was 95. He grew up in SF, and watched the Golden Gate bridge being built from his dad's office in the Standard Oil building (225 Bush St). That building is still there. He moved to Palo Alto, and then was shipped off to WWII.

He was smart enough to join up rather than get drafted, and as such got to pick his service. He joined the Navy, and was immediately sent to Antioch college for communications training. He spent the majority of the war there, and then at Columbia for more training. By July 1945 he was done, and sent back to San Francisco to deploy. While on the boat in early September, the bomb on Hiroshima was dropped, and was the effective end of the war in the Pacific. As a result, while my grandfather Justin (who

2019-05-28 21:37:19.646 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Time zone set to 'America/Los_Angeles'.
2019-05-28 21:37:19.669 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Location set to '37.831778,-122.202611'.
2019-05-28 21:37:19.674 [INFO ] [.core.internal.i18n.I18nProviderImpl] - Locale set to 'en_US'.
2019-05-28 21:37:23.084 [INFO ] [io.openhabcloud.internal.CloudClient] - Connected to the openHAB Cloud service (UUID = d0caebcb-0ecd-4663-b324-ed788f487032, base URL = http://localhost:8080)
2019-05-28 21:37:29.920 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'rrd4j.persist'
2019-05-28 21:37:35.604 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'ExteriorLights.rules'
2019-05-28 21:37:36.379 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'RecircPump.rules'
2019-05-28 21:37:37.144 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading model 'HouseOccupied.rules'
2019-05-28 21:37:37.284 [INFO ] [el.core.internal.ModelRepositoryImpl] - Loading
@mcowger
mcowger / openhab.log
Created May 29, 2019 03:08
Failed inclusion
2019-05-28 20:02:06.512 [DEBUG] [wave.discovery.ZWaveDiscoveryService] - ZWave discovery: Start zwave:serial_zstick:zstick
2019-05-28 20:02:06.525 [DEBUG] [ve.internal.protocol.ZWaveController] - ZWave controller start inclusion - mode 1
2019-05-28 20:02:06.536 [DEBUG] [ve.internal.protocol.ZWaveController] - Event listener added.
2019-05-28 20:02:06.546 [DEBUG] [al.protocol.ZWaveInclusionController] - ZWave controller start inclusion
2019-05-28 20:02:06.557 [DEBUG] [ol.serialmessage.AddNodeMessageClass] - Setting controller into INCLUSION mode, highPower:true networkWide:false.
2019-05-28 20:02:06.567 [DEBUG] [nal.protocol.ZWaveTransactionManager] - NODE 255: Added 2024 to queue - size 1
2019-05-28 20:02:06.574 [DEBUG] [nal.protocol.ZWaveTransactionManager] - Transaction SendNextMessage 0 out at start. Holdoff false.
2019-05-28 20:02:06.580 [DEBUG] [wave.internal.protocol.SerialMessage] - Assembled message buffer = 01 05 00 4A 81 85 B4
2019-05-28 20:02:06.585 [DEBUG] [ing.zwave.handler.ZWaveSerialHandler]

Start with the second half of this article to understand how they differ:

https://www.ontrack.com/blog/2018/02/22/the-evolution-of-storage-file-storage-vs-block-storage-vs-object-storage-part-1/

When it comes to how to evaluate, it varies by system:

Block: (Sometimes called SAN, but thats not really correct) Usually people here will focus on a couple things:

  • Raw Performance: How many operations per second can I execute? Usually called ‘IOPS’, we are talking ranges of a couple thousand for low end home-type systems, all the way up to millions of operations per second for high end systems. How many you need depends on your application
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: dashboard-viewonly
rules:
- apiGroups:
- ""
resources:
- configmaps
__author__ = 'mcowger'
import csv
import pprint
from datetime import datetime
data = []
sell_rate = 0.03
yearly_increase_rate = 1.029
__author__ = 'mcowger'
import hashlib
import sys
from progress.bar import Bar
import os
import timeit
import random
import logging