diff --git a/20200713191259-slaa.org b/20200713191259-slaa.org index 1fff500..252aa83 100644 --- a/20200713191259-slaa.org +++ b/20200713191259-slaa.org @@ -7,6 +7,36 @@ A 12-step support group for those suffering from [[id:225dc9bd-4352-40de-b3de-5554b939d47e][Sex]] and love addiction. * 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. 1. We admitted we were powerless over sex and love addiction - that our lives 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 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. 1. Our common welfare should come first; personal recovery depends upon S.L.A.A. 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 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 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 diff --git a/20211007111835-validation_vs_sanitization.org b/20211007111835-validation_vs_sanitization.org new file mode 100644 index 0000000..f75cf21 --- /dev/null +++ b/20211007111835-validation_vs_sanitization.org @@ -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. diff --git a/20211007120146-input_validation.org b/20211007120146-input_validation.org new file mode 100644 index 0000000..1e6c829 --- /dev/null +++ b/20211007120146-input_validation.org @@ -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. diff --git a/20211007120223-input_sanitization.org b/20211007120223-input_sanitization.org new file mode 100644 index 0000000..7aa9ddf --- /dev/null +++ b/20211007120223-input_sanitization.org @@ -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. diff --git a/20211007134653-kubernetes.org b/20211007134653-kubernetes.org new file mode 100644 index 0000000..459e312 --- /dev/null +++ b/20211007134653-kubernetes.org @@ -0,0 +1,6 @@ +:PROPERTIES: +:ID: 3ba1f581-c66c-492f-80fc-e7d2e488b362 +:END: +#+title: Kubernetes + +An orchestration platform for deploying Docker containers. diff --git a/aweber/20210406120229-troubleshooting_an_unresolvable_kubernetes_service_hostname.org b/aweber/20210406120229-troubleshooting_an_unresolvable_kubernetes_service_hostname.org index 25d98fb..b29215e 100644 --- a/aweber/20210406120229-troubleshooting_an_unresolvable_kubernetes_service_hostname.org +++ b/aweber/20210406120229-troubleshooting_an_unresolvable_kubernetes_service_hostname.org @@ -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. 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 is more expedient to return the sole endpoint's IP address. diff --git a/aweber/20210928155832-translating_the_search_dsl.org b/aweber/20210928155832-translating_the_search_dsl.org index 3cfc856..6955b12 100644 --- a/aweber/20210928155832-translating_the_search_dsl.org +++ b/aweber/20210928155832-translating_the_search_dsl.org @@ -14,6 +14,13 @@ Defining and translating the Search DSL for the [[id:11edd6c9-b976-403b-a419-b55 # TODO: sorting : Sorting #+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 #+begin_src python :noweb-ref group 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] #+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 #+begin_src python :noweb-ref condition @dataclasses.dataclass @@ -35,6 +55,15 @@ Defining and translating the Search DSL for the [[id:11edd6c9-b976-403b-a419-b55 match : str #+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 #+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 email = Filter(field=fields.email, operator="is", input_type=InputType.String) #+end_src + +#+begin_src yaml :noweb-ref filters-spec +#+end_src ** Sample searches *** 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. -** 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 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 the latter, the UI would have total control over which fields it's able to 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? 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 @@ -155,37 +191,39 @@ joined table. Will they all be joined by the subscriber id, or will we need to maintain a map? * Code +** Python #+begin_src python :noweb yes :noweb-ref final :exports code :results silent import dataclasses import enum import typing - + + <> - - + + <> - - + + <> - - + + <> - - + + <> - - + + <> - - + + class fields: <> - - + + class filters: <> - - + + searches = [ <>, ] @@ -202,6 +240,7 @@ maintain a map? #+RESULTS: : Success: no issues found in 1 source file +** OpenAPI * Output #+caption: Generated queries #+begin_src python :noweb yes :exports results diff --git a/aweber/20211001095858-tracking_progress_of_moving_pages_out_of_sites.org b/aweber/20211001095858-tracking_progress_of_moving_pages_out_of_sites.org index a0c41f7..9be7242 100644 --- a/aweber/20211001095858-tracking_progress_of_moving_pages_out_of_sites.org +++ b/aweber/20211001095858-tracking_progress_of_moving_pages_out_of_sites.org @@ -5,6 +5,8 @@ :END: #+title: Tracking progress of moving pages out of Sites +- [[https://jira.aweber.io/browse/CCPANEL-11608][Initiative parent ticket in JIRA]] + * Metrics #+caption: Migrated controllers in the CP @@ -159,3 +161,6 @@ | 2018-03-29 | 73 | 6 | | 2018-02-28 | 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 diff --git a/aweber/20211005091910-tech_initiative_workshop.org b/aweber/20211005091910-tech_initiative_workshop.org new file mode 100644 index 0000000..fad64e8 --- /dev/null +++ b/aweber/20211005091910-tech_initiative_workshop.org @@ -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. diff --git a/aweber/20211005153541-tagging_service.org b/aweber/20211005153541-tagging_service.org new file mode 100644 index 0000000..b2a534d --- /dev/null +++ b/aweber/20211005153541-tagging_service.org @@ -0,0 +1,4 @@ +:PROPERTIES: +:ID: 7e503917-646f-4275-aab9-3a125b99cbfd +:END: +#+title: Tagging Service diff --git a/aweber/20211005153555-tag_publisher_consumer.org b/aweber/20211005153555-tag_publisher_consumer.org new file mode 100644 index 0000000..a2ac18f --- /dev/null +++ b/aweber/20211005153555-tag_publisher_consumer.org @@ -0,0 +1,4 @@ +:PROPERTIES: +:ID: 131dde93-60d3-4813-a16e-7568c79ba6c4 +:END: +#+title: Tag Publisher Consumer diff --git a/aweber/index.org b/aweber/index.org new file mode 100644 index 0000000..6e3726d --- /dev/null +++ b/aweber/index.org @@ -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]] \ No newline at end of file diff --git a/daily/2021-09-21.org b/daily/2021-09-21.org index 4e8da2e..b22e013 100644 --- a/daily/2021-09-21.org +++ b/daily/2021-09-21.org @@ -6,7 +6,7 @@ y:PROPERTIES: :END: #+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 - [ ] Update [[id:c7322400-c6e6-4595-87e2-7db6e57b6a2b][S4]] Dashboard - [ ] Fix [[id:321075e7-db53-4676-b785-7c77ed9d1150][Bulk Tagging Service]] metrics failing to publish diff --git a/daily/2021-10-05.org b/daily/2021-10-05.org new file mode 100644 index 0000000..75359a3 --- /dev/null +++ b/daily/2021-10-05.org @@ -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 + 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 diff --git a/data/05/698e38-65b2-496c-b02b-1db376ae734c/_20211007_133207evangelion-misako-computer.gif b/data/05/698e38-65b2-496c-b02b-1db376ae734c/_20211007_133207evangelion-misako-computer.gif new file mode 100644 index 0000000..adf88a7 Binary files /dev/null and b/data/05/698e38-65b2-496c-b02b-1db376ae734c/_20211007_133207evangelion-misako-computer.gif differ diff --git a/input_validation_and_data_sanitization_sei_cert_oracle_coding_standard_for_java_confluence.org b/input_validation_and_data_sanitization_sei_cert_oracle_coding_standard_for_java_confluence.org new file mode 100644 index 0000000..efd3715 --- /dev/null +++ b/input_validation_and_data_sanitization_sei_cert_oracle_coding_standard_for_java_confluence.org @@ -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]].