Éibhear/Gibiris2020-08-13T01:00:00Zhttps://www.gibiris.org/eo-blog/index.xmlUpgrading mautrix-signal to v0.5.xÉibhear2024-03-22T13:14:00Z2024-03-22T13:14:00Zposts/2024/03/22_upgrading-mautrix-signal-to-0.5.x.html<p>
The <i>mautrix-signal</i> matrix application recently announced an
update to <code>v0.5.0</code>, which involves a significant change to how it
works. Previously (e.g. in <code>v0.4.3</code>), the application depended on a
running instance of <code>signald</code> to integrate <i>mautrix-signal</i> with
the <i>signal</i> network. Starting with <code>v0.5.0</code>, this dependency is no
longer there, as the application can now integrate directly.
</p>
<p>
Unfortunately, the <a href="https://git.gibiris.org/mirrors/signal/src/branch/main/CHANGELOG.md#v0-5-0-2024-02-16">upgrade documentation</a> is not really clear. All
we get is:
</p>
<blockquote>
<p>
The bridge doesn't use signald anymore, all users will have to re-link the bridge.
</p>
</blockquote>
<p>
… which doesn't help me know the different experiences admins and
users will have.
</p>
<p>
I'm always nervous of major upgrades like this and the potential
damage I could bring to my service if I don't understand what's
going to happen, so I <a href="https://matrix.to/#/!mautrix-signal-v6:maunium.net/$BnpF9xAQFxBKpIY0r5nP1P6Vp9NwIEyXSMmcs31BqwU?via=maunium.net&via=matrix.org&via=tchncs.de">asked</a> on the <i><a href="https://matrix.to/#/%23signal:maunium.net">Mautrix-Signal Bridge</a></i> room
what this might mean:
</p>
<blockquote>
<p>
Hi. I'm looking at the <a href="https://github.com/mautrix/signal/blob/v0.5.1/CHANGELOG.md">changelog</a> for v0.5.0 and v0.5.1 and can
someone explain to me what "… all users will have to re-link the
bridge" means, please? Thanks.
</p>
</blockquote>
<p>
Unfortunately, the responses I received weren't really
helpful<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup> (in part, I'm sure, because I wasn't
explicit in my question as to what information I was looking for),
so see below for an outline of <i>my</i> experience with the upgrade,
provided in terms of the experience of the home server admin and of
the matrix user who uses the bridge.
</p>
<div id="outline-container-orgea16b63" class="outline-2">
<h2 id="orgea16b63">The Admin experience</h2>
<div class="outline-text-2" id="text-orgea16b63">
<p>
I use docker for <i>mautrix-signal</i>. For <code>v0.4.3</code> and below, this
involved three containers:
</p>
<dl class="org-dl">
<dt><code>mautrix-signal</code></dt><dd>the main matrix application integrated with
my home server.</dd>
<dt><code>postgres</code></dt><dd>(version 13.7) the database for <code>mautrix-signal</code></dd>
<dt><code>signald</code></dt><dd>(version 0.23.2) the means to integrate with the
<i>signal</i> network.</dd>
</dl>
<p>
Prior to doing anything, I shut down all of these containers and
backed up the volumes (i.e. the data and config files) to make
sure I had something to fall back to should anything go wrong.
</p>
<p>
I then restarted the <code>postgres</code> container to make the database
available for the upgrade of <code>mautrix-signal</code>. The upgrade
documentation stated that the "… bridge doesn't use signald
anymore …", so I didn't restart the <code>signald</code> container.
</p>
<p>
I then re-created the <code>mautrix-signal</code> container with the
following commands, and then waited a minute or so for the
database to be upgraded<sup><a id="fnr.2" class="footref" href="#fn.2" role="doc-backlink">2</a></sup>:
</p>
<div class="org-src-container">
<pre class="src src-shell">docker rm mautrix-signal
docker run -d <span style="font-style: italic;">\</span>
-v ${<span style="font-weight: bold; font-style: italic;">INST_DIR</span>}/mautrix-signal/bridge:/data <span style="font-style: italic;">\</span>
-v ${<span style="font-weight: bold; font-style: italic;">INST_DIR</span>}/signald-mautrix-signal/signald:/signald <span style="font-style: italic;">\</span>
--name mautrix-signal <span style="font-style: italic;">\</span>
--network matrix-synapse <span style="font-style: italic;">\</span>
--ip <IP-ADDRESS> <span style="font-style: italic;">\</span>
dock.mau.dev/mautrix/signal:v0.5.1
</pre>
</div>
<p>
The <code>docker run</code> command is the same as what I used before the
upgrade, except for the version number of the docker image. I
decided to make only that change, but I will remove the <code>-v</code>
specification for the <code>/signald</code> volume once I'm happy it's
working well.
</p>
<p>
If there were more users than I on the home server that uses the
bridge, I would alert them that they need to "… re-link the
bridge …" with the following instructions.
</p>
</div>
</div>
<div id="outline-container-org31eda8a" class="outline-2">
<h2 id="org31eda8a">The User experience</h2>
<div class="outline-text-2" id="text-org31eda8a">
<p>
The user would go to the <i>Signal bridge bot</i> room that they
created when they initially linked their <i>Signal</i> account to their
matrix account.
</p>
<p>
I would advise users to issue the <code>help</code> command to see the new
commands and options that are available following the
upgrade. Then I would advise them to issue the <code>ping</code> command to
see their login status. They're almost certainly going to be told
…
</p>
<blockquote>
<p>
You were logged in at some point, but are not anymore
</p>
</blockquote>
<p>
The user would then issue the command <code>login</code>. The bot will
respond with a QR code and a link.
</p>
<p>
The user will then go to their <i>Signal</i> app (on their mobile
device, I guess) and, using <i>Settings</i>, go to add a new
device. The user can then either scan the QR code or enter the
link provided by the bot. <i>Signal</i> will ask to confirm the device
and the user will tap the tick-mark to do so.
</p>
<p>
The user's matrix account is now re-linked to their signal account
through the upgraded bridge.
</p>
<p>
The first time I attempted this, it timed out. The bot removed the
messages with the QR code and the URL and issued an error message
detailing the timeout.
</p>
<p>
On the second attempt, I did it quickly enough. Once the bridge
noticed that the login succeeded, it removed the second set of QR
code and URL messeges and issued a "Successfully logged in as …"
message to the room.
</p>
<p>
I don't use double-puppeting (yet – another thing I need to
properly understand before I use it, for fear that I might break
something), so I didn't issue the <code>login-matrix</code> command; I can't
describe that experience.
</p>
</div>
</div>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">
<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">… or respectful – I often find that room
to be quite unwelcoming</p></div></div>
<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2" role="doc-backlink">2</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">I don't use docker
compose, and you may be curious about some of the configurations
here. You're welcome to '@' me, but I'm unlikely to respond well
to a tone that suggests I'm doing something wrong.</p></div></div>
</div>
</div>An interview with Colm O'Regan on The Function Room podcastÉibhear2023-12-14T11:17:00Z2023-12-14T11:17:00Zposts/2023/12/14_the-function-room.html<p>
Yesterday, on the 13th December, the first of this year's two days
of the earliest sunset, <a href="https://colmoregan.com/">Colm O'Regan</a> dropped episode 38 of his <a href="https://www.goloudplayer.com/podcasts/788"><i>The
Function Room</i></a> podcast, with the title
<a href="https://link.goloudplayer.com/s/pGjr8ReIl6dD"><i>The Auld Sthretch
with Éibhear Ó hAnluain</i></a>.
</p>
<p>
It was a fun chat, recorded on the previous day. In the e-mail
discussion plannign the session, Colm pointed out how I previously
said the following regarding a 3-minute
<a href="./posts/2021/01/15_morning-ireland.html">interview
by Morning Ireland</a> back in 2021:
</p>
<blockquote>
<p>
… and thinking even more about it, I don't think I would have
found it hard to talk for an hour on the matter.
</p>
</blockquote>
<p>
The podcast was 40 minutes long this time, and I think I proved
(having listened back to it) that I <b>still</b> think there's much more
to say about it!
</p>
<p>
Anyway, thanks to Colm for having me, and I hope the episode is as
successful as I definitely think it should be!
</p>
Are you an average voter?Éibhear2023-11-28T17:22:00Z2023-11-28T17:22:00Zposts/2023/11/28_no-such-thing-as-the-average-voter.html<p>
Way back in the mists of time, I was peripherally involved in the
campaign to prevent the introduction of an electronic voting system
in Ireland<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>.
</p>
<p>
There was something that irritated me greatly about the
conversations among those I campaigned with. It was the frequent
use of the term <i>average voter</i> when referring to everyone else not
involved one way or another in the campaign.
</p>
<p>
I still hear the term being used in similar or other contexts, and
I believe it's condescending in its implications. I also hear
phrases like <i>average user</i> and <i>average person</i> and what follows
here applies to those terms as well.
</p>
<p>
The counter to an <i>average voter</i> is an <i>exceptional voter</i>. I've
<b>never</b> heard someone describe themselves as an <i>average voter</i>,
and whenever I hear the term, it's used to refer to other
people. Therefore – <b>even if it's not meant this way</b> – when
someone refers to someone else as an <i>average voter</i>, I can only
take it to mean that the speaker somehow believes themselves to be
an <i>exceptional voter</i>.
</p>
<p>
The notion of an <i>average voter</i> is meaningless in as many ways as
you can look at it.
</p>
<p>
In Ireland, for example, we generally use a ranked-choice ballot
where we express our preferences by placing <code>1</code> beside the name of
the person we most want to be elected, <code>2</code> beside the name of the
next-preferred, and so on down until either we don't care any more
or there are no more names without numbers beside them. (I describe
this in more detail <a href="./posts/2019/05/18_give-a-preference-to-everyone.html">here</a>). I don't know that it's even possible to
calculate averages of anything of importance from a bunch of
ballots. Other than the actual result of the election that the
ballots seek to provide, what "averages" can be calculated from
these that could then be applied to the voters themselves to allow
anyone to make decisions about those voters? Voting is not like the
census.
</p>
<p>
But, of course, the mathematical definition of the term "average"
is not normally what's meant by even the most innocent use of the
term <i>average voter</i>. Whenever I hear it being used, it's referring
to people who vote, but yet don't know or understand the issues
under discussion.
</p>
<p>
Thus …
</p>
<ul class="org-ul">
<li>"the average voter knows very little about the economic factors
at play," and</li>
<li>"the average voter would be surprised to learn how the technology
actually works," and</li>
<li>"the average voter doesn't care about climate change".</li>
</ul>
<p>
What these statements really say is "I know or care more about this
topic than others, and if those others would just wise up, they
would vote differently" (i.e., they would vote <i>exceptionally</i>).
</p>
<p>
But this is an incorrect analysis. It fails on a number of
considerations. Like, what if the speaker is, actually, wrong
(which happens a lot, believe me)? Or, what if the concerns or
motivations of the other person are such that they legitimately and
earnestly want something other than what the speaker wants?
</p>
<p>
And, of course, the other implication is that the speaker is an
expert (which is often untrue anyway) and the <i>average voter</i>
isn't. And this is wrong as well. At least as a generalisation. I
know a great many people who would not know a computer's arse from
its elbow but with whom I would absolutely trust my healthcare, or
my tax reporting, or my children's education, or the replacement of
the CV boot/joint of my car. That's because they <b>are</b> experts in
their fields, and just because they're not experts in someone
else's field, it doesn't mean that they're merely <i>average</i>.
</p>
<p>
Can we dump the term, please?
</p>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">
<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">For the sake of clarity, I didn't oppose
electronic voting. I just opposed <b>that</b> system, which was
subsequently shown to be dreadfully poor at protecting the
integrity of the voting process.</p></div></div>
</div>
</div>Sunset times pages for The Grand Auld SthretchÉibhear2023-11-20T19:50:00Z2023-11-20T19:50:00Zposts/2023/11/20_theauldsthretch-dates-and-times.html<p>
I maintain a set of pages on this site that give the sunrise,
sunset, solar noon, daylight hours and length-of-stretch for each
day of each "operational year" for The <a href="https://mastodon.ie/@theauldsthretch">Grand Auld Sthretch</a>.
</p>
<p>
Here are links to the pages, and the months of each year. I'll add
to this page as I generate additional information each year.
</p>
<div id="outline-container-org2f4e3a4" class="outline-2">
<h2 id="org2f4e3a4"><a href="./2024_times.html">2024</a></h2>
<div class="outline-text-2" id="text-org2f4e3a4">
<p>
<a href="./2024_times.html#2024-times-2023-12">December 2023</a> | <a href="./2024_times.html#2024-times-2024-01">January 2024</a> | <a href="./2024_times.html#2024-times-2024-02">February 2024</a> | <a href="./2024_times.html#2024-times-2024-03">March 2024</a> | <a href="./2024_times.html#2024-times-2024-04">April 2024</a> | <a href="./2024_times.html#2024-times-2024-05">May 2024</a> | <a href="./2024_times.html#2024-times-2024-06">June 2024</a> | <a href="./2024_times.html#2024-times-2024-07">July 2024</a> | <a href="./2024_times.html#2024-times-2024-08">August 2024</a> | <a href="./2024_times.html#2024-times-2024-09">September 2024</a> | <a href="./2024_times.html#2024-times-2024-10">October 2024</a> | <a href="./2024_times.html#2024-times-2024-11">November 2024</a> | <a href="./2024_times.html#2024-times-2024-12">December 2024</a>
</p>
</div>
</div>
<div id="outline-container-org5b5190b" class="outline-2">
<h2 id="org5b5190b"><a href="./2023_times.html">2023</a></h2>
<div class="outline-text-2" id="text-org5b5190b">
<p>
<a href="./2023_times.html#2023-times-2022-12">December 2022</a> | <a href="./2023_times.html#2023-times-2023-01">January 2023</a> | <a href="./2023_times.html#2023-times-2023-02">February 2023</a> | <a href="./2023_times.html#2023-times-2023-03">March 2023</a> | <a href="./2023_times.html#2023-times-2023-04">April 2023</a> | <a href="./2023_times.html#2023-times-2023-05">May 2023</a> | <a href="./2023_times.html#2023-times-2023-06">June 2023</a> | <a href="./2023_times.html#2023-times-2023-07">July 2023</a> | <a href="./2023_times.html#2023-times-2023-08">August 2023</a> | <a href="./2023_times.html#2023-times-2023-09">September 2023</a> | <a href="./2023_times.html#2023-times-2023-10">October 2023</a> | <a href="./2023_times.html#2023-times-2023-11">November 2023</a> | <a href="./2023_times.html#2023-times-2023-12">December 2023</a>
</p>
</div>
</div>
<div id="outline-container-orgaef5537" class="outline-2">
<h2 id="orgaef5537"><a href="./2022_times.html">2022</a></h2>
<div class="outline-text-2" id="text-orgaef5537">
<p>
<a href="./2022_times.html#2022-times-2021-12">December 2021</a> | <a href="./2022_times.html#2022-times-2022-01">January 2022</a> | <a href="./2022_times.html#2022-times-2022-02">February 2022</a> | <a href="./2022_times.html#2022-times-2022-03">March 2022</a> | <a href="./2022_times.html#2022-times-2022-04">April 2022</a> | <a href="./2022_times.html#2022-times-2022-05">May 2022</a> | <a href="./2022_times.html#2022-times-2022-06">June 2022</a> | <a href="./2022_times.html#2022-times-2022-07">July 2022</a> | <a href="./2022_times.html#2022-times-2022-08">August 2022</a> | <a href="./2022_times.html#2022-times-2022-09">September 2022</a> | <a href="./2022_times.html#2022-times-2022-10">October 2022</a> | <a href="./2022_times.html#2022-times-2022-11">November 2022</a> | <a href="./2022_times.html#2022-times-2022-12">December 2022</a>
</p>
</div>
</div>
<div id="outline-container-org0763491" class="outline-2">
<h2 id="org0763491"><a href="./2021_times.html">2021</a></h2>
<div class="outline-text-2" id="text-org0763491">
<p>
<a href="./2021_times.html#2021-times-2020-12">December 2020</a> | <a href="./2021_times.html#2021-times-2021-01">January 2021</a> | <a href="./2021_times.html#2021-times-2021-02">February 2021</a> | <a href="./2021_times.html#2021-times-2021-03">March 2021</a> | <a href="./2021_times.html#2021-times-2021-04">April 2021</a> | <a href="./2021_times.html#2021-times-2021-05">May 2021</a> | <a href="./2021_times.html#2021-times-2021-06">June 2021</a> | <a href="./2021_times.html#2021-times-2021-07">July 2021</a> | <a href="./2021_times.html#2021-times-2021-08">August 2021</a> | <a href="./2021_times.html#2021-times-2021-09">September 2021</a> | <a href="./2021_times.html#2021-times-2021-10">October 2021</a> | <a href="./2021_times.html#2021-times-2021-11">November 2021</a> | <a href="./2021_times.html#2021-times-2021-12">December 2021</a>
</p>
</div>
</div>
<div id="outline-container-org868bf9a" class="outline-2">
<h2 id="org868bf9a"><a href="./2020_times.html">2020</a></h2>
<div class="outline-text-2" id="text-org868bf9a">
<p>
<a href="./2020_times.html#2020-times-2019-12">December 2019</a> | <a href="./2020_times.html#2020-times-2020-01">January 2020</a> | <a href="./2020_times.html#2020-times-2020-02">February 2020</a> | <a href="./2020_times.html#2020-times-2020-03">March 2020</a> | <a href="./2020_times.html#2020-times-2020-04">April 2020</a> | <a href="./2020_times.html#2020-times-2020-05">May 2020</a> | <a href="./2020_times.html#2020-times-2020-06">June 2020</a> | <a href="./2020_times.html#2020-times-2020-07">July 2020</a> | <a href="./2020_times.html#2020-times-2020-08">August 2020</a> | <a href="./2020_times.html#2020-times-2020-09">September 2020</a> | <a href="./2020_times.html#2020-times-2020-10">October 2020</a> | <a href="./2020_times.html#2020-times-2020-11">November 2020</a> | <a href="./2020_times.html#2020-times-2020-12">December 2020</a>
</p>
</div>
</div>
Views on the Fediverse regarding mandatory votingÉibhear2023-11-12T12:00:00Z2023-11-12T12:00:00Zposts/2023/11/12_mandatory-voting-fediverse-question.html<p>
The #Fediverse is fun. One of the more fun accounts is
<a href="https://beige.party/@RickiTarr">@RickiTarr@beige.party</a>. Ricki has a practice of asking simple but
probing questions for her followers to answer, which they do in
great volume.
</p>
<p>
On the 4th November 2023, Ricki posed this <a href="https://beige.party/@RickiTarr/111353551163416933">question</a><sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>:
</p>
<blockquote>
<p>
Do you think voting should be mandatory?
</p>
<p>
BE NICE!
</p>
</blockquote>
<p>
It's a topic I've thought about a lot over the years, and I was
interested in both responding <i>and</i> reading the other responses.
</p>
<p>
I did get into a little scuffle with a couple of contributors who
disagree with my position (I'm a firm "no" on the question, and you
can read my responses <a href="https://social.gibiris.org/display/bad25f96-5665-468a-2e7c-fb2492483877">here</a> and <a href="https://social.gibiris.org/display/bad25f96-6665-468c-c165-996610882548">here</a>.). However, it was a brilliant
question and a brilliant thread, and I am very grateful to Ricki
for posting it.
</p>
<p>
<i>Because</i> this is something I am particularly interested in, I went
through all the responses that landed on my instance and did a
little analysis.
</p>
<p>
<span class="underline">First, some assumptions.</span>
</p>
<p>
Reading through the answers, everyone who responded seems to have
assumed – as I did – that the goal of making voting mandatory is
to improve the democratic outcome. i.e. we were (probably) all
thinking "mandatory, but you're free to vote as you wish" like in
Australia, rather than "mandatory, and only a tiny selection of you
will be allowed to vote against me, so as to keep up pretences"
like in Saddam's Iraq.
</p>
<p>
Another assumption that is evident in the responses is that Ricki
was asking in the context of the United States of America. Not
being American, nor resident there, I didn't realise that there
were elections coming up in a couple of days after, which made the
question germane. However, as the reach of the question was global,
not all respondents took it to refer solely to the US context. I
certainly didn't.
</p>
<p>
The last assumption I saw was around why those who don't vote don't
vote. Not caring about the outcome, or base ignorance seemed to be
the assumption by those who brought up the topic for why others
don't vote. I don't know what the stats say, but I'd expect it not
to be so cut-and-dried. However, some of the responses seemed to be
based on this assumption, which in the real world would be very
unfair to many who don't, or can't, vote.
</p>
<p>
<span class="underline">Next, some results.</span>
</p>
<p>
I counted 143 clear answers<sup><a id="fnr.2" class="footref" href="#fn.2" role="doc-backlink">2</a></sup>. Of
those, 70 (49%) believe voting should be mandatory, 68 (48%) think
it should not, and 5 (3%) provided clear recommendations for
improvements but it wasn't clear to me where they stood on the
substantive question.
</p>
<p>
I must say, I was <i>very</i> surprised that so many believe voting
should be mandatory. However, most answers came with suggested
improvements (from those who oppose mandatory voting) or
appropriate pre-conditions (from those who support it), which means
all the positions from "Hell Yes!" to "Over my dead body!" were
quite well represented.
</p>
<p>
<span class="underline">Offered recommendations</span>
</p>
<p>
It seems to be accepted across the board that those who don't want
to select from the options presented to them on a ballot should be
allowed not to. From the perspective of those who believe voting
should be mandatory, this comes as a variation of turning up to
have your name marked off the list (even if you don't enter the
booth) to allowing you to submit an empty or spoiled ballot.
</p>
<p>
Many think the ease of voting should be improved <i>a lot</i>. 11 from
the Yes camp made this recommendation, as did 16 from the No camp
and 1 of those respondents who didn't make it clear which side they
were on.
</p>
<p>
There were 11 responses (5 from Yes, 5 from No and 1 from that
other crowd) that would like to see voting take place during a paid
or public holiday.
</p>
<p>
Some figured that turnout might improve if voters got a reward such
as a tax credit, or a sausage(!!).
</p>
<p>
Some stated that voting is a
responsibility<sup><a id="fnr.3" class="footref" href="#fn.3" role="doc-backlink">3</a></sup>. All of
those supported the notion of mandatory voting, which didn't
surprise me all that much.
</p>
<p>
<span class="underline">Some very concerning responses</span>
</p>
<p>
One response appeared a few times: if voting is mandatory it would
be much harder to strip voting rights from people, or to prevent
them from voting. I'm of the view that a right is a right and that
preventing people from exercising it is not any worse (or harder to
do!) if those people were legally enforced to exercise that right.
</p>
<p>
Another response that popped up every now and again, is the
assertion that those who don't vote shouldn't complain. While I
very much see the logic here, we need to remember that if we put
that into law we are legally removing people's freedom of speech.
</p>
<p>
One response each from the No and Yes camps suggested that voting
should be allowed only to those who pass a civics or issues-related
test, which was very surprising. This world has a history of
applying tests to people in order to determine their eligibility
for voting, and I'm not aware of any time in history that it
succeeded in improving the democratic outcome. In fact, I'd say it
has always been used to produce specific <i>undemocratic</i> outcomes.
</p>
<p>
Finally, two people suggested denying certain classes of people the
right to vote in certain circumstances. One each from the Yes camp
(who proposed "targeted voting", so that those not impacted by a
particular measure can't influence the outcome) and from the No
camp (who figures "uninformed" voters should not be allowed to
vote).
</p>
<p>
It was an interesting thread. It's indicative of nothing other than
who follows Ricki and who follows the people who responded to her
question on the Fediverse. However, I enjoyed reading the whole
thread greatly, and I'm sure there'll be many more like that in the
future.
</p>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">
<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">See
<a href="https://social.gibiris.org/display/154e6724-2711b4971f0a8cc1-5ead5bae">here</a> if it's gone from its original location.</p></div></div>
<div class="footdef"><sup><a id="fn.2" class="footnum" href="#fnr.2" role="doc-backlink">2</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">a few came in after I
completed gathering my data, so I haven't included them in the
analysis. Also, I'd expect that not all responses to Ricki came
through to my instance, so I would have missed them, too.</p></div></div>
<div class="footdef"><sup><a id="fn.3" class="footnum" href="#fnr.3" role="doc-backlink">3</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">Something I don't altogether
disagree with, but not a responsibility that should be enforced in
law. I said in one of my answers in the thread that I 100% disagree
with the notion, but I didn't make it clear that my disagreement is
with it being a justification for forcing people to vote</p></div></div>
</div>
</div>Some Regulatory Concerns for Those Hosting Their Own InstancesÉibhear2022-12-12T20:09:00Z2022-12-12T20:09:00Zposts/2022/12/12_selfhosting-regulatory-concerns.html<div class="preamble" id="orgdc5775c">
<p>
The following is an edited version of a <a href="https://github.com/blueskyCommunity/aozora/blob/main/TOPICS/regulatory_concerns.md">proposal</a> I wrote for the
<a href="https://blueskyweb.xyz/">Bluesky</a> Community, now called the <a href="https://dsocialcommons.org/">dSocialCommons</a>, back in
February 2022.
</p>
<p>
I'm reproducing it here to make it easy for me to share.
</p>
</div>
<div id="outline-container-orgacc6981" class="outline-2">
<h2 id="orgacc6981">Purpose</h2>
<div class="outline-text-2" id="text-orgacc6981">
<p>
This document lays out concerns for "self hosters" of services
that contribute to the decentralised or #fediverse. At present,
these concerns are not addressed in any comprehensive manner
anywhere, though they have been around for some time.
</p>
<p>
Discussed here are two areas where help is needed from a
properly-resourced organisation for small operations hosting
federated services or operating nodes that contribute to the
decentralised web.
</p>
</div>
</div>
<div id="outline-container-orga79977b" class="outline-2">
<h2 id="orga79977b">Legislative processes</h2>
<div class="outline-text-2" id="text-orga79977b">
<p>
Governments around the world are passing more and more laws
governing how internet services behave. These laws seek to control
how certain information can be made available on the
internet. Terrorism-related information, child abuse imagery,
copyright infringing material, abusive postings, hate speech and
data protection are some of the concerns that these laws address,
or seek to address (or whose sponsors assert they seek to
address).
</p>
<p>
A review of the news reporting around these matters shows that
it's very hard to get the controls right. Many of these laws
assume that only large services will be impacted, and some of
these laws nakedly target specific companies or internet services,
often for nothing more than populist reasons.
</p>
<p>
Where possible, civil society organisations like the ACLU and EFF,
Open Rights Group and Digital Rights Ireland, EDRi, La Quadrature
du Net, the FSFE and others seek to influence the laws, either by
engaging the the legislative process or – failing that, or when
some unanticipated scenario arises – through the courts. However,
in the main, these efforts are again focused on the affect that
the larger organisations and services have on the rights of
internet users as they are thought of as consumers, rather than
active contributors.
</p>
<p>
An example of an exception to this approach was with the EU
Copyright Directive that was approved in 2019. During the
development of the law, a proposal that risked killing Free and
Open Source Software development was eventually removed because
the impacts would have had a serious and large negative and real
impact on innovation.
</p>
<p>
In all jurisdictions there needs to be a means for the interests
of federated services, and other decentralised operations, to be
represented in the legislative process. In particular, the
unnecessary negative consequences to the decentralised web and to
federated services of new would need to be made known to the
relevant parliaments and congresses, allowing them the proper
opportunity to address these concerns.
</p>
</div>
</div>
<div id="outline-container-org0fb512a" class="outline-2">
<h2 id="org0fb512a">Support for self-hosters</h2>
<div class="outline-text-2" id="text-org0fb512a">
<p>
For the purposes of this document, self-hosting is when an
individual or small organisation will host a web-based service
instead of making use of the larger, more well-known, centralised
services. For example, instead of using twitter, an individual may
use mastodon, or instead of using WhatsApp, an activist group may
prefer the greater independence that a Matrix homeserver offers.
</p>
<p>
These individuals or groups will rarely be expert on all the laws
that apply to them as hosters or operators of such services, and
equally rare will it be that they have easy access to
well-informed legal advice.
</p>
<p>
This could have some concerning effects:
</p>
<ul class="org-ul">
<li>The service may unwittingly be operated or configured in a
manner that is not legal in its jurisdiction (or in the
jurisdiction of a proportion of its users, perhaps even of just
one of the users!), exposing the operator to civil or criminal
action.</li>
<li>The service operator may be aware of the existence of such laws,
but not fully appreciate their responsibilities, and therefore
will be constantly anxious about the risk of an allegation of
illegally operating the service</li>
<li>And many people may decide that the laws are just too onerous or
risky to bother, depriving the ecosystem of a potentially
valuable federated or decentralised participant; sending more
users unnecessarily to the powerful incumbents.</li>
</ul>
</div>
</div>
<div id="outline-container-orgc50ba7b" class="outline-2">
<h2 id="orgc50ba7b">What help is needed?</h2>
<div class="outline-text-2" id="text-orgc50ba7b">
<p>
A properly-resourced organisation could be a highly valuable
resource for addressing these two categories of concern.
</p>
</div>
<div id="outline-container-org5825bf4" class="outline-3">
<h3 id="org5825bf4">Contributing in the policy-making processes</h3>
<div class="outline-text-3" id="text-org5825bf4">
<p>
Work in conjunction with other, closely-aligned organisations
(such as the Internet Archive, EFF, etc.) to lobby for
consideration of federated services. Such work would include
activities like:
</p>
<ul class="org-ul">
<li>Developing policies to promote to civil-society organisations
and politicians</li>
<li>Running campaigns to inform legislators</li>
<li>Offering representatives to testify at legislative hearings</li>
<li>Co-singing open letters</li>
</ul>
<p>
In countries where such an organisation doesn't have an official
presence, it should build a network of committed, local,
campaigners to represent these concerns to legislators and to use
its resources (posters, flyers, "talking points", expense
accounts, etc.) in public information campaigns.
</p>
</div>
</div>
<div id="outline-container-org40e44ab" class="outline-3">
<h3 id="org40e44ab">Helpful resources for self-hosters</h3>
<div class="outline-text-3" id="text-org40e44ab">
<p>
Help develop a suite of resources to guide individuals and small
organisations hosting federated or decentralised services. These
resources would include a run-through of the laws that apply to
them (based on the type of service, perhaps, their target
user-bases and – of course – their jurisdiction). These guides
will offer information such as what's permitted and what's not,
what the operator's responsibilities are to their users and to
the state, the risks they need to be aware of and, of course,
their rights.
</p>
<p>
It would take some time to put these together and no small amount
of access to legal expertise, but such clarity in this area for
people who are keen to participate can only serve to increase
engagement and more speedily grow the federated and decentralised
web.
</p>
</div>
</div>
</div>
Social Gibiris is back onlineÉibhear2022-11-25T17:08:00Z2022-11-25T17:08:00Zposts/2022/11/25_social-gibiris-is-back.html<p>
<a href="https://social.gibiris.org/">Social Gibiris</a> is back online. \o/
</p>
<p>
It has been a while.
</p>
<p>
Back in 2015, I set up a GNU Social instance on an AWS server,
accessible at the address <a href="https://social.gibiris.org/">social.gibiris.org</a>, very much to learn
about both. Because GNU Social was software for <i>federated</i>
microblogging, I hooked up with a lot of like-minded people from
all around the world, and from whom I learned a lot about
self-hosting of services and <i>the fediverse</i>.
</p>
<p>
AWS was expensive, though, so in 2019 (I think – it's been a
loooooong 3 years), I attempted to move the service onto the server
I maintain at home. It didn't work; I don't know why.
</p>
<p>
I focussed on other things in the meantime, and was totally
unprepared when that offensively-rich man-child impulsively bought
twitter (to prove an unprovable, false assumption).
</p>
<p>
In the last few days I tried to set up a Mastodon instance at home,
but the documentation for someone like me (knowledgeable, but no
expert) was just plain awful. It makes assumptions about your
understanding of the tech and of how Mastodon works, and more
assumptions about your working environment and the size of your
intended user-base. In my case, all of these assumptions were
wrong, so after a couple of days on-and-off trying to get it to
work, I gave up.
</p>
<p>
But … because Mastodon federates using the <a href="https://www.w3.org/TR/activitypub/">ActivityPub</a> protocol,
I had a look around at what else I could use. <a href="https://pleroma.social/">Pleroma</a> and <a href="https://friendi.ca/">Friendica</a>
both presented themselves to me. I decided to give Friendica a go,
and while I had to do a few things differently from what the
documentation suggests, it's working fine for me so far.
</p>
<p>
<b>It is very possible that Social Gibiris will fall apart</b>, but I'm
happy with how it's going so far.
</p>
<p>
Registration is open-ish. The service will only be for family and
close friends, but because it's federated, I and its other users
can be reached from other ActivityPub-supporting systems.
</p>
<p>
I can be contacted at <a href="https://social.gibiris.org/profile/eibhear">@eibhear@social.gibiris.org</a>.
</p>
Org Reveal and gridded layoutsÉibhear2022-09-28T19:06:00Z2022-09-28T19:06:00Zposts/2022/09/28_org-reveal-and-gridded-layouts.html<p>
As is likely to be obvious to readers of this web site, also called
a "blog", I am a big fan of <a href="https://www.gnu.org/software/emacs/">GNU/Emacs</a> and, particularly, <a href="https://orgmode.org/">org-mode</a>.
</p>
<p>
I use org-mode for all my writings, and all my information
analyses. The posts and pages of this web site are all written with
org-mode. <a href="https://www.gibiris.org/eo-blog/files/EibhearOhAnluain.pdf">My CV</a> is prepared in org-mode before being converted to
PDF.
</p>
<p>
For a long time, all the non-work presentations I prepare are put
together in org-mode, too. Until recently, I have used a feature of
org-mode's export funtion to Latex called "beamer" to convert an
org-mode file into a PDF presentation. It worked, but depended on a
lot of specific latex-related software to be available to me, so it
can be hard to set up to use on a new machine.
</p>
<p>
I had heard of <a href="https://github.com/yjwen/org-reveal">org-reveal</a> some time ago, and tried briefly to
figure out how it worked, leaving it aside until about 2 weeks ago,
when I tried again. Org-reveal converts an org-mode file (or
region) into an HTML file that incorporates <a href="https://revealjs.com/">reveal.js</a> to make it a
presentation. I recommend downloading the demos from both those
sites to get a good feeling for what they are about.
</p>
<p>
By using org-reveal, I need only load the <code>ox-reveal.el</code> emacs-lisp
file into my GNU/Emacs session, and I can generate a
reveal.js-using HTML file to be my presentation, which I can then
open with a standards-compliant web-browser. I don't need
additional software to generate the file. The reveal.js code isn't
required to generate the HTML file (unless you're using the
<code>single-file</code> option of org-reveal), it just needs te be available
to the browser.
</p>
<p>
Seriously, go check it out.
</p>
<p>
It comes with a slight problem, though. Grid layouts aren't
immediately obvious, and the developer of org-reveal <a href="https://github.com/yjwen/org-reveal/issues/453">suggests using
tables</a>, which isn't ideal for my requirements.
</p>
<p>
So I've put together an approach that is a little more to my
liking.
</p>
<p>
I created a CSS file (see below) that makes use of "flexbox" for
laying out a grid. I am no CSS expert, so I don't know if flexbox
is the best approach – please let me know if there is a better
one.
</p>
<p>
In this CSS file, I define two top-level classes:
</p>
<dl class="org-dl">
<dt><code>gridded_frame_with_columns</code></dt><dd>for a slide that is to be
composed of columns of information.</dd>
<dt><code>gridded_frame_with_rows</code></dt><dd>for a slide that is to be composed
of rows of information.</dd>
</dl>
<p>
So, if you wanted to create a slide for org-reveal that will be
composed of columns of information, add a <code>#+REVEAL_EXTRA_CSS</code>
setting to your org-mode file pointing to where you have these
classes defined, and then use the following in your slide:
</p>
<div class="org-src-container">
<pre class="src src-org"><span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: <div class="gridded_frame_with_columns></span>
...
<span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: </div></span>
</pre>
</div>
<p>
If, however, you wanted your slide to be composed of rows of
information, you would use the class <code>gridded_frame_with_rows</code>
instead.
</p>
<p>
I then defined the following "inner" classes:
</p>
<dl class="org-dl">
<dt><code>one_of_2_columns</code></dt><dd>You would use this to defined the
column for information in a two-column slide.</dd>
<dt><code>one_of_3_columns</code></dt><dd>This is for each of the columns in a
3-column slide.</dd>
<dt><code>one_of_2_rows</code></dt><dd>This is for a row in a two-row slide. I didn't
define a row for a 3-row slide, because I don't see myself using
such a thing.</dd>
<dt><code>column_with_rows</code></dt><dd>This is for a column that I might want to
divide further into rows.</dd>
<dt><code>row_with_columns</code></dt><dd>This is for a row that I might want to
divide further into columns; two columns or three.</dd>
</dl>
<p>
For these last two classes, I would then use 2 or more of the first
three to manage the information within them.
</p>
<p>
Here are some examples of gridded slides:
</p>
<ul class="org-ul">
<li><p>
A slide with two columns of information:
</p>
<div class="org-src-container">
<pre class="src src-org"><span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: <div class="gridded_frame_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
The first column's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
The first column's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: </div></span>
</pre>
</div></li>
<li><p>
A slide with two rows of information:
</p>
<div class="org-src-container">
<pre class="src src-org"><span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: <div class="gridded_frame_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
The first row's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
The second row's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: </div></span>
</pre>
</div></li>
<li><p>
A slide with three columns of information:
</p>
<div class="org-src-container">
<pre class="src src-org"><span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: <div class="gridded_frame_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
The first column's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
The second column's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
The third column's information goes here.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: </div></span>
</pre>
</div></li>
<li><p>
A slide with two columns of information, the first of which has
two rows:
</p>
<div class="org-src-container">
<pre class="src src-org"><span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: <div class="gridded_frame_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns column_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
The information for the first row in the first column goes here
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
The information for the second row in the first column goes here
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
The information for the second column goes here
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_HTML: </div></span>
</pre>
</div></li>
</ul>
<p>
The full set of possible arrangements is as follows:
</p>
<ul class="org-ul">
<li>2 columns</li>
<li>3 columns</li>
<li>2 rows</li>
<li>2 or 3 columns, where one, two or all three of them are divided
into 2 rows.</li>
<li>2 rows, either one of which, or both, are divided into 2 or 3
columns.</li>
</ul>
<div id="outline-container-orgc3403c1" class="outline-2">
<h2 id="orgc3403c1">Code samples</h2>
<div class="outline-text-2" id="text-orgc3403c1">
<p>
Here are samples that you can use, which you should expand or
modify for your own tastes.
</p>
<ul class="org-ul">
<li><p>
The CSS file (called, for example, <code>grids.css</code>):
</p>
<div class="org-src-container">
<pre class="src src-css">
<span style="font-weight: bold;">.gridded_frame_with_columns </span>{
<span style="font-weight: bold;">display</span>: flex;
<span style="font-weight: bold;">flex-flow</span>: row;
}
<span style="font-weight: bold;">.gridded_frame_with_rows </span>{
<span style="font-weight: bold;">display</span>: flex;
<span style="font-weight: bold;">flex-flow</span>: column;
}
<span style="font-weight: bold;">.one_of_2_columns </span>{
<span style="font-weight: bold;">width</span>: 50%;
}
<span style="font-weight: bold;">.one_of_3_columns </span>{
<span style="font-weight: bold;">width</span>: 33%;
}
<span style="font-weight: bold;">.column_with_rows </span>{
<span style="font-weight: bold;">display</span>: flex;
<span style="font-weight: bold;">flex-grow</span>: auto;
<span style="font-weight: bold;">flex-flow</span>: column;
}
<span style="font-weight: bold;">.row_with_columns </span>{
<span style="font-weight: bold;">display</span>: flex;
<span style="font-weight: bold;">flex-flow</span>: row;
}
<span style="font-weight: bold;">.one_of_2_rows </span>{
<span style="font-weight: bold;">height</span>: 50%;
}
</pre>
</div></li>
<li><p>
An example org-file that uses org-reveal and these CSS settings
</p>
<div class="org-src-container">
<pre class="src src-org">
#+TITLE: <span style="font-weight: bold;">Test for gridding</span>
<span style="font-weight: bold; font-style: italic;"># <Where the reveal.js project</span>
<span style="font-weight: bold; font-style: italic;"># (<a href="https://github.com/hakimel/reveal.js.git">https://github.com/hakimel/reveal.js.git</a>) is cloned/copied to></span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_ROOT: reveal.js</span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_INIT_OPTIONS: transition:'none', margin: 0.1</span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_HLEVEL: 1</span>
<span style="font-weight: bold; font-style: italic;">#+REVEAL_EXTRA_CSS: grids.css</span>
<span style="font-weight: bold;">* Columns</span>
<span style="font-weight: bold; font-style: italic;">** Title and 2 content columns</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
A left list
- <span style="font-weight: bold;">[ ]</span> First
- <span style="font-weight: bold;">[X]</span> Second
- <span style="font-weight: bold;">[ ]</span> Third
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
<span style="text-decoration: underline;"><a href="file:./tallPicture.png">file:./tallPicture.png</a></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">** Title and 3 content columns</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
First names
- Sextus
- Gaius
- Gnaeus
- Lucius
- Quintus
- Publius
- Appius
- Mamercus
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
Family Names
- Patrician
+ Julius
+ Claudius
+ Cornelius
- Plebian
+ Marius
+ Tullius
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
Nicknames
- Caesar -- "Hairy"
- Calvus -- "Bald"
- Pictor -- "Painter"
- Africanus -- "of Africa"
- Nero -- "Strong"
- Paetus -- "Squinty"
- Paullus -- "Small"
- Scaeva -- "left-handed"
- Caecus -- "Blind"
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">** Title and 2 content columns, left column being 2 blocks</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns column_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
Information
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
Information
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
<span style="text-decoration: underline;"><a href="file:./tallPicture.png">file:./tallPicture.png</a></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold;">* Rows</span>
<span style="font-weight: bold; font-style: italic;">** Title and 2 content rows</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
Information
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
<span style="text-decoration: underline;"><a href="file:widePicture.png">file:widePicture.png</a></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">** Title and 2 content rows, lower row being 2 blocks</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_rows"></span>
<span style="text-decoration: underline;"><a href="file:widePicture.png">file:widePicture.png</a></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="row_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
A left list
- <span style="font-weight: bold;">[ ]</span> First
- <span style="font-weight: bold;">[X]</span> Second
- <span style="font-weight: bold;">[ ]</span> Third
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
A right list
- <span style="font-weight: bold;">[ ]</span> First
- <span style="font-weight: bold;">[X]</span> Second
- <span style="font-weight: bold;">[ ]</span> Third
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold;">* Grids</span>
<span style="font-weight: bold; font-style: italic;">** Title and 2x2 content blocks - 2 outer rows</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="row_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
This is the first column in the first row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
This is the second column in the first row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="row_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
This is the first column in the second row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_2_columns"></span>
This is the second column in the second row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;">** Title and 2 rows of 3 blocks</span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="gridded_frame_with_rows"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="row_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
This is the first column in the first row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
This is the second column in the first row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
This is the third column in the first row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="row_with_columns"></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
This is the first column in the second row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
This is the second column in the second row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: <div class="one_of_3_columns"></span>
This is the third column in the second row.
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
<span style="font-weight: bold; font-style: italic;"> #+REVEAL_HTML: </div></span>
</pre>
</div></li>
<li><p>
A working example:
</p>
<iframe src="./files/gridding/gridding.html" width="75%" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:3px solid #666; margin-bottom:5px; max-width: 100%; aspect-ratio: 1.5;" allowfullscreen></iframe></li>
</ul>
</div>
</div>
Fighting disinformation requires us all to contributeÉibhear2022-08-26T17:01:00Z2022-08-26T17:01:00Zposts/2022/08/26_fighting-disinformation.html<p>
I encountered two interesting conversations on twitter today,
leading me to the conclusion that we won't be able to
comprehensively deal with disinformation online any time soon.
</p>
<p>
The first is the <a href="https://twitter.com/TadhgHickey/status/1563139100542369794">following</a> from <a href="https://twitter.com/TadhgHickey">Tadhg Hickey</a>:
</p>
<div id="org622494e" class="figure">
<p><img src="./images/Tadhg_Screengrab.png" alt="Tadhg_Screengrab.png" />
</p>
</div>
<p>
If you can't read that screen-grab, this is what he says:
</p>
<blockquote>
<p>
Not telling you kids what to do, but I stopped engaging with
anonymous accounts (bar those who explain who they are in DMs). I
don't even block them, that's attention. My twitter experience has
improved tenfold. If you're hiding & hating, I wish you well
though, really
</p>
</blockquote>
<p>
My first instinct was to scream to the world that it's not
"anonymous", it's "pseudonymous"<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>. But that's not the
real problem I have. What I see is that Tadhg has fallen into the
trap laid out by a great many anti-internet campaigners by
furthering the trope that …
</p>
<pre class="example">
anonymity => bad intent
</pre>
<p>
"If only we can eliminate anonymity online," so the trope goes,
"the internet would be a much better place." I actually think that
the trope would be more coherent if we talk about pseudonymity
rather than anonymity, but it would also highlight how dangerous it
is.
</p>
<p>
Also interesting was <a href="https://twitter.com/Mickcliff/status/1562903474693558274">this interaction</a> with <a href="https://twitter.com/Mickcliff">Mick Clifford</a>, which I
<a href="https://twitter.com/eibhear/status/1563134500720107522">quote-tweeted with a comment</a>:
</p>
<div id="orgdf9b81e" class="figure">
<p><img src="./images/Mickcliff_ScreenGrab.png" alt="Mickcliff_ScreenGrab.png" />
</p>
</div>
<p>
If you can't read that, here is what he said:
</p>
<blockquote>
<p>
Left activists like you? You could be Justin Barrett
for all the rest of us know. You could be a cyborg. What are you
afraid of?
</p>
</blockquote>
<p>
Mick was replying to a tweet from <a href="https://twitter.com/LeahNiD">LeahNiD</a>, who responded to him
with:
</p>
<blockquote>
<p>
Wtf are you on about - I'm lost or else you're losing it.
</p>
<p>
My acc, as most who follow me know, is neither fake or anon as
you've suggested.
</p>
<p>
My Twitter handle is @leahnid ie. Leah Ni Dhochartaigh/Leah Doherty
& I post regularly about where I live
</p>
<p>
Co.Roscommon.
</p>
<p>
Ffs.
</p>
</blockquote>
<p>
Here, Mick is suggesting that @LeahNiD's account is not authentic,
suggesting that it is anonymous/pseudonymous in the way that Tadhg
describes:
</p>
<pre class="example">
pseudonymity => bad intent
</pre>
<p>
Many who read Mick's columns, or listen to his contributions on
various radio broadcasts and podcasts, will regard him as informed
and analytic, will believe he's done his research, and will take
that tweet at face value and accept the slur.
</p>
<p>
I don't know Leah Ní Dhochartaigh, and I don't follow the twitter
account @LeahNiD. However, without any clear evidence to suggest
otherwise, I have no reason at all to think the account isn't
authentic.
</p>
<p>
It seems to me that Mick Clifford also has no reason to think the
account isn't authentic, at least he seems not to offer his
reasons.
</p>
<p>
We hear more and more about how disinformation is a scourge of the
internet; how is it responsible for so much of the bad stuff that
we experience these days. However, if respected commentators with
national platforms decide whimsically to slur those who disagree
with them, then we haven't a hope, really, in the fight against
disinformation, have we?
</p>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">
<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">… and now, as I
proof-read this post, I wonder how he knows that they explain who
they are in DMs without interacting with them!</p></div></div>
</div>
</div>Comparing Y2K action against Climate InactionÉibhear2022-08-23T19:13:00Z2022-08-23T19:13:00Zposts/2022/08/23_y2k-action-climate-inaction.html<div class="preamble" id="org71af190">
<p>
In November 2021, David Quinn <a href="https://twitter.com/DavQuinn/status/1456191464350920705">tweeted the following</a>:
</p>
<div id="orgdee547c" class="figure">
<p><img src="./images/DavQuinnClimateChangeTweet.png" alt="DavQuinnClimateChangeTweet.png" />
</p>
</div>
<p>
I <a href="https://twitter.com/eibhear/status/1456235375156989958">quote-tweeted</a> a response to that, and I am including it here, in
slightly-edited form, to make sure it's preserved.
</p>
</div>
<p>
I first heard of Climate Change (then called Global Warming) in
1981/2, while I was still in primary school.
</p>
<p>
I first heard of the Y2K problem in the late '80s, around the time
of my leaving cert. At that time, a career in IT was not something
I was planning.
</p>
<p>
Fast-forward a few years, and that non-plan came to pass. I spent a
portion of the late '90s working on Y2K mitigations, culminating in
staying awake and sober for the turn of the millennium so as to be
on call for my employer and its customers. Thankfully, nothing
Y2K-bad happened that night, nor in the days or weeks or months
following it. This is because my colleagues and my friends and I
had been engaged in a multi-billion dollar, multi-year,
multi-million person, quasi-coordinated project to fix the
problem. About 10 years after I learned about the Y2K problem, it
was fixed.
</p>
<p>
40 years after I learned about Climate Change (and ~110 years after
it was <a href="https://www.snopes.com/fact-check/1912-article-global-warming/">first highlighted as a problem in the press</a>!) we're still
discussing whether it's something to really worry about.
</p>
<p>
Why? What are the differences between these two issues, both having
global visibility, global discussion, and global risks? Immediacy,
perhaps? Maybe. I suspect it's to do with who bears the risk.
</p>
<p>
Both of these problems posed a risk to <b>people</b>. But the vector of
the Y2K risk to people came <b>through</b> organisations, including
businesses. If a plane fell out of the sky because of a Y2K bug,
it's the airline who would have been liable. If a social welfare
payment couldn't have been made because the government didn't
believe the recipient has been born yet, the High Court would rule
the government to be accountable.
</p>
<p>
Also, the risk of immediate and appreciable affect to business was
real: if a bank can't get loan repayments because the computer
doesn't believe that the next scheduled payment is due for more
than 100 years, that's a problem for the bank, not the borrower.
</p>
<p>
However, the risks posed by Climate Change don't all, or don't
primarily, come <b>through</b> business, so direct liability for the
harms that will result is hard to predict or assess. But, the costs
of doing something about it are predicted, and we're all going to
have to share them. And this is the problem: businesses –
particularly businesses built on models that are damaging the
climate – don't want to bear the cost of fixing something they
haven't affirmatively determined to be a direct risk to
them.<sup><a id="fnr.1" class="footref" href="#fn.1" role="doc-backlink">1</a></sup>
</p>
<p>
Mr. Quinn famously worships at 2 alters: The alter of Roman
Catholicism and the alter of New York Capitalism. When he opposed
the recent constitutional changes in Ireland asserting marriage
equality and repealing the 8th amendment, he couldn't express his
cases in terms of Roman Catholic teaching, because he knew they
would have been scoffed at by the wider society, so he based them
on predictions of bad social consequences. Ultimately he didn't
succeed, primarily because the majority of the decision makers
(i.e. the voters) declined to accept his predictions.
</p>
<p>
The fundamental tenet of the church of New York Capitalism is the
requirement to accumulate and retain wealth, i.e. greed. The
problem with basing a case against Climate Action on greed is that
those who will have to assume the risk of Climate <i>Inaction</i> are
not the beneficiaries of that greed. Mr. Quinn can't present his
resistance to Climate Action in terms of greed, as this will also
be scoffed at, so he has to come up with another tack: the old
conspiracy theory approach whereby everyone is in cahoots to
over-state the problem.
</p>
<p>
We have seen this before, though it was not as bad as it is with
Climate Change. Some (still) believe that the Y2K work was
unnecessary, and consider that the risk was overstated. Capitalism
knew otherwise, though, which is why the efforts were so
successful. We know this in part by those few unsuccessful attempts
to fix the Y2K bug – there would have been many more if the work
wasn't so successful in the run up to 2000. For example, kicking
the can down the road for 20 years was one bad approach, <a href="https://it.slashdot.org/story/20/01/12/0221226">causing
the predicted failures to occur in early 2020</a>.
</p>
<p>
Capitalism's secondary tenet, short-termism, doesn't permit it to
respond to non-specific risks, even if they're real, because that
would require committing wealth to an effort from which 1-year or
5-year returns can't be measured in terms of greater wealth. Or it
would require sharing wealth with a common cause.
</p>
<p>
Both of these are anathema to Capitalism.
</p>
<p>
Capitalism requires its acolytes to resist Climate Action, but
stating the real reason for doing so – greed – would be counter
productive. Thus we persistently see misdirections, reframing,
disinformation.
</p>
<p>
But the whole point is being missed. The Y2K efforts were
successful.
</p>
<p>
We want (nay, "need") Climate Action to be successful. Just because
that success won't be realised for 100 or 500 or 1,000 or 10,000
years doesn't mean it's not necessary, or not necessary
now. Capitalism could get on board and promote Climate Action on
the grounds that it will realise wealth in the longer term. It
won't, though, because of its short-termist rules. Mr. Quinn is
fulfilling his role, and it will be as effective, I hope, as it was
when he was campaigning against social progress 2015 and 2018.
</p>
<div id="footnotes">
<h2 class="footnotes">Footnotes: </h2>
<div id="text-footnotes">
<div class="footdef"><sup><a id="fn.1" class="footnum" href="#fnr.1" role="doc-backlink">1</a></sup> <div class="footpara" role="doc-footnote"><p class="footpara">Much of my career has been spent banging my
head against the wall in frustration at management declining to
address clear, predicted risk in IT systems until it's nearly too
late, or already too late!</p></div></div>
</div>
</div>