Android Navigation Fragment actions not generated

i am currently working on a project that is using Navigation but unfortunately some actions from a fragment are not being generated.

This is my setup:

projects gradle:

buildscript {
    ext.kotlin_version = '1.4.21'
    repositories {
    dependencies {
        classpath ''
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.2"

app gradles:

apply plugin: 'androidx.navigation.safeargs.kotlin'

def nav_version = "2.3.2"
// Kotlin
implementation "androidx.navigation:navigation-fragment-ktx:$nav_version"
implementation "androidx.navigation:navigation-ui-ktx:$nav_version"

Navigation with issue:


    tools:layout="@layout/fragment_teams" >



Generated directions:

public class TeamsFragmentDirections private constructor() {
  public companion object {
    public fun actionGlobalMatchesDialogFragment(): NavDirections =

I have tried, cleaning and rebuild multiple times, invalidating caches, downgrading navigation all the way 2.1.0. But im still puzzled to why its not generating the actions in the corresponding fragment.

If u need anything else just let me know, thank you

encryption – I am unable to use an RSA key generated with the -aes-256-gcm option in openssl, help

When I run:

openssl genrsa -aes-256-gcm -out rootca.key 4096

Then I get the following output:

$ openssl genrsa -aes-256-gcm -out rootca.key 4096
Generating RSA private key, 8192 bit long modulus (2 primes)
e is 65537 (0x010001)
Enter pass phrase for rootca.key:
Verifying - Enter pass phrase for rootca.key:

And when I run:

openssl req -sha512 -new -x509 -days 1000 -key rootca.key -out rootca.crt

I get the following error:

$ openssl req -sha512 -new -x509 -days 1000 -key rootca.key -out rootca.crt
Enter pass phrase for rootca.key:
unable to load Private Key
140287193601344:error:0906A065:PEM routines:PEM_do_header:bad decrypt:../crypto/pem/pem_lib.c:461:

For the above, I used OpenSSL 1.1.1f (provided by apt.
I even tried using the latest 3.0.0-alpha version of OpenSSL. But I get a different error when generating the private key first of all:

Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
4067E7A7827F0000:error:0300007A:digital envelope routines:evp_cipher_param_to_asn1_ex:cipher parameter error:crypto/evp/evp_lib.c:160:
4067E7A7827F0000:error:06800072:asn1 encoding routines:PKCS5_pbe2_set_iv:error setting cipher params:crypto/asn1/p5_pbev2.c:81:
4067E7A7827F0000:error:1188000D:PKCS12 routines:PKCS8_encrypt:ASN1 lib:crypto/pkcs12/p12_p8e.c:32:

How can I make this work?? Is AES-256-GCM not supported by OpenSSL? If so, is there an alternative to OpenSSL that can generate this type of key?

Btw, AES-256-CBC works perfectly. But, no luck with GCM.

Add SEO meta data with PHP to pages generated by plugin? Pages are not generated as posts in WP

I am using a real estate IDX plugin (Showacse IDX) that generates pages that are not posts in my wordpress database. The poorly developed plugin does not give some of these pages meta descriptions. How can I use PHP to inject meta data into these pages?

I’ve tried getting the current page url slug but it isn’t working…

// Add SEO meta to sidx pages 
function td_add_seo_meta_sidx() {
    global $wp;
    $current_slug = add_query_arg( array(), $wp->request );

    // Page slugs that need SEO meta
    $dashboard = "properties/dashboard";
    $listings = "properties/listings";
    $searches = "properties/searches";
    if ($current_slug == $dashboard ){
        echo '<meta name="description" content="Dashboard SEO meta description here" />';
    if ($current_slug == $listings){
        echo '<meta name="description" content="Listings SEO meta description here" />';
    if ($current_slug == $searches){
        echo '<meta name="description" content="Searches SEO meta description here" />';
add_action( 'wp_head', 'td_add_seo_meta_sidx' );

c# – How to create fallout intensity on a generated mesh in Unity?

So I was able to generate a circle mesh in Unity to basically see the other characters when they are inside of it, and hide the characters when they are outside of it, and partially hide and show the character if they are partially in or outside of it. Below is an image of what I was able to generate, but the thing is, the edges are very sharp and I would like to have some Fallout Intensity on the mesh. Just like with Lights in Unity, where they have a fallout intensity at the edge of the lights.

Image of Generated Mesh
enter image description here

As you can see, the edges of the mesh are very sharp and thats not the kind of effect am after, I would like to add some fallout to that, and adjust it.

Here is The Code That Generates The Mesh

using UnityEngine;
using System.Collections;
using System.Collections.Generic;

public class FieldOfView : MonoBehaviour {

    public float fieldOfView = 360f;
    public int numberEdges = 360;
    public float initalAngle = 0;
    public float visionDistance = 8f;
    public LayerMask layerMask;

    private Mesh mesh;
    private Vector3 origin;

    private void Start()
        mesh = new Mesh();
        GetComponent<MeshFilter>().mesh = mesh;
        origin =;

    private void LateUpdate()

    private void GenerateUpdateMesh()
        float actualAngle = initalAngle;
        float incrementAngle = fieldOfView / numberEdges;

        Vector3() vertices = new Vector3(numberEdges + 1);
        int() triangles = new int(numberEdges * 3);

        vertices(0) = origin;

        int verticeIndex = 1;
        int triangleIndex = 0;

        for (int i = 0; i < numberEdges; i++)
            Vector3 actualVertices;
            RaycastHit2D raycastHit2D = Physics2D.Raycast(origin, GetVectorFromAngle(actualAngle), visionDistance, layerMask);
            if (raycastHit2D.collider == null)
                // No hit
                actualVertices = origin + GetVectorFromAngle(actualAngle) * visionDistance;
                // Hit object
                actualVertices = raycastHit2D.point;

            vertices(verticeIndex) = actualVertices;

            if (i > 0)
                triangles(triangleIndex + 0) = 0;
                triangles(triangleIndex + 1) = verticeIndex - 1;
                triangles(triangleIndex + 2) = verticeIndex;

                triangleIndex += 3;

            actualAngle -= incrementAngle;

        // We form the last triangle
        triangles(triangleIndex + 0) = 0;
        triangles(triangleIndex + 1) = verticeIndex - 1;
        triangles(triangleIndex + 2) = 1;

        mesh.vertices = vertices;
        mesh.triangles = triangles;

    Vector3 GetVectorFromAngle(float angle)
        float angleRad = angle * (Mathf.PI / 180f);
        return new Vector3(Mathf.Cos(angleRad), Mathf.Sin(angleRad));

    public void SetOrigin(Vector3 newOrigin)
        origin = newOrigin;

What do I do here to add some Fallout Intensity? All the help is really appreciated. And Thank you in advance.

elementary number theory – Twin primes false $implies (n^2 – 1)$ is the ideal generated by $f in Bbb{Q}[n]$ such that $f(Bbb{Z}) cap Bbb{P}^2$ is finite.

The set of all $f in Bbb{Q}(n)$ such that $f(n) in Bbb{P}^2 = { pq: p,q $ are prime $}$ finitely often is closed under composition and multiplication $fg$ by any element $g in Bbb{Q}(n)$. Since $Bbb{Q}(n)$ is a PID, the set of all such $f$ must be an ideal.

If the twin primes are finite, then $f(n) = n^2 – 1$ is one such function. It is indeed the only such function up to multiplication by $g in Bbb{Q}(n)$. How can I prove that?

If $f’$ is another such function then $f’ = fs + r$ for some $r = 0$ or $deg(r) lt 2$. But then $r = an + b$ for some $a,bin Bbb{Q}$.

unity – Creating the Vertices and Triangle Indices for Voxel Generated Mesh

I am running into a problem with a compute shader I am writing to generate the vertices and triangle indices for a voxel generated mesh.

Currently, I am creating an AppendStructuredBuffer of triangle structs which just have the three vertices of a triangle and reading from the AppendStructuredBuffer to the CPU. When read to the CPU, I then read from the buffer and set it in a RWStructuredBuffer in the GPU. Following that, I run a compute shader kernel to parse the triangle buffer.

Obviously if I can do this all on the GPU I should since reading and writing between the CPU and GPU is expensive.

When trying to put it all in one kernel I run into problems however. Each voxel has a range of possible triangles (0-5) that can form in it. Because of that, I can’t simply use the dispatch ID to put it in a RWStructuredBuffer (at least I don’t think so). That’s why using an AppendStructuredBuffer seems natural; it allows for the variable amount of triangles.

After getting the array of triangle vertices and array of triangle vertex indices, I bring them back to the CPU and set them to a mesh and render it. In the future I want to use a geometry shader to render the mesh since that is most likely more efficient, but I’m trying to take this one step at a time, and geometry shaders are a whole ‘nother beast I know nothing about.

mining pools – How does a Bitcoin block get generated and ‘agreed upon’ by everyone?

Miner ASICs have one job: Change the meaningless parts of the block until the difficulty target (related to the hash of the block) is satisfied.

ASICs connect to the pool to first download the block template (they regularly do that – maybe every few seconds?). The block template contains the transactions. They calculate the merkle hash of the transactions, embed it in the block header, and hash the block header many times.

When the target is satisfied, the block is published. From then on, no one can change the transactions in the block.

all that work is wasted

This is a lottery where everyone’s chances of finding the next block is proportional to their hashrates. If you need to mine all day to find one block per day — congratulations! You can afford solo mining and you don’t lose anything, and your reward is fair.

Trivia: Block mining is a Poisson process. One property of this is memory-less-ness. That is, given that the average time until the next block is 10 minutes (it is for Bitcoin):

  • After about how many blocks will someone find a block if everyone started just now: 10 minutes (t = 10)
  • What if you all had been mining for 2 minutes? Still 10 minutes (block to be released at t = 12)
  • What if you all had been mining for 20 minutes? Still 10 minutes (block to be released at t = 30)

Here’s a fun puzzle by Russel O’Connor and Pieter Wuille.

So, there is no wasting in mining: it’s memoryless. If you fail, you just keep trying, and everything works as intended in the end.