Use readability-identifier-naming.PrivateMethodCase
https://coderanch.com/t/586911/ide/Variable-references-existent-resource-workspace
I was getting similar issue for Maven project. Solution given on above site helped me.
From Xcode 16 onwards Provisioning Profiles have moved to new location which is
~/Library/Developer/Xcode/UserData/Provisioning\ Profiles
The old location was ~/Library/MobileDevice/Provisioning\ Profiles
import React, { useState } from 'react'; import { Link } from 'react-router-dom';
export default function LoginPage() { const [showPassword, setShowPassword] = useState(false);
return ( تسجيل الدخول البريد الإلكتروني كلمة المرور <input type={showPassword ? "text" : "password"} className="w-full px-4 py-2 border rounded-lg text-right" placeholder="********" required /> <button type="button" onClick={() => setShowPassword(!showPassword)} className="absolute left-3 top-2 text-sm text-purple-600 hover:underline" > {showPassword ? "إخفاء" : "إظهار"} دخول ليس لديك حساب؟ أنشئ حساب
); }I was able to get this working by following the "MyActivity" example given by @alex-aelenei, however, I also had to add a plugin to correctly update the AndroidManifest.xml file, otherwise I received the following error when starting the activity:
expo android.content.ActivityNotFoundException: Unable to find explicit activity class {example.com/expo.modules.mymodule.MyActivity}; have you declared this activity in your AndroidManifest.xml, or does your intent not match its declared <intent-filter>?
I added a file ./plugin/android/withAndroidCustomActivity.js
that contains the following (taken from https://forums.expo.dev/t/how-to-create-a-plugin-that-writes-a-new-activity-in-manifes-xml/68257/6 and modified):
const { withAndroidManifest } = require("@expo/config-plugins");
const customActivity = {
$: {
"android:name": "expo.modules.mymodule.MyActivity",
},
};
function addCustomActivityToMainApplication(androidManifest, attributes) {
const { manifest } = androidManifest;
// Check if there are any application tags
if (!Array.isArray(manifest.application)) {
console.warn(
"withAndroidMainActivityAttributes: No application array in manifest?",
);
return androidManifest;
}
// Find the "application" called ".MainApplication"
const application = manifest.application.find(
(item) => item.$["android:name"] === ".MainApplication",
);
if (!application) {
console.warn("addCustomActivityToMainApplication: No .MainApplication?");
return androidManifest;
}
// Check if there are any activity tags
const activities = application.activity;
if (!Array.isArray(activities)) {
console.warn(
"addCustomActivityToMainApplication: No activity array in .MainApplication?",
);
return androidManifest;
}
// If we don't find the custom activity, add it
// If we do find it, assume it's correct
if (
!activities.find(
(item) => item.$["android:name"] === "expo.modules.mymodule.MyActivity",
)
) {
activities.push(customActivity);
}
return androidManifest;
}
module.exports = function withAndroidCustomActivity(config, attributes) {
return withAndroidManifest(config, (config) => {
config.modResults = addCustomActivityToMainApplication(
config.modResults,
attributes,
);
return config;
});
};
and updating my app.config.js
to include:
plugins: [<other plugins (e.g. "expo-router")>, "./plugin/android/withAndroidCustomActivity.js"],
I also had to run npx expo prebuild -p android
to correctly regenerate the AndroidManifest file
Running into similar issue when LLAMA 3.3 keeps on calling tools for no reason for simple questions such as Hello How are you? and this happens rather inconsistently. Would be interested to know if someone finds a solution to this
The answer was very simple, I had a typo:
<plugin>
<inherited>true</inherited>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.1.1</version>
<configuration>
<archive>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
<!-- <builtBy>TESTING</builtBy>-->
<!-- <addBuildEnvironmentEntries>false</addBuildEnvironmentEntries>-->
</manifest>
<manifestEntries>
<Implementation-Version>${project.version}</Implementation-Version>
<Implementation-Build>${project.version}.${git.commit.id.abbrev}</Implementation-Build>
<Built-By>TESTING</Built-By>
</manifestEntries>
</archive>
<resources>
<entityReference>
<directory>src/main/java</directory>
<includes>
<include>**/*properties</include>
</includes>
</entityReference>
</resources>
</configuration>
</plugin>
Looking at what I had above, I apparently had tried Built-By as it was commented out. However, the above code now works. I'm not sure when it started working on how the above example did not work.
In mine, the database user name was wrong in the Connection String, in the appsettings.json file it is in the path C:\inetpub\wwwroot\app_pasta
There are only a few things you can do in this situation:
Reset the BIOS: Some laptops (keep in mind, not all laptops) let you reset the BIOS settings, which may include the password. Usually this means removing the CMOS battery from for a few minutes (keep in mind this also completely clears your RAM and Flash Memory).
Using a Master Password: Acer most likely has a master password to reset the BIOS password. You'll probably need Acer support to give it to you and you'll need a laptop serial number.
BIOS Recovery Tools: My only advice on this is to proceed with caution, as most of the tools do more harm than good.
Professional Help: I have a festering hate of manufacture "technicians", so if you go this route prepare for your device to be wiped without notice.
DON'T Reimage the Laptop: You mentioned being willing to do this, but this will not reset the BIOS password. Instead, you will just cause unnecessary data loss.
Another method I don't recommend (but that could work) is brute-forcing the password with a flipper zero or something like that. The reason I don't recommend this is because it could fry your motherboard.
You can do it with join
numbers = [int(i) for i in input().split()] #Takes Input
new_list = [num for num in numbers if num >= 0] #Removes Negatives
inputs = sorted(new_list) #Sorts Input
print(" ".join(str(num) for num in inputs))
input:
10 4 39 12 2
output:
2 4 10 12 39
Best regards to all here!
I get this message (In Spanish):
C:\PathfrmForm.scx denied access to the file.
I am using Visual FOxPro 9.0 with Service Pack 2 for the Administrative Software named profit Plus 2K8 here in Venezuela which has its database in SQL Server 2014.
This is the code that I am using in a .prg that executes when the Document like an INVOICE has been ALREADY saved:
LOCAL pforma
pforma = _screen.ActiveForm
SET DEFAULT TO "E:\Program Files (x86)\Softech Consultores\Profit Plus Administrativo\reporadi" &&\"
DO FORM "E:\Program Files (x86)\Softech Consultores\Profit Plus Administrativo\reporadi\frmNotaRecepcion.scx"
MESSAGEBOX(MESSAGE())
********************************************************************************************* THIS COMES FROM THE FORM
** LOAD
SET PROCEDURE TO SET DEFAULT TO "E:\Program Files (x86)\Softech Consultores\Profit Plus Administrativo\reporadi" ADDITIVE
SET PROCEDURE TO E:\Program Files (x86)\Softech Consultores\Profit Plus Administrativo\reporadi\frmNotaRecepcion.prg ADDITIVE
*** SET PROCEDURE TO prgs\cupertino_functions.prg ADDITIVE
&&\"prgs\cupertino_functions.prg ADDITIVE
MESSAGEBOX("Load!" + MESSAGE())
******************************************************************************************
LOCAL lcResult as Integer
lcResult = cupertinoYesNo("Atencion","Mensaje estilo cupertino Info","Si","No")
IF lcResult = 1
***ejecutar metodos
cupertinoInfo("Atencion","Desea Crear una Nota de Recepción? 1: Si","Ok")
ELSE
cupertinoInfo("Atencion","Cerrar 2: No","Ok")
ENDIF
******************************************************************************************
MESSAGEBOX("Activate!" + MESSAGE())
Can anybody helpme to get a simple Messagebox with 2 options to execute. If the user clicks Yes then I must send 3 parameters to a Store Procedure that is already tested in SQL Server 2014 or even Superior?
Thank you in advance!!!
ENG. Franklin Gutiérrez.
PD: I can send any capture of the app of specific files that ANYBODY needs and asks me! Or even give him remote access to my Laptop to see how to solvie it or show him/her how it works the app and how do I work with it to solve these kind of requiriments. I can send a TIP!
If you only want to obtain which page the webview has navigated to, you can add the following WKNavigationDelegate method to obtain it:
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
print("the web view has navigated to: \(webView.url?.absoluteString ?? "")")
}
Sounds like you may have an instance of a daily flight that crosses the date line.
i.e same flight number but different physical trip. the arrival you picked up was the flight from yesterdays departure.
I know this may be an old question, but I encountered same issue and solved it by creating a content snippet with link to the manifest file in it.
Hope this is useful for anyone who still has the same issue.
Regards,
Jonas
я новичок во объясните пожалуйста как убрать флаг
i have the same issue. Do you have a solution for this?
I'm looking for this as well. This was an easy thing to see in (on-site) AD, I can't believe that this has been lost in Azure/Identity.
In Insiders edition it is now in a drop down next to choosing the LLM.
This was really bugging me and hardly did any coding for the last week due to the "pain" of copy paste.
DBML (Database Markup Language) is an open-source DSL language designed to define and document database schemas and structures. It is designed to be simple, consistent and highly-readable.
DBML was born out from dbdiagram.io, a simple database diagram visualizer. At the time (Aug 2018) we were looking for a simple tool to design database structure but couldn't come up with one we liked. So we decided to build one.
import numpy as np
import matplotlib.pyplot as plt
# Определяем функцию
def f(x):
return np.exp(7 * x - 14)
# Генерируем значения x
x = np.linspace(-3, 3, 400)
y = f(x)
# Создаем график
plt.figure(figsize=(10, 6))
plt.plot(x, y, label='y = e^(7x - 14)', color='blue')
plt.axhline(0, color='black', lw=0.5, ls='--')
plt.axvline(0, color='black', lw=0.5, ls='--')
plt.title('График функции y = e^(7x - 14)')
plt.xlabel('x')
plt.ylabel('y')
plt.ylim(-1, 10) # Ограничиваем ось y для лучшего отображения
plt.grid()
plt.legend()
plt.show()
$ pip install SomePackage # latest version
$ pip install SomePackage==1.0.4 # specific version
$ pip install 'SomePackage>=1.0.4'
Open the debugging dropdown, hover over Script Debugging, and set it to Disabled.
This fixed the issue for me and debugging now opens in a tab using my main profile.
I see that this post is 6 months old, but nobody responded to it. Did you get an answer to your question? I'm in the same boat.
Reinstallation of CS fixed everything bruh
I know this is old but it shows up as a first result for this issue.
Here you'd use a wildcard:
"anything-but": {
"wildcard": ["database_1*", "database_2*", "*_test"]
}
I am facing the exact same issue:
console.log(variationGroupForm.formState.isDirty, " :: is dirty"); // is true
console.log(variationGroupForm.formState.dirtyFields, " :: dirty fields"); // but has no dirty fields
I have an isEmpty
function that checks the length of Object.keys
of the dirtyFields
object.
<Button
loading={isUpdating}
disabled={isEmpty(variationGroupForm.formState.dirtyFields) || !variationGroupForm.formState.isValid}
onClick={variationGroupForm.handleSubmit(onUpdateVariationGroup)}
>
Update
</Button>
This works.
export function isEmpty(obj: Record<string, any> | null | undefined): boolean {
if (obj == null) return true;
if (typeof obj !== "object") return false;
if (Array.isArray(obj)) return obj.length === 0;
if (obj instanceof Map || obj instanceof Set) return obj.size === 0;
return Object.keys(obj).length === 0;
}
import matplotlib.pyplot as plt
from matplotlib_venn import venn2
# Definir los tamaños de los grupos
satisfechos = 60
insatisfechos = 40
# Crear el diagrama de Venn
plt.figure(figsize=(8, 6))
venn2(subsets=(satisfechos, insatisfechos, 0), set_labels=('Satisfechos', 'Insatisfechos'))
# Mostrar el gráfico
plt.title("Satisfacción sobre la Rapidez en la Atención")
plt.show()
This query yields the same results, but runs much faster (less than 0.0015s); where as the original query, with multiple sub-queries, never took less than 0.0025s.
SELECT DISTINCT `Pos Dept`, `Dept Desc`
FROM collData JOIN depts ON collData.`Pos Dept`= depts.dept_code
WHERE collData.`Dept Desc` <> depts.dept_name
ORDER BY `Pos Dept`;
Thanks for the guidance @Barmar.
I used this page to design the JOIN-based query: https://dev.mysql.com/doc/refman/5.7/en/rewriting-subqueries.html
Use portable version of IconsExctract
I managed to get this working on Keycloak 26.1.4 by adding a mapper to the organization:* client scope.
I created a client scope called organization:*
I then configured a new mapper for organization:* and chose Organization Membership for the mapping:
I then added organization client scope as an optional type to my client, and organization:* as a default type.
Once I did this, the Organization claim appears in my access token, and multiple organizations display if my users belongs to multiple organizations.
rm -rf android
Or manually delete the android folder.
2. Recreate the Android Project
Run:
flutter create .
I have found my issue. I was misunderstanding workspaces with spaces. After some investigation making a call with https://api.clickup.com/api/v2/team/
will only get the one worksapce I have created. If I wanted to see the other spaces within the the workspace I have to make this call instead https://api.clickup.com/api/v2/team/{team_id}/space
.
Essentially I had to think Workspaces are like companies, while spaces are the department/teams. It made sense in my brain with that distinct comparison.
Yes the integer division in both languages needs to match and the working line is
Dim midOffset As Long = (fileLength / 2)-1
I was searching and wondering about the same thing you asked, And did not find a reasonable answer even using AI chatbots, So I managed to understand it using my theory, We know that the deployment might manage and create a set of pods for multiple labels
(as your example shows), That's why there is a directive matchlabels
that takes multiple labels, unlike the service which needs only one label
to route traffic to, Because we know that a request will never go to 2 different applications, For example you can't tell the service to rout this get request https://website/products/2
traffic to wordpress
and mysql
at the same time.
Since python 3.7:
sys.stdout.reconfigure(encoding='utf-8', errors='surrogatepass')
What are the specific question do you have? Do you have issues when running these commands or you don't know how to count these unique values?
Office 2016 (x32) saved the last width just fine. But Office 2021 (x64) always sets it to 200.
Thanks to rominator007's idea, I did the following:
var taskPane = wordDocument.CommandBars["Task Pane"];
if (taskPane != null && taskPane.Width < 250)
{
// You need to first touch the Position to be able to set the Width.
var pos = taskPane.Position;
taskPane.Position = pos;
taskPane.Width = 250;
}
ah! i see what you mean. the only way is to change to linux
@BehnamAbdy ran across this issue today and it's extremely frustrating. What I was able to track down is, while I was setting the selected item index and the selected item when initializing the view model, something was causing the selected item view model property to get set to null. There is some type of initialization code that runs after the view model state is restored and before the page is displayed.
From the call stack, it seems a OnBindingContextChanged event is happening which is causing the picker to get "reinitialized" that wipes out the selected item property. Picker.ResetItems() is called which appears to be eventually calling Picker.UpdateSelectedItem() which seems to clear the selected item property.
To work around this, I added an override of OnNavigatedTo on the page. I check the selected item index on the view model and cross check the selected item is not null. If the two don't agree, I set the selected item in the view model and magically the picker displays the selected item from the pick list.
I finally found a solution:
In Eclipse I removed all PYTHONPATH entries, since pyenv is handling the paths. In the pydev project I added a .pyton-version file (see https://github.com/pyenv/pyenv), that defines the Python version (including all paths) for this project folder.
Starting from version 0.70.0, fl_chart has scroll support via the FlTransformationConfig
.
Had this problem recently, in my case, turns out I needed to provide then full path instead of a relative one or with alias:
mkvirtualenv NAME -p /home/USER/.asdf/installs/python/3.13.3/bin/python3.13
You can check where is your python installation with which python
Why stackexchange team never answeering?
Could you use transformed color/fill scale? Instead of scale_color_continuous() use
continuous_scale(
aesthetics = "color",
palette = pal_seq_gradient(
low = "#132B43",
high = "#56B1F7",
"Lab"),
transform = "log"
) +
guides(color = "colorbar")
As said above you should import the path as a module, and to be recognized as a module you'll have to add the following lines to your vite-env.d.ts or create a images.d.ts file:
declare module "*.jpg";
declare module "*.jpeg";
declare module "*.png";
declare module "*.gif";
declare module "*.svg";
Replace your new config.t32
with old one.
You may not have many extensions but one bad one could slow you down. I would try disabling them one by one and seeing if it effects performance.
If your auto save is on, try turning that off and seeing if it effects anything. Eclipse used to get really slow on me when I would save the project to onedrive, so maybe check where it is saving to, though I wouldn't expect a small project in vscode be that bad for syncing.
Other than that, I would definitely try a reinstall if you haven't already, fixes a surprising number of issues.
I received the same message while running liquibase with postgres. After some research I found out that the problem was in the postgres driver. Postgres driver version 42.7.5 was not compatible with liquibase 4.27.0. Version 42.7.4 of the prostgres driver works just fine.
To periodically obtain, update, and compare data in Android, use WorkManager for reliable background tasks, even after app restarts. It’s perfect for fetching data like Aurora Borealis visibility updates. Store previous results in a local database (e.g., Room), and compare new data using simple logic or DiffUtil
for efficient UI updates. This setup ensures your app always shows the latest data — whether it's forecasts, locations, or any changing real-time info.
I got mine working after running this command in docker:
docker run -p 8000:5000 -e DOTNET_URLS=http://+:5000 --name=<container_name> <image_name>
You probly cannot believe it but for us, the reason is someone added an AndroidClientID to our iOS Google plist. It works once I have this field removed.
It sounds like you use OSS. If so, a better way of doing this is described here: https://aps.autodesk.com/blog/new-feature-support-direct-s3-migration-inputoutput-files-design-automation
It seems like for loop is more preferable here
a = []
for b in c:
try:
a.append(SomeClass.SomeMethod(doc, b).Name)
except Exception:
a.append(None)
I'm trying to use this code, but it gives an error with files larger than 50 Megas.
Do I need to change anything in this code?
In my case (PyCharm 2024.1 (Community Edition) Build #PC-241.14494.241, built on March 28, 2024):
Press Run in main menu, select Edit configuration
Press Modify options, select Emulate terminal in output console
i am getting the same error did everything but no resolution please help.
I'm not sure if this applies to the OP but I had successfully used the Android Studio device emulator previously, then didn't use Android Studio for several months and then when I started using it again the device emulator no longer worked.
After a bit of digging I discovered that it currently doesn't work because my Lenovo laptop graphics chip, a Intel UHD 620 only supports Vulkan 1.3.215 which results in the warnings "Please update the emulator to one that supports the feature(s): VulkanVirtualQueue" and also "Your GPU 'Intel(R) UHD Graphics 620' has driver version 1.3.215, and cannot support Vulkan properly on windows" This information came from the Idea.log that you can find in "Help/Show Log In Explorer" in Android Studio.
To test that this was the issue I simply created my own device in Device Manager and in "Additional Settings" and set the acceleration to "Software". (However it runs so slowly that for me it's unusable).
I believe what happened is when I upgraded Android Studio it also upgraded the Vulkan requirements, which is why it stopped working.
Are there any updates? I am having a similar problem with dependencies on Codemagic. Were you able to solve the problem?
Writing this answer, I will assume that whomever is reading it, will be using an AUTOSAR Dem implementation from a vendor. If that is the case, look for "root cause" inside the vendor's reference manual.
This behaviour occurs because when you have a combined event, inside the stored data you will have a "master" event ID, as all combined events reference one event. That means whatever ID is stored could potentially differ from the one that triggered the DTC storage.
As a result, the Dem cannot employ status data restoration upon startup for the combined event after a power reset (the status block does not get saved in this case). To circumvent this issue, you need to add a second "root cause" event ID, either in the snapshot or extended data. This variable is internal to the Dem, hopefully, so you don't need to add any higher-level logic.
An easier way is to use the gmap
parameter of background_gradient()
with the absolute values of the column of interest.
df.style.background_gradient(
subset = ['D/D Change'],
cmap='RdYlGn',
gmap = abs(df['D/D Change'])
)
There might be a firewall service running on remote server and hence it is blocking the access.
$ sudo su
# apt install firewalld (If not installed)
# firewall-cmd --permanent --add-port=22/tcp
Or
$ apt install firewalld (If not installed)
$ sudo ufw allow 22/tcp
Try setting maxInMemorySize and the following spring properties together:
spring:
codec:
max-in-memory-size:
I found out that the new upgrade to MacOS Sequoia 15.4 broke the debugging in Goland. The same thing happened to me even though mine was a new install at Sequoia 15.4. The latest Goland 2025.1 RC resolves the issue. I expect a new VSCode version, which is my preferred IDE, would also resolve the issue.
you can find answer here firebase.google.com/docs/cloud-messaging/…
Try to put title
and message
into notification
object instead of data
object
{
"message":{
"token":"..",
"notification":{
"title":"title",
"body":"here your message"
},
"data" : {
"custom_arg_1" : "custom_arg_1",
"custom_arg_2" : "custom_arg_2"
}
}
}
✔ pip install --upgrade pip setuptools
→ Update pip
and setuptools
✔ pip install --upgrade --force-reinstall setuptools
→ Reinstall setuptools
✔ pip cache purge
→ Clear the pip
cache
✔ pip install numpy --no-build-isolation
→ Install numpy
without pyproject.toml
isolation
I am not sure if I am correct, but with what I know,
When a subscription is purchased it is purchased on the email present in the Google Play Store, irrespective of what email user enters while entering the email and password.
So if and when the user tries to login in a new device as long as the email(or account) in Google Play Store is same, it should bypass the subscription screen.
This is what I have implemented
Thanks, @margusl, that worked, though I did some adaptations. I used markdownToHTML
in stead of pandoc_convert, because that converted bulleted lists and stuff better.
In the end, this is what I used:
fx <- function(x) {str_flatten(markdownToHTML(text=x, fragment.only = TRUE))}
and then:
data <- data %>% mutate(`Description` = map_chr(data$Description, fx))
which worked perfect.
Thanks.
How you grab span should work. What's the error you are getting though?
After some time experimenting I've discovered a way to do this. Python's winrt binding library exposes the GlobalSystemMediaTransportControlsSessionManager
, after getting the current session you can call get_timeline_properties()
, which in turn will give you a GlobalSystemMediaTransportControlsSessionTimelineProperties object, that exposes a couple of useful attributes, including the current position of a playing track. Some credit goes to this question.
So, assuming current_session from the linked question, a simple one-liner to get the position is:
current_session.get_timeline_properties().position.seconds
Note: It seems it likes to lag for about 2 seconds behind the actual track, and there's no finer resolution, only full seconds are supported it seems.
May be already covered earlier, you only need
git diff --compact-summary
hey were you able to figure this out Robert?
My time to shine - I made an utility for that ;)
I know this is very old but i just had the same issue heavily on my Linux Mint System and in my case, it seemed to be a driver related problem so i also had to check for any updates:
sudo apt update && sudo apt upgrade
If it says any upgrades weren't concluded (due to phasing), check if they aren't causing the problem and execute them manually by typing:
sudo apt install 'upgrade-name'
After that, what i did was to press the Super key and type: "Startup Applications". Then search for the Blueman Applet setting and turn it off. Now, Reboot the system and enable bluetooth manually by pressing the Bluetooth icon on the System Settings (Control Center) menu under the hardware section.
After trying several approaches, I found that many solutions would fail when trying to parse an entire project of sub-folders and convert everything. I tried using globstar
for recursive matching but that would fail if the directory had spaces in it which was problematic for me.
The method that worked best for me was using the find
command to specifically locate files, using the name
parameter for the file extension.
I created a new file at the root of my project called convert_tga_to_png.sh
and made it executable using the command:
chmod +x convert_tga_to_png.sh
Inside the file I wrote one find command which located all the files with .tga.meta
extension and used the git mv
command to rename it to .png.meta
, and another find command which located all files with .tga
extension and converted them to .png
using ImageMagick. If the conversion was successful, i used git rm
to delete the original .tga
file.
I also added a check at the beginning to make sure ImageMagick is installed.
#!/bin/bash
# Check if ImageMagick is installed
if ! command -v magick &> /dev/null
then
echo "Error: ImageMagick (magick) is not installed."
exit 1
fi
echo "Starting rename and convert process..."
# Count total files first
meta_total=$(find . -type f -name "*.tga.meta" | wc -l)
tga_total=$(find . -type f -name "*.tga" | wc -l)
total_files=$((meta_total + tga_total))
count=0
echo "Total operations to perform: $total_files"
echo
echo "Renaming .tga.meta -> .png.meta"
find . -type f -name "*.tga.meta" -print0 | while IFS= read -r -d '' file; do
newfile="${file%.tga.meta}.png.meta"
if mv "$file" "$newfile"; then
((count++))
echo "[$count/$meta_total] Renamed: $file -> $newfile"
else
echo "[$count/$meta_total] ERROR renaming: $file"
fi
done
echo
echo "Converting .tga -> .png using ImageMagick"
find . -type f -name "*.tga" -print0 | while IFS= read -r -d '' file; do
newfile="${file%.tga}.png"
if magick "$file" "$newfile"; then
rm "$file" # delete original tga file
((count++))
echo "[$count/$tga_total] Converted: $file -> $newfile"
else
echo "[$count/$tga_total] ERROR converting: $file"
fi
done
echo
echo "Done!"
Then I ran the file, making sure Git Bash was set to the right directory, and this command was the correct relative path to the script:
./convert_tga_to_png.sh
After much experimentation and such, I think I've solved my comprehension problem. Essentially, I've been bringing a PostgreSQL (PG) mentality to this situation and that has prevented me from seeing the bigger picture here.
Here's what I've learned:
The kill*
operators in MongoDB do indeed kill sessions, operations, etc. correctly. I confirmed this mostly with my killOp()
experiments.
In PG, you can kill "client sessions" off (i.e. drop their network connections to the DB). It is a necessary step when dropping SQL DB's for example. MongoDB client connections (e.g. mongosh
, a pymongo
session) are not tied exclusively to a particular database and so MongoDB has no reason to require killing client connections for dropping a DB.
MongoDB clients like mongosh
and pymongo
have logic inside them to keep things alive and so killing sessions and operations might not make a visual difference on the client side.
Thanks to everyone who helped me.
setValue should have two arguments. The first argument is the name of the input, second is the new value.
const name = 'input';
setValue(name, '');
After enabling verbose logging on the Polarion server, I saw it was failing due to a 'missing start boundary' error. So, turns out that setting the 'Content-Type' in the header manually messes the request up. Removing that solved the problem.
Thank you so much everyone for such quick answers!
Even though the Factory method pattern feels like a very concrete way of going forward, I chose the __new__
method override suggested by Juanpa, mainy because I'm lazy :)
My PDFRenderer
class now looks something like this
def __new__(cls, *args, **kwargs):
if settings.USE_PDF_RENDERER.lower() == "reportlab":
# Keep it here to avoid circular import
from .reportlab import ReportlabRenderer
cls = ReportlabRenderer
else:
raise ValueError(f"Unsupported PDF renderer: {settings.USE_PDF_RENDERER}! Ensure the 'USE_PDF_RENDERER' setting is set to 'reportlab' in the project settings.")
return object.__new__(cls)
where the project settings (django) parameter decides which renderer to opt for. Overall this fits in nicely with the Django way of doing it so I chose to go this route.
Changing it to languageOptions: { globals: globals.node} worked for me.
Add this line in the beginning of your html file
{% load staticfiles %}
Or this one, if you use old version of Django
{% load static %}
// main.dart
import 'package:flutter/material.dart';
import 'package:google_fonts/google_fonts.dart';
import 'package:flutter_colorpicker/flutter_colorpicker.dart';
import 'package:animated_text_kit/animated_text_kit.dart';
void main() => runApp(const VipeRoomApp());
class VipeRoomApp extends StatelessWidget {
const VipeRoomApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'VipeRoom',
theme: ThemeData(
primarySwatch: Colors.blue,
fontFamily: GoogleFonts.pressStart2p().fontFamily, // Fuente retro
),
home: const MainMenu(),
);
}
}
// --------------------------
// Pantalla Principal
// --------------------------
class MainMenu extends StatelessWidget {
const MainMenu({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.black,
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
AnimatedTextKit(
animatedTexts: [
ColorizeAnimatedText(
'VIPEROOM',
textStyle: const TextStyle(fontSize: 40.0),
colors: [Colors.purple, Colors.cyan, Colors.pink],
),
],
),
const SizedBox(height: 30),
_buildNeonButton('Crear Perfil', () {
Navigator.push(
context,
MaterialPageRoute(builder: (context) => const ProfileEditor()),
);
}),
_buildNeonButton('Explorar Salas', () {}),
],
),
),
);
}
Widget _buildNeonButton(String text, VoidCallback onPressed) {
return Container(
margin: const EdgeInsets.all(10),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10),
gradient: const LinearGradient(
colors: [Colors.purple, Colors.cyan],
),
boxShadow: [
BoxShadow(
color: Colors.cyan.withOpacity(0.5),
blurRadius: 10,
),
],
),
child: ElevatedButton(
style: ElevatedButton.styleFrom(
backgroundColor: Colors.transparent,
shadowColor: Colors.transparent,
),
onPressed: onPressed,
child: Padding(
padding: const EdgeInsets.all(15.0),
child: Text(
text,
style: TextStyle(
fontFamily: GoogleFonts.pressStart2p().fontFamily,
color: Colors.white,
),
),
),
),
);
}
}
// --------------------------
// Editor de Perfil
// --------------------------
class ProfileEditor extends StatefulWidget {
const ProfileEditor({super.key});
@override
_ProfileEditorState createState() => _ProfileEditorState();
}
class _ProfileEditorState extends State<ProfileEditor> {
Color _backgroundColor = Colors.black;
String _selectedMusic = 'Synthwave_Theme.mp3';
void _changeBackgroundColor() {
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: const Text('Elige un color'),
content: SingleChildScrollView(
child: ColorPicker(
pickerColor: _backgroundColor,
onColorChanged: (color) {
setState(() => _backgroundColor = color);
},
),
),
);
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Personaliza tu VipeRoom'),
backgroundColor: Colors.black,
),
body: Stack(
children: [
Container(color: _backgroundColor),
Positioned(
top: 20,
right: 20,
child: Column(
children: [
_buildControlButton('Color', _changeBackgroundColor),
_buildControlButton('Música', () {}),
_buildControlButton('Plantillas', () {}),
],
),
),
// Vista previa del perfil
Center(
child: Container(
width: 300,
height: 500,
decoration: BoxDecoration(
border: Border.all(color: Colors.cyan, width: 3),
borderRadius: BorderRadius.circular(20),
),
child: const Center(child: Text('Previsualización')),
),
],
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
backgroundColor: Colors.purple,
child: const Icon(Icons.check, color: Colors.white),
),
);
}
Widget _buildControlButton(String label, VoidCallback onPressed) {
return Container(
margin: const EdgeInsets.all(5),
decoration: BoxDecoration(
color: Colors.black.withOpacity(0.7),
borderRadius: BorderRadius.circular(10),
),
child: IconButton(
icon: Text(label, style: const TextStyle(color: Colors.cyan)),
onPressed: onPressed,
),
);
}
}
what if we use the below maven dependency
<!-- https://mvnrepository.com/artifact/tech.grasshopper/extentreports-cucumber7-adapter -->
<dependency>
<groupId>tech.grasshopper</groupId>
<artifactId>extentreports-cucumber7-adapter</artifactId>
<version>1.14.0</version>
</dependency>
and getting below error
java.lang.NullPointerException: Cannot invoke "com.aventstack.extentreports.ExtentTest.info(String)" because the return value of "java.lang.ThreadLocal.get()" is null
at com.aventstack.extentreports.cucumber.adapter.ExtentCucumberAdapter.addTestStepLog(ExtentCucumberAdapter.java:516)
I actually fixed this using direct scale
as a property instead of transform
function:
scale: 1.5
You need to use new channel for each Crawl
. Each Crawl
must be a go-routine (in the main
function too). In order to crawl every url ONLY ONCE you need structure, with sync.Mutex
and map[string]bool
(i choose boolean type cause i do not found set data sctructure in standard libary). Also decision was inspired by https://stackoverflow.com/a/13223836/9475552 .
package main
import (
"fmt"
"sync"
)
type Fetcher interface {
// Fetch returns the body of URL and
// a slice of URLs found on that page.
Fetch(url string) (body string, urls []string, err error)
}
type UrlCache struct {
mu sync.Mutex
urls map[string]bool
}
func (uc *UrlCache) Add(key string) bool {
uc.mu.Lock()
defer uc.mu.Unlock()
if _, ok := uc.urls[key]; ok {
return true
} else {
uc.urls[key] = true
return false
}
}
var cache UrlCache = UrlCache{urls: make(map[string]bool)}
// Crawl uses fetcher to recursively crawl
// pages starting with url, to a maximum of depth.
func Crawl(url string, depth int, fetcher Fetcher, results chan string) {
defer close(results)
// TODO: Fetch URLs in parallel.
// TODO: Don't fetch the same URL twice.
// This implementation doesn't do either:
if depth <= 0 {
return
}
cache.Add(url)
body, urls, err := fetcher.Fetch(url)
if err != nil {
results <- err.Error()
return
}
results <- fmt.Sprintf("found: %s %q\n", url, body)
temp_results := make(map[int]chan string)
for i, u := range urls {
if !cache.Add(u) {
temp_results[i] = make(chan string)
go Crawl(u, depth-1, fetcher, temp_results[i])
}
}
for _, temp_res := range temp_results {
for tr := range temp_res {
results <- tr
}
}
return
}
func main() {
crawl_results := make(chan string)
go Crawl("https://golang.org/", 4, fetcher, crawl_results)
for r := range crawl_results {
fmt.Println(r)
}
}
// fakeFetcher is Fetcher that returns canned results.
type fakeFetcher map[string]*fakeResult
type fakeResult struct {
body string
urls []string
}
func (f fakeFetcher) Fetch(url string) (string, []string, error) {
if res, ok := f[url]; ok {
return res.body, res.urls, nil
}
return "", nil, fmt.Errorf("not found: %s", url)
}
// fetcher is a populated fakeFetcher.
var fetcher = fakeFetcher{
"https://golang.org/": &fakeResult{
"The Go Programming Language",
[]string{
"https://golang.org/pkg/",
"https://golang.org/cmd/",
},
},
"https://golang.org/pkg/": &fakeResult{
"Packages",
[]string{
"https://golang.org/",
"https://golang.org/cmd/",
"https://golang.org/pkg/fmt/",
"https://golang.org/pkg/os/",
},
},
"https://golang.org/pkg/fmt/": &fakeResult{
"Package fmt",
[]string{
"https://golang.org/",
"https://golang.org/pkg/",
},
},
"https://golang.org/pkg/os/": &fakeResult{
"Package os",
[]string{
"https://golang.org/",
"https://golang.org/pkg/",
},
},
}
There is an issue in Kubernetes GitHub. According to this issue it was solved in 1.32
header 1 | header 2 |
---|---|
cell 1 | cell 2 |
cell 3 | cell 4 |
The way it is written above is correct except for one thing only, the password is declared as a byte array instead of char array which is then type cast to byte at the processing stage so this
t0 = INVCRC32(t0,(uint8_t)passw[x]);
and this are the answers:
char passw[10] = {
'1','2','3','4','5','6','7','8','9','0'
};
from moviepy.editor import *
from moviepy.video.fx.all import fadein, fadeout, resize
from PIL import Image
import numpy as np
# Load the image and convert to 1080p
image = Image.open("red_ball_image.png").convert("RGB")
image = image.resize((1920, 1080))
image_np = np.array(image)
# Create a 10-second clip
clip = ImageClip(image_np).set_duration(10)
# Add slow zoom-in effect
def zoom_effect(get_frame, t):
zoom = 1 + 0.02 * t # Adjust zoom intensity
return resize(ImageClip(get_frame(t)), zoom).get_frame(t)
zoomed_clip = clip.fl(zoom_effect)
# Add fade in and out
final_clip = fadein(zoomed_clip, 1).fadeout(1)
final_clip = final_clip.set_audio(None)
# Export to MP4
final_clip.write_videofile("the_red_ball_intro.mp4", fps=24)
You could use ModelMapper https://modelmapper.org/user-manual/
This is a very simple example:
public class SettingsBase {
int dataMember;
}
public class Settings {
int dataMember;
}
Use ModelMapper in this way:
public SettingsBase clone(Settings settings) {
return new ModelMapper().map(settings, SettingsBase.class);
}
I have this same issue. The answer above did not work. Was a solution ever found?
If you absolutely must use that plugin and it has a bad dependency, you can exclude the dependency.
See: https://maven.apache.org/guides/introduction/introduction-to-optional-and-excludes-dependencies.html
You could then possibly manually declare to include the tools jar in the pom yourself.
Adding bigger and bigger offsets will bring the values closer together in the absolute scale, but if you similarly scale your axis then counterintuitively the lower values will be bunched together more the larger you make the offset.
x <- c(100, 150, 200, 250, 1500)
par(mfrow=c(1,3), mar=rep(2, 4))
lapply(1:3, \(e) plot(log(x+10^e), x, ann=FALSE))
The solution isn't so much the offset -- the smaller the better but that'll only get you so far. What you want is a log-log(-log? -log?) transform:
## Stack those logs! (more works too)
my_transform <- function(x) log(log(x + 1E-3))
my_inverse <- function(x) exp(exp(x)) - 1E-3
my_trans <- scales::trans_new("yes_mate", transform = my_transform, inverse = my_inverse)
ggplot(mtcars, aes(x = disp, y = 1, color = disp)) +
geom_point(size = 5) +
scale_x_continuous(
trans = my_trans,
limits=c(100, 1500),
breaks = c(100, 500, 1000, 1500)
)
I also encountered this problem, but fortunately I had another phone with the same Google account and was able to obtain the subscription information completely, so I determined that it was a problem caused by Google Play. I reinstalled a new version of Google Play on the problematic phone and the problem was solved.
I know this has been answered but nowdays you can just use.
[animation-iteration-count:10]
I could not create tailwind.config.js while creating an app with vite.
You can run docker info
to get the state of Live restore:
$ docker info
[...]
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
127.0.0.0/8
Live Restore Enabled: false
The loading.tsx
file must be returning a component, make sure the component name is Loading and not loading. Currently, it is being treated as a function and not a component, if there are any hooks that are being called and used inside of the loading component, it would throw this error.
"rand()%anynumber" does not return "anynumber" itself e.g. 5%5 is 0.
You have to add +1
rand()%(anynumber+1)
Hello https://stackoverflow.com/users/766458/apoellitsi
how did you manage to grant the ALLOW_ENCRYPTED_VALUE_MODIFICATIONS to the user? I am facing the same error when I try to grant it to the user.