first off thanks for sharing your code. It gave me a headstart when I tried to do something very similar.
I found out (pretty much the same way you did) that the only attributes that can be passed into the call are displayname and email. There's a MS doco page on this:
https://learn.microsoft.com/en-us/graph/api/resources/invitation?view=graph-rest-1.0
I tried to update the jobTitle (an example) and found that I needed a separate API entrypoint to do this:
https://learn.microsoft.com/en-us/graph/api/user-update?view=graph-rest-1.0&tabs=http
and then I found out I needed different permissions for my SPN to make the change, as opposed to invite a guest. For me, it was easier to do post-invite changes using our ServiceDesk software. However, in pure Python, that's the way I'd go.
Yes, I wrote a package for this: https://github.com/biw/vite-plugin-native-modules
@VGR 's comment to not use URLEncoder was completely wrong.
It turns out that the solution is:
String q = URLEncoder.encode("mimeType=\"application/vnd.google-apps.presentation\"", StandardCharsets.UTF_8); String f = URLEncoder.encode("files(id,name,webViewLink)", StandardCharsets.UTF_8);
Then to pass
String uri = "https://www.googleapis.com/drive/v3/files?q=" + q + "&fields=" + f + "&key=mykey"
to
HttpRequest httpreq = HttpRequest.newBuilder().uri(URI.create(uri)).header("Authorization", "Bearer " + result.getString("access_token")).build();
The key is the escaped " (double quotes) around the mimeType:
\"application/vnd.google-apps.presentation\"
and to URL encode all of it as well as the fields value.
Is this what you want in Imagemagick?
Unix syntax:
magick img.jpg \( +clone -colorspace gray -negate \) -alpha off -compose copy_opacity -composite result.png
You need to mute the individual metric monitors: https://docs.datadoghq.com/monitors/types/composite/#downtime-on-an-individual-monitor-used-in-a-composite-monitor
I think you are looking for this https://docs.datadoghq.com/monitors/notify/variables/?tab=is_alert#composite-monitor-variables
The timer on the presenter screen.
I was hoping for a 'Slide_Change' event to reset it. That way I don't have to think about it.
Wifi Blocking
I was using supabase and while connecting I got this issue , later found out that the campus wifi I was using was blocking the connection thus using my hotspot fixed it.
Here is one. it returns a list of row lists:
def listPascal(n):
row = [1]
if n == 0: return [row] # Stop condition
for c in range(1,n+1): # Fill row [1,r..r,1]
row += [row[-1]*(n-c+1)//c]
return listPascal(n-1) + [row] # Recurse
Not an answer to the question to get obj reference but it might be related. This is to set an object reference according to the dot notation
//# utilizing recursion, tree walk
const setDotNotationObject = (
levels: string[],
value,
targetObject,
) => {
const current = levels.shift();
if (levels.length > 0) {
const nested = (targetObject[current] = {});
setDotNotationObject(levels, value, nested);
return;
}
targetObject[current] = value;
};
//# usage
const targetObject = {};
setDotNotationObject(
"a.b.c",
'theValueToBeSet',
targetObject,
);
Exactly! That’s why I’m building ThinkNCollab: a system where branch names aren’t just paths — they’re actual objects in a hierarchy, with metadata, parent-child relationships, and scoped merge logic.
It’s like Git, but branches actually know where they live in the version tree — and inherit context from their parent. Not just naming, but structure.
const TOTAL_BOXES = 600;const container = document.getElementById('boxesContainer');if (localStorage.getItem('theme')) setTheme(localStorage.getItem('theme'));function setTheme(t) { document.body.className = t || 'rgb'; localStorage.setItem('theme', t || 'rgb');}for (let i = 1; i <= TOTAL_BOXES; i++) { const box = document.createElement('div'); box.className = 'script-box'; box.style.animationDelay = `${(i % 40) * 0.06}s`; box.innerHTML = ` <div class="box-header"> <span>Portal #${i}</span> <span class="char-count">0 caracteres</span> <button class="copy-btn" onclick="copyText('script-${i}', this)">📋 Copiar</button> </div> <textarea id="script-${i}" placeholder="Flua com a eternidade..."></textarea> `; const ta = box.querySelector('textarea'); const cnt = box.querySelector('.char-count'); const saved = localStorage.getItem(`script-${i}`); if (saved) { ta.value = saved; cnt.textContent = saved.length + ' caracteres'; } ta.addEventListener('input', () => { localStorage.setItem(`script-${i}`, ta.value); cnt.textContent = ta.value.length + ' caracteres'; }); container.appendChild(box);}function copyText(id, btn) { const ta = document.getElementById(id); if (ta && ta.value) { navigator.clipboard.writeText(ta.value).then(() => { // Feedback visual: Muda o texto e cor do botão temporariamente const originalText = btn.innerText; btn.innerText = '✅ Copiado!'; btn.style.backgroundColor = '#00ff00'; btn.style.color = '#000'; // Adiciona classe para animação btn.classList.add('copied-anim'); setTimeout(() => { btn.innerText = originalText; btn.style.backgroundColor = ''; btn.style.color = ''; btn.classList.remove('copied-anim'); }, 2000); }).catch(err => { alert('Erro ao copiar: ' + err); }); } else { alert('Nada para copiar!'); }}function clearAll() { if (confirm('Deseja dissolver todos os 600 portais com suavidade?')) { document.querySelectorAll('textarea').forEach(ta => { ta.style.transition = 'all 2s ease-out'; ta.value = ''; setTimeout(() => localStorage.removeItem(ta.id), 1000); }); document.querySelectorAll('.char-count').forEach(c => c.textContent = '0 caracteres'); setTimeout(() => alert('Dissolvido com perfeição.'), 1500); }}
* { margin:0; padding:0; box-sizing:border-box; }html { scroll-behavior: smooth; }body { min-height: 100vh; background: url('https://images.unsplash.com/photo-1495467033336-2c4e4318fabb?ixlib=rb-4.0.3&auto=format&fit=crop&q=90') center/cover fixed; color: #fff; font-family: 'Playfair Display', serif; overflow-x: hidden; position: relative; /* Transições globais ultra suaves */ transition: background 3s cubic-bezier(0.16, 1, 0.3, 1), filter 2s ease-out;}/* Fundo com suavidade extrema */body::before { content:''; position:fixed; inset:-20%; background:inherit; filter: blur(35px) brightness(0.7); animation: breathe 30s infinite alternate; z-index:-3; transition: filter 4s cubic-bezier(0.22, 1, 0.36, 1);}body::after { content:''; position:fixed; inset:0; background: linear-gradient(135deg, rgba(10,10,40,0.88), rgba(0,20,60,0.75)); backdrop-filter: blur(40px) saturate(200%); z-index:-2; transition: background 4s cubic-bezier(0.16, 1, 0.3, 1), backdrop-filter 3s ease-out;}@keyframes breathe { 0% { filter: blur(35px) brightness(0.7); } 100% { filter: blur(45px) brightness(1.0); }}/* Ondas de luz ainda mais suaves */.wave { position: fixed; width: 400px; height: 400px; background: radial-gradient(circle, rgba(0,255,255,0.12) 0%, transparent 70%); border-radius: 50%; pointer-events: none; z-index: -1; animation: float 28s infinite linear; opacity: 0.6; transition: opacity 3s ease;}@keyframes float { 0% { transform: translate(0,0) rotate(0deg); } 100% { transform: translate(100vw, -100vh) rotate(360deg); }}header { text-align:center; padding:70px 20px; position:sticky; top:0; z-index:100; backdrop-filter: blur(50px); background:rgba(0,0,0,0.35); border-bottom:1px solid rgba(255,255,255,0.08); transition: all 2s cubic-bezier(0.16, 1, 0.3, 1);}h1 { font-family: 'Cinzel', serif; font-size:5.8em; letter-spacing:10px; background: linear-gradient(90deg, #00ffff, #ff00ff, #ffff66, #00ffaa); -webkit-background-clip: text; background-clip:text; color:transparent; text-shadow: 0 0 80px rgba(0,255,255,0.9); animation: titleGlow 8s infinite alternate; transition: text-shadow 4s cubic-bezier(0.16, 1, 0.3, 1);}@keyframes titleGlow { 0% { text-shadow:0 0 80px rgba(0,255,255,0.9); } 100% { text-shadow:0 0 140px rgba(255,0,255,1), 0 0 180px rgba(0,255,255,0.8); }}.theme-panel { position:fixed; left:30px; top:150px; width:340px; background: rgba(15,15,35,0.45); backdrop-filter: blur(60px); border: 2px solid rgba(255,255,255,0.12); border-radius: 36px; padding:38px; box-shadow: 0 30px 100px rgba(0,0,0,0.7); animation: panelRise 2.5s cubic-bezier(0.16, 1, 0.3, 1); transition: all 2s cubic-bezier(0.16, 1, 0.3, 1);}@keyframes panelRise { 0% { transform:translateY(120px); opacity:0; } 100% { transform:none; opacity:1; }}.theme-btn { padding:22px 12px; border:none; border-radius:26px; font-weight:600; color:#fff; cursor:pointer; backdrop-filter: blur(20px); transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); box-shadow: inset 0 0 30px rgba(255,255,255,0.15);}.theme-btn:hover { transform: translateY(-10px) scale(1.1); box-shadow: 0 30px 60px rgba(0,0,0,0.7), 0 0 60px var(--glow-color);}.container { max-width:1900px; margin:60px auto; padding:40px; padding-left:420px; display:grid; grid-template-columns:repeat(auto-fill,minmax(460px,1fr)); gap:38px; transition: all 2s ease-out;}.script-box { background: rgba(20,20,50,0.4); backdrop-filter: blur(60px); border: 2px solid rgba(255,255,255,0.15); border-radius: 38px; overflow:hidden; box-shadow: 0 25px 80px rgba(0,0,0,0.6); /* Transições ultra suaves */ transition: all 1.4s cubic-bezier(0.16, 1, 0.3, 1); animation: boxFadeIn 1.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; opacity:0; transform:translateY(60px) scale(0.95);}.script-box:hover { transform: translateY(-25px) scale(1.06); border-color: #00ffff; box-shadow: 0 50px 120px rgba(0,0,0,0.8), 0 0 80px rgba(0,255,255,0.7);}.box-header { background: linear-gradient(90deg, rgba(0,255,255,0.45), rgba(255,0,255,0.45)); padding:22px 30px; font-size:1.4em; display:flex; justify-content:space-between; backdrop-filter: blur(25px); transition: all 1.5s cubic-bezier(0.16, 1, 0.3, 1);}textarea { width:100%; height:280px; padding:30px; background:transparent; color:#fff; border:none; outline:none; font-family:'Roboto Mono', monospace; font-size:17px; resize:vertical; caret-color:#00ffff; transition: all 1s ease-out;}textarea:focus { text-shadow: 0 0 15px rgba(0,255,255,0.8);}.fab { position:fixed; bottom:50px; right:50px; width:100px; height:100px; background: rgba(0,255,255,0.4); backdrop-filter: blur(40px); border:4px solid rgba(0,255,255,0.7); border-radius:50%; color:#fff; font-size:4em; cursor:pointer; box-shadow: 0 30px 80px rgba(0,0,0,0.7), 0 0 70px rgba(0,255,255,0.8); transition: all 1.2s cubic-bezier(0.16, 1, 0.3, 1); z-index:999;}.fab:hover { transform: scale(1.25) rotate(90deg); box-shadow: 0 40px 100px rgba(0,0,0,0.9), 0 0 100px rgba(0,255,255,1);}
<!DOCTYPE html><html lang="pt-BR"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Scripts Celestiais</title> <link href="https://fonts.googleapis.com/css2?family=Cinzel:wght@600;700&family=Roboto+Mono:wght@300;500&family=Playfair+Display:wght@400;700&display=swap" rel="stylesheet"> <style> * { margin:0; padding:0; box-sizing:border-box; } html { scroll-behavior: smooth; } body { min-height: 100vh; background: #000 url('https://images.unsplash.com/photo-1495467033336-2c4e4318fabb?ixlib=rb-4.0.3&auto=format&fit=crop&q=90') center/cover fixed; color: #fff; font-family: 'Playfair Display', serif; overflow-x: hidden; position: relative; } body::before { content:''; position:fixed; inset:-20%; background:inherit; filter: blur(35px) brightness(0.7); animation: breathe 30s infinite alternate; z-index:-3; } body::after { content:''; position:fixed; inset:0; background: linear-gradient(135deg, rgba(10,10,40,0.88), rgba(0,20,60,0.75)); backdrop-filter: blur(40px) saturate(200%); z-index:-2; } @keyframes breathe { 0%{filter:blur(35px) brightness(0.7);} 100%{filter:blur(45px) brightness(1.0);} } header { text-align:center; padding:70px 20px; position:sticky; top:0; z-index:100; backdrop-filter: blur(50px); background:rgba(0,0,0,0.35); border-bottom:1px solid rgba(255,255,255,0.08); } h1 { font-family: 'Cinzel', serif; font-size:5em; letter-spacing:8px; background: linear-gradient(90deg, #00ffff, #ff00ff, #ffff66, #00ffaa); -webkit-background-clip: text; background-clip:text; color:transparent; text-shadow: 0 0 80px rgba(0,255,255,0.9); animation: titleGlow 8s infinite alternate; } @keyframes titleGlow { 0% { text-shadow:0 0 80px rgba(0,255,255,0.9); } 100% { text-shadow:0 0 140px rgba(255,0,255,1), 0 0 180px rgba(0,255,255,0.8); } } .theme-panel { position:fixed; left:20px; top:120px; width:320px; background: rgba(15,15,35,0.5); backdrop-filter: blur(60px); border: 2px solid rgba(255,255,255,0.12); border-radius: 36px; padding:30px; box-shadow: 0 30px 100px rgba(0,0,0,0.7); z-index:99; } .theme-btn { width:100%; margin:10px 0; padding:18px; border:none; border-radius:26px; color:#fff; font-weight:600; cursor:pointer; transition: all 0.6s ease; } .theme-btn:hover { transform: translateY(-5px) scale(1.05); } .container { max-width:1900px; margin:60px auto; padding:20px; padding-left:360px; display:grid; grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); gap:30px; } .script-box { background: rgba(20,20,50,0.5); backdrop-filter: blur(60px); border: 2px solid rgba(0,255,255,0.3); border-radius: 32px; overflow:hidden; box-shadow: 0 25px 80px rgba(0,0,0,0.6); transition: all 0.8s ease; } .script-box:hover { transform: translateY(-15px) scale(1.03); border-color: #00ffff; box-shadow: 0 40px 100px rgba(0,0,0,0.8), 0 0 60px rgba(0,255,255,0.6); } .box-header { background: linear-gradient(90deg, #00ffff, #ff00ff); padding:18px 24px; font-size:1.3em; color:#fff; display:flex; justify-content:space-between; align-items:center; } .copy-btn { background: rgba(255,255,255,0.2); border: none; padding: 8px 16px; border-radius: 20px; cursor: pointer; font-size: 1.1em; transition: all 0.4s ease; } .copy-btn:hover { background: #00ff00; color: #000; transform: scale(1.1); } textarea { width:100%; height:220px; padding:24px; background:transparent; color:#fff; border:none; outline:none; font-family:'Roboto Mono', monospace; font-size:16px; resize:vertical; } .fab { position:fixed; bottom:30px; right:30px; width:70px; height:70px; background: rgba(0,255,255,0.4); backdrop-filter: blur(30px); border:3px solid #00ffff; border-radius:50%; color:#fff; font-size:2.5em; cursor:pointer; box-shadow: 0 20px 50px rgba(0,0,0,0.7); z-index:999; } </style></head><body> <header> <h1>SCRIPTS CELESTIAIS</h1> <p>600 caixas mágicas • Design supremo • Salva tudo no cosmos do seu navegador</p> </header> <div class="theme-panel"> <h3 style="text-align:center; margin-bottom:20px; color:#00ffff">Temas Celestiais</h3> <button class="theme-btn" style="background:linear-gradient(45deg,#120038,#6e00ff)" onclick="setTheme('dark')">Dark Nebula</button> <button class="theme-btn" style="background:linear-gradient(45deg,#001a00,#00ff41)" onclick="setTheme('matrix')">Matrix Emerald</button> <button class="theme-btn" style="background:linear-gradient(45deg,#ff006e,#8330e9)" onclick="setTheme('cyberpunk')">Cyber Glow</button> <button class="theme-btn" style="background:linear-gradient(45deg,#f00,#ff0,#0f0,#0ff,#00f,#f0f,#f00)" onclick="setTheme('rgb')">RGB Cosmos</button> <button class="theme-btn" style="background:linear-gradient(45deg,#ff9a9e,#fad0c4)" onclick="setTheme('candy')">Candy Dream</button> <button class="theme-btn" style="background:linear-gradient(45deg,#ff512f,#f09819)" onclick="setTheme('sunset')">Sunset Horizon</button> <button style="margin-top:25px; width:100%; padding:18px; background:#ff0844; border:none; border-radius:26px; color:white; font-weight:bold" onclick="clearAll()"> Apagar o Universo </button> </div> <div class="container" id="boxesContainer"></div> <button class="fab" onclick="window.scrollTo({top:0,behavior:'smooth'})">Up</button> <script> const TOTAL_BOXES = 600; const container = document.getElementById('boxesContainer'); // Carrega tema salvo if (localStorage.getItem('theme')) { document.body.className = localStorage.getItem('theme'); } function setTheme(t) { document.body.className = t; localStorage.setItem('theme', t); } // Gera as 600 caixas for (let i = 1; i <= TOTAL_BOXES; i++) { const box = document.createElement('div'); box.className = 'script-box'; box.innerHTML = ` <div class="box-header"> <span>Script Estelar #${i}</span> <span class="char-count">0 caracteres</span> <button class="copy-btn" onclick="copyText('script-${i}', this)">Copiar</button> </div> <textarea id="script-${i}" placeholder="Escreva sua magia cósmica aqui..."></textarea> `; const textarea = box.querySelector('textarea'); const counter = box.querySelector('.char-count'); // Carrega conteúdo salvo const saved = localStorage.getItem(`script-${i}`); if (saved) { textarea.value = saved; counter.textContent = saved.length + ' caracteres'; } // Salva automaticamente textarea.addEventListener('input', () => { localStorage.setItem(`script-${i}`, textarea.value); counter.textContent = textarea.value.length + ' caracteres'; }); container.appendChild(box); } // Função de copiar com feedback visual function copyText(id, btn) { const textarea = document.getElementById(id); if (textarea && textarea.value) { navigator.clipboard.writeText(textarea.value).then(() => { const original = btn.innerText; btn.innerHTML = 'Copiado!'; btn.style.background = '#00ff00'; btn.style.color = '#000'; setTimeout(() => { btn.innerHTML = original; btn.style.background = ''; btn.style.color = ''; }, 1500); }); } } function clearAll() { if (confirm('Tem certeza? Isso apagará TODOS os 600 scripts!')) { for (let i = 1; i <= TOTAL_BOXES; i++) { const ta = document.getElementById(`script-${i}`); if (ta) { ta.value = ''; localStorage.removeItem(`script-${i}`); ta.parentElement.querySelector('.char-count').textContent = '0 caracteres'; } } alert('Universo purificado!'); } } // Mensagem de boas-vindas setTimeout(() => { alert('Bem-vindo aos Scripts Celestiais!\nTudo que você digitar será salvo automaticamente.\nUse o botão "Copiar" em cada caixa!'); }, 1000); </script></body></html>
9 and 5 months later I ran into the same problem and google took me here. However after checking the docs provided by @Harry I saw it is possible. I will copy and paste the example from MDN docs (with some code styling) here:
div[data-rotate] {
width: fit-content;
transform-origin: 50% 50%;
rotate: attr(data-rotate deg, 1.5deg);
}
<div data-rotate="-3">I am rotated by -3 degrees</div>
<div data-rotate="2">And I by 2 degrees</div>
<div data-rotate>And so am I, using the fallback value of 1.5deg</div>
(Edit 5 minutes later): Here is the link MDN docs - attr
This can be achieved by supplying --quiet, such as dbt run --quiet. It works on dbt 1.10.13.
A new `process.loadEnvFile` function was (relatively) recently added to nodejs (https://nodejs.org/docs/v24.5.0/api/process.html#processloadenvfilepath)
If you can modify the script that you want to run, you can add:
process.loadEnvFile(".env");
And that will load your environment variables from the .env file into your `process.env `.
You can also create a wrapper script as mentioned by @RobC using this to load the .env file instead.
Even easier, more recent and also safer (according to the severe security warnings I got from installing dotenv in npm) than the dotenv package. :)
from docx import Document
from docx.shared import Cm, Pt
from docx.oxml.ns import qn
import os
# Create Word document
doc = Document()
# Set margins to 2 cm
section = doc.sections[0]
section.top_margin = Cm(2)
section.bottom_margin = Cm(2)
section.left_margin = Cm(2)
section.right_margin = Cm(2)
# Define styles
normal_style = doc.styles['Normal']
normal_style.font.name = 'B Nazanin'
normal_style._element.rPr.rFonts.set(qn('w:eastAsia'), 'B Nazanin')
normal_style.font.size = Pt(12)
title_style = doc.styles.add_style('TitleBN', 1)
title_style.font.name = 'B Nazanin'
title_style._element.rPr.rFonts.set(qn('w:eastAsia'), 'B Nazanin')
title_style.font.size = Pt(13)
title_style.font.bold = True
text = [
("۱) نام تیم و برند:", "فروشگاه رنگ و ابزار نیکان"),
("۲) موضوع کسبوکار:", "خرید و فروش رنگ و ابزارآلات ساختمانی"),
("۳) تنوع محصول یا خدمات:", "انواع رنگهای پلاستیکی، روغنی، اکرلیک، دکوراتیو، لیسه، کاردک، قلممو، غلطک، سنباده و…"),
("۴) جمعیت هدف و بازار هدف:", "نقاشان ساختمانی، دانشجویان رشته گرافیک و طراحی\nرده سنی ۱۵ تا ۷۰ سال"),
("۵) میزان سرمایه اولیه:", "۵ میلیون تومان برای خرید مصالح"),
("۶) محل درآمد:", "همکاری با فروشگاههای رنگ و ابزارفروشی بهصورت پورسانت و نقدی"),
("۷) مزیت رقابتی:", "تنوعپذیری رنگها و برندها\nکمبود فروشگاه رنگ و ابزار فروشی آنلاین"),
("۸) بستر فعالیت آنلاین:", "پیج اینستاگرام، آگهیهای دیوار و باسلام"),
("۹) وظایف اعضای تیم:",
"۱. سجاد قلینژاد — مدیریت تیم، فضای مجازی، مالی\n"
"۲. پویا کلانتری — تبلیغات اینستاگرام\n"
"۳. مهدی صفری — مدیریت باسلام\n"
"۴. حسن دریساوی — مدیریت دیوار\n"
"۵. علیرضا علیزاده — حملونقل و پست"),
("۱۰) برنامه هفته آینده:",
"هفته اول: پستگذاری و تبلیغات اینستاگرام\n"
"هفته دوم: آگهیگذاری در دیوار و باسلام\n"
"هفته سوم: ادامه پستگذاری و پاسخگویی"),
("۱۱) شاخص ارزیابی موفقیت:",
"۱. افزایش اعضای پیج\n"
"۲. پاسخگویی محترمانه\n"
"۳. کسب اعتماد مشتری"),
("۱۲) درس آموخته مورد انتظار:",
"۱. مدیریت فضای مجازی\n"
"۲. مشتریمداری\n"
"۳. فن بیان و چانهزنی")
]
for title, body in text:
doc.add_paragraph(title, style="TitleBN")
p = doc.add_paragraph(body)
p.style = normal_style
# Save Word file
docx_path = "/mnt/data/reem4.docx"
doc.save(docx_path)
docx_path
enter image description here Thanks everyone for the inputs. I think there’s a misunderstanding about what I’m referring to when I say nested branching.
I’m not talking about:
branching from a commit inside another branch (Git already does that)
naming branches like feature/A/A1 (this is just a naming convention)
creating a feature branch, then a sub-feature branch, then merging/deleting (common Git workflow)
What I mean is something structurally different that Git does not support:
a branch that logically belongs to another branch, with an actual parent–child relationship stored in the VCS metadata.
Something like:
main
└── feature-A
└── A1-sub-feature
└── hotfix-A1-1
where:
A1-sub-feature inherits metadata, permissions, visibility, and branch context from feature-A
merging to the parent is implicit or rule-based
deletion of the parent automatically implies lifecycle rules for children
children exist only inside the parent branch’s scope
the system maintains a full nested tree of branches, not a flat namespace
In Git:
All branches are flat pointers to commits.
There is no parent–child relationship between branches.
Git doesn’t maintain branch hierarchy, only a DAG of commits.
The hierarchy people simulate using names (feature/sub1/sub2) is purely cosmetic.
So the kind of nested branching I’m talking about requires:
branch metadata beyond just “a pointer to a commit”
hierarchical lifecycle management
nested merge pipelines
ACL/permission propagation
task-based grouping within a branch tree
representing branches as nodes in a tree, not a flat list
This isn't possible in Git because Git branches are intentionally very lightweight (just a ref → commitID).
The parent branch does not “own” the sub-branch in any structural way.
My use case is a combined Task Management + Versioning System, so nested branches map to:
tasks
subtasks
sub-subtasks
Each with their own file changes, discussions, and merges.
Git supports branching-from-a-commit.
Git does not support hierarchical, metadata-aware, parent-scoped nested branches.
That’s the feature I’m trying to build in my system.
I would make it simple(ish). This returns [1] for row 0 and [1, 1] for row 1. See Wikipedia
def pascal(n):
row = [1]
for c in range(1,n+1):
row += [row[-1]*(n-c+1)//c]
return row
This gives [1] for row zero and [1, 12, 66, 220, 495, 792, 924, 792, 495, 220, 66, 12, 1] for row 12:
def getRow(r):
row = [1]
for c in range(1,r+1):
row += [row[-1]*(r-c+1)//c]
return row
Here is a Postman example that worked for me with Spring. Important is the content type application/json. I didn't use an array for the binary files, but I think if you just define another one with the same key, that should work.
@PostMapping(consumes = MediaType.MULTIPART_FORM_DATA_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public Document upload(@RequestPart("metadata") AddDocument addDocument,
@RequestPart("file") MultipartFile file) {
//implementation code
}
Just go with https://docs.rapids.ai/.
Github link: https://github.com/rapidsai/docs
Install: https://docs.rapids.ai/install/
@Pepijn Kramer off_t/off64_t may technically be more appropriate for offsets. I do agree that the signedness of ssize_t is useful for arithmetic.
I was running the wrong Python interperter.
to the right of Python in bottm status area (when you hover over it, it says Select Language Mode) is says 3.13.9(Microsoft Store). Clicked on this and change to Python 3.12.4(base)~\anaconda3\pythone.exe
You are right concerning variable 'nom' : your version is correct.
I'm using Chart.js version 4.5.1
If I replace fontColor by color : there is no action ! Display is correct only if I use fontColor.
And style, weight and size are not taken into account : they are the same for the 2 labels (I guess default values).
I just got here trying to figure out why I had'nt had to pip install dateutil. Turns out that it's installed as a dependency of both scipy and pandas. I discovered the pip tree utility in the process ! Just in case this helps people out.
Only need this:
go mod init main.go (or your module name)
go get github.com/mattn/go-sqlite3@latest
if you are only intending to print the Hello world then the problem is that your len is to big
this is because when you are doing len equ $-text you are saying that len is from current position
to the text variable and your hi(text2) is in the middle so it will count that too the simplest way to fix this would just be to put text2 after the len but there are also some other methods
In Java, an enum is not just a list of values — it’s actually a special kind of class.
Because of that, each enum constant can have its own behavior.
So, if you add an abstract method inside an enum, every constant must provide its own implementation.
This lets each enum value act differently.
enum Operation {
PLUS {
@Override
double apply(double x, double y) { return x + y; }
},
MINUS {
@Override
double apply(double x, double y) { return x - y; }
};
abstract double apply(double x, double y);
}
apply() is an abstract method → no body.
Each constant (PLUS, MINUS) must implement it.
This gives you polymorphism inside the enum.
You avoid writing many if or switch statements.
Each enum constant carries its own logic.
Makes the code cleaner and easier to extend.
Example:
If you want to add MULTIPLY, you just add it and implement its version of apply().
Abstract methods in enums let each enum value have its own behavior.
It’s a clean way to use polymorphism without creating many separate classes.
could we not load the ps1 into a scriptblock that would be stored in a $using context? Like:
$sb= get-content $scriptPath\with-dot-sourcing.ps1 -raw
invoke-command -ScriptBlock { . $using:sb;getMessage()}
Obviously the output total won't always be evenly divisible by 3 and the first 2 totals might need to be rounded up with the remainder in the 3rd column.
Do you mean that, if eg there are 20 results, you get 6 rows of 3, then a last row row with blank, x, y?
I would try casting that .Content property as MultipartContent and use the methods of that class to explore the data available. Looks like Microsoft already parses multipart data for you... See How to read MultipartContent from HttpResponseMessage?
@eric-postpischil thanks, it makes sense now, although can you please tell me which function(s) use such a method of error handling, from what I've seen most of the linux apis return -1 in the case of error and set errno to the specific error code
Note: There is a PR right now that will fix this problem: https://github.com/openjdk/jfx/pull/1951
There are some discussions to find the correct way to solve the root problem. In any case, this should be solved soon.
The difference between "capable of storing values at least in the range [-1, SSIZE_MAX]" (from the manpage you sent) and "it can only store values from -1 to SSIZE_MAX" is appreciable.
@463035818-is-not-an-ai here is the link https://manpages.opensuse.org/Tumbleweed/man-pages/ssize_t.3type.en.html
what is "the man pages" ? Where did you read that the only negative value it can have is -1 ? Thats not correct
Para remover basta fazer:
var distinctOrders = orders
.GroupBy(x => (x.CustomerID, x.OrderNo, x.OrderDt))
.Select(g => g.First())
.ToList();
@sergey-a-kryukov but it can only store values from -1 to SSIZE_MAX, it seems, that it doesn't seem to make sense, as the only negative value you can have is -1
@ruohola Nobody really answered the question in that feed.. seems like this is a mystery. Lol.
Old question, but still relevant.
I have a number of Dev Resources configured; most of which are not in use... but I dont want to delete them as I often refer back to the older configuration when I am starting a new project. I have also shelved projects that I want to go back to, but dont want the Dev/Test resources available.
While I can archive then delete the resources (probably a good practice to keep security sanitized) this reduces the value of using azure for Dev by adding an administrative burden (wasnt the original "move to cloud" rational reducing the administrative burden of managing infrastructure?)
anyhow. refering to a comment above. Is there a way to set a sql db into single user mode OR to disable new connections (other than management portal) to a db instance? Normal Sql not a problem, Azure Sql?
Why not map all entries and build an object?
object = Object.fromEntries(data.map(({ key, value }) => [key, value]));
json_data = json.loads(json.dumps(row, ensure_ascii=False, indent=None))
In the styles Tab of the Sprint Settings y;ou can add a styling rule that allows you to have a rule of feild tags that allow you to colour the card though
The edge you're looking for is instagram_accounts
FB_PAGE_OD/instagram_accounts?fields=username%2Cid
Source: https://developers.facebook.com/docs/graph-api/reference/page/instagram_accounts/
this documentation helped me integrate Stripe into a web app. I thought I’d share it in case it helps with your integration: Stripe Docs - SaaS
If anybody is looking for the README that singgel put in their answer, the more current link can be found here: https://github.com/apache/curator/tree/apache-curator-4.2.0/curator-test-zk34. IDK why SO isn't allowing me to add this as a comment on their "answer"
The answers here likely cover this: What's the target group port for, when using Application Load Balancer + EC2 Container Service
You want to prevent hotlinking of your fonts while still allowing your CSS/JS on your own domain to access them. Using .htaccess, you can do this with an RewriteRule and RewriteCond. The <Directory> method won’t work in .htaccess because that’s only valid in the server config or httpd.conf.
https://psychedelicmedicineassociation.org/compounds/ibogaine/
Before @layer was introduced, it was commonly used to override specificty and force a rule to be applied. It was, and is, confusing and can be difficult to control. With layered rules, which are supported by all major browsers, it becomes much much easier to control how rules are applied. If you're starting a new project you should definitely use layers. Converting to layers is very doable but non-trivial. I converted all my projects to use the layered approach, don't use !important at all and have found it extremely easy to confrol and understand. See the description at https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/At-rules/@layer
Your funky cursor code works fine in Edge, I just added some co-ordinates after the url i.e
url(data:image/png;base64,...) 0 0, pointer;
You need to put "esnext" in the "lib" list. target: "esnext" doesn't do it.
Use LocaleNameToLCID. Be aware that MS is steering away from using LCID. Pity since the locale name is not the same for Windows and Linux.
You might be running into this bug: Black navigation bar on transitions.
I'm experiencing this on my phone as well (as a user).
I believe you walk up u to v (not v to u), then add edge u-v. u will have a parent that you saw if you saw v twice, and there will be no need to use s. Otherwise, please provide a counterexample.
Here are some ways that you can check:
react-scripts in dependencies inside package.json, if it does not exist try npm install react-scriptsHave you tried anything on their api support page? https://docs.athenahealth.com/api/support
I suffered the same issue but the error message is somewhat misleading. Basically it ment the Firewall was stopping it. Ask your sysadmin to allow *pypi.org en *.pythonhosted.org to pass the firewall. Not *.pypi.org but *pypi.org
but instead provide a list of store builders when invoking addGlobalStore?
A global store reads from a single input topic. So there is no API to have multiple store builders. There is no reason to put the data from the topic into two stores. That's just a waste of resources. Why would you need two global stores for the same input topic?
I find it strange having to manually add myStoreBuilder and myStoreBuilder2 using addStateStore(..) but then only reference one of them when setting up my GlobalStore afterwards.
As said. This should throw an runtime exception. You cannot have a regular store, and global store with the same name. What are you trying to achieve?
This is an old post but i just found it. Asp.net core converts it into a .dll and in the root folder with the name of the language. in my case, it "en-US" and "es-MX" but it would be whatever you have named your file. my original resource file is named Controllers.HomeController.en-US.resx so i assume it grabbed the last part of that? personally, i'm looking for a way to edit the file programatically so admin users can make updates. i found a way to do it in my dev environment however when i publish, it converts it into a .dll and now i'm back to square one.
I just wanted to share (and make a note for myself) the root documentation for this host validation feature of HTTP.sys - https://learn.microsoft.com/en-us/windows/win32/http/urlprefix-strings
Also not 100% sure what the question is. Are you trying to read the same input topic into two global store? For this case, why would you want to do this? It's not supported, because it's unnecessary data duplication. -- Also, each store (global or regular), must have a unique name. Otherwise, two stores cannot be distinguished. So you code example, re-using the same StoreBuilder for a regular and global store, should actually throw a runtime exception, due to overlapping names.
Can you clarify again, what you try to do, and what problem you are seeing?
Create a file named `.env` with your exports.
export MY_VAR="value1"
export MY_OTHER_VAR="value2"
Then launch your app.js
node app.js --env-file=/path/to/.env
Inside your app.js, you just need to look for process.env.MY_VAR and process.env.MY_OTHER_VAR
Turborepo team member here.
It looks like the db:generate doesn't have an env key with DATABASE_URL in it. Because of this, Turborepo's Strict Mode doesn't know to allow that environment variable into that tasks' environment. It looks like this is done correctly for the build task, so you could follow that same pattern.
Already answered elsewhere, look it up >:(((((((((((((((!!!!!!!!!11!!!1!!!
As mentioned in other answers, static_assert() in C11 is doing exactly that. In earlier C versions it can be "simulated" with some compiler black magic:
#define static_assert(condition, text) ((void)sizeof(char[1 - 2 * !(condition)]))
This works exactly like the C11 version apart from the less elegant error message.
Can you give an example of some command you would run, and what the output would be, that you cannot do now? BTW, it feels like you may be assigning a different meaning to what a branch actually is in Git, which is simply a moving pointer to a specific Git commit ID. In other words, when you branch off of another branch in Git, you are actually branching off of the commit ID that the other branch is pointing to at that moment, but you are not actually branching off another branch (by name).
He usado el traductor para entender tu pregunta, pero según lo que entiendo, el problema principal en tu código original era que estabas aplicando el filtro cuando el contenedor padre tenía el hover, lo que causaba que todos los elementos se volvieran grises incluso cuando el cursor estaba en los espacios entre elementos. Una solución que encuentro, si he entendido bien el problema es esta.
Aplicamos filtro a todos los hijos y el elemento específico que está siendo hovered mantiene el filtro en 0
.parent:not(:hover) .child {
filter: grayscale(0);
}
.parent:hover .child {
filter: grayscale(1);
}
the crsf in @crsf_exempt stands for Cross site Request Forgery, this basically means that if you put this decorator, this is basically a cookie created so that clients that don't have a CSRF token can use the POST HTTP method, this also makes the view excluded from the Middleware protection
@csrf_exempt(your_view)
While @api_view on the other hand takes a list of supported methods in your view and if an unsupported one is called it handles the response instead of throwing an error
@api_view(http_method_names=['GET', 'POST', 'WHATEVER METHOD YOU WANT']
I had a similar issue with PHP. While I was getting a chunk of the data with
$chunkData = $stream->read(self::CHUNK_SIZE);
I would imagine that the size of the chunk would always be the same as self::CHUNK_SIZE except for the last chunk. So I was sending wrong values.
Apple fixed the header with a new blur in iPadOS 26.1 but still no more customization available.
We found this same issue between a very new gradle version and Java 25, modify the gradle version. There are several issues about this
This comes mostlikely too late as you posted this question 3 years ago but still:
Why are you changing the scheme, host, and port of the original request. You should be doing that in the cloned request.
This is because seaborn-objects do not support the use of Stack() + Dodge() in order to create dodged stacked bars on the same axis. Stack() will make sure that the bars in the same x-position are all on top of each other even with Dodge() added to the stack. Once the bars have been stacked, Dodge() is no longer considered and hence the two years are in the same stack rather than in two different stacks.
Github support came back to me.
This happens because the type of merge my developer was doing is a fast forward merge (ff) which maintains linear history. So all branch protections currently in place were met.
To stop this to happen, I needed to tick the box:
`Restrict who can push to matching branches`
So long as the user is not an Organization administrator, repository administrator, and user with the Maintain role this will work and prevent this CLI ff method for regular users.
VStack {
Text("some text")
Button("Ok") {}
.foregroundColor(.cyan)
.padding()
}
.padding()
.background(.red)
.cornerRadius(20)
.overlay(
RoundedRectangle(cornerRadius: 20)
.stroke(Color.blue, lineWidth: 5)
)
}
Not an argument against trying to make it even faster, but just a thought: 2 seconds sounds quite fast already for storing a 50 MB file.
In addition of @Gil answer, you can also use only-of-type like so
table tbody tr:only-of-type td { /* The override. */
border: none;
}
assume ≠ assert. Herb Sutter wrote up P2064 R0 that examines the distinction.
Start by a class Extension system from dinobuilder
here is the example of the Scratch's extension coding:
function add_piece_of_system(system){
return system
}
What is your block element structure for the carousel?
The format needs to be {<alias prefix>: <contents>} so if the alias of the data you're trying to render is carousel then it would be {umbValue: carousel}.
The fact that {umbValue: Carousel} returns nothing suggests that Carousel is not the alias of a property. It's not a valid alias - it should be camelCase.
= is shorthand for umbValue so would be {=<property alias>} e.g. {=carousel}.
@p011yr011n, I compiled wit optimization. @Art, you are right I found it. Thanks
This feels an awful lot like a memory leak, but in my experience, that's not always the case. I'll try to throw out a few things to try based on the configurations that you provided. I think the key culprits here though may be related to one (or more) of: state changelog, checkpoint retention, or possibly some other configurations.
I'll provide a few suggestions (feel free to try one or more):
Disabling State Changelog
This is a recommendation that likely could explain some of the situation as the use of changelog can add some additional memory pressure (it functions as a buffer for those changes as mentioned in this older blog post). I'd suspect that using it in conjunction with RocksDB could likely impact memory utilization:
state.backend.changelog.enabled: false
Limiting Checkpoint Retention
Currently your job has checkpoint retention enabled which is fine, however you may want to consider limiting it to a specific number of those to retain (otherwise things could balloon) as well as cleaning them up to ensure too many don't stick around:
state.checkpoints.num-retained: 5
state.checkpoints.externalized.enable: true
state.checkpoints.externalized.delete-on-cancellation: true
Gather Metrics
One thing that I would highly suggest as you monitor the job and these changes would be to implement and monitor some of the built-in metrics that Flink provides out of the box with regards to memory/JVM. Using these with some type of visualization tool (e.g., Prometheus, Grafana, etc.) would allow you to easily monitor things like the JobManager, Changelog, Checkpointing, etc.
Definitely check out:
Any/all memory-related metrics (or just JobManager in general too)
Any/all changelog-related metrics
Checkpointing sizes/durations
RocksDB metrics (these need to be enabled separately)
Questions
As far as your questions go -- I'll try to give a few possible explanations:
Please help me understand why would checkpointing consume such large buffers gradually? Even then why aren't they getting released?
tl;dr: there's a lot more moving pieces to the puzzle when checkpointing is enabled that can impact memory pressure (even gradually) in a consistently flowing system
So there's a lot of things at play when checkpointing is enabled (vs. why things are rainbows and butterflies when it's disabled). Checkpointing is going to bring RocksDB into the picture which has a native memory impact with each checkpoint this in conjunction with the changelog could apply a quite a bit more pressure for the changelog-related segments as well.
Many of these things can stick around much longer than expected if data is continually flowing at scale into the system and may require tuning. RocksDB, for example, does a decent job at cleanup during its compaction process, however if the job is busy 24/7 it may never have the opportunity to do so, especially with all of the checkpointing operations and state being interacted with.
What exactly is getting stored in this buffer memory by checkpoint co-ordinator?
Obviously there's things like just direct memory like Netty, checkpoint buffers for your filesystem, tons of RocksDB related things (e.g, cache, tables, changelog, etc.), and the changelog has its own series of content.
How can i handle this issue or apply tuning so that this wouldn't occur? What can be my next steps of action to try out and resolve this?
Combining these two as this is already way too long, but hopefully some of the configurations that I provided above can help relieve the issue. Checkpointing and OOM type errors can be really nasty to troubleshoot, even when you know the ins/outs of a given job, but I'll keep my fingers crossed for you.
i added this line and its work
just exclude the libraries which is not in your code
packagingOptions {
exclude "lib/**/libmodpdfium.so"
exclude "lib/**/libmodft2.so"
exclude "lib/**/libmodpng.so"
}
See Passing variable number of arguments around
Make sure to also read the linked questions.
NOTE: Only is a comment about the solucion of Naren, not the solución, but I feel that it's not clear if I use a comment.
@Naren, it's not necesary convert to FormControl an abstractControl if you indicate in the function if the FormArray is a FormArray of FormControls (use FormArray<FormControl>) or FormArray of FormGroups (use FormArray<FormGroup>). I think remember that this works on Angular 19 but not pretty sure (time pass so quickly...)
In this case is a FormArray of FormControls, so:
getDates(attendanceForm: AbstractControl<any>): FormArray<FormControl> {
return attendanceForm.get('dates') as FormArray<FormControl>;
}
Now you can use in .html directly [formControl]=date
@for(date of getDates(attendanceFormGroup).controls;let idx=$index;track idx) {
...
<input [id]="'lessonTitle' + i" type="text" [formControl]="date" >
}
I have already reached out but it seems that for a free tier user, they don't provide any support
The `tab_model` function in the SjPlot package might be helpful. It prints the results into a nice html table with lots of options to customise as you like.
https://www.rdocumentation.org/packages/sjPlot/versions/2.8.17/topics/tab_model
@463035818_is_not_an_ai I agreee with you. But in my case an empty map or no map is not the same information. The optional having a value indicates that an action is required, even with an empty map.
Is a pointer all that's needed? Why does my code work anyway when I attempt to run it? And what does passing a pointer change since I'm passing ap as a direct value to va_arg anyway, and not by its address?
i would reach out to gitlab for support
I had the same error, and it went away after I excluded the integration tests from mutation testing.
As far as I understand, the fact is that integration tests are not intended for mutation testing at all, because they are too "heavy"
Therefore, the conclusion is this: check if you have integration tests or unit tests that take too long to run for any reason, and exclude them!
I used this:
document.querySelectorAll('input[type="checkbox"]').forEach(function(element){element.checked=false});
I admit, this is sort of aramgeddon weapon, but if a page is meant to give me only things to read...
With https://github.com/adamtheturtle/sphinx-substitution-extensions you can do:
.. image:: path/to/|OTHER_REPO|_diagram.png
:path-substitutions:
Yes, I desire a completely explicit system.
When you say "larger components" you are saying instead of making a group of smaller components, making a single (Jax)ExplicitComponent with all of the physics? My concern is primarily swapping out aero models (rocket vs airplane) but I suppose you can still abstract that functionality away in another class that is called by the ExplicitComponent.
Question answered here : https://github.com/jpmml/sklearn2pmml/issues/466
TLDR : Version of sklearn2pmml is too old. Find in their github the file requirements.txt of your version of sklearn2pmml, and adapt all other libraries to the ones on the file
You are mistaken. Git supports "nested branching", a branch in a branch.
transactions are best solution for hear
https://docs.nestjs.com/techniques/database#typeorm-transactions