Archive for the ‘Uncategorized’ Category

Quiz results of shwartz values test

Friday, September 11th, 2020


I didn’t really feel like this accurately captured me.. I feel like the benevolence should be higher. I maybe should have thought a little more about the data I was feeding it.



Sunday, August 30th, 2020

One of the problems I’ve been having lately is that increasingly I find the tendencies of the way my job is arranged to burn through many hours of my life for no reason frustrating.

Part of this is that I’m increasingly wanting to be spending time in the studio working on my musical skills – I’ve been really making a lot of progress in addressing some of my weaknesses as a musician lately. One thing I will acknowledge is that thus far I can only do about 4 hours straight of playing right now – but that’s up from about 2 hours a few months ago, and I’m guessing the number will continue to go up as I continue to put effort into it.

Of course, one of the downsides of this is that it means my paws are sore a lot of the time, although I’m under the impression that if I keep up this level of working out, musically, they will be less sore. They hurt less than they did a few months ago.

In order to have time to continue doing my day job while working on my musical skills I’ve completely given up facebook. I can’t say that I miss it.

Anyway, so, my hope is if I can keep up this pace for another six months or so I will be able to reproduce the music I can imagine and that I will also be able to find work writing and recording music – we will see.

Some of the exercises I’ve been working on recently include working on being able to comfortably improvise around the 12 bar blues in every key (i’ve still got two keys left to go, Db and Eb, and I’m still working on my comfort level on Gb and Ab). I’m also trying to reach a place where I’m as good at soloing in E as C, because I forsee a lot of E in my future.

Possible project – more advanced sustain pedal

Sunday, August 16th, 2020

So, I’m pondering making a more advanced sustain pedal controller for my two keyboards.

In particular, I’d like to implement the following features:

1) Latching and momentary control for the novation
2) sustain of both keyboards with one pedal

What I’m thinking of doing is looking for a three pedal input device, and modifying it so that

A: pressing the center pedal applies sustain to both keybaords
B: pressing the center pedal along with the left or right pedals applies or clears a latching state

I am thinking of using a microcontroller and two relays – obviously this could be done with straight logic but using a microcontroller allows debouncing and also possibly adding additional features later.

The future

Wednesday, July 1st, 2020

I really wonder how this period of time will look to me in the future when I look back over my journal. I hope that the complete political and social dysfunction we are currently experiencing will resolve itself, and that the economic stupidity will actually be transcended – it’s possible that things could go extremely worse wrong – of course, in a lot of the worst case scenarios, my web server is not going to be there to look at.

But, even though things look grim at the moment, I have a lot of hope. For one thing, I think COVID is going to teach even the most conservative among us that it’s a good idea to listen to the smart people, and a bad idea to listen to the lying liars. I also think in the case of COVID, a bunch of the folks who believe the dumbest things are going to, well, die. Evolution in action. And my hope is that we will all collectively learn a thing or three from this and life will get better from here.

I also still have hopes that my personal life will get better, as I do sometimes manage to grow. At least a little bit. I think that my conflict-averse nature is going to have to get sorted out at least somewhat, and I also think I’m going to have to give even more time to what I really want to be doing and trust that the rest of this mess will work itself out because people who really want to be working on the social and political and economic aspects of the world will improve those aspects.

And, I do have to recognize there are reasons to be grateful even now. The vast array of food products available to us even in a pandemic is pretty astonishing, for example – in a good way. And I’m grateful to have broadband – if I’m going to have to avoid most of humanity, it’s good to still have the ability to appriciate the best of our art, and to publish my own art.

Criminal Justice System and who wants to work at it

Tuesday, June 23rd, 2020

I’m pondering that maybe you should never allow anyone who *wants* to be a judge or a politician be one. I also think you need to watch the cops who want to be cops closely – make sure they want to be cops for the right reasons. The problem is we have a bunch of thugs abusing their power – in general I’m not even convinced you should let the person who wants to run the neighborhood association do so, the issue is the odds of people wanting power not abusing it sooner or later are really, really low.

Perl module for decoding tekpower TP4000ZC

Tuesday, April 7th, 2020

I didn’t see one of these lying around so I banged this together in a few minutes to be able to use the TP4000ZC with a raspberry pi.. the intention is to use this to monitor the main bus voltage of my solar array.

This is provided, obviously, with no warranty, and is based on information found at tek’s web site. It seems to match the display.

package tekpower;

use Device::SerialPort;
use Data::Dumper;
use strict;

sub new {
my $self = {};
my $type = shift;
my $port = shift;

$self->{'debug'} = 0;
$self->{'port'} = $port;
$self->{'dev'} = Device::SerialPort->new($port, 1) || die "Failed to open $port";

$self->{'dev'}->debug($self->{'debug'}) if($self->{'debug'});
my $r = bless($self, $type);

return $r;

sub read {
my $self = shift;
my ($count,$buf) = $self->{'dev'}->read(64);
print "count: $count\n" if($self->{'debug'});
my @array = split(//,$buf);
my $notOk = 1;
while($notOk && @array) {
my $z = shift(@array);

print "z: " . ord($z) if($self->{'debug'});

my $checksum = (ord($z) & 0xF0) >> 4;
print "checksum: $checksum\n" if($self->{'debug'});
if($checksum == 1) {
$notOk = 0;
my @v_array;
# first check high order bits
my ($i, $checksum);
for($i=0;$i<14;$i++) { $checksum = ord($array[$i]) & 0xF0; $v_array[$i] = ord($array[$i]) & 0x0F; $checksum = $checksum >> 4;
if($checksum != ($i+1)) {
print "Checksum mismatch at $i ($checksum)\n" if($self->{'debug'});
return undef;


# second decode reading;
my $mode;

$self->{'smode'} = "AC" if($v_array[0] & 8);
$self->{'smode'} = "DC" if($v_array[0] & 4);
# bit 2 is auto ranging, do we care?
# bit 1 is RS232, um, if you don't know that, what are you doing here?
$self->{'sign'} = "+";
$self->{'sign'} = "-" if($v_array[1] & 8);
$self->{'digit1'} = $self->convert_digit($v_array[1], $v_array[2], 0 );
$self->{'digit2'} = $self->convert_digit($v_array[3], $v_array[4], 1 );
$self->{'digit3'} = $self->convert_digit($v_array[5], $v_array[6], 1 );
$self->{'digit4'} = $self->convert_digit($v_array[7], $v_array[8], 1 );

$self->{'number'} = $self->{'sign'} . $self->{'digit1'} . $self->{'digit2'} . $self->{'digit3'} . $self->{'digit4'};

$self->{'range'} = 'u' if($v_array[9] & 8);
$self->{'number'} *= 0.000001 if($v_array[9] & 8);

$self->{'range'} = 'n' if($v_array[9] & 4);
$self->{'number'} *= 0.000000001 if($v_array[9] & 4);
$self->{'range'} = 'k' if($v_array[9] & 2);
$self->{'number'} *= 1000 if($v_array[9] & 2);

# 1 is diode, do we care?
$self->{'range'} = 'm' if($v_array[10] & 8);
$self->{'number'} *= 0.001 if($v_array[10] & 8);

$self->{'range'} = '%' if($v_array[10] & 4);
$self->{'range'} = 'M' if($v_array[10] & 2);
$self->{'number'} *= 1000000 if($v_array[10] & 2);

$self->{'mode'} = "farad" if($v_array[11] & 8);
$self->{'mode'} = "ohm" if($v_array[11] & 4);
$self->{'mode'} = "delta" if($v_array[11] & 2);

# bit 1 is hold, do we care?

$self->{'mode'} = "amps" if($v_array[12] & 8);
$self->{'mode'} = "volts" if($v_array[12] & 4);
$self->{'mode'} = "hz" if($v_array[12] & 2);

return $self->{'smode'} . ' ' . $self->{'mode'} . " " . $self->{'sign'} . " " . $self->{'digit1'} . $self->{'digit2'} . $self->{'digit3'} . $self->{'digit4'} . ' ' . $self->{'range'};


sub convert_digit {
my $self = shift;
my $lhs = shift;
my $rhs = shift;
my $include_decimal = shift;
my $decimal;

if($include_decimal) {
if($lhs & 8) {
$decimal = ".";
} else {
$decimal = "";

$lhs = $lhs & 7;

my $d;

# 000 0101 = 1
if($lhs == 0 && $rhs == 5) {
$d = 1;
# 101 1011 = 2
} elsif($lhs == 5 && $rhs == 11) {
$d = 2;
# 001 1111 = 3
} elsif($lhs == 1 && $rhs == 15) {
$d = 3;
# 010 0111 = 4
} elsif($lhs == 2 && $rhs == 7) {
$d = 4;
# 011 1110 = 5
} elsif($lhs == 3 && $rhs == 14) {
$d = 5;
# 111 1110 = 6
} elsif( $lhs == 7 && $rhs == 14) {
$d = 6;
# 001 0101 = 7
} elsif($lhs == 1 && $rhs == 5) {
$d = 7;
# 111 1111 = 8
} elsif($lhs == 7 && $rhs == 15) {
$d = 8;
# 011 1111 = 9
} elsif($lhs == 3 && $rhs == 15 ) {
$d = 9;
# 111 1101 = 0
} elsif($lhs == 7 && $rhs == 13 ) {
$d = 0;
} elsif($lhs == 6 && $rhs == 8) {
$d = "L";
} else {
return undef;

my $v = $decimal . $d;
print "V: $v\n" if($self->{'debug'});
return $v;



Saturday, April 4th, 2020

So, i’ve decided to stop waiting for the government to make some sort of ‘green new deal’ happen and put my money where my mouth is. It also helps reduce my paranoia to know that I will have backup water and power supplies if the government (who provides both things in the city of Seattle) experiences some sort of outage or other difficulties. So, I’m putting out 3.5kW divided as 1.6kW of monocrystalline and the rest amphorous (the idea here is to make power in both sunny and cloudy conditions). Realistically I expect to see maybe 1kW output except high noon on the brightest parts of summer, but that is still enough to keep my fridge and freezer running, and I can also add a grid intertie inverter to reduce my power bills when I’m not using the array for backup power or to charge my electric car.

I’m also putting in 10kW of backup energy storage, which can be charged either via the grid (I’ve got a 40 amp charger) or via the solar array. I will likely also experiment with solar towers and solar tracking. Those of you who know me know I often have hobbies-for-a-year – this is my hobby for 2020.

I am also adding numerous rain barrels to store rainwater and a 12 volt pumping system that can be used to pressurize my pipes via a water filter from the rainwater, as well as some 12 volt emergency lighting.

For Jennifer And Vicky

Sunday, March 22nd, 2020

The Living Years, by Mike and the Mechanics

Every generation
Blames the one before
And all of their frustrations
Come beating on your door

I know that I’m a prisoner
To all my Father held so dear
I know that I’m a hostage
To all his hopes and fears
I just wish I could have told him in the living years

Crumpled bits of paper
Filled with imperfect thought
Stilted conversations
I’m afraid that’s all we’ve got

You say you just don’t see it
He says it’s perfect sense
You just can’t get agreement
In this present tense
We all talk a different language
Talking in defence

Say it loud, say it clear
You can listen as well as you hear
It’s too late when we die
To admit we don’t see eye to eye

So we open up a quarrel
Between the present and the past
We only sacrifice the future
It’s the bitterness that lasts

So Don’t yield to the fortunes
You sometimes see as fate
It may have a new perspective
On a different day
And if you don’t give up, and don’t give in
You may just be OK.

Say it loud, say it clear
You can listen as well as you hear
It’s too late when we die
To admit we don’t see eye to eye

I wasn’t there that morning
When my Father passed away
I didn’t get to tell him
All the things I had to say

I think I caught his spirit
Later that same year
I’m sure I heard his echo
In my baby’s new born tears
I just wish I could have told him in the living years

Say it loud, say it clear
You can listen as well as you hear
It’s too late when we die
To admit we don’t see eye to eye

Some proof that we’re being stupid

Sunday, March 22nd, 2020

#1: Some hackers start 3D-printing and sharing shapefiles for medical equipment. They promptly get sued.
#2: Tesla is told it can’t keep making cars. EVERY CAR IS 30kwh ON THE HOOF. If the grid goes down.. and it might, disasters don’t always come at you one at a time.. they could run oxygen concentrators and ventilators just by attaching a inverter to the 12V battery and leaving the car turned on but in park. Think of a electric car as a ‘bucket’ for carrying power from the grid to places that might have lost it. Tesla is one of the few mfgrs who should be scaling up.. along with makers of solar panels, batteries, and wire. We don’t know how bad this is gonna be, but.. if naught else, we’ll be better prepared next time.

Simulation, Virtualization, On the iron?

Friday, January 24th, 2020

So, I had a long series of conversations with someone on my recent Africa adventure about whether or not we are living in a simulation. Most of you already know that I have noticed that both evolution and intelligent design would discover virtualization fairly early on as a way to do a lot more with the same resources. Virtualization opens a lot of doors vs. running ‘on the iron’ – we already know that we have some virtualization features, such as dreaming and imagining possibilities, but I think it likely that we probably go a good deal further than that.

One of the thoughts i had never been struck by before which struck me on this particular version of enumerating the age-old discussion was that humans do not really have instincts to speak of – so one appropriate use of virtualization is to build the neural structures necessary to survive before we meet the real world. It’s quite possible that we’re still in our mother’s womb, living through recordings of various situations so we can build the neurological structures and be ready to deal with the real world, which may be far stranger and wilder than anything we’ve experienced thus far. When you think about it, if evolution hasn’t already found this, it’s a bit of surprise, because surely the child that experiences training simulations in-womb is going to have a *far* higher survival score than the child who does not.

Anyway, one can think of a number of scenarios in which simulation or virtualization would be a winning strategy – if we’re the product of intelligent design we’re almost certainly inside a virtualization envelope, because it protects the designer from us. One amusing possibility that’s occurred to me is that we may be the result of someone trying to develop a really accurate video game that simulates life forms – so accurate that those life forms turn out to experience the world as real. It would be, it seems to me, a easy mistake to make.