I blog about faith in life and whatever else is currently making demands on my attention.
Don't wanna be here? Send us removal request.
Text
Using `mkvtoolnix` and `GNU Parallel` to Whip Some .ASS
I recently needed to work some mkvmerge=/=mkvpropedit magic for some anime. It's been a long time since the days when I started watching Bleach with my friends by sshing to one laptop from another and using mplayer in a terminal to play the show and the state of mkv support has come a very long way since then.
These days I prefer playing all my media through Plex which is just hard to describe in all its towering greatness. The show that I wanted to watch though had its ASS subtitles and accompanying fonts broken out from it's MKV files for reasons unknown to me. Because of this and the amazing malleability of MKV I decided to roll up my sleeves and fix the problem myself.
shopt -s extglob parallel -q --tagstring {/.} --line-buffer mkvmerge \ -o {.}_merged.mkv {} --language 0:eng {.}.en.ass \ --attachment-description '' \ --attachment-mime-type application/x-truetype-font \ --attach-file {//}/'fonts/A-OTF-FutoMinA101Pro-Bold.otf' \ … 147 similar lines … ::: Season*/!(*_merged).mkv
The main reasons I'm writing this up at all are several fold:
Often times what I'm doing with GNU Parallel is complex enough that it warrants an actual shell function or script or it's so simple that it more or less amounts to slapping one of the arguments onto the end. Because of this I've rarely explored parallel's native expansion support which this task gave me an opportunity to do.
The task was complex enough also that I learned about parallel's double expansion which I'm sure has been the source of many frustrating missteps in the past now that I know it's there. Essentially bash will process the arguments to parallel first obeying all the normal rules and then pass them to the exec of parallel, then parallel will pass them again to a subshell which will parse them again through all the normal rules. Keeping this all straight in your head is not easy but I think the essential rule is probably something like "If you actually notice the double expansion you should write a function/script for the behavior and otherwise you should probably be running with -q" or something similar but better worded than that.
It's fun to mess with mkv files. ¯\_(ツ)_/¯
To review the script:
We're setting extglob because we want to be able to process only mkv files that haven't been _merged yet.
We're invoking parallel with -q because we don't want the subshell to word split our carefully constructed arguments again.
We're using --tagstring {/.} --line-buffer because we want to see our job output live so we know it's working (it takes a bit to make these changes to the matroska files). It's not directly documented AFAICT that --tagstring supports GNU Parallel expansion but I took a chance on it and was pleasantly surprised. This particular expansion is the basename-sans-extension version which seemed like a sensical tag for the logged lines.
This feature alone is worth using parallel for when you're really doing complex parallel work. It's a really efficient way to provide active log lines that are still comprehensible later on. --line-buffer just makes sure that you always get a full line from a job rather than the lines from the various jobs mixing mid-line.
-o {.}_merged.mkv is a nice way to express the bash-ism of ${x%.*}_merged.mkv.
--language 0:eng {.}.en.ass is a bit speculative as it's what I think I should have run but I didn't initially since I was working off an example that didn't include it. Nevertheless I think I'm interpreting the docs correctly. Originally I just didn't include the --language 0:eng bit so the subtitles were attached as an unknown language and I had to then go back through and correct that with an mkvpropedit run.
Then I used a bit of Emacs Keyboard Macro magic to transform the Dired fonts buffer into a series of attachment arguments so that the ASS subtitle track could be properly rendered. The parallel expansion there of {//} was also something I hadn't seen before and is how I managed to get away with this from the root of the seasons directory rather than needing to process the seasons one at a time. That one specifically expands to the dirname of the input line or as a bash-ism ${d%/*}.
Finally we're taking arguments from the extglob that matches all the Seasons mkv files excluding the _merged files which you can see are what the parallel tasks are actually producing.
With all this I was able to completely saturate my wired connection to my Synology and efficiently process the entire show. I love the smell of burning silicon in the morning.
I hope this little foray into parallel/mkvtoolnix land teaches you something like it taught me.
Happy scripting!
0 notes
Text
`org-todo-current-tab` Has Learned Direct Support for Reader View
I've come to really enjoy using Reader View. It's filled that Arc90 Readability shaped hole in my heart.
In fact, my only problem with Reader View is that it broke my org-todo-current-tab Applescript which I use to extract todo items from Chrome.
No more!
tell application "Finder" to set current_tab_handlers to (load script file "current_tab_handlers.scpt" of folder "Dropbox" of home as alias) tell application "Google Chrome" set theTab to active tab of front window if theTab's URL contains "chrome-extension://" then set readerHref to execute theTab javascript "document.querySelector('iframe').contentDocument.getElementById('reader-domain').href" set theUrl to readerHref set theTitle to execute theTab javascript "document.querySelector('iframe').contentDocument.getElementById('reader-title').innerText.replaceAll(/[[\\]]/g, ' ')" set theAuthor to execute theTab javascript "document.querySelector('iframe').contentDocument.getElementById('reader-credits').innerText" set theEstimatedTime to execute theTab javascript "document.querySelector('iframe').contentDocument.getElementById('reader-estimated-time').innerText" set theContent to execute theTab javascript " document.querySelector('iframe').contentDocument.getElementById('readability-page-1').innerText.split('\\n').map( x => x.replace(/(.{70,}?)\\s/g, '$1\\n').split('\\n').map( y => ' ' + y ).join('\\n') ).join('\\n') " set the clipboard to "** TODO " & ¬ "[[" & theUrl & "][" & theTitle & " by " & theAuthor & "]] " & theEstimatedTime & " " & ¬ (do shell script "date '+[%F %a %H:%M]'") & " #+begin_quote " & ¬ theContent & ¬ " #+end_quote " else tell current_tab_handlers to set theLink to org_current_tab() set the clipboard to "** TODO " & ¬ theLink & " " & ¬ (do shell script "date '+[%F %a %H:%M]'") & " " end if end tell
The best part about this is because Reader View is taking care of extracting the article for me it makes it dead simple to exract the actual text of the article and put it right in the todo. I don't generally then read the article that way but at least I have the actual text stored for later if I want to search for it.
This script makes heavy use of Applescript's ability to run javascript in the tab. In fact it's arguable that the whole script should just move directly into there since that's a more capable programming environment.
0 notes
Text
How to Check for an Entry in the `known_hosts` File
As part of my work I write provisioning scripts for ephemeral computing environments (you don't develop anything directly on your laptop, do you!?). While I was a happy Chef user for years the unfortunate rise of Dockerfiles and the extreme and inexplicable aversion of your average developer to Chef has lead me more and more down the path of coding things in bash.
The hardest thing about a provisioning script, of course, is writing idempotent behavior. If you're not truly in container territory it yields faster iteration time to make each step cheap in the face of having already been done.
I recently wanted to do just that for adding github.com to my ~/.ssh/known_hosts file. Initially I reached for grep only to remember two things:
~/.ssh/known_hosts doesn't necessarily list the host in plaintext so grepping is strictly a non-starter
openssh is one of the most featureful CLI projects around
It was this second realization that sent me off to the man page to discover the -F option. Specifically, if you want to know whether a known_hosts entry exists for a host, you run ssh-keygen -F <host>[:port] which exits with the expected exit statuses.
So in the end I threw together this little snippet:
if ! ssh-keygen -F github.com then ssh-keyscan github.com | tee -a ~/.ssh/known_hosts && ssh-keygen -F github.com || { echo 'Failed to add github.com to known_hosts' >&2 exit 1 } fi
Cheers!
0 notes
Text
`org-todo-current-git-branch` Makes an Org todo Heading Out of the Current Git Branch
I manage all my todos through org-mode. It's fantastic. I find myself wanting to capture todo items quickly from various contexts using specialized logic for each one. I maintain some of these as applescripts so that I can run them outside of the context of emacs and then paste them in but sometimes the context is in fact emacs itself.
That's the case for capturing the current git branch as an org todo.
(defun timvisher-org-todo-current-git-branch () (interactive) (let ((todo-item (format "** TODO =%s%s= %s " (file-relative-name (magit-toplevel) "~") (magit-get-current-branch) (format-time-string "[%F %a %H:%M]")))) (kill-new todo-item) (message "Saved ‘%s’ to the kill ring" todo-item)))
The primary things this is getting me are:
A nested ** TODO … entry. All my todos start out under a top-level * Inbox heading. That's actually one of the reasons I wanted this function at all. Despite how great whacking C-u C-c C-x M is it keeps the contextual heading level which meant that I had to then whack M-→ to get it properly indented. With this it starts that way.
It wouldn't be hard to actually link to the branch but since I do all of my work in dedicated tmux sessions this doesn't really make sense. Oooo now that I think about it wouldn't it be nice to have support for linking to a tmux session…
/me makes a note.
I capture the time that the todo was created accurately.
Cheers!
0 notes
Text
Emacs Lisp: A Small Wrapper for Gruber's `titlecase`
I write pretty much everything I write that's more than 280 characters in Emacs. A lot of that has a title associated with it and ever since discovering it my preferred way to title case text is to run it through Gruber's titlecase script.
Emacs already has fantastic facilities for running shell commands, one of which is C-u M-| … which will run a command on the region (apparently even if it's non-contiguous) and replace it with the output. This is how I've been doing it for years but there's just one problem: titlecase adds a trailing newline to the text which I then need to clean up.
I ran across titlecase.el around the same time I found titlecase itself but for whatever reason I decided it wasn't worth my time to install. I finally pilfered the parts of it I wanted recently and it's been the dream I always though it would be.
(defun timvisher-titlecase (begin end) (interactive "*r") (unless (region-active-p) (error "Must be called with an active region")) (let* ((pt (point)) (source-text (delete-and-extract-region begin end)) (titlecased-text (with-temp-buffer (insert source-text) (call-process-region (point-min) (point-max) "titlecase" t t nil) ;; skip trailing newline (buffer-substring-no-properties (point-min) (1- (point-max)))))) (insert titlecased-text) (goto-char pt)))
0 notes
Text
Applescripts for Creating and Closing Zoom Meetings
I think it's widely understood that we're all using Zoom a lot more since March of 2020. I was inspired by something I didn't write down to write up an Applescript for creating a New Zoom Meeting so I can get more 'Fastest Gun' awards from my co-workers. While I was at it I also wrote a Close Zoom Meeting script that automates getting me back to blissful private office work mode.
Here they are:
New Zoom Meeting.applescript:
tell application "zoom.us" to activate tell application "System Events" tell process "zoom.us" repeat until window "Zoom Meeting" exists keystroke "v" using {command down, control down} delay 1 end repeat end tell if (name of application processes whose background only is false) contains "VLC" then tell application "VLC" set audio volume to 64 end tell end if end tell
Close Zoom Meeting.applescript
-- Set my media player and system volumes back to my typical listening level set volume output volume 69 tell application "System Events" if (name of application processes whose background only is false) contains "VLC" then tell application "VLC" set audio volume to 160 end tell end if end tell -- Tell zoom to quit but this will likely fail because there's an active meeting and it will dialog with me about whether to really leave the meeting. try tell application "zoom.us" to quit end try -- So long as zoom.us is still active just whack enter until it goes away. tell application "System Events" repeat while name of processes contains "zoom.us" -- The double check here is necessary because otherwise you occasionally send an enter to the next active application if name of processes contains "zoom.us" then tell process "zoom.us" key code 36 end tell end if delay 1 end repeat end tell -- Close all the zoom.us tabs in my browser tell application "Google Chrome" repeat with tabList in (tabs of windows whose URL contains "zoom.us") close tabList end repeat end tell
Obviously you may not use VLC or Chrome but these script should be pretty easy to adapt to whatever you're workflow actually is.
Isn't Applescript fun?
1 note
·
View note
Text
Effective Applescript: Opening a Google Chrome Bookmark Folder
I've been attempting to live my life 30 minutes at a time recently and part of that is ensuring that I'm not constantly distracted by my inbox. Unfettered access to attention is the devil's own work and as little as possible should be allowed.
As such I've been trying to make it a practice recently of shutting down every app and site that acts as an inbox for me unless I'm actively engaged with it. My practice then is to essentially check my inbox every 30 minutes or so in case something truly urgent has come in and practice Inbox Zero each time, moving anything that takes more than 2 minutes but is not truly urgent into my todo list.
Doing this every 30 minutes was starting to become annoying despite how effortless it is to open apps and sites using Quicksilver so I decide to take it a step further and automate it with Applescript so I can simply whack ⌘-space inbox RET and get to down to business.
tell application "Google Chrome" repeat with b in (get URL of bookmark items of bookmark folder "Inbox" of bookmark folder "Bookmarks Bar") open location b end repeat end tell tell application "Mail" to activate tell application "Slack" to activate
The primary reason I'm posting about this generally uninteresting script is because at first I actually had all the bookmarks in my "Inbox" folder explicitly listed out in separate open location … statements. This was obviously less than ideal because I decided to add Twitter to my Inbox and would've then had to go and add it to the script by hand.
I did a little bit of digging and found out that the Chrome dictionary does, in fact, support accessing bookmarks by folder. Then a quick trip to Stack Overflow got me over the hump.
As an aside I originally had the statement repeat with b in (URL of bookmark items… rather than repeat with b in (get URL of bookmark items… but was erroring out with an error code that didn't yield anything obvious (but what Applescript error codes ever do?). It's unclear to me why the get is necessary here. get is one of those things that I still sometimes just start sprinkling over my Applescripts until they seem to work which is never a good place to be.
Happy scripting!
0 notes
Text
Applescript to Jiggle a Window
I have this ridiculous problem (because I am a developer in the year of our Lord 2021) where occasionally as I disconnect and reconnect my monitors on my laptop, iTerm windows will be resized by the window manager but the $COLUMNS and $LINES variables won't get updated. I have no idea what actually causes this but it really plays havoc with my prompts/emacs/tmux setup.
After some experimentation I realized that I could force them to be updated by jiggling the size of the window just a small amount manually. But, as I said, I am a developer in the year of our Lord 2021; reaching for the mouse and aiming at the edge of the window was just too hard.
Enter my beloved Applescript:
tell application "iTerm" set currentBounds to bounds of front window set width to item 3 of currentBounds copy currentBounds to tempBounds set item 3 of tempBounds to (width - (width * 0.1)) set bounds of front window to tempBounds delay 0.25 set bounds of front window to currentBounds end tell
Now instead of reaching for my mouse I can whack ⌘-space jiggle window RET and we're back in business.
Now this is productivity!
/ht alvinalexander.com and techbarrack.com
0 notes
Text
Eternal Terminal Is an Alternative to Mosh With Support for Tmux -CC and Native Scrolling Over TCP
Eternal Terminal just rolled through my Inbox. While it doesn't sound like it has anything that I'm particularly interested in over mosh a couple things caught my eye:
It uses TCP rather than UDP which could be attractive for some firewall scenarios. Specifically it almost seems like a proof of concept for the underlying 'resumable TCP' implementation that apparently any application can use.
It supports tmux -CC. For people who make heavy use of tmux features that want a 'native' experience in iTerm2 this sounds pretty great.
It doesn't have scrolling problems like mosh does since, IIUC, it actually does attach your terminal directly to the remote session. You get native scroll bars, native search, etc. because of that.
Maybe this'll scratch an itch for you that I don't have?
0 notes
Text
Bite Size Bash by b0rk is awesome!
@b0rk is at it again with another fanastic zine. This one's about a topic that's unusually near and dear to me so I absolutely couldn't resist snapping it up.
Bite Size Bash is everything you should expect from a Julia Evans zine: comprehensive, insightful, and fun. While I have a few quibbles with the content (I'm sorry but set -e is the devil's own work, and please don't read a file or anything else line by line with a for loop) but these little quibbles are far outweighed by the mountain of other good and cogent content in the zine.
I especially love her descriptions of what bash is particularly good at: Gluing processes together, concurrency management, and execution tracing, for a small sample.
If you've been ignoring my advice about diving into Greg's Bash Guide (or even if you haven't been) I would whole-heartedly recommend grabbing yourself a copy of Bite Size Bash and getting familiar with one of the most pragmatic tools available to anyone developing software (or operating in any other way) a *nix system.
0 notes
Text
Friday-ish links
What does a herpetologist do with a lizard once she's caught it? | The Kid Should See This
So cool!
Herpetologist Earyn McGee is a graduate student studying natural resources with an emphasis on wildlife conservation and management. She also leads a popular #FindThatLizard photo activity on Twitter and Instagram. In the video above, she answers the question, “What does a herpetologist do with a lizard once she’s caught it?”
What's the Loudest Possible Sound? | The Kid Should See This
“What is the loudest possible sound? What about the quietest thing we can hear? And what do decibels measure, anyway?” This video from Joe Hanson and It’s Okay to Be Smart dives into the wide ranging and incredibly sensitive world of sound waves.
Lin-Manuel Miranda gives Kingkiller Chronicle update: His Dark Materials gave new perspective | EW.com
If Miranda is learning how to make a series out of a trilogy from His Dark Materials then color me excited for whatever he ends up doing with Kingkiller.
"I've gained new perspective on it, having been able to be a part of this other fantasy franchise and seeing how, 'Oh man, we did eight hours of story and we still didn't get all of the first book in there. What hope does a movie have?!' The answer is none," Miranda explains in an interview ahead of the U.S. premiere of His Dark Materials season 2 on HBO and HBO Max. "The real answer is a director and a script with a vision, that is a different thing [than the book] because you can't get all of Pat's incredible book into one movie, and I don't know if you can get it into one series. But it is an incredible world worth exploring, but it hasn't been cracked yet."
Was Trump ever as unpopular as we thought?
Chief among them is this: Was Trump more popular than public opinion polling suggested throughout his presidency? Is there in fact a reservoir of Americans that pollsters just can't reach who supported Trump the whole time, mostly sat out the 2018 midterm elections (when polls were more accurate than in 2016 or 2020), and then turned out in droves for him in 2020? And if so, what does it mean?
…
This isn't random chance. The voters who unexpectedly turned out for President Trump on election day existed for the entirety of his term, even if survey researchers never got ahold of them. One explanation that analysts are converging on is the idea that, as Sean Trende argues, what links these voters together is “low social trust” and that this variable can divide otherwise demographically similar groups like non-college educated whites. This kind of voter isn't lying to pollsters as much as they are hanging up on them. And because those voters are already extremely difficult to find and talk to, when pollsters weight their samples based on the ones they do reach, they will still be wrong.
There is almost no other credible explanation for what happened here, because it seems extraordinarily unlikely that these voters disapproved of the president all along, told pollsters as much, but then at the very last moment changed their minds in a way that no reputable organization could pick up. They were there all along, and their absence from public opinion research – not just Trump's approval but every issue survey researchers have been asking about over the past four years (or possibly longer!) – probably skewed our overall understanding of the politics of this era.
…
To be clear: less unpopular than we thought does not mean ‘popular.' A president overseeing a booming peacetime economy should not have struggled to break the surface of 50 percent approval throughout his presidency. And President Trump did, after all, lose the election about as decisively as anyone has in the post-Reagan era of partisan polarization. The fact that more people might have lapped up his divisive rhetoric than we thought does not excuse it, nor should it invite Democratic leaders to behave similarly. It doesn't mean the progressive agenda — many parts of which have high levels of public support even if you shave off a few points here and there — should be treated like a syringe full of coronavirus by national Democrats.
The results do, however, call for reassessment. Democrats have a real advantage here because of what the GOP is doing. Rather than processing their loss and trying to figure out how they can better appeal to Americans who just rejected them for the 7th time in the last 8 presidential elections, Republicans are disappearing down a dark rabbit hole of conspiracies and denial. If Democrats can figure out how to reverse their losses with the voters who evaded pollsters without abandoning their core principles, they might be able to finally overcome the systematic obstacles our antiquated electoral system puts in their way and score decisive congressional majorities for the first time in a decade.
Google Photos is ending free unlimited storage in 2021 — so what are your options?
Google did it again. It is shutting down one of the most popular features across its product universe: Google Photo’s free unlimited storage. The company said that it’s ending this service from June 1, 2021.
After that date, all photos uploaded will count against your free data limit of 15GB. However, all photos uploaded before June 1 next year will still be available under the free unlimited storage option.
Why I Still Use Vim • Buttondown
There's no place for holy wars betwen Vim/Emacs/IDEs. There's really good reasons for using all 3. But the quintisential reason for Emacs and Vim are their maleability. If you want to truly understand why they've hung on for so long that's you don't have to go much further than that.
Posts about Vim vs Emacs vs IDEs are always awkward, usually condescending, more interested in picking a side than understanding being unbiased. Comparing communities is always a tricky thing. You have to be careful to represent their ideas in a deep and respectful way and not let your biases shine through.
…
I could tell you all of the reasons I prefer Vim, and such observations are eye-rollingly trite. Modal editing! Composibility! Keyboard macros! But you can emulate those in other environments. That’s why Vim extensions are so popular!
What you can’t emulate is the flexibility. The power to choose where you are in the design space, not through settings or extensions, but through direct end-user scripting.
Next up: Emacs Rocks! Live at WebRebels - YouTube
Opinion | The Dying Art of Disagreement - The New York Times
This article hits so many high points for me, not least of which citing my hero Mortimer J. Adler. :)
I still maintain that the best hope for a positive future lies in a robust public square built on the foundation of a shared reality. Boy does that seem a long shot at this point.
So here’s where we stand: Intelligent disagreement is the lifeblood of any thriving society. Yet we in the United States are raising a younger generation who have never been taught either the how or the why of disagreement, and who seem to think that free speech is a one-way right: Namely, their right to disinvite, shout down or abuse anyone they dislike, lest they run the risk of listening to that person — or even allowing someone else to listen. The results are evident in the parlous state of our universities, and the frayed edges of our democracies.
Can we do better?
Julia Even's has a new CSS zine coming and it sounds awesome
so that's what this zine is about – it's some basic CSS facts for people who already thought that they "knew" basic CSS (like me) but still find themselves perplexed a lot of the time. Actually learning these basics for the first time REALLY helped me.
via b0rk
Secretary of State Mike Pompeo: "There will be a smooth transition to a second Trump administration."
Secretary of State Mike Pompeo: "There will be a smooth transition to a second Trump administration."
The Recount on Twitter: "@Yamiche Yep, he said that. https://t.co/rw4rDmXO98" / Twitter
via mikeyanderson
The next few months will literally decide whether the United States is a democracy. I've expected this was going to be the case all along—but damn—they really are going to try to steal America.
"Make boring plans" sounds awesome
Screw "choose boring technology," today's mantra is "make boring plans." AKA, if you can break a problem down well enough that the plans look to an outsider like they are mostly boring and rote, you are probably a damn fine platform engineer.
via skamille
FROM ONE SINGLE SHEET OF PAPER - YouTube
Masayo Fukuda, contemporary master of kirie, or Japanese paper-cutting, crafting hyper detailed creatures from single sheets of paper, an art that has been around since 700 AD
via #WOMENSART on Twitter: "Masayo Fukuda, contemporary master of kirie, or Japanese paper-cutting, crafting hyper detailed creatures from single sheets of paper, an art that has been around since 700 AD #womensart https://t.co/g8z1rXnLe5" / Twitter
Called to mind Gravity Glue | Stone Balance by Michael Grab
(Remote) Pairing 101 | ThoughtWorks
Even to those who are used to pairing in physical proximity, doing it remotely can sound counterintuitive and unnatural, but it doesn’t have to be. This article will go over three main effective remote pairing techniques. While it will not explain in detail what each technique entails, it will provide some scenarios for when best to practice it and what tools are best suited for it in the context of remote working.
via ctford
The acceptance and transmission of Conspiracy Theories is Slander
The fact that few in our churches are being confronted—much less receiving church discipline—for engaging in slander is scandalous.
Christians Are Not Immune to Conspiracy Theories
Remember Poe's law - Wikipedia
We need more wisdom to counterbalance the staggering information overload we live in
Should we still value science, data, and information? Of course. But 2020 has made clear that the solution to complex problems is not simply more science, data, and information. What we need is more wisdom to know how to sift through and synthesize it, understand complexity, and make better decisions.
…
I’m increasingly convinced that media habits are a discipleship matter that must be foregrounded in church ministry.
2020 Proves We Don’t Need More Information. (We Need Something Else.)
6 costs of sin
The 17th-century Canons of Dort describe the price we pay for especially serious sins. By our sin we “greatly offend God, deserve the sentence of death, grieve the Holy Spirit, suspend the exercise of faith, severely wound the conscience, and sometimes lose the awareness of grace for a time” (5.5).
Sin Is Expensive. Here Are 6 Costs.
The Remarkable Way We Eat Pizza - Numberphile | The Kid Should See This
Cut an orange in half, eat the insides (yum), then place the dome-shaped peel on the ground and stomp on it. The peel will never flatten out into a circle. Instead, it’ll tear itself apart. That’s because a sphere and a flat surface have different Gaussian curvatures, so there’s no way to flatten a sphere without distorting or tearing it. Ever tried gift wrapping a basketball? Same problem. No matter how you bend a sheet of paper, it’ll always retain a trace of its original flatness, so you end up with a crinkled mess.
Watching Stoll hop in excitement talking about a theorem is the essence of Geek/Nerd culture and why I still firmly consider myself a Nerd. :)
Also, Stoll's The Cuckoo's Egg is one of my all time favorite non-fiction narratives.
Emmanuelle Moureaux's gridded rainbow installations | The Kid Should See This
More than 60,000 pieces of suspended numeral figures from 0 to 9 were regularly aligned in three dimensional grids. A section was removed, created a path that cut through the installation, invited visitors to wonder inside the colorful forest filled with numbers. The installation was composed of 10 layers which is the representation of 10 years time. Each layer employed 4 digits to express the relevant year such as 2, 0, 1, and 7 for 2017, which were randomly positioned on the grids. As part of Emmanuelle’s “100 colors” installation series, the layers of time were colored in 100 shades of colors, created a colorful time travel through the forest.
Beautiful. One day when I'm older and have free time again I will make a point to visit these sorts of things.
Dropping ice chunks down a borehole in Antarctica: What does it sound like? | The Kid Should See This
This is what 'basic research' is all about. Pew Pew!
Japan's 72 Micro-Seasons of Impermanence | The Kid Should See This
I'm persistently trying to connect my experience of time with my local world rather than with calendars. This is amazing.
The 72 milestones are smaller steps of change that reflect the rhythms of Japan’s ecosystems, but they also embrace the impermanence and constant change that can be applied to any ecosystem.
Trump is a demonic force in American politics
What makes Trump demonic? One thing above all: His willingness, even eagerness, to do serious, potentially fatal, damage to something beautiful, noble, fragile, and rare, purely to satisfy his own emotional needs. That something is American self-government. Trump can't accept losing, can't accept rejection, and savors provoking division. He wants to be a maestro conducting a cacophony of animosities at the center of our national stage because it feeds his insatiable craving for attention and power — and because, I suspect, he delights in pulling everybody else down to his own level.
That is a satanic impulse.
…
I still believe that the most likely outcome of this mess is that Trump eventually relents, allowing the process of presidential transition to move forward. But that doesn't mean it's anything close to guaranteed. And even if he does back down, it seems certain to be combined with the deliberate nurturing of a stabbed-in-the-back narrative that keeps alive the pernicious fiction that Trump didn't really lose, that the Democrats' win in 2020 is tainted, and that the Biden administration has been illegitimate from the start, founded in an act of treachery for which no one has yet paid a price.
That it is all a lie won't matter one bit. The demon infecting our democracy doesn't care, and neither will those whose enmity he has worked so tirelessly to inflame over the past four years.
President Trump and his administration are doing everything in their power to undermine our Republic
Barr endorses federal fraud investigations, lead Republicans fall in line
Well I guess the Republicans are beginning to fall in line. 😭
Senior members of the president's party have largely refused to pressure Mr Trump to concede.
On Monday Senate leader Mitch McConnell criticised Democrats over the matter.
"Let's not have any lectures, no lectures," the Kentucky senator said on the floor of the upper chamber, "about how the president should immediately, cheerfully accept preliminary election results from the same characters who just spent four years refusing to accept the validity of the last election and who insinuated that this one would be illegitimate too if they lost again - only if they lost."
He added: "The president has every right to look into allegations and to request recounts under the law and notably the constitution gives no role in this process to wealthy media corporations."
Trump Administration's potential legal playbook
Is this good for our country?
What the corpos of historical self-governing societies has to say about the 2020 elections
It's good and bad. Self-governments are fraigel, but we're not the crisis point yet, we can see it coming, and we may have just elected a man who's agenda is perfectly aligned with a preservation of self-government in our society.
One thing that emerges quite clearly from a study of Greek and Roman antiquity is the intense fragility of self-government. That fragility is easy to miss in a modern context
…
And it is in observing that sample that it becomes clear that these systems of government can be very fragile internally. Patterns also emerge as to how such systems break down. The cycle of breakdown was sufficiently common that the Greeks had a nice, compact word for it: stasis (στάσις, pronounced STAH-sis, not STAY-sis. The nearest Latin equivalent is factio, but Roman authors – especially Cicero – also translate stasis as seditio). At its root, a stasis was ‘a standing’ (the ‘sto-‘ root to mean ‘stand’ is common in many Indo-European languages), but rather than our word stasis (from the same root) which meant a standing still, stasis came to mean a ‘standing together’ and from there a ‘faction’ or political party, and then ‘factionalism’ and finally from that meaning, ‘civil strife’ and even ‘revolution.’
…
In an effort to compromise on nothing, the Roman elite lost everything.
…
Elections don’t merely change politics; they can change the culture.
…
In short, Joe Biden is running on a platform of compromise and a constructive, inclusive redefinition of the polity which explicitly welcomes past opponents to join him at the table. To me, reasoning from historical example, that seems like the correct answer to the current moment.
On the other hand, we have a different candidate (and current President) who is running on a promise to ‘win’ the stasis by main force, to dominate and to win, indeed, until he (or we) get tired of winning, to escalate the tensions to the final victory of the faction. This is exactly the approach that I think a sober reading of historical examples warns us is likely doomed to failure, regardless of what one thinks of the underlying policy aims (which might well have been achieved without the rhetoric and practice of escalation). I cannot help but think that, as happened in the last decades of the Roman Republic, rewarding this sort of rhetoric and behavior will produce more of it from both parties and put our republic on a dangerous path.
via Kottke
President Trump paved the way for a skilled authoritarian to take power
It's not that President Trump wasn't his own kind of disaster. It's that the people coming after him who really know how to be a strongman now know they have a strong chance of winning.
The situation is a perfect setup, in other words, for a talented politician to run on Trumpism in 2024. A person without the eager Twitter fingers and greedy hotel chains, someone with a penchant for governing rather than golf. An individual who does not irritate everyone who doesn’t already like him, and someone whose wife looks at him adoringly instead of slapping his hand away too many times in public. Someone who isn’t on tape boasting about assaulting women, and who says the right things about military veterans. Someone who can send appropriate condolences about senators who die, instead of angering their state’s voters, as Trump did, perhaps to his detriment, in Arizona. A norm-subverting strongman who can create a durable majority and keep his coalition together to win more elections.
…
At the moment, the Democratic Party risks celebrating Trump’s loss and moving on—an acute danger, especially because many of its constituencies, the ones that drove Trump’s loss, are understandably tired. A political nap for a few years probably looks appealing to many who opposed Trump, but the real message of this election is not that Trump lost and Democrats triumphed. It’s that a weak and untalented politician lost, while the rest of his party has completely entrenched its power over every other branch of government: the perfect setup for a talented right-wing populist to sweep into office in 2024. And make no mistake: They’re all thinking about it.
via Kottke
Head-Stabilized Champion Hurdler
This is as close to a real life expression of a slasher horror film as I've ever seen. He just 👏 keeps 👏 coming 👏.
In this view, you can clearly see how expert hurdlers don’t jump their whole bodies over the hurdle (like Super Mario or something) — it’s more that they just bring their lower bodies up over the hurdles while their heads & shoulders remain more or less the same height from the ground. There’s hardly any lateral motion either — very little wasted energy here.
Former Ballerina with Alzheimer’s Recreates Her Swan Lake Choreography
In the video above, you can see how, as she starts to listen to Swan Lake in a pair of headphones, she reanimates and begins performing the dance choreography in her wheelchair.
Mushrooms grow and shrivel in this 10,000 shot time-lapse | The Kid Should See This 3 min
An eight-month-long lockdown project, this 10,000 shot time-lapse video captures mushrooms growing and shriveling in an Illinois forest.
Robert Wyatt - I'm a believer - Top Of The Pops - 1974 - YouTube
One of the best covers ever, of one of the best songs ever written. Robert Wyatt performing "I'm a Believer" by the Monkees
---mrb
Four Organs: Phase Patterns by Steve Reich
Any time I listen to Steve Reich I feel like my perception of reality is under assault.
via mrb
How to spot a pyramid scheme | The Kid Should See This 5 min
In the end, if you remember anything I hope it is this: if the offer asks you to pay and recruit, reject and report! Remember, pyramid schemes require recruitment within networks so they can’t catch fire if we know how to detect and reject.
Life, death, and discovery of a plesiosaur | The Kid Should See This 3 min
Today, finding plesiosaur bones in a quarry in Cambridgeshire is not uncommon, but finding a close-to-complete skeleton and its skull is very rare. “I’d never seen so much bone in one spot in a quarry,” explained Oxford Clay Working Group member Carl Harrington of the long-necked specimen when it was discovered in 2016.
No, not all Trump voters are racist
The controlling narrative that it is only The Wicked who are not Progressive is doing great harm to doing actual good on the ground.
Blow unironically blames these facts on "the Power of White Patriarchy," which somehow causes oppressed people to align with the oppressor. But that's basically a progressive version of blaming Satan: the specific mechanisms by which the unseen evil influence works remains unclear.
A far more plausible explanation is that most Americans who voted for Trump for a wide range of reasons don't consider him racist or bigoted.
…
To be clear: None of these things are harmless. Even Trump's nonracial taunts and slanders are profoundly demeaning to our public life. His race-baiting and immigrant-baiting are far worse; they not only make many members of minority groups feel diminished but embolden bigots who do take the hateful message seriously. Those people — the racists, the xenophobes, the misogynists, the anti-Semitic conspiracy theorists — are a part of his "base."
But if those were the only people supporting Trump, Biden would have won by a much larger margin than he did.
There are plenty of others — including people who are not white. A Wall Street Journal report on pro-Trump Latinos in South Texas offers a glimpse at their reasons. Some credit Trump with a good economy. Others see him as someone who speaks up for religion. Still others worry that Biden may hurt the oil industry, where many locals work. Some feel that the Democrats are anti-law enforcement — or even blame them for the past summer's riots linked to anti-racism protests.
We can ask why so many people are willing to give Trump a pass on his 50 shades of awful, or to believe things that seem self-evidently absurd (for instance, that Trump cares about working people). Nevertheless, Trump voters are also expressing concerns that cannot be dismissed. Moral grandstanding may be satisfying — but Biden's message of healing and dialogue is a far better way forward. In fact, I'd say it's the only way forward.
Short Trip - Alexander Perrin
This is such a calming experience. I love getting to stop to let the little bird people in.
via InternetIsBeautiful
The comedy genius of James Veitch
I'm not a fan of comedy generally speaking but if I could find more comedians like James Veitch I think that would change. Between his epic trolling of spammers to his call for whimsy in the face of frustration I could laugh at this man's jokes for many hours.
Related and decidely more blue: It's like Twitter. Except we charge people to use it.
Contract Testing for Node.js Microservices with Pact | Coder Society
[2020-11-08 Sun 20:53]
I really like the idea of using something like this to vastly tighten up what we're currently using UI automation tests for.
Contract testing is a technique for checking and ensuring the interoperability of software applications in isolation and enables teams to deploy their microservices independently of one another. Contracts are used to define the interactions between API consumers and providers. The two participants must meet the requirements set out in these contracts, such as endpoint definitions and request and response structures.
via Devops Weekly List
Rust vs Go — Bitfield Consulting
[2020-11-08 Sun 20:53]
This feels like a very even handed and thorough comparison between these two languages. The summation is that they're both great, serve very similar purposes, and make some subtle tradeoffs.
First, it's really important to say that both Go and Rust are absolutely excellent programming languages. They're modern, powerful, widely-adopted, and offer excellent performance. You may have read articles and blog posts aiming to convince you that Go is better than Rust, or vice versa. But that really makes no sense; every programming language represents a set of trade-offs. Each language is optimised for different things, so your choice of language should be determined by what suits you and the problems you want to solve with it.
In this article, I'll try to give a brief overview of where I think Go is the ideal choice, and where I think Rust is a better alternative. Ideally, though, you should have a working familiarity with both languages. While they're very different in syntax and style, both Rust and Go are first-class tools for building software. With that said, let's take a closer look at the two languages.
via Devops Weekly List
Configuration security is a developer problem - Speaker Deck
[2020-11-08 Sun 20:59]
This is a good overview of the methods we have available to us to shift security and compliance left and empower application engineers to manage their infrastructure safely.
Conclusions:
Infrastructure is increasingly part of the app. Your configuration is in the same repo as your code, maintained by the same developers and going through CI.
Infrastructure as code leads to its own security challenges. But static analysis is surprisingly useful when applied to declarative languages.
Shift security left. Automatically catching security issues during development means less issues in production, and more time to focus on finding and fixing them.
via Devops Weekly List
Keeping Netflix Reliable Using Prioritized Load Shedding | by Netflix Technology Blog | Nov, 2020 | Netflix TechBlog
There are a couple of amazing ideas in this article:
Progressive load shedding based on priority of incoming request. This allows them to keep their most important functionality up (playing content) while progressively degrading all other services.
Smart configuration of clients during an outage by sending them detailed directions for how to retry. This allows them to send responses to smart clients that directly configure how things like a retry-storm will or won't happen.
Continuous Experimentation. I love the idea that once an experiment has been run it should just be run continuously to be constantly validated.
A traffic router that understands the downstream health of its services and sheds load accordingly. The idea of a router smart enough to understand that any of its backend services is degraded or that itself is degraded and responds accordingly sounds like a super power for relability.
via SRE Weekly Issue #243 – SRE WEEKLY
Docker Hub rate limiting FAQ – CircleCI Support Center
Exceptions: Remote Docker and Machine Executors will be impacted by the rate limiting unless pulling CircleCI-published images.
Remote docker and machine executors continue to be risky.
Building Netflix’s Distributed Tracing Infrastructure | by Netflix Technology Blog | Oct, 2020 | Netflix TechBlog
Prior to Edgar, our engineers had to sift through a mountain of metadata and logs pulled from various Netflix microservices in order to understand a specific streaming failure experienced by any of our members. Reconstructing a streaming session was a tedious and time consuming process that involved tracing all interactions (requests) between the Netflix app, our Content Delivery Network (CDN), and backend microservices. The process started with manual pull of member account information that was part of the session. The next step was to put all puzzle pieces together and hope the resulting picture would help resolve the member issue. We needed to increase engineering productivity via distributed request tracing.
Distributed Tracing isn't new but Edgar sounds awesome. I would love to get here one day as at companies I help lead.
AWS Publishes Best Practices Guide for Operational Dashboards
One principal is to work backwards from the expected end user in order to ensure that the dashboard can meet their needs. As O'Shea notes, "It’s easy to build a dashboard that makes total sense to its creator. However, this dashboard might not provide value to users." As they have found that users tend to interpret the graphs that render first as most important, the convention states that the most important graphs are placed at the top. The most important for web services tend to be aggregate or summary availability graphs and end-to-end latency percentile graphs.
Some of the other design principles include:
Ensure a consistent time zone for display (and display it on the dashboard)
Lay out graphs for the expected minimum display resolution
Enable the ability to adjust the time interval and metric period
Annotate the graphs with alarm thresholds and goals
Use alarm status, simple numbers, or time series graph widgets where appropriate
…
Maintaining and updating dashboards is ingrained in our development process. Before completing changes, and during code reviews, our developers ask, "Do I need to update any dashboards?" They are empowered to make changes to dashboards before the underlying changes are deployed.
This is a really good article on the principles of effective Dashboard design.
I also really like the idea of having a team discuss their systems health using their dashboards as a way to review and validate their usefulness.
Making GitHub CI workflow 3x faster - The GitHub Blog
At this moment the monumental Ruby monolith that powers millions of developers on GitHub.com, has over 7,000 test suites and over 5,000 test files. Every commit to a pull request triggers 25 CI jobs and requires 15 of those CI jobs to complete before merging a pull request. This meant that a developer at GitHub spent approximately 45 minutes and 600 cores of computing resources for every commit. That’s a lot of developer-hours and machine-hours that could be spent creating value for our customers.
Analyzing the types of CI jobs, we identified four categories: unit testing, linting/performance, integration testing, builds/deployments. All jobs except two of the integration testing jobs took less than 13 minutes to run. The two integration testing jobs were the bottleneck in our Lead Time for Changes. As it is true for most DevOps cycles, several test suites were also flaky. Although this blog post isn’t going to share how we solved for the flakiness of our tests, spoiler alert, a future post in this series will explain that process. Apart from being flaky, the two integration testing jobs increased developer friction and reduced productivity at GitHub.
This is exactly the kind of analysis I need to be able to do to my CD pipelines in order to be able to improve them.
n-gate.com. we can't both be right. [2021-10-31 Sun]
The RIAA causes outrage and fury worldwide by listing Icona Pop in the same set as Justin Timberlake and Taylor Swift. Hackernews wrestles with their value judgments; their firm stance as bootlickers for megacorporations has finally crashed headlong into their equally firm belief that programmers should never be held to any legal or moral standards. What results is a wide-ranging display of profound confusion, as Hackernews realizes they don't have clear definitions of literally any of the words involved in internet video, copyright law, the American legal process, or website hosting.
God n-gate! 😂
One Man, Two Guvnors | Great Performances | PBS
Featuring a Tony Award-winning performance by CBS Late Late Show host James Corden, the hilarious West End and Broadway hit One Man, Two Guvnors by playwright Richard Bean delighted critics and audiences alike during its West End and Broadway productions in 2011 and 2012.
The Northman Viking Film: The World's Never Seen a Movie Like It – /Film
Ummm…. What!? This sounds amazing. Like maybe Valhalla Rising.
Ten Years of Pair Programming · deliberate software
We have seen promiscuous pairing completely change our organization. As a team, we accomplish far more than we would otherwise. We are able to tackle new systems, languages, and tools with ease. When someone learns a new valuable technique, it spreads organically through the team.
Promiscuous Pairing, to this day, is still the most effective I've ever seen a small team be by many orders of magnitude. This is an absolutely excellent and honest account of what it can look like.
Compared to What? | City Journal
The most important question in politics is Henny Youngman’s: compared to what? If progressives were given to rigorous self-examination, they might think hard about the possibility that Trump and Republicans in general surpass electoral expectations because the alternative to the GOP is . . . progressivism. Standing next to a twenty-first-century progressive turns out to be a good way for conservatives to get asked out onto the dance floor. Strange to relate, many voters do not respond gratefully to being execrated as bigots, fascists, and idiots.
What Divides Us Is Class, Not Race - Quillette
But most middle-aged white American men aren’t named Bezos, Zuckerberg, or Musk. On average, like all North American workers, regardless of race, that vast majority hasn’t seen a real wage increase in almost fifty years. The middle class, once the dominant majority in American society and the steady flywheel of its economy, is now beleaguered, shrinking, and downwardly mobile. Like everyone else, they’re expressing their fear and insecurity in a political language that is often unhealthy, and sometimes hateful. None of this excuses acts of racism. But the problem isn’t going to be solved with hashtags. As the gilded one percent takes up more economic space, the competition for what remains becomes more bitter. In a way, the message I bring is one of racial harmony: You’re all getting screwed together…
… it’s no surprise that many upper middle-class progressive voters, who see no threat from newcomers whatsoever, are perfectly happy to dismiss concerns about immigration as presumptive racism…
I’m not supposed to say this, but I will: Taking a knee to Black Lives Matter, or hauling down monuments, isn’t going to change any of this. Nor will corporate diversity policies, many of which are trumpeted on social media by the same conglomerates that are hiring low-cost labor in droves. What we need are policies—including trade and immigration policies—that help us carve up the economic pie in a way that sees all workers get their fair share, no matter what their ethnicity.
File this in my growing "No War but the Class War" folder, please.
Also see VIDEO: Robert Reich: How Unequal Can America Get Before We Snap? - UCTV - University of California Television
The Failing Business Model of American Universities - Quillette
Given the continual capitalization of students in the pursuit of profit, something must be done before the system reaches a precipice from which a fall would cause catastrophic failure. While the university business model surely has its place in society, I do not believe that higher education should utilize it to exploit our future generations. Academic institutions should have their priorities in education, for the good of its students and our society as a whole.
This bubble needs to pop.
For Five Months, BLM Protestors Trashed America's Cities. After the Election, Things May Only Get Worse - Quillette
And when it comes to these organizations, including Black Lives Matter, Antifa, and the newer splinter groups that mimic their tactics, the media often seems to take their social-justice posturing at face value. In the current media environment, left-of-center actors who claim to represent the cause of the oppressed are granted more moral license to use violence as a political tool…
In September, two reports were published—one shedding light on the methods and beliefs of Black Lives Matter activists, and the other analyzing the possibility that such violence will not only be sustained in coming months, but get worse.
Neither report has received much in the way of media attention, which is unfortunate, because the information they contain shows that the threat of violence won’t end with the election of a new president. In fact, all of the leading left-wing groups calling for disruptive street protests (or worse) have made demands in which they explicitly reject one or more basic elements of the American social contract that are supported by both mainstream Democrats and Republicans—including capitalism, race-neutrality, the right of a society to police itself, and even democracy itself…
Most Americans, whether Republicans or Democrats, don’t want violence. BLM’s Marxist roots and violent methods don’t reflect mainstream progressives (or Black Americans, for that matter) any more than extreme right-wing groups reflect mainstream conservatives. But one would not know this based on the skewed way that these groups are reported on. Surely, it is no slur on social justice or racial equality to point out that radical, often violent anti-capitalist, anti-democratic groups inspired by communist dictators do not have America’s best interests at heart.
What Keeps a Self-Organizing Team From Falling Apart · deliberate software
The author of Reinventing Organizations talks about the concept of “self-correction” that allows self-organizing teams to adapt without writing a thick rule-book of policies. Healthy, self-organizing teams build a simple system that self-corrects instead of adding new policies when trust is abused. Rather than trying to design the perfect rule-book, they let individuals grow into trusted, intelligent agents who are expected to learn and improve.
The author suggests that three things are needed for self-correcting teams:
A shared understanding of what’s healthy
Information
A forum for conversation to trigger self-corrective action
…
Self-correcting practices allow individuals to perform at their best with fewer rule books, fewer meetings, fewer bottlenecks, and less oversight. Individuals are trusted to perform their best, and the team is provided with a way to discuss improvements. A self-correcting team will find individuals empowered to improve the business in incredible ways.
swissmiss | Good Bones
Good Bones Maggie Smith Life is short, though I keep this from my children. Life is short, and I've shortened mine in a thousand delicious, ill-advised ways, a thousand deliciously ill-advised ways I'll keep from my children. The world is at least fifty percent terrible, and that's a conservative estimate, though I keep this from my children. For every bird there is a stone thrown at a bird. For every loved child, a child broken, bagged, sunk in a lake. Life is short and the world is at least half terrible, and for every kind stranger, there is one who would break you, though I keep this from my children. I am trying to sell them the world. Any decent realtor, walking you through a real shithole, chirps on about good bones: This place could be beautiful, right? You could make this place beautiful.
Politics Is More Than Abortion vs Character - Mere Orthodoxy | Christianity, Politics, and Culture
So much Christian analysis of the election implicitly frames the contest as, more or less, the evils of Trump’s character against the evils of abortion. American politics is reduced to a contest between “Trump is mean,” against “abortion is murder,” the only difference being how different commentators weigh the relative evils. Piper twisted himself into knots to say that Trump’s character is as destructive to the body politic as murdering babies, while Mohler goes through the same convolution in reverse to say that the evils of abortion outweigh racism, separating families at the border, the destruction of the earth’s environment, and the out-of-control COVID-19 pandemic that has killed over a million people worldwide (which Mohler somehow does not even mention)…
Let’s start with the right. The root problem is not that Trump is mean. The problem is that he is a nationalist, a problem that infects much of the right and thus will outlast Trump himself. Much of his meanness is not a character flaw so much as an ideological choice. Trump is mean because of what he believes about the world, about American identity, and about his fellow citizens…
Sexual promiscuity probably tells us nothing at all about how well someone would look after the common good…
But the problem with the left is not simply abortion. It is progressivism. Progressivism, like nationalism, is a totalistic political religion that is fundamentally inconsistent with the ideals of a free and open society…
Progressivism is a demeaning view of human personhood, trapped between essentialism and rebellion, forever. We are fundamentally defined by the unchosen categories of our race, class, and gender, which means we must be empowered to explore, define, and express these identities even as we rebel against any external effort to tell us what they mean and rebel against the felt limitations they impose—and simultaneously we are encouraged to approach the world primarily as a never-ending fight against an irredeemable system of racial, sexual, or economic oppression…
The most urgent and most moral necessity in American politics is to dismantle the two-party system that artificially forces us into an impossible choice between two immoral options, neither of which represents a majority of Americans, embodies the aspirations of the American experiment, or articulates a vision of ordered liberty and human dignity. The American experiment is a miracle of political order, a miracle that is increasingly fragile and has no champions, no defenders, and no partisans in our contemporary political landscape except for the large and growing number of voters who reject the two parties who claim to govern in their name.
My God I think this is an important article. I am shook. I feel like this has summarized everything I feel and expressed it in such an articulate manner.
Citizen Strangers and the Cost of Compromise - Mere Orthodoxy | Christianity, Politics, and Culture
Vice President Pence’s speech is a classic example of what Robert Bellah terms “civil religion.” Civil religion is a shared national religious consciousness that, while not clearly defined, significantly interweaves and binds American political life together. Listen to just about any inauguration speech and you will hear it. While many believe the United States was founded as a Christian nation, Bellah is explicit: “[civil] religion is clearly not itself Christianity.” The god of American civil religion is “much more related to order, law, and right than to salvation and love.”[2] Its genius is in its accessible, relatable generality. The moment it becomes too specific, it alienates religious others, and slouches toward state religion.
However, the Vice President’s speech went beyond standard civil religious rhetoric, leaning toward specificity. His climactic conclusion evoked powerful associations with an unnamed (yet entirely understood) figure. The suggestive rhetoric deftly merged the crucified Christ with courageous patriots; blood-bought spiritual freedom with a star spangled one.
Religious rhetoric deployed for political gain is no recent innovation. It is baked into our collective identity as far back as our founding. This speech, however, was intended for a particular audience: American evangelicals committed to the Republican cause, the Religious Right, and Christian Nationalists.[3] And it is an effective strategy because of a deep confusion—a fusion, really—that has taken place between Christian theology and American ideology. This is not a neutral matter. In merging the two, American evangelicalism has diminished its prophetic distance from culture, and in doing so, has impaired its capacity for witness as citizen-strangers…
But witness is ineffective when critical distance is removed. Our displacement does more than make us social oddballs; it produces the detachment necessary to proclaim the supremacy of Christ, and to both critique culture where it opposes him, and affirm it where it manifests goodness. Intimate identification with a particular culture (or subculture) binds us to the very thing we seek to appraise, pegging us to a compromised and biased vantage point. It is hard enough to criticize our heroes; how can we expect to speak out against the culture shaping our identity? In fact, one could argue that this kind of witness is suicidal. If it is imprudent to saw away at the legs of the stool you sit on, it is lethal to critique the grounding reality on which your identity rests.
Please listen, oh my heart.
The New Colonialism | Francis X. Maier | First Things
So here’s the point: Hostility toward the Electoral College seems like a small thing. Maybe it is. But it hints at a deeper impatience with our political process. And that strikes me as part of a still deeper, and still largely unarticulated, current of social change. As the Israeli historian Yuval Noah Harari has argued, liberal political institutions depend on belief in equality, individual free will, and human agency. But these are increasingly challenged by emerging science and transformative technologies. Over time, Harari claims, the result will be a new kind of social reality that requires new political expressions. The old institutions may survive and have the same appearance, but their content will be empty or vestigial, or change altogether. Think it can’t happen here? Laugh while you can. There’s a reason Big Tech follows Harari with intense interest.
What may be coming our way is an odd kind of “new colonialism,” with flyover country—that Dark Continent formerly known as places like Kansas, Alabama, and Tennessee, largely inhabited by reactionary troglodytes—reduced in effective power to mission territory for our enlightened coastal elites; who, after all, are much smarter than the rest of us and have the expert skills to run our complex technocracy.
And of course, they’ll do all this unselfishly, heroically really, for the benefit of us natives. I’ve seen how well that works.
The rabid desire that we progressives have to enforce our will on everyone is some of the stuff authoritarianism is made out of.
Identity Politics and the Election | Joshua Mitchell | First Things
Postmodernism still lingers in the corridors of academia, but the great threat now facing America is identity politics, the third leftist wave since the 1960s. Identity politics, unlike postmodernism, does propose that history has a meaning. That meaning can be stated in a simple phrase, which is the cornerstone of the current Democratic party: “the purpose of politics is to redeem the innocent victims, and to scapegoat those who were their transgressors.” Hence #MeToo, and BLM, and Save The Planet, and a host of other hysterical cries to redeem the world from stain, but which always seem to give us, instead, an ever-expanding state apparatus that wants to control the innocents by “protecting” them and to cure the deplorables of their irredeemable ideas—or scapegoat and purge them if they do not recant. History marches in the direction of protecting the pure and cancelling the impure. That is identity politics.
Marxism could never take hold in America because Americans believed in private property. Because property is the cornerstone of our republic, and cannot be removed, Marxism failed. Postmodernism could never really take hold in America because Americans believe that history has a meaning—and even that America has a special place in history. The reason identity politics has taken hold is because Americans suffer deep and abiding guilt, from two main sources: Christianity itself, and the legacy of slavery in this country. What the left could not do through Marxism or postmodernism, it now is doing through identity politics—namely, undermining every institution and every venerable historical memory in America.
Many readers of First Things, myself included, voted for Donald Trump in 2020—with varying degrees of internal doubt about his character and fitness for the presidency. We did so because we have watched identity politics scapegoat anyone who opposed it, and because we see it as the greatest threat yet to the future of our country, precisely because it uses guilt to destroy America. Arguments do not matter to identity politics; all that matters is whether you have a right to speak—which is to say, whether you are a member of an identity group of “innocent victims.”
Progressivism in America needs to grapple with the reality that we are a radicalizing force if we're ever going to do anything but purge our opponents.
Is Federalism the Solution? | Peter J. Leithart | First Things
… there is no single important cultural, religious, political, or social force that is pulling Americans together more than it is pushing us apart…
Trump can’t heal these divisions. If he wins, we’ll face another four years of anti-Trump hysteria from Democratic politicians and the media. Biden can’t do it either. His plan to unite America comes down to putting the “good people” back in charge…
Renewed federalism could produce a genuinely pluralist America. Each state will run its own moral-political experiment, without direct interference from other states or from a moralistic federal government, as states currently do with drug laws. Such pluralism will be sturdier than our current enforced tolerance, because each experiment will be backed by the institutionalized power of a state…
Under the federalism French proposes, no one will be pleased. Many Americans will be outraged at the prospect of reversing abortion rights or outlawing same-sex marriage anywhere in America. I will be horrified that any American states allow killing unborn babies or protect sexual perversions. Renewed federalism will require colossal acts of self-restraint; it will be the work of federal officials who recognize that releasing power is the only alternative to the dissolution of America. Is it an improvement to replace one big culture war with thirty or forty smaller ones? If we’re as close to civil war or secession as some think, the answer is “yes.”
This is an interesting take as a way to try to dodge the problem of an increasingly divided America. At the same time I think it wrongly places the dividing lines along state borders. Our divide is expressed along population density lines, and those population density centers are in every state. Just look at PA. Without being able to get Federalism all the way down to the population center level I'm not sure that this could be a solution.
GitOps Ebook: What You Need to Know Now (free ebook)
[2020-11-08 Sun 20:30]
This is a quick read (25 minutes or less) that provides an excellent overview of GitOps in general. If GitOps didn't do it for you, maybe this will.
TOC:
Introduction: The GitOps Movement
What Are The Problems GitOps Addresses?
What Is GitOps?
GitOps In Context
Tooling Choices
Implementation Challenges
GitOps Alternatives
What's Next For GitOps?
Conclusion
Statement of purpose:
This e-book seeks to:
Explain why GitOps was invented
Explain what GitOps is
Place GitOps in context
Compare the principal GitOps tools
Discuss implementation challenges
Discuss where GitOps is going
via Devops Weekly List
0 notes
Text
Friday-ish links [2020-11-06 Fri]
DUNE, Part Two: The Missionaries - YouTube
The idea of seeded mythology as a lever just came up. This is really cool and exactly the reason I think everyone should subscribe to Matt Colville's channel whether they like D&D or not.
A sea angel under ice in the White Sea | The Kid Should See This
Whoa.
Volcano Filter Betta Aquarium | The Kid Should See This
This is very cool to watch. Even cooler since my wife is doing the same kind of thing with our tank.
xkcd: Voting Software
I don't quite know how to put this, but our entire field is bad at what we do, and if you rely on us, everyone will die.
Me whenever I talk to anyone about using software for anything of importance.
What If Trump Refuses to Concede? - The Atlantic
That is an unsettling precedent for 2021. If our political institutions fail to produce a legitimate president, and if Trump maintains the stalemate into the new year, the chaos candidate and the commander in chief will be one and the same.
This article, like every time I watch How Unequal Can America Get Before We Snap?, is deeply unsettling.
via Redmond
How to Be at Home
how to stay connected with ourselves and feel a connection with others while spending time physically apart from other people
FDR’s Second Bill of Rights
After WWII, many countries in Europe came to similar conclusions and enacted reforms to offer these rights to their citizens. In America, aside from the significant efforts of the Johnson administration in the 60s, we went in different direction, doubling down on inequality in the pursuit of happiness.
Choosing the Management Track | blog.danielna.com
This is a really good take on what I think we should expect of ourselves as engineering managers or managers to be. It's organized into two sections: 1. The primary differences between being an individual contributor and a manager and 2. Why being a manager is exciting.
The differences:
You won't code anymore because…
You'll have 1000 other things thate are more important for your teams success for you to do and have a fundamentally less stable daily schedule (not working more hours but being less capable of predicting at the start of the day what you'll end up actually doing that day).
Management creates an unavoidable power hierarchy and your behavior has to morph in response to that.
You need to be technical enough to intervene if something technical has truly gone off the rails while being politically savvy enough to rarely pull that trigger.
Why it's awesome:
If you're good at public speaking and writing you'll have much more opportunity to exercise those skills with great impact than as an IC.
You'll be preparing to run your own engineering organization some day.
You'll be able to directly contribute to changing industry wide problems by example.
If you're favorite thing to do is actually to see people and teams self-actualize, managing is the job of doing that. *I find this point to especially pertinent. We have to take our highest joy from watching others grow and succeed rather than directly succeeding ourselves.*
You'll have the highest leverage in the company for affecting the overall success of the business because companies ultimately succeed or fail by their coordinated execution, culture and leadership, and that's your job.
via SoftwareLeadWeekly: A free weekly email for curious humans who want to build better teams and companies.
Product Thinking vs. Project Thinking | by Kyle Evans | Product Coalition
Another entry in the output vs outcome literature.
So what are the benefits of letting go of project timelines in favor of focusing on outcomes?
First of all, it is ultimately the outcome that we are driving toward, regardless of how we try and get there. The main benefit of a product mindset is that we ensure that we get to the outcome more efficiently.
With a project mindset, we assume at the beginning that we already know how to achieve the desired outcome… But what if we were wrong initially? What if the solution we identified isn’t going to achieve the outcome we had hoped?
That is where project thinking gets us into all sorts of trouble. Once we set a plan in motion, it can be very difficult, especially in larger organizations, to pivot and change…
But with a product mindset, we are able to learn and adapt as we go. We aren’t set on dates and milestones, but rather are focused on learning and achieving the outcome. If something doesn’t work out or customers don’t respond well to one thing, we can take that into account, adapt, and still work toward the outcome we had intended without blowing up a beautiful plan that is everyone’s focus.
Crucially, when problems arise (and don’t kid yourself, they always will arise), product thinking allows us to learn and adapt, and stay focused on the outcome we’re trying to achieve.
…
All products and product management involve some level of project management. We have to keep things moving along and it is (unfortunately) unrealistic to assume that we can work in environment where our stakeholders and partners won’t expect some dates or commitments.
The key is to make commitments and project plans only at a point when we can do it with a high degree of confidence. So rather than committing to a specific path beforehand, we commit once we’ve validated what we’re doing and have had a chance to really understand what it will take. Often that is a sprint or two into the work. That may feel really late in the process, but it is at the point when estimates and plans can actually mean something. Marty Cagan, in his book Inspired: How to Create Tech Products People Love, calls this type of commitment a “high-integrity commitment.” We allow teams time to do proper discovery and research before asking for commitments.
via SoftwareLeadWeekly: A free weekly email for curious humans who want to build better teams and companies.
Andy Raskin on Twitter: "I'm often complimented by CEOs on how I run meetings, and some (notably @tycloud) have asked for tips. So here's my # 1 rule: Before participants share their opinions, ask them to write them down." / Twitter
Shift to 80% writing/sharing/cataloging and 20% discussion. Free-form sharing is poison.
via SoftwareLeadWeekly: A free weekly email for curious humans who want to build better teams and companies.
Why Silicon Valley has so many Bad Managers (and what to do about it)
No matter how beautiful and well-intentioned the values are on your walls, or what you say you care about, it’s what you do that matters.
…
These are some of the biggest mistakes that happen especially in the Valley to contribute to the problem of bad managers.
Lionizing successful leaders holistically rather than recognizing their selective good qualities and calling out their bad ones.
Especially in startups there's a vicious cycle of bad managers as new managers develop bad habits at one company which folds and then outputs to another set of companies all while only paying attention to the fiscal success over and against the cultural success of the company. Remember: people leave managers, not companies.
Ignoring cultural problems because of successful growth.
Adding perks rather than fixing real problems. What’s hard is fixing culture issues. Taking a hard look on whether your work environment is friendly and inviting for everyone, or outright hostile requires serious commitment.
Hiring HR too late Unfortunately, when HR is hired too late, many cultural habits are already ingrained deeply and hard to change. When you compound that with a backlog of core HR tasks, it’s little wonder so many startups have bad managers that are unsupported.
Turnover problems are overlooked until it's too late. It takes time to recognize turnover problems that occur. You can easily explain away a few people quitting, especially if you’re also hiring a lot of people at the same time. However, if you notice in Susan Fowler’s widely-read post on harassment at Uber, things can quickly snowball:
…
CEOs punt to someone else. It all goes back to the power of leadership by example. Without C-Level support, at best it’s “Do as I say not as I do” and at worst it’s the active undermining and contradiction of what whomever was hired knows needs done to fix things.
…
What do do?
Measure more.
Recognize that leadership is intrinsically valuable.
Train your managers.
Reward the right behaviors.
Play an active role in shaping your culture.
via SoftwareLeadWeekly: A free weekly email for curious humans who want to build better teams and companies.
Organizing software teams | The Startup
A Team Topologies Book Summary
The team topology approach treats humans and technology as a single sociotechnical ecosystem, and thus it takes a team-sized architecture approach (people first) rather than a technology-first approach, e.g., the monolith vs microservices debate.
…
If you know you need to deploy different parts of the system independently, you need to decouple services. In this environment, you should make your teams small and decoupled with clear boundaries. These boundaries should represent the business context and always be designed with the user in mind. These small decoupled team models also help to minimize intrinsic cognitive load and eliminate extraneous cognitive load.
…
The roots of success are not in creating organizational structures but in developing capabilities and habits in teams, in people.
…
And, when it comes to measuring performance, teams matter more than individuals when building and evolving modern software. An organization should assign objectives to teams, not individuals and consider team-scoped flow and design architecture to fit it.
…
High-level Takeaways:
No shared code ownership to minimize cognitive load on the team managing that stream of the product.
Use software boundaries defined by business-domain bounded contexts.
DevOps is about making teams autonomous, providing a platform and techniques from which the team can pull rather than directly providing those services to the teams.
*Tooling teams should be reorganized into enabling teams, and you should convert architects into enabling teams to focus on APIs between teams and those interactions.*
I like the verbiage developed here around the different kinds of teams. Never forget that you if you can name something you have power over it.
via SoftwareLeadWeekly: A free weekly email for curious humans who want to build better teams and companies.
The Tacit Knowledge Series - Commonplace - The Commoncog Blog
I am also fascinated by how to extract Tacit Knowledge from experts.
Knowing The Dip Exists is a Heck of an Advantage - Commonplace - The Commoncog Blog
This feels especially relevant to Chris C and I at Stitch right now.
You know you’re on a Cliff or at a Cul-de-Sac when … You know you’re in a Cliff when — well, Godin says this should be obvious to you. But your friends probably know better than you do; they’ll tell you when you’re on the path to disaster. On the other hand, only you will know if you’re in a Cul-de-Sac. Cul-de-Sacs happen when you’re not making forward progress. What counts as forward progress should be most clear to you — Godin points out that there are really only three states you can be in when you’re trying to succeed in a job or a relationship or at a task: making progress, standing still, or sliding backwards. Forward steps, however tiny — or imperceptible shifts, internal to you — count as progress. Everything else doesn’t.
Why, yes, you can register an XSS attack as a UK company name. How do we know that? Someone actually did it • The Register
OMG 😂
via Little Bobby Tables, LTD | MetaFilter
Dogmatic Partisanship's Dead End | Mere Orthodoxy
Without an honest, open, bipartisan dialogue about the fundamentals—what kind of society we want, and what it requires of each of us—all the activism in the world isn’t going to move the needle very much. The result? A world in which the only aspect of cultural life we hold in common is a penchant for cancellation, with minimal effort devoted to offering alternative visions of a shared civic life marked by the common good.
Am I wrong for having so much hope in dialogue?
It's Not the Economy: Big Tech, Anti-Trust, & the Future of Political Liberalism
So if the turn against Big Tech isn’t primarily about economic liberalism, then what is the reason? I believe that we have Big Tech in our congressional rifle scope because we as citizens are rightly concerned about the immense (and often disruptive) political power that these outsized companies wield. We increasingly feel and fear the fragility of our own democracy, and our turn against Big Tech is rooted in our fears.
I want an era of monopoly busting worthy of the history books.
Ethics is hard. We can't even agree on things ourselves. How can we teach our AIs anything remotely useful?
But I also think Stoller’s greatest insight is the one that will perhaps be most overlooked:
This report re-asserts Congress’s role as the central policymaking body in America, seizing control from judges who have re-written case law in ridiculous ways, as well as slothful enforcers.
Ultimately, it is Congress who is most responsible for structuring our political economy. And ultimately it is we the people to whom Congress is accountable, and from whom Congress receives its marching orders. Technocrats in the field of economics cannot save us from Big Tech. If we are to be saved, we will have to save ourselves.
The Metronome – Rands in Repose
After hiring and building a diverse set of humans, your primary job as a leader is to give them as much time as possible to do their creative work. My small act of meeting timeliness demonstrates that I value everyone’s time equally.
The primary responsibility of a manager is keeping their reports unblocked.
Your Mid-Year Leadership Check-in – Rands in Repose
I like the idea of habitually working through these questions. I think they'd generate a lot of insight.
Kitchen Soap – Invited article in IEEE Software – Technical Debt: Challenges and Perspectives
My main argument isn’t that technical debt’s definition has morphed over time; many people have already made that observation. Instead, I believe that engineers have used the term to represent a different (and perhaps even more unsettling) phenomenon: a type of debt that can’t be recognized at the time of the code’s creation. They’ve used the term “technical debt” simply because it’s the closest descriptive label they’ve had, not because it’s the same as what Cunningham meant. This phenomenon has no countermeasure like refactoring that can be applied in anticipation, because it’s invisible until an anomaly reveals its presence.
Next up: STELLA Report from the SNAFUcatchers Workshop on Coping With Complexity Brooklyn NY, March 14-16, 2017
Dark debt is found in complex systems and the anomalies it generates are complex system failures. Dark debt is not recognizable at the time of creation. Its impact is not to foil development but to generate anomalies. It arises from the unforeseen interactions of hardware or software with other parts of the framework. There is no specific countermeasure that can be used against dark debt because it is invisible until an anomaly reveals its presence.
How have I never heard of this one?
KeystoneInterface
Software development teams find life can be much easier if they integrate their work as often as they can. They also find it valuable to release frequently into production. But teams don't want to expose half-developed features to their users. A useful technique to deal with this tension is to build all the back-end code, integrate, but don't build the user-interface. The feature can be integrated and tested, but the UI is held back until the end until, like a keystone, it's added to complete the feature, revealing it to the users.
OutcomeOverOutput
A consequential concern about using outcome observations is that it's harder to apportion them to a software development team. Consider a customer team that uses software to help them track the quality of goods in their supply chain. If we assess them by how many rejects there are by the final consumer, how much of that is due to the software, how much due the quality control procedures developed by quality analysts, and how much due to a separate initiative to improve the quality of raw materials? This difficulty of apportionment is a huge hurdle if we want to compare different software teams, perhaps in order to judge whether using Clojure has helped teams be more effective. Similarly there is the case that the developers work well and deliver excellent and valuable software to track quality, but the quality control procedures are no good. Consequently rejects don't go down and the initiative is seen as a failure, despite the developers doing a great job on their part.
CannotMeasureProductivity
I can see why measuring productivity is so seductive. If we could do it we could assess software much more easily and objectively than we can now. But false measures only make things worse. This is somewhere I think we have to admit to our ignorance.
Ego Driven Development · deliberate software
Type in the exact number of machines to proceed
This is a great idea. I'll definitely be incorporating it in more of my scripts.
40 milliseconds of latency that just would not go away
LULZ easy job…
Against an Unequivocally Bad Idea – Quillette
But the bipartisan appeal is a façade. Liberals and conservatives support radically different versions of UBI, and both are fatally flawed. The liberal version of UBI is unworkable, and the conservative version would throw millions into poverty. Regardless of how one tinkers or modifies the details, UBI is an Unequivocally Bad Idea.
Race, Trump, and BLM | City Journal
I want to put choices in the hands of parents to seek whatever provision of educational services best suits their needs and let the chips fall where they may.
I want more integration, intermarriage, mixing. I want a ratcheting down of the intensity of the investment that we make in our racial identities, because that’s not the most important feature of our human profile.
I think the war on drugs has been a very bad mistake for the country. It’s not the only thing going on with the rise in imprisonment in the United States, but it’s a major factor. The overrepresentation of blacks in drug trafficking explains part of the conflict with blacks and the police, and I incline toward a somewhat libertarian outlook on some things.
I think we desperately need better black leadership—people prepared to step away from the crowd and stand up for what they know to be right. Many black police officers are beginning to speak out now. Kentucky attorney general Daniel Cameron, who happens to be African-American, has been trying to walk a very difficult line in the Breonna Taylor case, and he’s met with much vilification. We need 100 more public officials like him to offer a different account of what’s going on and to represent African-Americans in a different way.
Condemn this Violence without Equivocation – Quillette
But not all protests have been peaceful and not every protestor has behaved righteously. In cities across our country we have witnessed, often in real time, violent attacks on the police, looting of commercial outlets, and torching of the property of innocent bystanders. That is, some of the protests have descended into riots. This rioting is also contemptible, and it, too, demands our unreserved condemnation.
Not only are theft, arson, and violence immoral, but they are also politically counterproductive. It should be obvious that the outrageous injustice apparently perpetrated against George Floyd can in no way justify or excuse the criminal behaviors of those few who are using the chaos of mass protests as a cover for their sprees of looting, arson, and mayhem. No civilized society can allow righteous anger to become a license for indulging one’s basest instincts. The violence, arson, and theft must stop. And so long as they continue, they must be forcefully condemned.
The Electoral College Will Remain: Smaller states wouldn’t have approved the Constitution without it, and they won’t support an amendment to abolish it. | City Journal
“A successful candidate for the distinguished office of President of the United States,” Alexander Hamilton wrote in 1788, would need to achieve the “esteem and confidence of the whole Union.” A direct popular vote would narrow the number of citizens whose votes the presidential candidates campaigned for. Candidates would focus their time, energy, and money on the most populated areas. By contrast, under our current system, presidential candidates seek the support of dairy farmers in Iowa, coal miners in Pennsylvania, seniors in Florida, and students in Colorado.
larval stage
larval stage: n.
Describes a period of monomaniacal concentration on coding apparently passed through by all fledgling hackers. Common symptoms include the perpetration of more than one 36-hour hacking run in a given week; neglect of all other activities including usual basics like food, sleep, and personal hygiene; and a chronic case of advanced bleary-eye. Can last from 6 months to 2 years, the apparent median being around 18 months. A few so afflicted never resume a more ‘normal’ life, but the ordeal seems to be necessary to produce really wizardly (as opposed to merely competent) programmers. See also wannabee. A less protracted and intense version of larval stage (typically lasting about a month) may recur when one is learning a new OS or programming language.
I feel like I grew up on the tail end of this being the accepted norm for software people. Now I feel like there's a growing divide between those who want a good work life balance but are also clearly awesome at their job (@b0rk comes to mind) and those who still yearn for the days when Real Programmers wrote in machine code… I, for one, am sick and tired of the heroic sociopathic wizard.
(If you've never seen The Jargon File you're in for a treat.)
via Learning new things
File Descriptor Transfer over Unix Domain Sockets | by Cindy Sridharan | Medium
I got a number of reponses on Twitter from folks expressing astonishment that this is even possible. Indeed, if you’re not very familiar with some of the features of Unix domain sockets, the aforementioned paragraph from the paper might be pretty inscrutable.
Transferring TCP sockets over a Unix domain socket is, actually, a tried and tested method to implement “hot restarts” or “zero downtime restarts”. Popular proxies like HAProxy and Envoy use very similar mechanisms to drain connections from one instance of the proxy to another without dropping any connections. However, many of these features are not very widely known.
There is nothing new under the sun…
via SRE Weekly Issue #242 – SRE WEEKLY
Who else remembers the heady days of the standardization wars?
The Web Standards Project
CSS Zen Garden: The Beauty of CSS Design
4 Questions Before Election Day
Do you feel more fundamentally aligned with a non-Christian who aligns with your political party than with a church member who votes differently from you? Christians share the most vital, deep-seated, identity-forming reality in common with other Christ followers. We’ve been redeemed by the blood of Christ, brought into one new body, and indwelled by the same Spirit. This brotherhood and sisterhood stands, regardless of our politics. Indeed, it exists even across vastly different forms of government. I have a tighter bond of fellowship with my friend Feng, who is a Christian in Communist China, than I do with a member of my own family who doesn’t know Jesus.
The essential problem I have with this line of thinking is that it doesn't properly engage with James 2.18-22 or 1 Corinthians 5.9-13. This is the fundamental lie that I think has crept in to the church for who knows how long: that somehow politics and faith are separate. How can politics (the art or science of controlling and directing the making and administration of policy in a nation state) possibly be divorced from faith? How can you look at me and tell me that certain immoral actions are supposed to cut off my brothers and sisters in Christ from me but their actions related to the franchise do not? It's certainly right to say that politics are harder to judge than some sins but that doesn't mean we shouldn't.
Why Evangelicals Are (Still) Divided over Trump
That is the main strength of the witness side. The drawback is by being rigidly focused on our gospel witness, evangelicals may suffer losses, such as religious liberty, that might affect our ability to proclaim the gospel in the future. By not fully supporting Trump as the “lesser evil” the witness side may be helping to tip the election toward a Biden presidency. That could result, as many on the transformation side have noted, in the promotion of socially progressive policies that will shape the future of our nation.
By painting ourselves into this corner we could effectively be making it 'legal' to proclaim The Gospel while also making it so incredibly repugnant that no one will listen short of an astonishing miracle (which it already is).
Also, RE 4 Questions Before Election Day, the 'Justice' side of this seems to really fall afoul of 'putting our hope in judges', doesn't it?
Christians, Conscience, and the Looming 2020 Election - AlbertMohler.com
I am convinced that abortion and the sexual revolution are a largely a (perhaps unwitting) front for the real issue of religious liberty.
Why Many Americans Will Be Shocked on Election Day
If Trump wins
What really worries me isn't Trump himself. It's the interaction of another Trump victory with the potential reaction of the left…
That is a recipe for a precipitous collapse in the perceived legitimacy of those institutions. If we hadn't just lived through several months of urban unrest, with widespread protests frequently crossing over into rioting and looting, and rates of violent crime surging in cities across the country, I might be convinced that the result would be little more than intensified online flame wars while the overwhelming majority of Americans tune out and ignore the political circus. It would be the kind of virtual civil war Ross Douthat describes in the most cogent chapter of his recent book on our decadent society — a scenario in which committed partisans indulge in vicarious digital violence while the rest of the country withdraws further into indolence and apathy, leaving the real world perfectly peaceful.
But the past five months have showed us a different and much darker path — one where another Trump upset is followed by public demonstrations much larger, angrier, and more violent than the ones that briefly flourished in the early days of 2017. Imagine the George Floyd protests from late May and early June at their most volatile but amplified and augmented by the scalding realization that at this moment the country's electoral system is deaf to plurality or majority public opinion.
Yep…
Next up: Common Sense 316 – The Day of the Dove
Making Sense Podcast #42 — Racism and Violence in America | Sam Harris
While I don't think that this is a particularly great conversation in terms of being actual debate (unlike, for instance, Has Anti-Racism Become as Harmful as Racism? John McWhorter vs. Nikhil Singh - YouTube) I do think the issues discussed are hyper important to our culture at this moment.
Emily Joy on Twitter: "Earlier this year I found out someone I used to be really close with was voting for Tr*mp. I reached out to her to attempt to call her in because we were CLOSE at one point, and we always used to talk about deep things." / Twitter
I don’t really know what I’m trying to say. I’ve been awake for hours and I’ve been in the bathtub for 45 minutes and I guess I’ll just never get over how Christians use theoretical babies to justify not loving the the already-born people standing right in front of them.
0 notes
Text
Friday-ish links
Cheetah vs Greyhound, a speed test in slow-motion | The Kid Should See This
Galloping Starfish and their army of sniffing, tasting, gripping tube feet | The Kid Should See This
Icy Bodies by Shawn Lani, a dry ice exhibit that mixes science with art | The Kid Should See This
Org mode for Emacs
Website revamp! New website - back to the old unicorn!
Patrick Rothfuss on How Is Going to End the Third Book, the Doors of Stone! - YouTube
Release Version 41.2.0 · Dwarf-Therapist/Dwarf-Therapist
Verica - The Chaos Engineering Book
How to Abolish the Police, According to Josie Duffy Rice | Vanity Fair
via The Abolition Movement
Project Orion -
via A 2.5 Gigapixel Image of the Orion Constellation
Vala Afshar on Twitter: "The emotional journey of creating anything great https://t.co/yxDxhxjZN2" / Twitter
The Hives - Hate to Say I Told You So - YouTube
PTM: Restoration with Lecrae | The Witness
via Alexander Kranjec on Twitter: "Love this conversation from @PassTheMic and @lecrae. I resonate with it in so many levels!!! https://t.co/JFY6qJTMER" / Twitter
Karen O and Willie Nelson Cover Under Pressure
The Amazing Triple Spiral (15,000 dominoes) | The Kid Should See This
And next NEW DOMINO RECORD + Most INSANE Spiral Ever! (32,000 Dominoes) - YouTube
Piano/Video Phase
Don't you love a website that never deletes its stuff?
Animoji piano performances by music teacher Magdalene Rolka | The Kid Should See This
Roller dancing with friends at Tempelhofer Feld | The Kid Should See This
Homemade marble track demonstrations by science teacher Bruce Yeany | The Kid Should See This
This guy's enthusiasm is infectious!
Next up: Big High Low track // Homemade Science with Bruce Yeany - YouTube
The World’s Best Tree Felling Tutorial
0 notes
Text
Friday-ish links
Brandon Bloom on Twitter: "When discussing polymorphism, folks talk about "multi-methods" and compare it to OOP class-based dispatch. Really wish the conversation would be more fine grained though. The multi- vs single-dispatch part isn't nearly as important as the external vs internal dispatch part." / Twitter
2007.12630 Corpse Reviver: Sound and Efficient Gradual Typing via Contract Verification
via Chas
Chas (pvp gank paladin) Emerick on Twitter: "dynamic languages exist only to the extent that people are exposed to bad statically-typed languages" / Twitter
Remote Work Company Tracker
Hugmonster General in the Antifascist Army on Twitter: "The reason that things like irc are losing to slack isn't that the irc UX is bad, its that there isn't a good rent extraction model around irc that excites venture capital. irc is a protocol, you could build any UX on it you want." / Twitter
Yep. xkcd: Team Chat
Chas (pvp gank paladin) Emerick on Twitter: "This construction took place over ****45 years**** 🤯 /ht @MadSmejki" / Twitter
:O
Brandon Bloom on Twitter: "I'm counting on it :) That said, I've come around to "the cloud" and what it means in terms of how systems are architected. I just think that we as an industry have gotten far out over of our skis." / Twitter
Daniel Terhorst-North on Twitter: "Hot take: #Kubernetes is just #EJB for the cloud generation. An over-engineered, vendor-controlled, "open", catch-all solution to a problem no one has, which conveniently ignores the hard problems of release engineering, provenance, and observability. Or is it just me?" / Twitter
Robert E. P. Levy on Twitter: "The fact that distributed systems are so hard to get right and microservices work so poorly and yet biological lifeforms are massive distributed microservice architectures just goes to show we really have no damn idea what we're doing in computer science and software engineering." / Twitter
Release CIDER 0.26.1 · clojure-emacs/cider
5 Questions about Homosexuality | Crossway Articles
How to Help Your Kids Establish Bible Reading Habits | Crossway Articles
Apple v Everybody : Planet Money : NPR
OPPRESSED MAJORITY (Majorité Opprimée English), by Eleonore Pourriat - YouTube
Pure Moods CD Commercial - YouTube
In so much agreement with the top comment here. This commercial fills me with nostalgia and the opening chant comes to my mind once or twice a week.
Wild… Enigma - Return To Innocence (Official Video) - YouTube
The Pendulum Swings Eternal • Buttondown
GNU Kind Communications Guidelines - GNU Project - Free Software Foundation
More than a little ironic that this is coming from RMS but overall I like the spirit of it quite a bit.
0 notes
Text
Friday-ish links
Chicago Clojure - 2017-06-21 - Stuart Halloway on Repl Driven Development on Vimeo
One of the better descriptions of what
Colin Jones on Twitter: "Git hooks are basically the same concept as JS form validations. You still need backend validations (CI) if you want your end result to be valid." / Twitter
This is how I feel about all development technologies (from the language on up the stack). If you're in my way I'm going to figure out how to break through you or go around you. My cycle time is too precious. Write-time vs. Polish-time vs. Run-time is a thing.
Interactive Van Gogh Painting
Wooooooooooooooooooooooooooooooooooooooow!
↑ is literally how I sounded playing with this.
via Interactive Van Gogh Painting : InternetIsBeautiful
Minecraft by Illumina in 41:35 - Summer Games Done Quick 2020 Online - YouTube
Super Smash Bros. 64 by Bubzia in 8:29 - Summer Games Done Quick 2020 Online - YouTube
The Social Dilemma | Netflix
My buddy James mentioned this to me the other day.
Brian Marick on Twitter: "Idle Sunday morning thought. Matthew 6:5-6 is pretty explicit. The ostentatiously religious must get that thrown at them often. I assume there are canned responses about how that doesn't apply to, say, Mike Pence. What are they? https://t.co/uD5AcUo2Kt" / Twitter
Code Complete: A Practical Handbook of Software Construction, Second Edition: McConnell, Steve: 0790145196705: Amazon.com: Books
I think Code Complete is the book I would hand every software developer at the start of their career.
What's yours?
Where indeed did I pick up the strange 'boxen' noun?
Tim Visher on Twitter: "@nickcanz @ceeoreo_ You can really throw people for a loop when you go with 'boxen' for multiple computers. I don't even know where I picked that one up. Some awful mutation of https://t.co/DuwZYaQ87v and box, I guess." / Twitter
EmacsWiki: Emacsen
🔎Julia Evans🔍 on Twitter: "shellcheck ♥ permalink: https://t.co/aRQuOTorZm https://t.co/eMOJQf3YyX" / Twitter
Shellcheeeeeeeeck!!! \( ゚◡゚)/
Avoiding Microservice Megadisasters - Jimmy Bogard - YouTube
Probably a re-hash of old territory if you've ever seen a talk about how to do micro-services well but if you haven't this is not a bad place to start.
Martin Scorsese - The Art of Silence - YouTube
Crypt of the NecroDancer: AMPLIFIED by SpootyBiscuit in 14:53 - Summer Games Done Quick 2020 Online - YouTube
This is absurd.
Hillel dressed as Data & Reality author Bill Kent on Twitter: "Unpopular opinion: gifs and memes in conference talks are an antipattern. No, I'm not saying humor is an antipattern. Humor is great, put more of it in talks. Gifs and memes specifically are an antipattern." / Twitter
Unpopular opinion, indeed.
🔎Julia Evans🔍 on Twitter: "${…}: how to do string operations in bash permalink: https://t.co/6lJmoE8I2B https://t.co/b40jt20HoI" / Twitter
Just, you know, follow Julia.
0 notes
Text
Effective bash/jq: Displaying All The AZs
I wrote the following script the other day because A) text is always superior to a screenshot, B) C-r is a thing, and C) I can't seem to find where Amazon actually publicly documents their AZs.
I wanted to share because I think it shows a couple of techniques which I don't see very often in scripts as well as yet again proving that it's good to know the tools you use.
#!/usr/bin/env bash { cat availability-zones || { for region in $( cat regions || { aws ec2 describe-regions --output=text --query \ 'Regions[].RegionName' | tee regions } ) do aws --region="$region" ec2 describe-availability-zones | jq '.AvailabilityZones[]|{ZoneName,RegionName}' | tee -a availability-zones done } } | jq -Ss 'reduce .[] as $item ( {}; .[$item.RegionName].azs += [$item.ZoneName] )'
cat availability-zones || … | tee -a availability-zones
This is the first bit that I think is both clever and useful. I use it twice in this script. Once here and the second one with the regions output. The idea is to use a file as a cache with cat's exit code being used to figure out whether the cache needs to be populated or not. To re-query the regions you just rm availability-zones regions and rerun the command. If you're happy with the regions you found but you want to re-query the zones you can just rm availability-zones and be good to go from there.
The key is to use cat on the one hand and tee on the other. tee is so fantastically useful and everyone should be aware of it. I'm an especially huge fan lately of the tee <<<"charnock" stephen idiom to both populate a file with a string while also printing it my screen. Very useful in my CD pipelines.
The next bit that I think is cool is the use of --query on my aws commands.
… aws ec2 describe-regions --output=text --query 'Regions[].RegionName' | …
Unfortunately you then see me immediately turn around and fall back to jq like a coward because JMESPath just does not compute for me. And really more so because jq is general whereas JMESPath only helps me in awscli.
Nevertheless I'm sure it's more efficient (for some definition of the word) to encode my JSON response processing in --query if I can rather than starting up the separate process (although I don't think I can measure jq's startup time.).
I also really like the use of jq's -S and -s flags here.
… | jq -Ss 'reduce .[] as $item ( {}; .[$item.RegionName].azs += [$item.ZoneName] )' …
If you're unfamiliar with them -S means sort keys and -s means slurp all input into an array before processing it. -s is getting me the ability to suck all the responses together into a single array so I can reduce it and -S is making it so that the humans I'm pasting this text to can easily find what they're looking for.
Just for kicks here's a fully parallelized version of the same code:
#!/usr/bin/env bash { cat availability-zones || { parallel aws --region='{}' ec2 describe-availability-zones ::: $( cat regions || { aws ec2 describe-regions --output=text \ --query 'Regions[].RegionName' | tee regions } ) | jq '.AvailabilityZones[]|{ZoneName,RegionName}' | tee -a availability-zones } } | jq -Ss 'reduce .[] as $item ( {}; .[$item.RegionName].azs += [$item.ZoneName] )'
Just because, you know, 😍 parallel 😍.
Cheers.
0 notes
Text
Friday-ish Links
curl write-out JSON | daniel.haxx.se
This is a really cool addition to curl that would help a ton with intricate scripting around it. Or, you know, maybe if you need it you should really be using another language or something.
Dialogue as Dataflow: A new approach to conversational AI - Microsoft Research
I managed never to publish my review of Elements of Clojure, it seems, but Zach Tellman's exit from the Clojure community was a pretty sad day to me. Every one of his talks is worth watching. So much of what I find wise in his talks is distilled in that book. I really should get around to reviewing it…
Anyway, this post is about what he's been up to since moving on to MSR.
Elements of Programming Style - Brian Kernighan - YouTube
Everything I've seen and heard from Brian Kernighan makes me wish that I'd worked with him or known him. He just seems like a generally great guy and someone who's head is screwed on real straight. I dug this talk.
Dune Official Trailer - YouTube
Preeeeety excited here.
"Humanity 2.0" by Matt Taylor - YouTube
Super Mario Bros. Pitch Meeting - YouTube
My wife and I just found this channel and we're enjoying going through a lot of the backlog. This one really hit home.
"Super easy. Barely and inconvenience."
Stefan Tilkov - Why software architects fail – and what to do about it - YouTube
PREDATOR: The Smartest Genre Mash-Up Ever? Probably! - YouTube
I've been loving Patrick H. Willems.
Edgar Wright - How to Do Visual Comedy - YouTube
I wish Every Frame a Painting was still going.
Reich: How Unequal Can America Get? - YouTube
This has come up again several times this week. One of those talks that really changes how you think about the present.
All Achievements in Hollow Knight Done in 1 Run Under 9 Hours - YouTube
Ridiculous.
The Greatest Showman | "This Is Me" with Keala Settle | 20th Century FOX - YouTube
We watched Jumanji with my family lately and beforehand my sister requested that we watch something from Greatest Showman because she wanted to sing. This performance still gives me chills.
SPELUNKY 2 PS4 RELEASE - Sight-Unseen First Time Experience - YouTube
It's out!
As is Rogue Legacy 2!
Coding Interviews are Broken - YouTube
I hate coding interviews.
Bullfrog Dad Protects His Tadpoles - YouTube
So cool!
Has Anti-Racism Become as Harmful as Racism? John McWhorter vs. Nikhil Singh - YouTube
I keep thinking about so many points brought up in this debate.
Devopsdays 2018 - Emily Freeman Scaling Sparta: Military Lessons for Growing A Dev Team - YouTube
DAGON by H. P. Lovecraft (Illustrated) - ULTIMATE ELDER GOD VERSION - YouTube
Really cool animation.
Why You Love A Hero Who Doesn't Matter | Blade Runner 2049 - YouTube
THE DARK KNIGHT: How the Joker creates doubt - YouTube
Bunk bed disaster - Peter Pan Goes Wrong: Preview - BBC One - YouTube
My wife randomly found The Goes Wrong Show and boy did we enjoy it. :)
0 notes