sequenceDiagram
participant Sender as Sender's Addresso App
participant Server as Addresso Relay Server
participant Receiver as Receiver's Addresso App
Note over Sender: Generate 4-digit PIN
Note over Sender: Derive symmetric key
Note over Sender: Encrypt shared data
Note over Sender: Sign Addresso share
/ports | |
/communication | |
/interface.py | |
```python | |
import abc | |
class EmailSenderAdapterInterface(abc.ABC): | |
@abc.abstractmethod |
# SSH into your vm | |
gcloud compute ssh --project=<project_id> --zone=<zone> <instance_name> | |
# for non-boot disk | |
sudo resize2fs /dev/sdb | |
# Reference: | |
https://cloud.google.com/compute/docs/disks/resize-persistent-disk#resize_partitions |
https://basescan.org/tx/0x8daaf7b5269104c70ee22023f929d5a3874f3f2fca9d4367c133da6596775bf2#eventlog
decoded values:
- flowRate: 32724505000
- totalSenderFlowRate: -6610350010000
- totalReceiverFlowRate: 32724505000
raw event data split by 64 chars:
These are notes from the book "Good to Great" by Jim Collins
They are not sorted in any particular order. I would strongly recommend the whole book to any tech leader, because these notes are highly contextul to myself and the current phase in my journey.
As one of my favorite professors once said, “The best students are those who never quite believe their professors.” True enough. But he also said, “One ought not to reject the data merely because one does not like what the data implies.” I offer everything herein for your thoughtful consideration, not blind acceptance. You’re the judge and jury.
––
To use an analogy, the “Leadership is the answer to everything” perspective is the modern equivalent of the “God is the answer to everything” perspective that held back our scientific understanding of the physical world in the Dark Ages. In the 1500s, people ascribed all events they didn’t understand to God. Why did the crops fail? God did it. Why did we have an earthquake? God d
#!/bin/sh | |
# | |
# Automatically adds branch name and branch description to every commit message. | |
# | |
# Works for branch names like: XXXX-1111-longer-description | |
# For other patterns, please alter the regex in sed | |
# | |
PREFIX=$(git branch | grep '*' | sed 's/\(\*\ \)\([A-Z0-9\-]*\)-\([a-z\-]*\)/\2/') |
from django.db import migrations | |
from django.contrib.auth import get_user_model | |
from django.contrib.auth.models import Permission | |
User = get_user_model() | |
def assign_permissions_to_staff_users(apps, schema_editor): | |
perms = Permission.objects.filter(content_type__app_label='smart_actions') | |
staff_users = User.objects.filter(is_staff=True) |
export default function combinations(items: Array<string>, items_length: number, n: number): Array<string> { | |
const result = []; | |
const getCombinations = (x, n, m = []) => { | |
if (n <= 0) { | |
return m | |
} | |
for (var i = 0; i < items_length; i++) { | |
const value = getCombinations(x, n - 1, [...m, items[i]]); |
resource "random_password" "db_master_pass" { | |
length = 40 | |
special = true | |
min_special = 5 | |
override_special = "!#$%^&*()-_=+[]{}<>:?" | |
keepers = { | |
pass_version = 1 | |
} | |
} |
(graphene_mypy) ~/work/zego/experiments/graphene_mypy/ cat app/api/schema.py | |
from graphene import Boolean, Field, ObjectType, ResolveInfo | |
class Query(ObjectType): | |
healthy = Boolean() <--------------- this is what the Graphene docs deem as recommended | |
@staticmethod | |
def resolve_healthy(_: None, __: ResolveInfo) -> bool: | |
return True |