sharepoint online – Repost Page not inheriting site column when added via Site Script

I have a Site Script where I add Site Columns to the Site Pages library. My issue is when adding site columns via Site Script the Repost Page content type is not inheriting the added columns, only the Site Page content type. Adding a column via the UI works as there is an option “Add to all content types” which is missing in site script. Sample of the approach:

{
  "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
  "actions": (            
    {
      "verb": "createSPList",
      "listName": "Site Pages",
      "templateType": 119,
      "subactions": (
        {
          "verb": "addSiteColumn",
          "internalName": "PageCategory",
          "addToDefaultView": true
        },
        ...
      }
    )
  }

So, I do have a solution where I instead can update the base site content type (Repost Page) however I suspect this violates good practice on what to do and not to do in SharePoint. Or, is the below OK:

    {
  "$schema": "https://developer.microsoft.com/json-schemas/sp/site-design-script-actions.schema.json",
  "actions": (
    {
      "verb": "createContentType",
      "name": "Site Page",
      "description": "Create a new site page",
      "hidden": false,
      "parentName": "Document",
      "subactions":
        (
            {
              "verb": "addSiteColumn",
              "internalName": "PageCategory"
            }           
        )
    },
    {
      "verb": "createContentType",
      "name": "Repost Page",
      "description": "Used to create a News link post. If deleted, the News link option will be disabled for users.",
      "hidden": false,
      "parentName": "Site Page",
      "subactions":
        (
          {
            "verb": "addSiteColumn",
            "internalName": "PageCategory"
          }
        )
    },        
    {
      "verb": "createSPList",
      "listName": "Site Pages",
      "templateType": 119,
      "subactions": (
        {
          "verb": "addContentType",
          "name": "Site Page"          
        },
        {
          "verb": "addContentType",
          "name": "Repost Page"
        }
        ...
      )
   }
 }

I was hoping to be able to use Site Designs/Site Scripts for this and know that alternatives exists such as PnP Provisioning etc. My hope is also to avoid creating my own Content Type.

Any thoughts on the above? Is it OK to update the base Content Type?

MySQL offline plugin installation – Database Administrators Stack Exchange

I have a production MySQL DB node without internet connectivity. We want to add password_validate plugin.

As it doesnt have internet, I had placed validate_password.so file in /usr/lib64/mysql/plugin and tried

mysql --plugin-load=validate_password

Unknown variable ‘plugin-load=validate_password

MySQL Version : 5.7.33

Ref : MySQL doc

base58 – How to handle leading 0’s (b58 1’s) when base58check encoding

I’m trying to more fully understand the base58check encoding algorithm.

Unfortunately, I keep running into a problem with how to handle a situation where the base58 value of an input would have leading 0’s (1’s in base58).
Everywhere I find any information about this online, it simply states that “the data is encoded to avoid having leading 0s, except to represent full ‘0’ bytes in then input.”

What I need to understand is:
What is changed in the data (input or output) to avoid/correct this situation in the output string?

differential equations – DSolve for deflection of an elastic beam

I have to write a notebook about comparing the results of the deflection of an elastic beam, calculated with discrete methods and FE methods. The code has to be generalized for any kind of beam structure, as it reads the inputs to arrays (for example: Iv, Lv, Mv). With the FEM I have no problem, but with the discrete method, I can’t make it work. I have to combine a lot of equations under a DSolve and it keeps giving me an error. I have my boundary conditions and my deflection functions done, but the DSolve itself won’t run, because it says

“Supplied equations are not differential or integral equations of the given functions”.

I don’t know what the problem is here: I used everything with a correct head, and I have no idea how to go forward. Here is the code in question:

  1. I prepare my deflection functions and my boundary conditions here:
rdiff := Table(
D(ToExpression("w" <> ToString(i))(x), {x, 2}) == -(1/(Iv((i))*Ev((i))))*Sum(Mh((j)), {j, i})
, {i, 1, Length(Lv)})

su := Sum(Lv((j)), {j, 1, i - 1});
peremfeltetelek2 = Table("", {i, 1, 2*Length(peremv - 1)});
Do(
 Switch(peremv((i)),
  "b",
  (peremfeltetelek2((
     2 i - 1)) = (ToExpression("w" <> ToString(i))(su) == 0); 
   peremfeltetelek2((
     2 i)) = (ToExpression("w" <> ToString(i))'(su) == 0)),
  "cs",
  (peremfeltetelek2((
     2 i - 1)) = (ToExpression("w" <> ToString(i))(su) == 0); 
   peremfeltetelek2((
     2 i)) = (ToExpression("w" <> ToString(i))'(su) == 
      ToExpression("w" <> ToString(i + 1))'(su))),
  0,
  (peremfeltetelek2((
     2 i - 1)) = (ToExpression("w" <> ToString(i))(su) == 
      ToExpression("w" <> ToString(i + 1))(su)); 
   peremfeltetelek2((
     2 i)) = (ToExpression("w" <> ToString(i))'(su) == 
      ToExpression("w" <> ToString(i + 1))'(su)))
  )
 , {i, 1, Length(peremv - 1)}
 )
  1. The functions look like this:
rdiff
{
w1''(x)==0.0848473 x,
w2''(x)==-0.0000424236 (-1500. (-0.22+x)^2-2000. x),
w3''(x)==-0.000169695 (900. -1500. (-0.54+x)^2-1500. (-0.22+x)^2-2000. x),
w4''(x)==-0.000169695 (900. -500. (-0.73+x)+F5 (-0.73+x)-1500. (-0.73+x)^2-1500. (-0.54+x)^2-1500. (-0.22+x)^2-2000. x)
}

peremfeltetelek2
{
w1(0)==w2(0),
w1'(0)==w2'(0),
w2(0.22)==w3(0.22),
w2'(0.22)==w3'(0.22),
,w3(0.54)==w4(0.54),
w3'(0.54)==w4'(0.54),
w4(0.73)==0,
w4'(0.73)==w5'(0.73),
w5(0.88)==0,w5'(0.88)==0
}
  1. After that, I try to combine these in a big DSolve, like this:
wmegoldas = 
 DSolve(Join(rdiff, peremfeltetelek2), 
 Table((ToExpression("w" <> ToString(i)))(x), {i, 1, Length(Lv)}), x)

And here is where the error happens. What seems to be the problem?

progressive disclosure – Recommended Font Awesome icons for progress

I have a flashcards-type application, and I want to place a simple symbol on each set of cards, to indicate 3 possible states:

  • not started
  • started but not completed
  • completed

For completed, I already have the check mark in a green circle. I am looking for recommendations on 2 other icons to represent the first 2 states (not started, started / in progress).

enter image description here

pathfinder 1e – Is the caster of Zone of Truth aware of the save result?

https://www.d20pfsrd.com/magic/all-spells/z/zone-of-truth/

If I cast this spell, will I be able to tell whether the target saved or not?

The spell level and therefore the DC will be too low so my intention it to use it for negotiations where the target and myself both decide to fail it to make the negotiations more reliable.

In case I can’t be aware of the result (which makes the spell completely useless since everyone can save it), is there some other spell that can be used to reliably prevent lies?

finder – macOS NO new file here, advantages?

This is likely to get closed as opinion-based, but I’d ask “What’s the perceived benefit of being able to create a blank file to then have to open it in a separate action?”
Why not just generate new files in the application you’re going to use them in?

You can, if you need for arcane or esoteric purposes, easily create a blank file in Terminal with touch.

code smell – How to tackle a ‘branched’ arrow head anti-pattern?

user61852 has a pretty good answer solving the general problem of simplifying nested conditionals. However, I was intrigued with your proposed state machine-like solution, and wanted to illustrate how that can sometimes be preferable to a set of binary flags.

It all depends on the sequence of obtaining the flags’ values and how many combinations are valid. If you have n flags, you have 2n states. For 4 flags, that’s 16 states, and as you observed, only 3 of them may have any useful meaning. In situations like that, using a state variable instead can simplify things greatly.

Let’s say you have a lock that will open if 4 keys are pressed in the right order. If you press any key incorrectly, it immediately resets back to the start of the sequence. A very naïve way to implement a keypress handler using binary flags is:

void key_pressed(char key)
{
   if (!key1correct)
   {
      if (key == pin(0))
      {
         key1correct = true;
      }
   }
   else if (!key2correct)
   {
       if (key == pin(1))
       {
           key2correct = true;
       }
       else
       {
           key1correct = false;
       }
   }
   else if (!key3correct)
   {
       if (key == pin(2))
       {
           key3correct = true;
       }
       else
       {
           key1correct = false;
           key2correct = false;
       }
   }
   else
   {
       if (key == pin(3))
       {
           key4correct = true;
       }
       else
       {
           key1correct = false;
           key2correct = false;
           key3correct = false;
       }
   }

   if (key1correct && key2correct && key3correct && key4correct)
   {
       open_lock();
       key1correct = false;
       key2correct = false;
       key3correct = false;
       key4correct = false;
   }
}

A simplified, flattened version using binary flags (like user61852’s answer) looks like this:

void key_pressed(char key)
{
    if (!key1correct && key == pin(0))
    {
        key1correct = true;
        return;
    }

    if (key1correct && !key2correct && key == pin(1))
    {
        key2correct = true;
        return;
    }

    if (key1correct && key2correct && !key3correct && key == pin(2))
    {
        key3correct = true;
        return;
    }

    if (key1correct && key2correct && key3correct && key == pin(3))
    {
        open_lock();
        key1correct = false;
        key2correct = false;
        key3correct = false;
        return;
    }

    key1correct = false;
    key2correct = false;
    key3correct = false;
}

That’s a lot easier to read, but still in both of these solutions you have states like key2correct && !key1correct that are completely invalid and unused. Whereas using a state variable num_correct_keys instead of the binary flags looks like this:

void key_pressed(char key)
{
    if (key == pin(num_correct_keys))
        ++num_correct_keys;
    else
        num_correct_keys = 0;

    if (num_correct_keys == 4)
    {
        open_lock();
        num_correct_keys = 0;
    }
}

Granted, this is a contrived example, but people often write code like the first version in less obvious situations, sometimes spread across multiple files. Using a state variable often greatly simplifies code, especially when the flags represent a sequence of events.

python kivy – Buildozer não compila – Falha

Estou tentando compilar um código de Python com o Buildozer. O projeto tem os arquivos de icon.png, presplash.png, main.py e main.kv. Tentei inclusive com o Crystax, mas continuou com o mesmo erro… Como faço para corrigir?
Segue útilma parte da resposta desde o comando buildozer -v android debug:

# Check configuration tokens
# Ensure build layout
# Check configuration tokens
# Preparing build
# Check requirements for android
# Run 'dpkg --version'
# Cwd None
Debian 'dpkg' package management program version 1.19.0.5 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.
# Search for Git (git)
#  -> found at /usr/bin/git
# Search for Cython (cython)
#  -> found at /usr/local/bin/cython
# Search for Java compiler (javac)
#  -> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/javac
# Search for Java keytool (keytool)
#  -> found at /usr/lib/jvm/java-11-openjdk-amd64/bin/keytool
# Install platform
# Run 'git config --get remote.origin.url'
# Cwd /home/kivy/Desktop/Senhas/.buildozer/android/platform/python-for-android
https://github.com/kivy/python-for-android.git
# Run 'git branch -vv'
# Cwd /home/kivy/Desktop/Senhas/.buildozer/android/platform/python-for-android
* master 5a94d074 (origin/master) Merge pull request #2244 from Chronolife-team/native_services_upstream
# Run '/usr/bin/python3 -m pip install -q --user 'appdirs' 'colorama>=0.3.3' 'jinja2' 'six' 'enum34; python_version<"3.4"' 'sh>=1.10; sys_platform!="nt"' 'pep517<0.7.0"' 'toml''
# Cwd None
Exception:
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/lib/python3/dist-packages/pip/commands/install.py", line 360, in run
    prefix=options.prefix_path,
  File "/usr/lib/python3/dist-packages/pip/req/req_set.py", line 784, in install
    **kwargs
  File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 851, in install
    self.move_wheel_files(self.source_dir, root=root, prefix=prefix)
  File "/usr/lib/python3/dist-packages/pip/req/req_install.py", line 1064, in move_wheel_files
    isolated=self.isolated,
  File "/usr/lib/python3/dist-packages/pip/wheel.py", line 345, in move_wheel_files
    clobber(source, lib_dir, True)
  File "/usr/lib/python3/dist-packages/pip/wheel.py", line 323, in clobber
    shutil.copyfile(srcfile, destfile)
  File "/usr/lib/python3.6/shutil.py", line 121, in copyfile
    with open(dst, 'wb') as fdst:
PermissionError: (Errno 13) Permission denied: '/home/kivy/.local/lib/python3.6/site-packages/pep517-0.6.0.dist-info/RECORD'
# Command failed: /usr/bin/python3 -m pip install -q --user 'appdirs' 'colorama>=0.3.3' 'jinja2' 'six' 'enum34; python_version<"3.4"' 'sh>=1.10; sys_platform!="nt"' 'pep517<0.7.0"' 'toml'
# ENVIRONMENT:
#     LS_COLORS = 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:'
#     LESSCLOSE = '/usr/bin/lesspipe %s %s'
#     XDG_MENU_PREFIX = 'xfce-'
#     LANG = 'en_ZA.UTF-8'
#     GDM_LANG = 'en_US'
#     DISPLAY = ':0.0'
#     GTK_OVERLAY_SCROLLING = '0'
#     COLORTERM = 'truecolor'
#     JAVA_HOME = '/usr/lib/jvm/java-8-openjdk-amd64'
#     XDG_VTNR = '7'
#     SSH_AUTH_SOCK = '/run/user/1000/keyring/ssh'
#     MANDATORY_PATH = '/usr/share/gconf/xubuntu.mandatory.path'
#     GLADE_CATALOG_PATH = ':'
#     XDG_SESSION_ID = 'c1'
#     XDG_GREETER_DATA_DIR = '/var/lib/lightdm-data/kivy'
#     USER = 'kivy'
#     GLADE_MODULE_PATH = ':'
#     DESKTOP_SESSION = 'xubuntu'
#     DEFAULTS_PATH = '/usr/share/gconf/xubuntu.default.path'
#     QT_QPA_PLATFORMTHEME = 'gtk2'
#     PWD = '/home/kivy/Desktop/Senhas'
#     HOME = '/home/kivy'
#     SSH_AGENT_PID = '1212'
#     QT_ACCESSIBILITY = '1'
#     XDG_SESSION_TYPE = 'x11'
#     XDG_DATA_DIRS = '/usr/share/xubuntu:/usr/share/xfce4:/usr/local/share:/usr/share:/var/lib/snapd/desktop:/var/lib/snapd/desktop:/usr/share'
#     XDG_SESSION_DESKTOP = 'xubuntu'
#     GLADE_PIXMAP_PATH = ':'
#     CLUTTER_BACKEND = 'x11'
#     SHELL = '/bin/bash'
#     VTE_VERSION = '5202'
#     TERM = 'xterm-256color'
#     XDG_SEAT_PATH = '/org/freedesktop/DisplayManager/Seat0'
#     XDG_CURRENT_DESKTOP = 'XFCE'
#     GPG_AGENT_INFO = '/run/user/1000/gnupg/S.gpg-agent:0:1'
#     XDG_SEAT = 'seat0'
#     SHLVL = '1'
#     LANGUAGE = 'en_ZA:en'
#     WINDOWID = '58720259'
#     GDMSESSION = 'xubuntu'
#     LOGNAME = 'kivy'
#     DBUS_SESSION_BUS_ADDRESS = 'unix:path=/run/user/1000/bus'
#     XDG_RUNTIME_DIR = '/run/user/1000'
#     XAUTHORITY = '/home/kivy/.Xauthority'
#     XDG_SESSION_PATH = '/org/freedesktop/DisplayManager/Session0'
#     XDG_CONFIG_DIRS = '/etc/xdg/xdg-xubuntu:/etc/xdg:/etc/xdg'
#     PATH = '/home/kivy/.buildozer/android/platform/apache-ant-1.9.4/bin:/bin:/home/kivy/bin:/home/kivy/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin'
#     SESSION_MANAGER = 'local/kivy-complete:@/tmp/.ICE-unix/1230,unix/kivy-complete:/tmp/.ICE-unix/1230'
#     LESSOPEN = '| /usr/bin/lesspipe %s'
#     _ = '/usr/local/bin/buildozer'
# 
# Buildozer failed to execute the last command
# The error might be hidden in the log above this error
# Please read the full log, and search for it before
# raising an issue with buildozer itself.
# In case of a bug report, please add a full log with log_level = 2

Já tentei colocar atualizar o Cython, com o comando pip install --upgrade Cython, mas continua com o mesmo problema…