Facebook broke bold/italics/heading formatting in Group Posts

Since about one week, formattings applied when creating a Facebook post (in a group) are not saved anymore. This looks like a serious facebook bug.

  1. When creating the post, the formatting works and looks great (headings, bold, italics, quotes, subheadings, …)
  2. After publishing, all formatting (including newlines) is thrown away completely

I’m posting this in a facebook group (I’ve tried multiple, with the bug occurring in each). I’m having this bug since about 7 days and it happens on both desktop (Google Chrome, Mac OS X) and mobile (Facebook App).

enter image description here

measure theory – Functions on a group. Functions of the inverse element.

Consider a Lie group $G$ and a Hilbert space $mathbb{V}$ equipped with a dot product $~~langle~,~rangle$.

Let ${^G{cal{L}}}$ be a space of square-integrable functions mapping $G$ to $mathbb{V}$:
$$
{^G{cal{L}}}=left{ f:~~ Glongrightarrowmathbb{V}qquadBig{|}quad int dg langle f(g), f(g)rangle < infty right}.
$$

We can map each $ f$ to a function of the inverse argument:
$$
f(x)longmapstovarphi(x)equiv f(x^{-1})~,quad xin G
$$

or, in short:
$$
flongmapstovarphiequiv fcirchat{zeta}~,
$$

where
$$
hat{zeta} x,=,x^{-1}
$$

is the inversion operation on $G$.

Doing this for all $f$, we obtain a new space of functions:
$$
{cal{L}}^{G}=left{~varphi:~Glongrightarrow{mathbb{V}}~~Big{|}~~varphi= fcirchat{zeta}~,~~fin{^G{cal{L}}}
right}~.
$$

To examine if $^{G}{cal{L}}$ and ${cal{L}}^{G}$ are copies of the same functional space, we check the square-integrability of the new functions:
$$
int dg langle varphi(g),varphi(g)rangle=int d(g^{-1}) langle varphi(g^{-1}) , varphi(g^{-1})rangle=
int d(g^{-1}) langle f(g),f(g)rangle
$$

For unimodular groups, the measure is invariant and $d(g^{-1}) = dg $, wherefrom
$$
int dg langle varphi(g),varphi(g)rangle=
int dg langle f(g),f(g)rangle < infty~,
$$

so the spaces $^{G}{cal{L}}$ and ${cal{L}}^{G}$ coincide.

For what nonunimodular groups would this outcome stay valid?? (Say, for compact ones? For locally compact ones?)

PS.

I know that, by Haar’s theorem, if a group is locally compact (i.e. if its identity element has a compact neighborhood), then it admits a unique left-invariant and a unique right-invariant measure (unique — up to multiplication by a positive constant). Under the transformation $gto g^{-1}$, a left-invariant measure transforms into a right-invariant one, and vice versa. Can this fact be somehow employed here?

encryption – Group Instant Messaging: How to securely store messages on the backend while supporting cross-device message history in a group chat?

I want to build a group chat app where messages are transmitted and stored as securely as they can be, but where the message history is still visible after you or others in the group have changed devices. From my understanding, PFS isn’t possible here.

It seems that WhatsApp has implemented PFS, which makes sense because its experience is such that, if you change devices, the previous history is gone/not decryptable. But, after researching Messenger and Discord, seems that they store everything in cleartext? Messenger has a “secret messages” mode, which appears to use PFS, however.

Anyway, my first thought here is to have two public/private key pairs for the user (account, and device), and one symmetric key for the group to decrypt messages. For the sake of simplicity, this example assumes that a user can only be in one group chat. My thought is that it would work this way:

  1. A user has a public/private key pair generated when they sign up (we will refer to this as the account encryption key pair). This will be used for direct user-to-user messaging where history needs to be kept.
  2. When a user logs into a device, they generate a public/private key pair for the device. The public key from this pair is sent to the server. The server then sends the user the account key pair and the group chat’s symmetric key, and both are encrypted with the device’s public key.
  3. If the user changes devices, a new device key pair is generated.

This obviously adds a level of safety, but I’m still uncomfortable with this approach, because nothing prevents someone from getting around the server permissions (though there will be IAM) and grabbing all these keys. I also am not sure the best way to store the group chats’ symmetric keys.

Another constraint is that I may not be able to store duplicate messages that are encrypted with everyone’s public keys because of storage costs. Please also assume that a key management service like Keysafe or KMS is available, though they obviously come with limits.

What do you guys think? Am I being stupid? I looked at some other similar posts, but saw answers that didn’t include tangible solutions.

postgresql – How can I update query to use GROUP BY instead of DISTINCT while still preserving ORDER BY?

Trying to make this query more performant (basically I need to have distinct speech_ids from the speech_candidate table while at the same time counting the number of duplicate speech_ids for each of the unique rows from the speech_candidate table we’re pulling):

SELECT * FROM (SELECT DISTINCT ON (speech_candidate.speech_id) speech_candidate.speech_id, (speechtype_id = 7) AS is_position_paper, (speechdate IS NULL) AS is_null_date, (SELECT COALESCE(shorttitle, '') FROM office oc JOIN office_candidate oc2 USING (office_id) WHERE oc2.candidate_id = candidate.candidate_id AND officecandidatestatus_id = 1 ORDER BY rank LIMIT 1) AS shorttitle, speech_candidate.speech_candidate_id, speech_candidate.speech_id, speech_candidate.candidate_id, speech.speech_id, speech.title, speech.speechdate, speech.location, speech.key, speech.quote, candidate.candidate_id, candidate.firstname, candidate.middlename, candidate.lastname, candidate.nickname FROM speech_candidate INNER JOIN candidate ON ( speech_candidate.candidate_id = candidate.candidate_id ) INNER JOIN office_candidate ON ( candidate.candidate_id = office_candidate.candidate_id ) INNER JOIN office ON ( office_candidate.office_id = office.office_id ) INNER JOIN speech ON ( speech_candidate.speech_id = speech.speech_id ) WHERE (office_candidate.state_id IN ('NA', 'AL', 'AK', 'AS', 'AZ', 'AR', 'CA', 'CO', 'CT', 'DE', 'DC', 'FL', 'GA', 'GU', 'HI', 'ID', 'IL', 'IN', 'IA', 'KS', 'KY', 'LA', 'ME', 'MD', 'MA', 'MI', 'MN', 'MS', 'MO', 'MT', 'NC', 'ND', 'MP', 'NE', 'NV', 'NH', 'NJ', 'NM', 'NY', 'OH', 'OK', 'OR', 'PA', 'PR', 'RI', 'SC', 'SD', 'TN', 'TX', 'UT', 'VI', 'VA', 'VT', 'WA', 'WI', 'WV', 'WY') AND office_candidate.officecandidatestatus_id = 1 AND office.officetype_id = 'C' AND speech.release_id >= 1) ORDER BY speech_candidate.speech_id, is_position_paper ASC, is_null_date ASC, speech.speechdate DESC) sc ORDER BY sc.is_position_paper ASC, sc.is_null_date ASC, sc.speechdate DESC LIMIT 50 OFFSET 0

Would it be better to do this via GROUP BY or is DISTINCT really what I want to use here? Again, I need to both dedupe AND add a column with a counting of the duplicates for each row.

postgresql – Postgres group records by consecutive types

I would like to group objects by their consecutive start and end date.

+----------+----------------------------+
|  Fruit   | Time                       |
+----------+----------------------------+
| Apple    | 2020-09-08 00:00:00.000000 | 
| Apple    | 2020-09-08 01:00:00.000000 | 
| Orange   | 2020-09-08 02:00:00.000000 | 
| Orange   | 2020-09-08 03:00:00.000000 | 
| Apple    | 2020-09-08 04:00:00.000000 | 
+----------+---------------+------------+

The results should look like this:

+----------+----------------------------+----------------------------+
|  Fruit   | Start Time                 | End Time                   |
+----------+----------------------------+----------------------------+
| Apple    | 2020-09-08 00:00:00.000000 | 2020-09-08 01:00:00.000000 |
| Orange   | 2020-09-08 02:00:00.000000 | 2020-09-08 03:00:00.000000 |
| Apple    | 2020-09-08 04:00:00.000000 | 2020-09-08 04:00:00.000000 |
+----------+----------------------------+----------------------------+

nt.number theory – A group associated to a pair of integers $(k,p)$ where $p$ is a prime number

Let $kin mathbb{N}$ be a natural number and $p$ be a prime number. We denote by $U(p)={1,2,ldots,p-1}$ the mod $-p$ multiplicative group.Then we have a natural group homomorphism: $phi:mathbb{Z}to U(p)$ which is the unique extention of semi group homomorphism $nmapsto k^n ;(mod p)$ defined on semigroup of non negative integers.

Question: Is there a group $G$ containing $U(p)$ such that we have an extention $psi:mathbb{Q} to G$ of $phi$?

If the answer is yes, is there a universal group $G(k,p)$ with the following property:

There is an extention $psi_{k,p}:mathbb{Q} to G_{k,p}$ of $phi$. Moreover for any other extention $alpha :mathbb{Q} to Hsupset U(p)$ of $phi$, there is a group homomorphism $beta: G_{k,p} to H$ with $alpha =beta circ psi_{k,p}$?

PostgreSQL – trying to speed up query responses from view that has join and group by

I have these two tables:

  1. precipitaion: store precipitation data at daily (freq = 'daily') and hourly (freq = 'hourly') frequencies for 7 months so far (I receive regular updates).
Column   |         Type         
---------+----------------------------
 id      | varchar
 country | varchar(2)
 time    | timestamp without time zone
 freq    | varchar
 prec    | float(4)
(2,481,069 rows)
  1. areas: store multipolygon areas for all Europe down to municipality resolution.
Column   |         Type         
---------+----------------------
 id      | varchar
 country | varchar(2)
 geom    | geometry
(162,573 rows)

I need to create a view that combines the spatial and temporal values from these tables, so I created it this way:

create or replace view prec_geo
as select * from
    (select
        max(country) country,
        id,
        "time",
        sum(prec) as prec,
    from precipitaion
    where id <> 'ALL'
    group by "time", id) as prec,
    areas.geom
where prec.id = areas.id and prec.country = areas.country;

The view now shows the columns and values I need to make further queries.

In particular, I need to make queries selecting different time and freq.

EXAMPLE:

select geom from prec_geo where "time" = '2020-03-13 00:00:00' and freq = 'daily' and country = 'it';

I created different indexes on my tables in the hope to speed up the queries.

In precipitation table I created:

  • a combined index on multiple cols (time(1), freq(2), coutry(3))
  • a non unique index on id col (because it is used in the join to create the view)

In areas table I created:

  • a spatial PostGIS index on the geom col
  • a combined index on multiple cols (country(1), id(2))

I then ran VACUUM ANALYZE on both tables.

Still, the result of the query takes about 7 to 10 seconds, while I would need faster responses.

What would you suggest in order to increase performance?

Info on my setup: PostgreSQL10, PostGIS 2.5.

group dynamics – How to deal with a schism in the party, relating to criminal activity?

Myself and 5 friends (one of whom is DM) are playing Warhammer. Increasingly, 3 members want to engage in criminal activities like burglary and robbery, while myself and another party member are scrupulous, honest types, who refuse to turn into common criminals (this is from our character sheet backgrounds, not just our personal opinions).

What’s a good way to reconcile this difference? The way it’s going at the moment, it won’t be long before the 3 wannabe criminals just start leaving me and the other “good” guy alone to go off and burgle some noble’s mansion.

We are all good friends in real life, and are “mature” (late 40s/early 50s), and we can all take a fair bit of ribbing, abuse, joking etc – I don’t think anyone is close to storming out. The problem really is that we spend a lot of each session arguing about what to do.