Funny. I didn’t realize the app crops pictures into squares. First pic I’ve posted in a while. The full pic is much more WA-like than what posted lol

Am I Wes Anderson yet?

Dang. Didn’t get my camera out fast enough. A deer just bounded by my window, not 15 feet away.

Another family poetry class assignment from last week: limericks.

Vaccines

In order to stand up and fight

For health and for truth and what’s right

I prefer a small bruise

To hours of fake news…

I’ve gotten my stick for that spike!

One of last week’s poetry class assignments was about using couplets, tercets, and quatraines. Here was my submission:

When I must learn something anew

I read about it through and through.

If I fail, I don’t ask why

Instead, again, I try, and try.

Wait… I do ask why, that I might learn

Before I take another turn

As expertise I want to earn.

Sometimes I take a little break,

To give my mind a rest.

Then finishing, if it’s not great,

I know I’ve done my best.

Did anyone here ever read a short story called The Parking Tower as a kid? It’s told from the perspective of someone caught in a line of cars going up and up and up a parking structure and ending up on a freeway at the top, where he narrowly avoids a deadly crash…

The funny thing is that Elon Musk actually just paid $46B for a screen shot of twitter.

On Poetry

My kid is taking an on-line poetry course, and this particular program encourages parents to participate. The first assignment is due on Friday, and the assignment was simply, “Write a free-verse poem.”

However, I was not satisfied with the somewhat glib answer I’d given in the pre-course questionnaire, which had asked, “What do you feel about poetry?”

So I figured I’d give it another round within the assignment.

“On Poetry”

There are occasions when Words fly from my lips Or flow from my fingers Effortlessly Effervescently floating in the light Focusing and flaring Refracting ephemera into effect and affect and…

And sometimes not

There are times when my thoughts are fleeting Like footsteps echoing down the empty Stench filled ole factories I have to dig deep In the dirt, in the chert, till it…

And then I stop

Because the act of creation can’t be An act of destruction if it means I’m deconstructing me At the expense of we And maybe, just maybe

I have to let it go

But I know that If I eat And If I sleep And If I’m kind To you and them and he and she And me

Yes, me

The words will once again Fly from my lips And flow from my fingers Effortlessly

Now that season one is over, I’ve got to say that I really recommend Severance. The pacing, the sense of isolation. It really feels like it’s of a time. Binge now, thank me later.

I'm back?

Well, looky here. I’ve re-upped my subscription to micro.blog and I think I’m going to start posting here again in the not-too-distant future.

Social Network Accountability Metrics

So here’s the problem with misinformation on social networks, especially the big ones: the downside to getting caught creating misinformation is small, and the downside to spreading it is even smaller.

Basically, in the name of low friction engagement, it’s incredibly easy to join in with the promotion of untrue, abusive, and dangerous content.

Even people with the best of intentions have retweeted or liked posts which in some way confirm a narrative that they’re interested in, even if it turns out that the content was fake, threatening, or something else insidious, like a racist dogwhistle.

In the best cases, the person who did the retweeting apologizes; in the worst cases, they take the first-amendment- or I-didn’t-know-defense and make a big stink about snowflakes or some such.

In the latter case, regardless of the original message, discord has been sown. But even in the better case, the damage has been done. The false/hateful message has been spread, and even endorsed, and the retraction story is lost in the public consciousness.

What if there were some sort of chain of responsibility? What if something that, as a first-strike, would cause the originator to lose their access for a week would cause retweeters to lose their audiences for three days, and people who endorse with a “like” to lose their audience for a day?

What if companies like FB and Twitter were required to fact-check content that received enough endorsement, and people who regularly posted clean content got significantly more endorsement clout, and people who regularly retweeted or liked clean stuff got relatively less endorsement clout?

And if, in addition to the potential of a time-out, one of your posts or endorsements turned out to be false or hateful, you were likely to lose some or all of that endorsement clout?

Of course, any system of rules can be gamed, but if we don’t at least try, then big social networks are just going to continue to be virtual dumpster fires.

I think this is possible. Who’s with me?

I finally deleted my Facebook account. There are things I’m going to miss, but really, all that comes down to being able to go wide instead of deep with my social connections. It’s been really great for the past 12 years or so, being able to passively hear about what my cohort are up to. It’s nice to know when someone’s doing well, or have the option to provide some level of moral support when it looks like they’re not. And it’s been great to reconnect with so many people whom I otherwise wouldn’t be hearing much about.

But I’m not going to miss the privacy violations, the cynical abuse of data, the better-to-ask-forgiveness-than-permission business plan, the facile manner in which misinformation is promoted, and the culture of smacking down people who call out misinformation.

I’d already decided to back out of that system with Zucc’s policy announcement regarding fact checking political ads. My decision was reinforced by his absolute disregard for providing authentic, reasonable answers at the congressional hearing. But in the intervening days, while I was steeling myself to hit that button, things continued to happen to continue to strengthen my resolve.

One example is the attempted take-down of Greta Thunberg. Over five days, I saw five meme posts decrying her movement for varying reasons, none of which have much at all to do with the substance of her message, and all of which imply that the only way to pursue a movement is to sit quietly and do nothing, especially if you’re a girl.

I decided to start calling out the idiocy of blindly reposting these memes, and the pushback I got was significant. Because these interactions were with friends, I was able to navigate it all and the outcome was basically that all the folks who posted the memes admitted that the memes weren’t helpful and that they didn’t agree with the content, but that their intent in re-posting was to voice some level of frustration with the whole conversation.

But even those discussions led to scattershot from friends of the people who posted the memes. One guy in one of the threads told me, “Chill out, Ben. What, is Greta your daughter?” I wanted to point out that he’d just proven my point about these memes, but since I had no real relationship with him, I just chose to block him.

But there are real challenges with maintaining a culture of honesty–and just as importantly, intellectual honesty and thus trust–in a low-friction social network. I know that part of the reason that Facebook hasn’t solved those problems is that they are hard. But I’m pretty sure that the main reason is that there’s no way to solve them without slowing down the money-printing press that is their business.

So, as of today, I am not actively contributing to Facebook’s bottom line. If at all possible, hope to find ways to block any trackers or ad data that they place on any site I visit as well. We’ll see how that goes.

And last, but not least, I have thoughts on how to solve the truth/trust problem Maybe I’ll start posting them here.

Gently Aged News update.

I’m definitley starting to get the hang of SwiftUI at least a little bit. I’m a little more comfortable now with what should remain within the bounds of the declarative framework, and what needs to be abstracted out to functions, for example. The sample code projects initially left me feeling (apparently wrongly) like I could just stay 100% in that framework and just build all sorts of clever in-line logic, but once it gets to a certain point of complexity, you have to bounce from SwiftUI to Swift, if that makes sense, to provide the appropriate inputs so that the framework can just focus on rendering.

In my project, the idea is that I’ve got a JSON structure of related articles which can be sorted in different ways and then displayed by the SwiftUI framework. SwiftUI has a really nice ForEach wrapper that you can use to build navigation lists, and conditionally display different elements in the list item views: in my case, I’m basically giving a headline and a date, and then color-coding the items based on whether they’re standalone articles (no ancesters nor descendants–yet), or if they’re in a family, whether they’re the newest,, oldest, or somewhere in between. I’m also providing an option to allow people to switch between stand-alones and the full list, and there’ll be more navigation options later.

So at first I set up that nice ForEach structure and tried to do all sorts of logic to determine the relationships and manage the display at the same time, and SwiftUI was basically screaming at me, “NO! I JUST WANT THE DATA, ALL PREPROCESSED, AND I’LL HANDLE IT IN A CONCISE WAY!!” Once I finally listened to what it was telling me, I changed the ForEach data source from being a super-complex closure to a call to a function that combed the data and returned an array that could be easily rendered in a number of ways.

Add a state variable to control whether the view being requested is to show all content or just the standalones, a little logic in the array parsing function, and with just two lines of change (adding the state and the toggle button) in the UI code itself, I’ve got a beautifully animated transition between the filtered and unfiltered view.

Also, I did all my initial work with the system rendering in an iPhone XR view. I worried I’d need to do something special to get the split navigation view working on an iPad, but adding that test in, Just Works®. In landscape and portrait modes. No brainer, totally awesome.

This week, I’m going to start working on a system for adding new (standalone and child) articles. Next week I’m on vacation from my day job, so I’m hoping that I can start some serious work on the back end. I’d built something for the web version that I kind of liked in Node, but I’m thinking seriously about ditching the server and going to CloudKit. We’ll see.

And finally, I’m thinking about alternate names for the app. “Cool Takes” would position it in contrast to the “hot takes” that pundits make on all sorts of topics which are important now, but those are rarely revisited. “Refried” crossed my mind as a reference to the folks over at Mueller, She Wrote, who are constantly “putting beans” on topics that need to be revisited, and have occasionally called those revisits “refried beans”. I’m also a longtime reader of Daring Fireball, and I like his use of the term “Claim Chowder”, so it crossed my mind to use the name “Chowder” as well. That said, for the moment, it’s still GAN, or Gently Aged News. Suggestions welcome.

FUN with SwiftUI

I’m definitely having some fun with SwiftUI, although “fun” is sometimes short for FrUstratioN. I know, I know, it’s beta, people, and I should be willing to deal with that, but it’s so exciting to have a whole new technology that I want to explore, have not so much time in the week to do it, and to have it shifting–sometimes fairly significantly–every couple of weeks.

Concepts that were just introduced a couple of months ago are being deprecated. And code that worked last week doesn’t work today. And working through Apple’s own tutorials doesn’t work without combing throught he change logs to see what adjustments need to be made.

But I’ve got a bee in my bonnet, so I plod on, trying to build something as the sands shift around. What I’m starting to realize, though, is that there’s a non-zero chance–even a large chance–that even after it goes live and to production, it’ll still be shifting. OH NOES! But I guess we dealt with that with the underlying language, Swift 5 is pretty different from Swift 0, so, well, so be it.

The bee in my bonnet is a project that I want to bring to iOS that I started to build on the web, but as I was building it out on the web, I realized it would be a lot more compelling to me if it were always in my pocket.

The idea is a curated news service called Gently Aged News (gentlyaged.news) which will allow me to highlight one new topic a day, then follow up on it a week later, a month later, six months later, and a year later. There are dozens of times a day when I wish I could easily update the site while on my phone, but it almost never occurs to me when I’m in front of my computer.

Since it’s really just a passion project, I’m pretty sure that I’m going to leave the web site as a second class citizen. It’ll be able to take advantage of the data compiled through the app, but it won’t be the primary source of truth.

My plan is to start it out with just one curator–me!–building out content on whatever topics happen to catch my interest that day. Politics today, Apple rumors tomorrow, celebrity sightings the next. But each day, users will be able to see today’s article, an update from topics first covered the same day last week, 30 days ago, 180 days ago, and 360…

Eventually, if I actually get a user base, I’ll probably open it up to other curators, especially if folks want to specialize on topics that I don’t follow closely enough. Someone want to start a channel on the Latvian punk rock scene? That’d be awesome! Someone interested in South Asian politics? YAY! Do we have an expert on the economics of developing countries? OMG, I’d love to have you contributing.

That said, I’m starting small. Updates soon. Maybe in a week, a month, six months, and a year.

Testing, 1, 2 3.

Got a promotion at work, had some personal challenges, took some vacation, did some work traveling, and I realize I haven’t checked out m.b in forever. How’s my favorite alternative microblogging network doing?

Impact

I don’t usually write about my work, mostly because I don’t want anyone to think that I think I speak on behalf of my employer when I’m blogging. I don’t; let me put this clearly: all opinions, past and present, are my own, and not the position of my employer or any former or future employer, except by sheer coincidence.

But here’s the thing: I want to write more, and 90% of the things I want to write are either about family stuff–which, by the time I’m about to hit the “Post” button, I realize it might be too personal to pass consent muster with my better half or my kid–or work stuff, because that’s where I spend the great majority of my cycles that aren’t about sleeping or being angry about the current presidential administration.

So to heck with it, I’m going to talk about my work, because it’s exciting.

The company I work for is called Coveo, and we build a suite of relevance tools. The foundation of it is an outstanding index with best-in-class connectors so that you can index pretty much any type of content in pretty much any type of document repository. Native support for permissions, great analytics, optimization tools, deep integration with other platforms like Sitecore, Salesforce, and ServiceNow. And amazing ML tools to do intelligent results boosting, query suggestions, and document suggestions. Want to do something similar to Amazon’s “customers who looked at this were also interested in…” feature without writing a line of code? We can do that for you.

I used to be a solution specialist, helping build and iterate on implementations for clients. I did it for two years, and had enough projects under my belt that I’d be willing to guess that if you’ve spent much time on the web, there’s a reasonable chance you’ve come across one of my projects. Since I don’t know off the top of my head which customers I’m allowed to name, I’ll leave it at that.

But a couple of years ago, I moved from implementations to training, and it’s been a blast. I’ve always enjoyed living on that tangent point between people and technology, and as much as it was great doing the fishing, as it were, it’s been even more rewarding teaching our customers and SI partners how to fish. Great people, doing great things.

And in a few weeks, for the third year in a row, I’ll be flying down to SF for our annual customer+partner conference, Coveo Impact, and I’ll be leading 9 hours of interactive workshops which take the content that we’ve already published in our LMS to the next level.

I was inspired to write this because there was something I wanted to demo, and it was just a bit custom, so I knew I’d need to build on our Javascript Search UI framework (JSUI). This feature I wanted to build was an extension to our standard analytics which is built into the JSUI, so I built a new scaffold with yo coveo (the NPM package to do this with Yeoman is generator-coveo), poked around at our documentation on GitHub, and using the “Hello World” template component that comes with the scaffold, I had my new feature written in something like 30 minutes.

Now I can talk about this custom possibility at my workshop, and when I’ve gotten the crowd all excited, I can take the cake out of the oven fully baked, and show off how simply some very interesting changes can be made.

So if you are (or your employer is) a Coveo customer and you’ve been thinking about coming to Impact at the end of May, please do, and sign up for the workshops. I’d love to see you there!

And if you’re not a customer, but this is intriguing to you, let me know. We’re a growing company, and while most of our technical hiring is happening in Quebec, there are a lot of opportunities in other areas such as Customer Success and my team, Education Services. And of course, if this sounds like something you might want to use in your environment or integrate into your applications, let me know that as well. I’d be happy to talk you through what we can do.

Not a huge sports fan, but I’m pretty happy that every time I happen into a sports bar at the end of a Blazers nail-biter, they pull out the W.

If you’re going to make a joke, get the punch line right.

And of course, “HarmToOngoingMatter.com” is already registered.

OK, time to place your bets. $AAPL is announcing earnings at the end of the month, and historically they’ve raised their dividend this quarter each year. The last few increases were, $0.05, $0.07, and $0.10.

I say this year’s will be $0.12, taking them to $0.85 per share. WDYT?

Got my first entry in the urban dictionary.

www.urbandictionary.com/define.ph…

It's almost Mueller Time.

I hope that the version of the Mueller Report that is to be released tomorrow to Congress will also be released to the public in short order.

I also hope that it is not so terribly redacted that 45 can claim whatever he wants about its contents.

That having been said, considering recent history, and considering that I don’t even know what’s in the unredacted version of the report, I’m prepared to be disappointed.

Apple could totally make their video streaming service popular, even as a paid service, if they included a few rentals from their iTunes library each month.

I don't even play an astrophysicist on TV, but...

What strikes me most about the black hole photo is that the surrounding gasses are a ring rather than a sphere. Before the picture came out, I imagined that the view might not be a dark spot after all, but rather a sperical formation based on the cosmic matter surrounding the black hole on all sides.

The fact that it shows up as a ring suggests that the same sort of normalization of paths which give star systems (like our solar system) and galaxies (like our own milky way) their characteristic flat-ish shapes apply even at the scale and proximity of gasses near the event horizon of a black hole.

Or maybe not. This is all based on a viewing of an image. It could be that the ring appears to be a sphere because of other factors, e.g. radiation passing through the gas cloud tangentially to the black hole from our perspective, where the same radiation coming from the other side wouldn’t make it through. Considering the nice ring view we have would imply that we just happen to be studying the thing from a perfect wheel-axle angle, I’m going to guess that it’s a more complex phenomenon than my gut reaction suggests.

Friend started a thread about GoT. Couldn’t resist trolling a little.