If you are a member of the Church of Jesus Christ of Latter-Day saints and are cheering for the evangelical Christians' ideal of a Christian-run state, please remember that it is an evangelical Christian tenet that Mormons Aren't Christian. As soon as they have enough power, you will be against the wall too.
Sunday, July 3, 2022
Tuesday, November 16, 2021
[Technical] SSD1327 OLED Driver on Particle Photon
When trying to use a Particle Photon board to drive a Zio 1.5" monochrome OLED screen using U8G2 as the driver (per Zio's instructions), I hit a few problems.
Sunday, October 25, 2020
[Technical] Frustration with VSCode ESP-IDF extension
It
Just
Refuses
To
Work!
When using the Espressif IDF extension in Visual Studio Code, I kept getting squiggles under text even when I thought I had muddled through setup correctly, and when I went to wipe everything out and try again I kept getting
The other messages turned out to be key: pip was positively ancient and Python 3.5 is out of support. All I had to do was upgrade to Python 3.9 and ensure that the Visual Studio C++ workload was installed and the Python requirements installation stage completed successfully.
Saturday, October 17, 2020
DasKunkee.net now live
One time when I was in high school, someone came to physics class with a package of 500 Post-It Notes. That same day, the teacher ended up needing to spend most of the hour away from us--no big deal, they're honors kids, right?
Well, someone got the bright idea to label everything in the room. First was the chalkboard, but "chalkboard" wouldn't do so it was dubbed "das chalkboard". As this group of kids circuited the room, more things were labelled "das <thing>" until they came to me. Being known by my last name, Kunkee, I was thereby dubbed "das Kunkee".
Later in high school, a friend offered to host a website for me. What to call it? DasKunkee.net.
It even had a subdomain served out of my parents' basement. The server and subsequently the subdomain were named for for the less-prosperous side of Terry Pratchett's Ankh-Morpork, Morpork. This was served on port 81 by an Intel 486 DX with, as I recall, 128 MB of RAM that ran Gentoo Linux and two 1GB SCSI-2 drives. (This is what happens when no one wants high-end spare parts from a decade ago.) I learned a lot from setting up and running it. One day I may salvage the files from it and set it up again.
Recently I got the bug to build something, so I resurrected the concept of this website: DasKunkee.net
You may notice that the styling is pretty simple. Back yonder when, the same friend kindly provided a simple set of PHP and CSS pieces that made it look awesome to my starry-eyed teenage self, and I've done my best to base the current design on it.
Of course, nowadays I'm a software engineer so some technical description is warranted. The site is stored in a GitHub repo as .pug files. Every push to main triggers a Github Action that turns the pug files into HTML and uploads them to Azure Storage. The Azure CDN then picks them up and serves them through the Azure Storage Static Website feature. (There are numerous tutorials about how to set this all up; I don't recall which ones I used, sorry.) The root SSL certificate comes from Let's Encrypt courtesy of shibayan's keyvault-acmebot (relevant blog post). ServerFault was decidedly less than helpful. For me it was a case of setting up the Static Website with one tutorial and figuring out that shibayan's work allows layering Let's Encrypt on top of that.
Time
everything old
worn
beaten
aged
I looked around at what my fathers left me
so long ago
so very long ago
and all I saw
was what had been
and what could be
but not what was
nor what will be
I ached for what was
not yet ready to part
yet already parted
blinded by tears
I looked, but only felt
they were gone
but they gave me something
something small to remember them by
an egg
a promise
clay for molding
a future for shaping
only without their hands to help.
the clay sat and dried
the stone sat uncarved
the endless potentiality of the universe irrevocably unrealized moment by moment
fading into echoes
fading back into an egg
a future promise
unshaped clay
raw stone
fallow
with no hands to shape it
with no intent to wreak beauty
only a suspended moment
a meeting of times
a cloying bear hug of that which was gone
a rending wail of parting too soon
a loss of a compass
a field of old stones
fallen
rotting
returning
going
drawn inexorably on
away
into the past
gone
lessons hardly learned
shapes hardly seen
places hardly visited
minds hardly known
hearts hardly mended
I hardly knew myself.
how to know those gone?
the echoes fade
the ashes crumble
the dust blows
what of this egg?
this fallow field?
this aging clay?
this uncut stone?
my past is gone
but the present bears a mark
a blessing
a sign
many signs
many blessings
many marks
shunned too long
known too little
perhaps a seed may be planted
perhaps a step can be taken
the future holds horrors
the future holds wonders
I tell myself
to sleep at night
in the morning
in the sun-drenched fallow field
I freeze
again
untold wonders just out of reach
both ahead and behind
but just a fallow field in front of me
no helping hands to light the way
no sagely voice to soothe
to prune the unfathomable plenipotentiality
that is
and isn't
their gift
their burden
lifting my foot to take a step
I freeze
I cannot see
I cannot find the silver thread
leading to tomorrow
so I put my foot back
and let another day
slide into the soil
into the past
away from the future
unrealized
untrammeled
untouched
no more beauteous than before
no more regal than a fallow field
no more accepted than an uncut stone
and thus my gift is not a gift
but a paralysis
a boon of ill effect
a priceless wonder
a derelict
why shrink from the step?
why cling to the potential?
why not trammel the future in pursuit of a sublime past?
why not cast aside the endowment of antiquity
to forge a path of sublime wonder?
it won't be sublime
it will be mundane
and then
all is lost
all is wasted
the field fades away
empty
unused
trammeled
poisonedcluttered
spent
even an egg from which
would be a burden
a broken tangle of girders
unfit to bury a seed in
a choking death of futures
I have freakin' high expectations here, man!
Don't lose your parents' legacy; rather, honor and magnify it! Make something of it!
Don't just spend the nest egg, do something honorable with it! Make something of it!
But the task feels big enough to swallow me whole, to remain undone after spending my life on it.
I am daunted by what I see as the scale and breadth and size of it.
Oh, and don't just have a life, do something of your own! Do better than your forebears! Make something of it! (THE ANCESTORS DEMAND IT --ed.)
but what of my pain?
what of the fading echoes?
the convulsive clinging to lives long lost?
the deciduous future
must be decided
every day
every moment
but who am I to aspire to beauty greater than the subtle grace of a fallow field?
I stand no chance
the energy of the plenipotency beckons
but
I sit down
I bury my hands
and cry
at the futures I will not make
could the hands help prune
it would be their future
not mine
they are not here
from the past they bid me forward
it will not be one future
it will be many that I make
each better than the last
each more finished
each more seasoned
so when another finds this field
maybe the gnarled girders
and fallen ferroconcrete
can be their aged stones
and point them to what can be
and not what was
and what was not
instead of poison
and choking
when I find the silver thread again
I will pull
but if I cling
it will end me
so when it ends
and end it must
I must find another
Saturday, May 16, 2020
Replacing a Vigo Soap Dispenser
Since I couldn't find details about how this particular item goes together and I have the resources to, I went ahead and bought a new kit so I could tell how the pump and tank attached to each other and so tell how to disassemble the existing one. (Unfortunately my first purchase was of the plastic-tank model, so that's what the pictures are of.)
Sure, there might be other ways to do that, but that's what I did and now you don't have to. :)
Hopefully what I found and learned will augment the existing how-to videos to make someone's life easier.
The packaging is simple and robust. It's a cardboard box, a styrofoam insert, and a couple of papers:
You can see in that last photo the tank and the pump assembly.
The tank in this particular kit is just one piece of plastic. The neck has threading on the outside.
The pump assembly slides apart into two sections that I'll call the pump and the mount. Here's the pump:
This is a single unit, already attached and glued together. Normal operation has this sitting snugly in the mount and lifts out as a unit to allow refills. The problem I had is that the translucent straw on the pump broke off and fell into the tank.
Here's the mount:
Note the brass nut and the rubber gasket. These function just as described in numerous online tutorials to seal the sink surface off from the underside.
The part that I could find no photos of anywhere is this:
The bottom of the mount has threading on both that outside for the brass nut and the inside for the tank. Now I know I need to retighten the brass nut and remove the tank before removing the nut and mount. Silly as it may seem, it's now on the Internet.
Thanks for reading.
Saturday, February 22, 2020
[Tech] ESP32 Programming from ARM64 Windows
I have had some experience using Windows 10 on ARM (ARM64) devices and, given their extreme battery life and sufficiently good performance characteristics, I thought one would be a good foundation for an IoT development machine. (Think about not needing an outlet at a hackathon...)
To test this, I recently decided to finish a project I have most of the parts for: a WiFi-controlled pair of LED strips. A long time ago someone got me a modest ESP32 break-out board for Christmas and I've been itching to use it, and I've had the LED strips since I came up with the idea.
I may yet author a Hackaday.io project describing the build, but for this article I'll be focusing on the development environment. (If I do, I will add the link here and it will be listed here.)