The issue you're experiencing is a classic asynchronous JavaScript problem. Let me explain how promises work and provide solutions using both traditional promise syntax and modern async/await.
## What Are Promises?
For me added http://localhost on console.google and also added the no-referrer-when-downgrade https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid and worked. Thank you.
(details_id = 15 AND personel_id = 5) OR (details_id = 16 AND personel_id = 5) OR (details_id = 17 AND personel_id = 5)
this will work :)
don't ask why :(
The issue was due to behavior of the specific version of Airdatepicker.
The maintainers have since updated the package with a new version, so this issue shouldn't arise anymore when using shinyWidgets >= v0.8.7 .
Yes, David and Simon are right! Thanks!
The ReadListener itself doesn't perform the database query. It delegates the work to a Data Provider. The slow performance you observed is because the data provider, during the hydration phase, is likely executing multiple additional queries (the N+1 problem) to load related associations. This happens after the initial main query, leading to the high time spent in the listener.
The ReadListener's role is simply to orchestrate this process and make the retrieved data available to the rest of the framework. The heavy lifting—and the source of your performance problem—lies with the underlying data provider implementation and how it fetches the data.
This question about resources to practice for loops in R really resonated with me because it shows how even experienced users sometimes struggle with concepts that seem basic on the surface but can get tricky in real-world scenarios. The user’s honesty about defaulting to Stack Overflow or AI tools is something many of us can relate to, and it underlines the need for structured practice materials with step-by-step solutions. I think this is similar to how I felt when first setting up automation on my own devices—whether debugging a piece of R code or customizing performance settings on the Samsung Galaxy S24 Ultra, you realize that small steps of hands-on learning are what actually build confidence. This post reminded me that sometimes the best resources aren’t just documentation, but curated exercises that bridge the gap between theory and practice.
Try to install the latest Microsoft Visual 2015-2022 C++ Redistributable.
I had this problem on fresh Windows 10 and Android Studio was one of few apps installed. I gave up trying to solve the problem, but one day the emulator occasionally started. I suppose installing MSVC required by another app helped.
Have a look at https://unicode-explorer.com/c/096C and https://unicode-explorer.com/c/516D and notice how the categories of these two are different ("Nd / Number, decimal digit" vs "Lo / Letter, other").
It looks like the problem was that I didn't add this section in my aks terraform template:
monitor_metrics {
annotations_allowed = var.metric_annotations_allowlist
labels_allowed = var.metric_labels_allowlist
}
Now I can see the aks cluster in the azure monitor workspace.
1<html>
2 <head>
3 <meta charset="utf-8">
4 <title>
5 Lição 2
6</title>
7<body>
<form name="Forml" id="Forml" method="post" action="">
<input type="text" name="executa" id="executa"/> 9
<input type="submit" name="Submit" value="Executar"/> 10
</form> 11
<?php 12
$Cont=17 14
if (isset($_POST["Executa"])) 16
13
15
17日
18
19
20
Sexecuta $_POST["executa"];
21日
22
23
24
25
26
while ($Cont <= Sexecuta)
echo O valor atual do contador é Cont <br>";
$Cont++;
From the Microsoft docs:
"Prerendering is enabled by default for interactive components."
"If any state is created asynchronously, the UI may flicker as the prerendered UI is replaced when the component is rerendered."
As mentioned, PersistentComponentState is the key to avoid this. (take a look here)
For me the issue was that I was running Peewee in wsl and installed the pip package there. So the script would run well when I called this tutorial script through the terminal.
But when i pressed the Run button in vs code it would not work and ask SQlitedatabase not found etc.
So I also installed it in windows with pip install peewee. Now both methods work perfect! Hope this helps someone.
You can build a chatbot on your own text data without an API by using retrieval + a local LLM. The common approach is RAG (Retrieval-Augmented Generation):
1. Embed your text using a model like `all-mpnet-base-v2`.
2. Store embeddings in FAISS or Chroma so you can search relevant chunks quickly.
3. On each query, find the top-matching chunks and feed them into a local instruction-tuned model (e.g. Falcon, Mistral, LLaMA from HuggingFace `transformers`).
You can then pass the retrieved text into a local LLM pipeline from HuggingFace to generate the final answer. For images, caption them with BLIP/CLIP so the paths are also searchable.
As the specification's source code on Github contains similar flaws I strongly believe it is just a typo and thus checked the original jsr-352 specification (Batch Applications for the Java Platform 1.0). It says:
Wildcards of "*" and "?" may be used. "*" matches zero or more characters. "?" matches exactly one character.
Thus I strongly believe the same wildcards still apply in Jakarta Batch 2.1.
Was struggling today with the same issue. Link in comment to OP didnt work, but I managed to fix my case myself and here is how I did it for anyone seeking:
1. In my settings for VSCode extension of Maven path to mvn has been as "{DISK}:/{MavenFolder}/bin"
2. I edited it to "{DISK}:/{MavenFolder}/bin/mvn" and everything works fine!
PS: Dont forget to download and unpack maven from official site somewhere
I’ve used the second approach in production, and it worked fine without any code changes. The Play Console takes care of showing the prompt on launch.
The reason to get back 1 for certain years is that if there are only 52 weeks in a year, then "dec-28" may counted to the first week of the next year. It is easy to get rid of that problem:
weeks <- function(year) {
y<- lubridate::isoweek(paste0(year, "-12-31"))
y[y==1] <- 52
return(y
}
If the purpose of you locking is to prevent double INSERT, JPA is already doing it for you. You can just use .save() as below and it will do an update if the object has already been persisted.
repository.save(object);
Change it to categorical and the data type to whole number and ensure the sort axis is by year ascending.
Dim Panel1 As new Panel()
For i As Integer = 1 to 100
btn = New Button()
' Set Button properties or call a method to do so.
Panel1.Controls.Add(btn) ' Add Button to the container.
AddHandler btn.Click, AddressOf Me.Button_Click ' Again from the answer by Reed.
Next
dialogs only reliably appear when your Flutter window is active. If you want to reach the user while hidden, you’ll need macOS notifications + a queue to show the dialog once visible again.
The Brevo PHP lib is now available via composer require getbrevo/brevo-php. This simplifies things and solves my problem.
Install the extension
Disable it right away
Open the workspace where you want the extension to be enabled
On the extension page, click on a drop-down on "Enable" button, select "Enable (Workspace)"
I also had the same problem, so I decided to crate a python program that creates those within automatically. Here is the program:
import os
import sys
def process_directory(root_path, parent_within=None):
package_name = os.path.basename(root_path)
# Construir el nombre completo del paquete
if parent_within:
full_within = f"{parent_within}.{package_name}"
else:
full_within = package_name
# Crear/reescribir package.mo
package_mo_path = os.path.join(root_path, "package.mo")
with open(package_mo_path, "w", encoding="utf-8") as f:
if parent_within:
f.write(f"within {parent_within};\n")
else:
f.write("within;\n")
f.write(f"package {package_name}\n")
f.write(f"end {package_name};\n")
# Procesar todos los archivos .mo en esta carpeta (excepto package.mo)
for filename in os.listdir(root_path):
file_path = os.path.join(root_path, filename)
if os.path.isfile(file_path) and filename.endswith(".mo") and filename != "package.mo":
with open(file_path, "r", encoding="utf-8") as f:
lines = f.readlines()
# Quitar "within ..." si está en la primera línea
if lines and lines[0].strip().startswith("within "):
lines = lines[1:]
# Añadir la línea correcta
new_lines = [f"within {full_within};\n"] + lines
with open(file_path, "w", encoding="utf-8") as f:
f.writelines(new_lines)
# Recorrer subcarpetas
for subdir in os.listdir(root_path):
subdir_path = os.path.join(root_path, subdir)
if os.path.isdir(subdir_path):
process_directory(subdir_path, full_within)
if __name__ == "__main__":
if len(sys.argv) < 2:
print("❌ Uso: PackageCreater.py <ruta_carpeta>")
sys.exit(1)
root_folder = sys.argv[1]
if not os.path.isdir(root_folder):
print(f"❌ La ruta no existe o no es una carpeta: {root_folder}")
else:
process_directory(root_folder)
print(f"✔ Estructura Modelica actualizada en: {root_folder}")
use LD linker flag:
target_link_libraries(${BIN_NAME} -Wl,-Bstatic tcmalloc_minimal -Wl,Bdynamic)
You have to put -Wl,Bdynamic in the end, otherwise it will try to link everything statically (e.g. libc, libstdc++ ...).
Any reason why we need to temporarily clear vma->vm_pgoff?
I have asked the same question on Terragrunt GitHub repo issues gruntwork-io/terragrunt#4867
The issue comes from the fact that ec2 module uses a data source to get the subnet using its id. So it needs a real subnet id, not a mocked one.
Could we have a note on that question that this is being answered here so that there's a single source of truth for this?
The root cause of the error that you're getting is from the AWS provider, because you're trying to create a security group, and the data source is looking up the subnet with a mocked value. The AWS provider doesn't know that you're mocking the ID of the subnet, so you need to either disable creation of the security group, or use a different module that doesn't attempt to use that data source (or provision the VPC first).
https://github.com/terraform-aws-modules/terraform-aws-ec2-instance/blob/master/main.tf#L734
I found out my issue is due to my file structure and I forgot to update my `Dockerfile` to correct path for tutorial 2 (huge blunder).
My file structure
Dockerfile before update:FROM node:24.5.0
WORKDIR /app
# Wrong path!
COPY ./1-node-js-rest-server/package.json package.json
COPY ./1-node-js-rest-server/package-lock.json package-lock.json
RUN npm install
# Wrong path!
COPY ./1-node-js-rest-server/server.js .
CMD ["node","server.js"]
Dockerfile after update:FROM node:24.5.0
WORKDIR /app
# Fixed path!
COPY ./2-database-and-compose/package.json package.json
COPY ./2-database-and-compose/package-lock.json package-lock.json
RUN npm install
# Fixed path!
COPY ./2-database-and-compose/server.js .
CMD ["node","server.js"]
After rebuilding my image, now everything works correctly.
Mongodb container data persists as expected, even after I had restarted it.

I have simelar issues on my site, and in particular, coupons which are generated by a loyalty plugin.. were you able to find something?
I have used Skillioz.ai, and I find it very easy to use for recruiters while delivering faster results. The platform helps recruiters and organisations streamline the hiring process — from uploading resumes and parsing CVs to matching candidates with jobs, evaluating applicants, and tracking them effectively. It uses intelligent matching that goes beyond simple keywords, considering factors such as skill relevance, experience, and role fit.
While the existing answers focus on type checking methods like isinstance() and type(), I'd like to provide a comprehensive overview of Python's main data types with practical examples and proper type checking techniques for each.
Need to set the width on columns.
The issue is that in FastReport the actual width of a cell is not taken from the cell’s Width property or from the TableObject.Width, but from the column it belongs to.
If don’t set the width on the columns, the engine uses its own values....
tableObject.Columns[0].Width = 5;
Kill the already running port by process id and start again
It worked for me I'm using node version 20
Go to AWS Amplify
From the side menu, under App settings, select Build settings
On the page, scroll down to Build image settings
Click Edit, an Edit build image settings modal will show up.
Under Build image section, click on dropdown and select Build image
enter image description here
If you use Include Controller with a Test Fragment, JMeter may run longer since each inclusion loads and processes the fragment separately, increasing execution overhead and resource usage.
I’ve built a website where, on the first load of the home page, a banner appears along with background music that autoplays. When I scroll up, the banner slides away and the sound mutes, which works perfectly.
However, I’ve noticed that if I reload the page, the audio no longer autoplays. After a lot of research, I’ve concluded that it’s almost impossible to make audio autoplay on subsequent reloads of the same page due to browser restrictions, but it can autoplay the first time the page loads.
Private Sub Workbook_NewSheet(ByVal Sh As Object)
If TypeName(Sh) = "Worksheet" Then
Sh.Cells.ColumnWidth = 35
Sh.Range("A1") = "Sheet added " & Now()
End If
End Sub
const mockExit = jest.spyOn(process, 'exit').mockImplementation(() => {
throw new Error('Boom!')
})
expect(myFunc(condition)).rejects.toThrow('Boom!')
expect(mockExit).toHaveBeenCalledWith(ERROR_CODE)
mockExit.mockRestore()
Late to the party, but just wanted to add this one:
$(() => { ... })
Check if there is another file named db.py somewhere else in your project or Python environment that might be causing a conflict.
In your export.py, add these lines to see which db.py file Python is actually importing
import db
print(db._file_)
Make sure there are no circular imports — for example, db.py should not import export.py or anything that imports export.py.
Restart your Streamlit app and your editor to clear any caches or old imports.
Since C++20, we now have access to std::string::starts_with.
If you intend on checking if std::string str1 starts with std::string str2, you can do the following:
if(str1.starts_with(str2))
{
// code to execute if
// str1 does start with str2
}
For this specific case, it will perform better compared to std::string::find.
It happened to me when I accidently press the run-in debug button in android studio and then cancelled the operation very fast. Then afterwards, running the app normally generated this error.
So, what I did is, I simply restarted my system, and then opened the android studio again, and build/run the app, the app built/ran normally.
As the accepted answer suggested to stop the gradle, the gradle seems to run in the background doing some work and holding resources.
There for either you restart your system or stop the gradle with command, both will solve the problem.
try dragonwell jdk wisp2 coroutines
https://github.com/dragonwell-project/dragonwell8/wiki/Wisp-Documentation
If you encounter errors, check that:
The MIDI file exists and is not corrupted.
music21 is properly installed (pip show music21).
The file path in data_fn is correct.
To visualize the MIDI file’s notation, replace show("text") with show() (requires MuseScore).
To play the MIDI file, use midi_data.show('midi') (requires a MIDI player).
Make me 10 inch tablet for fit in screen shot show me front in center on screen 16:9 or 9: 16 aspect ratio with each side between 1,080 px and 7,680 px
Check the native procedure DBMS_SCHEDULER.EVALUATE_CALENDAR_STRING, that does what you need. The documentation has an example.
This problem often happens in Spring Data JPA when there is a mismatch between entity field names and repository method names, or when the @Entity mapping doesn’t fully align with the database table. In Oracle, column naming is case-sensitive in certain contexts, so even a small mismatch can lead to null results. Also, remember that findById() in newer Spring Boot versions returns an Optional, so you may need to call .orElse(null) depending on your implementation.
For structured and well-organized examples, I always recommend looking at resources that present information in a clear, categorized way. One such example is Birthday Wish Friends, which, although focused on greetings, shows how clean formatting and proper structuring make content easy to follow. Applying a similar approach in your JPA repositories and entities can save you time and make debugging much simpler.
According to bitbucket team, clikcing on "Sync Now" will merge the target (proto in your case) branch on your feature branch.
Thread: https://community.atlassian.com/forums/Bitbucket-questions/What-does-quot-231-commits-behind-quot-develop-quot-Sync-now/qaq-p/2396036
You can disable the WebDAV module directly in your web.config by adding the following inside the <system.webServer> section:
<system.webServer>
<modules>
<remove name="WebDAVModule" />
</modules>
</system.webServer>
Problem is the order, you should write like this:
android:1="xx"
android:2="xx"
android:3="xx"
android:4="xx"
tools:replace="1, 2, 3, 4"
DELETE FROM PushNotification WHERE EmployeeId = 197
Session handling across timeframes can get tricky in Pine Script — syncing to a base timeframe and using timestamp checks instead of just session. isnew might help.
Had a similar issue in another app (Honista APK). The new version broke session flow, but the old version worked perfectly. Sometimes going back is the fix.
That error is not about your Python code — it’s a permissions / API enablement issue in Google Cloud. Even if you are “Admin” in the project, Vertex AI needs the right APIs and service accounts enabled before a custom training job can run.
Things to check
1. Enable the Vertex AI API
Go to Google Cloud Console → APIs & Services → Library and ensure:
• Vertex AI API (aiplatform.googleapis.com) is enabled.
• Cloud Storage API is also enabled (training jobs use GCS for staging).
2. Check the service account used for training
• By default, Vertex AI custom training runs under the Compute Engine default service account or a custom one you specify.
• That service account needs roles like:
• Vertex AI Administrator (roles/aiplatform.admin)
• Storage Admin (roles/storage.admin) or at least Storage Object Admin on your GCS bucket.
Do you have a file inside android/app/src/main/res/xml/network_security_config.xml?
If not try once.
network_security_config.xml
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="true">
<domain includeSubdomains="true">10.0.0.193</domain>
</domain-config>
</network-security-config>
and then reference in AndroidManifest.xml
<application
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
This might help someone in the future.
Known Workarounds
Move the members with [LoggerMessageAttribute] to a class library that does not contain a .XAML file and a reference to one of the packages that trigger the failure.
Source/Issue: https://github.com/dotnet/wpf/issues/9589
HARBI MEGA 2025
| header 1 | header 2 |
|---|---|
| cell 1 | cell 2 |
| cell 3 | cell 4 |
It seems like the memfs package is required webpack-dev-middleware, but somehow it's not installed automatically. This issue will be resolved by manually installing webpack-dev-server.
npm install webpack-dev-middleware --save-dev
When you denote the application tag like above, you depend on the leniency of the parser - correcly close with </application>, not another, empty <application/> tag.
Thanks y4cj4sul3 . Like you mentioned, the problem came from the comment.
\\s+ this regular expression works when u want to skip one or more white spaces in the string
Consider you wanna store all the words in an array
u can write like this
String[] words = string.split("\\s+");
This will give all the words in the String, neglecting one or more white spaces in the string itself.
I found the solution right now. Go to Starlink app on your phone connected. Then Settings>Filter and select at least the "malware" level. That's it!
icmp6[icmp6type] == icmp6-routeradvert
This has been resolved.
The business_management permission now allows you to manage Facebook pages even if you don't have a business account role linked to the app.
sqlcmd can’t always resolve (localdb)\MSSQLLocalDB because LocalDB uses a dynamic pipe name. From your output:
np:\\.\pipe\LOCALDB#8DB1A806\tsql\query
Try connecting with the full pipe path:
sqlcmd -S "np:\\.\pipe\LOCALDB#8DB1A806\tsql\query" -E
If that works, the issue is usually:
Old sqlcmd version – update to the latest SQL Server Command Line Utilities (2022).
Wrong executable in PATH – run where sqlcmd to check.
SSMS resolves LocalDB automatically, but older sqlcmd often does not.
so , change the app icon is only option for that ?
Splitting the tail from the arrow and controlling the curve via points yields better results.
Matplotlib's FancyArrowPatch implementation is interface-oriented rather than coordinate-based (as seen in the source code, it selects rendering positions for quadratic Bézier curve drawing). By imitating its approach, quadratic Bézier curves can be drawn at the coordinate level.
For the arrowhead, I referenced the approach from https://github.com/matplotlib/matplotlib/issues/17284, which offers greater control. I selected the -|> arrow style over Simple because it provides better visual results when line widths are small.
My blog post discusses this topic in greater detail: https://omnisyr.github.io/post/%3B%3B%3BeNon-Solid%20Curves%20with%20Arrows%20in%20Matplotlib%3B%3B%3Be%3B%3B%3BcMatplotlib-zhong-dai-jian-tou-de-fei-shi-qu-xian-%3B%3B%3Bc.html
import math
import matplotlib.patches as patches
import matplotlib.pyplot as plt
import matplotlib.transforms as transforms
import numpy as np
def add_arrow(from_, to_, rad=0.3, control_=None, color='#515151',
line='--', head_length=0.6, size=0.04, detail=False):
"""
:param from_:Starting point
:param to_:Target endpoint
:param rad:Curve radius
:param control_:Control points;
if None, calculated based on the curvature of the curve.
:param color:Drawing colors
:param line:Curve Style
:param head_length:Arrow size
:param size:Mask Size
:param detail:Select whether to draw details,
and manually adjust the mask size by drawing details.
"""
if control_ is None:
x1, y1 = np.array(from_)
x2, y2 = np.array(to_)
dx, dy = x2 - x1, y2 - y1
x12, y12 = (x1 + x2) / 2., (y1 + y2) / 2.
cx, cy = x12 + rad * dy, y12 - rad * dx
control_ = (cx, cy)
vertices = [from_, control_, to_]
codes = [patches.Path.MOVETO, patches.Path.CURVE3, patches.Path.CURVE3]
path = patches.Path(vertices, codes)
patch = patches.PathPatch(path, facecolor='none', edgecolor=color,
linestyle=line, linewidth=1, zorder=-2)
ax.add_patch(patch)
direction = -1 if control_[0] < to_[0] else 1
mask_c = 'red' if detail else 'white'
mask = patches.FancyBboxPatch(
(to_[0], to_[1] - size / 2), direction * size, size, boxstyle="square, pad=0",
ec=mask_c, fc=mask_c, zorder=-1, linewidth=1)
de = math.degrees(math.atan((control_[1] - to_[1]) / (control_[0] - to_[0])))
tf = transforms.Affine2D().rotate_deg_around(to_[0], to_[1], de) + ax.transData
mask.set_transform(tf)
ax.add_patch(mask)
ax.annotate("", to_, xytext=control_, arrowprops=dict(
linewidth=0,
arrowstyle="-|>, head_width=%f, head_length=%f" % (head_length / 2, head_length),
shrinkA=0, shrinkB=0, facecolor=color, linestyle="solid", mutation_scale=10
))
if not detail:
return
ax.scatter(control_[0], control_[1], c=color, marker='x', s=12, linewidths=0.8)
ax.scatter(from_[0], from_[1], c=color, marker='x', s=12, linewidths=0.8)
ax.scatter(to_[0], to_[1], c=color, marker='x', s=12, linewidths=0.8)
ax.plot((control_[0], from_[0]), (control_[1], from_[1]),
color=color, linewidth=.5, linestyle=':')
ax.plot((control_[0], to_[0]), (control_[1], to_[1]),
color=color, linewidth=.5, linestyle=':')
def draw_eg():
debug = False
add_arrow((0.1, 0.1), (1.5, 1.6), rad=0.1, color=colors[1], detail=debug)
add_arrow((0.4, 1.7), (1.4, 0.7), rad=0.8, color=colors[2], detail=debug)
add_arrow((1.9, 1.9), (1.2, 0.1), rad=-0.2, color=colors[3], detail=debug)
add_arrow((1.7, 0.7), (0.3, 1.8), rad=0.5, color=colors[4], detail=debug)
plt.savefig('arrow_example%s.png' % ('_detail' if debug else ''), dpi=600)
fig, ax = plt.subplots(1, 1, figsize=(4, 4))
ax.set_xlim(0, 2)
ax.set_ylim(0, 2)
colors = ['#515151', '#CC9900', '#B177DE', '#37AD6B', '#1A6FDF']
draw_eg()
Is there a solution for this requirement as I am trying the same now there is no AWS in build functionality to auto fetch when new secrets updated.
Sounds like you’re in a GIF pickle! I feel your pain with the bandwidth woes. Maybe try converting those GIFs to frames first? It could save you some headaches. Check this out for converting GIFs if you're curious: <a href="https://giftoframes.com" target="_blank">Gif To Frames</a>
https://removeduplicatesexcel.net
As you have used PERSONAL ACCESS TOKEN so you should not use password.
you should us authMode = token and user = your Token Value.
You may try with this JDBC string
String jdbcUrl = "jdbc:dremio:direct=sql.dremio.cloud:443;" + "ssl=true;" + "project_id=" + PROJECT_ID + ";" + "authMode=$token;" + "user=" + PAT + ";";
Please let us know whether it solved your problem or not.
Thank you all. I had a couple of issues.
I removed the explicit Identifiable declaration on the Event to not add confusion
I rewrote my main as
@main
struct PeriodTrackerApp: App {
var body: some Scene {
WindowGroup {
StartTabView()
.modelContainer(for: [
Event.self,
Stats.self
])
}
}
}
3. I had to delete and re-install the app on my phone. I think I had a stale data that was causing issues
I can get the app to run on HW now
Indeed, $i^i$ is not a unique solution; its solutions are given by $e^{-\frac{1}{2}\pi+2N\pi}, where N\in\mathbb{Z}$.
I encountered a similar issue. Did you solve the problem?
I couldn't see I was checking session instead of err which inevitably would run log.Fatal
session, err := client.NewSession()
if session != nil {
log.Fatalf("Unable to create a session %v", err)
}
My code should have actually check err instead like this:
session, err := client.NewSession()
if err != nil {
log.Fatalf("Unable to create a session %v", err)
}
The credit for this answer goes to @Mr_Pink
U can try this usefull online tool(https://png2apng.wavesfuture.com/) to make a apng motion files
Install a browser extension that replaces web-page emojis with Twemoji (or another emoji set that includes flags).
Example: Twemoji for Chrome (or Emoji Swap) — installs web fonts that render flags.
Chrome Web Store
Restart the browser.
Open the site where flags were missing — they should now show as colored flags (Twemoji supports country flags).
If one site still shows letters, it may be using embedded images or its own emoji renderer — browser extension won't fix that specific app.
my_int = myseries["Element"].astype(int)
I had a similar need to handle some long filenames that actually sorted a field embedded near the end of the name. Since the sort key was at the end, it's a lot nicer to have it lined up.
Since, if you want to do something once, you probably want to do it again, here's a shell function that solved the immediate problem:
rjust ()
{
local line;
local cols=${COLUMNS:-$(tput cols)};
while IFS= read -r line; do
printf "% ${cols}s\n" "${line}";
done
}
It is pure shell, unless ${COLUMNS} is not set automatically. You can also override it from the CLI in case you don't want it slammed all the way to the right edge of a wide terminal window:
ls | COLUMNS=80 rjust
In coming up with the above, I also realized that modern versions of column(1) command include in most linux distros can also solve the same problem. Here's the aforementioned filenames sorted by an embedded timestamp and right justified using the abbreviated equivalent of column --table --table-column right:
$ ls *.??? | sort -t. -k4 | column -tC right | head
PowerCycleTest.SG2v1-sn0314fd-wan-cfg7-man3.0s-atfpy.Sep21221944.csv
VerboseLog.SG2v1-sn0314fd-wan-cfg7-man3.0s-atfpy.Sep21221944.txt
VerboseLog.SG2v1-sn0314fe-wan-cfg8-man3.0s-atfpy-100x.Sep22022427.txt
PowerCycleTest.SG2v1-sn0314fd-wan-cfg7-man3.0s-atfpy-10xb.Sep22141040.csv
RebootTest.SG2v1-sn0314fd-wan-cfg7-man3.0s-atfpy-10xb.Sep22141040.csv
Test.SG2v1-sn0314fd-wan-cfg7-man3.0s-atfpy-10xb.Sep22141040.csv
VerboseLog.SG2v1-sn0314fd-wan-cfg7-man3.0s-atfpy-10xb.Sep22141040.txt
PowerCycleTest.SG2v1-sn0314fe-wan-cfg8-man6.0s-atfpy-10xb.Sep23110134.csv
RebootTest.SG2v1-sn0314fe-wan-cfg8-man6.0s-atfpy-10xb.Sep23110134.csv
The problem is MSSQL password complexity. I have spent 4hrs trying to resolve the same issue but later found that if you sa password does not meet the minimum password requirement policy, authentication will fail. In my case, Your password must include at least (2 numeric values),(2 uppercase letters)(2 special char) and other letters.
If you are using OSX (or any unix system) and Cursor (not VScode), try: killall Cursor.
Pay attention to the case sensitivity of "Cursor".
This may have changed in a recent update, but as of September 2025 you can go to the Variables pane in the Run and Debug sidebar, right-click the variable you need, and select 'Copy Value'. This will copy the full value of the string to the clipboard rather than the truncated value shown by the UI.
Strictly speaking, you can't verify that the user actually has push notifications turned on. The Banno Digital Toolkit doesn't offer any mechanism to make that determination.
Also strictly speaking, the user gets to choose which 'channels' they want to use for receiving alerts (email, push, SMS). See https://jackhenry.dev/open-api-docs/consumer-api/api-reference/v0/alerts/details/
When using --fake-initial, only the initial migrations are marked as fake in the django_migrations table. Therefore, you should use --fake instead if you want to fake non-initial migrations.
Unfortunately, the deeplink parameter is not actually supported in POST /a/mobile/api/v0/institutions/{institutionId}/users/{userId}/alert/send/generic.
We can update our docs to make this more apparent / clear.
I had a similar problem and ran across this. This may not work for everyone, but I did this to avoid the problem altogether:
mystrings := []string{"ay", "bee", "see"}
longstr := strings.Join(mystrings, "\n")
bytes := []byte(longstr)
| header 1 | header 2 |
|---|---|
| cell 1 | cell 2 |
| cell 3 | cell 4 |
Have you taken a shit in your PC? Cuz it smells like crap
You followed the right steps. I have found that sometimes retrying it works, but if it keeps failing, you may have to authenticate with a username and a token (you can generate one from the old repo).
Also what's the difference between importing the repo vs forking the old one
Forking a repo is creating a personal copy but with link to the original repo, this way you can make changes on yours safely.
Importing does this but without pointing to the original.
After fighting with this for a while I finally reached a partial solution. First I managed to connect the server that runs on my remote linux machine with the emulator in my windows workstation. To do that I opened a reverse ssh tunnel from windows to linux, I changed the default port so it doesn’t collide. For example:
ssh -o ExitOnForwardFailure=yes `
-R 127.0.0.1:15037:127.0.0.1:5037 user@your-remote
Then on the linux machine I modified the environment variable that tells adb which port to use. At this point if I run adb devices I should be able to see the emulator from my local windows machine listed on the remote linux side.
adb kill-server
export ADB_SERVER_SOCKET=tcp:127.0.0.1:15037
adb devices
Since dioxus needs to know the server url I just added this line:
server_fn::client::set_server_url("http://localhost:8080");
With this I already got the app running in the windows emulator.
But even with this working I still hit some problems with routes and redirects. First the client running in the emulator couldn’t find the server on the linux machine.
To solve that I forwarded port 8080 from the remote machine:
ssh -N -L 8080:127.0.0.1:8080 user@your-remote
After that I was able to use the server routes, and that allowed me to start the google auth flow. The problem now is that after a successful login the browser inside the emulator tries to redirect to localhost:8080 but it cannot find that route, so this part I haven’t solved yet.
typo:
gaussian = np.exp(-(x/sigma)**2/2)
should be
gaussian = np.exp(-(gx/sigma)**2/2)
It turns out in strapi v5 it’s a breaking change.
There’s a new field in every record - documentID and you have to use that instead of id. The 404 are correctly 404, you just have to use the right id.
I eventually fix it by running:
ANALYZE TABLE project_reports; (query from 26 seconds down to 17 seconds)
AND adding composite indexes (query from 17 seconds down to 900ms)
In Visual Studio, the Structure Visualizer option only shows up under F# settings, so there’s no separate toggle for C#.
Changing the Outlining Margin Vertical Rule only affects the outermost namespace–level line (the red lines in the screenshot). For the inner scope lines, you need to adjust the Structure Guide color instead.
Delete everything inside C:\Users\helci.gradle\caches\ directory.
After that invalidate cashes and Restart Android Studio
@Anders_K @mcaniot Seems like I can't reply to your posts due to thread age. Do either of you know where I can find the documentation for this issue? I have followed both your instructions and got an image to temporarily load yesterday, but now Pepper is back to only displaying a black screen. Any help is greatly appreciated.
You can override unwanted flags in setup.py by modifying extra_compile_args or using a custom build class. Did something similar while tweaking a 3 patti project’s build and it worked fine.
<!DOCTYPE html>
<html lang="en">
<head>
<title>Medical Research PDF Search</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bulma CSS Framework -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/css/bulma.min.css">
<style>
body { padding: 40px; }
.match { background-color: #ffdd57; font-weight: bold; padding: 2px 4px; border-radius: 4px; }
.box { padding: 20px; margin-bottom: 20px; }
.title { color: #363636; }
.notification { margin-top: 20px; }
.hero { margin-bottom: 40px; }
.search-results-section { margin-top: 40px; }
.search-input-container { margin-bottom: 20px; }
.document-card { margin-top: 20px; border-radius: 8px; }
</style>
</head>
<body>
<section class="hero is-primary">
<div class="hero-body">
<p class="title">
Medical Research PDF Search
</p>
<p class="subtitle">
Upload and search medical documents in real-time
</p>
</div>
</section>
<div class="container">
<!-- Upload Section -->
<div class="box">
<h2 class="title is-4">Upload PDF Document</h2>
<div class="field is-grouped">
<div class="control is-expanded">
<div class="file has-name is-fullwidth">
<label class="file-label">
<input class="file-input" type="file" id="pdfFile">
<span class="file-cta">
<span class="file-icon"><i class="fas fa-upload"></i></span>
<span class="file-label">Choose a PDF…</span>
</span>
<span class="file-name" id="fileName">No file selected</span>
</label>
</div>
</div>
<div class="control">
<button class="button is-primary" onclick="uploadPdf()">Upload</button>
</div>
</div>
<p id="uploadStatus" class="help"></p>
</div>
<!-- Search Section -->
<div class="box">
<h2 class="title is-4">Search Documents</h2>
<div class="field has-addons">
<div class="control is-expanded">
<input class="input" type="text" id="searchKeyword" placeholder="e.g., clinical trial, novel virus">
</div>
<div class="control">
<button class="button is-info" onclick="searchPdfs()">Search</button>
</div>
</div>
</div>
<!-- Search Results Section -->
<div class="search-results-section">
<div id="results" class="results-container"></div>
</div>
</div>
<script>
const fileInput = document.getElementById('pdfFile');
const fileNameSpan = document.getElementById('fileName');
fileInput.addEventListener('change', () => {
if (fileInput.files.length > 0) {
fileNameSpan.textContent = fileInput.files[0].name;
} else {
fileNameSpan.textContent = 'No file selected';
}
});
// Function to upload a PDF
async function uploadPdf() {
const file = fileInput.files[0];
const statusDiv = document.getElementById('uploadStatus');
if (!file) {
statusDiv.className = 'help is-danger';
statusDiv.innerText = 'No file selected.';
return;
}
statusDiv.innerText = 'Uploading...';
const formData = new FormData();
formData.append('pdf', file);
try {
const response = await fetch('/upload', {
method: 'POST',
body: formData
});
const result = await response.text();
statusDiv.className = 'help is-success';
statusDiv.innerText = result;
} catch (error) {
statusDiv.className = 'help is-danger';
statusDiv.innerText = 'Error uploading file.';
console.error(error);
}
}
// Function to search PDFs
async function searchPdfs() {
const keyword = document.getElementById('searchKeyword').value;
const resultsDiv = document.getElementById('results');
resultsDiv.innerHTML = '';
if (!keyword) {
resultsDiv.innerHTML = '<div class="notification is-danger">Please enter a keyword.</div>';
return;
}
try {
const response = await fetch(`/search?keyword=${encodeURIComponent(keyword)}`);
const pdfs = await response.json();
if (pdfs.length === 0) {
resultsDiv.innerHTML = '<div class="notification is-warning">No matches found.</div>';
} else {
pdfs.forEach(pdf => {
const pdfCard = document.createElement('div');
pdfCard.className = 'box document-card';
const pdfTitle = document.createElement('h4');
pdfTitle.className = 'title is-5';
pdfTitle.textContent = pdf.filename;
pdfCard.appendChild(pdfTitle);
const escapedKeyword = keyword.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
const regex = new RegExp(escapedKeyword, 'gi');
const highlightedText = pdf.text.replace(regex, `<span class="match">${keyword}</span>`);
const preview = highlightedText.length > 800 ? highlightedText.substring(0, 800) + '...' : highlightedText;
const textContent = document.createElement('p');
textContent.className = 'is-size-7 has-text-grey-dark';
textContent.innerHTML = preview;
pdfCard.appendChild(textContent);
resultsDiv.appendChild(pdfCard);
});
}
} catch (error) {
resultsDiv.innerHTML = '<div class="notification is-danger">Error performing search.</div>';
console.error(error);
}
}
</script>
</body>
</html>
const PDFDocument = require('pdfkit');
const fs = require('fs');
function createSamplePdf() {
// Create a new PDF document instance
const doc = new PDFDocument();
// Pipe the PDF document to a write stream to save it to disk
doc.pipe(fs.createWriteStream('sample.pdf'));
// Add a title to the document
doc.fontSize(20).text('Medical Research Sample Document', {
align: 'center'
});
// Add a subtitle
doc.fontSize(14).text('\nPatient Case Study: Keyword Search Test', {
align: 'center'
});
// Add the main body of text with keywords
doc.moveDown();
doc.fontSize(12).text(
'This document is a sample case study for a research application. The patient, diagnosed with a **novel virus**, ' +
'exhibited a range of symptoms, including fever, persistent cough, and elevated inflammation markers. ' +
'The patient was enrolled in a clinical trial testing a new **treatment protocol**. ' +
'Following treatment, the patient’s inflammation levels returned to normal. The keyword **clinical trial** ' +
'is relevant to this case. Further research will focus on the **novel virus** and its variants.',
{
align: 'left',
indent: 20,
paragraphGap: 10
}
);
// Add a list of keywords for easy reference
doc.moveDown();
doc.fontSize(10).text('Keywords for Search:', { underline: true });
doc.fontSize(10).list(['novel virus', 'inflammation', 'clinical trial', 'treatment protocol', 'variants']);
// Finalize the PDF and end the stream
doc.end();
console.log('sample.pdf has been created.');
}
// Execute the function
createSamplePdf();
const PDFDocument = require('pdfkit');
const fs = require('fs');
const { faker } = require('@faker-js/faker');
function generateRealTimeMedicalPdf() {
const doc = new PDFDocument();
const fileName = 'real_time_clinical_data.pdf';
doc.pipe(fs.createWriteStream(fileName));
// Medical Research Title
doc.fontSize(20).text('Real-Time Clinical Trial Data', { align: 'center' });
doc.moveDown();
// Project details
doc.fontSize(12).text(`Project: Novel Respiratory Drug Trial`, { underline: true });
doc.text(`Trial ID: ${faker.string.alphanumeric(8).toUpperCase()}`);
doc.text(`Monitoring Date: ${new Date().toLocaleString()}`);
doc.moveDown();
// Simulate a real-time stream of patient monitoring data
doc.fontSize(10);
for (let i = 0; i < 50; i++) {
const patientID = `PT-${faker.string.numeric(5)}`;
const eventType = faker.helpers.arrayElement([
'Vital Sign Update',
'Adverse Event Reported',
'Medication Dispensed',
'Patient Interview',
]);
const eventTime = faker.date.recent({ days: 1 });
const bloodPressure = `${faker.number.int({ min: 100, max: 140 })}/${faker.number.int({ min: 60, max: 90 })}`;
const heartRate = faker.number.int({ min: 60, max: 100 });
const oxygenSaturation = faker.number.int({ min: 95, max: 99 });
const note = faker.lorem.sentences(1);
// Write a new line of data
doc.text(`[${eventTime.toLocaleTimeString()}] **${eventType}**: Patient ID ${patientID}`);
doc.text(` - Blood Pressure: ${bloodPressure}, Heart Rate: ${heartRate}, Oxygen Saturation: ${oxygenSaturation}%`);
doc.text(` - Notes: ${note}`);
doc.text('----------------------------------------------------');
}
// Finalize the PDF
doc.end();
console.log(`Successfully created a simulated real-time PDF: ${fileName}`);
}
// Execute the function
generateRealTimeMedicalPdf();
{
"name": "pdf-search-app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"@faker-js/faker": "^10.0.0",
"express": "^5.1.0",
"mongoose": "^8.18.1",
"multer": "^2.0.2",
"pdf-parse": "^1.1.1",
"pdfkit": "^0.17.2",
"socket.io": "^4.8.1"
}
}
const express = require('express');
const multer = require('multer');
const pdfParse = require('pdf-parse');
const path = require('path');
const fs = require('fs'); // Import the file system module
const app = express();
const port = 3000;
// An in-memory array to store the extracted PDF data
const pdfDocuments = [];
// Set up Multer to store uploaded files on the disk
const upload = multer({ dest: 'uploads/' });
// Ensure the 'uploads' directory exists
if (!fs.existsSync('uploads')) {
fs.mkdirSync('uploads');
}
app.use(express.static('public'));
// --- File Upload Endpoint ---
app.post('/upload', upload.single('pdf'), async (req, res) => {
if (!req.file || req.file.mimetype !== 'application/pdf') {
return res.status(400).send('Please upload a PDF file.');
}
try {
const filePath = req.file.path;
const dataBuffer = fs.readFileSync(filePath);
const data = await pdfParse(dataBuffer);
// Store the extracted text and original filename in memory
const newPdf = {
id: pdfDocuments.length + 1,
filename: req.file.originalname,
text: data.text
};
pdfDocuments.push(newPdf);
// Clean up the temporary file
fs.unlinkSync(filePath);
res.status(200).send('PDF uploaded and text extracted successfully.');
} catch (err) {
console.error('Error during PDF processing:', err);
res.status(500).send('Error processing PDF.');
}
});
// --- Real-time Search Endpoint ---
app.get('/search', (req, res) => {
const { keyword } = req.query;
if (!keyword) {
return res.status(400).send('Please provide a keyword to search.');
}
const results = pdfDocuments.filter(doc =>
doc.text.toLowerCase().includes(keyword.toLowerCase())
);
res.status(200).json(results);
});
app.listen(port, () => {
console.log(`Server listening on port ${port}`);
});
I had this error when the json file was saved with UTF-16 encoding. Switching to UTF-8 fixed the issue.
Another option is LexoRank which stores the order in strings (Jira uses this for ranking tasks) https://www.youtube.com/watch?v=OjQv9xMoFbg