soft fork – How can I follow the progress of miner signaling for Taproot activation during the Speedy Trial deployment?

Hampus Sjöberg has set up a site ( with a graphic for which blocks have signaled for Taproot activation and a breakdown by mining pools. It was announced here on Twitter.

AJ Towns stated on Mastodon that once signaling starts the Bitcoin Core RPC getblockchaininfo will report the number of signaling blocks in the current period.

David Harding added on Mastodon:

If you want to implement checking yourself, you can use
the versionhex in either debug.log or the results of getblock.
Taproot is using bit 2. See the versionbits FAQ for details about

pox also wrote an awk script that I haven’t tested.

gawk -F'(= )' '/UpdateTip/ { print("block="$7" taproot="and($9,2)) }' <~/.bitcoin/debug.log

If you are interested in which mining pools have already indicated that they will be signaling readiness for Taproot activation see

hooks – How to update global variables in plugin activation callback?

Sorry for being such a noob, I’m sure this is an easy question for most. I’m trying to register activation and deactivation hooks for my plugin. In the docs, they warn about the activation callback not having access to global variables:

If you’re using global variables, you may find that the function you pass to register_activation_hook() does not have access to global variables at the point when it is called, even though you state their global scope within the function like this:

The main body variables are therefore in the scope of the activate_plugin() function and are not global, unless you explicitly declare their global scope:

global $myvar;
$myvar = 'whatever';

function myplugin_activate() {

   global $myvar;
   echo $myvar; // this will be 'whatever'
register_activation_hook( __FILE__, 'myplugin_activate' );

So, following that advice, I set up my code like this:

global $post_id;
$post_id = 0;

function install_xxx() {
    global $post_id;

    $post = array(
        'post_title'    => __( 'Thank You', 'xxx' ),
        'post_content'  => __( 'Lorem ipsum dolor.', 'xxx' ),
        'post_status'   => 'publish',
        'post_name'     => 'thank-you',
        'post_type'     => 'page'

    $post_id = wp_insert_post( $post, true );
    error_log('Inserted page: ' . $post_id);

function uninstall_xxx() {
    global $post_id;
    error_log('Removing page: ' . $post_id);
    $post = wp_delete_post( $post_id, true );

register_activation_hook( __FILE__, 'install_xxx' );
register_deactivation_hook( __FILE__, 'uninstall_xxx' );

But in my logs, it will echo something like:

Inserted page: 109

Removing page: 0

And of course, the page isn’t removed.

In other words, the global $post_id isn’t being updated. Any clue what I’m doing wrong?

soft fork – Is there network split risk for Taproot activation with two releases (Bitcoin Core and Bitcoin Taproot)?

Every soft fork or consensus change involves a (very small) non-zero risk of a network split. That risk is considerably lower for a soft fork than say a hard fork (where all nodes need to upgrade). That’s why soft forks aren’t attempted every month or year. All you can do is minimize that risk.

Aaron lays out some scenarios that are theoretically possible. Any incompatibility between “Bitcoin Core” and “Bitcoin Taproot” during the Speedy Trial deployment is in my view highly unlikely. If Speedy Trial fails to activate and we reach November 2022 (please note 2022 not 2021) without miners activating then we are in a similar scenario to the UASF in 2017 where it depends on what the economic majority is running. I can’t predict what the economic majority would be running in November 2022 but I highly suspect the delaying of Taproot activation would be at the top of everyone’s minds.

You do have to weigh up these risks of a network split with miners deliberately blocking Taproot activation potentially forever. If we were to say no more UASFs ever again because we don’t want to take any network split risk that would be handing miners a permanent veto to block the activations of soft forks that have community consensus. So you have to weigh up the risk of the latter which would be just as concerning (if not more concerning) to people.

So in summary these are subtle trade-offs. A number of developers have worked hard to minimize the risk of a network split. But it doesn’t get to zero unless you literally never try a soft fork again. And that would mean that Bitcoin would never seriously improve again.

php – Cant create table on plugin activation

I am trying to create table on plugin activation, I tried making the same function inside the class and calling it from the constructor, and I tried calling it outside the class and finally i tried to make another php file for calling it using the register_activation_hook, but nothing worked


*@package pageauthors

* Plugin Name: Page Authors
* Plugin URI:
* Description: Allows you to add multiple authors to your wordpress post.
* Version: 1.0.0 
* Author: Raphael Eid.
* Author URI:
* License: GPL v2 or Later 
* Text Domain: PageAuthors

$db = mysqli_connect('localhost','root','','authorstest');
//We can use require_once('../../../wp-config.php');
//mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);

defined('ABSPATH') or die('Error my friend');

class pageauthors{

    function register(){
        //Call the Scripts
        add_action('admin_enqueue_scripts', array($this, 'enqueue'));

        //Create in the admin function
        add_action('admin_menu', array($this, 'add_admin_pages'));
    public function add_admin_pages(){
        //add_menu_page( string $page_title, string $menu_title, string $capability, string $menu_slug, callable $function = '', string $icon_url = '', int $position = null )
        add_menu_page('Add Author', 'Add Author', 'manage_options', 'raphaelprefix_plugin', array($this, 'admin_index'), 'dashicons-insert', 110);

    public function admin_index(){
        define( 'MY_PLUGIN_PATH', plugin_dir_path( __FILE__ ) );
        include( MY_PLUGIN_PATH . 'templates/index.php');
        // include( MY_PLUGIN_PATH . 'index.php');
        include( MY_PLUGIN_PATH . 'templates/showAuthors.php');
        // require_once plugin_dir_path(__FILE__) . 'templates/index.php';

    function deactivate(){
        global $wpdb;
        $table_name = $wpdb->prefix . 'postsauthors';
        $sql = "DROP TABLE IF EXISTS $table_name";

    function enqueue(){
        //Here we can enqueue and we should create the assets (css and js)
        wp_enqueue_style('mypluginstyle', plugins_url('/assets/mystyle.css', __FILE__) );
        wp_enqueue_script('mypluginstyle', plugins_url('/assets/mystyle.js', __FILE__) );


    $raphplugin = new pageauthors();
    // $raphplugin->activate();


function installer(){

//Activate - Register Activation Hook(__FILE__, array($instance, function))
register_activation_hook(__FILE__, 'installer');

//Deactivate - Register Deactivation Hook(__FILE__, array($instance, function))
register_deactivation_hook(__FILE__, array($raphplugin, 'deactivate') );



$db = mysqli_connect('localhost','root','','authorstest');
    global $wpdb;
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');

    if (count($wpdb->get_var('SHOW TABLES LIKE "wp_postsauthors"')) == 0){

        $sql = "CREATE TABLE `wp_postsauthors` 
        ( `ID` INT(200) NOT NULL AUTO_INCREMENT , `post_ID` INT(200) NOT NULL , 
        `author_name` VARCHAR(200) NOT NULL , `title` VARCHAR(200) NOT NULL , 
        `description` VARCHAR(200) NOT NULL , PRIMARY KEY (`ID`)) ENGINE = InnoDB;";



Nothing is working even tho I am typing everything correctly

windows registry – office activation with kms fails (ERROR CODE: 0x80070005)

I tried to activate my office with a persnoak working kms of mine.

c:Program FilesMicrosoft OfficeOffice16>cscript ospp.vbs /act
Microsoft (R) Windows Script Host Version 5.812
Copyright (C) Microsoft Corporation. All rights reserved.

Installed product key detected - attempting to activate the following product:
SKU ID: 85dd8b5f-eaa4-4af3-a628-cce9e77c9a03
LICENSE NAME: Office 19, Office19ProPlus2019VL_KMS_Client_AE edition
Last 5 characters of installed product key: 6MWKP
ERROR CODE: 0x80070005
ERROR DESCRIPTION: Run the following: cscript ospp.vbs /ddescr:0x80070005
NOTICE: A KB article has been detected for activation failure: 0x80070005

I checked in the web and I tried to change the key’s permission in safe mode:


I tried to enable network service full control and checked the option to change all the subkeys.
and I get the error that registry editor cannot set security in the key selected , or some of its subkeys.

does anyone have a clue how to solve this issue? the office activation fails.

bip9 version bits – Should block height or MTP or a mixture of both be used in a soft fork activation mechanism?

Using block heights for the start and timeout parameters has the advantage of giving miners a known number of signaling periods. Loss of hashpower doesn’t reduce the number of retarget periods available for activation. Especially for an activation mechanism over a shorter time horizon (e.g. the Speedy Trial proposal) it may be important to ensure miners have the maximum number of signaling periods.

Block heights are also arguably easier to communicate and easier to reason about as blockchain developers are used to working with them. In addition, BIP 8 (which uses exclusively block heights) has been updated to incorporate the Speedy Trial proposal but at the time of writing (March 2021) BIP 9 (which uses MTP) has not been updated to incorporate the Speedy Trial proposal.

Using MTP (median time past) has the advantage of being able to schedule an activation at a specific time to avoid activation occurring in the middle of the night for some region in the world. A codebase that has previously implemented MTP will obviously have to make code changes to implement block heights instead which will need to be reviewed.

It is also subject to debate whether using block height consistently or using a mixture of both block heights and MTP is preferable for making the implementation and release of an alternative competing compatible activation mechanism (e.g. a UASF release) more difficult or in some way avoiding a scalp for marketing purposes.

In summary, there appears to be consensus that block heights are used exclusively in activation mechanisms for future soft forks but it is less clear whether there is consensus to use them exclusively for the proposed Taproot activation mechanism, Speedy Trial.

This answer was taken from comments on GitHub and the mailing list from David Harding, Andrew Chow, AJ Towns, Jeremy Rubin and Sjors Provoost.

world of darkness – In Werewolf W20, how does dice splitting work with no-roll Gift activation?

If I have a Gift that says, “spend a point of Gnosis: stuff happens”, can I use this Gift while performing a normal action in the same turn ? If so, how would dice splitting work in this case — since the Gift does not require a die roll ?

For a more concrete example, can I activate Hands full of Thunder (spend 1 Gnosis: infinite ammo for the rest of the scene) and fire my gun in the same turn ?

Microsoft Office alternatives in Linux? after shutdown of Windows 10 activation servers

I am presently using Windows 10 but if my Laptop caches virus after Microsoft shuts down Windows 10 servers maybe 3-5 years later from now I plan to purchase Linux based laptop.
I want to know the alternative to Microsoft Office in Linux OS such as Ubuntu which is free of cost and is very popular offering all the features of Microsoft Office but is free in Ubuntu to install and use. Features I am looking for are Spreadsheets, Word and Presentations.

[TH] Activation Reminder & User Purger | Nulled Scripts Download

Activation Reminder & User Purger
For larger forums, managing membership can be a daunting task. With Activation Reminder, automatically send an email to users who have registered but never activated their account after a set number of days. If they still don’t activate their account, utilize User Purger to…