Quicker solution ( where error.getErrors()) is String list:
String.join(",", error.getErrors())
this is the Customer entity :
@Entity
@Table(name = "customer")
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
...
}
OrderCreateDto :
public class OrderCreateDto {
private LocalDate orderDate;
private BigDecimal totalAmount;
private Long customerId;
...
}
and this is the create() method in the OrderService.java class :
public OrderDto create(OrderCreateDto dto) {
Order entity = mapper.toEntity(dto);
Order saved = repository.save(entity);
return mapper.toDto(saved);
}
const [left, right] = [text.slice(0, n), text.slice(n)];
@WeijunZhou Thanks for the insights, and I think you are right regarding comments.
Your link offers the possibility for the community wiki, but I'm reluctant to do the conversion because of the uncertain result. (like your invisible comment) On the other hand, this format is already somewhat similar.
Minify is not obsolete and is more helpful than gzip, especially when working with IoT devices or geographically remote systems. Yet, the question is about compression, which is something different.
You can't, with nidaqmx Task you can start generating multiple signals at once but not one after another while the first isn't done. If you do it will stop what you were doing in the first Task.
Secondly, you can't instanciate 2 Task (Task1 & Task2) for the same hardware at the same time, it's just not possible.
The ImportError occurred due to the nested file structure of the repository. One of the ways to fix it is by changing the import in run_train.py to target the specific files:
from model.generator.generator import Generator
from model.critic.critic import Critic
Create a css.d.ts or global.d.ts and add this as it's content.
This tells typescript that any import ending with .css is a valid module.
declare module "*.css"
You must install these two extentions in vscode:
1: PostCSS Language Support
2: PostCSS Intellisense and Highlighting
In order for a component to take properties
As @natashap mentioned in the comment, you need to convert it to a component instead of a variable
//File A.jsx
export const V = ({text, prop1, prop2}) => {
//use properties
return <div>{text}</div>
}
//File B.jsx
import {V} from './A.jsx'
export const F = () => {
return (
<>
<V text='text' prop1='prop1' prop2='prop2'/>
<>
)
}
If I understand correctly: No need for scripts.
If you can't find the actual origin: SHIFT S -> Cursor to Selection, then look for the cursor. You can also press N and check the object's location.
If you want to set the origin to the center: Rightclick (or press W) and select: Set Origin -> Origin to Geometry
If you want to find the median of all objects' locations in the FBX: select them all and again SHIFT S -> Cursor to Selection.
You can press . (period) and also choose a different center, like bounding box.
After doing this, you can also set the pivot of all objects by selecting them and Rightclick (w) Set Origin -> Origin to 3D cursor.
For anyone encountering this issue, I was able to get it to work using the following params:
$params = array(
'filtering' => array(
array(
'field' => 'created_time',
'operator' => 'GREATER_THAN',
'value' => strtotime($start_date)
),
),
'limit' => 1000
);
The Reason seems to be that time_range is only supported by the Insights API and not the Marketing API
Good find there! After wondering about IRQ performance on Arduino ESP32 for quite a while I luckily came across this. Yes, same in Arduino ESP32, my map file shows my IRQ in flash. I opened a ticket with the devs which was answered quickly: https://github.com/espressif/arduino-esp32/issues/11977
..they think that ISRs in Flash are safer. But there's also a suggestion at the bottom, I haven't looked into that one yet though.
Thank you again for your work, I might just switch to ESP-IDF from hereon.
But there must be some ground for such "wondering"? I mean, it shouldn't be just out of the blue? Like, you always walked on your feet but suddenly start wondering whether if there was a benefit in walking on your hands. What benefits you can think of?
StackOverflow doesn't let me delete the question
@your-common-sense: I studied several small PHP container projects. I noticed a lot of them had several public methods on how to add a service to the container. Usually it was set() and bind(). I was wondering if there was a benefit to a developer to break it out into each type?
Apply your code style settings.Format a real code sample (Ctrl+Alt+L / Cmd+Opt+L)and then verify the wrapping behaves as expected at your actual "Hard wrap at" setting
What I really like about this app is how balanced it feels — it’s not overloaded with unnecessary features, yet it offers everything you need. It’s lightweight, user-friendly, and stable. Get Snaptroid APK at snaptroid2.cc for full details.
I've only one question: why? What benefit do you get from that? Or a more specific question, wjy a calling party should know the details of the service implementation, being forced to call a specific method for different type?
I found the solution.....My colleague suggested I run VS Code as “Run as administrator", and it worked. Just right click VsCode and choose Run as administrator......It's so weird.
Time =
IF(
NOT(ISBLANK(Sheet1[Start Date])) &&
NOT(ISBLANK(Sheet1[End Date])),
NETWORKDAYS(
Sheet1[Start Date],
Sheet1[End Date],
IF(
OR(
Sheet1[Country Name] = "Saudi Arabia",
Sheet1[Country Name] = "Egypt"
),
7,
1
)
) - 1,
BLANK()
)
(Reposting my comment as a "reply" since the comment is likely invisible/links not clickable even from the inbox)
You can check this link and see whether it contains a way to convert it to Community Wiki. Also note my answer here on Meta SO.
I have same issue and fixed it with code below:
struct LiquidGlassTabView: ViewModifier {
@ObservedObject var viewModel: ViewModel
func body(content: Content) -> some View {
if #available(iOS 26.0, *) {
if viewModel.showAudioMiniPlayer {
content
.tabViewBottomAccessory {
MiniPlayerView()
}
} else {
content
}
} else {
content
}
}
}
I had this issue on a Linux host and it turns out that the Linux fips=1 kernel entry will cause this error! So turn off fips in your Grub configuration!
I've fixed it by downgrading Node version from v24 to v22
do you got a script that grabs the information from a website using python or js? I would like to get that code if you do thank you
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:YourDB %>" SelectCommand="SELECT * FROM Claims" CancelSelectOnNullParameter="false"> </asp:SqlDataSource>
I think javascript minify is obsolete technic for reduce bandwidth since modern web server has feature HTTP compression.
For reduce JavaScript or text-like file (html, css, json) size. Setup HTTP compression at webserver and let browser decompress is better.
This way with have no overhead for un-minify Javascript.
This issue also happened to me a few days ago.
Adding referrerpolicy="strict-origin-when-cross-origin" fixed it for me
i had similar issue. the script Array was to large and when i open other apps it would eventually kill the PowerShell script. Removed the array and just wrote to a text file with in the loop\iteration. also had a recovery point by doing that.
I was just asking how I get a AI Security TECH that love the USA system that can recommend who u let in your home and I'm just starting out with my own company / Bisuness to transform people lifestyles and make them so much safer and the love the help Because of the love I have for my Family I m.very personally
flags_str = packet.sprintf("%TCP.flags%")
Thank you for this! Finally working for me too. i have been trying to connect to IdentityInfo table. I tried to use token, credentials etc and still nothing works.
Uses UTC. Try
function daysSince2000() {
return (Date.now() - Date.UTC(2000, 0, 1)) / 86400000;
}
console.log(daysSince2000());
use Luxon or Day.js lightweight and handle UTC offsets and time zones much better compare to Date object.
Easiest way is to just download the SWF from the page (yes you can do that) and upload it into any SWF player. You can download one or just online services for that.
I would like to know if the service provider will provide us with the SDK containing the Proximity Reader API for integration into the project ... why are you not asking the service provider?
1: Customer records are deleted but related entries in the product_alert_stock table remain.
2: GDPR or privacy modules (like PIP) may remove customers but leave orphaned product alert records.
So cleat the related entries from table product_alert_stock and To catch these issues early (before they cause errors), configure error notifications for admin users: Store -> Configuration -> Catalog -> Catalog -> Product Alerts Run Settings -> Error Email Recipient
Unfortunately, in Tomcat, this value is set as a constant to support 8192 bytes. While you can override this value by setting it as a system property, it would have been preferable if it were configurable as a property, similar to how many other settings are supported in Spring or Tomcat.
You can simply add waitForExpression('5s') to your request.
$request = \Gotenberg\Gotenberg::chromium('http://gotenberg:3000')
->pdf()
->waitForExpression('5s')
->url('https://my.url');
It's not in the documentation, but if you have PHP Intelephense, then it will hint you the available methods.
I'm using phpstorm's idea plugin.
The one way I can seen here is using Secure Service Account API (SSA). It's allow you able to generate 3legged access token without refresh token.
Rename the col first:
df = df.withColumnRenamed("Tilt(0.1degree)", "Tiltdegree")
A lot of sources don't explain that there is more than one algorithm to partition the elements. Three common implementations are shown here: https://www.geeksforgeeks.org/dsa/quick-sort-algorithm/. CTCI uses Hoare's. You've likely seen the Naive and Lomuto implementations which keep track of the pivot location.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>All Galaxy — 3D Real Galaxy Showcase</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;800&display=swap" rel="stylesheet">
<style>
:root{
--bg-1:#05030a; --bg-2:#0f1226; --glass: rgba(255,255,255,0.04);
--accent:#9b8cff; --muted: rgba(255,255,255,0.65);
}
\*{box-sizing:border-box}
html,body{height:100%;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,'Helvetica Neue',Arial}
body{background:linear-gradient(180deg,var(--bg-1),var(--bg-2));color:#fff;overflow:hidden}
#app{position:relative;height:100vh;width:100vw;display:flex}canvas{display:block}
/* Top-left control panel */
.panel{
position:absolute;left:24px;top:24px;backdrop-filter: blur(8px);background:linear-gradient(180deg, rgba(255,255,255,0.03), rgba(255,255,255,0.02));
border-radius:14px;padding:14px;box-shadow:0 6px 30px rgba(0,0,0,0.6);min-width:280px;border:1px solid rgba(255,255,255,0.04)
}
.brand{display:flex;gap:12px;align-items:center}
.logo{height:44px;width:44px;border-radius:10px;background:linear-gradient(135deg,var(--accent),#44e1f8);display:flex;align-items:center;justify-content:center;font-weight:800}
.brand h1{font-size:16px;margin:0}
.brand p{margin:0;font-size:12px;color:var(--muted)}
.row{display:flex;gap:8px;align-items:center;margin-top:12px}
label{font-size:12px;color:var(--muted);width:110px}
input[type=range]{flex:1}
.small{font-size:12px;color:var(--muted);margin-top:8px}
/* Bottom-right info */
.footer{
position:absolute;right:24px;bottom:24px;background:var(--glass);padding:12px 14px;border-radius:10px;border:1px solid rgba(255,255,255,0.03);
box-shadow:0 6px 20px rgba(0,0,0,0.5);
}
.btn{background:linear-gradient(90deg,var(--accent),#44e1f8);padding:8px 12px;border-radius:8px;border:none;color:#051036;font-weight:700;cursor:pointer}
/* Responsive tweaks */
@media (max-width:520px){.panel{left:12px;top:12px;min-width:210px;padding:10px}.brand h1{font-size:14px}}
</style>
</head>
<body>
<div id="app">
\<div id="bg"\>\</div\>
\<div class="panel"\>
\<div class="brand"\>
\<div class="logo"\>G\</div\>
\<div\>
\<h1\>All Galaxy — 3D\</h1\>
\<p\>Real-time 3D galaxy demo · Premium look\</p\>
\</div\>
\</div\>\<div class="row"\>
\<label\>Star count\</label\>
\<input id="stars" type="range" min="1000" max="200000" step="1000" value="50000"\>
</div>
<div class="row">
\<label\>Arms\</label\>
\<input id="arms" type="range" min="1" max="6" step="1" value="3"\>
</div>
<div class="row">
\<label\>Spin\</label\>
\<input id="spin" type="range" min="0" max="3" step="0.01" value="0.8"\>
</div>
<div class="row">
\<label\>Radius\</label\>
\<input id="radius" type="range" min="2" max="20" step="0.5" value="8"\>
</div>
<div class="row">
\<label\>Brightness\</label\>
\<input id="brightness" type="range" min="0.1" max="4" step="0.1" value="1.2"\>
</div>
<div class="small">Drag to tweak the galaxy. Use mouse/touch to orbit. Double-click to toggle fullscreen.</div>
</div>
<div class="footer">
<button id="regen" class="btn">Regenerate</button>
<span style="margin-left:10px;color:var(--muted);font-size:13px">FPS: <span id="fps">0</span></span>
</div>
</div> <script type="module">
import \* as THREE from 'https://unpkg.com/[email protected]/build/three.module.js';
import { OrbitControls } from 'https://unpkg.com/[email protected]/examples/jsm/controls/OrbitControls.js';
// Basic scene + renderer
const container = document.getElementById('app');
const scene = new THREE.Scene();
const renderer = new THREE.WebGLRenderer({ antialias: true, alpha: true });
renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.toneMapping = THREE.ACESFilmicToneMapping;
renderer.outputEncoding = THREE.sRGBEncoding;
container.appendChild(renderer.domElement);
const camera = new THREE.PerspectiveCamera(60, window.innerWidth / window.innerHeight, 0.1, 1000);
camera.position.set(0, 6, 18);
const controls = new OrbitControls(camera, renderer.domElement);
controls.enableDamping = true;
controls.dampingFactor = 0.06;
// subtle environment
const hemi = new THREE.HemisphereLight(0xffffff, 0x080820, 0.2);
scene.add(hemi);
// galaxy group
let galaxy, points;
// helpers
const params = {
count: 50000,
size: 0.04,
radius: 8,
branches: 3,
spin: 0.8,
randomness: 0.6,
randomnessPower: 2,
insideColor: '#ffb86b',
outsideColor: '#6b8cff',
brightness: 1.2
};
function generateGalaxy() {
if (galaxy !== undefined) {
points.geometry.dispose();
points.material.dispose();
scene.remove(galaxy);
}
galaxy = new THREE.Group();
const positions = new Float32Array(params.count \* 3);
const colors = new Float32Array(params.count \* 3);
const scales = new Float32Array(params.count);
const insideColor = new THREE.Color(params.insideColor);
const outsideColor = new THREE.Color(params.outsideColor);
for (let i = 0; i \< params.count; i++) {
const i3 = i \* 3;
const radius = Math.random() \* params.radius;
const branchAngle = ((i % params.branches) / params.branches) \* Math.PI \* 2;
const spinAngle = radius \* params.spin;
const randomX = Math.pow(Math.random(), params.randomnessPower) \* (Math.random() \< 0.5 ? 1 : -1) \* params.randomness \* radius;
const randomY = Math.pow(Math.random(), params.randomnessPower) \* (Math.random() \< 0.5 ? 1 : -1) \* params.randomness \* radius \* 0.2;
const randomZ = Math.pow(Math.random(), params.randomnessPower) \* (Math.random() \< 0.5 ? 1 : -1) \* params.randomness \* radius;
positions\[i3 + 0\] = Math.cos(branchAngle + spinAngle) \* radius + randomX;
positions\[i3 + 1\] = randomY \* 0.3;
positions\[i3 + 2\] = Math.sin(branchAngle + spinAngle) \* radius + randomZ;
const mixedColor = insideColor.clone();
mixedColor.lerp(outsideColor, radius / params.radius);
colors\[i3 + 0\] = mixedColor.r;
colors\[i3 + 1\] = mixedColor.g;
colors\[i3 + 2\] = mixedColor.b;
scales\[i\] = Math.random() \* 1.5 + 0.5;
}
const geometry = new THREE.BufferGeometry();
geometry.setAttribute('position', new THREE.BufferAttribute(positions, 3));
geometry.setAttribute('color', new THREE.BufferAttribute(colors, 3));
geometry.setAttribute('aScale', new THREE.BufferAttribute(scales, 1));
const material = new THREE.ShaderMaterial({
depthWrite: false,
blending: THREE.AdditiveBlending,
vertexColors: true,
transparent: true,
uniforms: {
uSize: { value: params.size \* 100.0 },
uPixelRatio: { value: Math.min(window.devicePixelRatio, 2) },
uTime: { value: 0 },
uBrightness: { value: params.brightness }
},
vertexShader: \`
attribute float aScale;
varying vec3 vColor;
uniform float uSize;
uniform float uTime;
void main(){
vColor = color;
vec4 modelPos = modelMatrix \* vec4(position, 1.0);
// slight pulsation
float scale = aScale \* (1.0 + 0.2 \* sin(uTime + position.x \* 0.1));
vec4 viewPos = viewMatrix \* modelPos;
gl_Position = projectionMatrix \* viewPos;
gl_PointSize = uSize \* scale / - viewPos.z;
}
\`,
fragmentShader: \`
varying vec3 vColor;
uniform float uBrightness;
void main(){
float dist = distance(gl_PointCoord, vec2(0.5));
float alpha = 1.0 - smoothstep(0.35, 0.5, dist);
vec3 col = vColor \* uBrightness;
gl_FragColor = vec4(col, alpha);
}
\`
});
points = new THREE.Points(geometry, material);
galaxy.add(points);
// subtle core glow
const coreGeo = new THREE.SphereGeometry(params.radius \* 0.12, 32, 32);
const coreMat = new THREE.MeshBasicMaterial({ color: 0xffe9c0, transparent: true, opacity: 0.18 });
const core = new THREE.Mesh(coreGeo, coreMat);
galaxy.add(core);
scene.add(galaxy);
}
// initial generate with UI values
function refreshFromUI(){
params.count = Number(document.getElementById('stars').value);
params.branches = Number(document.getElementById('arms').value);
params.spin = Number(document.getElementById('spin').value);
params.radius = Number(document.getElementById('radius').value);
params.brightness = Number(document.getElementById('brightness').value);
generateGalaxy();
}
document.getElementById('stars').addEventListener('input', ()=\>{document.getElementById('fps').textContent = '—';});
document.getElementById('regen').addEventListener('click', refreshFromUI);
// double click fullscreen
window.addEventListener('dblclick', ()=\>{
const el = renderer.domElement;
if (!document.fullscreenElement) el.requestFullscreen?.(); else document.exitFullscreen?.();
});
let lastTime = performance.now();
let frames = 0;
let fpsUpdate = 0;
// animate
function animate(time){
const elapsed = time \* 0.001;
requestAnimationFrame(animate);
controls.update();
if (points && points.material && points.material.uniforms) {
points.material.uniforms.uTime.value = elapsed \* 1.2;
points.material.uniforms.uBrightness.value = params.brightness;
}
// slow rotation
if (galaxy) galaxy.rotation.y = elapsed \* 0.08 \* params.spin;
renderer.render(scene, camera);
// fps counter
frames++;
if (time - fpsUpdate \> 500) {
const fps = Math.round((frames \* 1000) / (time - fpsUpdate));
document.getElementById('fps').textContent = fps;
frames = 0; fpsUpdate = time;
}
}
// responsive
window.addEventListener('resize', ()=\>{
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
if (points && points.material && points.material.uniforms) points.material.uniforms.uPixelRatio.value = Math.min(window.devicePixelRatio, 2);
});
// initial kick
refreshFromUI();
| header 1 | header 2 |
|---|---|
| cell 1 | cell 2 |
| cell 3 | cell 4 |
| header 1 | header 2 |
|---|---|
| cell 1 | cell 2 |
| cell 3 | cell 4 |
animate(performance.now());
// optional: keyboard shortcuts
window.addEventListener('keydown', (e)=\>{
if (e.key === 'r') refreshFromUI();
});
// touch hint
renderer.domElement.style.touchAction = 'none';
</script></body>
</html>
[image](https://i.stack.imgur.com/abcd1.png)
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns # just included to set plot style
sns.set_theme(style="darkgrid")
days_of_week = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
df = pd.DataFrame(
dict(
year=[2023]*7 + [2024]*7 + [2025]*7,
day_of_week=days_of_week * 3,
avg_cardio_minutes=[20, 15, 10, 25, 30, 5, 0,
25, 20, 15, 30, 35, 10, 5,
30, 25, 20, 35, 40, 15, 10],
avg_lifting_minutes=[40, 35, 30, 45, 50, 25, 20,
45, 40, 35, 50, 55, 30, 25,
50, 45, 40, 55, 60, 35, 30]
)
)
def plot_stacked_grouped_bar_chart(df, x_major_column, x_minor_column, stack_columns,
stack_labels=None, y_label='', title='', legend_title=''):
"""
Plots a stacked grouped bar chart with the specified data and labels.
Parameters:
-----------
df : pd.DataFrame
DataFrame containing the data to plot.
x_major_column : str
Column name for the major x-axis grouping.
x_minor_column : str
Column name for the minor x-axis grouping.
stack_columns : list of str
List of column names to stack.
stack_labels : list of str, optional
List of labels for the stacked columns. If None, uses stack_columns.
y_label : str, optional
Label for the y-axis.
title : str, optional
Title of the plot.
legend_title : str, optional
Title of the legend.
"""
if stack_labels is None:
stack_labels = stack_columns
fig, ax = plt.subplots(figsize=(10, 5))
x_major_values = df[x_major_column].unique().tolist()
offset = 0
xtick_labels = []
# iterate over major x-axis groups
for i, major_value in enumerate(x_major_values):
df_major = df[df[x_major_column] == major_value]
x_minor_values = df_major[x_minor_column].unique().tolist()
x_positions = offset + np.arange(len(x_minor_values)) # the label locations
bottoms = np.zeros(len(x_minor_values))
# iterate over stack columns
for j, stack_column in enumerate(stack_columns):
heights = df_major[stack_column].values
ax.bar(x=x_positions, height=heights, color=f'C{j}', width=1, label=stack_labels[j], bottom=bottoms)
bottoms += heights
# add major x-axis label
ax.text(offset + len(x_minor_values) / 2 - 0.5, -0.2, major_value, ha='center', va='top', transform=ax.get_xaxis_transform())
# update offset and xtick labels
offset += len(x_minor_values)
xtick_labels.extend([x_minor_values])
if i < len(x_major_values) - 1:
offset += 1 # space between major groups
xtick_labels.append('') # empty label for space
ax.set_xticks(range(offset))
ax.set_xticklabels(days_of_week + [""] + days_of_week + [""] + days_of_week, rotation=45)
ax.set_ylabel(y_label)
ax.set_title(title)
# reorder legend to match stack order
handles, labels = ax.get_legend_handles_labels()
handles = handles[::-1][:len(stack_labels)]
labels = labels[::-1][:len(stack_labels)]
ax.legend(title=legend_title, handles=handles, labels=labels)
plt.show()
plot_stacked_grouped_bar_chart(df=df,
x_major_column = 'year',
x_minor_column = 'day_of_week',
stack_columns = ['avg_lifting_minutes', 'avg_cardio_minutes'],
stack_labels = ['Lifting', 'Cardio'],
y_label = 'minutes',
title = 'Average Time Working out per Day of Week',
legend_title = 'Workout Type')
Long story short: I think it's highly likely to be a wise choice to use other methods for formatting a text file for styling, as @AD7six suggested in the comment section.
As @j6t stated in the comment section, I feel like this issue has to do with the metadata. I'm not sure whether this is relevant or not, I found that git uses stat values.
Anyway, I ended up thinking that it should be impossible to use this program as a clean filter. The reason is that if I made the program not to modify a file being processed, then the index would differ with the worktree, and if I had it to modify, then git would recognize the file modified. Double trouble! This is a dilemma; either way, I will be in trouble.
Nevertheless I just wanted to make use of it since I already had spent two weeks to make this "simple" program. Perhaps it's my mistake to write it in C. So I considered the following alternatives:
git add. In other words, the script executes my program first, lets it modify the worktree, and then runs git add -- <file>....git add to update the index.However, #1 would require me to distinguish which is an option to git add and which is a file. I don't think argument parsing is an easy task. So I skipped #1. Meanwhile, #2 seemed promising but it has a flaw in that git add would occur twice: the first add by the user and the second by the hook. Also, actually another problem remains: how to handle the partial stages, i.e. git add -p? In this case I can't update the index with the fixed file in the worktree since doing so would nullify the partial stage. Maybe it would be possible to manage to fix and update the index only somehow without touching the worktree but doing so seems stressful. In the case of #3, I don't know how.
In the end I had no choice but to choose the #2 but I tried hard to avoid the handling of the partial-stage case by executing my program if and only if a file in the index has a modified state or newly added state, and the file does not have local changes, i.e. the index equals to the worktree.
In order to do so, I parsed the output of git status --short because its first and second columns represent the state of the index and the worktree, respectively.
fp = fopen("tempfile", "w+");
system("git status --short > tempfile");
while (readline(fp, &line)) {
if (line[0] != 'A' && line[0] != 'M')
continue;
if (line[1] != ' ')
continue;
...
}
A One liner to create a symlink from macOS's expected Java location to SDKMAN's installation:
curl -fsSL https://gist.githubusercontent.com/abd3lraouf/1db9bf863144802733bfd29bb5dada87/raw/install.sh | bash -s install
This creates /Library/Java/JavaVirtualMachines/sdkman-current/ pointing to ~/.sdkman/candidates/java/current, allowing /usr/libexec/java_home and Xcode to find your SDKMAN Java installation.
When you switch Java versions with sdk use java [version], the symlink automatically points to the new version. Full script and manual setup instructions.Retry
Gist: https://gist.github.com/abd3lraouf/1db9bf863144802733bfd29bb5dada87
Full script here:
#!/usr/bin/env bash
################################################################################
# Setup SDKMAN JDK Integration with /usr/libexec/java_home
################################################################################
# This script configures macOS to recognize SDKMAN-installed JDKs through
# /usr/libexec/java_home by creating a proper directory structure and symlink
# in /Library/Java/JavaVirtualMachines.
#
# Usage:
# ./setup_sdkman_java_home.sh [install|uninstall|verify|help]
#
# Options:
# install - Set up the SDKMAN JDK integration (default)
# uninstall - Remove the SDKMAN JDK integration
# verify - Check if the setup is working correctly
# help - Display this help message
#
# Requirements:
# - macOS
# - SDKMAN installed with at least one JDK
# - sudo privileges
################################################################################
set -eo pipefail
# Constants (temporarily disable -u for BASH_SOURCE check)
readonly SCRIPT_NAME="$(basename "${BASH_SOURCE[0]:-install.sh}")"
readonly SCRIPT_VERSION="1.0.0"
# Re-enable unbound variable checking
set -u
readonly TARGET_DIR="/Library/Java/JavaVirtualMachines/sdkman-current"
readonly CONTENTS_DIR="${TARGET_DIR}/Contents"
readonly HOME_LINK="${CONTENTS_DIR}/Home"
readonly PLIST_FILE="${CONTENTS_DIR}/Info.plist"
# Colors for output
readonly RED='\033[0;31m'
readonly GREEN='\033[0;32m'
readonly YELLOW='\033[1;33m'
readonly BLUE='\033[0;34m'
readonly BOLD='\033[1m'
readonly NC='\033[0m' # No Color
# Cleanup on error - silently exit (specific errors are already shown)
cleanup() {
local exit_code=$?
# Exit silently - specific error messages are already displayed
exit $exit_code
}
trap cleanup EXIT
################################################################################
# Utility Functions
################################################################################
# Print colored messages
print_header() {
echo -e "\n${BOLD}${BLUE}===${NC} ${BOLD}$1${NC} ${BOLD}${BLUE}===${NC}\n"
}
success() {
echo -e "${GREEN}✓${NC} $1"
}
info() {
echo -e "${BLUE}ℹ${NC} $1"
}
warn() {
echo -e "${YELLOW}⚠${NC} $1"
}
error() {
echo -e "${RED}✗${NC} $1" >&2
}
# Check if running on macOS
check_macos() {
if [[ "$(uname -s)" != "Darwin" ]]; then
error "This script only works on macOS"
exit 1
fi
}
# Check if SDKMAN is installed
check_sdkman() {
local sdkman_dir="${SDKMAN_DIR:-$HOME/.sdkman}"
if [[ ! -d "$sdkman_dir" ]]; then
error "SDKMAN not found at $sdkman_dir"
info "Install SDKMAN from: https://sdkman.io/install"
exit 1
fi
success "SDKMAN found at $sdkman_dir"
}
# Get SDKMAN current JDK path
get_sdkman_current_jdk() {
local sdkman_dir="${SDKMAN_DIR:-$HOME/.sdkman}"
local current_jdk="${sdkman_dir}/candidates/java/current"
if [[ ! -e "$current_jdk" ]]; then
error "No current JDK set in SDKMAN"
info "Install a JDK with: sdk install java"
info "Or set current with: sdk use java <version>"
exit 1
fi
# Resolve symlink to get actual JDK path
local actual_jdk
actual_jdk="$(readlink "$current_jdk" 2>/dev/null || echo "$current_jdk")"
echo "$current_jdk"
}
# Get JDK version from SDKMAN
get_jdk_version() {
local jdk_path="$1"
# Source SDKMAN and get current version
local sdkman_init="${SDKMAN_DIR:-$HOME/.sdkman}/bin/sdkman-init.sh"
if [[ -f "$sdkman_init" ]]; then
# Temporarily disable -u for sourcing SDKMAN and calling sdk (they have undefined variables)
set +u
# shellcheck source=/dev/null
source "$sdkman_init" 2>/dev/null || true
local version
version="$(sdk current java 2>/dev/null | grep -oE '[0-9]+\.[0-9]+\.[0-9]+[^[:space:]]*' || echo "unknown")"
set -u
echo "$version"
else
echo "unknown"
fi
}
# Get JDK vendor from path
get_jdk_vendor() {
local jdk_path="$1"
local vendor="SDKMAN"
# Extract vendor from path if possible (e.g., 21.0.9-amzn -> Amazon)
if [[ "$jdk_path" =~ -([a-z]+)$ ]]; then
local vendor_code="${BASH_REMATCH[1]}"
case "$vendor_code" in
amzn) vendor="Amazon Corretto" ;;
tem) vendor="Eclipse Temurin" ;;
zulu) vendor="Azul Zulu" ;;
graal*) vendor="GraalVM" ;;
liberica) vendor="BellSoft Liberica" ;;
sapmchn) vendor="SAP Machine" ;;
*) vendor="SDKMAN ($vendor_code)" ;;
esac
fi
echo "$vendor"
}
# Check if setup already exists
check_existing_setup() {
[[ -d "$TARGET_DIR" ]]
}
# Verify sudo access
verify_sudo() {
# Try non-interactive sudo first
if sudo -n true 2>/dev/null; then
# Already authenticated
# Keep sudo alive
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
return 0
fi
# Check if running non-interactively
if ! [ -t 0 ]; then
error "This script requires sudo access"
echo ""
echo "When running via pipe, sudo cannot prompt for password."
echo "Please authenticate sudo first, then re-run:"
echo ""
echo " sudo -v"
echo " curl -fsSL https://gist.githubusercontent.com/abd3lraouf/1db9bf863144802733bfd29bb5dada87/raw/install.sh | bash -s install"
echo ""
echo "Or download and run directly:"
echo ""
echo " curl -O https://gist.githubusercontent.com/abd3lraouf/1db9bf863144802733bfd29bb5dada87/raw/install.sh"
echo " chmod +x install.sh"
echo " ./install.sh install"
exit 1
fi
# Interactive mode - can prompt
if ! sudo -v; then
error "Sudo privileges required"
exit 1
fi
# Keep sudo alive
while true; do sudo -n true; sleep 60; kill -0 "$$" || exit; done 2>/dev/null &
}
################################################################################
# Installation Functions
################################################################################
install_setup() {
print_header "Installing SDKMAN JDK Integration"
# Get SDKMAN JDK path
local sdkman_jdk
sdkman_jdk="$(get_sdkman_current_jdk)"
local jdk_version
jdk_version="$(get_jdk_version "$sdkman_jdk")"
local jdk_vendor
jdk_vendor="$(get_jdk_vendor "$sdkman_jdk")"
info "SDKMAN Current JDK: $sdkman_jdk"
info "Version: $jdk_version"
info "Vendor: $jdk_vendor"
# Check for existing setup
if check_existing_setup; then
warn "Existing setup found at $TARGET_DIR"
# Check if running interactively (can prompt)
if [ -t 0 ]; then
read -rp "Remove and reinstall? (y/N): " response
if [[ "$response" =~ ^[Yy]$ ]]; then
uninstall_setup
else
info "Installation cancelled"
exit 0
fi
else
# Non-interactive: auto-reinstall
info "Non-interactive mode: auto-reinstalling..."
uninstall_setup
fi
fi
# Request sudo access
verify_sudo
# Create directory structure
info "Creating directory structure..."
sudo mkdir -p "$CONTENTS_DIR"
success "Created $CONTENTS_DIR"
# Create symlink
info "Creating symlink to SDKMAN JDK..."
sudo ln -sf "$sdkman_jdk" "$HOME_LINK"
success "Created symlink: $HOME_LINK -> $sdkman_jdk"
# Create Info.plist
info "Creating Info.plist..."
sudo tee "$PLIST_FILE" > /dev/null << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleIdentifier</key>
<string>sdkman.current</string>
<key>CFBundleName</key>
<string>SDKMAN Current JDK</string>
<key>CFBundleVersion</key>
<string>${jdk_version}</string>
<key>JavaVM</key>
<dict>
<key>JVMPlatformVersion</key>
<string>9999</string>
<key>JVMVendor</key>
<string>${jdk_vendor}</string>
<key>JVMVersion</key>
<string>9999</string>
</dict>
</dict>
</plist>
EOF
success "Created Info.plist"
# Set proper permissions
info "Setting permissions..."
sudo chmod -R 755 "$TARGET_DIR"
success "Permissions set"
print_header "Installation Complete"
success "SDKMAN JDK integration installed successfully"
# Verify installation
verify_setup
}
################################################################################
# Uninstallation Functions
################################################################################
uninstall_setup() {
print_header "Uninstalling SDKMAN JDK Integration"
if ! check_existing_setup; then
warn "No existing setup found at $TARGET_DIR"
info "Nothing to uninstall"
return 0
fi
# Request sudo access if not already verified
verify_sudo
info "Removing $TARGET_DIR..."
sudo rm -rf "$TARGET_DIR"
success "Removed SDKMAN JDK integration"
print_header "Uninstallation Complete"
}
################################################################################
# Verification Functions
################################################################################
verify_setup() {
print_header "Verifying Setup"
# Check if setup exists
if ! check_existing_setup; then
error "Setup not found at $TARGET_DIR"
info "Run with 'install' to set up the integration"
exit 1
fi
# Check symlink
if [[ ! -L "$HOME_LINK" ]]; then
error "Symlink not found at $HOME_LINK"
exit 1
fi
success "Symlink exists: $HOME_LINK"
# Check if symlink target exists
if [[ ! -e "$HOME_LINK" ]]; then
error "Symlink target does not exist"
local target
target="$(readlink "$HOME_LINK")"
error "Broken symlink: $HOME_LINK -> $target"
exit 1
fi
local symlink_target
symlink_target="$(readlink "$HOME_LINK")"
success "Symlink target valid: $symlink_target"
# Check Info.plist
if [[ ! -f "$PLIST_FILE" ]]; then
error "Info.plist not found at $PLIST_FILE"
exit 1
fi
success "Info.plist exists"
# Test /usr/libexec/java_home
info "Testing /usr/libexec/java_home..."
local java_home_output
if java_home_output=$(/usr/libexec/java_home 2>&1); then
success "/usr/libexec/java_home works"
echo -e "\n${BOLD}Output:${NC}"
echo "$java_home_output"
else
error "/usr/libexec/java_home failed"
echo "$java_home_output"
exit 1
fi
# Show all available JVMs
echo -e "\n${BOLD}Available Java Virtual Machines:${NC}"
/usr/libexec/java_home -V 2>&1 || true
print_header "Verification Complete"
success "Setup is working correctly"
echo
info "Notes:"
echo " • When you change JDK with 'sdk use java <version>', the symlink"
echo " will automatically point to the new current version"
echo " • Xcode and other tools can now find Java using /usr/libexec/java_home"
echo " • The version is set to 9999 to ensure this JDK is always selected"
}
################################################################################
# Help Function
################################################################################
show_help() {
cat << 'EOF'
install.sh - Version 1.0.0
DESCRIPTION
Configure macOS to recognize SDKMAN-installed JDKs through /usr/libexec/java_home
by creating a proper directory structure in /Library/Java/JavaVirtualMachines.
USAGE
install.sh [COMMAND]
COMMANDS
install Set up the SDKMAN JDK integration (default)
uninstall Remove the SDKMAN JDK integration
verify Verify the setup is working correctly
help Display this help message
EXAMPLES
# Install the integration
install.sh install
# Verify it's working
install.sh verify
# Remove the integration
install.sh uninstall
HOW IT WORKS
1. Creates /Library/Java/JavaVirtualMachines/sdkman-current/Contents/
2. Symlinks Contents/Home to SDKMAN's current JDK
3. Creates Info.plist with proper metadata
4. Sets version to 9999 to ensure it's always selected
REQUIREMENTS
- macOS
- SDKMAN installed with at least one JDK
- sudo privileges
FILES CREATED
/Library/Java/JavaVirtualMachines/sdkman-current/
/Library/Java/JavaVirtualMachines/sdkman-current/Contents/
/Library/Java/JavaVirtualMachines/sdkman-current/Contents/Home (symlink)
/Library/Java/JavaVirtualMachines/sdkman-current/Contents/Info.plist
MORE INFO
- SDKMAN: https://sdkman.io/
- Gist: https://gist.github.com/abd3lraouf/1db9bf863144802733bfd29bb5dada87
EOF
}
################################################################################
# Main Function
################################################################################
main() {
# Check prerequisites
check_macos
# Parse command
local command="${1:-install}"
case "$command" in
install)
check_sdkman
install_setup
;;
uninstall)
uninstall_setup
;;
verify)
check_sdkman
verify_setup
;;
help|--help|-h)
show_help
;;
*)
error "Unknown command: $command"
echo
show_help
exit 1
;;
esac
}
# Run main function
main "$@"
=LET(
lookBack, 12,
prevDay, E5:AG5,
prevDayOutput, E6:AG6,
currDay,E8:AG8,
output, DROP(REDUCE(prevDayOutput, SEQUENCE(,COLUMNS(currDay)), LAMBDA(x,y,
HSTACK(x, IF(INDEX(currDay, y), INDEX(currDay, y),
LET(
v, TAKE(DROP(HSTACK(prevDay, TAKE(currDay,, y)),,-1),,-lookBack),
out, IF(OR(AND(v>0), TAKE(x,,-1)=0, AND(v=0), AND(TAKE(x,,-lookBack)>0)), 0, 0.5),
out
)
))
)),,COLUMNS(prevDayOutput)),
output)
I actually created this account just to share this, because I had been looking for a solution for days and couldn’t find anything that worked.
I was having this issue with PostgreSQL and tried several things without success. After installation, I noticed that the data folder inside the PostgreSQL directory was always empty, which seemed to be causing the problem.
I tried downloading the data folder (where the cluster files are stored) through the Command Prompt, and even created a new user account on Windows, but nothing worked.
What eventually solved it for me was installing pgAdmin 4 separately from the PostgreSQL installer. I went to the specific download page for pgAdmin 4, installed it first, ran it, and then restarted my PC as usual.
After that, I downloaded PostgreSQL using the official installer, but this time I unchecked the option to install pgAdmin 4, since I had already installed it. For some reason, that did the trick. I no longer got the “Problem running post-install step; installation may not complete correctly” error, and the data folder was finally created correctly.
https://docs.expo.dev/router/advanced/stack/
I found a property called unstable_headerRightItems in the stack header options. I managed to use it, and while it’s not officially supported yet, it does get the job done. It actually didn’t work for me until I installed react-native-screens version 4.18.0. However, I’m still not entirely sure how it’s meant to be used if you have any documentation or know a better approach, please share it.
unstable_headerRightItems: () => [
{
type: "button",
label: "Notifications",
onPress: () => router.push("/home/notifications"),
render: () => (
<HeaderButton
imageProps={{
systemName: "bell",
}}
buttonProps={{
variant: "plain",
}}
/>
),
},
{
type: "button",
label: "Streak",
onPress: () => router.push("/home/streak"),
},
],
Just add `padding-top` to the container div.
<div class="grid w-80 grid-cols-2 gap-2 text-[1rem] leading-[1.5]">
<div class="border border-blue-400">
<div class="pt-2">
<ruby>
吾輩<rt>わがはい</rt>
</ruby>
は猫である。名前はまだ無い。どこで
<ruby>
生<rt>う</rt>
</ruby>
れたかとんと見当がつかぬ。
</div>
</div>
<div class="border border-blue-400">
<div class="pt-2">
吾輩は猫である。名前はまだ無い。どこで
<ruby>
生<rt>う</rt>
</ruby>
れたかとんと見当がつかぬ。
</div>
</div>
</div>
Marking this as closed as using a different IDE provided a valid response object for me to dig deeper into. Thanks for your help everyone!
Read solution in the description above.
we can use this plug-in as well - JetBrains Mono. A typeface for developers_
I'd say that yes, you should probably switch to a:
| Ticket Number | Location | Start Date | End Date |
|---|
(or Start Location + End Location if they differ)
Thus:
This is not the same as this similar question Can I get an image digest without downloading the image?. That question gets the digest using a network query. This question is about analyzing the locally stored file.
Anyone got registry settings to stick for server 2025? For a workgroup server, I have tried lgpo.exe, reg.exe and secedit.exe and in about 1-2h, it reverts back to MS defaults, which I cannot use.
"🎰 Sekali main, langsung ketagihan. Karena di JO777, tiap putaran penuh kejutan elegan."
Envers might use the stable ValueObject.id as the primary identifier to track changes, completely bypassing the composite key issue with @ElementCollection
@Entity
@Audited
class ValueObject {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String propertyA;
private Integer propertyB;
}
@Entity
@Audited
class ParentEntity {
@Id
private Long id;
@OneToMany(cascade = CascadeType.ALL, orphanRemoval = true)
@JoinColumn(name = "parent_id")
@OrderColumn(name = "position")
private List<ValueObject> values = new ArrayList<>();
}
Changed @Embeddable to @Entity
Added @GeneratedValue
Changed @ElementCollection to @OneToMany
In the wrangler we have set column name options above the output schema right corner. Click on set column and you can give the column name as per standard naming convention with comma separated. Only make sure number of columns in input should match with number of columns in output.
I had the same issue with a new SSL certificate renewed on ssls.com
Our app no longer functions on Android 13 when REST API requests are in use, and embedded browsing is also broken.
I managed to solve it by contacting ssls.com support and they told me to start renewing the certificate, but don't enter the verification code in Sectigo's form. Meanwhile they contacted Sectigo and they provided files with a correct ca-bundle file in it. Then I finished the verification as usual, got the Zip file with the certificate files and created the PFX file from them, also embedding the ca-bundle file via openssl command line. (This was a new step for me.
With this fixed certificate (and bundle) everything works on Android 13 and earlier versions. Let's hope they will fix this issue soon on Sectigo's end, but at least there is a workaround that Support may be able to provide.
-keep class org.spongycastle.** { *; }
-dontwarn org.spongycastle.**
-keep class com.gemalto.** { *; }
-keep,includedescriptorclasses class org.bouncycastle.** { *; }
-dontnote sun.java2d.cmm.kcms.KcmsServiceProvider
-dontwarn com.gemalto.jp2.**
-dontwarn com.tom_roush.pdfbox.filter.JPXFilter
You are executing initialization code in the withHooks feature: https://ngrx.io/guide/signals/signal-store/lifecycle-hooks
Have you tried to exclude the MongoHealthContributorAutoConfiguration in your main application class?
@SpringBootApplication(
exclude = { org.springframework.boot.actuate.autoconfigure.data.mongo.MongoHealthContributorAutoConfiguration.class
}
)
public class YourApplication {
}
Image of ui hii i was working on a similar thing with electron i wrote a shell script to run automatically when the app starts, this enables me to find out the hardware specs of the pc that my app is currently running on, with the output from the script, i pass it to the front end and update the ui
so in short :
scripts get hardware specs
Main process runs the script
Exposes result through IPC
Renderer calls IPC and renders the string on the ui like the picture i have above
If it is just converted the df into html table then I agree. Use to_html(formattrers=list[callable])
I believe this Medium post is what you need. It's incredible
This is what I was looking for! And the tool you mentioned is super helpful. Thank you so much!
I have seen many answers, including the basics such as installing the extension, but none of them mentioned that you also need to include the following in your global or App CSS file:
@import "tailwindcss";
@import "tw-animate-css";
Try VITE. You never have to spend a minute of your time doing version control. I use VITE for my website rmlives.com.
FWIW, below are the changes I did in my Dockerfile to get LogMonitor.exe dialed in. I did configure LogMonitorConfig.json to show as well some of the Windows Event Log information and I do see them in the containers' logs.
If you are using app_links, please try to edit AndroidManifest.xml file (android/app/src/main/AndroidManifest.xml) by adding the following metadata tag and intent filter inside the tag with .MainActivity
<meta-data android:name="flutter_deeplinking_enabled" android:value="false" />
More details can be found here
I think you should just delete the database and re-create it. As you (or the docs) said, purge is limited to the indexeddb adapter and is not intended for regular deletion, so it's unreliable for a full restore.
See https://github.com/iced-rs/iced/pull/3099 . It will build for Android, but it still gets runtime errors. Starting with:
An `AndroidApp` as passed to android_main() is required to create an `EventLoop` on Android`
I'm facing a similar issue. The problem is that when building a bundle, all unnecessary localizations are stripped from the app, unlike when building an APK. To fix this, use the following code in your build.gradle.
bundle
{
language { enableSplit false }
}
I have been trying to achieve the same thing with MediaRecorder.pause and .resume
Once I get a phone call I pause the recording and resume when the phone is in IDLE state according to the TelephonyManager. But it doesn't seem to resume the recording and the recording stop abruptly without throwing any error.
The problem is that chrome uses the V8 engine and firefox uses SpiderMonkey
My app started failing recently. I have not been able to get it to work again using the solutions found in the comments on this post. My app has been running without problem for over five years.
Adding these to the YTPlayer vars solved the Error 153
origin: 'https://www.youtube.com',
widget_referrer: 'https://www.youtube.com'
But, the video does not play. The message An error occurred. Please try again later. (Playback ID: l3D74od3j9GXjKY-) is displayed. I right-clicked on the WebView2 display and then clicked debug info. The JSON below was displayed.
"api.invalidparam" and "invalidVideodata.1;a6s.1" indicate a problem but I don't have any idea what else to change.
{ "vct": "0.000", "vd": "NaN", "vpl": "", "vbu": "", "vbs": "", "vpa": "1", "vsk": "0", "ven": "0", "vpr": "1", "vrs": "0", "vns": "0", "vec": "null", "vemsg": "", "vvol": "1", "vdom": "1", "vsrc": "0", "vw": "0", "vh": "0", "dvf": 0, "tvf": 0, "state": "80", "debug_error": "{\"errorCode\":\"api.invalidparam\",\"errorMessage\":\"An error occurred. Please try again later.\",\"gN\":\"GENERIC_WITHOUT_LINK\",\"UY\":\"\",\"hf\":\"invalidVideodata.1;a6s.1\",\"QM\":2,\"cpn\":\"Mk4qbbDE9eZ6_uIk\"}", "relative_loudness": "NaN", "user_qual": 0, "release_version": "youtube.player.web_20251029_15_RC00", "0sz": "true", "op": "", "yof": "true", "dis": "", "gpu": "ANGLE_(Intel,_Intel(R)_UHD_Graphics_(0x00009A60)_Direct3D11_vs_5_0_ps_5_0,_D3D11)", "js": "/s/player/e237d4c5/player_ias.vflset/en_US/base.js", "debug_playbackQuality": "unknown", "debug_date": "Mon Nov 03 2025 13:12:54 GMT-0500 (Eastern Standard Time)", "origin": "https://www.youtube.com", "timestamp": 1762193574713 }
It is a Windows app that uses (.NET and WebView2). The app passes the HTML via string containing the YTPlayer JavaScript to the WebView2 API using WebView.NavigateToString(HTMLText);
Sample contents of the HTMLText string passed to WebView2:
Added to original HTMLText as a result of comments in this post:
<meta name='referrer' content='strict-origin-when-cross-origin'>
origin: 'https://www.youtube.com',
widget_referrer: 'https://www.youtube.com
<!doctype html>
<html lang='en'>
<head>
<title>YouTube Player</title>
<meta charset='UTF-8'>
<meta name='robots' content='none,noarchive,noindex,nofollow,nosnippet,noimageindex,unavailable_after: 01 Jan 2010 01:00:00 PST'>
<meta name='googlebot' content='noarchive,noindex,nofollow,nosnippet,noimageindex,unavailable_after: 01 Jan 2010 01:00:00 PST'>
<meta name='referrer' content='strict-origin-when-cross-origin'>
<style>
.video-container {position:relative;padding-bottom:56.25%;padding-top:0px;height:0;overflow:hidden;}
.video-container iframe, .video-container object, .video-container embed {position:absolute;top:0;left:0;width:100%;height:100%;}
</style>
</head>
<body>
<div class='video-container'><div id='ytplayer'></div></div>
<script>
var TheVID = ' The YouTube Video ID Godes Here';
var player;
var videoCount = 0;
var lastState = -1;
function SendMsg(msg) {
window.chrome.webview.postMessage(msg); // Send Message to program
}
function handlePaused() {
// If still paused after 10 seconds, send error and exit
if (lastState == YT.PlayerState.PAUSED) {
// Send error message to program
// Force a Navigation event
SendMsg('ERROR: YouTube ID=' + TheVID + ' paused unexpectedly. Exiting play.');
setTimeout(function(){window.location='about:blank';}, 5000); // Wait 5 seconds then exit
}
}
function onPlayerReady(event) {
if (TheVID.indexOf(',') > -1) {
var VIDList = TheVID.split(',');
videoCount = VIDList.length;
player.loadPlaylist(VIDList);
} else {
videoCount = 1;
player.loadVideoById(TheVID);
}
// Wait a bit. Supposed to AutoPlay but just in case it doesn't...tell it to play
setTimeout(function(){player.playVideo();}, 500);
}
window.onYouTubeIframeAPIReady = function() {
var vars = {enablejsapi: 1,
rel: 0, playsinline: 0, loop: 0, fs: 0, controls: 0,
autoplay: 1,
origin: 'https://www.youtube.com',
widget_referrer: 'https://www.youtube.com'
};
window.scrollbars.visible=false;
player = new YT.Player('ytplayer', {
playerVars: vars,
events: {
'onReady': onPlayerReady,
'onStateChange': function (event) {
if (event.data == YT.PlayerState.ENDED) {
videoCount = videoCount - 1;
if (videoCount == 0) {
// Force a Navigation event
window.location='about:blank';
}
}
if (event.data == YT.PlayerState.PAUSED) {
lastState = event.data;
SendMsg('WARNING: YouTube ID=' + TheVID + ' paused unexpectedly. Trying to resume playing.');
player.playVideo(); // Attempt to make it play again
setTimeout(handlePaused,10000); // Wait 10 seconds then check to see if play has resumed.
}
if (event.data == YT.PlayerState.PLAYING) {
lastState = event.data;
SendMsg('YouTube video is now playing.');
}
},
'onError': function (event) {
// Send error message to program
// Force a Navigation event to end the YouTube Player
var msg;
switch (event.data.toString()) {
case '2' :
msg=' The request contains an invalid parameter value (VideoID).';
break;
case '5' :
msg=' The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.';
break;
case '100' :
msg=' The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.';
break;
case '101' :
msg=' The owner of the requested video does not allow it to be played in embedded YouTube player';
break;
case '150' :
msg=' Allow Embedding not checked, Private checked or copyright claim prevents play in embedded YouTube player';
break;
default :
msg=' Error #' + event.data.toString();
break;
}
SendMsg('ERROR: YouTube ID=' + TheVID + ' ' + event.data.toString() + msg);
setTimeout(function(){window.location='about:blank';}, 5000); // Wait 5 seconds then exit
}
}
});
};
// Load the IFrame Player API code asynchronously.
var tag = document.createElement('script');
tag.src = 'https://www.youtube.com/iframe_api';
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
//
// Replaces the 'ytplayer' element with an <iframe> and
// YouTube player after the API code downloads.
</script>
</body>
</html>
you can’t directly “animate” an SVG <filter> used as a CSS mask browsers don’t re-render filters unless something inside changes. So your <feTurbulence> is static by default.
The simple fix is to animate the baseFrequency in SVG, not in CSS. Like this:
<feTurbulence id="fogNoise" type="fractalNoise" baseFrequency="0.004" numOctaves="1" stitchTiles="stitch">
<animate attributeName="baseFrequency" dur="8s" values="0.004;0.008;0.004" repeatCount="indefinite"/>
</feTurbulence>
Then reference that filter as your mask:
.page-heading::after {
mask: url(#fogNoise);
-webkit-mask: url(#fogNoise);
}
That’s it — the <animate> tag makes the noise “breathe” over time, giving you that subtle fog shimmer. No JS needed. Have a good day!
you can read more about the feature from here
The sources are there so you can investigate yourself if you want
According to the datasheet from your selected MCU (STM32F103C8T6) the device doesn't support the I2S interface. It supports only two normal SPI interfaces. You need a high-density device in the SM32F103xx series. STM32F103VG as an example, but it use a TQFP100 package.
You can also see this in the STM32F103 product selector, that the STM32F103C8 doesn't supports I2S.
This image is a screenshot from the mobile game Garena Free Fire. The QR code shown is part of a game event or a viral trend where players scan codes to potentially receive in-game rewards, such as free diamonds.
Thanks, Donal.
So, I didnt code this globally. According to the doc, local vars are scoped to the connection, not the iRule. So I made 2 irules. A common one to be used by all of the virtual servers I specify, and then a very short one for each connection, that merely prefills the variables that the longer one uses. I set the one with the variable (config) definitions as higher priority. I define the variables in the CLIENT_ACCEPTED event, and dont have anything defined prior to this
I could have done it with procedures as well, but that seemed more complicated than just letting the scope of the local vars do their thing. Plus, if I did everything as procedures, that would mean all of the events would also be coded inside of my "definition" irule, so if I chose to add new events to the rules, id still have to go back and make a custom change to every single irule that is specific on a per-virtual-server basis.
I ran a half million calls through my above example with zero issues, so unless you can give me a reason not to, I'm going to do some production testing, as the way I've implemented to far gives me the most flexibility.
You can now simply use pip install psycopg[binary] and it'll install only the compiled libpq and psycopg without the build tools.
I would check the hardware. Try other kinds of computations on the node.
Just use HTML CSS and JS and do it on a local folder. Run your html file in a webbrowser and it´s done.
Look some:
https://jcoimbras.blogspot.com/
getContainer={false}
This is will fix this issue
In my case the solution was:
# Sync CA bundle from webhook to CRD conversion webhook
CA=$(kubectl get mutatingwebhookconfiguration opentelemetry-operator-eks-desenv-mutation \
-o jsonpath='{.webhooks[0].clientConfig.caBundle}') kubectl patch crd opentelemetrycollectors.opentelemetry.io --type=json \
-p "[{\"op\":\"replace\",\"path\":\"/spec/conversion/webhook/clientConfig/caBundle\",\"value\":\"$CA\"}]"
Apparently the global JSX namespace has been moved to React.JSX
So in my case, simply changing
img: JSX.Element
to
img: React.JSX.Element
did the trick.
I can see your puma version 6.4.3 which had some issue with openssl version determine logic, if you upgrade to 6.5 might solve your problem, because they fixed some openssl version determining issue.
You can check details from https://github.com/puma/puma/compare/v6.4.3...v6.5.0 here. ext/puma_http11/extconf.rb
for JIRA cloud REST API access
you can create API token from your personal Atlassian account page:
there are 2 types of API tokens:

BUT Based on the options you need to use different URLs to access your JIRA REST API:
https://mysite.atlassian.net/rest/api/3/search/jqlhttps://api.atlassian.com/ex/jira/{cloudId}/rest/api/3/search/jql
https://api.atlassian.com/ex/jira/123..../rest/api/3/search/jql?jql=project+%3D+XXXDocumentation is not very intuitive
JIRA cloud Basic auth for REST APIs:
Manage API tokens for your Atlassian account:
Explanation of API token scopes limits (ignore the info about Oauth2.0 and Forge apps):
It's easy to create such plots using ggalign, which offers an integrative, composable visualization framework for ggplot2..
library(ggalign)
set.seed(1)
time <- 1:50
data <- t(data.frame(
A = cumsum(rnorm(50, 0, 1)),
B = cumsum(rnorm(50, 0, 1)),
C = cumsum(rnorm(50, 0.2, 1)),
D = cumsum(rnorm(50, -0.2, 1))
))
stack_discreteh(data) -
# set default theme for all plots in the layout
scheme_theme(theme_minimal()) +
# add line plot
ggfree(size = 3) +
scheme_data(function(d) {
d$time <- time[d$.column_index]
d$.panel <- factor(d$.panel)
names(d$.panel)
d
}) +
geom_line(aes(time, value)) +
geom_hline(yintercept = 0, linetype = "dashed") +
facet_grid(rows = vars(.panel)) +
theme(strip.text = element_blank(), strip.background = element_blank()) +
# add the dendrogram
align_dendro(aes(color = branch), k = 4, plot_cut_height = FALSE) +
scale_color_brewer(palette = "Dark2", guide = "none") +
theme(axis.text.y = element_text())
More examples:
Yes, but how do you deal with a DB that exceeds RAM in that scenario?
Same question here! Curious to understand if you already find out the answer?
An answer from 2025.
Keycloak version: 21.0.2
The answer with most upvotes from @stephen is outdated, however I couldnt find Service Account in my client page.
MY CASE
I have a special user called keycloak_admin and I use him to work with API (without client id and secret) I forgot to give that user admin realm role :)
You are great solana dev. I got help your answer
You can not "turn your answer into community wiki" because this new format does not have "answers". Or "feedback comments as to why you got a downvote". There's only long chains of whatever this is.
Thanks for the tip on timeradd. Does timeradd "normalize" the values given to it? I'm not sure if it is there to add two struct timevals in a safe way, or if it should be used to initialize a struct timeval by adding one initialized to zero to another which is initialized to the intended final value?
I am facing similar issue. Was anyone able to resolve it?