// Source - https://stackoverflow.com/a/18760472
// Posted by torap, modified by community. See post 'Timeline' for change history
// Retrieved 2025-11-14, License - CC BY-SA 3.0
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { if (textField.tag == 8) {
NSCharacterSet *numSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789-"];
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
int charCount = [newString length];
if (charCount == 3 || charCount == 7) {
if ([string isEqualToString:@""]){
return YES;
}else{
newString = [newString stringByAppendingString:@"-"];
}
}
if (charCount == 4 || charCount == 8) {
if (![string isEqualToString:@"-"]){
newString = [newString substringToIndex:[newString length]-1];
newString = [newString stringByAppendingString:@"-"];
}
}
if ([newString rangeOfCharacterFromSet:[numSet invertedSet]].location != NSNotFound
|| [string rangeOfString:@"-"].location != NSNotFound
|| charCount > 12) {
return NO;
}
textField.text = newString;
return NO;
}
return YES;}
I dont know avr specifics much, so hope someone will provide better answer.
Interrupts internally are just table (think array of pointers to functions) that cpu uses to jump to on interrupt, like gpio 1 is index interrupts[GPIOISR+1].
You can register same function for all of them, but then you need to know which one triggered, which would be reading some interrupt mask register, avr specific. Thats more complex and less portable code than declaring functions, and you still need map of registry bit = interrupt number, this doesnt shorten code much, same amount of lines
Its possible to also dynamically generate functions in runtime, but not on avr ( non executable ram), and thats overengineering
You could make macro to define function, to make handler code somewhat easier to modify
DEF_BTN_HDLR(1);
DEF_BTN_HDLR(2);
I personally prefer polling for buttons, as polling with some interval around ~50ms automatically does debouncing of switches, there isnt much point for interrupts if you dont have latency requirements. Also, dont arduino has very limited gpio interrupt count? Would you realistically have more than 10 buttons this way?
Take a look at this project (on GitHub) using ASPNET Core, SignalR & WebRTC.
https://github.com/VeritasSoftware/WebRTC
It has a .NET Server library and Client libraries for Angular, React & Blazor.
These Client libraries provide high-level API for simplified WebRTC operations.
Manually add the environment variable:
name= ENABLE_XAML_DIAGNOSTICS_SOURCE_INFO
value= 1
to the user variables.
It work fine for me !
The default dpi in Pillow is 72, not 96, so the correct code is:
from PIL import Image, ImageDraw, ImageFont
fontSize = 12
fontSize *= 220/72 ## adjust from PIL dpi to word dpi\
font = ImageFont.truetype("TR Times New Roman Regular.ttf", size=fontSize)
im = Image.new("RGB", (100,100), "black")
draw = ImageDraw.Draw(im)
draw.text((10,40),"example text", fill="white", font = font)
im.show()
im.save("output.png", dpi=(220,220))
public static int dollarsToCents(BigDecimal dollars) {
return dollars.multiply(new BigDecimal("100"))
.setScale(0, RoundingMode.HALF_UP)
.intValue();
}
Ugh, I tried to upvote this, but it was on my phone and I hit the wrong small button, so it's a downvote. And apparently they didn't implement changing view votes yet, so I can't fix it! Sorry.
Most official sources don’t publish a proper real-time feed, so getting releases the moment they drop usually means scraping each central bank or stats agency yourself, which is brittle and slower than you’d expect. That’s why the economic-calendar sites use their own aggregation layers rather than the raw government pages.
If you just need clean, real-time macro data for FX (rates, inflation, employment, GDP, etc.), I built an API FXMacroData that pulls everything directly from the primary announcements and normalises it. The dashboard screenshot shows how the latest interest-rate and CPI values are captured as they’re released. You can call it from MQL4 with simple HTTP requests, so it saves you dealing with a dozen different sources and formats.
I was facing this issue in my Vite React application for a while as well until I started using this Vite plugin; subat. I just set it up in my Vite config and didn't need to worry about it anymore.
It has plugins for other bundlers as well(including Rollup and Webpack) so it should prove useful.
What do you consider an "outer point"? You could start with a convex hull, and then (for example) examine and potentially add other points near its surface (for some value of "near") but right now, it's hard to guess what you really want.
In my case, I had both app/page.tsx and app/(page.tsx) which conflicted with each other since route groups (public) don't affect the URL path. Just deleted page.tsx and the Vercel build succeeded.
You asked about a disconnection, which the other answer doesn't really seem to address.
What release of Helidon are you using? Release 3 and earlier used Netty for the webserver. Helidon 4 includes its own webserver based on Java virtual threads, so the ultimate answer to your question might be different depending on which release is in play.
Still we need to create monitors/alerts based on the duration...
I even have the same problem even if I start making new Virtual Devices. Is this a bug or is it real?
what was the size of the original image. I you have a 425MP image would this still work or would it be better to implement a tiling pipeline?
I'm having a problem similar to one you had years ago...
I'm developing a tool to store the biometric data of a signer inside the PDF along with the digital signature, but I'm not finding where to store them.
At first I saved them in custom metadata, but I don't think that's good practice…
I'm trying to store them in the signature dictionary, but Adobe tells me the signature is invalid.
I also tried saving them in an extended DSS, but if someone changes it, the signature wouldn't be invalidated.
I understand that the correct approach would be to store them somewhere in the self-contained PDF, encrypted, so that if it's modified the signature becomes invalid…
After so many years, were you able to find a correct way to do it? Thank you very much!
FOR APPLE IOS APPS... Yeah, I don't quite understand? You have to add whatever domain you are using to you Apple Developer Account, at the 🔴Marketing URL is to contian the URL link to where that app-ads.txt file is to be hosted. So you have to add that at that domain to your App. Which you can only do just before the app is reviewed and released, you can't change the Marketing URL after the app has been released. RIGHT?
if (StateA || StateB) {
DoSomething();
}
if (StateB) {
DoSomethingElse();
}
I switch useState to Pinia, it works properly!.
@LMC If the tty just shows stdout on the associated console, that still leaves open the question of why stty echo only effects user input and not normal bash output.
MATCH (a:X { id: 1 })
MATCH (b:Y { id: 2 })
MATCH (c:Z { id: 4 })
MERGE (a)-[:HAS]->(d:W {id: 6})<-[:HAS]-(b)
MERGE (d)<-[:HAS]-(c)
@Ted Lyngmo, The new Stackoverflow UI required me to select from among a limited number of options, and this did not seem like troubleshooting per se, so I picked the closest thing I could find. It looks like it changed the UI, so maybe that was a bad idea. :(
I'm going to delete this question and ask it under the traditional format. I dislike how this format blurs the comments and answers. :(
s3 allows you to store both system-defined and user-defined metadata about the object you store. System-defined metadata fields cover some important headers like include Content-Type, Cache-Control, Content-Disposition, Content-Encoding, and Content-Language; however, you can define custom metadata fields to cover other headers you need to store. So, yes, s3 is well suited to your task.
The problem is related to the default HttpClientHandler. Using SocketsHttpHandler I solved the problem.
It's now possible to connect to Colab from VS Code using the official extension.
Thanks Korgen, that is very helpful. I think that's mostly okay for 99% of the cases, but I'm still unsure about the case where you build an app for doctors/lawyers in Germany where section 203 (professional secrets) states that subcontractors must be contractually bound to secrecy. So if my app uses an LLM hosted in AWS, it sounds like we need AWS to be contractually bound to secrecy under § 203 StGB?
I have found Gemini to be slow when the prompt is complex. to improve on its speed make the prompt with less constraint it has to solve on its own
Why is this posted as "Advice" rather than a normal Q&A? I'm unfamiliar with this new "Advice" thing. Is that something you as a poster selected?
Grant IntelliJ IDEA OAuth app access to your GitHub organization under Authorized OAuth Apps in your GitHub profile settings. Once approved, PRs show up normally in IntelliJ.
This error is not about Git itself (fetch/push/pull work fine) but about how IntelliJ’s GitHub plugin talks to the GitHub GraphQL API to fetch pull requests. For private repositories inside an organization, the plugin needs explicit OAuth authorization to access the org’s repos otherwise fails with an error like mentioned in the question.
Go to your GitHub profile in the browser:
Find IntelliJ IDEA (or JetBrains IDE Integration) in the list.
Click it, and grant access to your organization where your repo belongs to.
Restart IntelliJ IDEA and re-open the Pull Requests tool window.
After granting org access, the plugin can query the repo via GraphQL and the PR list loads correctly.
Git operations use your local credentials/SSH keys, so they work fine.
The PR tool window uses GitHub’s GraphQL API via OAuth.
If the org restricts third‑party app access, IntelliJ must be explicitly authorized for that org.
If you try to boost your SEO, you should return respective status code with a not found page. See there.
Set status: 404 in your server routes like that:
export const serverRoutes: Routes = [
// ... your existing routes
{ path: '**', renderMode: RenderMode.Client, status: 404 },
];
To my best knowledge
On startup, call a function to check the latest version from GitHub or a URL where version info is served.
Example: https://api.github.com/repos/ozkanpakdil/swaggerific/releases/latest
If there’s a new version, ask the user to update (Y/n).
If user hit Y, download the zip and overwrite the current install.
Be careful about the path the CLI needs correct access to write there.
Restart the CLI with the same parameters so it continues what the user requested.
I saw this flow in 2009 in a windows application. If you have MSI to deliver this may change but steps will be similar. Here there are many different examples.
@Wery848 Said it best in my opinion. Assuming that the program is either in state A or B at all times, you can completely avoid having the first if statement and just check if state B is active after running DoSomething(); . This also would reinforce the idea that there would only be state A and B which is not abundantly clear (for those reading your code) in your method above. This is of course entirely dependent on that fact.
I believe whatever random GUID generator you are using isn't truly random, or, your HashKeyRange values for each shard are not actually evenly distributed, as is highlighted in this question: Kinesis partition key falls always in the same shard
To add to what @teapot418 said, the very few results that appear for the search of DFSVisit (in quotes, i.e., exact match) have it as the name of a helper function that helps implement DFS. It is not standardized or well-known.
You may want to check Speed of mysql query on tables containing blob depends on filesystem cache for more information on how blob fields are handled by MySql and what may be affecting your performance.
I would simply just do:
ax.shape
get it, a convex hull wold get just some of the outer points, thanks
so any idea about how it can be done?
That is not a convex hull, because ..it's not convex.
I got it working, it wasn't a linker problem but an implementation problem.
For Segger Systemview to run on ARM CM0 the user needs to implement the SEGGER_SYSVIEW_X_GetTimestamp() function.
While looking for a solution on github I came across this solution. Refer these 2 comits, Commit 866d39c and Commit 8cd0165
Keep in mind the function void xPortSysTickHandler( void ) is renamed to SysTick_Handler( void ) in recent versions of FreeRTOS in the file port.c of CM0
With above implementation its working fine for me, below are the library versions that I'm using.
For SQL MI, you would have Login auditing under Security of the Instance Properties.
The main google hit for 'DFSVisit' is your question. I don't think this is a well-known term. Assume that we don't know what that is and try adding a bit more detail about what you mean.
It's Base64 of a PNG. The PNG is a QR code for a bitcoin address (or so it claims). It's not "malware," though I question the motives of whoever created it.
Yes, how do I set the value of public List Tags { get; } = []; and public List Posts { get; } = []; while those two do not have the set; There is something I don't get in the .net example in the documentation
This is BASE64 encoding, as currently described in RFC-4648.
For whatever language you're using, just look up base64 in that language's standard library; you should find it.
I don't know what is it and I'm affraid it may be malware
That looks like it's standard base64 encoding, but after you run it through a base64 decoder, what are you going to do with it? Do you know what type of data it is?
What do you mean by "how do I set the value?" Which value? And by "set" do you mean a DbSet<Post> and DbSet<Tag>?
I know this is an old question, but I bumped into this issue today while tinkering, and the problem ultimately was the guy in the chair, not the code on the screen.
After trying all the suggestions, I found that this:
https://google.com
did not work, while this:
https://www.google.com
did. It's a silly error on my part, but then again with how smart modern browsers can be, I can't remember the last time I had to actually type the www portion of a URL.
Push the APK to /system/priv-app/ during ROM build
Set proper permissions in the manifest - Add this attribute to your <application> tag:
android:persistent="true"
I want it to be just a polyhedron with all the outer vertices, something like this image, I think a convex hull would do the job, any hints on where I can start learning?
En que parte esta la respuesta completa tengo el mismo problema ya encontraron la solución
Any random cloud of dots can be made into almost any kind of shape, so what are your expectations? Does it need to be a convex hull? Or minimal surface, or star like, bunny like? I think your question lacks clarity at the moment. Or do you mean the dots are corners of platonic solids?
You need to use a session, and it needs to be modified to disable the ordinary behavior:
class ForwardedSession(requests.Session):
def rebuild_auth(request, response):
return
with ForwardSession() as session:
response = session.put("http://forwarded_url", auth=(user, password))
https://colab.research.google.com/drive/1_i9mGaoR0e1D9XILsD2kQOcMTwdJkhCM?usp=sharing
this is the coding that i currently have
This was an amazing solution for my problem, thank you very much.🙏
I don't think I would have ever come up with that hahaha. You're great!
I don't want to bother you anymore.. but I just have one last question, I'm still trying to understand that type Id<T> at the beginning, why does it matter so much to wrap the Partial<> with it?
Short answer: You can’t—and shouldn’t—bypass Google’s CAPTCHA using Selenium.
Google’s reCAPTCHA is explicitly designed to detect automation tools like Selenium. It uses advanced fingerprinting (browser behavior, mouse movement, timing, IP reputation) to flag non-human interactions. Even if you manage to load the page, you’ll likely get stuck at the CAPTCHA challenge or be blocked entirely.
If you’re working on a real project and hitting CAPTCHA walls, here are some ethical and technically sound alternatives:
If your goal is to access Google services (like search, maps, or YouTube), use their APIs:
These are rate-limited but reliable and legal.
If you’re automating a third-party site (with permission), reduce the chances of triggering CAPTCHA:
from selenium import webdriver
import time, random
options = webdriver.ChromeOptions()
options.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(options=options)
driver.get("https://example.com")
time.sleep(random.uniform(3, 6)) # Randomized delay
pyautogui)These won’t bypass CAPTCHA, but they may reduce how often it appears.
If you’re authorized to access a site and CAPTCHA is a barrier:
If you’re stuck on a specific automation problem — like form submission, browser fingerprinting, or ethical scraping — feel free to ask. Just steer clear of bypassing security mechanisms. Stack Overflow is about building things the right way, and contributing solutions that respect both technical boundaries and platform policies.
I have found the answer on 2nd question: string constant can be added by sentence:
#.{"string":!"str"}
But is it possible to set default value?
Don't do this in SQL or PL/SQL, use your application.
Check this answer, pretty well explained
https://medium.com/@slavo3dev/understanding-different-ways-to-define-components-in-react-export-function-app-vs-export-6b374fd1c94c
Execute this script to fix this:
#!/bin/bash
# Script para fazer downgrade do Docker Engine
# Uso: sudo ./docker-downgrade.sh [versão]
# Exemplo: sudo ./docker-downgrade.sh 5:27.5.1-1~ubuntu.22.04~jammy
set -e # Parar em caso de erro
# Cores para output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Versão padrão (você pode mudar aqui ou passar como argumento)
DEFAULT_VERSION="5:27.5.1-1~ubuntu.22.04~jammy"
VERSION="${1:-$DEFAULT_VERSION}"
echo -e "${YELLOW}=== Docker Engine Downgrade Script ===${NC}"
echo -e "Versão alvo: ${GREEN}$VERSION${NC}"
echo ""
# Verificar se está rodando como root
if [ "$EUID" -ne 0 ]; then
echo -e "${RED}ERRO: Este script precisa ser executado como root (use sudo)${NC}"
exit 1
fi
# Mostrar versão atual
echo -e "${YELLOW}=== Versão atual do Docker ===${NC}"
docker version 2>/dev/null || echo "Docker não está rodando ou não está instalado"
echo ""
# Confirmar com o usuário
echo -e "${YELLOW}=== AVISO ===${NC}"
echo "Este script irá:"
echo " 1. Fazer backup da configuração atual"
echo " 2. Parar o Docker"
echo " 3. Remover a versão atual"
echo " 4. Instalar a versão $VERSION"
echo " 5. Bloquear atualizações automáticas"
echo ""
read -p "Deseja continuar? (s/N) " -n 1 -r
echo ""
if [[ ! $REPLY =~ ^[Ss]$ ]]; then
echo -e "${RED}Operação cancelada pelo usuário${NC}"
exit 1
fi
# Verificar se há containers rodando
echo -e "${YELLOW}=== Verificando containers em execução ===${NC}"
RUNNING_CONTAINERS=$(docker ps -q 2>/dev/null | wc -l)
if [ "$RUNNING_CONTAINERS" -gt 0 ]; then
echo -e "${YELLOW}AVISO: Há $RUNNING_CONTAINERS container(s) em execução${NC}"
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
echo ""
read -p "Deseja parar os containers antes de continuar? (s/N) " -n 1 -r
echo ""
if [[ $REPLY =~ ^[Ss]$ ]]; then
echo "Parando containers..."
docker compose down 2>/dev/null || docker stop $(docker ps -q) 2>/dev/null || true
fi
fi
echo ""
# Backup da configuração
echo -e "${YELLOW}=== Fazendo backup da configuração atual ===${NC}"
BACKUP_DIR="/etc/docker.backup.$(date +%Y%m%d_%H%M%S)"
if [ -d "/etc/docker" ]; then
cp -r /etc/docker "$BACKUP_DIR"
echo -e "${GREEN}✓ Backup criado em: $BACKUP_DIR${NC}"
else
echo -e "${YELLOW}⚠ Diretório /etc/docker não existe, pulando backup${NC}"
fi
echo ""
# Parar o Docker
echo -e "${YELLOW}=== Parando Docker ===${NC}"
systemctl stop docker.socket 2>/dev/null || true
systemctl stop docker 2>/dev/null || true
echo -e "${GREEN}✓ Docker parado${NC}"
echo ""
# Remover versão atual
echo -e "${YELLOW}=== Removendo versão atual ===${NC}"
apt-mark unhold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 2>/dev/null || true
apt-get remove -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin 2>/dev/null || true
echo -e "${GREEN}✓ Versão atual removida${NC}"
echo ""
# Verificar se a versão existe no repositório
echo -e "${YELLOW}=== Verificando disponibilidade da versão ===${NC}"
if ! apt-cache madison docker-ce | grep -q "$VERSION"; then
echo -e "${RED}ERRO: Versão $VERSION não encontrada no repositório${NC}"
echo ""
echo "Versões disponíveis:"
apt-cache madison docker-ce | head -10
exit 1
fi
echo -e "${GREEN}✓ Versão encontrada no repositório${NC}"
echo ""
# Instalar versão específica
echo -e "${YELLOW}=== Instalando versão $VERSION ===${NC}"
apt-get update -qq
apt-get install -y \
docker-ce=$VERSION \
docker-ce-cli=$VERSION \
containerd.io \
docker-buildx-plugin \
docker-compose-plugin
echo -e "${GREEN}✓ Nova versão instalada${NC}"
echo ""
# Bloquear atualizações automáticas
echo -e "${YELLOW}=== Bloqueando atualizações automáticas ===${NC}"
apt-mark hold docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
echo -e "${GREEN}✓ Pacotes bloqueados para atualização${NC}"
echo ""
# Iniciar Docker
echo -e "${YELLOW}=== Iniciando Docker ===${NC}"
systemctl start docker
systemctl enable docker
echo -e "${GREEN}✓ Docker iniciado${NC}"
echo ""
# Aguardar Docker inicializar
echo "Aguardando Docker inicializar..."
sleep 3
# Verificar instalação
echo -e "${YELLOW}=== Verificando instalação ===${NC}"
if docker version &>/dev/null; then
echo -e "${GREEN}✓ Docker está funcionando corretamente${NC}"
echo ""
docker version
else
echo -e "${RED}✗ ERRO: Docker não está funcionando corretamente${NC}"
echo "Verifique os logs com: sudo journalctl -u docker -n 50"
exit 1
fi
echo ""
echo -e "${GREEN}=== Downgrade concluído com sucesso! ===${NC}"
echo ""
echo "Próximos passos:"
echo " 1. Se você parou os containers, inicie-os novamente com: docker compose up -d"
echo " 2. Para desbloquear atualizações futuras: sudo apt-mark unhold docker-ce docker-ce-cli"
echo " 3. Backup da configuração anterior em: $BACKUP_DIR"
echo ""
ADAPTER = CloudAdapter(ConfigurationBotFrameworkAuthentication(CONFIG))
what should be inside Config
somebody Please help me on this
import asyncio
import json
from aiohttp import web
from botbuilder.core import TurnContext
from botbuilder.integration.aiohttp import CloudAdapter, ConfigurationBotFrameworkAuthentication
from botbuilder.schema import Activity
import jwt # pip install pyjwt
# ----- Bot configuration -----
CONFIG = {
"appId": "",
"appSecret": ""
}
# Setup Bot Authentication
bot_auth = ConfigurationBotFrameworkAuthentication(CONFIG)
# Create Cloud Adapter
adapter = CloudAdapter(bot_auth)
# ----- Bot logic -----
async def bot_logic(turn_context: TurnContext):
if turn_context.activity.type == "message":
await turn_context.send_activity(f"You said: {turn_context.activity.text}")
else:
await turn_context.send_activity(f"[{turn_context.activity.type} event received]")
# ----- HTTP request handler -----
async def messages(req: web.Request) -> web.Response:
# Print headers
print("\n--- Headers ---")
for k, v in req.headers.items():
print(f"{k}: {v}")
# Print incoming JSON
body = await req.json()
print("\n--- Incoming Activity ---")
print(json.dumps(body, indent=4))
# Print and decode Authorization header
auth_header = req.headers.get("Authorization", "")
print("\n--- Authorization Header ---")
print(auth_header)
if auth_header.startswith("Bearer "):
token = auth_header[7:]
try:
decoded = jwt.decode(token, options={"verify_signature": False})
print("\n--- Decoded JWT Token ---")
print(json.dumps(decoded, indent=4))
except Exception as e:
print("Error decoding JWT token:", e)
# Deserialize Activity
activity = Activity().deserialize(body)
# Process the activity
try:
await adapter.process_activity(auth_header, activity, bot_logic)
except Exception as e:
print("\n--- Adapter Error ---")
print(e)
return web.json_response({"status": "ok"})
# ----- Setup web server -----
app = web.Application()
app.router.add_post("/api/messages", messages)
if __name__ == "__main__":
print("======= Running on http://localhost:3978 =======")
web.run_app(app, host="0.0.0.0", port=3978)
I gave config something like this
I could find proper documentation for cloud adaptor
[Errno Unauthorized. Invalid AppId passed on token: ]
I'm getting unauthorized error. Due to app id is passed as None while creating cloudadaptor. Even though I gave proper app id it's not aligning properly
I updated ggdist to version 3.3.3 and no longer had this issue.
I am working in R on Mac and have a related question.
I first had the same error as described above.
Run this code in the R console before deploying the app:
install.packages("plotly", repos = "https://cran.rstudio.com/")
Include this code at the beginning of |app.R"
library(ggplot2) # dependency
library(stats) # dependency
library(graphics) # dependency
library(plotly)
I am still trying to deploy an app that includes a plotly figure on shinyapps.io. When running the app locally, it works fine. However, when deploying the app on shinyapps.io, I get this error:
Error in plotlyOutput("name_of_sunburst_plot")
could not find function "plotlyOutput"
In ui, I use:
sunburst_finance_count
})
tabPanel("Panel name",
h4("TextText"),
p("TextText."),
plotly::plotlyOutput(outputID="instruments_sunburst"
# , height = "800px"
)),
In server, I use the following code (sunburstDF and custom_colors are defined in global.R)
output$instruments_sunburst <- renderPlotly({
sunburst_finance_count <-
plot_ly(
data = sunburstDF_inst,
ids = ~ids,
labels = ~labels,
parents = ~parents,
values = ~values,
type = 'sunburst',
branchvalues = 'total',
hoverinfo = 'text',
textinfo = 'label+percent parent', # Add the count to the textinfo by adding +value
hovertext = ~hoverinfo,
insidetextorientation = "radial", # Adjust text orientation
marker = list(
colors = custom_colors_instruments # Apply the custom color scale
)
)
})
I appreciate any advice on how to address this error.
Show us the complete HTTP requests for both situations. Is there a difference in what each method is doing?
yo creo que a la hora de usar componentes de Bootstrap es difícil de editarlos estilos de estos mismos, pero se puede por medio del mismo Bootstrap, USANDO EL CODIGO DE BOOTSTRAP PODEMOS CAMBIAR EL COLOR DEL BORDER USANDO LA CLASE BORDER BORDER-WHITE
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<main class="bg-black">
<div class="card border border-white" style="width: 800px; border-radius: 23px; background-color: rgb(35, 33, 33); color: white;">
<h5 class="card-header" style="color: white">Time Managing</h5>
<div class="card-body" style="color: white">
<h5 class="card-title">PRIMER TITULO</h5>
<p class="card-text">CONTENIDO</p>
<a href="#" class="btn btn-primary">MAS</a>
</div>
</div>
</main>
To this day I suspect it’s related to my home router or ISP (though I can’t prove it).
It works fine on other connections like my mobile hotspot or office network.
Switching to Cloudflare DNS didn’t help.
The only workaround I’ve found is disabling:
Docker Desktop → Settings → General → "Use containerd for pulling and storing images"
Kevin from the Colab team. We just released an open source VS Code extension for connecting notebooks in VS Code to Colab runtimes. Give it a try and let me know what you think - here, or on the GitHub repo's discussions or issues.
This is not relevant to the question though, anybody coming here knows this
I like to clarify usage:
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_MY_PACKAGE=$VERSION
That means if I have in pyproject.toml:
[project]
name = "qc-iodata"
the right forms is:
SETUPTOOLS_SCM_PRETEND_VERSION_FOR_QC_IODATA
So I can do in bash:
export SETUPTOOLS_SCM_PRETEND_VERSION_FOR_QC_IODATA=1.0.0a8
https://www.baeldung.com/java-custom-truststore article with a very similar code approach. Suggests another simple option: merge the system keystore with yours. (presumably needs to be re-run after system updates)
"Statics" get turned into object instances when the number of parameters used to transport state becomes an issue. The alternative then is to create the object; "modify it"; then fire it off. You then might find it is re-useable after all. I like delegates for inserting custom logic in an inner loop (action delegate); or adding a "where" function delegate to a LINQ query that can be called by many different callers. But this also evolves over time as patterns become more evident.
thanks, and i can turn the date and time into a timestamp manually and set it as the index of the dataframe for then render that into a plotly line for example?
En react los componentes select y option son nativos, no se les puede dar la personalización que se le quisiera dar, pero es posible atreves de muchas alternativas, por ejemplo a mi se me ocurrió: switch case para manejar el estado isClose, setIsClose, así seteamos los datos y hacemos que aparzma nuestro menu cuando queramos
aqui es en html pero seria algo similar, lo e sacado de un proyecto de mi escuela, espero te sirva
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Menú JS Puro</title>
</head>
<body>
<div id="root"></div>
<script>
document.addEventListener('DOMContentLoaded', function() {
function crearMenuConJavaScriptPuro() {
let seccionActiva = 'inicio';
let isClose = true;
const actualizarContenido = (contenidoElemento, botones) => {
switch (seccionActiva) {
case 'inicio':
contenidoElemento.innerHTML = '<h3>Página Principal</h3><p>Haz clic en el botón para desplegar las opciones.</p>';
break;
case 'productos':
contenidoElemento.innerHTML = '<h3>Nuestros Productos</h3><ul><li>Laptop Pro - $1200</li><li>Monitor Ultra HD - $350</li></ul>';
break;
case 'contacto':
contenidoElemento.innerHTML = '<h3>Contáctanos</h3><p>[email protected]</p>';
break;
}
botones.forEach(btn => {
btn.style.backgroundColor = 'white';
btn.style.color = '#007bff';
btn.style.fontWeight = 'normal';
if (btn.dataset.seccion === seccionActiva) {
btn.style.backgroundColor = '#007bff';
btn.style.color = 'white';
btn.style.fontWeight = 'bold';
}
});
};
const toggleMenu = (navLinksElemento, toggleBtnElemento) => {
isClose = !isClose;
navLinksElemento.style.display = isClose ? 'none' : 'flex';
toggleBtnElemento.textContent = isClose ? 'Abrir' : 'Cerrar';
};
const estilos = {
contenedor: {
fontFamily: 'Arial, sans-serif',
maxWidth: '600px',
margin: '20px auto',
border: '1px solid #ccc',
padding: '15px',
borderRadius: '8px',
},
navBar: {
display: 'flex',
alignItems: 'center',
justifyContent: 'space-between',
paddingBottom: '10px',
},
navLinks: {
display: 'none',
flexDirection: 'column',
gap: '5px',
marginTop: '10px',
paddingTop: '10px',
borderTop: '1px solid #eee',
},
toggleButton: {
padding: '10px 15px',
border: '1px solid #333',
backgroundColor: '#f0f0f0',
cursor: 'pointer',
borderRadius: '4px',
fontWeight: 'bold',
},
botonBase: {
padding: '10px 15px',
border: '1px solid #007bff',
backgroundColor: '#fff',
color: '#007bff',
cursor: 'pointer',
borderRadius: '4px',
transition: 'background-color 0.3s, color 0.3s',
textAlign: 'left',
},
botonActivo: {
backgroundColor: '#007bff',
color: 'white',
fontWeight: 'bold',
},
contenido: {
marginTop: '15px',
padding: '10px',
border: '1px solid #eee',
borderRadius: '4px',
},
};
const menuContainer = document.createElement('div');
Object.assign(menuContainer.style, estilos.contenedor);
const navBar = document.createElement('div');
Object.assign(navBar.style, estilos.navBar);
const title = document.createElement('span');
title.textContent = 'Menú Principal';
Object.assign(title.style, {fontWeight: 'bold', fontSize: '1.2em'});
const toggleBtn = document.createElement('button');
toggleBtn.id = 'toggleButton';
toggleBtn.textContent = 'Abrir';
Object.assign(toggleBtn.style, estilos.toggleButton);
const navLinks = document.createElement('nav');
navLinks.id = 'navLinks';
Object.assign(navLinks.style, estilos.navLinks);
const mainContent = document.createElement('main');
mainContent.id = 'menuContenido';
Object.assign(mainContent.style, estilos.contenido);
navBar.appendChild(title);
navBar.appendChild(toggleBtn);
menuContainer.appendChild(navBar);
const botonesSeccion = [];
const secciones = ['inicio', 'productos', 'contacto'];
secciones.forEach(seccion => {
const btn = document.createElement('button');
btn.textContent = seccion.charAt(0).toUpperCase() + seccion.slice(1);
btn.className = 'menu-button';
btn.dataset.seccion = seccion;
Object.assign(btn.style, estilos.botonBase);
btn.addEventListener('click', () => {
seccionActiva = seccion;
actualizarContenido(mainContent, botonesSeccion);
});
navLinks.appendChild(btn);
botonesSeccion.push(btn);
});
menuContainer.appendChild(navLinks);
const hr = document.createElement('hr');
Object.assign(hr.style, { border: 'none', height: '1px', backgroundColor: '#ccc', margin: '15px 0' });
menuContainer.appendChild(hr);
menuContainer.appendChild(mainContent);
toggleBtn.addEventListener('click', () => toggleMenu(navLinks, toggleBtn));
actualizarContenido(mainContent, botonesSeccion);
return menuContainer;
}
const rootElement = document.getElementById('root');
if (rootElement) {
rootElement.appendChild(crearMenuConJavaScriptPuro());
}
});
</script>
</body>
</html>
Your two snippets are not equivalent as pointed out by @canton7.
That being said, this looks like a X-Y-Question and my advice would be to ask the actual question in Q&A Format.
I am almost certainly going to get told off as this isn't a CrossValidated post, but from a statistical perspective, don't.
See: https://en.wikipedia.org/wiki/Multiple_comparisons_problem
@canton7 That snippet is not equivalent, though. It would execute DoSomethingElse() if both are true, while the original does not.
In C you'd also have the option of a switch fall-through (admitting DoSomethingElse() doesn't require DoSomething() to be executed first) but C# doesn't allow for it. But, going from the name, are you writing a state machine? If so, you always have the choice of having the two blocks being methods called on your current state and which potentially returns the next state. Which could be better (or not) depending on if you have, say, other states calling only DoSomethingElse() and how many states you have in total.
One approch to fix this is to use one more dashed line with same background as of page background.
Please refer to following code (its same as of you just some changes):
import { useEffect, useLayoutEffect, useRef, useState } from "react";
import gsap from "gsap";
interface BoxItem {
label: string;
color: string;
}
interface Line {
x1: number;
y1: number;
x2: number;
y2: number;
}
const boxData: BoxItem[] = [
{ label: "Event", color: "#ff6b6b" },
{ label: "Date", color: "#4dabf7" },
{ label: "Fuel", color: "#f06595" },
{ label: "Message", color: "#51cf66" },
{ label: "Work", color: "#d0bfff" },
{ label: "Data", color: "#74c0fc" },
{ label: "Food", color: "#ffd43b" },
{ label: "Style", color: "#ced4da" },
];
export default function Home() {
const containerRef = useRef<HTMLDivElement | null>(null);
const centerBoxRef = useRef<HTMLDivElement | null>(null);
const boxRefs = useRef<(HTMLDivElement | null)[]>([]);
const [lines, setLines] = useState<Line[]>([]);
const [dimensions, setDimensions] = useState({ width: 0, height: 0 });
const [activeLines, setActiveLines] = useState<Record<number, boolean>>({});
const timeoutRefs = useRef<any>({});
const animatingLines = useRef<Set<number>>(new Set());
// Track container size
useEffect(() => {
const updateDimensions = () => {
if (containerRef.current) {
setDimensions({
width: containerRef.current.offsetWidth,
height: containerRef.current.offsetHeight,
});
}
};
updateDimensions();
window.addEventListener("resize", updateDimensions);
return () => window.removeEventListener("resize", updateDimensions);
}, []);
// Calculate line positions
useLayoutEffect(() => {
const updateLines = () => {
if (!centerBoxRef.current || !containerRef.current) return;
const containerRect = containerRef.current.getBoundingClientRect();
const centerRect = centerBoxRef.current.getBoundingClientRect();
const centerX = centerRect.left - containerRect.left + centerRect.width / 2;
const centerY = centerRect.top - containerRect.top + centerRect.height / 2;
const newLines: Line[] = boxRefs.current.map((box) => {
if (!box) return { x1: 0, y1: 0, x2: 0, y2: 0 };
const boxRect = box.getBoundingClientRect();
const x2 = boxRect.left - containerRect.left + boxRect.width / 2;
const y2 = boxRect.top - containerRect.top + boxRect.height / 2;
return { x1: centerX, y1: centerY, x2, y2 };
});
setLines(newLines);
};
updateLines();
const observer = new ResizeObserver(updateLines);
if (containerRef.current) observer.observe(containerRef.current);
return () => observer.disconnect();
}, [dimensions]);
const calculateCurvePath = (line: Line) => {
const cpX = (line.x1 + line.x2) / 2 + (line.y2 - line.y1) * -0.21;
const cpY = (line.y1 + line.y2) / 2 - (line.x2 - line.x1) * -0.21;
return {
path: `M${line.x1},${line.y1} Q${cpX},${cpY} ${line.x2},${line.y2}`,
};
};
const animateLine = (index: number, color: string) => {
const path = document.getElementById(`animated-line-${index}`) as SVGPathElement | null;
if (!path || animatingLines.current.has(index)) return;
animatingLines.current.add(index);
const length = path.getTotalLength();
// ✅ Key fix: make one full-length dash to reveal progressively
path.style.strokeDasharray = `${length}`;
path.style.strokeDashoffset = `${length}`;
path.style.stroke = color;
path.style.opacity = "1";
gsap.to(path, {
strokeDashoffset: 0,
duration: 0.8,
ease: "power1.inOut",
onComplete: () => {
setActiveLines((prev) => ({ ...prev, [index]: true }));
timeoutRefs.current[index] = setTimeout(() => reverseLine(index), 2000);
},
});
};
const reverseLine = (index: number) => {
const path = document.getElementById(`animated-line-${index}`) as SVGPathElement | null;
if (!path) return;
const length = path.getTotalLength();
gsap.to(path, {
strokeDashoffset: length,
duration: 0.6,
ease: "power2.inOut",
onComplete: () => {
path.style.opacity = "0";
animatingLines.current.delete(index);
setActiveLines((prev) => ({ ...prev, [index]: false }));
},
});
};
const handleBoxClick = (index: number, color: string) => {
if (animatingLines.current.has(index)) return;
if (timeoutRefs.current[index]) {
clearTimeout(timeoutRefs.current[index]);
}
if (!activeLines[index]) {
animateLine(index, color);
}
};
const handleCenterClick = () => {
boxData.forEach((box, i) => {
if (!activeLines[i] && !animatingLines.current.has(i)) {
animateLine(i, box.color);
}
});
};
return (
<div
ref={containerRef}
className="relative w-full h-screen bg-gradient-to-br from-pink-100 to-blue-100 overflow-hidden"
>
<svg className="absolute top-0 left-0 w-full h-full pointer-events-none">
<defs>
<linearGradient id="line-gradient" x1="0%" y1="0%" x2="100%" y2="0%">
<stop offset="0%" stopColor="#cccccc" />
<stop offset="100%" stopColor="#cccccc" stopOpacity="0.8" />
</linearGradient>
{/* New: background-matching gradient */}
<linearGradient id="bg-gradient" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="0%" stopColor="#ffe3ec" /> {/* matches from-pink-100 */}
<stop offset="100%" stopColor="#d0ebff" /> {/* matches to-blue-100 */}
</linearGradient>
</defs>
{lines.map((line, i) => {
const { path } = calculateCurvePath(line);
return (
<g key={i}>
{/* Static gray dashed line */}
<path
id={`dashed-line-${i}`}
d={path}
stroke="url(#line-gradient)"
strokeWidth="2"
strokeDasharray="8, 4"
fill="none"
/>
{/* Animated colored dashed overlay */}
<path
id={`animated-line-${i}`}
d={path}
stroke="transparent"
strokeWidth="2"
strokeDasharray="8, 4"
fill="none"
style={{ opacity: 0 }}
/>
{/* static white or background gap line */}
<path
id={`dashed-line-${i}`}
d={path}
stroke="url(#bg-gradient)"
strokeWidth="2"
strokeDasharray="8, 8"
fill="none"
/>
{/* Endpoint circle */}
<circle cx={line.x2} cy={line.y2} r="6" fill={boxData[i].color} />
</g>
);
})}
</svg>
{/* Center Circle */}
<div
ref={centerBoxRef}
onClick={(e) => {
e.stopPropagation();
handleCenterClick();
}}
className="absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-16 h-16 md:w-24 md:h-24 bg-white rounded-full shadow-lg grid place-items-center font-bold text-lg md:text-xl cursor-pointer z-10"
>
Any
</div>
{/* Outer Boxes */}
{boxData.map((box, i) => {
const angle = (360 / boxData.length) * i;
const radius = Math.min(dimensions.width, dimensions.height) * 0.35;
const rad = (angle * Math.PI) / 180;
const centerX = dimensions.width / 2;
const centerY = dimensions.height / 2;
const x = centerX + radius * Math.cos(rad);
const y = centerY + radius * Math.sin(rad);
return (
<div
key={i}
ref={(el) => (boxRefs.current[i] = el)}
onClick={(e) => {
e.stopPropagation();
handleBoxClick(i, box.color);
}}
className="absolute w-14 h-14 md:w-20 md:h-20 rounded-full shadow grid place-items-center text-xs md:text-sm font-bold cursor-pointer text-white"
style={{
backgroundColor: box.color,
left: `${x}px`,
top: `${y}px`,
transform: "translate(-50%, -50%)",
}}
>
{box.label}
</div>
);
})}
</div>
);
}
I had a duplicated column in my feature list. Once I dropped the duplicated feature, it worked!
I have created a plugin for this:
You can replace BS variables in your own custom variables.
Adding `$card-color: yellow;` for example, will make any text under .card yellow.
if (StateA)
{
DoSomething();
}
else if (StateB)
{
DoSomething();
DoSomethingElse();
}
Is the same as:
DoSomething();
if (StateB)
{
DoSomethingElse();
}
No, and transform isn't applied either, see: updating SVG animateMotion path using JavaScript
can you give a more meaningful example for example post relevant code that pertains to your question
or can this be converted to a switch statement for example
do a simple google search on the following - c# case statement with either or condition
what worked for me in 2025 is File > Print > Next > Print as PDF
This matches this issue, which has some Googly advice in its comments.
They can't, because the user might change the font size.
<div v-bind:class="`bg-[${item.color}]`" class="rounded-full px-2">
Can label or Text be fixed width? If not I can only think of CustomMultiChildLayout; But you might also want twoDimensionScrollView if it contains more than just single group.
Thank you all for your help on this. I'm new, so I really appreciate it.
For me the simplest way (but requires a unix-like enviroment):
NULL_CHAR=$(head -c1 /dev/zero)
# check value with:
echo -n "$NULL_CHAR"|hexdump -C
00000000 00 |.|
00000001
After Your's sugestion digest value for reference is ok. But now i'm trying to calculate SignatureValue. And the question is when You calculate it You use the same method to calculate c14N on SignedInfo?
I tried use your method and just use C14N on SignedInfo but i got error.
I use <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
I believe it could also be done by swift package resolve
Comments have been broken on SO for a while now so I will post a new answer here even though I just wanted to reply to Roemer and scheinwerfer in Is there a way to open a folder in a container from the VSCode command line using the remote-containers extension? because I have a solution to their problem.
You can call wslpath -w to translate the path inside WSL to the path you need to encode. (That is what the script I mentioned in my comment does to support WSL, feel free to steal from it.)
recently i've been through this problem and to try to solve i searched in colab documents and foruns and i dont found no way to plot on Colab. But, i discovered the Jupyter Lab, that is similar to Colab can handle with markdown and it's easy to use, beside it runs on your own Computer, which can be bad in some ways.
Here is an example image of Jupyter Lab with Plotly:
Plotly in Jupyter
And i found a comparative of Colab and Jupyter:
https://www.geeksforgeeks.org/blogs/google-collab-vs-jupyter-notebook/
If you don't use prisma.config.ts and also don't want to use dotenv, you can simply remove prisma.config.ts and variables should become visible.
When using
prisma.config.ts, environment variables from.envfiles are not automatically loaded.
link: Prisma documentation
The OP was for iOS 26.0. Meanwhile iOS 26.1 fixed the issue. .isEnabled property disables the tab bar item (goes gray) and prohibits user interaction (can't be selected).
@matt's answer works fine.
func tabBarController(\_ tabBarController: UITabBarController, shouldSelect viewController: UIViewController) -> Bool {
if #available(iOS 26.0, *) { // run only if iOS >= 26.0
if #available(iOS 26.1, *) { // run only if iOS >= 26.1 (bug was fixed)
return true
}
if (condition_when_tab_bar_item_should_be_disabled) {
return false
}
}
return true
}
Changing my code back to the .isEnabled state from before iOS 26, I noticed that it doesn't work correctly when using .isEnabled inside DispatchQueue.main.async. It is simply ignored like it was for iOS 26. Flagging the property or layout for an update doesn't do anything either. However re-setting the tab bar item image makes the .isEnabled property change to be considered.
@objc func disableTab() {
DispatchQueue.main.async { // required otherwise crashes
self.tabBar.items?\[0\].isEnabled = false
// if #available(iOS 26.0, *) {
// self.tabBar.updatePropertiesIfNeeded() // doesn't do anything
// }
// self.tabBar.setNeedsLayout() // doesn't do anything
// self.tabBar.layoutIfNeeded() // doesn't do anything
if #available(iOS 26.0, *) { // this works!
let image = self.tabBar.items?\[2\].image
self.tabBar.items?\[2\].image = nil
self.tabBar.items?\[2\].image = image
}
}
}
Hope this helps somebody having the same issue.
@President James K. Polk thanks for the clarifying question, I worded it poorly. In this case it's the server authenticating to our client application, where we get a 'unable to get local issuer certificate' error if the certificate is not referenced in the call.
Use rclone's delete command
rclone delete remote:path --rmdirs --progress
The purge command failed:
ERROR : S3 bucket remote: Failed to read versioning status, assuming unversioned: operation error S3: GetBucketVersioning, https response error StatusCode: 403, RequestID: , HostID: , api error AccessDenied: Access Denied
Turns out this issue was only on Samsung devices. Maybe there was some silent update? I have no idea.
Adding clipData = android.content.ClipData.newRawUri("", imageUri) to Intent fixed the issue.