Un soft pour avoir son feed de subscription dans l'ordre chronologique (et pas dans l'ordre "algo youtube")
Seul probleme, c'est un client lourd :-(
Il doit surement exister la meme chose en web
Time to move from Freenode to Libera
# filter out all elements not with x > 5
a = [el for el in data if el['x'] > 5]
# get all the 'c' attributes as a list
b = [el['c'] for el in data]
# get all the 'c' attributes for the elements with x > 5
c = [el['c'] for el in data if el['x'] > 5]
In Jinja2:
a: {{ data | selectattr('x', 'gt', 5) | list }}
b: {{ data | map(attribute='c') | list }}
c: {{ data | selectattr('x', 'gt', 5) | map(attribute='c') | list }}
kms different accounts : permissions on both side (policy key side and user/role side)
Petit point vocabulaire : un "Operator" est un "controller" qui va surveiller des CRD (Custom Resource Definition) pour faire des actions
Un Operator = 1 deployment = x Pods qui écoutent via l'API de Kube les events sur une CRD et va faire des actions en conséquence
distante : git push origin --delete [nom_de_la_branche]
Ce truc obscur qui t'arrive et où la solution se trouve au fond d'une PR
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
le plugin Ack permet de chercher dans le repertoire courant de vim (celui qu'on voit avec :pwd)
Pour chercher seulement dans un seul repertoire, il faut changer ce repertoire courant. Quelques commandes pratiques :
:Gcd (fournit par fugitive vim) permet de remonter à la racine du repot git
Dans nerdtree, si on se place sur un repertoire et qu'on fait 'cd', le repertoire courant de vim est changé
Une fois dans le bon repertoire, on peut chercher avec :Ack! pattern
python dependency management with lock file
Ces derniers jours je suis en train de voir pour remplacer mon reverse proxy perso qui était resté en haproxy, déplacé dans un container à la va vite..
J'ai donc commencé à expérimenter traefik et ça semble faire le boulot. J'aime beaucoup le côté dynamique avec les labels sur les containers.
Il remplit tous les rôles de mon haproxy :
Autre avantage, il intègre la génération/renouvellement des certificats ssl ce qui va me permettre de virer un vieux script en bash (qui faisait ça très bien, mais au moins ce sera + clean)
Seule contrainte, je me demande si je peux reverse vers un backend qui ne serait pas du docker. Peut être en mettant de la conf en dur.
Intéressant pour rapatrier plus vite les metrics aws cloudwatch dans datadog
presta pour envoyer du mail
à voir aussi Mailgun, Sendinblue
Soucis sur la gestion de la durée de vie des SSD sur les nouveaux mac m1
1) Changer le titre
https://dashboard.twitch.tv/u/clanewok/stream-manager
[FR/EN] Orc ladder with blou 1500/1600mmr | www.w3champions.com
Pandaria saison 6 : XX (UD) vs XX (NE)
2) Se mettre sur la scène Intro et couper le son de son micro/Desktop dans OBS
3) Lancer le stream sur OBS
4) puber sur discord
ewok general
frc pub
frc orc
gym orc
5) passer sur la scène de jeu et remettre le son du micro/Desktop
playyy
Musique
https://www.youtube.com/watch?v=e-dRd7_bemM
https://www.youtube.com/watch?v=aT9_-P7N950
https://www.youtube.com/watch?v=1GKx2MPveMQ
https://www.twitch.tv/moderator
https://dashboard.twitch.tv/u/clanewok/stream-manager
To run a CLI command from within an Amazon Elastic Compute Cloud (Amazon EC2) instance or an Amazon Elastic Container Service (Amazon ECS) container, you can use an IAM role attached to the instance profile or the container. If you specify no profile or set no environment variables, that role is used directly. This enables you to avoid storing long-lived access keys on your instances. You can also use those instance or container roles only to get credentials for another role. To do this, you use credential_source (instead of source_profile) to specify how to find the credentials. The credential_source attribute supports the following values:
Environment – Retrieves the source credentials from environment variables.
Ec2InstanceMetadata – Uses the IAM role attached to the Amazon EC2 instance profile.
EcsContainer – Uses the IAM role attached to the Amazon ECS container.
++++++++++++++++++++++
Version avec interface cmd
++++++++++++++++++++++
Prérequis :
pip install pudb
Pour docker, dans le docker compose ajouter
stdin_open: true
tty: true
Faire docker attach container_name
Comment break/debug :
Là où on veut break, il suffit de coller cette ligne : import pudb; pu.db
Dans le terminal où on a fait docker attach on doit voir l'interface de pudb
++++++++++++++++++++++
Version + simple
++++++++++++++++++++++
Prérequis : python 3.7
Pour docker, dans le docker compose ajouter
stdin_open: true
tty: true
Faire docker attach container_name
Comment break/debug :
breakpoint()
Dans le terminal où on a fait docker attach on doit voir un prompt
On peut print les variables
"continue" pour continuer
Attention, si vos services sont en renouvellement automatique, même si vous n'avez pas de moyen de paiement enregistré dans votre compte OVH, vous devez payer si vous arrivez à terme.
Si vous voulez annuler, il faut le faire avant la date de renouvellement ou bien c'est trop tard, vous devez payer, vous ne pouvez plus vous désengager. (TIL : et si vous ignorez les 1er mails, vous recevrez des mails qui font peur)
Chère cliente, cher client,
Malgré nos précédentes relances, nous n'avons constaté aucun règlement de votre part concernant la facture xxxx, d'un montant de xxxx €.
Pour rappel, vous pouvez consulter celle-ci en cliquant sur ce lien : xxxx
Afin de régulariser votre situation, vous disposez d'un délai supplémentaire de huit (8) jours pour procéder au paiement de la facture mentionnée ci-dessus.
Pour cela, veuillez cliquer sur le lien suivant :
https://www.ovh.com/manager/#/billing/history/debt/all/pay
À défaut de règlement dans le délai indiqué, votre facture sera transmise à notre cabinet de recouvrement Intrum.
Ce dernier sera chargé de prendre toutes les mesures nécessaires afin de recouvrer ce dossier à l'amiable.
En cas d'échec, le cabinet accomplira les démarches utiles au recouvrement judiciaire de cette créance.
Nous attirons votre attention sur le fait qu'en cas de condamnation, tous les frais relatifs à ces démarches seront à votre charge et s'ajouteront au montant réclamé initialement.
Cordialement,
Le service Recouvrement OVH
À tester pour changer de bootstrap!
WITH RECURSIVE pg_inherit(inhrelid, inhparent) AS
(select inhrelid, inhparent
FROM pg_inherits
UNION
SELECT child.inhrelid, parent.inhparent
FROM pg_inherit child, pg_inherits parent
WHERE child.inhparent = parent.inhrelid),
pg_inherit_short AS (SELECT * FROM pg_inherit WHERE inhparent NOT IN (SELECT inhrelid FROM pg_inherit))
SELECT table_schema
, TABLE_NAME
, row_estimate
, pg_size_pretty(total_bytes) AS total
, pg_size_pretty(index_bytes) AS INDEX
, pg_size_pretty(toast_bytes) AS toast
, pg_size_pretty(table_bytes) AS TABLE
FROM (
SELECT *, total_bytes-index_bytes-COALESCE(toast_bytes,0) AS table_bytes
FROM (
SELECT c.oid
, nspname AS table_schema
, relname AS TABLE_NAME
, SUM(c.reltuples) OVER (partition BY parent) AS row_estimate
, SUM(pg_total_relation_size(c.oid)) OVER (partition BY parent) AS total_bytes
, SUM(pg_indexes_size(c.oid)) OVER (partition BY parent) AS index_bytes
, SUM(pg_total_relation_size(reltoastrelid)) OVER (partition BY parent) AS toast_bytes
, parent
FROM (
SELECT pg_class.oid
, reltuples
, relname
, relnamespace
, pg_class.reltoastrelid
, COALESCE(inhparent, pg_class.oid) parent
FROM pg_class
LEFT JOIN pg_inherit_short ON inhrelid = oid
WHERE relkind IN ('r', 'p')
) c
LEFT JOIN pg_namespace n ON n.oid = c.relnamespace
) a
WHERE oid = parent
) a
ORDER BY total_bytes DESC;
Here's my filter code
from django import template
register = template.Library()
@register.filter()
def smooth_timedelta(timedeltaobj):
"""Convert a datetime.timedelta object into Days, Hours, Minutes, Seconds."""
secs = timedeltaobj.total_seconds()
timetot = ""
if secs > 86400: # 60sec 60min 24hrs
days = secs // 86400
timetot += "{} days".format(int(days))
secs = secs - days*86400
if secs > 3600:
hrs = secs // 3600
timetot += " {} hours".format(int(hrs))
secs = secs - hrs*3600
if secs > 60:
mins = secs // 60
timetot += " {} minutes".format(int(mins))
secs = secs - mins*60
if secs > 0:
timetot += " {} seconds".format(int(secs))
return timetot
Then in my template I did
{% load smooth_timedelta %}
{% timedeltaobject|smooth_timedelta %}
Un container pour émuler en local l'api metadata et ainsi endosser un role
https://github.com/awslabs/amazon-ecs-local-container-endpoints
def atoi(text):
return int(text) if text.isdigit() else text
def natural_keys(text):
return [ atoi(c) for c in re.split(r'(\d+)', text) ]
my_list.sort(key=natural_keys)
Un outils pour visualiser son schema
via Flavio