Widespread Augmented Reality

Widespread Augmented Reality
Click on the image to get the Android Augmented Reality Heads up Display

Sunday, December 26, 2021

Gradle sync failed: The specified Gradle distribution does not exist

Gradle sync failed: The specified Gradle distribution 'https://services.gradle.org/distributions/gradle-6.5-bin.zip' does nbot exist

Close Android Studio and Run as administrator

Friday, December 17, 2021

Crypto Staking

Language is big barrier of entry into the Crypto universe.
Crypto staking is the process of locking up crypto holdings in order to obtain rewards or earn interest. Cryptocurrencies are built with blockchain technology, in which crypto transactions are verified, and the resulting data is stored on the blockchain. Staking is another way to describe validating those transactions on a blockchain.
Source: https://www.sofi.com/learn/content/crypto-staking/
Staking is the process of actively participating in transaction validation (similar to mining) on a proof-of-stake (PoS) blockchain. On these blockchains, anyone with a minimum-required balance of a specific cryptocurrency can validate transactions and earn Staking rewards.
Source: https://help.coinbase.com/en/coinbase/trading-and-funding/staking-rewards/staking-inflation

What is my take on stake? It is the process of loaning your fiat currency to an institution that is not FDIC insured.

Wednesday, December 15, 2021

Wolfenstein II: The New Colossus

Having never owned a console, I have played PC games since 1996 and Wolfenstein on Steam has by far the best cast of characters, cut scenes, story lines and conversations. The writing is top notch.

Thursday, December 9, 2021

Notes Related to Bitcoin and Digital Signing

This is the way I see the Bitcoin process of unlocking bitcoins from an address.
First of all, a private key creates a public key, which eventually becomes an address.
For conceptualizing the digital signing verification that unlocks bitcoins in a transaction, I will just reference the public key.
  • 1. hashAlgo(BTCtransaction, public key) = hashedOutput
  • 2. onewaysSignAlgo(BTCtransaction, private key) = signature
  • 3. verifyAlgo(signature, public key) = hashedOutput
  • The private key never revealed, but if the hashed message from 1 and 2 are equal, then it is confirmed that only the person that had the private key from which the public key was derived could have created the signature.
    I know it is much more complicated than just comparing the output from 1 and 2.
    More about digital signing or Elliptical Curve Digital Signing Algorithm:
    You shouldn't confuse ECDSA with AES (Advanced Encryption Standard) which is to encrypt the data. ECDSA does not encrypt or prevent someone from seeing or accessing your data, what it protects against though is making sure that the data was not tampered with.
    Source: https://www.instructables.com/Understanding-how-ECDSA-protects-your-data/

    It is important to not confuse this process with encrypting data as in Pretty Good Privacy (PGP).

    Wednesday, December 8, 2021

    Update to Nov 18 Post about Parsing a Bitcoin Block

    After parsing blk*.dat data files that were downloaded from running Bitcoin Core and comparing the JSON output to a block explorer like https://www.blockchain.com/explorer, I saw that the data on the blockchain explorer was not in the native transaction data parsed from blk*.dat files. According to the book Mastering Bitcoin by Andreas M. Antonopoulos, "Behind the scenes, an actual transaction looks very different from a transaction provided by a typical block explorer. In fact, most of the high-level constructs we see in the various bitcoin application user interfaces do not actually exist in the bitcoin system." If you were to use the bitcoin-cli getrawtransaction and decoderawtransaction, you will see this to be true. The book further states, "In bitcoin, there are no coins, no senders, no recipients, no balances, no accounts and no addresses. All those things are constructed at a higher level for the benefit of the user, to make things easer to understand." Intriguing...

    More Links on Peer to Peer Networking

    A peer nodes must act as both a server and client so that it can send and receive data streams.

    Source: https://cs.berry.edu/~nhamid/p2p/#framework
  • Python Framework: https://cs.berry.edu/~nhamid/p2p/framework-python.html
  • Sunday, December 5, 2021

    Metro Exodus - PC Video Game

    Metro Exodus on Steam is just gorgeous with its attention to detail in the textures and lighting.

    Friday, December 3, 2021

    Peer to Peer Network Discovery

    Please forgive me as I continue to use this blog to document my journey into peer to peer networking over the internet. This journey was sparked by the reportedly decentralized nature of the Bitcoin protocol.
    First of all, what is P2P?
    How does a new node know the addresses of peer nodes on a peer to peer network?
    So far it looks like that new node must first connect to a server that has an explicit list of peer nodes
    Peer discovery is the process of discovering other peers in a network. BitTorrent protocol use tracker servers to maintain a list of peers in a swarm. So, when you start to download a file using a torrent, the client can immediately get a list of peers from the tracker information in the torrent file.
    - https://medium.com/tqtezos/peer-to-peer-networking-in-tezos-942b123fa6a
    What is a swarm?