Shortcut cycle through apps in the Taskbar Windows 10
Folosind o combinatie de taste putem accesa toate aplicatiile de pe Taskbar, nefiind necesar sa ne luam degetele de pe tastatura.
[mai mult...]Soluții pentru problemele tale IT
Folosind o combinatie de taste putem accesa toate aplicatiile de pe Taskbar, nefiind necesar sa ne luam degetele de pe tastatura.
[mai mult...]Comanda ICACLS.exe integrată în Windows este utilizată pentru a gestiona permisiunile pentru fișiere și foldere din linia de comandă. Această comandă este utilizată cel mai adesea în scripturi și sarcini automatizate pentru a acorda, modifica, elimina sau face copii de rezervă ale permisiunilor NTFS pentru fișiere sau directoare utilizatorilor și/sau grupurilor.
Uneori este mai ușor și mai eficient să se configureze listele de control al accesului(ACL) pe un obiect al sistemului de fișiere utilizând comanda icacls în CLI decât să se ajusteze permisiunile NTFS utilizând fila Securitate din interfața grafică File Explorer.
Explicații privind abrevierile permisiunilor iCACLS
Mai jos se află o listă completă a abrevierilor permisiunilor utilizate în iCACLS:
Permisiuni de acces de bază:
F — acces complet (citire, scriere, modificare, ștergere, schimbare)
M — modificare (citire, scriere și ștergere)
RX — acces de citire și executare
R — acces numai pentru citire
W — acces numai pentru scriere
D — numai ștergere
N – fără acces
Permisiuni avansate:
DE — ștergere
RC — control citire
WDAC — scriere DAC
WO — proprietar scriere
S — sincronizare
AS — acces securitate sistem
MA — permisiunile maxime permise
GR — citire generică
GW — scriere generică
GE — executare generică
GA — generice toate
RD — citire date/listare director
WD — scriere date/adăugare fișier
AD — adăugare date/adăugare subdirector
REA — citire atribute extinse
WEA — scriere atribute extinse
X — executare/traversare
DC — ștergere subdirector
RA — citire atribute
WA — scriere atribute
Setări de moștenire iCACLS:
(OI) — obiectele moștenesc ACE specificat
(CI) — subdirectoarele din directorul curent moștenesc ACE
(IO) — moștenesc numai obiectul curent
(NP) — nu propagă moștenirea
(I) — permisiune moștenită de la containerul părinte
Dacă vedeți un mesaj de eroare care spune că Windows nu a putut porni serviciul Windows Audio Endpoint Builder pe computerul local, iată cum puteți remedia problema în PC-ul Windows 11/10.
[mai mult...]1. System Overview
A pulse rate monitor measures heartbeats using an optical sensing technique called photoplethysmography (PPG). The system works as follows:
An LED emits light into the skin.
A photodiode detects variations in reflected light.
The signal is amplified and filtered.
The microcontroller processes the signal.
Beats per minute (BPM) are calculated.
The result is displayed or transmitted.
The microcontroller used in this guide is the Arduino Uno, but other compatible boards such as the Arduino Nano can also be used.
2. Required Components
Core Components
Arduino Uno
Pulse Sensor Amped
Breadboard
Jumper wires
USB cable
Optional Components
16×2 LCD display
OLED display (I2C)
10kΩ potentiometer (for LCD contrast)
Buzzer (heartbeat indication)
External power supply (9V battery)
Enclosure case
3. Working Principle of the Pulse Sensor
The Pulse Sensor typically contains:
A green LED (light source)
A photodiode (light detector)
Amplifier circuitry
Noise filtering stage
Principle of Operation
When the heart pumps blood:
Blood volume in the capillaries increases.
Light absorption increases.
Reflected light decreases.
The photodiode output voltage changes.
This produces a waveform known as a PPG signal, which contains periodic peaks corresponding to heartbeats.
4. Circuit Connections
Pulse Sensor to Arduino
| Pulse Sensor Pin | Arduino Pin |
|---|---|
| VCC | 5V |
| GND | GND |
| SIGNAL | A0 |
The signal pin connects to analog input A0.
Optional: 16×2 LCD (Parallel Mode)
| LCD Pin | Arduino Pin |
|---|---|
| RS | 12 |
| EN | 11 |
| D4 | 5 |
| D5 | 4 |
| D6 | 3 |
| D7 | 2 |
| VSS | GND |
| VDD | 5V |
5. Signal Processing Logic
The sensor outputs an analog waveform that includes noise. The Arduino must:
Continuously read analog values.
Detect peaks above a defined threshold.
Measure time between successive peaks.
Calculate BPM.
BPM Calculation
If IBI is the inter-beat interval in milliseconds:
BPM = 60000 / IBI
Where:
60000 = milliseconds per minute
IBI = time between two detected heartbeats
6. Arduino Code (Basic Version)
const int pulsePin = A0;
int signal;
int threshold = 550;unsigned long lastBeatTime = 0;void setup() {
Serial.begin(9600);
}
void loop() {
signal = analogRead(pulsePin);
currentTime = millis();
if(signal > threshold) {
if(currentTime – lastBeatTime > 300) {
unsigned long IBI = currentTime – lastBeatTime;
lastBeatTime = currentTime;
BPM = 60000 / IBI;
Serial.print(“BPM: “);
Serial.println(BPM);
}
}
}
7. Code Explanation
Threshold
The threshold filters out noise. It must be adjusted depending on:
Finger placement
Ambient light conditions
Individual physiology
Debounce Interval (300 ms)
This prevents double counting. A 300 ms minimum interval limits detection to a maximum of approximately 200 BPM.
8. Adding LCD Display
Include the library:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
In setup():
lcd.begin(16, 2);
In loop():
lcd.setCursor(0, 0);
lcd.print("Heart Rate:");
lcd.setCursor(0, 1);
lcd.print(BPM);
lcd.print(" BPM ");
9. Improving Accuracy
1. Moving Average Filtering
BPM = (BPM + previousBPM) / 2;
This smooths fluctuations.
2. Use Interrupt-Based Sampling
Provides more precise timing than polling in the main loop.
3. Use Hardware Timers
Using Timer2 improves sampling stability and reduces jitter.
4. Reduce Ambient Light
Use a finger clip or dark enclosure to block external light interference.
10. Calibration Procedure
Open Serial Monitor
Observe raw analog values
Identify:
Resting signal level
Peak signal level
Set threshold midway between these values.
Example:
Resting value: 520
Peak value: 620
Threshold: 570
11. Expected Output
Normal adult resting heart rate:
60–100 BPM
Athletes:
40–60 BPM
If readings fluctuate significantly:
Check noise filtering
Recalibrate threshold
Improve finger positioning
12. Troubleshooting
| Problem | Possible Cause | Solution |
|---|---|---|
| No reading | Wiring issue | Check connections |
| Unstable BPM | Noise | Improve filtering |
| Constant zero | Threshold too high | Lower threshold |
| Very high BPM | Threshold too low | Increase threshold |
If you’ve ever tried to access your homelab, NAS, or Proxmox server from outside your house, you probably know the pain. Open ports on the router, deal with NAT, hope your ISP didn’t throw you behind CG-NAT, and then sit there wondering how exposed your services really are.
On top of that, you have to think about dynamic IPs, firewall rules, and whether you just made your setup visible to the whole internet.
[mai mult...]1 Notă preliminară
În acest ghid, veți adăuga repozitoriul SURY suplimentar pentru a instala pachetele PHP cu apt. Deoarece și alte pachete, precum OpenSSL, sunt actualizate, pachetele instalate de pe sury.org nu pot fi eliminate pur și simplu după instalare. Așadar, nu eliminați SURY ca sursă de repozitoriu ulterior.
Rețineți că PHP-FPM poate fi utilizat pe serverele Apache și Nginx, în timp ce FastCGI este disponibil doar pentru serverele Apache.
2 Adăugați depozitul SURY
Mai întâi instalați aceste pachete necesare:
apt-get install -y apt-transport-https lsb-release ca-certificates
Acum adăugați cheia repozitoriului rulând această comandă:
wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg >/dev/null 2>&1
și depozitul în sine:
echo „deb https://packages.sury.org/php/ $(lsb_release -c -s) main” > /etc/apt/sources.list.d/php.list
Acum actualizați lista de pachete:
apt-get update
Pentru a actualiza pachetele deja instalate din noul depozit, utilizați această comandă:
apt-get upgrade
3 Instalați versiuni suplimentare de PHP
Nu trebuie să instalați toate versiunile listate aici, instalați-le pe cele de care aveți nevoie.
3.1 Instalați PHP 5.6
Pentru a instala PHP, utilizați această comandă:
apt-get install php5.6 php5.6-cli php5.6-cgi php5.6-fpm php5.6-gd php5.6-mysql php5.6-imap php5.6-curl php5.6-intl php5.6-pspell php5.6-recode php5.6-sqlite3 php5.6-tidy php5.6-xmlrpc php5.6-xsl php5.6-zip php5.6-mbstring php5.6-soap php5.6-opcache libicu65 php5.6-common php5.6-json php5.6-readline php5.6-xml
3.2 Instalați PHP 7.0
Pentru a instala PHP, utilizați această comandă:
apt-get install php7.0 php7.0-cli php7.0-cgi php7.0-fpm php7.0-gd php7.0-mysql php7.0-imap php7.0-curl php7.0-intl php7.0-pspell php7.0-recode php7.0-sqlite3 php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-zip php7.0-mbstring php7.0-soap php7.0-opcache php7.0-common php7.0-json php7.0-readline php7.0-xml
3.3 Instalați PHP 7.1
Pentru a instala PHP, utilizați această comandă:
apt-get install php7.1 php7.1-cli php7.1-cgi php7.1-fpm php7.1-gd php7.1-mysql php7.1-imap php7.1-curl php7.1-intl php7.1-pspell php7.1-recode php7.1-sqlite3 php7.1-tidy php7.1-xmlrpc php7.1-xsl php7.1-zip php7.1-mbstring php7.1-soap php7.1-opcache php7.1-common php7.1-json php7.1-readline php7.1-xml
3.4 Instalați PHP 7.2
Pentru a instala PHP, utilizați această comandă:
apt-get install php7.2 php7.2-cli php7.2-cgi php7.2-fpm php7.2-gd php7.2-mysql php7.2-imap php7.2-curl php7.2-intl php7.2-pspell php7.2-recode php7.2-sqlite3 php7.2-tidy php7.2-xmlrpc php7.2-xsl php7.2-zip php7.2-mbstring php7.2-soap php7.2-opcache php7.2-common php7.2-json php7.2-readline php7.2-xml
3.5 Instalați PHP 7.3
Pentru a instala PHP, utilizați această comandă:
apt-get install php7.3 php7.3-cli php7.3-cgi php7.3-fpm php7.3-gd php7.3-mysql php7.3-imap php7.3-curl php7.3-intl php7.3-pspell php7.3-recode php7.3-sqlite3 php7.3-tidy php7.3-xmlrpc php7.3-xsl php7.3-zip php7.3-mbstring php7.3-soap php7.3-opcache php7.3-common php7.3-json php7.3-readline php7.3-xml
3.6 Instalați PHP 7.4
Pentru a instala PHP 7.4 folosiți această comandă:
apt-get install php7.4 php7.4-cli php7.4-cgi php7.4-fpm php7.4-gd php7.4-mysql php7.4-imap php7.4-curl php7.4-intl php7.4-pspell php7.4-sqlite3 php7.4-tidy php7.4-xmlrpc php7.4-xsl php7.4-zip php7.4-mbstring php7.4-soap php7.4-opcache php7.4-common php7.4-json php7.4-readline php7.4-xml
3.7 Instalați PHP 8.0
Pentru a instala PHP 8.0 folosiți această comandă:
apt-get install php8.0 php8.0-cli php8.0-cgi php8.0-fpm php8.0-gd php8.0-mysql php8.0-imap php8.0-curl php8.0-intl php8.0-pspell php8.0-sqlite3 php8.0-tidy php8.0-xsl php8.0-zip php8.0-mbstring php8.0-soap php8.0-opcache php8.0-common php8.0-readline php8.0-xml
3.8 Instalați PHP 8.1
Pentru a instala PHP 8.1 folosiți această comandă:
apt-get install php8.1 php8.1-cli php8.1-cgi php8.1-fpm php8.1-gd php8.1-mysql php8.1-imap php8.1-curl php8.1-intl php8.1-pspell php8.1-sqlite3 php8.1-tidy php8.1-xsl php8.1-zip php8.1-mbstring php8.1-soap php8.1-opcache php8.1-common php8.1-readline php8.1-xml
3.9 Instalați PHP 8.2
Pentru a instala PHP 8.2, folosiți această comandă:
apt-get install php8.2 php8.2-cli php8.2-cgi php8.2-fpm php8.2-gd php8.2-mysql php8.2-imap php8.2-curl php8.2-intl php8.2-pspell php8.2-sqlite3 php8.2-tidy php8.2-xsl php8.2-zip php8.2-mbstring php8.2-soap php8.2-opcache php8.2-common php8.2-readline php8.2-xml
3.10 Instalați PHP 8.3
Pentru a instala PHP 8.3 folosiți această comandă:
apt-get install php8.3 php8.3-cli php8.3-cgi php8.3-fpm php8.3-gd php8.3-mysql php8.3-imap php8.3-curl php8.3-intl php8.3-pspell php8.3-sqlite3 php8.3-tidy php8.3-xsl php8.3-zip php8.3-mbstring php8.3-soap php8.3-opcache php8.3-common php8.3-readline php8.3-xml
3.11 Instalați PHP 8.4
Pentru a instala PHP 8.4 folosiți această comandă:
apt-get install php8.4 php8.4-cli php8.4-cgi php8.4-fpm php8.4-gd php8.4-mysql php8.4-imap php8.4-curl php8.4-intl php8.4-pspell php8.4-sqlite3 php8.4-tidy php8.4-xsl php8.4-zip php8.4-mbstring php8.4-soap php8.4-opcache php8.4-common php8.4-readline php8.4-xml
4. Resetați versiunea implicită a PHP-ului sistemului de operare la versiunea corectă
PHP-ul implicit al sistemului de operare trebuie să rămână la versiunea originală. Pentru a remedia acest lucru, executați aceste comenzi una câte una:
update-alternative --config php update-alternative --config php-cgi update-alternative --config php-fpm.sock
Pe Debian 12, alegeți 8.2; pe Debian 11, alegeți 7.4; pe Debian 10, alegeți 7.3.
5 Adăugați versiuni PHP la ISPConfig
În ISPConfig 3, puteți configura noile versiuni PHP în System > Additional PHP Versions > Add new PHP version .
Mai întâi, trebuie să adăugați o nouă versiune pentru versiunea PHP deja instalată. Versiunea implicită depinde de versiunea pe care o utilizați:
Debian 10: PHP 7.3
Debian 11: PHP 7.4
Debian 12: PHP 8.2
Vedeți mai jos configurația pentru versiunea dvs.
Configurarea pentru versiunile suplimentare de PHP
PHP 5.6
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi5.6 Calea către directorul php.ini: /etc/php/5.6/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php5.6-fpm Calea către directorul php.ini: /etc/php/5.6/fpm/ Calea către directorul pool PHP-FPM: /etc/php/5.6/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php5.6 Secțiunea Jailkit PHP: php5_6
Versiunea CLI pentru, de exemplu, cron jobs se numește php5.6
PHP 7.0
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.0 Calea către directorul php.ini: /etc/php/7.0/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php7.0-fpm Calea către directorul php.ini: /etc/php/7.0/fpm/ Calea către directorul pool PHP-FPM: /etc/php/7.0/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php7.0 Secțiunea Jailkit PHP: php7_0
Versiunea CLI pentru, de exemplu, cron jobs se numește php7.0
PHP 7.1
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.1 Calea către directorul php.ini: /etc/php/7.1/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php7.1-fpm Calea către directorul php.ini: /etc/php/7.1/fpm/ Calea către directorul pool PHP-FPM: /etc/php/7.1/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php7.1 Secțiunea Jailkit PHP: php7_1
Versiunea CLI pentru, de exemplu, cron jobs se numește php7.1
PHP 7.2
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.2 Calea către directorul php.ini: /etc/php/7.2/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php7.2-fpm Calea către directorul php.ini: /etc/php/7.2/fpm/ Calea către directorul pool PHP-FPM: /etc/php/7.2/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php7.2 Secțiunea Jailkit PHP: php7_2
Versiunea CLI pentru, de exemplu, cron jobs se numește php7.2
PHP 7.3
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.3 Calea către directorul php.ini: /etc/php/7.3/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php7.3-fpm Calea către directorul php.ini: /etc/php/7.3/fpm/ Calea către directorul pool PHP-FPM: /etc/php/7.3/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php7.3 Secțiunea Jailkit PHP: php7_3
Versiunea CLI pentru, de exemplu, cron jobs se numește php7.3.
PHP 7.4
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi7.4 Calea către directorul php.ini: /etc/php/7.4/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php7.4-fpm Calea către directorul php.ini: /etc/php/7.4/fpm/ Calea către directorul pool PHP-FPM: /etc/php/7.4/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php7.4 Secțiunea Jailkit PHP: php7_4
Versiunea CLI pentru, de exemplu, cron jobs se numește php7.4
PHP 8.0
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.0 Calea către directorul php.ini: /etc/php/8.0/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php8.0-fpm Calea către directorul php.ini: /etc/php/8.0/fpm/ Calea către directorul pool PHP-FPM: /etc/php/8.0/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php8.0 Secțiunea Jailkit PHP: php8_0
Versiunea CLI pentru, de exemplu, cron jobs se numește php8.0
PHP 8.1
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.1 Calea către directorul php.ini: /etc/php/8.1/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php8.1-fpm Calea către directorul php.ini: /etc/php/8.1/fpm/ Calea către directorul pool PHP-FPM: /etc/php/8.1/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php8.1 Secțiunea Jailkit PHP: php8_1
Versiunea CLI pentru, de exemplu, cron jobs se numește php8.1
PHP 8.2
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.2 Calea către directorul php.ini: /etc/php/8.2/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php8.2-fpm Calea către directorul php.ini: /etc/php/8.2/fpm/ Calea către directorul pool PHP-FPM: /etc/php/8.2/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php8.2 Secțiunea Jailkit PHP: php8_2
Versiunea CLI pentru, de exemplu, cron jobs se numește php8.2
PHP 8.3
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.3 Calea către directorul php.ini: /etc/php/8.3/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php8.3-fpm Calea către directorul php.ini: /etc/php/8.3/fpm/ Calea către directorul pool PHP-FPM: /etc/php/8.3/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php8.3 Secțiunea Jailkit PHP: php8_3
Versiunea CLI pentru, de exemplu, cron jobs se numește php8.3
PHP 8.4
Setări CGI rapide:
Calea către fișierul binar PHP FastCGI: /usr/bin/php-cgi8.4 Calea către directorul php.ini: /etc/php/8.4/cgi/
Setări PHP-FPM:
Calea către scriptul de inițializare PHP-FPM: php8.4-fpm Calea către directorul php.ini: /etc/php/8.4/fpm/ Calea către directorul pool PHP-FPM: /etc/php/8.4/fpm/pool.d/
Setări PHP-CLI:
Calea către fișierul binar CLI PHP: /usr/bin/php8.4 Secțiunea Jailkit PHP: php8_4
Versiunea CLI pentru, de exemplu, cron jobs se numește php8.4.
[mai mult...]