updates
This commit is contained in:
parent
ae2bf8dff4
commit
1f0cb86bf7
16 changed files with 362 additions and 78 deletions
|
@ -7,6 +7,36 @@
|
||||||
A 12-step support group for those suffering from [[id:225dc9bd-4352-40de-b3de-5554b939d47e][Sex]] and love addiction.
|
A 12-step support group for those suffering from [[id:225dc9bd-4352-40de-b3de-5554b939d47e][Sex]] and love addiction.
|
||||||
|
|
||||||
* Documents
|
* Documents
|
||||||
|
** The S.L.A.A. Preamble
|
||||||
|
Sex and Love Addicts Anonymous is a Twelve Step, Twelve Tradition oriented
|
||||||
|
fellowship based on the model pioneered by Alcoholics Anonymous.
|
||||||
|
|
||||||
|
The only qualification for S.L.A.A. membership is a desire to stop living out a
|
||||||
|
pattern of sex and love addiction. S.L.A.A. is supported entirely through the
|
||||||
|
contributions of its membership and is free to all who need it.
|
||||||
|
|
||||||
|
To counter the destructive consequences of sex and love addiction, we draw on
|
||||||
|
five major resources:
|
||||||
|
1. *Sobriety*. Our willingness to stop acting out in our own personal
|
||||||
|
bottom-line addictive behavior on a daily basis.
|
||||||
|
2. *Sponsorship / Meetings*. Our capacity to reach out for the supportive
|
||||||
|
fellowship within S.L.A.A.
|
||||||
|
3. *Steps*. Our practice of the Twelve Step program of recovery to achieve
|
||||||
|
sexual and emotional sobriety.
|
||||||
|
4. *Service*. Our giving back to the S.L.A.A. community what we continue to
|
||||||
|
freely receive.
|
||||||
|
5. *Spirituality*. Our developing a relationship with a Power greater than
|
||||||
|
ourselves which can guide and sustain us in recovery.
|
||||||
|
|
||||||
|
As a fellowship S.L.A.A. has no opinion on outside issues and seeks no
|
||||||
|
controversy. S.L.A.A. is not affiliated with any other organizations, movements
|
||||||
|
or causes, either religious or secular. We are, however, united in a common
|
||||||
|
focus: dealing with our addictive sexual and emotional behavior. We find a
|
||||||
|
common denominator in our obsessive/compulsive patterns, which transcends any
|
||||||
|
personal differences of sexual orientation or gender identity. We need protect
|
||||||
|
with special care the anonymity of every S.L.A.A. member. Additionally we try to
|
||||||
|
avoid drawing undue attention to S.L.A.A. as a whole from the public media.
|
||||||
|
|
||||||
** The Twelve Steps of S.L.A.A.
|
** The Twelve Steps of S.L.A.A.
|
||||||
1. We admitted we were powerless over sex and love addiction - that our lives
|
1. We admitted we were powerless over sex and love addiction - that our lives
|
||||||
had become unmanageable.
|
had become unmanageable.
|
||||||
|
@ -32,6 +62,34 @@ A 12-step support group for those suffering from [[id:225dc9bd-4352-40de-b3de-55
|
||||||
carry this message to sex and love addicts and to practice these principles
|
carry this message to sex and love addicts and to practice these principles
|
||||||
in all areas of our lives.
|
in all areas of our lives.
|
||||||
|
|
||||||
|
** Characteristics of Sex and Love Addiction
|
||||||
|
1. Having few healthy boundaries, we become sexually involved with and/or
|
||||||
|
emotionally attached to people without knowing them.
|
||||||
|
2. Fearing abandonment and loneliness, we stay in and return to painful,
|
||||||
|
destructive relationships, concealing our dependency needs from ourselves and
|
||||||
|
others, growing more isolated and alienated from friends and loved ones,
|
||||||
|
ourselves, and God.
|
||||||
|
3. Fearing emotional and/or sexual deprivation, we compulsively pursue and
|
||||||
|
involve ourselves in one relationship after another, sometimes having more
|
||||||
|
than one sexual or emotional liaison at a time.
|
||||||
|
4. We confuse love with neediness, physical and sexual attraction, pity and/or
|
||||||
|
the need to rescue or be rescued.
|
||||||
|
5. We feel empty and incomplete when we are alone. Even though we fear intimacy
|
||||||
|
and commitment, we continually search for relationships and sexual contacts.
|
||||||
|
6. We sexualize stress, guilt, loneliness, anger, shame, fear and envy. We use
|
||||||
|
sex or emotional dependence as substitutes for nurturing care, and support.
|
||||||
|
7. We use sex and emotional involvement to manipulate and control others.
|
||||||
|
8. We become immobilized or seriously distracted by romantic or sexual
|
||||||
|
obsessions or fantasies.
|
||||||
|
9. We avoid responsibility for ourselves by attaching ourselves to people who
|
||||||
|
are emotionally unavailable.
|
||||||
|
10. We stay enslaved to emotional dependency, romantic intrigue, or compulsive
|
||||||
|
sexual activities.
|
||||||
|
11. To avoid feeling vulnerable, we may retreat from all intimate involvement,
|
||||||
|
mistaking sexual and emotional anorexia for recovery.
|
||||||
|
12. We assign magical qualities to others. We idealize and pursue them, then
|
||||||
|
blame them for not fulfilling our fantasies and expectations.
|
||||||
|
|
||||||
** The Twelve Traditions of S.L.A.A.
|
** The Twelve Traditions of S.L.A.A.
|
||||||
1. Our common welfare should come first; personal recovery depends upon S.L.A.A.
|
1. Our common welfare should come first; personal recovery depends upon S.L.A.A.
|
||||||
unity.
|
unity.
|
||||||
|
@ -64,64 +122,6 @@ A 12-step support group for those suffering from [[id:225dc9bd-4352-40de-b3de-55
|
||||||
12. Anonymity is the spiritual foundation of all our traditions, ever reminding
|
12. Anonymity is the spiritual foundation of all our traditions, ever reminding
|
||||||
us to place principles before personalities.
|
us to place principles before personalities.
|
||||||
|
|
||||||
** The S.L.A.A. Preamble
|
|
||||||
Sex and Love Addicts Anonymous is a Twelve Step, Twelve Tradition oriented
|
|
||||||
fellowship based on the model pioneered by Alcoholics Anonymous.
|
|
||||||
|
|
||||||
The only qualification for S.L.A.A. membership is a desire to stop living out a
|
|
||||||
pattern of sex and love addiction. S.L.A.A. is supported entirely through the
|
|
||||||
contributions of its membership and is free to all who need it.
|
|
||||||
|
|
||||||
To counter the destructive consequences of sex and love addiction, we draw on
|
|
||||||
five major resources:
|
|
||||||
1. *Sobriety*. Our willingness to stop acting out in our own personal
|
|
||||||
bottom-line addictive behavior on a daily basis.
|
|
||||||
2. *Sponsorship / Meetings*. Our capacity to reach out for the supportive
|
|
||||||
fellowship within S.L.A.A.
|
|
||||||
3. *Steps*. Our practice of the Twelve Step program of recovery to achieve
|
|
||||||
sexual and emotional sobriety.
|
|
||||||
4. *Service*. Our giving back to the S.L.A.A. community what we continue to
|
|
||||||
freely receive.
|
|
||||||
5. *Spirituality*. Our developing a relationship with a Power greater than
|
|
||||||
ourselves which can guide and sustain us in recovery.
|
|
||||||
|
|
||||||
As a fellowship S.L.A.A. has no opinion on outside issues and seeks no
|
|
||||||
controversy. S.L.A.A. is not affiliated with any other organizations, movements
|
|
||||||
or causes, either religious or secular. We are, however, united in a common
|
|
||||||
focus: dealing with our addictive sexual and emotional behavior. We find a
|
|
||||||
common denominator in our obsessive/compulsive patterns, which transcends any
|
|
||||||
personal differences of sexual orientation or gender identity. We need protect
|
|
||||||
with special care the anonymity of every S.L.A.A. member. Additionally we try to
|
|
||||||
avoid drawing undue attention to S.L.A.A. as a whole from the public media.
|
|
||||||
|
|
||||||
** Characteristics of Sex and Love Addiction
|
|
||||||
1. Having few healthy boundaries, we become sexually involved with and/or
|
|
||||||
emotionally attached to people without knowing them.
|
|
||||||
2. Fearing abandonment and loneliness, we stay in and return to painful,
|
|
||||||
destructive relationships, concealing our dependency needs from ourselves and
|
|
||||||
others, growing more isolated and alienated from friends and loved ones,
|
|
||||||
ourselves, and God.
|
|
||||||
3. Fearing emotional and/or sexual deprivation, we compulsively pursue and
|
|
||||||
involve ourselves in one relationship after another, sometimes having more
|
|
||||||
than one sexual or emotional liaison at a time.
|
|
||||||
4. We confuse love with neediness, physical and sexual attraction, pity and/or
|
|
||||||
the need to rescue or be rescued.
|
|
||||||
5. We feel empty and incomplete when we are alone. Even though we fear intimacy
|
|
||||||
and commitment, we continually search for relationships and sexual contacts.
|
|
||||||
6. We sexualize stress, guilt, loneliness, anger, shame, fear and envy. We use
|
|
||||||
sex or emotional dependence as substitutes for nurturing care, and support.
|
|
||||||
7. We use sex and emotional involvement to manipulate and control others.
|
|
||||||
8. We become immobilized or seriously distracted by romantic or sexual
|
|
||||||
obsessions or fantasies.
|
|
||||||
9. We avoid responsibility for ourselves by attaching ourselves to people who
|
|
||||||
are emotionally unavailable.
|
|
||||||
10. We stay enslaved to emotional dependency, romantic intrigue, or compulsive
|
|
||||||
sexual activities.
|
|
||||||
11. To avoid feeling vulnerable, we may retreat from all intimate involvement,
|
|
||||||
mistaking sexual and emotional anorexia for recovery.
|
|
||||||
12. We assign magical qualities to others. We idealize and pursue them, then
|
|
||||||
blame them for not fulfilling our fantasies and expectations.
|
|
||||||
|
|
||||||
** Promises
|
** Promises
|
||||||
Now we were truly feeling some sense of deep release from the past! We were free
|
Now we were truly feeling some sense of deep release from the past! We were free
|
||||||
of much guilt for our misdeeds, from the shame of having fallen short of our
|
of much guilt for our misdeeds, from the shame of having fallen short of our
|
||||||
|
|
40
20211007111835-validation_vs_sanitization.org
Normal file
40
20211007111835-validation_vs_sanitization.org
Normal file
|
@ -0,0 +1,40 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 05698e38-65b2-496c-b02b-1db376ae734c
|
||||||
|
:END:
|
||||||
|
#+title: Validation vs Sanitization
|
||||||
|
|
||||||
|
There are distinct factors that go into deciding whether to [[id:9914d09e-99fe-46a6-95be-676c5b78ed90][validate input]]
|
||||||
|
(rejecting unwanted data) or to [[id:2ba04972-f498-41c2-970e-a64c7f3f1c3b][sanitize input]] (accept and alter data).
|
||||||
|
|
||||||
|
Commonly, data is validated on input, and sanitized when it is displayed:
|
||||||
|
|
||||||
|
#+begin_src plantuml :file validation-and-sanitization.svg
|
||||||
|
cloud "Input" as input
|
||||||
|
component API {
|
||||||
|
interface POST
|
||||||
|
usecase "Validate input" as validate
|
||||||
|
database "Data store" as data
|
||||||
|
interface GET
|
||||||
|
}
|
||||||
|
frame Client {
|
||||||
|
usecase "Sanitize and display" as sanitize
|
||||||
|
file "Output" as output
|
||||||
|
}
|
||||||
|
|
||||||
|
input -> POST
|
||||||
|
POST -> validate
|
||||||
|
validate -> data
|
||||||
|
data -> GET
|
||||||
|
GET -> sanitize
|
||||||
|
sanitize -> output
|
||||||
|
|
||||||
|
#+end_src
|
||||||
|
|
||||||
|
#+RESULTS:
|
||||||
|
[[file:validation-and-sanitization.svg]]
|
||||||
|
|
||||||
|
This has the following benefits:
|
||||||
|
- Input that is accepted correctly matches the types and constraints of its
|
||||||
|
domain.
|
||||||
|
- The client is soley responsible for ensuring that data is displayed correctly
|
||||||
|
and securely.
|
6
20211007120146-input_validation.org
Normal file
6
20211007120146-input_validation.org
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 9914d09e-99fe-46a6-95be-676c5b78ed90
|
||||||
|
:END:
|
||||||
|
#+title: Input validation
|
||||||
|
|
||||||
|
Validation is the process of ensuring that input data falls within the expected domain of valid program input.
|
11
20211007120223-input_sanitization.org
Normal file
11
20211007120223-input_sanitization.org
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 2ba04972-f498-41c2-970e-a64c7f3f1c3b
|
||||||
|
:END:
|
||||||
|
#+title: Data sanitization
|
||||||
|
|
||||||
|
Data sanitization is the process of ensuring that data conforms to the
|
||||||
|
requirements of the subsystem to which it is passed. Sanitization also involves
|
||||||
|
ensuring that data conforms to security-related requirements regarding leaking
|
||||||
|
or exposure of sensitive data when output across a trust boundary. Sanitization
|
||||||
|
may include the elimination of unwanted characters from the input by means of
|
||||||
|
removing, replacing, encoding, or escaping the characters.
|
6
20211007134653-kubernetes.org
Normal file
6
20211007134653-kubernetes.org
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 3ba1f581-c66c-492f-80fc-e7d2e488b362
|
||||||
|
:END:
|
||||||
|
#+title: Kubernetes
|
||||||
|
|
||||||
|
An orchestration platform for deploying Docker containers.
|
|
@ -8,6 +8,6 @@ to respond with. This can be troubleshooted by inspecting the endpoints for the
|
||||||
service. Due to the mismatch, none were available.
|
service. Due to the mismatch, none were available.
|
||||||
|
|
||||||
The ClusterIP service did not itself have an IP assigned even after fixing the
|
The ClusterIP service did not itself have an IP assigned even after fixing the
|
||||||
mismatch. This appears to be an optimization in that Kubernetes won't bother
|
mismatch. This appears to be an optimization in that [[id:3ba1f581-c66c-492f-80fc-e7d2e488b362][Kubernetes]] won't bother
|
||||||
assigning an IP to the service if the service has only a single endpoint, as it
|
assigning an IP to the service if the service has only a single endpoint, as it
|
||||||
is more expedient to return the sole endpoint's IP address.
|
is more expedient to return the sole endpoint's IP address.
|
||||||
|
|
|
@ -14,6 +14,13 @@ Defining and translating the Search DSL for the [[id:11edd6c9-b976-403b-a419-b55
|
||||||
# TODO: sorting : Sorting
|
# TODO: sorting : Sorting
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src yaml :noweb-ref search-yaml
|
||||||
|
Search:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
group:
|
||||||
|
$ref: "#/components/schemas/Group"
|
||||||
|
#+end_src
|
||||||
** A grouping is a collection of conditions
|
** A grouping is a collection of conditions
|
||||||
#+begin_src python :noweb-ref group
|
#+begin_src python :noweb-ref group
|
||||||
class GroupType(enum.Enum):
|
class GroupType(enum.Enum):
|
||||||
|
@ -27,6 +34,19 @@ Defining and translating the Search DSL for the [[id:11edd6c9-b976-403b-a419-b55
|
||||||
conditions: typing.List[Condition]
|
conditions: typing.List[Condition]
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src yaml :noweb-ref group-yaml
|
||||||
|
Group:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
group_type:
|
||||||
|
enum:
|
||||||
|
- "AND"
|
||||||
|
conditions:
|
||||||
|
type: array
|
||||||
|
items:
|
||||||
|
$ref: "#/components/schemas/Condition"
|
||||||
|
|
||||||
|
#+end_src
|
||||||
** A condition is a filter applied to a field
|
** A condition is a filter applied to a field
|
||||||
#+begin_src python :noweb-ref condition
|
#+begin_src python :noweb-ref condition
|
||||||
@dataclasses.dataclass
|
@dataclasses.dataclass
|
||||||
|
@ -35,6 +55,15 @@ Defining and translating the Search DSL for the [[id:11edd6c9-b976-403b-a419-b55
|
||||||
match : str
|
match : str
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src yaml :noweb-ref condition-yaml
|
||||||
|
Condition:
|
||||||
|
type: object
|
||||||
|
properties:
|
||||||
|
filter:
|
||||||
|
$ref: "#/components/schemas/Filter"
|
||||||
|
match:
|
||||||
|
type: string
|
||||||
|
#+end_src
|
||||||
** A filter is a boolean expression applied to a field with an optional argument
|
** A filter is a boolean expression applied to a field with an optional argument
|
||||||
|
|
||||||
#+begin_src python :noweb-ref filter
|
#+begin_src python :noweb-ref filter
|
||||||
|
@ -88,6 +117,9 @@ Defining and translating the Search DSL for the [[id:11edd6c9-b976-403b-a419-b55
|
||||||
#+begin_src python :noweb-ref filters
|
#+begin_src python :noweb-ref filters
|
||||||
email = Filter(field=fields.email, operator="is", input_type=InputType.String)
|
email = Filter(field=fields.email, operator="is", input_type=InputType.String)
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
|
#+begin_src yaml :noweb-ref filters-spec
|
||||||
|
#+end_src
|
||||||
** Sample searches
|
** Sample searches
|
||||||
|
|
||||||
*** Match subscriber email
|
*** Match subscriber email
|
||||||
|
@ -135,7 +167,7 @@ could be /parameterized/ by the field's type (e.g. a tag has type =str=, its
|
||||||
|
|
||||||
The input type will be defined as a property of the filter being applied.
|
The input type will be defined as a property of the filter being applied.
|
||||||
|
|
||||||
** TODO Should the search service maintain a set of filters, or field types and operators?
|
** DONE Should the search service maintain a set of filters, or field types and operators?
|
||||||
- A filter is a combination of a field, an operator, and a type
|
- A filter is a combination of a field, an operator, and a type
|
||||||
- A field has a type, and operators could be defined that work with a type or set of types
|
- A field has a type, and operators could be defined that work with a type or set of types
|
||||||
|
|
||||||
|
@ -143,6 +175,10 @@ For the former, the service would have total control over the search filters
|
||||||
available to the UI, and the UI would be coupled to the filter collection. With
|
available to the UI, and the UI would be coupled to the filter collection. With
|
||||||
the latter, the UI would have total control over which fields it's able to
|
the latter, the UI would have total control over which fields it's able to
|
||||||
search on and how, provided the fields are available.
|
search on and how, provided the fields are available.
|
||||||
|
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
The search service will maintain a set of filters.
|
||||||
** TODO How should the values of each filter be represented in the request schema?
|
** TODO How should the values of each filter be represented in the request schema?
|
||||||
Should they be normalized to strings, or should we allow any type and validate
|
Should they be normalized to strings, or should we allow any type and validate
|
||||||
it when we attempt to build the search data model? If the latter, could the
|
it when we attempt to build the search data model? If the latter, could the
|
||||||
|
@ -155,11 +191,13 @@ joined table. Will they all be joined by the subscriber id, or will we need to
|
||||||
maintain a map?
|
maintain a map?
|
||||||
|
|
||||||
* Code
|
* Code
|
||||||
|
** Python
|
||||||
#+begin_src python :noweb yes :noweb-ref final :exports code :results silent
|
#+begin_src python :noweb yes :noweb-ref final :exports code :results silent
|
||||||
import dataclasses
|
import dataclasses
|
||||||
import enum
|
import enum
|
||||||
import typing
|
import typing
|
||||||
|
|
||||||
|
|
||||||
<<field>>
|
<<field>>
|
||||||
|
|
||||||
|
|
||||||
|
@ -202,6 +240,7 @@ maintain a map?
|
||||||
|
|
||||||
#+RESULTS:
|
#+RESULTS:
|
||||||
: Success: no issues found in 1 source file
|
: Success: no issues found in 1 source file
|
||||||
|
** OpenAPI
|
||||||
* Output
|
* Output
|
||||||
#+caption: Generated queries
|
#+caption: Generated queries
|
||||||
#+begin_src python :noweb yes :exports results
|
#+begin_src python :noweb yes :exports results
|
||||||
|
|
|
@ -5,6 +5,8 @@
|
||||||
:END:
|
:END:
|
||||||
#+title: Tracking progress of moving pages out of Sites
|
#+title: Tracking progress of moving pages out of Sites
|
||||||
|
|
||||||
|
- [[https://jira.aweber.io/browse/CCPANEL-11608][Initiative parent ticket in JIRA]]
|
||||||
|
|
||||||
* Metrics
|
* Metrics
|
||||||
|
|
||||||
#+caption: Migrated controllers in the CP
|
#+caption: Migrated controllers in the CP
|
||||||
|
@ -159,3 +161,6 @@
|
||||||
| 2018-03-29 | 73 | 6 |
|
| 2018-03-29 | 73 | 6 |
|
||||||
| 2018-02-28 | 73 | 6 |
|
| 2018-02-28 | 73 | 6 |
|
||||||
| 2018-01-24 | 73 | 6 |
|
| 2018-01-24 | 73 | 6 |
|
||||||
|
|
||||||
|
* Comparing with the CP URL Inventory
|
||||||
|
https://docs.google.com/spreadsheets/d/1bRKL1zRe_SjePD1QKSHrbgiW9paMjLyCIX_2wu2FXwE/edit#gid=1209260269
|
||||||
|
|
6
aweber/20211005091910-tech_initiative_workshop.org
Normal file
6
aweber/20211005091910-tech_initiative_workshop.org
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 071f551f-56d9-425c-bfde-af80cd7c26f7
|
||||||
|
:END:
|
||||||
|
#+title: Tech Initiative Workshop
|
||||||
|
|
||||||
|
A bi-weekly meeting to swarm on various [[id:db322997-ff5e-416a-8dc8-f29e6a4928c8][Technical Initiative]] issues.
|
4
aweber/20211005153541-tagging_service.org
Normal file
4
aweber/20211005153541-tagging_service.org
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 7e503917-646f-4275-aab9-3a125b99cbfd
|
||||||
|
:END:
|
||||||
|
#+title: Tagging Service
|
4
aweber/20211005153555-tag_publisher_consumer.org
Normal file
4
aweber/20211005153555-tag_publisher_consumer.org
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 131dde93-60d3-4813-a16e-7568c79ba6c4
|
||||||
|
:END:
|
||||||
|
#+title: Tag Publisher Consumer
|
53
aweber/index.org
Normal file
53
aweber/index.org
Normal file
|
@ -0,0 +1,53 @@
|
||||||
|
#+TITLE: Correl Roush's Org Roam Notes
|
||||||
|
|
||||||
|
- [[file:20210915133101-analytics_view_service.org][Analytics View Service]]
|
||||||
|
- [[file:20210914144833-broadcast_segment_search.org][Broadcast Segment Search]]
|
||||||
|
- [[file:20210921090818-bulk_tagging_service.org][Bulk Tagging Service]]
|
||||||
|
- [[file:20210323162555-cleaning_up_public_endpoints_in_proxy_services.org][Cleaning up public endpoints in proxy services]]
|
||||||
|
- [[file:20210512133000-cobrowse_io.org][Cobrowse.io]]
|
||||||
|
- [[file:20200714141314-control_panel.org][Control Panel]]
|
||||||
|
- [[file:20210210113027-control_panel_http_requests.org][Control Panel HTTP Requests]]
|
||||||
|
- [[file:20200713131512-coreapi.org][CoreAPI]]
|
||||||
|
- [[file:20200714141333-corporate_notifications.org][Corporate Notifications]]
|
||||||
|
- [[file:20210916162334-ceeecs.org][Customer Empathy and Excellence via Customer Solutions]]
|
||||||
|
- [[file:20210928132316-dashboard.org][Dashboard]]
|
||||||
|
- [[file:20210826152454-deploying_bulk_tagging_to_kubernetes.org][Deploying Bulk Tagging to Kubernetes]]
|
||||||
|
- [[file:20210810095435-deploying_s4_to_kubernetes.org][Deploying S4 to Kubernetes]]
|
||||||
|
- [[file:20210714102625-deploying_projects.org][Deploying projects]]
|
||||||
|
- [[file:20210506110533-dynamodb_iam_policies.org][DynamoDB IAM Policies]]
|
||||||
|
- [[file:20201028130030-easy_commerce_mvp_brainstorm_notes.org][Easy Commerce MVP Brainstorm Notes]]
|
||||||
|
- [[file:20210318110509-finding_number_of_subscribers_with_a_tag.org][Finding number of subscribers with a tag]]
|
||||||
|
- [[file:20210324133247-imbi.org][Imbi]]
|
||||||
|
- [[file:20200714212153-login_throttling.org][Login Throttling]]
|
||||||
|
- [[file:20200714130151-mail_relay.org][Mail Relay]]
|
||||||
|
- [[file:20210520114208-migrating_aws_services.org][Migrating AWS services]]
|
||||||
|
- [[file:20200713131302-migration_to_common_rabbitmq.org][Migration to common RabbitMQ]]
|
||||||
|
- [[file:20210928155832-translating_the_search_dsl.org][Modeling the new search DSL]]
|
||||||
|
- [[file:20200714141221-momentum.org][Momentum]]
|
||||||
|
- [[file:20210323161636-moving_pages_out_of_sites.org][Moving pages out of Sites]]
|
||||||
|
- [[file:20200714100836-pgbouncer_port_migration.org][PGBouncer port migration]]
|
||||||
|
- [[file:20200714125028-pagerduty.org][Pagerduty]]
|
||||||
|
- [[file:20210813142844-projects.org][Projects]]
|
||||||
|
- [[file:20200713162108-puppet.org][Puppet]]
|
||||||
|
- [[file:20210412153138-purchase_tracking.org][Purchase tracking]]
|
||||||
|
- [[file:20201022141542-python_services.org][Python Services]]
|
||||||
|
- [[file:20210512093626-rebuild_unsubscribe_page_as_a_react_application.org][Rebuild Unsubscribe Page as a React Application]]
|
||||||
|
- [[file:20210127141844-recurring_and_split_stripe_payments.org][Recurring and split Stripe payments]]
|
||||||
|
- [[file:20210915132045-redesigned_reports.org][Redesigned Reports]]
|
||||||
|
- [[file:20200714143255-refunding_an_order.org][Refunding an Order]]
|
||||||
|
- [[file:20210915133448-report_api_controller.org][Report API Controller]]
|
||||||
|
- [[file:sites-release.org][Sites Releases]]
|
||||||
|
- [[file:20210914143542-sites_subscriber_search.org][Sites Subscriber Search]]
|
||||||
|
- [[file:20210302135423-stripe_api.org][Stripe API]]
|
||||||
|
- [[file:20210112104838-stripe_payments_service.org][Stripe Payments Service]]
|
||||||
|
- [[file:20210630150008-stripe_poller.org][Stripe Poller]]
|
||||||
|
- [[file:20210316155320-stripe_payments_tracking_database.org][Stripe payments tracking database]]
|
||||||
|
- [[file:20210914142000-subscriber_search_service.org][Subscriber Search Service]]
|
||||||
|
- [[file:20210629133542-supporting_multiple_currencies_in_stripe.org][Supporting multiple currencies in Stripe]]
|
||||||
|
- [[file:20210706161607-supporting_multiple_time_zones.org][Supporting multiple time zones]]
|
||||||
|
- [[file:20210920134622-suspicious_submission_spam_service.org][Suspicious Submission Spam Service]]
|
||||||
|
- [[file:20210318112158-tagging_roadmap.org][Tagging Roadmap]]
|
||||||
|
- [[file:20210714105000-team_member_onboarding.org][Team Member Onboarding]]
|
||||||
|
- [[file:20210323162325-technical_initiative.org][Technical Initiative]]
|
||||||
|
- [[file:20211001095858-tracking_progress_of_moving_pages_out_of_sites.org][Tracking progress of moving pages out of Sites]]
|
||||||
|
- [[file:20210406120229-troubleshooting_an_unresolvable_kubernetes_service_hostname.org][Troubleshooting an unresolvable kubernetes service hostname]]
|
|
@ -6,7 +6,7 @@ y:PROPERTIES:
|
||||||
:END:
|
:END:
|
||||||
#+title: 2021-09-21
|
#+title: 2021-09-21
|
||||||
|
|
||||||
* Tech Initiatives Sync-Up
|
* [[id:071f551f-56d9-425c-bfde-af80cd7c26f7][Tech Initiative Workshop]]
|
||||||
- [X] Fix [[id:c7322400-c6e6-4595-87e2-7db6e57b6a2b][S4]] metrics failing to publish
|
- [X] Fix [[id:c7322400-c6e6-4595-87e2-7db6e57b6a2b][S4]] metrics failing to publish
|
||||||
- [ ] Update [[id:c7322400-c6e6-4595-87e2-7db6e57b6a2b][S4]] Dashboard
|
- [ ] Update [[id:c7322400-c6e6-4595-87e2-7db6e57b6a2b][S4]] Dashboard
|
||||||
- [ ] Fix [[id:321075e7-db53-4676-b785-7c77ed9d1150][Bulk Tagging Service]] metrics failing to publish
|
- [ ] Fix [[id:321075e7-db53-4676-b785-7c77ed9d1150][Bulk Tagging Service]] metrics failing to publish
|
||||||
|
|
103
daily/2021-10-05.org
Normal file
103
daily/2021-10-05.org
Normal file
|
@ -0,0 +1,103 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 909b87cb-8777-48e4-9ce9-59c58461797c
|
||||||
|
:END:
|
||||||
|
#+title: 2021-10-05
|
||||||
|
* Addressing Tagging message priorities
|
||||||
|
- The =campaign-engine-tag= is defined with =x-max-priority: 9=
|
||||||
|
- The bulk-tagging consumer makes requests to the tagging service with
|
||||||
|
=publishing-priority= set to =0=, the lowest priority, which the tagging
|
||||||
|
service honors (it defaults to =2= when one is not provided).
|
||||||
|
- Tag publisher makes requests to tagging with a priority between =0= and =3=,
|
||||||
|
depending on the new subscriber's source:
|
||||||
|
https://gitlab.aweber.io/CP/Consumers/tagpublisher/-/blob/master/tagpublisher.py#L96-112
|
||||||
|
|
||||||
|
#+caption: Tagging publish priorities
|
||||||
|
| | [[id:7e503917-646f-4275-aab9-3a125b99cbfd][Tagging]] | [[id:321075e7-db53-4676-b785-7c77ed9d1150][Bulk Tagging]] | [[id:131dde93-60d3-4813-a16e-7568c79ba6c4][Tag Publisher]] |
|
||||||
|
|---+---------+--------------+--------------------------|
|
||||||
|
| 0 | | All | Unknown / missing source |
|
||||||
|
| 1 | | | source=api |
|
||||||
|
| 2 | Default | | |
|
||||||
|
| 3 | | | source=webform,api/atom |
|
||||||
|
| 4 | | | |
|
||||||
|
| 5 | | | |
|
||||||
|
| 6 | | | |
|
||||||
|
| 7 | | | |
|
||||||
|
| 8 | | | |
|
||||||
|
| 9 | | | |
|
||||||
|
|
||||||
|
For the interim, we'll increase the priorities of events from Tag Publisher by
|
||||||
|
1, leaving bulk tagging by itself at the lowest priority.
|
||||||
|
** Building a new tag event
|
||||||
|
I'd like to move forward sooner rather than later with an updated tag event per
|
||||||
|
recipient tagged (currently we emit an event per tag applied).
|
||||||
|
|
||||||
|
#+begin_src diff
|
||||||
|
From 111ad42ee99ce1e5f2c4c376efc887e3e2851289 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Correl <correl@gmail.com>
|
||||||
|
Date: Tue, 5 Oct 2021 16:46:57 -0400
|
||||||
|
Subject: [PATCH] Create a recipient tagged event
|
||||||
|
|
||||||
|
This event is intended to replace usage of the existing `tag.v1` event,
|
||||||
|
which is issued per tag with properties for the tagged recipient, with
|
||||||
|
an event issued per recipient with a list of applied tags.
|
||||||
|
|
||||||
|
This will allow campaign tag processing to handle multiple tag updates
|
||||||
|
per subscriber in a single event, reducing lock contention on subscriber
|
||||||
|
records.
|
||||||
|
|
||||||
|
CCPANEL-11716
|
||||||
|
---
|
||||||
|
events/recipient.tagged.v1.avsc | 40 +++++++++++++++++++++++++++++++++
|
||||||
|
1 file changed, 40 insertions(+)
|
||||||
|
create mode 100644 events/recipient.tagged.v1.avsc
|
||||||
|
|
||||||
|
diff --git a/events/recipient.tagged.v1.avsc b/events/recipient.tagged.v1.avsc
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b28bf28
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/events/recipient.tagged.v1.avsc
|
||||||
|
@@ -0,0 +1,40 @@
|
||||||
|
+{
|
||||||
|
+ "type": "record",
|
||||||
|
+ "namespace": "com.aweber.events",
|
||||||
|
+ "name": "recipient.tagged.v1",
|
||||||
|
+ "fields": [
|
||||||
|
+ {
|
||||||
|
+ "name": "id",
|
||||||
|
+ "type": "string"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "name": "account",
|
||||||
|
+ "type": "string"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "name": "list",
|
||||||
|
+ "type": [
|
||||||
|
+ "string",
|
||||||
|
+ "null"
|
||||||
|
+ ]
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "name": "timestamp",
|
||||||
|
+ "type": "string"
|
||||||
|
+ },
|
||||||
|
+ {
|
||||||
|
+ "name": "tags",
|
||||||
|
+ "type": {
|
||||||
|
+ "type": "array",
|
||||||
|
+ "items": {
|
||||||
|
+ "type": "record",
|
||||||
|
+ "name": "Tag",
|
||||||
|
+ "fields": [
|
||||||
|
+ {"name": "id", "type": "string"},
|
||||||
|
+ {"name": "label": "type": "string"}
|
||||||
|
+ ]
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+ ]
|
||||||
|
+}
|
||||||
|
--
|
||||||
|
2.30.2
|
||||||
|
|
||||||
|
#+end_src
|
Binary file not shown.
After Width: | Height: | Size: 3.3 MiB |
|
@ -0,0 +1,7 @@
|
||||||
|
:PROPERTIES:
|
||||||
|
:ID: 669a827a-bc9a-4171-9047-0029a3a15c62
|
||||||
|
:ROAM_REFS: https://wiki.sei.cmu.edu/confluence/display/java/Input+Validation+and+Data+Sanitization
|
||||||
|
:END:
|
||||||
|
#+title: Input Validation and Data Sanitization - SEI CERT Oracle Coding Standard for Java - Confluence
|
||||||
|
|
||||||
|
Discusses [[id:9914d09e-99fe-46a6-95be-676c5b78ed90][Input validation]] and [[id:2ba04972-f498-41c2-970e-a64c7f3f1c3b][Data sanitization]].
|
Loading…
Reference in a new issue