proof of work – How does bitcoin implement checkpoint mechanism to finalize the blockchain history?

Checkpoints are a relatively misunderstood part bitcoin – Bitcoin does have a few checkpoints, but they are only used in one very specific case. That case is just to ignore forks from the chain early on, before the most recently seen checkpoint. When a node has seen a block it recognises as a checkpoint, any further blocks received below that height will be ignored.

You can see this here: https://github.com/bitcoin/bitcoin/blob/0dfc25f82a01d9fec26380d95915df31e1fe2c02/src/validation.cpp#L3107

It is a long term goal of removing the checkpoints entirely, because they are a source of confusion over the security model and power the developers have. But currently the role they serve is to prevent low difficulty header flooding attacks, and there has been no alternative solution proposed yet (that I know of)

blades in the dark – How to implement cross-playbook upgrades without breaking balance?

There are already cross-playbook upgrades, and they don’t break balance.

They’re not documented in the book, but under everybody’s special abilities on the character sheet are three dots of Veteran:

"Veteran" on the character sheet.

This is not an ability that takes three advances to give you one special ability, but three wildcard special abilities. You can even take one as your starting advance!

(You can obtain official character sheets from the game’s download page.)

There’s one more thing you might want to consider.

However, having relatively free access to the abilities on Lurk’s character sheet doesn’t mean you have quite the entirety of the Lurk. There’s also the Lurk’s custom equipment. You could potentially make Acquire Asset rolls to get it for a mission or give individual characters personal projects to permanently make it part of their potential loadout, but given that you’re coming at this from a crew perspective, there’s another option available to you:

However, you may attempt to seize any claim on your map, ignoring the paths (or even seek out a special claim not on your map) but these operations will always
be especially difficult and require exceptional efforts to discover and achieve. The claim roadmap shows typical paths for advancement, not an absolute restriction on your operations.

Claims, p. 46, emphasis original

You can create a “claim” not on your map that’s just like “in addition to your regular special gear, there’s a communal set of Lurk gear all the scoundrels can load themselves out with, first come, first serve”. I’d call the effort involved here “proportionately exceptional”, so probably not that much harder than taking a regularly adjacent claim, though gathering information on who’s got a supplier you can win over might be a little trickier.

python – I want to implement a feature in my code that will randomly pick keys and values from lists to later assign them to a dictionary

Instead of already pre-made dictionary of names as a keys and traits as a values

colonists = {
    'john': 'sickly',
    'sarah': 'night owl',
    'bill': 'nudist',
    'eric': 'none'
}

I want to randomly pick names and traits from two different lists with names and traits and assign them to an empty dictionary. I’ve tried doing it myself various ways, but it all didnt go well. I overall looking for advices and tips to improve and optimise my code. Here is a code with pre-made dictionary:

import random

colonists = {
    'john': 'sickly',
    'sarah': 'night owl',
    'bill': 'nudist',
    'eric': 'none'
}

events = ('plague', 'day', 'clothes', 'none')
current_event = random.choice(events)

print(f"Current event is {current_event}")

for name, trait in colonists.items():
    if current_event == 'clothes' and trait == 'nudist':
        print(f"{name.capitalize()} is suffering due to having a {trait} trait")
    elif current_event == 'day' and trait == 'night owl':
        print(f"{name.capitalize()} is suffering due to having a {trait} trait")
    elif current_event == 'plague' and trait == 'sickly':
        print(f"{name.capitalize()} is suffering due to having a {trait} trait")
    else:
        print(f"{name.capitalize()} is not suffering due to having a {trait} trait")

how to implement “upload, save and clear” images on database through ADOQuery?

I’ve done some researches about this but im not sure how to implement it for my needs

ask any question if i haven’t provided enough information

I have 3 buttons and a TDBImage (Delphi 10.3 Community Edition):

  • LoadImage(TButton1) : ( should Load an image of any format from my computer and display it in TDBImage1, example: JPEG )
  • SaveImage(TButton2) : ( Save the loaded image to the database using the TADOQuery1 component ( im using ms access for my database)
  • ClearImage(TButton3) : ( clear/remove the saved image in the database using the TADOQuery1 component )
  • ProfilePicture(DBImage1) : ( This will display the saved image from the database using the TADOQuery1 component )

if there is a way to do this please let me know.. (Prefer through code)

go – How to implement interface for Golang callback functions?

I would like implement wrap to take in both helloSlice and hello without having an additional wrapSlice. Is there a way to achieve this. Thank you in advance.

package main

import (
    "fmt"
    "time"
)

func helloSlice(a string) ()string {
    time.Sleep(500 * time.Millisecond)
    return ()string{"helloSlice" + a}
}

func hello(a string) string {
    time.Sleep(10 * time.Millisecond)
    return "hello" + a
}

func wrap(a string, fn func(string) string) string {
    fmt.Print("Good Morning and ... n")
    return fn(a)
}

func wrapSlice(a string, fn func(string) ()string) ()string {
    fmt.Print("Good Morning and ... n")
    return fn(a)
}

func main() {
    fmt.Println(wrap(" people", hello))
    fmt.Println(wrapSlice(" people", helloSlice))
}

How to implement multiple wallet folders located out of the bitcoin blockchain folder?

After substantial research I could not find any solution for this seemingly simple implementation of the Bitcoin-Core app.

Here is what I am trying to achieve:
Running a full node on one computer require up do 400GB of drive storage. It appear, after all my research, that if one wants to access more than one wallet from the same computer, it would be required that each wallet be run from a different folder altogether, otherwise the Bitcoin-Core will act strangely, refuse to launch, or ask the user to create a new wallet altogether. Add to that, would also be required that each wallet be launched with a different shortcut, which is well acceptable.

I am running a Windows 7 computer that can hold 1TB on a secondary data hard drive. The first drive is an SSD and is strictly utilized for the OS and software installation. Holding the whole bitcoin blockchain is OK but holding 2 copies or 3 is out of the question, besides would be kind of ridiculous since X times 400GB of the same data makes no sense.
What I am trying to do is be able to launch a different wallet via its own shortcut. After several experimentation the only way I found to do this would be that every time I want to run a wallet I have to replace a whole bunch of files related to that wallet into the bitcoin folder. This is a tedious task and a relatively unsafe way to do things. Such practice is prone to errors and could potentially be risky to lose some bitcoins.

I’ve experimented with the shortcut option

–walletdir=D:AllWalletsMyWalletA

but this doesn’t work for some reason. The parameter is completely ignore without generating any error. The only way I found that could work would be to maintain the whole blockchain 3X into 3 different folders and launch any of them with the appropriate shortcut. An option that require 1.2TB and makes no practical sense since it is utilizing so much hard drive memory storage.

So here is the question:
How can I store a specific wallet located in FolderA that is completely different then D:Bitcoin
(were D:Bitcoin would be the complete blockchain location) ?

If I could do that then I could also create any number of FolderB, FolderC, FolderD that would hold my different wallets and that I could launch any of those wallets ( not simultaneously ) when I need to do a transaction. All these folders could store the wallet files but not the whole blockchain.
Thanks for your help

google sheets – Can I implement this moving average with missing periods using ARRAYFORMULA?

I have these columns:

  • A person_id
  • B date
  • C cupcakes_eaten

And this formula to calculate the 35-day moving average of cupcakes eaten:

=AVERAGEIFS(C:C,A:A,A2,B:B,">="&B2-35)

Now I can replicate this to all other cells.

Is there a more elegant way to do this using ArrayFormula?

DreamProxies - Cheapest USA Elite Private Proxies 100 Private Proxies 200 Private Proxies 400 Private Proxies 1000 Private Proxies 2000 Private Proxies ExtraProxies.com - Buy Cheap Private Proxies Buy 50 Private Proxies Buy 100 Private Proxies Buy 200 Private Proxies Buy 500 Private Proxies Buy 1000 Private Proxies Buy 2000 Private Proxies ProxiesLive Proxies-free.com New Proxy Lists Every Day Proxies123