AdWords change courses

Question to the professionals

I've been running my AdWords account for over a decade. The last changes have confused me a little. I am working with the new AI and in fact my lead costs have decreased.

I used to run SKAGs and now my best campaign has it all.

Do you know of any new courses that show me the best way to structure my account?

Plugins – Change the time interval of the planned woocommerce cron job

Since woocommerce version 3.4, it is possible to anonymize order data either manually or over a planned interval (days / weeks / months / years). Now I want to adjust the interval to twice a day. I use the wp-crontrol plugin to edit the corresponding woocommerce wp-cron job (hook name: woocommerce_cleanup_personal_data). If I test it in my local environment, it works fine, but unfortunately not on the live server. Although I can change the interval and it is listed in the wp-cron log as running at the desired time, nothing happens to the order data (it is not anonymized). After doing some more research, I understood that the following cases can cause wp-cron jobs to not work:

1. Use a cache plugin

Yes, I use a cache plugin on the live server (but not in my local environment). So I tried to disable the specified plugin, but still nothing happens.

2. Install different time zone settings of server and WordPress

I've changed WordPress time zone settings to match the time zone on the server. Still no luck.

3. no http request to the site (no user visits the site)

I myself have visited the site over a dozen times (in admin mode and as a normal user). There were other visitors to the site too.

Also, I don't want to replace the wp-cron job with a real server cron job.
Does anyone have any idea what I could miss here?

Why doesn't Chrome allow extensions to change these headers?

The Chrome WebRequests API mentions that certain request headers are not available for them onBeforeSendHeaders Event, which means that extensions cannot read and / or change these headers. Here is an excerpt from the documentation:

The following headers are not currently provided for the onBeforeSendHeaders Event. This list is neither complete nor stable.

  • approval
  • Cache Control
  • connection
  • content length
  • host
  • If-Modified-Since
  • If-None-Match
  • If-Range
  • part data
  • pragma
  • Proxy-Authorization
  • Proxy Connection
  • Transfer encoding

Is there a security reason to disable reading or writing extensions? How can an extension become malicious if it can read / write these values?

How do I change some parts of a contour plot?

I use that ContourPlot

With({n = 18}, 
  colors = Join({White}, (Lighter(Blue, #) & /@ Subdivide(1, 0, n))((
     3 ;; -3)), {Black});
  ContourPlot((Alpha)1^2 (Alpha)3^-1, {(Alpha)3, 0, 
    0.8}, {(Alpha)1, 0, 0.8}, AspectRatio -> 1, 
   BaseStyle -> {FontSize -> 9}, 
   FrameLabel -> {Style((Alpha)3, FontSize -> 14, Blue), 
     Style((Alpha)1, FontSize -> 14, Blue)}, 
   Contours -> 
    Function({min, max}, 
     Range(Floor(min, -50), Ceiling(max, 50), 0.5)), 
   ContourStyle -> {Dashed}, 
   ContourShading -> {Black, Darker(Red, 0.6), Darker(Red, 0.4), 
     Darker(Red, 0.2), Lighter(Red, 0.4), Lighter(Red, 0.75), 
     Lighter(Red, 0.9), Lighter(Blue, 0.9), Lighter(Blue, 0.75), 
     Lighter(Blue, 0.6), Lighter(Blue, 0.4), Lighter(Blue, 0.2), Blue,
      Darker(Blue, 0.2), Darker(Blue, 0.4), Darker(Blue, 0.6), 
     Darker(Blue, 0.8)}, PlotLegends -> Automatic, 
   ImageSize -> {Automatic, 500}, PlotRange -> All)))

The thing is, the left side of the figure is a bit complicated. How can I reduce the contours in this area? In other words, how can I decorate this plot more and make it more professional?

Display calibration – when you drag Photoshop to another monitor, the colors change a lot

I have my laptop – perfect color, my right monitor – a Dell – perfect color and then my left – another Dell – colors are far away and boring. When I drag Photoshop onto the other two, the colors are perfect. Monitor colors match on all 3 monitors / screens. The difference is in the Photoshop workspace. Place, open – colors match, but the work area to the left of Dell is boring. Dragging Photoshop to the others, once again beautiful and output by all three, is perfect. It's just the work area.

8 – Change existing route – bypass / overwrite entity authorization

I added a custom access check to a JSON API endpoint so that only users who provide a token can perform POST / PATCH updates on a media endpoint. I followed this documentation to help change an existing route RouteSubscriber:alterRoutes() and a custom access check.

Everything works fine with my custom access control. I have a custom condition that either prohibits or allows access due to a condition:

public function access() {
   $valid = $this->validateToken($token);

   if ($valid) {
     $access = AccessResult::allowed()
   } else {
     $access = AccessResult::forbidden('The access token is invalid');

   return $access;

If the user does not meet the relevant condition, my custom access check will deny access.

However, if the custom access check allows access, the default permissions for entities will continue to apply. I get the 403 Forbidden error message:

The current user is not permitted to upload a file for this field. The following permissions are required: 'administer media' OR 'create media' OR 'create (machine_name) media'

If I allow access, I want everyone who has provided the correct token to be able to create a specific entity (including anonymous users). How can I override the Entity Entitlement system so that the one who meets the condition has access to create the entity?

Can I dynamically add permission to this user to create this particular entity just for this request?

I am currently making a request for mine in my alterRoutes () function _custom_access, Do I also have to set an additional requirement for? _entity_access or _entity_create_access?

Change the issuer name in the OpenIDConnect recognition document on Windows Server 2016 ADFS

I set up ADFS on a Windows Server 2016 and the identification document looks something like this:

You can see that the name of the exhibitor is given in capital letters "AD", which leads to my OpenId client reporting an error: The name of the exhibitor does not match the authorization.

As mentioned here, the issuer name distinguishes between upper and lower case:

For some reason, the OIDC client doesn't seem to like the authority URL in uppercase, and I feel that it will be converted to lowercase. Everything works fine when I tell the OIDC client not to validate the issuer name, but it seems like a hack to me.

An attempt was made to change the ADFS service properties through the user interface and to set the "Federation Service Name" and "Federation Service ID", which does not appear to update the issuer in the discovery document.

I understand that the computer name is in uppercase, which is why this happens, but I really don't want to go there as this is a domain controller and have read horror stories about renaming a domain controller.

Any other suggestions?

pubsub – Publication of data change events by microservice compared to a separate application – Best Practice

Suppose there is a microservice with an HTTP API for CRUD operations in a database – nothing special, but there is a journal table with all changes that have been recorded for audit purposes.
Suppose there is also an event bus (Kafka in my case, but it could be anything) on ​​which data change events have to be published.

The journal table contains enough information to create all events.

The options on the table are:

  1. Microservice publishes its own events
  2. Another application publishes events based on querying the journal table

Both options guarantee that all events will be published (sometime) and have a similar performance and a similar, simple design complexity. Both approaches are 100% robust.

Things to consider that may or may not affect the answer:

  • The performance is similar and largely irrelevant anyway
  • Although the journal table is not expected to change, option 2 means that a third-party application is dependent on it, creating an API / SLA that is closely related to an implementation choice (using a table for the journal) and its schema ,
  • Option 2 requires DB connection data, network routing, security logoff, certificates, etc
  • Option 1 means that the microservice increases responsibility for the publication of events
  • Option 2 means that another application has to be created, deployed, operated and maintained
  • Both options work

Which is (closer to) best practice?