Update emory, memory, tools (+1 ~3)
This commit is contained in:
@@ -1,8 +1,12 @@
|
|||||||
# 2026-02-14 (Sâmbătă)
|
# 2026-02-14 (Vineri)
|
||||||
|
|
||||||
## Daily Audit - 09:30
|
## Procesate
|
||||||
- 3 probleme găsite
|
|
||||||
- yt_download.py lipsă (referit în night-execute jobs)
|
### YouTube
|
||||||
- 6 cron jobs active nedocumentate în cron-jobs.md
|
1. **Talk to Claude on 3CX Phone System Tutorial** (NetworkChuck) - tutorial cum să vorbești cu Claude Code prin telefon, 3CX gratuit + Raspberry Pi + 11Labs + Whisper API. Salvat: `kb/youtube/2025-02-13_talk-to-claude-3cx-phone.md`
|
||||||
- 4 scripturi nedocumentate în TOOLS.md
|
2. **Cum să pornești sistemul limfatic? 4 metode** (Vladimir Colun) - vibrație, lovituri dinamice, dușuri contrast, detox digestiv. Salvat: `kb/youtube/2025-02-14_sistem-limfatic-4-metode.md`
|
||||||
- Propuneri trimise pe #echo-work
|
|
||||||
|
## Note
|
||||||
|
- Marius a trimis link-urile pe Discord #echo
|
||||||
|
- Primul link venit seara (23:35 București), al doilea dimineața (08:40 București)
|
||||||
|
- Ambele procesate imediat cu transcript + TL;DR + quote-uri + idei
|
||||||
|
|||||||
@@ -48,6 +48,25 @@
|
|||||||
"video": "https://www.youtube.com/watch?v=hY67Fqd44tI",
|
"video": "https://www.youtube.com/watch?v=hY67Fqd44tI",
|
||||||
"tldr": "3. **Dușuri contrast:** Ai încercat vreodată? Dacă nu, ai fi dispus să începi doar cu picioarele? (progresiv, cum recomandă Colun)"
|
"tldr": "3. **Dușuri contrast:** Ai încercat vreodată? Dacă nu, ai fi dispus să începi doar cu picioarele? (progresiv, cum recomandă Colun)"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"file": "notes-data/projects/grup-sprijin/biblioteca/fisa-2026-02-19-umbra-iarna-din-suflet.md",
|
||||||
|
"title": "Fișă Întâlnire Grup Sprijin",
|
||||||
|
"date": "2026-02-14",
|
||||||
|
"tags": [
|
||||||
|
"grup-sprijin"
|
||||||
|
],
|
||||||
|
"domains": [
|
||||||
|
"sprijin"
|
||||||
|
],
|
||||||
|
"types": [
|
||||||
|
"fisa"
|
||||||
|
],
|
||||||
|
"category": "projects",
|
||||||
|
"project": "grup-sprijin",
|
||||||
|
"subdir": "biblioteca",
|
||||||
|
"video": "",
|
||||||
|
"tldr": ""
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"file": "notes-data/tools/cron-jobs.md",
|
"file": "notes-data/tools/cron-jobs.md",
|
||||||
"title": "Cron Jobs - Lista completă",
|
"title": "Cron Jobs - Lista completă",
|
||||||
@@ -78,7 +97,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"file": "memory/2026-02-14.md",
|
"file": "memory/2026-02-14.md",
|
||||||
"title": "2026-02-14 (Sâmbătă)",
|
"title": "2026-02-14 (Vineri)",
|
||||||
"date": "2026-02-14",
|
"date": "2026-02-14",
|
||||||
"tags": [],
|
"tags": [],
|
||||||
"domains": [],
|
"domains": [],
|
||||||
@@ -89,7 +108,7 @@
|
|||||||
"project": null,
|
"project": null,
|
||||||
"subdir": null,
|
"subdir": null,
|
||||||
"video": "",
|
"video": "",
|
||||||
"tldr": "- Propuneri trimise pe #echo-work"
|
"tldr": "- Ambele procesate imediat cu transcript + TL;DR + quote-uri + idei"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"file": "notes-data/coaching/2026-02-13-dimineata.md",
|
"file": "notes-data/coaching/2026-02-13-dimineata.md",
|
||||||
@@ -4874,8 +4893,8 @@
|
|||||||
"title": "Proiect: Vending Master - Integrare Website → ROA",
|
"title": "Proiect: Vending Master - Integrare Website → ROA",
|
||||||
"date": "2026-01-30",
|
"date": "2026-01-30",
|
||||||
"tags": [
|
"tags": [
|
||||||
"integrare",
|
"vending-master",
|
||||||
"vending-master"
|
"integrare"
|
||||||
],
|
],
|
||||||
"domains": [
|
"domains": [
|
||||||
"work"
|
"work"
|
||||||
@@ -5355,12 +5374,12 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"stats": {
|
"stats": {
|
||||||
"total": 314,
|
"total": 315,
|
||||||
"by_domain": {
|
"by_domain": {
|
||||||
"work": 88,
|
"work": 88,
|
||||||
"health": 46,
|
"health": 46,
|
||||||
"growth": 140,
|
"growth": 140,
|
||||||
"sprijin": 30,
|
"sprijin": 31,
|
||||||
"scout": 2
|
"scout": 2
|
||||||
},
|
},
|
||||||
"by_category": {
|
"by_category": {
|
||||||
@@ -5371,7 +5390,7 @@
|
|||||||
"exercitii": 4,
|
"exercitii": 4,
|
||||||
"health": 2,
|
"health": 2,
|
||||||
"insights": 21,
|
"insights": 21,
|
||||||
"projects": 172,
|
"projects": 173,
|
||||||
"reflectii": 3,
|
"reflectii": 3,
|
||||||
"retete": 1,
|
"retete": 1,
|
||||||
"tools": 6,
|
"tools": 6,
|
||||||
|
|||||||
@@ -0,0 +1,112 @@
|
|||||||
|
# Fișă Întâlnire Grup Sprijin
|
||||||
|
|
||||||
|
**Data:** Joi, 19 februarie 2026, ora 18:00
|
||||||
|
**Tema:** Umbra — Iarna din suflet
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 1. Check-in (15-20 min)
|
||||||
|
|
||||||
|
**Întrebare de deschidere:**
|
||||||
|
- Ce s-a întâmplat în ultimele două săptămâni?
|
||||||
|
- Cum te simți acum? Ce emoții aduci cu tine în seara asta?
|
||||||
|
- Dacă starea ta de acum ar fi un anotimp — care ar fi?
|
||||||
|
|
||||||
|
**Format:** Fiecare pe rând, fără întreruperi, fără sfaturi. Doar ascultare.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 2. Cadrare: Ce este Umbra? (10 min)
|
||||||
|
|
||||||
|
**De citit/spus grupului:**
|
||||||
|
|
||||||
|
Toți avem părți din noi pe care le ascundem — de alții, dar mai ales de noi înșine. Nu neapărat lucruri "rele". Pot fi calități, emoții, dorințe pe care le-am învățat că nu sunt ok. Le-am pus într-o cutie și am aruncat cheia.
|
||||||
|
|
||||||
|
Carl Jung le-a numit **Umbre**. Nu sunt dușmani. Sunt părți din noi care așteaptă să fie văzute.
|
||||||
|
|
||||||
|
Două lucruri importante despre umbre:
|
||||||
|
- **Consumă energie** ca să le ținem ascunse. E ca și cum ai ține un balon sub apă — nu e greu o secundă, dar dacă îl ții toată ziua, te epuizează.
|
||||||
|
- **Ne influențează fără să știm.** Ne irită la alții exact ce nu acceptăm la noi. Ne sabotează în moduri pe care nu le înțelegem.
|
||||||
|
|
||||||
|
Vestea bună: nu trebuie să le "reparăm". Trebuie doar să le vedem. Să le acceptăm că sunt acolo. Asta singură eliberează energie.
|
||||||
|
|
||||||
|
**De ce facem asta azi:** Nu pentru a rezolva ceva. Ci pentru a privi cu curiozitate, într-un loc sigur, unde nimeni nu judecă. Fiecare explorează cât vrea și cât se simte confortabil. Nu e nicio presiune să împărtășești mai mult decât simți.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 3. Exercițiu: Cele 4 întrebări ale Umbrei (30 min)
|
||||||
|
|
||||||
|
**Cadrare (2-3 min):**
|
||||||
|
|
||||||
|
Următoarele întrebări sunt ca niște oglinzi. Nu au răspunsuri corecte sau greșite. Scopul nu e să analizezi, ci să observi — ce apare? Ce simți când citești întrebarea? Uneori prima reacție (chiar și "nu știu" sau un discomfort) e cel mai sincer răspuns.
|
||||||
|
|
||||||
|
**Întrebările** (fiecare primește foaia, 10-12 min reflecție individuală, în liniște):
|
||||||
|
|
||||||
|
1. **Ce te irită la alții?** Gândește-te la cineva care te-a deranjat recent. Ce anume te-a supărat? Unde ai și tu acea trăsătură — poate în altă formă, poate mai mică?
|
||||||
|
|
||||||
|
2. **Ce ascunzi despre tine?** Ce parte din tine nu arăți lumii? Ce ar fi surprinzător pentru alții să afle despre tine?
|
||||||
|
|
||||||
|
3. **Ce ai face dacă nu te-ar judeca nimeni?** Dacă ai fi complet liber de privirea celorlalți — ce ai spune, ce ai face, cum ai trăi diferit?
|
||||||
|
|
||||||
|
4. **Ce complimente refuzi sau minimizezi?** Când cineva îți spune ceva frumos, ce respingi? "A, nu e mare lucru..." — ce e în spatele acelui refuz?
|
||||||
|
|
||||||
|
**Instrucțiune:** Alege 1-2 întrebări care "te prind". Scrie liber pe foaie, fără cenzură. Nimeni nu va citi ce scrii.
|
||||||
|
|
||||||
|
**Împărtășire în grup (15-18 min):**
|
||||||
|
- Cine vrea să împărtășească ceva din ce a descoperit?
|
||||||
|
- Fără sfaturi, fără "și eu la fel". Doar ascultare și "mulțumesc".
|
||||||
|
- E ok să spui "am descoperit ceva dar nu vreau să împărtășesc acum" — și asta e valid.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 4. Reflecție: Tristețea ca mesager (15 min)
|
||||||
|
|
||||||
|
**Cadrare (2-3 min):**
|
||||||
|
|
||||||
|
Uneori simțim tristețe, gol, lipsă de sens — mai ales iarna, când e întuneric devreme și frigul pare că intră și înăuntru. Reacția normală e să vrem să scăpăm de aceste stări. Dar dacă am privi altfel?
|
||||||
|
|
||||||
|
Tristețea, golul, lipsa de motivație — nu sunt dușmani. Sunt **mesageri**. Vin să ne spună ceva despre o nevoie pe care nu o vedem.
|
||||||
|
|
||||||
|
La fel cum iarna nu e moartea naturii, ci **odihna** ei — poate și iarna din suflet are un rost. Sub zăpadă, rădăcinile cresc.
|
||||||
|
|
||||||
|
**Exercițiu (5 min, individual):**
|
||||||
|
- Dacă tristețea ta (sau golul, sau oboseala) ar avea glas — **ce ți-ar spune?**
|
||||||
|
- **Ce nevoie** exprimă? (odihnă? conexiune? sens? recunoaștere? libertate?)
|
||||||
|
- Scrie 2-3 rânduri.
|
||||||
|
|
||||||
|
**Împărtășire (7-8 min):**
|
||||||
|
- Cine vrea să spună ce a "auzit"?
|
||||||
|
- Același format: ascultare, fără sfaturi.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 5. Încheiere (10 min)
|
||||||
|
|
||||||
|
**Întrebări de închidere (fiecare răspunde pe scurt):**
|
||||||
|
- Cu ce pleci de aici în seara asta?
|
||||||
|
- Ce ai observat nou despre tine?
|
||||||
|
|
||||||
|
**Provocare pentru următoarele 2 săptămâni (opțional):**
|
||||||
|
Când simți o emoție pe care vrei să o "dai la o parte" — oprește-te o secundă și întreabă-o: "Ce vrei să îmi spui?"
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Note practice
|
||||||
|
|
||||||
|
- Pregătește foi A4 și pixuri pentru exercițiul de scriere
|
||||||
|
- Apă pentru toată lumea
|
||||||
|
- Scaune în cerc, lumină mai blândă dacă se poate
|
||||||
|
- Cronometrează exercițiile — e ușor să se depășească timpul la împărtășire
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## După întâlnire
|
||||||
|
|
||||||
|
**Ce a mers bine:**
|
||||||
|
|
||||||
|
|
||||||
|
**Ce aș face diferit:**
|
||||||
|
|
||||||
|
|
||||||
|
**Observații despre grup:**
|
||||||
|
|
||||||
@@ -29,6 +29,12 @@ try:
|
|||||||
if dejavu_path.exists():
|
if dejavu_path.exists():
|
||||||
pdf.add_font("DejaVu", "", str(dejavu_path))
|
pdf.add_font("DejaVu", "", str(dejavu_path))
|
||||||
pdf.add_font("DejaVu", "B", "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf")
|
pdf.add_font("DejaVu", "B", "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf")
|
||||||
|
oblique_path = Path("/usr/share/fonts/truetype/dejavu/DejaVuSans-Oblique.ttf")
|
||||||
|
if oblique_path.exists():
|
||||||
|
pdf.add_font("DejaVu", "I", str(oblique_path))
|
||||||
|
bold_oblique = Path("/usr/share/fonts/truetype/dejavu/DejaVuSans-BoldOblique.ttf")
|
||||||
|
if bold_oblique.exists():
|
||||||
|
pdf.add_font("DejaVu", "BI", str(bold_oblique))
|
||||||
pdf.set_font("DejaVu", "", 10)
|
pdf.set_font("DejaVu", "", 10)
|
||||||
use_dejavu = True
|
use_dejavu = True
|
||||||
else:
|
else:
|
||||||
@@ -37,6 +43,42 @@ try:
|
|||||||
pdf.set_font("Helvetica", "", 10)
|
pdf.set_font("Helvetica", "", 10)
|
||||||
use_dejavu = False
|
use_dejavu = False
|
||||||
|
|
||||||
|
def render_rich_text(pdf, text, use_dejavu, size):
|
||||||
|
"""Render text with inline **bold** and *italic* formatting."""
|
||||||
|
font_name = "DejaVu" if use_dejavu else "Helvetica"
|
||||||
|
# Remove links but keep text
|
||||||
|
text = re.sub(r'\[(.*?)\]\(.*?\)', r'\1', text)
|
||||||
|
# Split on bold/italic markers, process segments
|
||||||
|
# Pattern: **bold**, __bold__, *italic*, _italic_
|
||||||
|
parts = re.split(r'(\*\*.*?\*\*|__.*?__|\*.*?\*|_.*?_)', text)
|
||||||
|
for part in parts:
|
||||||
|
if not part:
|
||||||
|
continue
|
||||||
|
if part.startswith('**') and part.endswith('**'):
|
||||||
|
pdf.set_font(font_name, "B", size)
|
||||||
|
pdf.write(5, part[2:-2])
|
||||||
|
pdf.set_font(font_name, "", size)
|
||||||
|
elif part.startswith('__') and part.endswith('__'):
|
||||||
|
pdf.set_font(font_name, "B", size)
|
||||||
|
pdf.write(5, part[2:-2])
|
||||||
|
pdf.set_font(font_name, "", size)
|
||||||
|
elif part.startswith('*') and part.endswith('*') and len(part) > 2:
|
||||||
|
try:
|
||||||
|
pdf.set_font(font_name, "I", size)
|
||||||
|
except:
|
||||||
|
pass # italic not available, keep current font
|
||||||
|
pdf.write(5, part[1:-1])
|
||||||
|
pdf.set_font(font_name, "", size)
|
||||||
|
elif part.startswith('_') and part.endswith('_') and len(part) > 2:
|
||||||
|
try:
|
||||||
|
pdf.set_font(font_name, "I", size)
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
pdf.write(5, part[1:-1])
|
||||||
|
pdf.set_font(font_name, "", size)
|
||||||
|
else:
|
||||||
|
pdf.write(5, part)
|
||||||
|
|
||||||
# Parse markdown line by line
|
# Parse markdown line by line
|
||||||
lines = markdown_content.split('\n')
|
lines = markdown_content.split('\n')
|
||||||
i = 0
|
i = 0
|
||||||
@@ -77,28 +119,25 @@ try:
|
|||||||
# Bullet point
|
# Bullet point
|
||||||
elif line.strip().startswith('- ') or line.strip().startswith('* '):
|
elif line.strip().startswith('- ') or line.strip().startswith('* '):
|
||||||
text = line.strip().lstrip('-*').strip()
|
text = line.strip().lstrip('-*').strip()
|
||||||
# Use simple dash for bullet
|
pdf.write(5, '- ')
|
||||||
pdf.multi_cell(0, 5, '- ' + text, ln=True)
|
render_rich_text(pdf, text, use_dejavu, 10)
|
||||||
|
pdf.ln(5)
|
||||||
|
|
||||||
# Numbered list
|
# Numbered list
|
||||||
elif re.match(r'^\s*\d+\.\s', line):
|
elif re.match(r'^\s*(\d+\.)\s', line):
|
||||||
text = re.sub(r'^\s*\d+\.\s', '', line)
|
m = re.match(r'^\s*(\d+\.)\s(.*)', line)
|
||||||
pdf.multi_cell(0, 5, text, ln=True)
|
prefix = m.group(1) + ' '
|
||||||
|
text = m.group(2)
|
||||||
|
pdf.write(5, prefix)
|
||||||
|
render_rich_text(pdf, text, use_dejavu, 10)
|
||||||
|
pdf.ln(5)
|
||||||
|
|
||||||
# Regular text with formatting
|
# Regular text with formatting
|
||||||
else:
|
else:
|
||||||
# Clean up markdown markers but keep structure
|
|
||||||
text = line.strip()
|
text = line.strip()
|
||||||
|
|
||||||
# Remove inline markdown
|
|
||||||
text = re.sub(r'\*\*(.*?)\*\*', r'\1', text) # Bold
|
|
||||||
text = re.sub(r'__(.*?)__', r'\1', text) # Bold
|
|
||||||
text = re.sub(r'\*(.*?)\*', r'\1', text) # Italic
|
|
||||||
text = re.sub(r'_(.*?)_', r'\1', text) # Italic
|
|
||||||
text = re.sub(r'\[(.*?)\]\(.*?\)', r'\1', text) # Links
|
|
||||||
|
|
||||||
if text:
|
if text:
|
||||||
pdf.multi_cell(0, 5, text, ln=True)
|
render_rich_text(pdf, text, use_dejavu, 10)
|
||||||
|
pdf.ln(5)
|
||||||
|
|
||||||
i += 1
|
i += 1
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user