You cannot use a slicer directly as a chart axis in Excel. This is because Slicers are designed to filter data in pivot tables or pivot charts, but not as axis labels.
So, an alternative can be to:
a) create a pivot table, b) insert a pivot chart based on this pivot table, c) add a slicer connected to the pivot table.
The slicer won't become an axis, but it will filter the data.
Hope this helps.
new XMLSerializer().serializeToString(document.doctype)+'\n'+document.documentElement.outerHTML
this works as it pulls the doctype string then adds the outer HTML
No, there is no difference. Both extensions will work.
I was having the same issue, but was never prompted to create a password when I installed pgadmin. Despite this eo_coder_jk's answer worked for me.
It seems that JetBrains members posted an article how to fix this error code here:
https://youtrack.jetbrains.com/articles/SUPPORT-A-1853/Junie-provides-error-code-400-input-length-and-maxtokens-exceed-context-limit
The iterator object of the built-in iterable data types is itself iterable. (That is, it has a method with the symbolic name Symbol.iterator, which simply returns the object itself.) Sometimes this is useful in the following code when you want to run through a “partially used” iterator:
let list = [l,2,3,4,5];
let iter = list[Symbol.iterator]();
let head = iter.next().value; // head == 1
let tail = [...iter]; // tail == [2,3,4,5]
JavaScript: The Definitive Guide, David Flanagan, page 363
Looks like my prior searches didn't give the answer I was looking for.
It looks like main.cpp symbols weren't being exposed to shared libraries, so it was getting tripped up.
Compiling with g++ -rdynamic -I./lib main.cpp -o game
worked as expected.
I was able to fix the issue by changing the host property from
host:"localhost",
to
host:"127.0.0.1",
At that point the Environment would be ready to use, even if beans are not created yet.
So you can inject the Environment
into your class, then execute the old environment.getProperty("my.property")
method.
How about encoding the length-info explicitly, in a static constexpr variable?
struct mybits {
static constexpr size_t num_bits = 15;
unsigned int one:num_bits;
};
webview_flutter version 4.13.0 has support for SSL error handling via NavigationDelegate(onSSlAuthError)
webview_flutter version 4.13.0 has support for SSL error handling via NavigationDelegate(onSSlAuthError)
If your Power BI reports using DirectQuery to a MySQL database are not refreshing automatically on the Power BI Service, it's likely due to missing or misconfigured gateway settings. Unlike Import mode, DirectQuery requires an on-premises data gateway to maintain a live connection between the Power BI Service and your local or private database. Without a properly installed and configured gateway, the service cannot query your MySQL source in real time or on schedule, which explains why refreshes fail and only work manually in Power BI Desktop. To resolve this, install the on-premises data gateway, configure it in the Power BI Service under "Manage Gateways," ensure the data source credentials are valid, and map your dataset to use this gateway. Once set up correctly, your reports should refresh automatically or on-demand without needing manual intervention from Desktop.
On the GitLab feature request mentioned by @Jonathan, kawadumax posted a nice solution leveraging Just's ability to have embedded Bash that is essentially:
#!/bin/bash -eu
command1 &
command2 &
trap 'kill $(jobs -pr)' EXIT
wait
Sorry for late answer, but you could use this gist on Github, it should solve validation issue without any problem. Hope this helps you or anyone who sees this.
the scope photoslibrary.readonly
、photoslibrary
has been deprecated and will be removed after March 31, 2025.
After this date, any API calls using only this scope will return a 403 PERMISSION_DENIED error.
What should you do?
For reading photos, use the https://www.googleapis.com/auth/photoslibrary.readonly.appcreateddata scope.
For other use cases, review the latest Google Photos API documentation for supported scopes and migration instructions.
Reference:
https://developers.google.com/photos/support/updates#affected-scopes-methods
If there is anyone that has the problem of not showing suggestions in html and not showing open with live server option, just go to preferences in settings, click on edit json file. Paste this:
"files.associations": {
"*.html": "html"
}
Reactive base environment
conda activate base
Ensure extensions work
jupyter nbextension enable --py widgetsnbextension
jupyter nbextension enable --py ipympl
restart your PC.
re-run
jupyter notebook
In notebook, Kernel --> restart and clear ouput, Run all cells.
The PC actually contains, only the address of the next instruction. It does not contain the actual instruction. Same is the case with MAR. The difference between PC and MAR exists, based on their individual purpose.During the fetch stage of Instruction Cycle, the next instruction is actually read in the following way:
1: The PC has the address for the next instruction. This address is copied into MAR.
2: The Control Unit then polls for the actual instruction stored at the address that MAR points to. This is done by sending a signal to data bus to read the data at that address.
3: The actual data is sent to the CPU via data bus, which is then stored in the Memory Data Register (MDR) , also sometimes called Memory Buffer Register. The PC is incremented at this stage.
4: The content of MDR is then copied into CIR, the Current Instruction Register. After this, the decode stage starts.
Add this in the header of the Mapper:
@Mapper(.....injectionStrategy = InjectionStrategy.CONSTRUCTOR)
Documentation: https://mapstruct.org/documentation/1.5/api/org/mapstruct/InjectionStrategy.html
I found that the ClientId of the RadioButtonList is good enough.
$(document).on('click', "#RBL1_CliendId input", function() {
if($(this).prop("value") == 3){
// do something
} else {
// do something else
}
});
Same issue 5 years down the line and not even AI can solve this. Anyway I used this work around for me.
# Some GDAL configurations for GIS support
# os.environ['GDAL_DATA'] = "C:\\OSGeo4W\\share\\epsg_csv"
os.environ['PROJ_LIB'] = "C:\\OSGeo4W\\share\\proj"
os.environ['GEOS_LIBRARY_PATH'] = "C:\\OSGeo4W\\bin\\geos.dll"
In chrome, after trusting certificate, needed to run chrome in incognito as the old certs were cached.
I have the same question, I fully uninstalled the vscode using control panel, but the problem remained.
There is no suggestions when writing html code and when right click on html file it shows option of "open with..." when i click on that, it just shows a plain text editor, please provide a fix
Thanks to @DavidMaze i simply used queue.put_nowait()
as i run on the same thread.
In hindsight :
So by using put_nowait() I handled QueueFull exception by logging/counting/dropping, which makes more sense when the user has requested a bound queue.
I also faced this issue, and I tried several ways but didn't solved. Then I tried the same thing using aggregate, then it works perfectly, so maybe this is a bug from mongoose referencing. The low level aggregation pipeline does it correctly, so its some internal issue I think.
concerning the Filter message about product not having enough stock accounting for what's already in the cart.
How can we use this code to insert a variable and get the product name in the message ? I'd like to get : "You are currently trying to order "Product name", You cannot add that amount to the cart — we have %1$s in stock and you already have %2$s in your cart."
Thanks
If you're struggling to scrape Pandora Jewellery Stores or just looking for a better alternative with trendy and affordable options, I highly recommend checking out this amazing <a href="https://trendhuts.in" target="_blank">jewellery</a> collection.
TrendHuts offers a wide variety of artificial jewellery that blends traditional styles with a modern twist — perfect for gifting, festivals, or everyday wear. Unlike big brands, their site is easy to browse, and the pricing is much more accessible.
🔗 Explore more here: <a href="https://trendhuts.in" target="_blank">https://trendhuts.in</a>
IN DRF view, if you mentioned string path for renderer_classes then it'll cause this issue because drf view renderer_classes accept as as python class only.
from rest_framework.views import APIView
class TestView(APIView)
renderer_classes = [JSONRenderer]
from datetime import datetime, timezone
def convert_iso8601_to_epoch(ts):
dt = datetime.fromisoformat(ts)
# Convert to UTC timestamp (epoch seconds)
return dt.timestamp()
ts = '2012-09-30T15:31:50.262-08:00'
epoch time = convert_iso8601_to_epoch(ts)
print(epoch_time)
Currently i am getting the following error when using oracle db.
Hibernate: call next value for tutorial_id_seq
SQL Error: 6576, SQLState: 65000
ORA-06576: not a valid function or procedure name
The Sequence is already in the db. Hibernate is erroring out when calling next value from the sequence.
mysql workbench > Edit > Preferences > SQL Editor > MySQL Session
DBMS connection read timeout interval (in seconds): default value is 30 sec. PLS modify to 100 sec, then reconnect your mysql server
Python
Gaging
abs
Pyton_((peont_org
I am 6 years_(enter)
Password correct
List:
☑number
☑with color
☑with face
Save python print✅
Hi you can achieve this by creating a CustomIdGenerator annotation.
You can take a reference from my personal project regarding custom annotations...
Reference link Custom Annotation (customerdata)
The problem was that I was passing the wrong variable `$resource_group` instead of `$rg_name`. I was confused as the az was giving me a message about the API, which doesn't make any sense.
As this still does not work today (2025), and if still someone might have a similar issue, the perfect solution is to ask any chatbot to translate the text to Serbian - Latin.
From my experience, Google's Gemini is doing the best translations.
When compiling Debian for the PX30, some dependency libraries will be downloaded. If those libraries have been updated while you’re using an older version of the source code, the build might fail. In such cases, you may need to try using older versions of the libraries.
I had the same problem and increase stack_size for task, which calls vsnprintf() is helps
Try adding this class to your utils:
import android.app.Activity;
import android.graphics.Rect;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewTreeObserver;
import android.content.Context;
import android.view.inputmethod.InputMethodManager;
import java.util.HashMap;
/**
* Based on the following Stackoverflow answer:
* http://stackoverflow.com/questions/2150078/how-to-check-visibility-of-software-keyboard-in-android
*/
@SuppressWarnings("WeakerAccess")
public class KeyboardUtils implements ViewTreeObserver.OnGlobalLayoutListener
{
private final static int MAGIC_NUMBER = 200;
private SoftKeyboardToggleListener mCallback;
private View mRootView;
private Boolean prevValue = null;
private float mScreenDensity;
private static HashMap<SoftKeyboardToggleListener, KeyboardUtils> sListenerMap = new HashMap<>();
public interface SoftKeyboardToggleListener
{
void onToggleSoftKeyboard(boolean isVisible);
}
@Override
public void onGlobalLayout()
{
Rect r = new Rect();
mRootView.getWindowVisibleDisplayFrame(r);
int heightDiff = mRootView.getRootView().getHeight() - (r.bottom - r.top);
float dp = heightDiff/ mScreenDensity;
boolean isVisible = dp > MAGIC_NUMBER;
if (mCallback != null && (prevValue == null || isVisible != prevValue)) {
prevValue = isVisible;
mCallback.onToggleSoftKeyboard(isVisible);
}
}
/**
* Add a new keyboard listener
* @param act calling activity
* @param listener callback
*/
public static void addKeyboardToggleListener(Activity act, SoftKeyboardToggleListener listener)
{
removeKeyboardToggleListener(listener);
sListenerMap.put(listener, new KeyboardUtils(act, listener));
}
/**
* Remove a registered listener
* @param listener {@link SoftKeyboardToggleListener}
*/
public static void removeKeyboardToggleListener(SoftKeyboardToggleListener listener)
{
if(sListenerMap.containsKey(listener))
{
KeyboardUtils k = sListenerMap.get(listener);
k.removeListener();
sListenerMap.remove(listener);
}
}
/**
* Remove all registered keyboard listeners
*/
public static void removeAllKeyboardToggleListeners()
{
for(SoftKeyboardToggleListener l : sListenerMap.keySet())
sListenerMap.get(l).removeListener();
sListenerMap.clear();
}
/**
* Manually toggle soft keyboard visibility
* @param context calling context
*/
public static void toggleKeyboardVisibility(Context context)
{
InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
if(inputMethodManager != null)
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
/**
* Force closes the soft keyboard
* @param activeView the view with the keyboard focus
*/
public static void forceCloseKeyboard(View activeView)
{
InputMethodManager inputMethodManager = (InputMethodManager) activeView.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
if(inputMethodManager != null)
inputMethodManager.hideSoftInputFromWindow(activeView.getWindowToken(), 0);
}
private void removeListener()
{
mCallback = null;
mRootView.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
private KeyboardUtils(Activity act, SoftKeyboardToggleListener listener)
{
mCallback = listener;
mRootView = ((ViewGroup) act.findViewById(android.R.id.content)).getChildAt(0);
mRootView.getViewTreeObserver().addOnGlobalLayoutListener(this);
mScreenDensity = act.getResources().getDisplayMetrics().density;
}
}
Use like this:
KeyboardUtils.addKeyboardToggleListener(requireActivity(), isVisible -> {
if (isVisible) {
// do something
}
});
To be clear, Chronicle 4.x and above supports concurrent writers to the same queue.
I don't know why, but was able to resolve this issue by moving the mainwindow.ui
file to the same directory with the source files. So the structure will be the following:
MyProject
CMakeLists.txt
include
mainwindow.h
src
mainwindow.cpp
main.cpp
mainwindow.ui
Popper Component allows you to scroll the website if it is open , but you can't do that in popover Component , it is by default written that way.
You can submit App Actions for production using this link: contact
Select App Actions option
Fill-up all required fields
Select 'App Action review appeal' from the drop-down option of 'How can we help you' section
Note: It will take some days to completely review your submitted App Actions also your app should also live on production.
I think you need to have internet permission. Enabled in android manifest,
Also make sure your using https. If your api url is http then follow this steps
https://medium.com/mindorks/my-network-requests-are-not-working-in-android-pie-7c7a31e33330
UPDATE: I did everything correctly. I need to fetch the token this way
@GetMapping("/profile")
public Map<String, Object> profile(OAuth2AuthenticationToken auth,
@RegisteredOAuth2AuthorizedClient("cognito")
OAuth2AuthorizedClient client) {
OidcIdToken idToken = ((OidcUser) auth.getPrincipal()).getIdToken();
String sector = idToken.getClaimAsString("custom:sector");
String idJwt = idToken.getTokenValue();
String accessJwt = client.getAccessToken().getTokenValue();
return Map.of("sector", sector,
"idToken", idJwt,
"accessToken", accessJwt);
}
How to install uv when I already need an virtual environment to install it?
With the standalone installer, or any other method - pip, cargo, docker or just by downloading the binary. All is described in the documentation, see https://docs.astral.sh/uv/getting-started/installation/ .
Isn't this a chicken-egg-problem?
No. uv
is written in rust, it doesn't require any virtual env or python.
How do you do it?
I just do pip install --user uv
Check the Google Assistant account you are using on device, sometimes if you're using more then 1 google account on same device it consider the default account so you have to select that developer account manually. You can also check if your shortcut is available for your device by open Google Assistant settings and search for 'Shortcuts' section and you'll find your App there and after that you can even create a short keyword to use your OPEN_APP_FEATURE like "Hey Google, Emergency"
I found a solution myself now. So becuase the vTextureCoord seemed to be messed up, I decided to bring up another locical location and also pass it to the fragment shader. Not it seems to work as expected:
const vertex = `
in vec2 aPosition;
out vec2 vTextureCoord;
out vec2 vLogicPosition;
uniform vec4 uInputSize;
uniform vec4 uOutputFrame;
uniform vec4 uOutputTexture;
vec4 filterVertexPosition( void )
{
vec2 position = aPosition * uOutputFrame.zw + uOutputFrame.xy;
position.x = position.x * (2.0 / uOutputTexture.x) - 1.0;
position.y = position.y * (2.0*uOutputTexture.z / uOutputTexture.y) - uOutputTexture.z;
return vec4(position, 0.0, 1.0);
}
vec2 filterTextureCoord( void )
{
return aPosition * (uOutputFrame.zw * uInputSize.zw);
}
void main(void)
{
gl_Position = filterVertexPosition();
vTextureCoord = filterTextureCoord();
vLogicPosition = aPosition;
}
`
Thank for ypur superusfull answer!!! I have donwloaded from maven repozitory jars files for Spark 3.5.6. Spark 3.5.6 is built on hadoop 3.3.4 too. Thanks a lot!
The problem is the memusg file in the ViewBS package. Simply install it from here https://github.com/jhclark/memusg, remove the original ./memusg provided with ViewBS from the PATH and you are ready to go.
In my case it was due to setting a wrong API KEY. make sure you have created one
But now i have another problem:
const loginUser = async (username: string, password: string) => {
useLogin(username, password)
.then((res) => {
if (res) {
// process res
}
})
.catch((/*e*/) => toast.warning("Server error occured"));
};
Property 'then' does not exist on type 'UseQueryResult<unknown, Error>'. Property 'then' does not exist on type 'QueryObserverRefetchErrorResult<unknown, Error>'.
Can you please tell me what's the problem here ?
change the scroll physics
physics: BouncingScrollPhysics(),
to and that should do the job.
Open project level Gradle and upgrade the kotlin version to '1.9.21' or any above version. Also Clean Project and rebuild.
I faced the same problem. This issue is also being raised here. I downgraded my vscode to 1.100.2 and remote-ssh to 0.117.0. No issues now.
I fix this problem with updating my terminal :
https://apps.microsoft.com/detail/9n0dx20hk701
Hope it help
I will soon share my code with you since I just submitted it. As a recommendation, try avoiding huge chunks of code like naming to variables too long or using this line " a = a + 1; " instead use a++ or a += 1. And yes have you done update50 on the terminal?
1. try deleting your build folder in Xcode, with the shortcut CMD + SHIFT + K
2. remove the app from your phone
3. restart your iPhone
4. rebuild and run
5. check whether WeatherKit is working properly from the Apple side (https://developer.apple.com/system-status/)
I came across a similar problem and realized I had some lint issues and the build was not successful with errors. So try to build you project and see if there are any errors, then try running again after fixing errors
Well, first of all, reason for your component re-rendering over and over seems to be
circular dependency.
in useEffect dependency array you have added cards, and in that useEffect you have called a function that changes the values of cards ,
so when first time this useEffect will run and your function will be executed then the value of cards will be changed so it will trigger the useEffect again because cards has been added as dependency so every time cards changes useEffect will run the function in it , so it will go to infinite loop.
well i don't think you need to add cards in dependency array as you only changes its value based on the data you get from the api call, which will be called at least one time even if make dependency array empty.
Error uploading script: Process exited with status 1
meams you don t have enough space in your virtual hard drivr
In MySQL, use the AUTO_INCRMENT keyword, and the column must be defined as a primary key (PRIMARY KEY) or have a unique index (UNIQUE index).
like this
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(50) NOT NULL,
email VARCHAR(100),
PRIMARY KEY (id)
);
After trying very many suggestions to solving this issue I finally got to get an easy way to fix it:
To fix
how do I fix this
Last login: Sun Jun 22 09:02:21 on ttys000
[WARNING]: Console output during zsh initialization detected.
When using Powerlevel10k with instant prompt, console output during zsh
initialization may indicate issues.
You can:
- Recommended: Change ~/.zshrc so that it does not perform console I/O
after the instant prompt preamble. See the link below for details.
* You will not see this error message again.
* Zsh will start quickly and prompt will update smoothly.
- Suppress this warning either by running p10k configure or by manually
defining the following parameter:
typeset -g POWERLEVEL9K_INSTANT_PROMPT=quiet
* You will not see this error message again.
* Zsh will start quickly but prompt will jump down after initialization.
- Disable instant prompt either by running p10k configure or by manually
defining the following parameter:
typeset -g POWERLEVEL9K_INSTANT_PROMPT=off
* You will not see this error message again.
* Zsh will start slowly.
- Do nothing.
* You will see this error message every time you start zsh.
* Zsh will start quickly but prompt will jump down after initialization.
For details, see:
https://github.com/romkatv/powerlevel10k#instant-prompt
-- console output produced during zsh initialization follows --
[oh-my-zsh] plugin 'zsh-autosuggestions' not found
[oh-my-zsh] plugin 'zsh-syntax-highlighting' not found
You only need to comment out this line in your zshrc:
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
Had a similar kind of issue while generate jooq classes from spring boot,
Unable to parse configuration of mojo org.jooq:jooq-codegen-maven:3.20.5:generate for parameter schema: Cannot find default setter in class org.jooq.meta.jaxb.SchemaMappingType found out <inputSchema></inputSchema> was missing .
Hope it helps somebody ! .
Using white-space is a good soution, but you can try also with text-wrap-mode
ul {
text-wrap-mode:nowrap;
}
li {
display:inline-block;
}
Just run the following in powershell as an admin and re-start pc
wsl --update
wsl --set-default-version 2
worked for me this way:
.Sum(x => (decimal?)x.Amount) ?? 0; // works
.Sum(x => (decimal?)x.Amount ?? 0); // did not work
what worked for me is setting the length of tick dynamically to same as the number of labels
so :
labels =["label1","label2"]
plt.xticks(np.arange(len(labels)), labels)
My configuration file is wrong. Filestream mode requires parsers
When this happened to me, it was because I was making the setFilterByAuthorizedAccounts
option true
, which restricts your app to only letting users sign in if they already have an account registered. The documentation says to try getting the credentials with it set to true
, and if given a NoCredentialException,
you should try again with it set to false
so that the user can create a new account.
<!DOCTYPE html>
<html lang="ar">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>تحدي القراءة متعدد اللغات</title>
<style>
body {
background-color: #0d1117;
color: white;
font-family: 'Tahoma', sans-serif;
text-align: center;
padding: 20px;
margin: 0;
position: relative;
}
h1 {
font-size: 24px;
margin-bottom: 20px;
}
#language {
position: absolute;
top: 20px;
right: 20px;
padding: 8px 12px;
font-size: 16px;
background-color: #00aaff;
color: white;
border: none;
border-radius: 8px;
cursor: pointer;
}
#language:hover {
background-color: #0088cc;
}
#counter {
margin: 10px 0;
font-size: 18px;
color: #00ffaa;
}
.word {
font-size: 22px;
margin: 4px;
display: inline-block;
padding: 6px 8px;
border-radius: 8px;
transition: background-color 0.3s, color 0.3s, transform 0.3s;
}
.read {
background-color: #00aaff;
color: #fff;
animation: pop 0.3s ease;
}
.current {
border: 2px dashed #00ffaa;
background: linear-gradient(45deg, #00ffaa33, #00aaff33);
animation: blink 1s infinite;
}
@keyframes pop {
0% { transform: scale(1); }
50% { transform: scale(1.2); }
100% { transform: scale(1); }
}
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
button {
font-size: 18px;
padding: 10px 16px;
margin: 10px 5px;
border: none;
border-radius: 10px;
background-color: #00aaff;
color: white;
cursor: pointer;
width: 90%;
max-width: 300px;
}
button:hover {
background-color: #0088cc;
}
#text {
margin: 20px auto;
max-width: 90%;
line-height: 2;
}
#status {
margin-top: 15px;
font-size: 18px;
color: #ffaa00;
}
audio {
display: none;
}
</style>
</head>
<body>
<select id="language" onchange="changeLanguage()">
<option value="ar">🇸🇦 العربية</option>
<option value="en">🇺🇸 English</option>
<option value="es">🇪🇸 Español</option>
<option value="fr">🇫🇷 Français</option>
</select>
<h1>📢 اقرأ الكلمة التالية بصوتك</h1>
<div id="counter">قرأت 0 كلمة</div>
<div id="text"></div>
<button onclick="startListening()">🎙️ ابدأ القراءة</button>
<button onclick="resetReading()">🔁 إعادة</button>
<button onclick="changeSentence()">🔀 جملة جديدة</button>
<div id="status"></div>
<audio id="ding" src="https://cdn.pixabay.com/download/audio/2021/08/04/audio_b4b9dc4904.mp3?filename=correct-2-46134.mp3"></audio>
<audio id="wrong" src="https://cdn.pixabay.com/download/audio/2022/03/15/audio_1f4bc94c33.mp3?filename=error-126627.mp3"></audio>
<audio id="done" src="https://cdn.pixabay.com/download/audio/2021/10/26/audio_d1a455b0d6.mp3?filename=correct-answer-4-204118.mp3"></audio>
<script>
const allSentences = {
ar: [
"كل نجاح يبدأ بخطوة فلا تتردد",
"الصبر مفتاح الفرج والثقة طريق الراحة",
"المستحيل مجرد رأي وليس حقيقة",
"الفشل هو بداية الطريق إلى النجاح",
"التعليم هو السلاح الأقوى الذي يمكنك استخدامه لتغيير العالم",
"العقل زينة والحكمة مفتاح النجاح",
"القراءة توسّع المدارك وتبني العقول"
],
en: [
"Success is a journey not a destination",
"Hard work beats talent when talent does not work hard",
"The future depends on what you do today",
"Believe you can and you're halfway there",
"Reading expands the mind and opens doors to success"
],
es: [
"El éxito comienza con un paso",
"Nunca renuncies a tus sueños",
"El fracaso es el primer paso hacia el éxito",
"Cree en ti mismo y sigue adelante",
"La lectura te hace libre y sabio"
],
fr: [
"Le succès commence par un pas",
"N'abandonne jamais tes rêves",
"L'échec est la première étape vers le succès",
"Crois en toi et avance",
"La lecture ouvre l'esprit et nourrit l'âme"
]
};
const langs = {
ar: "ar-SA",
en: "en-US",
es: "es-ES",
fr: "fr-FR"
};
let currentText = "";
let currentLang = "ar";
let currentWordIndex = 0;
let spans = [];
const textContainer = document.getElementById("text");
const counter = document.getElementById("counter");
const sound = document.getElementById("ding");
const wrongSound = document.getElementById("wrong");
const doneSound = document.getElementById("done");
const languageSelect = document.getElementById("language");
const status = document.getElementById("status");
let recognition;
let isListening = false;
function normalize(text) {
return text
.normalize("NFD").replace(/[\u064B-\u065F\u0610-\u061A\u06D6-\u06ED]/g, "")
.replace(/[إأآا]/g, "ا")
.replace(/ء/g, "")
.replace(/[يى]/g, "ي")
.replace(/[^a-zA-Zأ-ي0-9 ]/g, "")
.trim().toLowerCase();
}
function compareWords(w1, w2) {
const a = normalize(w1);
const b = normalize(w2);
if (a === b) return 1;
let matches = 0;
const minLen = Math.min(a.length, b.length);
for (let i = 0; i < minLen; i++) {
if (a[i] === b[i]) matches++;
}
return matches / Math.max(a.length, b.length);
}
function displayText(text) {
textContainer.innerHTML = "";
currentWordIndex = 0;
const words = text.split(" ");
spans = [];
words.forEach((word, index) => {
const span = document.createElement("span");
span.className = "word";
span.textContent = word;
if (index === 0) span.classList.add("current");
spans.push(span);
textContainer.appendChild(span);
});
updateCounter();
}
function updateCounter() {
const readCount = document.querySelectorAll(".read").length;
const total = spans.length;
const messages = {
ar: `قرأت ${readCount} من ${total} كلمة`,
en: `You read ${readCount} of ${total} words`,
es: `Leíste ${readCount} de ${total} palabras`,
fr: `Vous avez lu ${readCount} sur ${total} mots`
};
counter.textContent = messages[currentLang];
}
function setupRecognition() {
recognition = new webkitSpeechRecognition();
recognition.lang = langs[currentLang];
recognition.continuous = true;
recognition.interimResults = true;
recognition.onresult = function(event) {
const transcript = event.results[event.results.length - 1][0].transcript.trim();
const spoken = normalize(transcript);
const currentWord = normalize(spans[currentWordIndex]?.textContent || "");
const similarity = compareWords(spoken, currentWord);
if (similarity >= 0.8) {
spans[currentWordIndex].classList.remove("current");
spans[currentWordIndex].classList.add("read");
sound.play();
currentWordIndex++;
if (spans[currentWordIndex]) {
spans[currentWordIndex].classList.add("current");
} else {
status.textContent = currentLang === "ar" ? "🎉 أحسنت! انتهيت من الجملة" :
currentLang === "en" ? "🎉 Well done! Sentence completed" :
currentLang === "es" ? "🎉 ¡Bien hecho! Frase completada" :
"🎉 Bravo ! Phrase terminée";
doneSound.play();
recognition.stop();
isListening = false;
}
updateCounter();
} else {
wrongSound.play();
status.textContent = currentLang === "ar"
? `❌ لم يتم التعرف على الكلمة بدقة: "${transcript}"`
: `❌ Not accurate: "${transcript}"`;
}
};
recognition.onerror = () => restartRecognition();
recognition.onend = () => { if (isListening) restartRecognition(); };
}
function startListening() {
if (isListening) return;
isListening = true;
status.textContent = currentLang === "ar" ? "🎧 جاري الاستماع..." :
currentLang === "en" ? "🎧 Listening..." :
currentLang === "es" ? "🎧 Escuchando..." :
"🎧 Écoute en cours...";
setupRecognition();
recognition.start();
}
function restartRecognition() {
if (recognition) recognition.stop();
setupRecognition();
recognition.start();
}
function resetReading() {
spans.forEach(span => span.classList.remove("read", "current"));
if (spans[0]) spans[0].classList.add("current");
currentWordIndex = 0;
updateCounter();
status.textContent = "";
if (recognition) recognition.stop();
isListening = false;
}
function changeSentence() {
const list = allSentences[currentLang];
const randomIndex = Math.floor(Math.random() * list.length);
currentText = list[randomIndex];
resetReading();
displayText(currentText);
}
function changeLanguage() {
currentLang = languageSelect.value;
document.body.dir = currentLang === "ar" ? "rtl" : "ltr";
changeSentence();
}
window.onload = () => {
currentText = allSentences[currentLang][0];
displayText(currentText);
document.body.dir = currentLang === "ar" ? "rtl" : "ltr";
};
</script>
</body>
</html>
Skrip voice-over dalam Bahasa Melayu
script = """
Seluar wanita potongan lurus, potongannya kemas dan fleksibel.
Pinggang tinggi, stretch empat arah, ringan dan cepat kering – sesuai untuk pejabat dan santai!
Satu seluar, dua gaya – mix and match ikut mood! Nak ke office atau keluar minum, semua boleh.
RM22 saja – banyak warna dan saiz dari S sampai XXL! Klik link sekarang!
"""
# Hasilkan audio dengan Google Text-to-Speech
tts = gTTS(text=script, lang='ms')
tts.save("voice_over_elgini.mp3")
print("Voice-over berjaya disimpan sebagai voice_over_elgini.mp3")
im a noob but back in web design I would always use css transitions for specific links or text to fade in or out. super easy, don't have time to look up the code but css effects still do their job yo yo cool bye
Try using simply : main()
It is not the fanciest and may not work for all applications, but it works for me.
std::cout << "This is the end of the code.";
main()
Thankyou for the confirmation that there's no direct way in .NET. I knew it was a long-shot.
Spectre.Console looks really good, but probably a bit like using a nuke to poison a weed for this project. I think I'll be using it in future projects, though.
I will be going with "Plan B" (or variant thereof).
Use lodash-es
import { isEqual } from 'lodash-es';
you need to override their default styles using CSS. For the carousel buttons, target the .carousel-control-prev-icon
and .carousel-control-next-icon
classes—these use SVG background images by default, so you can either change the background-color
or remove the background image and use ::before
with custom content. For the back-to-top button, target the .scroll-top
class and set the desired background-color
and color
properties. Make sure your custom CSS is loaded after the template's main stylesheet to ensure it takes effect.
Exactly same problem here, anyone who help?
Go to XCode -> Settings -> Components
Check if IOS is installed if not install it and run `flutter doctor` again. It should fix.
The problem is because you are multiplying 2 rounded values (G21,H21). But in J21 the multiplication is with the full precision. To fix this, you can do like this:
=ROUND(
SUM(G13:G20) * SUM(H13:H20),
0)
Are you still facing this issue? How to fix the issue?
Operators interpret the text loosely. Whereas formulas such as COUNTIF, SUMIF, etc are more strict in the data type. In your case, you have 2 data types: text and integers. You cannot put text when the formula is expecting to get numbers.
When you use the operators with a text, that text will be considered bigger than any number. Thus it will provide TRUE. Example: "aaple" >25, it will return true.
i am facing the same issue i have build.gradle.kts and i use this
packaging {
resources {
excludes.addAll(
listOf(
"lib/arm64-v8a/libc++_shared.so",
"lib/armeabi-v7a/libc++_shared.so",
"lib/x86/libc++_shared.so",
"lib/x86_64/libc++_shared.so"
)
)
pickFirsts.add("lib/**/libc++_shared.so") // Prioritize Flutter's version
// Fallback: merge if exclusion fails
merges.add("lib/arm64-v8a/libc++_shared.so")
}
}
still i am facing the issue its not resolving please help me
When using Ionic with Angular, you should use Angular's router.
This is detailed here: https://ionicframework.com/docs/angular/navigation
In my case, I was missing importing "RouterModule", so the links were not working.
import { RouterModule } from '@angular/router';
@Component({
...
standalone: true,
imports: [
RouterModule,
I just have exactly the same problem: waiting for 20 mins and found nothing happened. It's no reason for it to run such long. What I did was to check whether my pip was up to date, and it turns out it's 24 instead of 25. After I Updated pip to latest version the installation finished in seconds.
This is what I'd do, an AVERAGEIF formula.
=AVERAGEIF(A:A,D3,B:B)enter image description here
At 9:30 of this video for solution or you can watch whole video to understand my explain. : Terminal not open in Ubuntu on Virtualbox
<!DOCTYPE html> <html lang="pt"> <head> <meta charset="UTF-8"> <title>Fatura Vodafone - Mauricio Catulumba Rui</title> <style> body { font-family: Arial, sans-serif; margin: 40px; color: #333; } .header, .footer { text-align: center; } .header h2 { margin: 0; } .section { margin-top: 30px; } .label { font-weight: bold; } .box { border: 1px solid #ccc; padding: 15px; margin-top: 10px; } </style> </head> <body> <div class="header"> <h2>Vodafone Portugal – Comunicacoes Pessoais, S.A.</h2> <p>Av. D. Joao II, no 36, Parque das Nacoes<br> 1998-017 Lisboa | NIPC: PT502544180</p> </div> <div class="section"> <p><span class="label">Fatura no:</span> 2025-04-001</p> <p><span class="label">Data de emissao:</span> 24/04/2025</p> <p><span class="label">Periodo de faturacao:</span> 24/03/2025 - 23/04/2025</p> </div> <div class="section"> <div class="label">Cliente:</div> <div class="box"> Mauricio Catulumba Rui<br> Praca do Comercio, no 122 - 5.o<br> 1201-300 Lisboa </div> </div> <div class="section"> <p><span class="label">Servico:</span> Internet (Fibra)</p> <p><span class="label">Valor antes do IVA:</span> EUR 28,77</p> <p><span class="label">IVA (23%):</span> EUR 6,63</p> <p><span class="label">Total (IVA incluido):</span> <strong>EUR 35,40</strong></p> </div> <div class="section"> <p><span class="label">Data limite de pagamento:</span> 05/07/2025</p> <p><span class="label">Referencia MB:</span><br> Entidade: 1234567<br> Referencia: 890123456789</p> </div> <div class="footer"> <p><em>Este documento serve como fatura e comprovativo de residencia, contendo nome, morada, valor, datas e dados oficiais da Vodafone.</em></p> </div> </body> </html>
I guess there may be something lacking between os.environ['CONDA_PREFIX']
and "share"
.
I wrote a python script test.py
import os
import sys
import rdkit
from rdkit import Chem
from rdkit.Chem import RDConfig
def main():
sys.path.append(os.path.join(RDConfig.RDContribDir, "SA_Score"))
import sascorer
print("RDKit version:", rdkit.__version__)
print("RDConfig.RDContribDir:", RDConfig.RDContribDir)
print("done")
if __name__=="__main__":
main()
and I got
$ python test.py
RDKit version: 2024.03.3
RDConfig.RDContribDir: /home/username/apps/miniforge3/envs/rdkit/share/RDKit/Contrib
done
cf.
https://sishida21.github.io/2021/08/07/rdkit-sascore-calculation-caution/
(in Japanese)
Since Vite
has a list of default variable environment such as:
import.meta.env.MODE
You must have add prefix VITE_
before your all env variables.
So, APP_SOCKET_URL
will be VITE_APP_SOCKET_URL
.
$photos = DB::table('photos')->select('id', 'name', 'created_at');
$videos = DB::table('videos')->select('id', 'name', 'created_at');
$combined = $photos->union($videos)->tap(function($q){
$q->orderBy('created_at', 'desc');
});
IIf(Mid([textDate];20;2)="pm";"night";"morning")
Recommend a simple and efficient installation method for BeyckJS using npm install Beyck (function (app) {app. defend (true)})
For iOS 26, the best I could approximate using the Sketch template from Apple is a ratio of 25.89% - so multiply your size by 0.2589.
Just for additional information purpose to @Shadow 's answer:
SET SESSION MAX_EXECUTION_TIME = 5000; -- 5 s
SELECT SLEEP(1); -- return 0
SELECT SLEEP(10); -- return 1
I then tested what will happen if it's actual data from here:
SET SESSION MAX_EXECUTION_TIME = 1; -- 1ms
SELECT SQL_NO_CACHE *
FROM STUDY_SQL.EMPLOYEES AS FIR
LEFT JOIN STUDY_SQL.EMPLOYEES AS SEC
ON FIR.BIRTH_DATE <> SEC.BIRTH_DATE
WHERE
(FIR.LAST_NAME LIKE 't%o%' OR FIR.LAST_NAME LIKE 'b%i%')
AND FIR.FIRST_NAME LIKE '%e%'
AND (SEC.LAST_NAME LIKE 't%o%' OR SEC.LAST_NAME LIKE 'b%i%')
AND SEC.FIRST_NAME LIKE '%e%'
AND SEC.FIRST_NAME LIKE '%b%';
The result is:
15:54:46 SET SESSION MAX_EXECUTION_TIME = 1 0 row(s) affected 0.000 sec
15:54:46 [complex query] LIMIT 0, 1000 Error Code: 3024. Query execution was interrupted, maximum statement execution time exceeded 0.000 sec
So it will throw an exception if it's an actual query and it exceeds the time limit.
Nowadays we can find it out yet?
If anyone is still struggling with this in 2025 the regex pattern that works is
"\\(?\\d{3}\\)?-?.?\\s?\\d{3}-?.?\\s?\\d{4}"
for some reason JSX just won't use square brackets properly even when escaping them. It could also be because I have the regex expression in a ternary operator.
pattern={
name === "phone"
? "\\(?\\d{3}\\)?-?.?\\s?\\d{3}-?.?\\s?\\d{4}"
: name === "email"
? "^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$"
: undefined
}
Try using constant sizes, like pixels for example, instead of vmin which is based on the smaller dimension of the viewport.
As for the question what is causing it I can't answer exactly it looks like a bug, because it happens on Google Chrome but it works as intended on Edge
@NosakhareKingsley The problem is how your setup deals with env files and specifically that you use poorly supported react-dotenv package for this instead of using process.env directly. You shouldn't use unsupported things, especially if you're new to this, this causes unexpected problems and leaves you alone with them. Stick to officially recommended ways to use react, react.dev/learn/build-a-react-app-from-scratch#vite . You won't find create-react-app there, it's deprecated
@EstusFlask Only took an hour but this solved it. I had to recreate the app with vite and rewrite the entire codebase to tsx and the bug is gonee.. Just like that. lol Thanks. I don't think i woulda figured this one out on my own.
Estus Flask solved it. I was using a deprecated version.
Restore your vehicle’s shine with expert car paint correction in San Marcos, CA.
Our certified technicians specialize in swirl mark removal, scratch repair, and gloss enhancement.
Using multi-stage machine polishing, we bring back that showroom-quality finish.
We treat every car with precision detailing and the highest-quality products.
Say goodbye to oxidation and dull paint—your clear coat will thank you.
Perfect for daily drivers, luxury cars, and classics needing a refresh.
We’re locally trusted, fully insured, and backed by 5-star reviews.
Pair your correction with a ceramic coating for lasting protection and shine.
Enjoy competitive pricing and —no surprises.