#+TITLE: onec
#+TODO: IDEA(i) DRAFT(d) | PUBLISHED(p)
#+hugo_base_dir: ./
#+hugo_section: ./post

* Life :@life:
** PUBLISHED Campaigning
CLOSED: [2017-10-27]
:PROPERTIES:
:EXPORT_FILE_NAME: campaigning
:END:

Campaigning has been a very interesting trip. The most memoroable aspect of
running for select board so far has been finding people standing up along side
me and asking how they can help me gain a seat at the table. Mostly, that's
because I tend to think of myself as a relatively unimportant person. And I am,
even now. Yet my desire to serve the town intersects with a lot of other folks'
desires for their town, and I'm amazed that they see me as someone who can help
them.

Mostly, what that means to me is that this has become a responsibility. Not that
I didn't already know that to a certain degree, but extent to which service is
really responsiblity has fully dawned on me now.

** PUBLISHED Coaching soccer
CLOSED: [2017-09-26]
:PROPERTIES:
:EXPORT_FILE_NAME: coaching-soccer
:END:

This is my second year coaching the middle school soccer team here in Castine.
Each year I am filled with apprehension about the make up of the team, and
wether coaching is actually something I can do. All those kids, just looking at
you to say something, anything really, so long as it relates to soccer.

And yet here I am. My second year of telling kids what to do. Interestingly,
what's most stood out from year to year is the growth of the players. Fifth
graders last year who had trouble paying attention and looked at me like I was
speaking Greek when I told them to hustle to the ball, have become easily
motivated. Older players seem almost excited to step into leadership roles,
whether in the goal or taking a midfield position with lots of running.

Really, it's the same as watching my own kids grow up. The miracle of humanity
is how we grow and develop our own personality quirks and motivations which are
at once totally our own, and also clearly cobbled together by experiences we've
shared. For my part, I love it.

** PUBLISHED Leadership
CLOSED: [2017-07-26]
:PROPERTIES:
:EXPORT_FILE_NAME: leadership
:END:

An interesting discussion occurred at work today where I was forced to put into
words some thoughts I've been kicking around for a while on the nature of
leadership. None of my thoughts are original, mind you. This one was cribbed
from a blog post about leading without authority. I'll drop the link when I find
it. The long and the short of that post was that leadership has only the loosest
relationship with authority. In fact, it's often a sign of dysfunctional
leadership which depends on having someone give you authority.

In the world of power, authority is one of the most difficult types to wield,
because it generally means someone has placed an expectation on you. You will be
forced to live up to those expectations or be cut down from your place of
authority quickly. Meanwhile, leadership is not actually a type of power, but a
behavior. This alone should be mind-blowing if you're actually following along
at home.

You can lead without authority. You can lead with authority. You can actually
lead without saying a thing. This is key tenant in modern stoicism, actually.
Don't tell, do. And so it is in leadership as well. Don't tell people what to
do, show them what is effective, and empathize with their plight.

One of the more disappointing interactions I had recently was when a co-worker
expressed a lack of joy in his work. It struck a nerve with me, in that I had
felt many of the same things. And our lead engineer, who tends to lead through
authority rather than trust, kind, sort of, well ... blew us off. I really
didn't see that coming, and it's forced me to take a step back and realize that
I need to do a better job of leading without authority. Of building trust
amongst my co-workers so that when the need arises, I can step up.

** PUBLISHED Off days
CLOSED: [2017-09-23]
:PROPERTIES:
:EXPORT_FILE_NAME: off-days
:END:

We're all entitled to having off days, but it doesn't make them any easier to
work around. I woke up today without much ambition, despite the fact that we
have chickens that need to be slaughtered. To add insult to injury, after we
decided not to worry about slaughter, I went downstairs to discover that the
toilet is not filling. There's simply no water in the supply line. To make
things weirder, the sink that's on the same line works fine. We've been working
thorugh issues with sediment in our well water, and it seems like this is
probably related. But we really have no idea.

Yesterday was a funny day too where matters beyond my control led to me not
being very responsive at work. That carries it's own stress as deadlines loom
and people expect a certain result and you have to explain why the result is not
there yet. Effectively, today is a day where the rug feels slightly frayed
around the edges. Life is hardly falling apart, but things are just starting to
slip a little bit.

We're all entitled to days like these, but it doesn't make it any easier to
weather, especially when working on remainig stoic about life, it can feel like
a setback. That said, the feeling of discouragment is really pride. Pride that
you thought you had things under control, when in reality you were never in
control of the things around you, but simply your respones to the things around
you. Centering in these moments involves acknowledging that all you can do is
control your response and actions, and doing your best to return to those

** PUBLISHED On the ballot
CLOSED: [2017-09-18]
:PROPERTIES:
:EXPORT_FILE_NAME: on-the-ballot
:END:

I'm officially going to be on the ballot in Castine for selectmen this year!

Turned in my nomination papers, and, pending a review of the voter signature, I
will be on the ballot along with Patrick Haugen and Buzz Layton. It was a lot
of fun talking to folks about the town while collecting signature, and I'm
feeling really blessed to be in a community that not only provides me the
opportunity to run for public office, but one where my friends and neighbors
are actively enthuiastic about my campaign.

Next stop, election day!

** PUBLISHED Monarchs
CLOSED: [2017-09-16]
:PROPERTIES:
:EXPORT_FILE_NAME: monarchs
:END:

I knew that monarch butterflies were born somewhere in the north and then
migrated to Mexico for the winter. But today on a hike on Sears Island we got to
see a field of wildflowers, predominently milkweed, that was set aside
specifically for monarchs to develop in.

Indeed, we saw a few monarch caterpillers, which interesting actually share a
color pattern with their flying form.

Our enthusiasm was dampened slightly when the flying insects came out. They
specifically seemed to want our lunch and recent traumatic events involving
ground hornets meant we had to make a hasty retreat.

The hike ended up being almost two miles and was through some really pretty
paths. I would definitely enjoy hiking on Sears Island again.

* Self-hosting :@selfhosting
** PUBLISHED Self-hosted weather station
CLOSED: [2023-01-24 Tue 12:06]
:PROPERTIES:
:EXPORT_FILE_NAME: self-hosted-weather-station
:END:

For a few years now, I've had a cobbled together weather station using Ecowitt
sensors that one can readily buy on Amazon, and the fantastic open source tool
`WeeWx`. I really don't think I can sign the praises of WeeWx loudly enough.

The components of the setup:

+ Ecowitt GW3000 "gateway"
+ Ecowitt XXXX temperature sensor
+ Ecowitt rain guage
+ Ecowitt anemometer
+ FreeBSD jail (or any unix-like 24-7 server, an RPi would be fine here)

Ecowitt is better know in the agricultural community for making very expensive,
very high performing sensors for farms. But thankfully they've dipped their toes
in the commercial waters and provided a highly cost-effective way to build a
home weather station cluster, without dropping hundreds of dollars on a Davis
instrument (and then being locked into their ecosystem).

See, the real beauty of Ecowitt is that all the sensor communicate with the
gateway over a 900Mhz channel which the GW listens for, parses and then
transmits to a given IP address on the local network. The recipient of the
gateway's communication is supposed to be a super janky phone app. But we can do
one better and send it all to WeeWx!

WeeWx handles a lot of different sensors. So you could probably replace
everything I just said above with plugging in a $300 Davis weather station and
use that with WeeWx. But your mileage will vary depending on model numbers and
firmware and honestly, nobody got time for that. Instead, we'll use the Ecowitt
plugin in WeeWx to intercept the gateway's messages, store them in a sqlite
database and let WeeWx generate a really nice HTML page for our weather station
(demo of mine here: https://wx.unbl.ink).

Of course, now all that fine weather data is parsed and stuffed ina SQL data
store, so you can also re-process it to a heavier weight DB engine, like
postgres and go nuts. At least, that's what I've done. Having raw, time-based
data from sensors on your own property gives you a chance to run historical
calculations of specific events, and it also allows me to pull local data into
other projects, so my run tracker doesn't get data from the airport 90 miles
from my house, but can use super local weather data.

* Thoughts :@thoughts:
** PUBLISHED Why are we grateful? :gratefulness:
CLOSED: [2017-09-19]
:PROPERTIES:
:EXPORT_FILE_NAME: why-are-we-grateful
:END:

I just finished the book *The Righteous Mind* by Jonathan Haidt and was struck
by a line at the beginning of his acknowledgment section. Relaying what a
graduate student once taught him he explains that we do not express gratitude to
settle debts or sow the ground for favors. We give our gratitude out to make
stronger relationships.

I was struck by what a simple, yet profound thought that was. Gratefulness is
not a selfish tool we wield to get the upper hand. Humans, while highly
rational about a great many things, operate more like bees in a hive than most
would give us credit for. Hives need cohesion. Strong relationships breed
cohesion. The process is so clear.

Do you imagine that chimps can express their gratitude to one another?

** PUBLISHED Are you like me? :uu:
CLOSED: [2017-09-20]
:PROPERTIES:
:EXPORT_FILE_NAME: are-you-like-me
:END:

One of the aspects of my faith that I have the most difficulty with is accepting
other people regardless of where they are. As a human, I like to hang with
people like me. This is understandable, as tribalism exists in the world as an
artifact of the world we have lived in for the last 10,000 years.

And yet, UUism calls me to be accepting of others and to encourage others in
their spiritual growth. How can I be tribal and accepting of others at the same
time? I think a big part of that practice is being honest with yourself about
the biases you may have. I value thoughtfulness and intelligence highly. I do
not place as much value on art and entertainment. It is not that I don't like
those things, but someone who orients their life around art make it immediately
more difficult for me to find similarities and to enjoy their company.

The best thing I've found in these situations is to keep plumbing for
commonality. As awkward as tribalism can be, it's also a fantastic tool to build
affinity for other people. If you can intentionally try to build a tribe with
strangers, before you know it they are no longer a stranger and instead part of
a new tribe that you just created. Maybe they have kids. I have kids and know
that world all too well. Perhaps they have a Mormon grandmother who is difficult
to be around :) Yet another opportunity to build the community that was missing
before.

The trick is not to disavow the aspects of our human psychology that make us
able to accept others, but use them to our advantage to grow our tribe larger,
or at least increase the number of small tribes we're a part of.

** PUBLISHED Finding meaning
CLOSED: [2017-09-27]
:PROPERTIES:
:EXPORT_FILE_NAME: finding-meaing
:END:

What does it mean to encourage others towards spiritual growth? At a recent
board meeting, which included a fairly contentious issue, a number of friends
and myself certainly did not encourage anyone towards spiritual growth. The root
of the problem, as with many problems, lies with differences; differences of
opinion, experience, and expectations. As a Unitarian Universalist congregation,
we espouse the seven principles, which are as close to dogma as you're likely to
see in UUism. One of these seven "pillars" of behavior as a UU calls us to
accept others and help them towards spiritual growth. How can we do that when
we're so different?

I'm repeating myself here, but repetition is the best way to learn anything, so
let's go again. Difference tends to cause us to build walls. Often we do not do
so intentionally, but humans are animals, and there is a base tribalness to much
of what animals do. It should not surprise us that we like to be with our own
kind, to have our ideas reinforced, to spend time with those we've shared
experiences. But that gets to the crux of it. Share experiences with other
people. Embrace our tribalness to create connections with people who are
currently strangers. This is not radical acceptance. If you believe that
abortion is a sin against your chosen diety, that is not a good place to begin
acceptance. Rather, why not talk about youre experience with your children? Talk
about sports, the weather, and begin to ask questions.

Do you know where the members on your board were born? Where they were raised?
What they personally believe? The stand out experiences in their lives? Their
favorite books? Movies? What they love? What drives them crazy? These are not
retorical questions. Nor are they questions that I have asked yet. So no need to
feel bad. Being an accepting and welcoming human being is difficult preciscely
because of our earlier manifestation as uncooperative animals. But by some
miracle have developed the skills of discernment and cooperation, and we should
perform social exercises to keep our open-ness well conditioned.

** PUBLISHED Free and Responsible :religion:uu:
CLOSED: [2017-09-28]
:PROPERTIES:
:EXPORT_FILE_NAME: free-and-responsible
:END:

The way I was raised, certain people were simply wrong. If they didn't share the
same enthusiasm for science, they were incorrect. If they believed in a
benevolent (or even malevolent) Christian god, they were wrong. There was very
little gray in many of the positions that were espoused to me. One of the great
aspects of humanity is that we are given the opportunity to raise our children
with our values and beliefs. But, of course, there are responsibilities there
too.

It almost seems absurd to say this, but I don't think I was always responsibly
educated. Absurd, because that's a high bar and I'm not sure anyone can ever
claim to have been educated under the perfect paradigm. But to the extent that
it took me many years to understand what it means to pursue a free and
responsible search for truth and meaning, I think there could have been more
openess to what I was exposed to. The Christian Bible is an amazing book. The
Bhagavad Gita is absolutely beautiful. Darwin had his doubts about the extent to
which evolution allows us to understand life. Newton was downright crazy half
the time.

The source of responsibility in our lives is humbleness. When we say we are
responsible for our children, that does not mean if we fail to teach them the
right things we have failed. It means if we fail to listen to them, and discern
what they need based on what we understand about them and what they tell us, we
have failed them. There is no test for responsible parenthood, just as there is
no test of responsible searching for meaning in our lives. When we have the
freedom to search for truth and meaning, we must use discernment and listening
as our foundation for responsibility. Listen first, think second, act last.

** PUBLISHED Intentions :intention:
CLOSED: [2018-08-19]
:PROPERTIES:
:EXPORT_FILE_NAME: intentions
:END:

The idea here, cribbed from Bryan Cantrill's talk on oral traditions in software
development, is the importance of making as clear as possible your intentions
when you do things. Often I feel as though intention gets a bad rap. The road to
hell, and what-not. But the reality is that, if you are doing something, it is
best to do it with intention. God help us the things we do impulsively or
emotionally. Sometimes they work out alright, but it's usually best to go back
and see if we can learn why it happened. That's still applicable when doing
things intentionally, but because there was forethought, we are already a step
ahead.

Of course, what this really means is that we also need to make sure we document
our intentions. This is where we come back to Bryan's talk. It's not enough to
solve a problem, or build a product. You have to document the process that got
you there. In software, you leave your intentions via comments, documentation,
blog posts, podcasts, talks, or just conversations with co-workers and friends.
But one way or another, you should document what you set out to do and whether
you accomplished it. In the absence of this, we are really just throwing darts.
I'd wager dollars to donuts that few significant works were created by throwing
darts.

I'm currently reading the book /Sing, Unburied, Sing/ by Jesymn Ward. The most
disturbing aspect of one of the characters in Ward's brilliant story is the
complete lack of intention in her actions. Her internal governor appears to be
fueled entirely by impulse and emotion, leaving those around her hurt, confused,
angry and afraid. When humans act without intention, the results tend to appear
brutally selfish, even if the underlying logic is not. When we impulsively shoot
off an email, we have, by definition, not given it any thought. The
repercussions of such an action are hard to understand.

Thus, while the road to hell may indeed be paved with good intentions, it's
probably better than the road that's paved with impulsive and emotional
outbursts.

** PUBLISHED Running Tired :running:
CLOSED: [2018-08-20]
:PROPERTIES:
:EXPORT_FILE_NAME: running-tired
:END:

After an angsty 25+ years of my life, I've come around to love running. This is
obvious to anyone who knows me. I discovered it as a great hobby when you live
in a rural area and can't get together on a regular basis to play sports.
Combined with the ability to track running with technology, it has become a
hobby that at this point I would even if I couldn't track, or had access to
regular sports events. I just love being out on the road, listening to nature
(or music) and feeling the air and precipitation.

But that's not what this is about. This post is about when I'm less than joyful
on a run. A big part of running is making it a habit so that it isn't a
struggle. The hope is that you can condition yourself to be able to use
relatively little effort to get out there. That's the goal. Of course, reality
being what it is, running it not always effortless.

The last few weeks I've changed my diet and had an explosion of personal and
professional commitments. The changes in routine have led to runs that have been
crammed in my schedule sideways and at times that are not my favorite. Which
ultimately has led to runs that would normally be close to effortless, requiring
more effort. But there's an opportunity here too. The opportunity is to toughten
my mental state to run while under effort. Even when things don't go right, we
have to practice a combination of mindfulness and grounding in your ability to
push through, while still listening to your body and not pushing too hard.

** PUBLISHED Nethack
CLOSED: [2019-01-13 Sun 22:45]
:PROPERTIES:
:EXPORT_FILE_NAME: nethack
:END:

I discovered Nethack for the first time this weekend. Well, I knew it existed
for a while, but I had always sort of poked around at it, generally unimpressed.
But on Friday there was a lobste.rs post about a speedrun of nethack that
totally captured my attention. The runners used the inventory at the start of a
randomly generated map to determine which seed was used by the RNG to build the
dungeon. From there, they had a general sense of what would work. This resulted
in an ascension, as victories are called, of sub 8 minutes. The previous best on
the most popular nethack server, nethack.alt.org, was more than 90 minutes.
Crazy.

All that to say that reading about their speedrun made me realized how much more
there was in nethack. Much more. And now I'm hooked. I also joined the IRC
channel for NAO and with IRCCloud I get notifications when I'm done with a game
with my final score. It's actually kind of delightful. Now I need to stop
wasting time with it :)

** PUBLISHED Trompe l'oeil :empathy:running:
CLOSED: [2019-05-24 Fri 15:16]
:PROPERTIES:
:EXPORT_FILE_NAME: trompe-l-oeil
:END:

When running, you will sometimes come to a path that, for whatever reason, is
difficult to read. While the incline may go up, your eye and, subsequently
your mind, says it's going down. Such visual tricks are called trompe
l'oeils, literally "trick of the eye" in French.

Personally, these tricks often have the effect of letting me run harder
uphill than I otherwise would, revealing the incredible amount of mental
power that goes into distance running. If my mind does not believe I'm going
uphill, I run faster, even if I am in fact going uphill. Most people would
consider this a cool trick to get you to run faster. Unless you didn't want
to run faster.

In a race, such tricks would be welcome. I am going all-out, pushing myself
to the limit to achieve a personal record, or, in rare cases, to actually win
the race outright. But in training, such exertions are often unwelcome.
Outside of races, pushing yourself as hard as you can go is generally frowned
upon. There is no use destroying your capacity to run tomorrow with a hard
training run today. Training theory says you should lay down a base of solid,
slower running, and save faster, max-heartrate runs for the occasional
intense workout.

This, it occurs to me, is a perfect analogy for how we use our ability to
reason, and to conversely to simply react. Danny Kahneman would have called
this fast thinking and slow thinking. You would expect that in most cases,
having a "gut feeling" about something would be great. But in practice, such
impulsive decision making often gets us into trouble. Our slow thinking --
our ability to reason -- ought to be a our base, slow training thinking. This
sort of thinking prepares us for moments where we need our fast thinking, or
our reactionary thought.

This has sweeping implications for all sorts of personal interactions. I'm
quite interested in how this plays into Nate Walker's ideas of "moral
imagination" and radical empathy. You see, most of us are actually not every
good at empathyzing. Sympathy comes naturally to a great many people. We can
imagine the pain, or anger someone is feeling when we are in the presence of
it. But empathy asks us not just to feel someone's emotional state, but to
understand them.

The problem, as I see it, is that, like with running, there are trompe
l'oeils all around us. Places where we think we understand why someone is
acting the way they are.

"She's just pissed because I forgot to call last night."

"He's still frustrated because he didn't have time to get coffee this morning"

On the face of it, those very well might be true. Or they might not. When do
we know we're running hard up hill? In most places in life, this is
completely unimportant to quickly address someone's emotional state. Far more
important is to be patient, and understanding without necessarily assuming
that we /can know right now/ what's bothering someone, or why they're doing
what they're doing.

"She struggles with abandonment issues since her father left when she was 8,
and while you didn't call, what upset her most was feeling alone."

"He was up really late last night stressing about work that was supposed to
be done. Not getting cofffee made things worse, but were hardly what cause
his foul mood."

In both of these cases, there are underlying mental states. It requires
imagination and trust in our fellow humans to truly empathize in these
circumstances. While the road appeared to go down hill, and we were all into
bombing down it, the reality is that we burned ourselves out on a training
run that tricked us into going up hill. We would have been better served to
hold our judgment for a little longer, and asked more questions, and listened
more closely. Rarely do we need to exercise empathy quickly, and applying
Walker's "moral imagination" can get us a lot closer to understanding a lot
more people, and making all our lives a lot easier.

** PUBLISHED Equity :uu:christianity:
CLOSED: [2017-09-19 Fri 15:16]
:PROPERTIES:
:EXPORT_FILE_NAME: equity
:END:

The gospel of Matthew suggests that Christ's heaven is an equal opportunity
saver. That is, it is not a place where those who worked the hardest receive the
best, or those who took and never gave suffer. The parable of the vineyard
laborers more or less spells out a universal salvation message for those who
would be willing to work, not for how much they work. And, as a parable, that
means that those who come to find love and compassion late in life are no less
entitled to salvation than anyone else.

In Unitarian Universalism, this reflects very accurately what we mean in our
second principle. We affirm justice, equity and compassion in human relations.
Note, carefully, that we do not include equality in what we affirm. Equality is
a difficult concept for humans to hold in their minds, because it suggests that
everyone needs the same thing. Instead, let us focus our energy on providing
justice and equity. Because the abused child may need more love and patient
understanding than the child raised in a loving home. The diversity and color of
conditions that humans live in exclude the possibility of anything ever being
equal when it comes to love.

Instead let us strive for equity and considered justice, ensuring that needs are
being met and that we are working towards making everyone whole. Indeed,
laborers who did not have the advantage of being there at the start of the day
deserve their full payment all the same.

** PUBLISHED Imagining yourself doing :running:habits:bestself:
CLOSED: [2019-11-26 Tue 11:06]
:PROPERTIES:
:EXPORT_FILE_NAME: imagining-yourself-doing
:END:

When people say "I can't do that" most of the time, they're actually saying "I
can't see myself doing that." When I started running, a lot of people said they
didn't know how I could run so far, or that they could never do that.

When I started, I didn't imagine I'd run marathons. I just started with 1 or 2
mile runs. Those 2-mile runs were hard, and sometimes they still are.

Yet being out on the road gets you up on that hill where you have a better view of
your future self. One day I saw myself going farther, and then I went farther.

What do you see yourself doing? What steps can you take to get a better vantage
point of where you could be? Little steps is all it takes.

** PUBLISHED Distraction free :notifications:intention:
CLOSED: [2019-11-27 Wed 09:48]
:PROPERTIES:
:EXPORT_FILE_NAME: distraction-free
:END:

I try to keep notifications in my life to a bare minimum. I get tips from
friends or co-workers about making sure notifications on my phone are disabled
while I sleep. I disable them all the time. The one thing I allow are text
messages to vibrate my Garmin watch, and I'm on the fence as to whether this is
truly necessary.

There are people who's professions wont allow this. I get that. But I also know
that most people build narratives about getting a late night text about the
health of a loved one to justify always getting pinged when Facebook needs your
attention, or a new email comes in.  These are largely untrue, or at least
building a process into your life for events that may never happen.

Instead I've made distractions I encounter my own fault. I can't blame Facebook
for pinging me in the middle of focused work. I took control of what I could and
my responsibility now is to check for messages when I need to. I check slack
quite often, after each chunk of work, emails a few times a day, and social
media rarely.

Have you ever thought about the value of all the different notifications in your
life? If it not, it may be worthwile to audit all the things that vie for your
time. It is your time after all, and with ownership comes responsibility.

** PUBLISHED In Pursuit of Flow
CLOSED: [2019-12-02 Mon 14:02]
:PROPERTIES:
:EXPORT_FILE_NAME: in-pursuit-of-flow
:END:

I don't make a habit of watch the Olympics. But I remember a moment back in 2018
when I happened to turn on coverage just as they were televising a gold-winning
snowboard cross run by Red Gerard[fn:1]. He blew out all the other riders in his group
to take the gold. Silver was significantly behind him. What stood out to me
watching him ride, however, was how keyed in he was to the whole thing.

I don't know how much snowboarders are allowed to practice the cross course
before the event, but given that he was on the hill with 9 other riders who
didn't look nearly as keyed in meant there was likely more to what was going on
than simple familiarity with a series of cuts, jumps and bombs.

What Gerard was, of course, was in flow. I am not sure if you've ever
experienced flow, but beyond snowboarder cross, the state of mind is also
illustrated in Zhuang Zhou's philosophical writing from 4th century BCE China.
In his seminal work, Zhuang discusses a butcher who, having so mastered his
craft, he is not cutting into an animal, but rather his motion guides the blade
of the knife through the various cuts he needs to make to perfectly separate the
carcass.

Life, it seems to me, is the pursuit of flow. In flow, everything goes from one
to the next without deliberate thought of how to achieve a specific end. There
is no value judgment on the task achieved. Flow is not about good or bad, it is
about the accomplishment of a given task. There is different work to be done to
assess value, but once value has been assessed and it's time to work, we all
seek flow, that place where don't need to know we're our best selves, but where
we simply are our best selves and are doing what we set out to do with as little
thought as possible.

[fn:1] https://www.youtube.com/watch?v=m0nJr_cpYWU

** PUBLISHED Creation and Learning :learning:create:mindset:
CLOSED: [2019-12-18 Wed 11:00]
:PROPERTIES:
:EXPORT_FILE_NAME: creation-and-learning
:END:

I recently embarked on a plan to learn to draw. I've done this a few times, in a
few different ways. This time feels different. The lessons I've begun start with
some very basic ideas, no home run or get rich quick schemes here.  Rather, I
have a daily exercise of drawing basic shapes, holding the pencil, and just
getting experience trying to see what I want on the paper before I touch the
pencil down.

This has been a revelation to me, not least of which because I like these sorts
of small habit methods for kickstarting new skills. But the other part that has
been interesting is seeing how things change when I start creating things. I
often consider learning something new to come with consumption. I read a book,
watch a video or get instruction from someone else. In this new pattern,
learning comes from experimentation, comes from creation.

There's something to this, and I think it's related to other discussions about
closed versus open mindsets. A consumption mindset intrinsically comes from a
belief that what will help you be your best self comes from outside of you.
But experimentation and creation comes from a belief that the help you need is
already inside of you, you just need room to play with an idea.

This creation can come from writing, drawing, painting, software development,
sculpture, music composition, active conversations with others, and a myriad
other places. But the important part is that you give yourself room to
experiment with what's in your own head. So often we fall into the trap of
looking for something outside us to kick us into a new mindset, but often
nurturing the creative spirit can have a much greater effect.

One last observation, most of the disciplines I rattled off above fall into the
realm of art at some level. There's truth there too. The thing that sets us free
as humans and helps us to be our best self is often the exploration of the edges
where mundane day-to-day life interacts with what we humans call art.

Create more art. Explore your mind. Explore your world. Watch your creativity
and ability to learn blossom. Then, perhaps most importantly, spend some time
helping someone else discover the magic of creation.

** DRAFT Mindset and gratitude :gratitude:mindset:

Most of the time, when you're having a down day and someone tries to remind you
to be grateful it takes effort not to punch them in the face, or at the very
least to glare reproachfully. Which is unfortunate, because it's in those
moments that we most need the perspective that comes with gratitude.

** DRAFT Planting seeds :ideas:plant:consquences:

Warren Buffet once said, "if we can't tolerate a possible consequence, remote
though it may be, we steer clear of planting its seeds." What consequences might
he have been thinking about? Given his position as a savvy investor, it's
tempting to think he was talking about financial returns and, effectively
gambling. Stated another way, don't gamble with anything you can't afford to
lose.

But he used a planting metaphor. Last time I checked few people consider
gambling a form of seed planting. There's an inherent risk to gambling that I
don't think Buffet was after. No, I don't think that's what he had in mind.

Buffet is warning about the long-term. Seeds are inherently strategic. When you
choose to plant half an acre of corn and 400 yards of tomatoes, you're
committing that much land to those crops for the bulk of the year. In most of
North America that's a huge time and space commitment. Nothing else will be able
to grow there until the harvest comes in.

So what about Buffet's metaphor now?

** DRAFT [#B] Blog post on how to dream big and then aggressively de-scope :onec:

When you're starting a new project you should harness your enthusiasm to talk
through (or write down) all the awesome things you could do with the new feature
or tool.

Once you've laid out the big dream, you have to "de-scope" the project to break
it into pieces that can actually be completed. You could call this the MVP
process, and I suppose it is, but I've not heard it explained in quite this way
before.

*** Dream big, out loud

Start the project either with your team, or by yourself, of writing down and
turning over in your head all the awesome things you could do with this new
functionality. Map it all out, and get a good sense of how it will solve the
customer's need, whether you're a startup and have early adopters, or this is to
scratch your own itch.

Work hard to find the limits of the value of the various features. The value
proposition will be worth it's weight in gold in the next step

*** Break it down
*** Common traps

The idea here would be to avoid trying to break the big dream into resource
pieces. It's tempting to think in a sort of Kanban manner of saying, well if
backend can deliver this piece first, then frontend can come in and add
our killer UI in the next step. In order to deliver value early and often, you
have to de-scope without breaking the project into non-functional pieces, or at
least, limited-functionality pieces.

** DRAFT In Our Own Head
:PROPERTIES:
:EXPORT_FILE_NAME: in-our-own-head
:END:

Des Linden, finishing the Boston Marathon this year in a horizontal rain when it
was eight degrees above freezing was more than just finishing a race. In fact,
everyone who finished the race this year deserves major credit for pushing
themselves. And yet, Linden did it while running faster than everyone else. I
remember watching her take the lead around the 20th mile. She made her move and
the previous first place racer didn't even try to keep up. Linden appeared to
have hit a gear no one else had on that chilly, Boston morning.

Thinking about her run after the fact, I am humbled by the fact that no one
knows what stories of adversity and struggle lead people success. Occasionally
someone is famous enough to have a story told in public, but more often than
not, struggles are private, even kept to oneself. While it was possible to watch
Linden struggle with horizontal rain, who knows what physical barriers others
are pushing through every day.

** DRAFT The Dark Hypothesis :consequences:
:PROPERTIES:
:EXPORT_FILE_NAME: dark-hypothesis
:END:

The lack of other life forms in our observable universe prompts us to ask a lot
of questions. Carl Sagan was optimistic that the lack of evidence in such an
expanse was not cause for alarm that we are alone. And yet, the absence of
current life anywhere remotely close to us, despite increasing archaeological
evidence of ancient life on Mars begins to paint a picture that life does, find
a way, but may be rare, indeed.

So here's my dark hypothesis. COVID19 was inevitable. So was COVID20, 21 and all
future pandemics.

* Emacs :@emacs:
** PUBLISHED Theme overload :emacs:themes:moetheme:
CLOSED: [2023-03-22 Wed 16:13]
:PROPERTIES:
:EXPORT_FILE_NAME: theme-overload
:END:

When there's nothing left to tweak, you have to tweak your Emacs theme!

That said, when is there ever nothing to tweak? 🃏 Of course, there are days where we're not motivated to tweak anything, and those days are prime candiates for exploring the deep, deep well that is themeing your tools. I love looking at new themes, playing with them, seeing what makes them different than another one and settling down to learn a new one. But it's also one of those things than can easily cause overload.

This post was inspired by the idea of theme overload, in point of fact. The Doom Emacs project is blessed with some really high quality themes in it's theme pack and I have explored them all. Purple is a particular favorite. But I've also discovered that a lot of the time themes are designed for a particular use case. A theme that works great on a sunny day working at the kitchen table, is less helpful when hacking late night on something in a dark room.

With Emacs, there even more variables to consider because we have this wonderful opportunity to use our editor either in a full-color system window OR a shell. Such flexibility remains one of my favorite parts of editors like Emacs and Vim. But it also means that a theme that looks great in a system window might look like trash (or just be unsuable) in a terminal, or vice versa.

Enter [[https://github.com/kuanyui/moe-theme.el][the moe theme]]! Looking beautiful in a system window, the theme was designed with only 256 colors in mind, so it makes the jump beautifully to a terminal shell as well.  I know I could just switch themes, but it's one less thing to do when you fire up Emacs in a terminal, and I love that.  I highly recommend taking moe themes for a ride. I usually use the dark variant, but light is solid as well.

** PUBLISHED Reading Lists :spacemacs:tools:
CLOSED: [2018-08-20 Mon 22:06]
:PROPERTIES:
:EXPORT_FILE_NAME: reading-lists
:END:

Oh Goodreads. Your website is a cluttered mess. Your UX hasn't been improved in
years. The only value I derive from keeping my reading list on you is that my
friends can see what I'm reading. Which is a neat trick, but since I've mostly
given up on Facebook too, it not really enough to keep me.

I was an early adopter of Goodreads, but my life has taken a turn towards the
personal and the text-based. I use Emacs (via [spacemacs](spacemacs.org)) as
much as I can. Org-mode might be the single most impressive IDEA rendered into
software I've ever seen. It simply makes the things I use on a regular basis
more powerful and expressive, which is not something I can say for Word,
Twitter, or Chrome. Those are merely tools. They don't amplify my ability to
document and create.

Really the post /[Leaving
Goodreads](https://lepisma.github.io/2017/06/29/leaving-goodreads/index.html)/
is what convinced me to go, one more time, back to my reading list in org mode.
But the killer feature this time around was
[ox-hugo](https://ox-hugo.scripter.co/), which allows me to easily dump Org-mode
subtrees into a hugo-powered blog directory. A simple ~rsync~ later and I can
publish random subtrees, including book reviews!

The whole thing is so elegant, I couldn't have dreamed up the process if I had
tried. The whole thing was truly an evolution of tools, and one that was only
possible because each tool, Emacs, spacemacs, org-mode, hugo, ox-hugo, does it's
job so elegantly.

** PUBLISHED Spacemacs :spacemacs:tools:
:PROPERTIES:
:EXPORT_DATE: 2017-09-19
:EXPORT_FILE_NAME: spacemacs
:END:

Emacs is very powerful. Amazingly so. But it's so arcane, the keystrokes could
take you years to master. So what's a developer to do?

Enter spacemacs. I honestly don't know where this idea came from, and my brain
is structured in such a way that I could have ever pulled it off myself. But an
emacs configured like Vim (thank you evil mode) with discoverable keystrokes ...
I am always flabergasted.

Tonight I discovered how to open the kill ring. While it sounds aggressive, it's
really just Emacs version of a clipboard. Anything you cut or copy ends up on
the kill ring. For so long I treated it like the opaque clipboard on so many
operating systems. The last thing I cut is the only thing I have access to. And
God help me if I cut something else, because I'll lose the last thing to
oblivion.

But not anymore, baby. With an interactive kill ring (SPC-r-y for those of you
following along at home) you get a searchable compendium of everything you've
cut or copied in the current session. Absolutely brilliant.

** PUBLISHED Another Engine :hugo:tools:
CLOSED: [2018-08-18 Sat 01:01]
:PROPERTIES:
:EXPORT_FILE_NAME: another-engine
:END:

Once, I used Jekyll. Then I switched to Pelican. I'm finally here on Hugo, and
hoping that this will make it easier to keep things updated. The eternal
question when chosing a method to publish a blog is, why publish a blog. I don't
really have an answer for that yet. I wish I did. Honestly, I do. You don't have
to believe me, because I believe in myself, and if this is all one big
simulation, you don't matter anyway.

Incidentally, perhaps the best part of this transition is the
[ox-hugo](https://ox-hugo.scripter.co/) plugin, which makes writing new posts
and publishing them a dream. Now, instead of some complicated cocktail of adding
a new file with the write filename and proper metadata, I can just org-mode
capture the thing. The more I use emacs (and specifically
[spacemacs](http://spacemacs.org)), the more in love I am.

** PUBLISHED Doomed Emacs :tools:doom_emacs:
CLOSED: [2018-10-31 Wed 09:27]
:PROPERTIES:
:EXPORT_FILE_NAME: doomed-emacs
:END:

After a year or so of dedicating myself to getting Spacemacs setup just right, I
made a pretty substanial jump a few weeks ago. I'm now running [[https://github.com/hlissner/doom-emacs][doom-emacs]] which
provides fewer nice surprises (missing evil-surround shortcuts by default) than
spacemacs, but loads much ... much faster. The other day I found myself coding
while sharing my screen on Zoom and is was painfully obvious what price I was
paying for spacemacs not cleaning up after itself and generally lazy loading
things leading to less than fast context switching.

I was willing to struggle through some the slower operations for my own sake,
but getting caught with other people watching as my editor on a brand new
computer struggled to do basic things like searching for symbols in the codebase
was embarrassing.

I'm not done with Spacemacs. I still love the idea, and I also believe that half
the problem was likely the way I was using it and configuring it. But part of
the appeal of spacemacs are the defaults. And it was the defaults that was
making it hard to use it on a daily basis.

Another nice aspect of Doom Emacs is that aside from a handful of evil-mode
shortcuts, a lot of what you're encouraged to use are stock emacs keystrokes.
That means that I'm not learning some cryptic layer on org mode when I use
emacs, I using the default keystrokes that I will find in vanilla emacs. That's
very useful and will hopefully make me a more respectable member of the emacs
community, rather than a vim outcast.

** PUBLISHED Continuous tool improvement :tools:
CLOSED: [2018-08-25]
:PROPERTIES:
:EXPORT_FILE_NAME: continuous-tool-improvement
:END:

I was reviewing the feeds I subscribe to in [[https://github.com/skeeto/elfeed][elfeed]] this evening when it occurred
to me that a lot of my feeds have to do with Emacs. I will often blow through
updates on feeds, making sure to only pickup things that are truly useful. But I
discovered an amazingly high signal to noise ratio regarding tips for using
Emacs more effectively. This got me thinking about how I couldn't possible
remember all this stuff, so I tossed some of the things I was learning in my
learnings.org file to review later. At that point, it dawned on my how important
tool choice is, and how important it is to learn how to use your tools
effectively and be receptive to learning new things about them.

This could apply equally to any well made tool for any discipline (woodworking,
drawing, research), but for me that means Emacs. Not everyone is going to ever
need to touch Emacs. For me, I can't imagine not having it, and everytime I
learn something new, I get a little more effective with it.

For reference, tonight [[http://xenodium.com/#actionable-urls-in-emacs-buffers][I learned how to make all URLs, regardless of buffer,
clickable]] [[https://scripter.co/splitting-an-org-block-into-two/][I also learned how to break an org-mode block in two with a single
keystroke to insert a comment]].

** PUBLISHED Email in Emacs :tools:notmuch:email:
CLOSED: [2018-11-28 Wed 11:00]
:PROPERTIES:
:EXPORT_FILE_NAME: email-in-emacs
:END:

I really did try mu4e. Really. But the setup required a custom emacs build on
macos, and I am unfortunately constrained to Macs for work at the moment, so it
was kind of a non-starter to jump through so many hoops to get it working. And
of course, I also highly value resilience, and nothing says unresilient than not
being able to successfully build a crucial feature like mail handling into your
editor of choice.

So that occassioned a turn towards notmuch. Oh my, how delightful. At it's
simplest, notmuch is just a xapian-powered tag database for your email. Imagine
that, no crazy indexers or long-polling to check for new email. Notmuch just
tags and allows you to search your email.

Combined with isync's mbsync and msmtp, I now have a really functional /and/
resilient email seutp in Emacs. Even more delightful is looking through my tag
database and realizing that if I tag things effectively, finding all those board
agenda emails for church are just a tag search away.

Of course, such things were always available in Gmail or a mail client. But I
was always unimpressed with how slow Thunderbird or Mail.app got with lots of
messages. And Google is reading all my messages, so that sucks too.

Combine the ease of syncing and tagging messages, and the fact that they exist
in a directory on my computer, synced via Dropbox to all my other computers and
my email suddenly mine again, not living on an IMAP server that I hope doesn't
fail me.

** PUBLISHED Why Emacs? :onec:emacs:
CLOSED: [2020-01-21 Tue 11:45]
:PROPERTIES:
:EXPORT_FILE_NAME: emacs-everywhere
:END:

There's an argument to be made for ease of use in software. The epiphany with
Apple software in the early part of the 21st century was that most users had
tasks they wanted done. They did not want to use a computer to do them, per se.
But if a computer could do them, that was okay.

The problem with this perspective is that it assumes a certain amount of
laziness—or perhaps lack of discrimination‒on the part of the user. There are
some excellent times to be lazy, but choice of tools is not one of them. Ask any
accomplished carpenter if the Home Depot plane and the Lee Nielson plane is the
same tool. They are not. But let us explore this analogy a bit more. It's
actually damned appropriate.

If a computer and the software running on it are tools, then, like a carpenter,
an experienced computer user should be discriminating in their tools. This
perspective took me a long time to arrive at. I enjoy learning about my tools.
And yet, I have watched a number of highly productive software developers not
give a second thought to their tools. Perhaps it's more fair to say they do not
give a thought to how their tools work.

This lack of curiosity in the things that enable their work means they will
always suffer when their tool breaks. At some fundamental level they do not know
how they are doing what they're doing. Any furniture maker knows at a basic
level how a table planer works. Do you understand your linter works? How about
the request and response cycle in your browser? The algorithm that kicks out
the most appropriate answer on StackOverflow? I hope you've answered /yes/ to at
least one of those. But what about how a compiler works? A JIT scripting
language compiler? These are all the tools of our trade.

In the case of software there's an even worse fate. What happens when your tool
doesn't even allow you to be curious about it? Closed source software, or even
just limited access to the source means you are working with a black box. You
couldn't learn how it worked even if you wanted to. I can think of a worse fate
for someone who does something professionally.

All this is a round about way to explain why I am drawn to Emacs and tools like
it. Popular open source tools that have survived, at this point /literally/, for
generations of builders. There will always be a new and shiny thing. But I have
made an intentional effort to lean into the open source tools that have served
the curious among us for a long time now.

I encourage you to find some part of the software stack that allows you to do
work and lean into it. Learn why it exists, how it is built, the people who
built it, and maybe even how you can help build it in the future.

** PUBLISHED Email in Emacs Redux :tools:email:notmuch:
CLOSED: [2019-12-04 Wed 11:33]
:PROPERTIES:
:EXPORT_FILE_NAME: email-in-emacs-redux
:END:

I have moved to reading and responding to all my email in Emacs. I honestly
didn't think I would ever be able to make this jump because of silly things like
signatures, HTML email and my address book. But the reality of how I actually
use email on a day to day basis is a big part of why this was possible.

As it happens, most of my email work is replying to other people. As an engineer
on a product team I start very few email threads, and even fewer with people
outside the organization. Thus, the lack of the company standard HTML signature
in my outgoing emails is rarely a problem. On the once or twice a month
occurrence of needing to send an external-facing email, I can pop open Gmail in
a browser and take care of it.

But for quickly replying to folks, parsing tasks into my daypage (more on this
later) and saving content to read later, Notmuch has been a dream.

So the cat's out of the bag. As in my last post about email in Emacs, I use
Notmuch along with mbsync for getting email and msmtp to send email. I also host
my own email server on a Digital Ocean VPS running mailinabox [fn:1]. This makes
the configuration with mbsync and msmtp pretty painless.

The other important discovery I made is muchsync [fn:2]. This allows me to run
the mbsync task for looking for new email on a server in the house that's always
on. Then each other device I want to read and respond to email just runs a
`muchsync` task that hits up that server and syncs the state of the notmuch tag
database.

The result is delightful. I can clear out my inbox on one machine and find it
all cleared up on all the others. Combine that with the ability to quickly
respond to email within Emacs, copy links to specific messages and capture them
to Org Mode, and archive things I don't care about, the whole thing is really effective.

One aspect of this is that I have my email setup to default to showing the
plaintext version, with a tab-able HTML view powered by eww. This works
surprisingly well. As usual, my configuration is in my dotfiles, specifically
my `+mail.el` [fn:3] configuration in Doom Emacs.

Check it out and I hope you can get a handle on your email.

[fn:1] https://mailinabox.email
[fn:2] http://www.muchsync.org
[fn:3] https://git.unbl.ink/secstate/dotfiles/src/branch/master/emacs/.config/doom/+mail.el

** DRAFT Getting things done with Emacs :onec:emacs:
:PROPERTIES:
:EXPORT_FILE_NAME: getting-things-done-emacs
:END:

I've gone back and forth a few times with trying to use Org Mode to manage my :w

** DRAFT [#A] Blog post on leaving LSP behind in favor of eglot :onec:

Upshot here is that LSP is pretty cumbersome with different packages for
different languages and having the kitchen sink enabled by default. Eglot has a
very simple interface and is pretty easy to reason about. I value being able to
reason about things, as it's generally a good litmus test for design quailty and
also means that while I don't comprehend everything about how LSP interaction
with Emacs is implemented, I could if I wanted to.
