DIS: welp

2023-10-29 Thread omd via agora-discussion
Hi all,

As you may know, the lists were down.

The issue was trivial, but I didn’t notice, so I didn’t get them back up for a 
full week.

Timeline of events:
- 2023-10-22: Server reboots uncleanly (why?); after rebooting, mailman doesn’t 
come back up due to a stale lockfile
- ??: Janet Cobb notifies me on Discord (I don’t see this message; perhaps it 
was sent to the wrong user?)
- 2023-10-26: Janet Cobb notifies me by email (but I didn’t notice it; I see it 
now though)
- 2023-10-27: Late at night I notice due to ALT messages ending up in my inbox
- 2023-10-28: I procrastinate on dealing with the issue
- 2023-10-29: Janet Cobb notifies me on Mastodon, and I fix the issue

I did take some actions to prevent this from happening again:
- Changed systemd configuration to ask mailmanctl to automatically clean up 
stale locks.
- Added a CloudWatch alarm that specifically checks whether mailman qrunner 
processes are running.  The issue actually triggered my existing alarm for any 
errors being logged in the Mailman log, but there are spurious error logs often 
enough that I’ve been too lazy to check up on it.  The new alarm is less broad 
but also less prone to false positives.

However…

You all might want to consider the possibility of moving to groups.io.  Don’t 
get me wrong, I’m happy to continue running the lists for another 10 years and 
beyond.  But I have definitely been neglecting proper maintenance and 
monitoring, and that neglect will probably continue, leading to the possibility 
of more outages like this.

Up to you!

- omd

DIS: Re: test

2022-12-10 Thread omd via agora-discussion
Apparently not.  I was worried because I did some upgrades recently and there 
haven’t been any messages in several days.

> On Dec 10, 2022, at 10:24 PM, omd  wrote:
> 
> Did I break the lists again?



DIS: [Distributor] list subscription issue postmortem

2021-01-01 Thread omd via agora-discussion
From the ‘why don’t you just leave it alone’ department:

On 12/14, I upgraded some stuff on the server that hosts the lists, which I 
noted at the time caused a list outage for a few hours.

On 12/31 (yesterday) I was alerted on Discord that the web interface for the 
lists was broken, which among other things made it impossible for new players 
to subscribe.  Since I’m in vacation mode, I wasn’t on my computer for most of 
the day, so I didn’t get the message for about 12 hours (until about 1/1 04:30 
UTC).

I investigated and discovered that at some point on 12/14 I had accidentally 
wiped out mm_cfg.py, the Mailman configuration file.  Email functionality was 
unaffected because Mailman handles it using persistently-running daemons, which 
load the configuration file on startup, and I hadn’t restarted them since 
before deleting the file.  But since Mailman 2 is ancient, the *web* interface 
is based on CGI: every request spawns a new process which loads the 
configuration file from scratch.  Thus it broke as soon as the file was deleted.

Luckily, I have daily backups of everything on the server!  Unluckily, being a 
cheapskate, I’ve been storing those backups in S3 Glacier Deep Archive, which 
is a quarter of the price of other S3 storage options, but makes you wait 12 
hours between initiating a restore request and being able to access the data.  
So I went ahead and initiated a request, but in the meantime had to use some 
debugger silliness to partially reconstruct mm_cfg.py from the daemons which 
were still in memory.  Then I went to bed.

That request has now completed, so I was able to recover the old mm_cfg.py and 
all should be well.

Now, how to prevent this from happening in the future?

First, to guard against this particular type of issue, where Mailman is 
throwing errors but I’m unaware of it, I added a CloudWatch alarm for when the 
size of the error log increases.

Beyond that…

On Discord, Aris and Gaelan suggested keeping a subset of backups in a storage 
service that doesn’t have such a high retrieval time.  This is probably a good 
idea, but harder than it sounds.  S3 does have built-in support for “lifecycle 
rules” where objects can be transitioned between different storage classes 
(e.g. normal, Glacier, Glacier Deep Archive) a specified number of days after 
they’re created.  This can be configured to affect all objects, or only 
non-current versions of objects.  However, the latter only works if you’re 
using S3 versioning.

For now, I’ve been using Restic, which handles versioning itself, on top of the 
storage layer.  And since it makes incremental backups, each backup job only 
uploads newly created data.  Thus, lifecycle rules can’t differentiate between 
data that only exists in old backups, on one hand, and data that’s still 
current but hasn’t been changed recently, on the other.  Both would be 
considered old and moved to Deep Archive.  But the file I needed to restore 
this time, the pre-deletion version of mm_cfg.py, was in the latter class.

The ideal approach would be for Restic to handle the storage class migration 
itself as well, but it doesn’t support that, and I don’t know of any Linux 
backup software that does.  S3 versioning could theoretically work – but on one 
hand, Glacier has per-object charges, which suggests bundling files into large 
objects, while on the other hand, S3 versioning stores each version of an 
object separately rather than using delta diffs, so large objects which are 
repeatedly partially changed will incur storage costs for each version.  Seems 
inefficient.

Another option would be to have two completely separate backups: one for 
“backups from every day, stored forever”, on Deep Archive, and another for 
“backups every so often, stored for a month”, not on Deep Archive.  I might do 
that at some point.  But the data on the server doesn’t change that much (plus 
I just started a new backup series after switching to Restic), so at least for 
the time being, saving money on old data might not be worth having to pay twice 
for the current data.

Also, this is the first time I’ve /ever/ had to restore from these backups, so 
I am tempted to just live with the 12-hour wait and try not to screw up in the 
future.

But ultimately, there isn’t actually that much data to store.  The server is 
currently using only 59GB of space (most of which isn’t even Agora-related).  
My old backup series for the server covering every day from 08/2015 to 10/2020 
is only 167GB.  Honestly, the reason I’m so paranoid about costs is mostly that 
I’m also using S3 to back up personal computers which use *much* more disk 
space.  But there’s no reason I can’t treat the server differently, besides 
habit.

So for now, I just switched the lifecycle rule to use regular Glacier (data 
available in 3 to 5 hours or faster for a price) instead of Glacier Deep 
Archive.  I also set it to transition objects to Glacier 30 days after being 
uploaded instead of 1 day, 

DIS: test

2020-12-13 Thread omd via agora-discussion
Test, sorry for the spam.  The list was down for about 7 hours today because I 
messed something up while upgrading the server to be fully 64-bit.  Sorry.  
(i386 in 2020?  Absurd!)

Re: DIS: [Distributor] List postmortem

2020-11-02 Thread omd via agora-discussion
Update: In the last week-and-change there haven’t been any crashes, so 
switching node to 64-bit might have done the trick.

DIS: [Distributor] List postmortem

2020-10-25 Thread omd via agora-discussion
From 10/17 to 10/19, the list VM's SMTP server experienced repeated, periodic 
segfaults.  This is despite the fact that the server software in question, 
Haraka, is written for Node.js (a memory safe environment) with no native 
extensions.   The segfaults would sometimes cause Mailman’s outgoing runner to 
get wedged (apparently it has no timeout), so new messages were added to the 
archives but weren’t delivered to anyone until I manually restarted Mailman, 
which I did a few times.

I honestly have no idea what caused the segfaults; opening the core dumps in a 
debugger was entirely unhelpful.  I don’t even see any package updates in the 
days before the crashes started.  However, I did learn that Node.js no longer 
officially supports 32-bit x86, which I had been running it on for... 
historical reasons.  On 10/19 I switched to 64-bit Node, and also added a some 
monitoring that would alert me ASAP if any more core dumps showed up.  For the 
next week, none did.

…which I thought was because things were working fine.  In reality, the lists 
were completely down from then to today, but nobody alerted me because they 
thought I already knew.

Ooops.

Haraka’s main process was running the whole time.  But it would spawn a worker 
process; that worker would complain about failing to load 
/usr/lib/authbind/libauthbind.so.1, but treat this as a non-fatal error; then 
it would try to bind on port 25, and fail because it can’t do so without 
libauthbind.  The worker process would die, and after a fraction of a second 
Haraka would spawn a new one.  This cycle repeated 716,838 times, printing 
several dozen lines to a log file each time, until, on Saturday, the log file 
filled up the VM’s remaining disk space.  The lack of disk space triggered a 
different monitoring alert, which caused me to finally investigate the 
situation.

Once I determined the issue, the fix was simple: switch libauthbind to 64-bit 
as well.  Now the lists are back up.

I can’t guarantee they will stay up because I didn’t find the root cause of the 
segfaults; they might recur.  But the monitoring should work as intended now.  
In case that doesn’t work, though, please let me know on Discord or IRC if the 
lists go down.  If the segfaults do recur, I will spend more time in the 
debugger and hopefully get to the bottom of the situation.

DIS: Re: test

2020-10-25 Thread omd via agora-discussion
And again.

> On Oct 18, 2020, at 5:38 PM, omd  wrote:
> 
> I intend, without objection, to determine whether the list is working again.



DIS: test

2020-10-18 Thread omd via agora-discussion
I intend, without objection, to determine whether the list is working again.


Re: DIS: Discord digest 2020-09-06

2020-09-10 Thread omd via agora-discussion



at 2:53 PM, AgoraBot via agora-discussion  
wrote:

> [Discord transcript]

What is this bot?  If it could be convinced to post transcripts on a 
regular basis, that would be quite a neat archival mechanism.

- Totally Not Out of the Loop


DIS: Re: BUS: Intense In Tents

2020-09-10 Thread omd via agora-discussion
at 11:52 AM, nix via agora-business  wrote:

> Without objection, by apathy, I intend to win.

This makes it sound like you previously intended, without objection, to 
intend to win, and now are following through with it…


DIS: Re: BUS: The Supertask Experiment Redux

2020-08-25 Thread omd via agora-discussion
at 11:49 AM, Nathan S via agora-business  
wrote:

> Below, contained within the "{}", or curly braces, is the contract 
> entitled The Supertask Experiment Redux.

You haven’t exactly stated that you agree to this contract, though I 
suppose claiming it exists and has you as a party could be considered a 
form of agreeing to it…

> This contract creates one Dock asset.

When does it do so?


DIS: lists were briefly down

2020-08-25 Thread omd via agora-discussion
The lists were down for about four hours total.  The VPS hosting the lists 
was forcibly shut off due to non-payment (I missed the email with the 
invoice).  I happened to be actively checking my emails at the time, so I 
noticed and paid within half an hour, but then the VPS failed to start back 
up because of an fsck error, and I didn’t notice that until now.  Should be 
good now; hope that error wasn't anything serious... ;)

- The Distributor


DIS: Re: BUS: [Diplonomic 2020] Resolution of Proposal

2020-08-02 Thread omd via agora-discussion
at 10:42 AM, Publius Scribonius Scholasticus via agora-business  
 wrote:



{
Enact a Rule with the following text:
   England is eliminated as a contestant.  Austria, Italy, and Russia
   hereby win the game.
}


When I first saw this I thought England itself had proposed it as a sort of  
troll.  But no, it wasn’t a troll by England or anyone else.  How long have  
you had it planned?


I must say, as a recently minted spectator, I’m disappointed by the  
anticlimax.  To be fair, I too had the idea of taking advantage of  
Diplonomic’s unique nature to achieve a dramatic last-minute tie, like a  
certain YA novel.  (Though apparently normal games of Diplomacy also often  
end in ties.  I don’t have any experience with them.)  Still, I wasn’t  
envisioning a three-way tie.  A two-way fight is a grind of game mechanics  
devoid of Diplomacy’s characteristic negotiations; a three-way fight can be  
a drama of which two will team up against the other.  On the other hand,  
who am I kidding; my imagined ending would have disappointed spectators too.


As a former contestant, it’s a good lesson for me.  I’m not great at this  
stuff, but I thought I was in a decent position with just one extra-strong  
alliance.  I didn’t even imagine there would be an extra-strong three-way  
alliance.


I wonder if I’m the only one to have noticed a rather powerful scam.   
According to the Diplonomic rules, the entities eligible to vote on  
Diplonomic proposals are not Contestants, but “players”.  The threshold to  
pass is still "greater than half the number of Contestants", so this  
doesn’t mean any proposals unexpectedly failed.  Rather, a sufficiently  
large group of players could force a proposal through (but not forcibly  
block a proposal) regardless of the votes of others.  You do still need to  
be a Contestant to submit a proposal in the first place.


There was a time window where I could have pulled this off with Aris and  
Trigon (at least if they agreed to it), but I didn’t try.  The reason is  
that the scam was too powerful for its own good.  Using it to win would  
destroy the Diplomacy gameplay, but using it for any lesser advantage would  
feel arbitrary.  If I’d known the game was about to end by proposal anyway…  
oh well.


By the way, the proposal to let teammates submit orders was written by me.   
It pained me to propose such a non-general rule only allowing teammates to  
perform one type of action, rather than anything the country could do.  But  
I didn’t want to call attention to the fact that a certain type of action –  
voting on proposals – was not limited to countries in the first place!


The point of the proposal, however, was to enable a completely different  
scam.  You see, both contestants and teammates are prohibited from  
“engag[ing] in any behaviors outside of the tournament intended to  
influence its course”, by two different clauses: one in the Diplonomic  
Rules for teammates, and one in the Birthday Tournament Regulations  
themselves for contestants.  Now, a contestant is permanently a contestant  
until they’re eliminated.  But a teammate can cease to be a teammate,  
engage in behavior outside of the tournament intended to influence its  
course, then become a teammate again.  What kind of behavior?  Well, the  
teammate could create an Agoran contract requiring eir country to do  
something.  The problem is that originally, the contract couldn’t have  
teeth.  It could say the teammate SHALL ensure the country takes Diplonomic  
actions as specified, and even punish em in some way (e.g. losing assets)  
if the country didn’t, but the actions are ultimately up to the Contestant,  
not the teammate.  Even if the Contestant was sympathetic, for em to pay  
attention to the contract would itself arguably count as a “behavior  
outside of the tournament”.  Plus, the teammate would be similarly bound  
after becoming a teammate again.


But with teammates having the ability to submit orders themselves, a  
temporarily-non-teammate could create a contract allowing someone else to  
submit orders on eir behalf.  After e rejoined as a teammate, e would at  
least arguably not be actively engaging in any “behavior outside of the  
tournament”.  E would still be submitting orders (via someone else acting  
on eir behalf to do it) while a teammate, but submitting orders is not  
*itself* an action “outside of the tournament”.  Only the formation of the  
contract would be.


All of this would just be an overly convoluted way to make agreements with  
other powers that were enforceable.  In reality, neither I nor the game  
lasted long enough to conduct any such scam, and it seems that regular old  
unenforceable agreements were good enough. :)




DIS: Re: OFF: [Diplonomic 2020] Resolution of Spring 1906

2020-07-31 Thread omd via agora-discussion
Updated https://agoranomic.org/omd-diplonomic-2020-maps/.  Sorry for the  
delay.


DIS: Re: OFF: [Diplonomic 2020] Resolution of Fall 1905 (twice revised) and BT2 Removal of Falsifian

2020-07-29 Thread omd via agora-discussion
at 8:01 AM, Publius Scribonius Scholasticus via agora-official  
 wrote:



 A Den H  **

[..]

** These orders failed. Turkey's F Rum retreats to BLA after being
dislodged.


I don’t think this order failed?

Anyway, despite being eliminated, I intend to continue updating my maps,  
and have done so for this turn:


https://agoranomic.org/omd-diplonomic-2020-maps/


Re: DIS: [Diplonomic] Retreat Rules question

2020-07-26 Thread omd via agora-discussion
at 9:40 AM, Publius Scribonius Scholasticus via agora-discussion  
 wrote:



Yes, it couldn't retreat to a province occupied by a dislodging unit or
a unit that it couldn't have moved to.


And here I was planning to submit orders to do so, and argue tomorrow that  
they should be legal according to Rule 22.  Oh well.


DIS: Re: BUS: Re: OFF: Petition to the ADoP

2020-07-26 Thread omd via agora-discussion
at 10:50 AM, Edward Murphy via agora-business  
 wrote:



I intend, without objection, to flip the interest of Coopor to (its
current value + 'Justice').

I intend, without objection, to flip the interest of Coopor to (its
current value + 'Efficiency').

I intend, without objection, to flip the interest of Coopor to (its
current value + 'Legislation').

I intend, without objection, to flip the interest of Coopor to (its
current value + 'Participation').

I intend, without objection, to flip the interest of Coopor to (its
current value + 'Economy’).


I'm not sure you can intend to perform a conditional like that.


DIS: Re: OFF: [Diplonomic 2020] Resolution of Fall 1904

2020-07-25 Thread omd via agora-discussion

Updated https://agoranomic.org/omd-diplonomic-2020-maps/.



DIS: Re: OFF: [Diplonomic 2020] Resolution of Spring 1904

2020-07-23 Thread omd via agora-discussion

Updated https://agoranomic.org/omd-diplonomic-2020-maps/.


Re: DIS: Rules Viewer Fixed

2020-07-22 Thread omd via agora-discussion
at 11:36 PM, Gaelan Steele via agora-discussion  
 wrote:



Hey all,

I just fixed ruleset-viewer.gaelan.me, which appears to have gotten  
broken by some reorganization of the ruleset repo. It looks like it might  
be intermittently running into some GitHub API bug (possibly because  
you're not supposed to download as much as I am with a single  
request)—I'll monitor that and look into alternate solutions (like using  
a git clone instead of their API). Anyway, for the time being, it works.


Nice.

In case you have time to develop this further, I’d love to have the ability  
to view old versions of rules and diffs between versions.


Admittedly, that’s a big ask.  Ideally there would be history going back  
further than the current Git repo, but getting that requires parsing  
multiple data sources, which are sometimes fragmentary and even  
contradictory.  I speak from experience: in the past, I worked on two  
different tools for this purpose, but I never really completed either of  
them.  Maybe I should actually finish one of them, rather than hoping  
someone will do the job for me… :)  But I’m suggesting it here because I’m  
it fits well with the idea of a ruleset viewer application.


Re: DIS: Coming clean

2020-07-22 Thread omd via agora-discussion
at 5:14 PM, Gaelan Steele via agora-discussion  
 wrote:


Alright, people seem to have started to get annoyed, so I believe  
continuing this experiment would violate my sacred and eternal duty to  
Treat Agora Right Good.


I found it quite entertaining, fwiw!


DIS: Re: OFF: [Diplonomic 2020] Resolution of Fall 1903

2020-07-21 Thread omd via agora-discussion

Updated https://agoranomic.org/omd-diplonomic-2020-maps/.


DIS: Re: OFF: [Diplonomic 2020] Resolution of Spring 1903

2020-07-19 Thread omd via agora-discussion

Updated https://agoranomic.org/omd-diplonomic-2020-maps/.



DIS: Re: OFF: [Diplonomic 2020] Daily Status of Play: Spring 1903 Part 2

2020-07-18 Thread omd via agora-discussion
at 5:13 PM, Publius Scribonius Scholasticus via agora-official  
 wrote:



It is now after 00:00 UTC on July 19, 2020, so the fifth negotiating
phase has ended and the fifth orders phase has begun. You may now submit
orders. Please submit orders if you haven't already.


A Bur - Pic
A Hol - Bel
A Ruh S A Hol - Bel
F HEL - NTH

Retreat orders, in order of preference:

A Bur: Bel, Par, Pic, Mun
A Hol: Bel, Kie, Ruh
A Ruh: Hol, Kie, Mun (impossible?)
F HEL: Den, Kie, Hol


Please also
remember to include conditional orders for building and disbanding.
While you may not believe that such a thing will occur, I would
recommend that you give me something anyway, just to be safe.


Do you mean retreating?  There shouldn’t be building and disbanding in the  
Spring… right?


DIS: Re: BUS: Dipolnomic proposal

2020-07-18 Thread omd via agora-discussion

at 5:58 PM, N. S. via agora-business  wrote:


I make the following diplonomic proposal named eat the rich

Make the following rule 'after each build phase, the power with the most
units has one of their units randomly destroyed’


What if there’s a tie?


DIS: Re: OFF: [Diplonomic 2020] Resolution of Fall 1902

2020-07-17 Thread omd via agora-discussion

Updated:

https://agoranomic.org/omd-diplonomic-2020-maps/


DIS: Re: OFF: [Diplonomic 2020] Resolution of Spring 1902

2020-07-15 Thread omd via agora-discussion

Updated https://agoranomic.org/omd-diplonomic-2020-maps/.


DIS: Re: OFF: [Diplonomic 2020] Resolution of Fall 1901

2020-07-13 Thread omd via agora-discussion
I’ve updated the JDip maps.  Because Gmail doesn’t handle SVG attachments  
well, and because it’s convenient to have all turns’ maps in one place, I’m  
switching to only publishing them on the web.  To mitigate archiving  
concerns (somewhat), I’m hosting it using GitHub Pages on a repo I stuck in  
the AgoraNomic organization.


Here it is:

https://agoranomic.org/omd-diplonomic-2020-maps/

Please let me know if there are any errors.


Re: DIS: Re: OFF: [Diplonomic 2020] Resolution of Spring 1901

2020-07-11 Thread omd via agora-discussion
at 6:11 PM, N. S. via agora-discussion   
wrote:



Can you make, like, a screenshot or something that i can actually see (i
play on a phone and a chromebook)


The SVG links should work in any browser even if the copies attached to the  
email don’t.  Do they not work for you?


Re: DIS: Re: BUS: [Diplonomic Proposal] Longer Order Period

2020-07-09 Thread omd via agora-discussion
at 12:41 AM, Aris Merchant via agora-discussion  
 wrote:



This seems unnecessary? Rule 15 says "Orders CAN be submitted during
the negotiations
period and can be changed at any time when orders could be submitted.”


Sigh, I seem to be having a lot of “learn to read” moments lately...


DIS: Re: BUS: Re: OFF: [Promotor] Distribution of Proposals 8459-8472

2020-07-08 Thread omd via agora-discussion
at 11:43 PM, Aris Merchant via agora-business  
 wrote:



On Wed, Jul 1, 2020 at 9:00 PM omd via agora-business
 wrote:


CoE: The distribution message is inconsistent about who authored this
proposal.  If it was validly distributed, AGAINST.


Denied. The message said: "Where the information shown below differs
from the information shown above, the information shown above shall
control." The notice as a whole was consistent and correct.


Oh, fair enough.  Didn’t see that.


Re: DIS: Re: BUS: [Contract] Public Lockers

2020-07-08 Thread omd via agora-discussion
at 11:30 PM, Aris Merchant via agora-discussion  
 wrote:



Damn it. I broke that one way, and then my fix broke it another way.
You are referring, I presume, to the fact that one doesn't need to
consent to create a promise?


Yeah.


At least I can't think of a situation where that's exploitable where
you wouldn't be able to do something under R2519(2) anyway.


Hmm... R2519(2) wouldn’t apply in the case of other sources of  
act-on-behalf besides contracts, but I suppose none of them are exploitable:
- Zombies: you already patched the zombies rule to forbid making a zombie  
create a promise.
- The Administrative State: creating a promise probably doesn’t count as an  
officer “exercising eir official powers”.  (But I’d love to see a case  
where it did.)
- Promises themselves: not applicable since being able to manufacture  
consent through promises is by design.



Also, I
think there's a pretty fair argument that R869's anti-mousetrap clause
requires consent anyway, though again, R2519(2) likely provides it for
the case of contract exploits.


Heh, I forgot that Rule 869’s anti-mousetrap clause was still there.  Rule  
2519’s definition of consent is at power 3, but I wonder if there could be  
some difference between “consent” and Rule 869’s “willful consent”.


Re: DIS: Re: BUS: humble agoran farmer creates life [Attn. Notary]

2020-07-08 Thread omd via agora-discussion
at 11:26 PM, Reuben Staley via agora-discussion  
 wrote:



On 2020-07-07 23:59, Cuddle Beam via agora-business wrote:

I have no idea if this works, but it might be useful for certain
applications. Experimentation!!!
I create the following contract called "Contracoli":

Cuddlebeam is the sole member to this contract. After 24 hours have
passed since this instance of this contract has been created, a copy of
this contact (a new instance of it) is made. Cuddlebeam consents and  
agrees

with themselves that these new contracts are made in this specific way.

I hereby publicly consent to and agree with myself to have Contracoli
contracts be generated in the way described above.


As fun as this is, contracts cannot perform actions automatically. I  
guess you could amend it so that you CAN do so, but at that point,  
there's no real reason for the contracts to fork like this since you can  
just create a large number of dummy contracts and that would be probably  
just as effective at annoying the heck out of the Notary.


They can’t perform actions in general automatically.  But by Rule 2519 they  
can give consent, and CFJs 3849-50 held that consent is actually the  
mechanism for contract changes.  So I think this works.


Re: DIS: Re: BUS: [Contract] Public Lockers

2020-07-08 Thread omd via agora-discussion
at 11:06 PM, Cuddle Beam via agora-discussion  
 wrote:



I think that having single-party contracts feels / is safer. You can
arbitrarily amend it without needing to rely on anyone else and nobody else
can join it which adds another layer of speculative protection.


I don’t think single-party contracts are secure, though.  Regardless of  
what the text says about amendment, by R1742 it can always be done “with  
the consent of all existing parties”.  Consent can’t be given by someone  
acting on behalf of you, since R2519(1) says “acting as emself”… but it  
doesn’t have to be.  If the concern is that you’d get caught in a mousetrap  
contract that would allow others to act on behalf of you, that contract can  
also make you consent by R2519(2).


There's also a certain loophole in R2519 that makes the “acting as emself”  
guard useless...


Re: DIS: Re: BUS: Re: [Arbitor] CFJ 3864 Assigned to G.

2020-07-05 Thread omd via agora-discussion
at 4:51 PM, Kerim Aydin via agora-discussion  
 wrote:



In short, you’re saying that a rule does not “operate in a way that is
clearly contrary to legislative intent or common sense” if it only does so
in conjunction with other rules.


To do otherwise is an extreme judicial intrusion into the legislative
process.


Well, it’s not like the question is whether to rule “the scam is contrary  
to intent, therefore it doesn’t work”.  *That* would be a judicial  
intrusion into the legislative process.  But with Rule 2626, the question  
is merely whether to allow certain proposals to enter the legislative  
process without a fee.  Since they still have to be voted on, I’d argue  
that concerns about intrusion into the legislative process are at their  
nadir.



Even if you could, the unforeseen consequences would be only applicable to
the final piece of the puzzle, which was the creation of the ability to
create one's own blots and had nothing to do with welcome packages.


I'd say that adding the ability to create one’s own blots allowed Rule 2499  
(Welcome Packages) to operate in a way contrary to legislative intent and  
common sense, even if that rule was not actually amended at that point.   
After all, even aside from the general legislative intent against scams,  
Welcome Packages are clearly intended to be a limited resource rather than  
an infinite spring of riches.


But even if we assume that Rule 2555 (Blots) is the one operating in a way  
contrary, Rule 2626 doesn’t say that a patch proposal must therefore amend  
Rule 2555.  Regardless of which rule is at fault, “Welcome Package Patch”  
did “rectify” the “situation", and arguably did so minimally, since any  
other type of patch would probably have a larger impact on game mechanics.




DIS: Re: BUS: Re: [Arbitor] CFJ 3864 Assigned to G.

2020-07-05 Thread omd via agora-discussion
at 12:40 PM, Kerim Aydin via agora-business   
wrote:



So it does NOT meet the test in Rule 2626(1) on legislative intent (nor do
any of the other tests apply). It would be presumptuous, in this case, for
any judge or referee to overrule the legislature and find otherwise, when
every element of the overall "bug" was clearly functional and instituted
with legislative intent, and being used as intended.


In short, you’re saying that a rule does not “operate in a way that is  
clearly contrary to legislative intent or common sense” if it only does so  
in conjunction with other rules.


I disagree with such tunnel vision.  Most of what I’d call bugs in the  
ruleset involve a combination of rules, so from my perspective, your  
interpretation of Rule 2626 comes close to reading “bug” out of the rule,  
even if it leaves a tiny bit of room for “clearly malfunctioning text”.


Also, your judgement focuses on the “legislative intent” prong of Rule  
2626(1), but lacks any mention of the other prong, “common sense”.


For legislative intent, there may be a case that, if nobody thought about  
the interaction of that specific set of mechanics before passing the  
relevant proposals, the legislature can’t have any real intent on the  
matter.  Though even then – why am I assuming nobody thought about it  
(other than perhaps those involved in the scam)?  Simply because if they  
had, the proposals likely wouldn’t have passed.  In other words, there is a  
strong latent legislative intent not to create scammable mechanics, even if  
it wasn’t applied to this specific situation.


But even if that doesn’t count as intent, such speculation about voters’  
mental states is not needed to evaluate “common sense”.  For that, we need  
only consider what people (not necessarily voters) *would* think if asked  
about this particular “way” that the rule “operate[s]”.  And in this case,  
allowing anyone to instantly gain unlimited Cards by being repeatedly  
exiled is clearly a violation of common sense.  It may not be entirely  
clear which part of the scheme is the problem – which affects the question  
of "minimal rectification” – but it’s clear that there is a problem, and  
that’s enough to make the situation a Rule 2626 “bug”.


DIS: Re: [Contract amendment] BUS: [Dragon] Faster Ordinary Proposals

2020-07-03 Thread omd via agora-discussion
at 8:33 PM, James Cook via agora-business   
wrote:



An Ordinary Proposal has approval if the number of shares
owned by members voting FOR it is greater than the number of
Unsupportive players.


So is this a scam or just a mistake? :)

(Signed, a mere onlooker.)


Re: DIS: Re: BUS: Proposal: Upvotes

2020-07-03 Thread omd via agora-discussion
at 5:21 PM, Jason Cobb via agora-discussion  
 wrote:



I'm not sure whether this is enough to have R1586 automatically transfer
switch karma to asset karma.


Fair point.  I’ll change it to be more explicit before pending this (if I  
ever get enough cards to pend anything, anyway :).




Re: DIS: Re: BUS: Proposal: Upvotes

2020-07-03 Thread omd via agora-discussion
at 5:19 PM, Jason Cobb via agora-discussion  
 wrote:

 An asset generally CAN be transferred (syn. given) by announcement
  by its owner to another entity, subject to modification by its
  backing document. A fixed asset is one defined as such by its
  backing document, and CANNOT be transferred; any other asset is
  liquid.



I think this falls under "subject to modification by its backing document”.


Note that I have "Karma cannot otherwise be transferred or destroyed.” at  
the end.  I think that should suffice as "modification by its backing  
document”.


Re: DIS: Re: [Attn. Referee] Re: BUS: @Notary @Treasuror, I do the scam anyway

2020-07-02 Thread omd via agora-discussion

Arguments:

at 12:43 AM, Becca Lee via agora-discussion  
 wrote:



I clearly meant that i transfer the cards nch had, "those cards" into
products in 4 sets of 4. obviously i did not mean that 18 is 4x4.


Your rephrased version is still self-contradictory to my ears.  You didn’t  
say that you transferred 4 sets of 4 'out of' or ‘from’ those cards, or  
that you transferred 16 of the cards in 4 sets of 4, etc., but just that  
you transferred "those cards" “in 4 sets of 4”.  That equates “those cards”  
with “4 sets of 4”.


As an analogy, if an advertisement promised I could “pay the fee for this  
service in 4 installments of $40”, I would expect $160 to be the entire  
fee.  I would be quite dismayed to hear that it was only part of the fee,  
and there was also, say, a $20 surcharge not included in the installments.



this is so extremely obvious that you calling a CFJ on it is actually
harmful to gameplay.


It's obvious what you meant, at least given enough context.  It’s not at  
all obvious to me that what you said is close enough to what you meant.   
(You are lucky, however, that the “unambiguously and clearly specifying the  
action” standard from R478 seems to not apply here, so there may be more  
wiggle room for ambiguity.)


Re: DIS: Re: [Indictment] Re: BUS: actually fuck it

2020-07-01 Thread omd via agora-discussion


> On Jun 27, 2020, at 2:45 AM, Publius Scribonius Scholasticus via 
> agora-discussion  wrote:
> 
> On 6/26/20 11:50 PM, omd via agora-discussion wrote:
>> On Fri, Jun 26, 2020 at 5:39 PM Publius Scribonius Scholasticus via
>> agora-business  wrote:
>>> Here is the list of proposals that I believe were pended in this way —
>> 
>> I think my proposal "Reset deadlines when resetting the economy" was
>> also pended.
>> 
> 
> E did pend that illegally, but no finger has been pointed for that as
> far as I can tell.

How is this possible if e pointed fingers at emself "once for each proposal I 
just certified”?

I ask because, if the recent scam was in fact successful, e appears to have 
escaped effective punishment for the other instances.

Re: DIS: Hidden Action Fixes

2020-07-01 Thread omd via agora-discussion



> On Jun 30, 2020, at 5:45 PM, Aris Merchant via agora-discussion 
>  wrote:
> 
> On Tue, Jun 30, 2020 at 2:09 PM Aris Merchant via agora-discussion
>  wrote:
>> 
>> I'm working on a proposal to deal with hidden actions (such a G.'s burried
>> vote). It'll also handle cases where the identity of the player sending a
>> message is unclear. I'm done drafting the core, but I need to handle some
>> technical and confirming amendments; I should have a proto out in the next
>> day or two. Just letting everyone know so we avoid duplication of effort.
> 
> 
> A proto follows. Comments are, as always, welcome.

I haven’t looked at the wording in detail yet, but “by notice” is confusingly 
similar to “with notice” (i.e. dependent actions).


DIS: Re: BUS: [Contract, CFJ] Amusing Test Case

2020-07-01 Thread omd via agora-discussion



> On Jun 30, 2020, at 9:32 PM, Aris Merchant via agora-business 
>  wrote:
> 
> I CFJ "Aris MAY Call Destruction Down Upon the contract Amusing Test Case.”

Arguments: The amusement switch is not a real switch, anyway, because it is not 
"a property that the rules define as a switch”.  It’s just something analogous 
to a switch.

DIS: Re: BUS: [CFJ] Agoran Announcements

2020-06-28 Thread omd via agora-discussion



> On Jun 28, 2020, at 7:28 PM, nch via agora-business 
>  wrote:
> - If it refers to the announcement, what does it mean for an announcement to 
> be valid or invalid? Does an invalid announcement fail to have effect?

I’d argue that being valid or invalid is not an inherent property of the 
announcement.  Instead, ‘valid’ here means ‘suitable as a method to perform the 
aforementioned action’ – in other words, it modifies the meaning of “by 
announcement” as defined in R478.

DIS: Re: BUS: Birthday Tournament Regulations

2020-06-28 Thread omd via agora-discussion


> The Gamemaster CAN, by announcement, amend
> the  gamestate by substituting one Contestant into all instances of
> another  Contestant.

Extra space, and it’s pretty unclear what this means.

> the  victor is (1) the last contestant remaining.

Extra space, and what’s the (1) doing there?

> they  SHALL notify the Judge and publicly announce the identities of any

Extra space

> 8. At any time, any Contestant CAN submit a Proposal to change the rules

s/rules/regulations

> lasting from 0 UTC
> until 24  UTC
> 12 UTC
> 24 UTC

Extra space, and shouldn’t these have :00 appended?

> Not
> giving a  unit

space



DIS: Re: BUS: Proposal: Stop disincentivizing bugfixes

2020-06-28 Thread omd via agora-discussion


> On Jun 28, 2020, at 4:11 PM, Reuben Staley via agora-business 
>  wrote:
> 
> Don't know how everyone else is feeling about it but there is "Sponsored 
> Proposals" to fix this which IMO is more elegant of a solution.

I'm okay with that too, although I’m not a big fan of having to wait, and 
remember, to resolve a without-objection intent in order to pend one’s proposal.


Re: DIS: Re: BUS: Contract: SNOCS (Simple, No-Opportunity-Cost Sets)

2020-06-28 Thread omd via agora-discussion



> On Jun 28, 2020, at 5:12 PM, nch via agora-discussion 
>  wrote:
> 
> On 6/28/20 7:07 PM, omd via agora-business wrote:
>> Any player CAN join the contract by announcement; any party CAN leave the
>> contract by announcement.  Any party CAN remove another party from the 
>> contract
>> without objection.  Each party consents to the aforementioned membership
>> changes.
> 
> 
> What stops a party from starting a pool and leaving the contract before 
> they do the steps that require them to distribute the products?

This clause:

> (b) e does not intersperse them with any other attempted actions

where “them” refers to the actions in the procedure.  If this isn’t satisfied, 
there’s no consent to act on behalf, so e can’t get the pool started.

Re: DIS: Re: [Indictment] Re: BUS: [Proposal] Black ribbon patch

2020-06-26 Thread omd via agora-discussion
On Fri, Jun 26, 2020 at 2:32 PM Kerim Aydin via agora-discussion
 wrote:
> Can someone point me to the CFJ that says "authorized to" conditions are
> triggered by a CAN, but not a SHALL?  (specifically that look at the term
> "authorize", I'm just curious how much that highly-used but undefined in
> the rules word has been adjudicated).

This one is pretty close, in that it asks whether "X SHALL do Y"
resulted in the rules "authorizing" Y.  It's not quite on point,
though: as the judge of that case I simply assumed that "authorized"
meant "CAN", and focused instead on the question of whether that
particular SHALL implied a CAN.

https://faculty.washington.edu/kerim/nomic/cases/?3736


Re: DIS: Re: BUS: CFJ 3851 judged TRUE

2020-06-26 Thread omd via agora-discussion
On Fri, Jun 26, 2020 at 6:12 PM James Cook via agora-discussion
 wrote:
> I've thought it would be interesting to play a Nomic that starts with
> just one simple rule with text like "This is a Nomic; figure the rest
> out.". Or just on rules written down explicitly.

Back in 2008, there was a short-lived nomic called "Nomic 217", whose
initial ruleset consisted in its entirety of this paragraph copied
from Agora's Rule 217:

  When interpreting and applying the rules, the text of the rules
  takes precedence. Where the text is silent, inconsistent, or
  unclear, it is to be augmented by game custom, common sense, past
  judgements, and consideration of the best interests of the game.


Re: DIS: Apathy warning

2020-06-26 Thread omd via agora-discussion
On Wed, Jun 24, 2020 at 5:52 AM Jason Cobb via agora-discussion
 wrote:
> Explanation for those curious:
>
> The attachment was the EICAR antivirus test file, which everything is
> supposed to treat as malware, but is really just a 68-byte text file.
> Gmail wouldn't even send it from my own account, which is why I had to
> use protonmail.

Indeed, Gmail rejected the list server's attempts to deliver it:

Error: 552 5.7.0 This message was blocked because its content presents
a potential security issue. Please visit
https://support.google.com/mail/?p=BlockedMessage to review our
message content and attachment content guidelines. a66si14491710pfb.91
- gsmtp

If there hadn't been objections, this would be similar to CFJ 1905:

https://faculty.washington.edu/kerim/nomic/cases/?1905

But slightly different, since the message was dropped by list
subscribers' mail servers rather than the list server itself.


DIS: Re: [Indictment] Re: BUS: actually fuck it

2020-06-26 Thread omd via agora-discussion
On Fri, Jun 26, 2020 at 5:39 PM Publius Scribonius Scholasticus via
agora-business  wrote:
> Here is the list of proposals that I believe were pended in this way —

I think my proposal "Reset deadlines when resetting the economy" was
also pended.


DIS: Re: BUS: Statement from the Opposition

2020-06-25 Thread omd via agora-discussion
On Thu, Jun 25, 2020 at 12:12 PM Jason Cobb via agora-business
 wrote:
> Free Tournaments require only 2 Agoran consent to initiate, while
> Emergency Regulations require 3, so the easiest option is a Free
> Tournament that automatically grants a certain person the win.

3 Agoran Consent is hard but perhaps not impossible.  Currently, my
Emergency Regulation intent has objections from the 2 scam team
members, and support from 3 people including me.  If nobody else
objects, we could pass it with 7 support, so 4 more...


DIS: Re: BUS: general objection

2020-06-24 Thread omd via agora-discussion



> On Jun 24, 2020, at 6:55 AM, Kerim Aydin via agora-business 
>  wrote:
> 
> 
> I object to any and all intents to declare apathy.

But does this adequately identify the intents being objected to?

(I think there might have been a CFJ along those lines in the past.)

Re: DIS: Re: BUS: [Emergency] Mass Destruction

2020-06-22 Thread omd via agora-discussion
On Mon, Jun 22, 2020 at 8:33 PM Jason Cobb via agora-discussion
 wrote:
> But you're not PM...

For now.


Re: DIS: Re: BUS: Archival disclosure

2020-06-21 Thread omd via agora-discussion
On Sun, Jun 21, 2020 at 8:45 PM Aris Merchant via agora-discussion
 wrote:
> My understanding is that this is an intentional noncomformance on the part
> of mailman. As far as I can recall, it's not a bug. They just decided to
> ignore the standard. There are scripts that will transform it to standard
> format. I used to have a link as a citation for this, but I've since lost
> it.

This suggest that it was actually fixed at some point:

https://bugs.launchpad.net/mailman/+bug/266000

And indeed... if you look at the message to agora-business with
Message-ID: 
,
the "From R. Lee" is escaped.

But that fix wouldn't affect older messages already in the mbox file.


Re: DIS: Re: BUS: [Promise] Treasure

2020-06-21 Thread omd via agora-discussion
On Sun, Jun 21, 2020 at 7:23 PM Jason Cobb via agora-discussion
 wrote:
> I believe this fails because promises cannot possess promises

Why not?


Re: [Poll] A chat client for Agora (was Re: DIS: Re: BUS: Leaving or something like that)

2020-06-21 Thread omd via agora-discussion
On Sat, Jun 20, 2020 at 3:24 PM Reuben Staley via agora-discussion
 wrote:
> So here comes the poll part: what does everyone think about a chat client?
> IRC or Discord? Something open like Matrix? There are lots of options here.
> What's the call?

In addition to Matrix, open source options include Mattermost,
Rocket.Chat, and Zulip.  I'm willing to host any of those if desired,
although that would probably not be necessary for Matrix since it has
existing free public servers.

As far as I know, those alternatives are largely on par with Discord
in terms of pure functionality.  But that's only part of the story.
If you're on Discord, you can see all your Discord "servers" (i.e.
communities; they're not actually independently hosted) in one
integrated interface.  That makes it easy and convenient to add
another server; personally, I'm on dozens of servers, even though I
rarely even use Discord!  In contrast, using another chat site, even
if it looks like Discord, requires you to actively keep that site open
in your browser.

In other words, Discord has a strong proprietary lock-in.  I'm pretty
annoyed by it, but I don't much blame Discord itself.  I blame the
world for not coming up with better third-party chat clients, ones
capable of integrating multiple independent chat services into one
interface.  There are many IRC clients; there were many AIM/Yahoo/MSN
clients back in the day; where are the "Slack-alike" clients?  There
are ways to connect IRC clients to these services, but they tend to
lose functionality (e.g. edits and formatting).  You'd think it would
be possible to connect Matrix clients to them, but I haven't seen a
gateway that works well for personal use.

On the other hand, more on-topic, there *is* a relatively robust
ecosystem of tools to publicly bridge channels on different services,
where a bot connects to each channel and relays all messages from the
other channel.  For example, there's matterbridge, which, despite its
name referring to Mattermost, is a:

> bridge between mattermost, IRC, gitter, xmpp, slack, discord,
> telegram, rocketchat, steam, twitch, ssh-chat, zulip, whatsapp,
> keybase, matrix, microsoft teams and more with REST API (mattermost
> not required!)

So we could set up a Discord community and then bridge it with IRC.
This can sometimes have awkward results [1], but from what I've heard
it basically works.

[1] https://drewdevault.com/2019/07/01/Absence-of-features-in-IRC.html
(I disagree with the overall thesis, but it shows the problem with
bridges)


DIS: mini-Troubles (*sigh*)

2020-03-20 Thread omd via agora-discussion
The list was silently dropping messages for 3 hours or so.  It should
be working now.

This started when I "fixed" the SMTP server's RCPT TO whitelist, which
had previously been nonfunctional, to only allow mail to specific
valid x...@agoranomic.org addresses.  This was meant to block invalid
incoming mail.  Unfortunately, I didn't realize that this whitelist –
unlike the more coarse-grained recipient-domain whitelist that was
always in place – also applied to *outgoing* mail, such as copies of
messages sent from the list to subscribers.  So the list received
messages, and added them to the archives, but, since list subscribers'
email addresses are not @agoranomic.org, the SMTP server refused to
deliver them to anyone.

Since this was a permanent failure code, Mailman then dropped the
messages on the floor rather than leaving them in a queue to be
auto-redelivered.  I tried redelivering them semi-manually based on
the archives copy, but gave up: in part because it wasn't working, in
part because I realized I didn't want to create any legal ambiguity
regarding authorship.  (G., that experimentation is why you just got a
bounce notification or two from "test-list".  Sorry about that.)

Here are the affected messages.  I suggest resending the PF ones, as
they aren't valid public messages without being delivered to
subscribers.

https://mailman.agoranomic.org/cgi-bin/mailman/private/agora-business/2020-March/042431.html
(BUS: Re: OFF: [Herald] A Huff that Slipped Through the Cracks)
https://mailman.agoranomic.org/cgi-bin/mailman/private/agora-official/2020-March/013542.html
(OFF: [Arbitor] Court Gazette)
https://mailman.agoranomic.org/cgi-bin/mailman/private/agora-discussion/2020-March/057155.html
(DIS: Mailing List woes?)

Plus 3 more test messages on a-d I won't bother linking.

Sorry for the inconvenience.


Re: DIS: Numbers and dependent actions

2020-02-15 Thread omd via agora-discussion
On Fri, Feb 14, 2020 at 8:51 PM Edward Murphy via agora-discussion
 wrote:
> > "Without objection" and "without objections" both sound okay to me. I
> > prefer the first, but I don't know why. Maybe I'm just used to it.
>
> The second makes it sound like there need to be objection/s/, plural, to
> block the relevant action.

I'd interpret it as only requiring one objection, myself.  But
"without objections" would be short for "without any objections",
logically equivalent to "with 0 objections", but different from
"without 0 objections".  So it wouldn't be a matter of N defaulting to
0.  Indeed, "any" effectively means "1 or more", and the "or more" is
implied, so we're left with "without 1 objection".

In any case, "without objection" is actually a stock phrase from
parliamentary procedure.  "Without objections" is also used sometimes,
but not as often:

https://books.google.com/ngrams/graph?content=without+objection%2Cwithout+objections_insensitive=on_start=1500_end=2008=15=3=_url=t4%3B%2Cwithout%20objection%3B%2Cc0%3B%2Cs0%3B%3Bwithout%20objection%3B%2Cc0%3B%3Bwithout%20Objection%3B%2Cc0%3B%3BWithout%20objection%3B%2Cc0%3B.t4%3B%2Cwithout%20objections%3B%2Cc0%3B%2Cs0%3B%3Bwithout%20objections%3B%2Cc0%3B%3BWithout%20objections%3B%2Cc0


Re: DIS: reply-to headers always pointing to this list

2020-02-14 Thread omd via agora-discussion
On Fri, Feb 14, 2020 at 9:28 AM Alexis Hunt via agora-discussion
 wrote:
> On Fri, 14 Feb 2020 at 12:18, sukil via agora-discussion
>  wrote:
> > Yup, makes sense. Thanks! I believe this could be documented somewhere
> > just in case (maybe I missed it?).
>
> The mailing lists have historically been largely outside the game's
> rules and managed informally. List etiquette, shorthands, and similar,
> have also similarly been managed mostly informally. The title of
> Disributor, the person responsible for operating the mailing lists,
> has gone for extended periods where it wasn't even recognized in the
> rules. About as close as we come is that, occasionally, some changes
> to mailing list configuration are formally requested of the
> Distributor by way of proposal, in order to act as a poll of Agorans.

Yep, but speaking as the Distributor, I think it would be nice to have
better documentation.  (Not necessarily volunteering to write it
though. ;))


Re: DIS: Fwd: failure notice (attn. Distributor)

2020-02-14 Thread omd via agora-discussion
On Fri, Feb 14, 2020 at 8:51 AM Aris Merchant via agora-discussion
 wrote:
> H. Distributor, or anyone else really, do you know what to make of
> this? The original message went to the list and shows in the archive.

Huh.

TL;DR: You can safely ignore the bounce; sorry for the spam; it
shouldn't happen again.

So, in late December, I was trying to track down which messages had
been delivered and which hadn't, and I was frustrated that qmail's
logs only identified messages using arbitrary (and frequently-reused!)
identifiers, and in particular didn't include Message-IDs.  To address
this for the future, I added a hacky workaround based on a suggestion
[1] I found by Googling.  Basically, qmail is configured to 'forward'
all incoming and outgoing mail to l...@vps.qoid.us, which is an alias
for a command that simply prints the Message-ID to stdout (and
otherwise discards the forwarded copy).  The printed Message-ID should
then end up in qmail's log file.

Apparently it was a bad suggestion, because for some reason the
command occasionally fails with the "broken pipe" error.  But only
occasionally!  Most of the time it works as expected.  I have no idea
what makes the difference.  The forwarded copy is treated like any
other message, so qmail will keep trying to 'deliver' it, but if the
same copy fails enough times it'll result in a bounce.

Based on logs, the issue appears to have only affected the copy of the
message forwarded to the log alias; the original, 'real' delivery
still worked as usual.  So it was harmless, other than causing
Message-IDs to not be logged when they should be, and generating
annoying bounce messages.

Now... last weekend I said that I had switched from qmail to Haraka
for incoming and outgoing mail.  (In fact, the Message-ID issue was
one of the papercuts that spurred me to make the switch.)  However,
qmail isn't actually completely gone yet.  For now I have Haraka
configured to use the built-in queue/qmail-queue plugin, which means
that after Haraka's SMTP server receives a message for a 'local user'
(such as agora-discussion@agoranomic.org), it invokes qmail to
actually deliver it.  Normally, qmail will in turn just pipe the
message to the Mailman binary, so it would be nice to cut out the
middleman – but I don't think Haraka has a built-in option to pipe
messages to arbitrary commands, and I'm planning to upgrade to Mailman
3 eventually anyway (which receives incoming mail using LMTP rather
than a command).  As it is, the qmail daemons are still running
(except smtpd), which means they can still send bounces, and generate
new ones.

However, Haraka has its own logs (which include the Message-ID
natively), so at this point I don't care much about qmail's logs.
Although I'm curious about the root cause of the "broken pipe" error,
I've worked around the issue by pointing the log alias to "|cat
>/dev/null" instead.  Hopefully that eliminates the bounces.  Please
let me know if you get any more.

[1] http://www.lifewithqmail.org/lwq.html#queue_extra


DIS: [Distributor] List update

2020-02-09 Thread omd via agora-discussion
I've mostly finished switching the list's SMTP server from notqmail (a
qmail fork) to Haraka.  Kind of a funny juxtaposition.  Qmail is a C
program whose design was already traditionalist when it was written in
1995, and it hasn't changed much since then.  These days it's used
mostly by hipsters. ;)  Haraka, on the other hand, is written in
node.js!  As much as I like qmail, I wanted to take advantage of
Haraka's flexible plugin system to implement the functionality I want:
custom From address munging applied on a per-recipient level, only
after an initial un-munged delivery attempt fails.  I haven't actually
finished that yet, but it's close.

I first set up Haraka last weekend, reimplemented the subscribers-only
filter, and trialed it by having Mailman use it to deliver only list
messages I wrote myself.  (That way I could test deliverability to
everyone without spamming them with test messages, while minimizing
disruption if it didn't work.)  This weekend, I didn't have enough
energy to do much, but since logs didn't show any delivery failures
for the handful of messages I've sent since then, I thought I might as
well finish switching to Haraka.  It's now handling all deliveries as
well as incoming mail.  Please let me know if there are any issues.


Re: DIS: Re: BUS: Re: OFF: [Arbitor] CFJ 3787 Assigned to omd

2020-02-09 Thread omd via agora-discussion
On Sun, Feb 9, 2020 at 10:00 AM Edward Murphy via agora-discussion
 wrote:
> I'm also generally catching up on ADoP recordkeeping. Little over half
> done, so a report should be coming up within the next hour or two.

Welcome back :)


Re: DIS: PSA: Online ruleset viewer

2020-02-09 Thread omd via agora-discussion
On Sun, Feb 9, 2020 at 1:11 PM Gaelan Steele via agora-discussion
 wrote:
> FYI, for anyone in need of a more up-to-date ruleset, my online ruleset 
> viewer (https://agora-ruleset.gaelan.me) is based on the Rulekeepor’s GitHub 
> repository, so it may be (and is, at the moment) more up to date than the 
> latest SLR.

Cool.  Is the source code for the generator available anywhere?


Re: DIS: [proto] Retroactive Events: a refactor of ratification

2020-02-02 Thread omd via agora-discussion
On Sun, Feb 2, 2020 at 5:27 AM Tanner Swett via agora-discussion
 wrote:
>
> On Sat, Feb 1, 2020, 19:41 omd via agora-discussion <
> agora-discussion@agoranomic.org> wrote:
>
> >   A rule may state or imply that 'X is treated as if it
> >   were Y', but this is considered an attempt to redefine X,
> >   subject to the usual standards for definitions.
> >
>
> What's the purpose of this? Does that mean if there were a rule saying
> "George Washington is treated as if e were still alive", this would be
> considered an attempt to redefine George Washington?

Hmm... Good point.  It shouldn't be.  The point was to clarify that
even if the gamestate doesn't have a list of legal fictions, legal
fictions can still exist due to rules (which are themselves part of
the gamestate).  Perhaps it should say:

  A rule may define legal fictions to be used by other rules that
  it takes precedence over.

Or perhaps Falsifian is right that it would be better to just remove that part.


Re: DIS: test

2020-02-02 Thread omd via agora-discussion
On Sun, Feb 2, 2020 at 6:01 PM comex  wrote:
> Now testing if Haraka can deliver to everyone.

...except that didn't actually use Haraka because I sent from the
wrong address.  This time for real.


Re: DIS: [proto] Retroactive Events: a refactor of ratification

2020-02-01 Thread omd via agora-discussion
On Sat, Feb 1, 2020 at 8:17 AM James Cook via agora-discussion
 wrote:
> This is a counter-proto to Alexis's "Ratification by Legal Fiction", in
> the sense that I think it also fixes the problem of ratification
> failing due to minimal gamestate changes being ambiguous. It is a more
> radical change and makes the use of ratification less concise, but in
> my opinion the reward is that it greatly increases simplicity and
> certainty in what the effect of ratification actually is.

Proto-proto: Overturn CFJ 3337

[Treat the scope of ratification the way I always assumed it should be
treated... including when I wrote the current wording of Rule 1551,
back in 2010.  (Previously, Rule 1551 had stated that "the gamestate
is minimally modified so that the ratified document was completely
true and accurate at the time it was published; I added the "what it
would be" clause.)

I believe this is orthogonal to your counter-proto; it could go
together with it, or it could serve as a basis for a more conservative
fix.  For what it's worth, if you *don't* want these semantics, I
think you should have Rule 1551 say so more explicitly; in particular,
you should clarify the meaning of "what it would be".]

Create a new Power-3 Rule, titled "Gamestate":

  The gamestate of Agora consists of the Rules, together with all
  other entities and properties defined by the Rules.  It does not
  include a mutable record of its own history: when the Rules
  refer to past game states or events, they refer to the actual
  past.  Nor does it include a list of 'legal fictions', or false
  statements about external reality to be treated as true for game
  purposes.  A rule may state or imply that 'X is treated as if it
  were Y', but this is considered an attempt to redefine X,
  subject to the usual standards for definitions.


DIS: Re: BUS: Re: OFF: [Arbitor] CFJ 3788 Assigned to Jason Cobb

2020-02-01 Thread omd via agora-discussion
On Sat, Feb 1, 2020 at 3:10 PM Jason Cobb via agora-business
 wrote:
> I agree with the caller that the "minimal change" caused by ratification
> does not insert events to cancel out the changes it just made. Instead,
> the ratification simply fails to adjust the gamestate except at the
> modification date. The ratification itself does not cancel out its own
> changes; the changes are simply not propagated through time.

In this case, the resulting fictional history implies that the switch
value changed without any event to make it change.  I'd argue that
this constitutes an "inconsistenc[y] between the gamestate and the
rules".  Changing Publicity is a regulated action, since it "would
[..] modify information for which some player is required to be a
recordkeepor".  As a result, it "CAN only be performed as described by
the Rules, and only using the methods explicitly specified in the
Rules for performing the given action" (R2125).  Also, Publicity is a
secured value, which means that it's "IMPOSSIBLE [..] to set or modify
that value, except as allowed by an Instrument with Power [>= 3]"
(R1688).  Both of these contradict the notion that the value can
change for no reason at all.  You might argue that ratification itself
was described in the Rules as a method of making gamestate changes,
and was allowed by a Rule with Power >= 3.  And that's arguably what
allows the original flip to Discussion.  But I find it harder to
believe that ratification was the cause of the 'flip by omission' back
to Public, when the reason the flip supposedly exists at all is as a
natural consequence of ratification *not* making a change.


Re: DIS: Re: BUS: Re: OFF: Fwd: [Arbitor] CFJ 3796 Assigned to omd

2020-02-01 Thread omd via agora-discussion
On Fri, Jan 31, 2020 at 9:25 PM Tanner Swett via agora-discussion
 wrote:
> Would this ordinance have any "fighting chance" against the United
> States Constitution? One may say that yes, it would. After all, the
> Constitution is part of United States law, and the ordinance is also
> part of United States law. The Constitution claims precedence over the
> ordinance ("This Constitution [...] shall be the supreme Law of the
> Land"), but the ordinance also claims precedence over the
> Constitution. And there is (as far as I know) no "third law"
> explaining how to resolve conflicts between the Constitution and city
> ordinances.

Well, every new judge, lawmaker, and naturalized citizen swears an
oath to defend, not United States law as a whole, but the
Constitution.  That oath can serve as the "third law", although I
don't think the existence of the oath is *necessary* for the
Constitution to win this hypothetical.

> But that's nonsense, isn't it? The Constitution is supreme, and other
> laws can't wrest this supremacy away from it simply by saying so. Or,
> at least, that's the conclusion we would like to be able to come to.
> And in order to come to this conclusion, we have to hold, as an axiom
> of law, that supremacy is "sticky"—if circumstances change such that
> two laws each claim precedence over each other, then the law which was
> supreme before the change remains supreme after the change.
>
> I think many would agree that the supreme law of Agora currently
> consists of those rules whose Power is 3 or greater.

I agree that supremacy can be "sticky", but I disagree that it exists
implicitly in Agora.  The Constitution makes it quite clear that
normal laws have a second-class status, both with the supremacy clause
itself, and implicitly with the large number of clauses dedicated to
limiting what normal laws can do: enumerated powers, Bill of Rights,
etc.  In contrast, all we have in Agora is a conflict resolution
clause, between rules that otherwise seem to be part of the same
document, the same "law".  We say that Agora is defined by its
ruleset, or its Rules; we don't define it by 'its Rules of Power 3 or
greater', and then leave it to those rules to recognize any lesser
rules.

However, I was thinking of proposing an Agoran constitution as a fix
for the scam.  It would basically just be taking a selection of
Power-3 rules and rechristening them 'constitutional articles' or
something, but then adding language saying the constitution alone is
the platonic successor of the prior ruleset, and the other 'rules' are
moved to a new, inferior status.  It might also be an opportunity to
shake things up a bit, restyling so it feels like a proper
constitution...


Re: BUS: Re: DIS: A quirk in the CFJ archives

2020-01-31 Thread omd via agora-discussion
On Thu, Jan 30, 2020 at 11:32 PM Kerim Aydin via agora-discussion
 wrote:
> Drat kinda boring:
> https://faculty.washington.edu/kerim/nomic/cases/?3805

The word wrapping broke the script.


Re: DIS: [Proto] [Possibly Urgent] Ratification Changes

2020-01-30 Thread omd via agora-discussion
On Thu, Jan 30, 2020 at 10:18 AM Alexis Hunt via agora-discussion
 wrote:
> A fact is either a natural fact or a legal fact. A natural fact is a
> fact which is extrinsic to Agoran law, such as whether a message
> expresses a particular intent, or whether or not an entity is an
> organism. A legal fact is a fact which is intrinsic to Agoran law,
> such as the state of a rule-defined value. A legal fiction is a kind
> of legal fact which overrides other natural and/or legal facts. Legal
> fictions must be established explicitly.

I agree that it's not clear from this proto why we need to
differentiate natural facts from legal facts.  One potential reason I
can think of is that the rules can change legal facts, whereas they
can only paper over natural facts.  But the definition of legal
fiction here seems to pick the "paper over" approach regardless of the
subject.

> A legal fiction must be defined with respect to a specific point in
> time, or to a specific period of time, which CANNOT be in, or extend
> into, the future beyond its creation.

By analogy with the officeholder-despite-non-player example, if a
legal fiction is established that a second legal fiction exists
despite the point in time being in the future, does that state persist
until disturbed?

> A legal fiction's direct effects
> are retroactive to the time so specified, for which it operates
> notwithstanding any rule to the contrary. Beyond that time, its
> effects are limited to the natural consequences of its direct effects

Missing a period at the end of the paragraph.

What is a "direct effect"?  What is a "natural consequence"?

How complicated can the natural consequences be?  You establish later
that it can be something like "Michael Norish is the Registrar despite
not being a player".  Can the complexity be extended to effectively
amount to a rule, like "Michael Norrish CAN submit a proposal by
announcement, despite not being a player"?  If not, it should be more
clear why not.

Regardless, there should be an office responsible for tracking ongoing
"natural consequences" of (known) legal fictions.

> A legal fiction does not operate retroactively prior to the specified
> time, nor does it reason backwards to affect the preconditions for the
> state it specifies. Thus, it CAN cause result in a state which would

Extraneous "cause".

> otherwise be IMPOSSIBLE to have attained under the rules at the time.
> Such an impossible state CAN persist beyond the time of effect,
> provided that nothing occurs or has occurred since to disturb it.

"occurs or has occurred" is redundant; pick a tense.

CAN is probably the wrong term here and elsewhere: what does it mean
exactly that "attempts to perform the described action are
successful"?  (Under your other proto, could any person cause an
impossible state to persist beyond the time of effect with Agoran
Consent?  You can't say it's not an action, since it says "action"
right in the definition.)  I'd just say that the state does persist
beyond the time of effect.

> [I would love to be more clear with the last sentence, but I do not
> want to be because either way could have bad effects. If we become too
> sensitive to definition changes, then they could cause massive
> unwinding of legal fictions. But if we are too strict, then
> redefinition of terms could cause previous legal fictions to propagate
> in an undesirable manner. And I tried to think of an interpretive
> guide based on the actual effect of a legal fiction relative to an
> underlying fact, in the manner similar to focusing on the ratio
> decendi of a judgment, but that undermines the idea that legal
> fictions created by mechanisms like ratification are intended to
> eliminate the need to look at the underlying facts.]

Meh.  I understand the motivation to avoid specificity, but the
resulting text is *very* vague.  The example helps, though.

> Even with such a
> rule, however, if a legal fiction was established that the person held
> the office for a period of time, then e would be the officeholder for
> that entire time, and would not constantly oscillate in and out of
> office.

While I understand what you mean, the use of this particular example
is somewhat confusing given that typical ratification of office
holdings (in the form of the ADoP's report) covers an instant rather
than a period of time.

> [Detailed examples are unusual in Agora, as in law, but I see no
> reason not to include one here, and sometimes they serve as the best
> interpretive guides.]

I agree.

> Legal fictions are evaluated in chronological order,

What does it mean for a legal fiction to be evaluated?  Does the first
thing to be evaluated take precedence, or the last thing?

> and CAN override
> previous legal fictions or result in reinterpretation of history so as
> to result in the establishment or non-establishment of legal fictions
> in the intervening time.

So it retroactively creates or destroys 'real' legal fictions?  Or
does it just create a 

Re: BUS: Re: DIS: Re: OFF: [Assessor] Resolution of Proposals 8287-8307

2020-01-29 Thread omd via agora-discussion
On Wed, Jan 29, 2020 at 5:52 PM Alexis Hunt via agora-business
 wrote:
> [Note that the existing "more than one option" text is basically
> tautologically true and practically useless anyway. PRESENT is an option,
> so only a decision with no other options would only have one. And even if
> we changed it, we short-circuit single-candidate elections so we might as
> well just drop that text.

PRESENT is a valid vote, not a valid option.


DIS: Re: BUS: [Proposal] Help with Forgotten Announcements, Support Improvements

2020-01-29 Thread omd via agora-discussion
On Wed, Jan 29, 2020 at 1:45 PM Alexis Hunt via agora-business
 wrote:
> Enact a new power-1 rule entitled "Default Mechanisms" reading as follows:

I feel like this makes more sense in a high-power rule so it doesn't
break with secured actions.

The broad wording also makes me very nervous about scams.  Admittedly,
after a cursory search, I can't find anything in the ruleset that
would be clearly scammable.  But I did find this:

  A rule can also designate that a part of one public
  message is considered a public message in its own right.

Can any person, by Agoran Consent, cause a rule to designate that part
of a public message is considered a public message in its own right?
If not, where do the Rules "state the mechanism by which" a rule can
do so?  Admittedly, the intended mechanism is clear, but it's not
explicitly mentioned in connection with this clause.  Is it implicitly
"stated" as part of the sentence as a whole?  Or perhaps some of the
wording in Rule 2141's first paragraph (e.g. "A rule's content takes
the form of a text, and is unlimited in scope.") counts as "stating" a
mechanism?  The latter sounds more plausible to me, and I think I'd
judge that it does, but it's still a close call.

That said, being able to pull off a scam with Agoran Consent would not
be the end of the world either.


Re: DIS: Re: BUS: Editorial Guidelines

2020-01-29 Thread omd via agora-discussion
On Mon, Jan 27, 2020 at 9:07 PM Gaelan Steele via agora-discussion
 wrote:
> Personally, I’m vaguely of the opinion that we should switch to they/them 
> instead of Spivak in general. Our use of Spivak now feels like using Betamax 
> in 1990—sure, it was probably better, but the other one won and it’s silly to 
> keep doing our own thing.

+1.


Re: DIS: Fwd: OFF: Short Logical Ruleset [July 6 2001]

2020-01-29 Thread omd via agora-discussion
On Tue, Jan 28, 2020 at 11:36 AM Kerim Aydin via agora-discussion
 wrote:
> I found a random old mbox in a personal archive a while back, that had
> Agoran emails from Jun - Aug 2001 (probably from a temporary filter
> setup, everything around that is lost).  It was mostly ephemera but
> just realized from this discussion that an SLR snapshot might be
> useful to historians... close missing gaps a little.  Strangely enough
> there were no FLRs I might have filtered them differently or
> something.

Cool!  Looking at Zefram's old archives, there's no mail from that
period; it's right after the end of agora_vanyel0.  However... we do
have the ruleset from then already, because it's a few months after
the start of the 2001-2014 FLR RCS file:

https://github.com/comex/flr/blob/824402746224bc64c2e6e695871450c75ecfcb2e/current_flr.txt

But I'm interested in the rest of the mail, even if it is ephemera.
Any chance you can upload a copy of the mbox?  Perhaps on GitHub for
safekeeping...


DIS: Re: BUS: Re: OFF: [Assessor] Resolution of Proposals 8287-8307

2020-01-28 Thread omd via agora-discussion
On Tue, Jan 28, 2020 at 7:47 PM Jason Cobb via agora-business
 wrote:
> I earn 5 coins for assessing a proposal.

You can't, because P8295 made it so the ADoP has to do this.  (And is
also broken, so nobody can do it.)


Re: DIS: Reply-To Headers

2020-01-28 Thread omd via agora-discussion
On Tue, Jan 28, 2020 at 4:07 PM Alexis Hunt via agora-discussion
 wrote:
> The list is what sends out the final messages, not your provider.

The list is currently configured to append the list address to
Reply-To rather than overwriting it; I could change this.  Looking at
the archives, it seems like twg's messages, as originally received by
the list, have a redundant Reply-To header containing the same value
as the From header.


Re: DIS: The Very Worst Thing That Could Possibly Happen (Attn. Distributor)

2020-01-28 Thread omd via agora-discussion
On Tue, Jan 28, 2020 at 12:47 PM Jason Cobb via agora-discussion
 wrote:
> Couldn't someone just zip the files and put them in a public GitHub
> repo? If we really cared, the zip files could be encrypted and the
> password could be put in the README, since I think most of the major
> operating systems have builtin support for encrypted ZIPs.

Putting everything in one zip file would require Git to store a
separate copy of the file for each revision, since Git doesn't do
binary diffing.

There are alternatives, like one zip file per message or per month or
something; they're just a bit inconvenient.  But personally, I think
the idea of keeping email addresses hidden from spammers is pretty
outdated at this point.  I'd rather abandon it, and then be able to
use the standard maildir format for the Git repo.

However, I vaguely remember having proposed this in the past, and
someone objecting to it.  But I can't find the thread; searching for
"scrapers", only this thread comes up.  I could be misremembering.

I can at least put it through the formal proposal process, by
submitting a proposal expressing the sense of Agora that it's okay to
publish players' email addresses on the web.  However, that only
accounts for current active players.  If I published a copy of the
list archives, it would probably be everything going back to 2002
(when the Mailman list was created, under a previous Distributor), so
it would expose former players' addresses.  In theory I could split
the archives – a static obfuscated zip file for the past, unobfuscated
files for the present onward – but ugh, I really don't want to do
that.  Agoran historical records have enough fragmentation as it is.


Re: DIS: The Very Worst Thing That Could Possibly Happen (Attn. Distributor)

2020-01-28 Thread omd via agora-discussion
On Tue, Jan 28, 2020 at 7:29 AM Matthew Berlin via agora-discussion
 wrote:
> A custom Agora blockchain for the ruleset and BUS actions? I'd
> certainly be up for running a node...and could help with dev,

I mean, Git is a blockchain. :)


Re: DIS: The Very Worst Thing That Could Possibly Happen (Attn. Distributor)

2020-01-28 Thread omd via agora-discussion
On Mon, Jan 27, 2020 at 10:12 PM Gaelan Steele via agora-discussion
 wrote:
> Speaking of which, last I checked, the link (at the top of the mailman 
> archive) to download the full archive is broken.

Fixed.  Seems like a Mailman bug introduced in this commit [1], which
nobody has noticed in over a year... I guess I should report it.

But a long time ago I set up an alternate way to download the
archives, directly through the web server so it supports range
requests etc.:

https://agora:no...@mailman.agoranomic.org/archives/

Each mbox file is append-only, so you can use the "continue download"
option of your favorite tool to sync without having to redownload the
whole thing:

 wget -c https://agora:no...@mailman.agoranomic.org/archives/agora-business.mbox

The authentication was added out of concern for ancient etiquette
rules about exposing email addresses to web scrapers.  Almost
certainly pointless these days.  Especially, in our case, considering
that Registrar's report is published on the web, and includes all
players' email addresses, obfuscated only by replacing "@" with " at
", which I doubt stops any scrapers (but who knows).

I suppose I could mirror the archives on GitHub, which would be less
idiosyncratic and more resilient to me getting hit by a bus.  That
would, however, imply giving up on obfuscating email addresses, unless
I made the repo private (which defeats the purpose of resilience) or
obfuscated the repo contents somehow (which defeats the purpose of
avoiding idiosyncracy).  Thoughts?

[1] https://www.mail-archive.com/mailman-checkins@python.org/msg09051.html


Re: DIS: Re: BUS: CFJs 3784, 3785, and 3785.5 judged FALSE

2020-01-18 Thread omd via agora-discussion
On Sat, Jan 18, 2020 at 2:48 PM Kerim Aydin via agora-discussion
 wrote:
> So this judgement actually extends the concept of physical reality quite a
> bit, by saying "even though no rule outright forbids this, we're still
> saying it's R106-prohibited due to our (unwritten) precedents about assets."
> I'm not saying it's wrong, but I think it's important enough that it should
> be brought into the judgement directly.

I'd say it's not prohibited so much as logically meaningless.  The
rules don't explicitly define "transfer", but by the ordinary language
meaning, if you transfer 5 coins from yourself to A, you must end up
with 5 fewer coins.  Creating 5 coins out of thin air in A's account
is logically possible, but it's not a "transfer", so it's simply not
what the proposal would be requesting.

Now, in ordinary language, we sometimes treat currency as a sort of
abstraction for an account balance.  "I have 5 dollars" might mean I
have 5 physical objects that are dollars, or it might mean that my
account balance is $5.  This matters because account balances can go
negative; if you have $0 and try to transfer $5, it might succeed and
leave you with $-5 (and an overdraft fee).

But Rule 2166 defines an asset as an "entity", albeit one which
according to Rule 2578 is "fungible".  Thus, account balance is an
abstraction for the number of entities with you as their owner;
ownership is not an abstraction for account balance.  I think we've
had rules before that defined currency balance as a switch, which
would accomplish the latter, but not currently.

As such, while the proposal is requesting that it end up with 5 fewer
coins than it did before, there is simply no possible change to the
state of asset holdings that would actually accomplish that goal.  It
may as well ask for 2 + 2 = 5.


DIS: Re: BUS: [proposal] kamikaze

2020-01-12 Thread omd via agora-discussion
On Sun, Jan 12, 2020 at 8:46 PM Kerim Aydin via agora-business
 wrote:
> Create a Power=2 Rule, "Sacrifice", with the following text:
>
>   The Shogun CAN sacrifice eir honour by publishing a valid Notice
>   of Honour that decreases eir own honour by one, while in the
>   same message clearly specifying a decision to adopt a proposal
>   that is in its voting period.  The Shogun's voting strength is
>   on that decision is increased to its maximum possible within the

Duplicate "is".

>   rules, provided the option identified on eir valid ballot on the
>   decision is AGAINST.
>
> [an emergency proposal stop, via a sacrifice of honour.]

What happens if you vote AGAINST, sacrifice your honor, then change
your vote to FOR?  The wording makes it seem like the voting strength
increase happens at the time of the sacrifice, which would imply that
the check for a valid AGAINST ballot also happens at that time.

Also, the maximum possible strength is less than twice the default
strength, so this seems underpowered.


Re: DIS: Re: OFF: [Arbitor] CFJ 3783 Assigned to Alexis

2020-01-12 Thread omd via agora-discussion
On Sat, Jan 11, 2020 at 10:36 PM Alexis Hunt via agora-discussion
 wrote:
> > another ribbon". Can you suggest any other interpretation that the
> > author of the rule could plausibly have intended?
> >
>
> The intent of the rules is excluded entirely from the list of
> considerations in Rule 217.

Personally, I'd argue that 'what it seems like the author intended,
based on the text' is largely equivalent as a factor to "common
sense".  (As opposed to 'what the author claims e intended', or 'what
the author actually intended', both of which are definitely excluded.)

In particular, I think that applies even in scam-type situations,
where the author clearly intended one thing yet the text unambiguously
says something else.  In those cases, I think "common sense" would
counsel going by the intent, but it's overruled because "the text of
the rules takes precedence", as well as because literalism is itself a
"game custom".


Re: DIS: Re: OFF: [Arbitor] CFJ 3783 Assigned to Alexis

2020-01-12 Thread omd via agora-discussion
On Sat, Jan 11, 2020 at 8:36 PM Alexis Hunt via agora-discussion
 wrote:
> I would like to ask for arguments for an issue completely unaddressed in
> arguments: How does Rule 2602's use of a continuously-evaluated condition,
> as in Rule 2350 and part of Rule 103, affect the operation of the "once"?
> In particular, does it make the "once" redundant because the condition
> remains true and an action can be "performed once" any number of times?
> Arguably this is the only interpretation permitted by the text and,
> therefore, other factors do not apply.

In all three of those examples, regardless of exact wording, the
condition is an event having previously occurred.  In Rule 2602 it's
earning a ribbon, in Rule 2350 it's a decision being resolved as
FAILED QUORUM, and in Rule 103 it's one or more players winning Agora.

Well, I guess you're probably referring to the *other* condition in Rule 103:

  If at any time the office of Speaker is vacant, or when one or
  more players win Agora, then the Prime Minister CAN once appoint
  a Laureled player to the office of Speaker by announcement.

But the "once" is clearly meant for "when one or more players win
Agora".  As worded, it still *applies* to "if at any time the office
of Speaker is vacant", but it's redundant in that case.  Whether
"once" means nothing, as you suggested, or whether (as I think) it
means 'once after each time the condition switches from false to
true', it doesn't matter, because appointing someone to the office
makes it no longer vacant.  The only interpretation under which it
wouldn't be redundant is something like "if the Prime Minister has
never appointed anyone as Speaker in the history of the game", which
violates common sense anyway.

I think Rule 103 is relevant for a different reason: because the "win
Agora" side serves as an example of the type of clause Rule 2602 is
trying to imitate.

In Rule 2350:

  If a decision of whether to adopt a proposal was resolved as
  FAILED QUORUM in the last seven days, the Promotor CAN once add
  the proposal back to the Proposal Pool by announcement.

As I see it, the most obvious interpretation is that each resolution
creates a separate seven-day window, because otherwise "the proposal"
would be undefined when multiple proposals have been resolved as
FAILED QUORUM in the last seven days.  I suppose an alternate
interpretation could be that it sets up a separate continuous
condition per decision (not per resolution), and "once" means either
'once after each time the condition switches from false to true' again
or 'once ever', both equivalent in this case because a decision can't
be resolved more than once.  But I prefer the first interpretation
because it's more consistent with other clauses, such as the one in
Rule 103.

I also believe the first interpretation is consistent with the literal
wording, because the action can still only be taken if the continuous
condition is true; the per-event aspect merely clarifies "once".
Bolstering the case, I can't think of a good alternative phrasing that
would unambiguously choose the first interpretation, without either
incurring considerable verbosity or creating other ambiguities.  For
example, one alternative is Rule 103's "when", but that also requires
some non-literal interpretation: the Prime Minister doesn't appoint a
new Speaker literally "when" – at the same time as – someone wins.

Finally, in Rule 2602, I believe "once per earning" would be the best
interpretation even without "(until e earns another ribbon)", for
similar reasons as above.  But the parenthetical serves to clarify and
make it the only possible interpretation.


Re: DIS: Pinpointing end of list outage (was BUS: Might as well try)

2020-01-02 Thread omd via agora-discussion
On Tue, Dec 31, 2019 at 9:37 PM Gaelan Steele via agora-discussion
 wrote:
> Thanks for the very informative message! Out of curiosity, is there any 
> reason From munging needs to be off for non-Gmail hosts, specifically 
> Fastmail (who probably shows up in your log as messagingengine.com)? I saw 
> you mention that they bounced messages from the EC2 server, but it’s unclear 
> if any of the original issues apply.

Do you mean 'needs to be on'?  To clarify, 'From munging' in this case
means changing the From header to the list address, and it should
currently be on for everyone, since I enabled it using an existing
Mailman option ('from_is_list') which isn't recipient-specific.

Indeed, problems delivering to non-Gmail servers seem to be limited to
ec2.qoid.us, probably because the IP address didn't get a chance to
build up a reputation; I don't see any similar rejections in
vps.qoid.us's logs.  Thus it probably would have sufficed to enable
>From munging only for Gmail recipients.  However, I didn't bother
writing the few lines of code necessary for that, since this is meant
to be a temporary measure anyway. :)  Also, the IP was listed on
backscatterer.org, which I was concerned other servers might take into
account, even if none apparently saw fit to reject list mail because
of it.  ("Was" listed, because I just checked backscatterer.org again,
and the entry has expired already!  That's nice.  But I'll give Gmail
more time.)

Incidentally, I wonder why vps.qoid.us didn't get similar failures
when I first started running the list.  Perhaps it did, but nobody
noticed at the time.  Perhaps anti-spam systems have gotten more
trigger-happy since then.  One factor might be that ec2.qoid.us, as
the name suggests, is hosted on EC2, and that IP block might be
treated as more suspicious – although I believe the individual IP has
been assigned to me for some time, and I hadn't previously used it for
mail.

...Also, I just realized that when switching to the 'notqmail' fork of
qmail, I dropped the qmail-verify patch, meaning that I unknowingly
broke backscatter protection hours after enabling it.  Getting off
backscatterer.org was mere luck!  As of right now, verification is
really, truly on.  I should probably switch to a modern mail server
rather than juggling qmail patches – but I'm unenthusiastic about the
risk of breaking things yet again.


Re: DIS: Re: BUS: Proposal: Resolve the troubles

2019-12-31 Thread omd via agora-discussion
On Tue, Dec 31, 2019 at 4:19 PM omd via agora-discussion
 wrote:
> This should probably say “sent via” instead of “sent to”, to match the
> language in R478’s definition of “public message”.  After all, the
> affected messages were all successfully “sent to” the list in a
> literal sense; it’s just that the list was unable to deliver copies to
> subscribers.

(Whoops, I overlooked the existing discussion thread where Jason Cobb
made the same point already.)


DIS: Re: BUS: Proposal: Resolve the troubles

2019-12-31 Thread omd via agora-discussion
On Sat, Dec 28, 2019 at 3:49 PM Edward Murphy via agora-business
 wrote:
> Each of the following messages was effectively sent to the Public Forum
> on or about the Date: stamp shown in the archives.

This should probably say “sent via” instead of “sent to”, to match the
language in R478’s definition of “public message”.  After all, the
affected messages were all successfully “sent to” the list in a
literal sense; it’s just that the list was unable to deliver copies to
subscribers.


Re: DIS: Pinpointing end of list outage (was BUS: Might as well try)

2019-12-31 Thread omd via agora-discussion
On Fri, Dec 27, 2019 at 2:05 PM James Cook  wrote:
> Some data about trying to pinpoint the end of the mailing list outage.
> It looks like it's slightly different per list; I suppose this may
> reflect the dates omd updated the configurations. Dates below are
> according to the archives at mailman.agoranomic.org.

Here's a not-quite-exact chronology reconstructed from logs:

- Unknown, but no later than Oct 29, when my logs start: Gmail first
starts returning 421 errors (temporary failure) with "authentication
information" message.  At least since Oct 29, all list messages were
delivered on later attempts.

- Dec 14 23:01 UTC: Gmail first starts returning 550 errors (permanent
failure) with same error message; first affected message is this one:
https://mailman.agoranomic.org/cgi-bin/mailman/private/agora-discussion/2019-December/056000.html

[During this period, Gmail rejected most deliveries, although it
accepted some.  The list could still receive from Gmail and deliver to
other servers.]

- Around Dec 22 23:21 UTC: Reconfigured qmail on vps.qoid.us (which
hosts the lists) to forward via ec2.qoid.us.

- Around Dec 23 00:39 UTC: Fixed ec2.qoid.us mail server to use IPv4
instead of IPv6.  Gmail etc. don't like mail coming from IPv6 because
you can't do effective IP bans.

[During this period, Gmail accepted... most deliveries, albeit delayed
due to rate limits, but it did reject a lot of daily digests, which
some people are subscribed to.  Moreover, icloud.com started rejecting
all deliveries; apparently ec2.qoid.us got onto the proofpoint.com
blacklist, a "machine-learning driven content classification system".
Sigh.]

- Around Dec 24 05:53 UTC: Reconfigured Mailman to send messages
through SMTP directly to ec2.qoid.us rather than going through the
local qmail.  This shouldn't affect anything.

- Around Dec 28 00:33 UTC: Turned on From munging and DKIM signing and
switched back to vps.qoid.us.  No mass rejections since then.

In all cases, the three lists were affected at the same time (except
turning on From munging, which happened a few seconds apart for each
list).

Unfortunately, since each subscriber gets their own separate delivery
attempt (mostly), there's no clear line between the list working and
not working.  The possibility of delayed delivery makes things even
more complicated, as does the interaction with daily digests.  I do
think it's a good idea to resolve this via ratification.

Sorry for the delay in explaining what's going on.  I'm with family
for the holidays, and I end up not spending any time on non-family
stuff, even though I have plenty of time.

The "authentication information" error message in question:

550-5.7.26 This message does not have authentication information or fails to
550-5.7.26 pass authentication checks. To best protect our users from spam, the
550-5.7.26 message has been blocked. Please visit
550-5.7.26  https://support.google.com/mail/answer/81126#authentication for more
550 5.7.26 information. t17si15910193pjr.44 - gsmtp

The message is misleading.  Without From munging, list messages do
often fail DKIM authentication checks, because of the DIS/BUS/OFF
prefix added to the subject.  But this failure has existed for years
without causing Gmail to reject messages, although it sometimes sent
them to Spam or marked them as suspicious.  Moreover, sending the same
messages from ec2.qoid.us worked... or at least didn't fail the same
way.  So it seems like Gmail decided to distrust vps.qoid.us's IP
address.  I can think of a few possible reasons why:

- Backscatter: I recently checked the IP address against various spam
blacklists, and while it wasn't on the most common ones, it was on the
backscatterer.org blacklist.  This surprised me.  Turns out that my
server was vulnerable to a straightforward backscatter attack, where
you send mail to an intentionally invalid recipient, setting the From
address to whoever you want to spam, and the resulting bounce message
is delivered unsolicited to them.  The version of qmail I'm using has
a mechanism to reject invalid recipients synchronously within the SMTP
connection, rather than sending a bounce message... but when I first
started running the lists, I had to disable this mechanism due to a
bug.  I forgot that I still hadn't fixed that.  Oops.

Since then, I've fixed the bug and re-enabled recipient verification.
As a bonus, I also wrote some code to synchronously reject messages to
the lists if the sender isn't subscribed to that list.  This
duplicates an existing check in Mailman, which has always been
enabled, but is asynchronous.  Originally it was set to reject
messages from non-subscribers with an explanatory bounce message, but
a long time ago I had to switch it to silently ignoring them, again
for fear of backscatter spam.  Having messages silently ignored is
confusing; now I can return a proper error without risking
backscatter.  (The error will probably be returned to the s

Re: DIS: Re: BUS: Proposal: precedence scam?

2019-12-29 Thread omd via agora-discussion
On Sun, Dec 29, 2019 at 5:17 PM Gaelan Steele via agora-discussion
 wrote:
> So, starting with a trivial case, I think it’s pretty clear that a player 
> registering does not constitute a “change in the ruleset,” even though it 
> affects the functioning of rules with regard to that person. My goal was word 
> the rule such that it under the same case. However, an argument could be made 
> that the change here is somehow more “fundamental” because it affects the 
> relationship between rules themselves, and therefore is a rule change.

I'd tend to agree that changing That One Rule would not be a "change
to the ruleset".  Though I think the original definition of That One
Rule is slightly better, because it avoids a gamestate "change"
entirely, in favor of something that's more of a change in real-world
state (the act of announcing that something is The One).


DIS: Re: OFF: [Distributor] list status

2019-12-27 Thread omd via agora-discussion
On Fri, Dec 27, 2019 at 8:40 PM Ørjan Johansen  wrote:
> As I mentioned in my previous message, there's no reverse DNS on
> vps.qoid.us, which I could imagine some servers caring about.

Fixed.  Sorry for not responding to your previous messages!


Re: DIS: test should fail

2019-12-22 Thread omd
On Sun, Dec 22, 2019 at 7:37 PM James Cook  wrote:
> I got this one.

Yeah... I was trying to send from an unsubscribed address, but I
didn't realize that when sending from an alias, Gmail would keep my
normal address in the envelope.  Whoops.


Re: DIS: test

2019-12-22 Thread omd
Testing my new address filter.

On Sun, Dec 22, 2019 at 3:25 PM omd  wrote:
>
> Will Gmail deliver a list message if it's sent from a different IP?


DIS: test

2019-12-22 Thread omd
Will Gmail deliver a list message if it's sent from a different IP?


DIS: Re: BUS: (No Subject)

2019-10-30 Thread omd
(...did this create a proposal?  It was sent to business but doesn't
say "proposal".)


Re: DIS: Re: BUS: Re: OFF: [Promotor] Distribution of Proposals 8253-8264

2019-10-27 Thread omd
On Sun, Oct 27, 2019 at 9:46 PM Aris Merchant
 wrote:
> Oh, also, well you’re at it, could you change “correctly identified” to
> “correctly and publicly identified” so that no one, like, hides the fact
> that they’ve identified it and then still claims they’ve invalidated the
> decision?

I just submitted a longer proposal that effectively does that, though
I'm not sure how it'll be received.  It replaces the clause with a
form of self-ratification.

It also uses the wording "the notice must clearly specify" rather than
"lacks a clear specification".  I think that helps with your concern a
little: the thing that has to be clear changes from 'some part of the
notice' to the notice itself, so you can no longer say that "this
thing is perfectly clear if extracted from the notice and read in
isolation".

I'm keeping this proposal around as well because the other one may not
pass.  However, I'm not convinced that "unobfuscated" is different
enough from "clear" to make a difference.  I'll think about the
wording some more.


Re: DIS: ATTN omd / Distributor (was Re: jobs)

2019-10-27 Thread omd
On Sat, Oct 26, 2019 at 5:48 PM James Cook  wrote:
> Our H. Distributor tried in June to enable from-address-rewriting for
> messages with this problem, but I'm not sure it worked. See for
> example my 2019-07-01 message to the discussion list [0].
>
> omd, do you have any insight on what is going on?
>
> [0] 
> https://mailman.agoranomic.org/cgi-bin/mailman/private/agora-discussion/2019-July/054651.html

Well, protonmail.com has p=quarantine, and Mailman is set to munge
>From for both p=quarantine and p=reject, so it should be rewriting
From... yet it isn't.  Hmm.

*sigh* I see.  From munging is performed by the SpamDetect pass, and I
had manually disabled that pass because – according to a comment I
left at the time – it caused Python errors related to Unicode
handling.  So it never actually took effect.

I just re-enabled the pass, and also upgraded Mailman to the tip of
the 2.1 branch just in case it fixes the Unicode issue.  If it
doesn't, the list might start dropping messages fitting whatever
pattern was triggering the issue in the past, in which case I'll have
to actually find the bug and fix it.

For now, though... I just sent a test message from a ProtonMail
account, and From rewriting now seems to be working.


DIS: Re: OFF: [Arbitor] CFJ 3760 assigned to omd

2019-07-24 Thread omd
On Tue, Jul 23, 2019 at 9:48 AM Kerim Aydin  wrote:
> > The answer may depend on whether "response to a CoE" is an official duty
> > (R2143):
> >An official duty for an office is any duty that the Rules
> >specifically assign to that office's holder in particular
> >(regardless of eir identity).

Question: Are you thinking of any particular reason it would depend on
this?  I checked the Rules for clauses mentioning "duty" or "duties"
and I don't see anything relevant.


DIS: Re: BUS: Phantom Strike

2019-07-23 Thread omd
On Tue, Jul 23, 2019 at 3:43 PM Jason Cobb  wrote:
>
> Actually, everyone should destroy their spaceship. Then clause 3 has
> equal standing for both.
>
> I destroy the spaceship in my possession.

Me too.


Re: DIS: Re: BUS: Re: OFF: [Promotor] Distribution of Proposals 8188A-8192A, 8195A, 8202-8214

2019-07-17 Thread omd
On Wed, Jul 17, 2019 at 10:41 PM Rebecca  wrote:
> you absolutely can! we are not the typo police.

Not that it matters, but it probably wasn't a typo.

CFJ 1885 (called 26 Jan 2008): "AGAINT" is a variant spelling of
   "AGAINST", not a customary synonym for "FOR", despite its former
   private usage with the latter meaning.


Re: DIS: Re: BUS: Apathy!

2019-07-17 Thread omd
On Wed, Jul 17, 2019 at 9:18 PM Jason Cobb  wrote:
> I'll leave the CFJ up in hopes that it gets judged in a way that avoids
> this whole mess (although I'm not sure that there's enough space to
> bring in Rule 217 factors and get "best interests of the game").

Gratuitous:

I get from my apartment to the grocery store by crossing the street.
But it's not true that every time I cross that street I'm going from
my apartment to the grocery store.  Crossing the street is a *means*
of getting to the grocery store, but not the entire definition of what
it means to go to the grocery store.

I'd also cite CFJ 2549:
https://faculty.washington.edu/kerim/nomic/cases/?2549


  1   2   3   4   5   6   7   8   9   10   >