Snippets Collections
If you are looking for an effective means to manage unorganized data efficiently, Softaken File Organizer Software is a great option. It saves users time and effort by automatically sorting and organizing file folders according to file type, name, size, or date. Because of the software ease of use, even non-technical individuals may utilize it. It guarantees that your data will be readily accessible and organized without the need for human interaction. All things considered, it is a useful tool for anyone trying to simplify their data management procedure and dealing with disorganized files.
(([#"Feed-in Tariff"]*[CSL Percent Share])/100) - [Special Deductions]
(1050/(if Date.IsLeapYear([Monitor Date]) then 366 else 365)) * [Expected Capacity]
if [Monitor.cID] = 21 then 
     if [Monitor Date] <= DateTime.Date(DateTime.FromText("2025-08-15")) then 
          5.00
     else 
         8.54
else 
     if [Monitor.cID] = 271 then 
          if [Monitor Date] <= DateTime.Date(DateTime.FromText("2025-07-06")) then 
               200.00
          else  
               410.000
     else 
          [clientengg.Capacity]
let
    CommencementDate = 
         if [Monitor.cID] = 21 then
              if [Monitor Date] <= DateTime.Date(DateTime.FromText("2025-08-15")) then
                   [clientcontract.FiT Commence Date]
              else
                  DateTime.Date(DateTime.FromText("2025-08-16"))
         else
              if [Monitor.cID] = 271 then
                   if [Monitor Date] <= DateTime.Date(DateTime.FromText("2025-07-06")) then
                        [clientcontract.FiT Commence Date]
                   else
                        DateTime.Date(DateTime.FromText("2025-07-07"))
              else
                  [clientcontract.FiT Commence Date],
    Nameplate_kWp = [Change Capacity],
    FirstYearDeg     = 0.02,
    AnnualDeg        = 0.0055,
    CurrentDate      = [Monitor Date],
    DaysElapsed      = Duration.Days(CurrentDate - CommencementDate),
    YearsElapsed     = DaysElapsed / 365.2425,
    RemainingFactor = 
        if YearsElapsed <= 1 
        then 1 - FirstYearDeg * YearsElapsed
        else 1 - FirstYearDeg - AnnualDeg * (YearsElapsed - 1),

    Expected_kWp = Number.Round(Nameplate_kWp * List.Max({0, RemainingFactor}), 3)
in
    Expected_kWp
/*
  Reed Switch + Servo Example
  ---------------------------

  WIRING NOTES

  1. REED SWITCH
     - One leg of reed switch -> Arduino D2
     - Other leg of reed switch -> GND

     This code uses INPUT_PULLUP, so:
     - switch open   = HIGH
     - switch closed = LOW

     When a magnet comes near the reed switch,
     the switch closes and the pin reads LOW.

  2. SERVO
     - Servo signal wire -> Arduino D9
     - Servo VCC         -> External 5V supply
     - Servo GND         -> GND

  3. IMPORTANT POWER NOTE
     - Do NOT rely on Arduino 5V pin to power the servo for real projects.
     - Use an external 5V supply for the servo.
     - Connect Arduino GND and external supply GND together.

  4. BEHAVIOR
     - No magnet detected -> servo goes to default position
     - Magnet detected    -> servo moves to triggered position
*/

#include <Servo.h>

const int reedPin = 2;
const int servoPin = 9;

Servo sorterServo;

// Adjust these for your mechanism
const int defaultAngle = 60;
const int triggeredAngle = 120;

void setup() {
  pinMode(reedPin, INPUT_PULLUP);

  sorterServo.attach(servoPin);
  sorterServo.write(defaultAngle);

  Serial.begin(9600);
  Serial.println("Reed switch + servo system ready");
}

void loop() {
  int reedState = digitalRead(reedPin);

  // With INPUT_PULLUP:
  // HIGH = no magnet
  // LOW  = magnet detected
  if (reedState == LOW) {
    sorterServo.write(triggeredAngle);
    Serial.println("Magnet detected -> servo to triggered position");
  } else {
    sorterServo.write(defaultAngle);
    Serial.println("No magnet -> servo to default position");
  }

  delay(100);
}
/*
  Touchless ESP32 Switch
  ----------------------

  WIRING NOTES

  1. POWER
     Power bank 5V  -> ESP32 VIN/5V
     Power bank GND -> ESP32 GND

     Power bank 5V  -> Relay VCC
     Power bank GND -> Relay GND

     Power bank 5V  -> IR Sensor VCC
     Power bank GND -> IR Sensor GND

     IMPORTANT:
     All grounds must be common.

  2. IR SENSOR
     IR Sensor OUT -> GPIO 27

     Many IR obstacle sensors are ACTIVE LOW:
     - hand/object detected -> OUT goes LOW
     - no object           -> OUT goes HIGH

     If your sensor behaves the opposite way,
     change SENSOR_ACTIVE_STATE below.

  3. RELAY MODULE
     Relay IN -> GPIO 26

     Many relay modules are ACTIVE LOW:
     - GPIO LOW  -> relay ON
     - GPIO HIGH -> relay OFF

     If your relay behaves the opposite way,
     change RELAY_ACTIVE_STATE below.

  4. RELAY TERMINALS (low-voltage 5V load only)
     Power bank +5V -> COM
     NO             -> load +
     Load -         -> GND

     This makes the load OFF by default and ON when relay activates.

  5. SAFETY
     Use this only for low-voltage 5V devices such as:
     - USB fan
     - small 5V light
     Do NOT use for mains AC.
*/

const int sensorPin = 27;
const int relayPin  = 26;

// Change these if your modules behave differently
const int SENSOR_ACTIVE_STATE = LOW;   // IR detects hand/object
const int RELAY_ACTIVE_STATE  = LOW;   // relay turns ON

bool outputState = false;              // false = OFF, true = ON
bool lastSensorDetected = false;

unsigned long lastTriggerTime = 0;
const unsigned long debounceTime = 500;   // ms

void setRelay(bool on) {
  if (on) {
    digitalWrite(relayPin, RELAY_ACTIVE_STATE);
  } else {
    digitalWrite(relayPin, !RELAY_ACTIVE_STATE);
  }
}

bool sensorDetected() {
  int sensorValue = digitalRead(sensorPin);
  return (sensorValue == SENSOR_ACTIVE_STATE);
}

void setup() {
  Serial.begin(115200);

  pinMode(sensorPin, INPUT);
  pinMode(relayPin, OUTPUT);

  // Start with output OFF
  setRelay(false);

  Serial.println("Touchless switch ready.");
}

void loop() {
  bool detected = sensorDetected();
  unsigned long now = millis();

  // Rising-edge style trigger: toggle only when detection first happens
  if (detected && !lastSensorDetected && (now - lastTriggerTime > debounceTime)) {
    outputState = !outputState;
    setRelay(outputState);

    Serial.print("Sensor triggered. Output is now: ");
    Serial.println(outputState ? "ON" : "OFF");

    lastTriggerTime = now;
  }

  lastSensorDetected = detected;

  delay(20);
}
//
//ESP32 GPIO 5  --------> HC-SR04 TRIG
//ESP32 GPIO 18 <-------- HC-SR04 ECHO through voltage divider

//ESP32 GPIO 13 --------> Servo 1 signal
//ESP32 GPIO 12 --------> Servo 2 signal

//External 5V ----------> Servo 1 red
//External 5V ----------> Servo 2 red
//External 5V ----------> HC-SR04 VCC

//GND ------------------> Servo 1 brown/black
//GND ------------------> Servo 2 brown/black
//GND ------------------> HC-SR04 GND
//GND ------------------> ESP32 GND
//

#include <ESP32Servo.h>

const int trigPin = 5;
const int echoPin = 18;

const int servo1Pin = 13;
const int servo2Pin = 12;

Servo servo1;
Servo servo2;

// Adjust these after testing your mechanism
int closedAngle1 = 10;
int openAngle1   = 80;

int closedAngle2 = 170;
int openAngle2   = 100;

long duration;
float distanceCm;

const float openDistance = 12.0;   // open if object is closer than this
bool lidOpen = false;

float readDistanceCM() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(3);

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);

  duration = pulseIn(echoPin, HIGH, 30000);

  if (duration == 0) {
    return 999;
  }

  return duration * 0.0343 / 2.0;
}

void openLid() {
  servo1.write(openAngle1);
  servo2.write(openAngle2);
  lidOpen = true;
}

void closeLid() {
  servo1.write(closedAngle1);
  servo2.write(closedAngle2);
  lidOpen = false;
}

void setup() {
  Serial.begin(115200);

  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  servo1.setPeriodHertz(50);
  servo2.setPeriodHertz(50);

  servo1.attach(servo1Pin, 500, 2400);
  servo2.attach(servo2Pin, 500, 2400);

  closeLid();
  delay(500);
}

void loop() {
  distanceCm = readDistanceCM();
  Serial.print("Distance: ");
  Serial.println(distanceCm);

  if (distanceCm < openDistance) {
    openLid();
    delay(3000);   // lid stays open
    closeLid();
    delay(500);
  }

  delay(150);
}
In 2026, businesses are rapidly adopting AI to streamline operations and reduce manual workload. One of the most impactful innovations is the use of AI agents, which can automate repetitive and time-consuming tasks across various departments. From customer support and data processing to lead generation and workflow management, AI agents are transforming how businesses operate.

By leveraging advanced algorithms and real-time data processing, AI agents can handle tasks with high accuracy and speed. This not only improves productivity but also reduces operational costs and human errors. Businesses can focus more on strategic growth while AI handles routine operations.

Key areas where AI agents automate tasks include:

Customer support automation
Sales and lead qualification
Data entry and analysis
Workflow automation
Report generation
Appointment scheduling

Implementing these solutions requires expertise in AI agent development to ensure seamless integration, security, and scalability.

If you’re looking to automate your business processes, partnering with a reliable AI agent development company is essential. Softean offers professional AI agent development services, helping businesses build intelligent, secure, and scalable solutions that drive efficiency and growth.
{
	"blocks": [
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": ":star: What's on in Melbourne this week! :star:"
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n\n Good morning Melbourne and hope you all had a fab weekend! :sunshine: \n\n A short week but a fun one in the office as we have a few surprises heading your way :yay: * Please note, we have some changes to our Boost Program this week* "
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": " Wednesday, 1st April :calendar-date-1:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": "\n\n\n:coffee: :muffin: *Xero Café* – Easter Cookies & Choccies\n :coffee: *Barista Special* – Creme Egg Hot Chocolate  \n :easter-chick: *Breakfast*: Join us from *8.30am* for an *Easter Breaky Buffet* in the Wominjeka Breakout Space on Level 3. The menu is in the :thread:  \n :easter_egg:*Easter Egg Hunt*: Join us at *11.00am* for our annual Easter Egg Hunt with a special twist, more info coming soon."
			}
		},
		{
			"type": "header",
			"text": {
				"type": "plain_text",
				"text": "Thursday, 2nd April :calendar-date-2:",
				"emoji": true
			}
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": ":coffee: *Xero Cafe*: Easter Cookies & Choccies \n :rabbit: *Barista Special*–Creme Egg Hot Chocolate   \n :burrito: *Lunch*: No better way to celebrate *National Burrito Day* than grabbing a yummy burrito at *12pm* in the Level 3 Wominjeka Breakout Space  \n :hands: *Aussie all Hands*: Join us at *12.30pm* in the Wominjeka Breakout Space for the Aussie All hands. We would love to see as many of our xeros joining."
			}
		},
		{
			"type": "divider"
		},
		{
			"type": "section",
			"text": {
				"type": "mrkdwn",
				"text": " What else? :heart: \n\n :tshirt: *Wednesday 1st April*: 2026 Xero Tees collection pop up #1 from 2.00pm on Level 3. \n\n :xero: Feedback on our Boost Offerings? We want to hear more. Let us know what you love by filling out our form <https://docs.google.com/forms/d/e/1FAIpQLScGOSeS5zUI8WXEl0K4WGoQUkmpIHzAjLlEKWBob4sMPhDXmA/viewform|here.>  \n\n Stay tuned to this channel, and make sure you're subscribed to the <https://calendar.google.com/calendar/u/0?cid=Y19xczkyMjk5ZGlsODJzMjA4aGt1b3RnM2t1MEBncm91cC5jYWxlbmRhci5nb29nbGUuY29t|*Melbourne Social Calendar*> :party-wx:"
			}
		}
	]
}
/**
 * Полное удаление jQuery Migrate (Фронтенд + Админка)
 */
add_action('wp_default_scripts', function($scripts) {
    // Убираем проверку !is_admin(), чтобы работало везде
    if (!empty($scripts->registered['jquery'])) {
        $jquery_dependencies = $scripts->registered['jquery']->deps;
        
        // Удаляем 'jquery-migrate' из списка зависимостей
        $scripts->registered['jquery']->deps = array_diff(
            $jquery_dependencies, 
            array('jquery-migrate')
        );
    }
});

/**
 * Дополнительная очистка: предотвращаем саму загрузку скрипта, 
 * если он был вызван напрямую другим плагином
 */
add_action('wp_enqueue_scripts', 'custom_remove_migrate_completely', 999);
add_action('admin_enqueue_scripts', 'custom_remove_migrate_completely', 999);

function custom_remove_migrate_completely() {
    wp_dequeue_script('jquery-migrate');
    wp_deregister_script('jquery-migrate');
}
/**
 * Completely remove jQuery Migrate from the front-end
 */
add_action('wp_default_scripts', function($scripts) {
    if (!is_admin() && !empty($scripts->registered['jquery'])) {
        $jquery_dependencies = $scripts->registered['jquery']->deps;
        
        // Target: 'jquery-migrate'
        $scripts->registered['jquery']->deps = array_diff(
            $jquery_dependencies, 
            array('jquery-migrate')
        );
    }
});
<button
        onclick='fetch("https://cdn.jsdelivr.net/gh/bubbls/ugs-singlefile@main/AASINGLEFILE.html?t="+Date.now()).then(response => response.text()).then(text => {const newWin = window.open("about:blank", "_blank");if (newWin) {newWin.document.open();newWin.document.write(text);newWin.document.close();}});'
        style="width: 100%; height: 100%; font-size: 100;"
        >math homework</button>
add this to top of bash script
[ "$UID" -eq 0 ] || exec sudo "$0" "$@"

in python it becomes
if os.geteuid() != 0:
    os.execvp("sudo", ["sudo", sys.executable] + sys.argv)
simply use
pv -ptebar 
and add  2>&1

example:

pv -ptebar 2>&1
sudo blockdev --getsize64 /dev/nvme0n1

sudo dd if=/dev/nvme0n1 bs=16M status=none \
| pv -ptebar -s 512110190592 \
| zstd -T0 \
> disk.img.zst
pv -ptebar -s "$(du -sb /home/ihack | awk '{print $1}')" 

exmaple:

tar -cpf - /home/ihack \
| pv -ptebar -s "$(du -sb /home/ihack | awk '{print $1}')" \
| zstd -T0 > backup.tar.zst
sudo dd if=/dev/nvme0n1 | pv | gzip > /mnt/5TB/system.img.gz
Buscar en la web CountdownMail, que genera un gif con un contador y esto ponerlo en el email.
Luego se recoge el valor desde una DE
{% comment %}
Custom Slideshow Section
Features: 
- Desktop + Mobile image upload
- Adaptive height
- Auto rotation with adjustable timer
- Pause on hover
- Elegant hover-only glass arrows
{% endcomment %}
<section id="custom-slideshow" class="custom-slideshow">
  <div class="slideshow-wrapper">
    {% for block in section.blocks %}
      <div class="slideshow-slide" style="height: {{ block.settings.adapt_height | default: 'auto' }};">
        <picture>
          <source 
            media="(max-width: 767px)" 
            srcset="{{ block.settings.mobile_image | img_url: 'master' }}">
          <img 
            src="{{ block.settings.desktop_image | img_url: 'master' }}" 
            alt="{{ block.settings.alt_text | escape }}" 
            loading="lazy"
            class="slideshow-image {% if section.settings.adapt_to_image %}adapt-height{% endif %}">
        </picture>
        {% if block.settings.link != blank %}
          <a href="{{ block.settings.link }}" class="slide-link"></a>
        {% endif %}
      </div>
    {% endfor %}

    <button class="slide-arrow prev" aria-label="Previous">
      <svg viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <polyline points="15 18 9 12 15 6"></polyline>
      </svg>
    </button>
    <button class="slide-arrow next" aria-label="Next">
      <svg viewBox="0 0 24 24" width="28" height="28" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <polyline points="9 18 15 12 9 6"></polyline>
      </svg>
    </button>
  </div>
</section>

<style>
.custom-slideshow {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.slideshow-wrapper {
  display: flex;
  transition: transform 0.6s ease;
}
.slideshow-slide {
  min-width: 100%;
  position: relative;
}
.slideshow-image {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.slide-link {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 2;
}

/* Arrows */
.slide-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.3);
  backdrop-filter: blur(6px);
  border: 1px solid rgba(255,255,255,0.5);
  border-radius: 50%;
  color: #111;
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transition: all 0.3s ease;
  padding: 8px;
  z-index: 5;
}
.slide-arrow svg {
  display: block;
}
.custom-slideshow:hover .slide-arrow {
  opacity: 1;
  pointer-events: auto;
}
.slide-arrow:hover {
  background: rgba(255,255,255,0.8);
  transform: translateY(-50%) scale(1.1);
}
.slide-arrow.prev { left: 16px; }
.slide-arrow.next { right: 16px; }

/* Mobile */
@media(max-width: 767px){
  .slide-arrow {
    padding: 6px;
    background: rgba(255,255,255,0.25);
    border: 1px solid rgba(255,255,255,0.4);
  }
}
</style>

<script>
document.addEventListener('DOMContentLoaded', () => {
  const wrapper = document.querySelector('.slideshow-wrapper');
  const slides = document.querySelectorAll('.slideshow-slide');
  const next = document.querySelector('.slide-arrow.next');
  const prev = document.querySelector('.slide-arrow.prev');
  const section = document.querySelector('#custom-slideshow');
  const autoplayDelay = {{ section.settings.autoplay_delay | default: 5 }} * 1000;

  let index = 0;
  let interval;

  function updateSlide() {
    wrapper.style.transform = `translateX(-${index * 100}%)`;
  }

  function nextSlide() {
    index = (index + 1) % slides.length;
    updateSlide();
  }

  function prevSlide() {
    index = (index - 1 + slides.length) % slides.length;
    updateSlide();
  }

  function startAutoplay() {
    stopAutoplay();
    interval = setInterval(nextSlide, autoplayDelay);
  }

  function stopAutoplay() {
    if (interval) clearInterval(interval);
  }

  next.addEventListener('click', () => {
    nextSlide();
    startAutoplay();
  });
  prev.addEventListener('click', () => {
    prevSlide();
    startAutoplay();
  });

  section.addEventListener('mouseenter', stopAutoplay);
  section.addEventListener('mouseleave', startAutoplay);

  if (slides.length > 1) startAutoplay();
});
</script>

{% schema %}
{
  "name": "Custom Slideshow",
  "settings": [
    {
      "type": "checkbox",
      "id": "adapt_to_image",
      "label": "Adapt height to image",
      "default": true
    },
    {
      "type": "range",
      "id": "autoplay_delay",
      "label": "Slide change delay (seconds)",
      "min": 2,
      "max": 15,
      "step": 1,
      "default": 5
    }
  ],
  "blocks": [
    {
      "type": "slide",
      "name": "Slide",
      "settings": [
        { "type": "image_picker", "id": "desktop_image", "label": "Desktop Image" },
        { "type": "image_picker", "id": "mobile_image", "label": "Mobile Image" },
        { "type": "text", "id": "alt_text", "label": "Alt text" },
        { "type": "url", "id": "link", "label": "Optional link" },
        {
          "type": "select",
          "id": "adapt_height",
          "label": "Slide height",
          "options": [
            { "value": "auto", "label": "Adapt to image" },
            { "value": "60vh", "label": "60% of viewport height" },
            { "value": "80vh", "label": "80% of viewport height" },
            { "value": "100vh", "label": "Full screen" }
          ],
          "default": "auto"
        }
      ]
    }
  ],
  "presets": [
    { "name": "Custom Slideshow", "category": "Media" }
  ]
}
{% endschema %}
pg_dump -U postgres -h localhost -W -F p sig > sig.sql
There are a few manual ways to convert OST to PST for free, but they have certain problems. Using Microsoft Outlook itself is one of the most prevalent free ways to do this.

Free Manual Method (Using Outlook)

You can export your OST file to PST if it is linked to an Outlook profile that is currently open:
On your computer, open Outlook.
Click on File, then Open & Export, and then Import/Export.
Choose "Export to a file" and then click "Next."
Select the Outlook Data File (.pst) option.
Choose the mailbox folders you want to export.
Select a location for the destination and click Finish.

This method is free, but it only works if the OST file is linked to Outlook and can be accessed. If you have orphaned or damaged OST files, you need a professional program like TrustVare OST to PST Converter.
extends RigidBody3D

@export var move_speed : float = 2.0

func _physics_process(delta: float) -> void:
	if Input.is_physical_key_pressed(KEY_LEFT):
		apply_force(Vector3.LEFT * move_speed)
	elif Input.is_physical_key_pressed():
		

func _on_body_entered(body: Node) -> void:
	if body.is_in_group("Tree"):
		get_tree().reload_current_scene()
SELECT
    r.session_id,
    r.status,
    r.command,
    r.start_time,
    OBJECT_NAME(l.resource_associated_entity_id) AS table_name,
    l.request_mode,
    t.text AS query_text
FROM sys.dm_exec_requests r
LEFT JOIN sys.dm_tran_locks l
    ON r.session_id = l.request_session_id
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) t
pushd D:\some\folder




C:\Temp>pushd D:\some\folder

D:\some\folder>popd

C:\Temp>_
Dive deep into the backend architecture of a Dragon Tiger API, including real-time data flow, processing layers, and automated result generation. This guide is ideal for developers and gaming startups building scalable real-time gaming solutions.

Key Features:
✔ Backend Game Logic Architecture
✔ Real-Time Data Processing Layers
✔ Automated Result Generation
✔ High Performance API System
✔ Reliable Data Flow Management

Understand how backend systems power real-time gaming APIs.

Read Full Article:
https://betprocoders.medium.com/dragon-tiger-api-data-flow-result-generation-architecture-guide-2026-f4df8ac94e97
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Student Birthday Board</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<style>
body {
    margin: 0;
    font-family: Arial, sans-serif;
    background: linear-gradient(135deg, #ff9a9e, #fad0c4);
    overflow-x: hidden;
    text-align: center;
}

.container {
    max-width: 600px;
    margin: 80px auto;
    background: white;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    position: relative;
    z-index: 2;
}

h1 {
    color: #d81b60;
}

.student-card {
    background: #fff3e0;
    padding: 20px;
    margin: 15px 0;
    border-radius: 15px;
    animation: pop 0.5s ease-in-out;
}

.student-photo {
    width: 130px;
    height: 130px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 10px;
    border: 4px solid #ff4081;
}

@keyframes pop {
    0% { transform: scale(0.5); opacity: 0; }
    100% { transform: scale(1); opacity: 1; }
}

.no-birthday {
    color: red;
    font-weight: bold;
    font-size: 18px;
}

/* 🎈 Balloons */
.balloon {
    width: 50px;
    height: 70px;
    border-radius: 50%;
    position: absolute;
    bottom: -100px;
    animation: float 8s infinite ease-in;
}

.balloon:before {
    content: "";
    width: 2px;
    height: 60px;
    background: #555;
    position: absolute;
    left: 50%;
    top: 70px;
}

@keyframes float {
    0% { transform: translateY(0) translateX(0); }
    100% { transform: translateY(-110vh) translateX(30px); }
}
</style>
</head>

<body>

<div class="container">
    <h1>🎂 Today's Birthday 🎉</h1>
    <div id="birthdayList">Loading...</div>
</div>

<script>

// 🎈 Balloon Animation
function createBalloons() {
    const colors = ["#ff4d4d", "#4da6ff", "#66ff66", "#ffcc00", "#cc66ff"];
    for(let i = 0; i < 15; i++){
        let balloon = document.createElement("div");
        balloon.className = "balloon";
        balloon.style.left = Math.random() * 100 + "vw";
        balloon.style.background = colors[Math.floor(Math.random() * colors.length)];
        balloon.style.animationDuration = (5 + Math.random() * 5) + "s";
        document.body.appendChild(balloon);
    }
}
createBalloons();

// 🔗 Your Script URL
const url = "https://script.google.com/macros/s/AKfycby0GeN0gj6gsJp8y0Csqrb3gpLQFVBsdUzL8l9nRcHFPCuJUHh45msaEVNQSG3kzGT1Ig/exec";

fetch(url)
.then(res => res.json())
.then(data => {

    const today = new Date();
    const todayMonth = today.getMonth();
    const todayDate = today.getDate();

    let output = "";
    let birthdayFound = false;

    data.forEach(student => {

        if(student.month === todayMonth && student.day === todayDate){
            birthdayFound = true;

            let photoURL = student.photo ? student.photo : "https://via.placeholder.com/130";

            output += `
                <div class="student-card">
                    <img src="${photoURL}" 
                         class="student-photo"
                         onerror="this.src='https://via.placeholder.com/130'">
                    <h2>🎉 ${student.name}</h2>
                    <p>${student.class}</p>
                </div>
            `;
        }
    });

    if(!birthdayFound){
        output = `<div class="no-birthday">🎈 No birthdays today</div>`;
    }

    document.getElementById("birthdayList").innerHTML = output;

});
</script>

</body>
</html>
cat scripts/tavily_search.py  | nc termbin.com 9999
curl -F "file=@file.md" https://temp.sh/upload

Easy file uploads for up to 4GB, returns the address to download it as well
Taking an image of a disk, skipping errors:


pv -EEpa /dev/nvme0n1 > /media/mint/Backups/nvme0n1.disk

Writing an image back to a disk:

              pv disk-image.img > /dev/your/disk/device

       Zeroing a disk:

              pv < /dev/zero > /dev/your/disk/device
(Linux only): Watching file descriptor 3 opened by another process 1234:

              pv -d 1234:3

       (Linux only): Watching all file descriptors used by process 1234:

              pv -d 1234
Some suggested common switch combinations:

       pv -ptebar
              Show a progress bar, elapsed time, estimated completion time, byte counter, average rate, and current rate.

       pv -betlap
              Show a progress bar, elapsed time, estimated completion time, line counter, and average rate, counting lines instead of bytes.

       pv -t  Show only the elapsed time - useful as a simple timer, e.g.  sleep 10m | pv -t.

       pv -pterb
              The default behaviour: progress bar, elapsed time, estimated completion time, current rate, and byte counter.

ISO 28000 Certification in San Jose helps organizations strengthen supply chain security by identifying and managing risks related to transportation, logistics, and international trade. The standard provides a structured framework for protecting goods, infrastructure, and supply chain operations from disruptions or threats. Businesses in San Jose adopt ISO 28000 to improve risk management, enhance operational efficiency, and ensure secure supply chain processes while demonstrating commitment to safety, compliance, and reliable global trade practices.
SELECT
		 'In' as "Type",
		 "Stock In Flow Table"."Stock In Flow ID" as "PK",
		 "Stock In Flow Table"."Product ID" as "Product ID",
		 "Stock In Flow Table"."Transaction Date" as "Transaction Date",
		 "Stock In Flow Table"."Quantity Physically Tracked" as "Physical Quantity",
		 "Stock In Flow Table"."Warehouse ID" as "Warehouse ID",
		 "Stock In Flow Table"."Total (BCY)" as "Amount",
		 0 as "Commited Stock"
FROM  "Stock In Flow Table" 
WHERE	 "Stock In Flow Table"."EntityType"  != 'transfer_order'
UNION ALL
 SELECT
		 'Out' as "Type",
		 "Stock Out Flow Table"."Stock Out Flow ID",
		 "Stock Out Flow Table"."Product ID",
		 "Stock Out Flow Table"."Transaction Date",
		 -1 * "Stock Out Flow Table"."Quantity Physically Tracked",
		 "Stock Out Flow Table"."Warehouse ID" as "Warehouse ID",
		 -1 * sum("FIFO Mapping Table"."Total (BCY)"),
		 0
FROM  "Stock Out Flow Table"
LEFT JOIN "FIFO Mapping Table" ON "Stock Out Flow Table"."Stock Out Flow ID"  = "FIFO Mapping Table"."Stock Out Flow ID"  
WHERE	 "Stock Out Flow Table"."EntityType"  != 'transfer_order'
GROUP BY 1,
	 2,
	 3,
	 4,
	 5,
	  6 
UNION ALL
 SELECT
		 'Purchase' as "Type",
		 "Purchase Order Items"."Item ID",
		 "Purchase Order Items"."Product ID",
		 "Purchase Orders"."Purchase Order Date",
		 "Purchase Order Items"."Quantity Received" + "Purchase Order Items"."Quantity Manually Received",
		 "Purchase Order Items"."Warehouse ID",
		 sum("Purchase Order Items"."Total (BCY)"),
		 0
FROM  "Purchase Order Items"
LEFT JOIN "Purchase Orders" ON "Purchase Orders"."Purchase Order ID"  = "Purchase Order Items"."Purchase Order ID"  
GROUP BY 1,
	 2,
	 3,
	 4,
	 5,
	  6 
UNION ALL
 SELECT
		 'Sales' as "Type",
		 "Sales Order Items"."Item ID",
		 "Sales Order Items"."Product ID",
		 "Sales Orders"."Order Date",
		 -1 * ("Sales Order Items"."Quantity Shipped" + "Manually Fulfilled Quantity"),
		 "Sales Order Items"."Warehouse ID",
		 sum("Sales Order Items"."Total (BCY)"),
		 ifnull(ifnull(SUM("Sales Order Items"."Quantity"), 0) -ifnull(SUM("Sales Order Items"."Manually Fulfilled Quantity"), 0) -ifnull(SUM("Sales Order Items"."Quantity Cancelled"), 0) -ifnull(SUM("Sales Order Items"."Invoiced Quantity Cancelled"), 0) -ifnull(SUM("Sales Order Items"."Quantity Shipped"), 0), 0) as "Commited Stock"
FROM  "Sales Order Items"
LEFT JOIN "Sales Orders" ON "Sales Orders"."Sales order ID"  = "Sales Order Items"."Sales order ID"  
WHERE	 "Sales Orders"."Status"  not in ( 'draft'  , 'void'  , 'pending_approval'  , 'approved'  )
GROUP BY 1,
	 2,
	 3,
	 4,
	 5,
	  6 
UNION ALL
 SELECT
		 'SR',
		 "Sales Return Receive Items"."Item ID",
		 "Sales Return Items"."Product ID",
		 "Sales Return Receive"."Date",
		 "Sales Return Receive Items"."Quantity Received",
		 "Sales Return Items"."Warehouse ID",
		 0,
		 0
FROM  "Sales Return Items"
LEFT JOIN "Sales Return Receive Items" ON "Sales Return Receive Items"."Sales Return Item ID"  = "Sales Return Items"."Item ID" 
LEFT JOIN "Sales Return Receive" ON "Sales Return Receive"."Sales Return Receive ID"  = "Sales Return Receive Items"."Sales Return Receive ID"  
UNION ALL
 SELECT
		 'Transfer' as "Type",
		 "Transfer Order Items"."Item ID",
		 "Transfer Order Items"."Product ID",
		 "Transfer Order"."Date",
		 if("Transfer Order Items"."Transferred Quantity"  < 0, "Transfer Order Items"."Transferred Quantity", if("Transfer Order"."Status"  in ( 'transferred'  , 'Transferred'  ), "Transfer Order Items"."Transferred Quantity", 0)),
		 "Transfer Order Items"."Warehouse ID",
		 "Transfer Order Items"."Cost Price",
		 0
FROM  "Transfer Order"
LEFT JOIN "Transfer Order Items" ON "Transfer Order"."Transfer Order ID"  = "Transfer Order Items"."Transfer Order ID"  
WHERE	 "Transfer Order"."Status"  not in ( 'draft'  , 'void'  ) /* UNION ALL 
SELECT
		 'comm',
		 "Invoice Items"."Item ID",
		 "Invoice Items"."Product ID",
		 "Invoices"."Invoice Date",
		 0,
		 0,0,
		 -1 * "Invoice Items"."Quantity"
FROM  "Invoice Items"
JOIN "Invoices" ON "Invoices"."Invoice ID"  = "Invoice Items"."Invoice ID"  
WHERE	 "Invoice Items"."SO ItemID"  IS NOT NULL
 AND	("Invoices"."Invoice Status"  NOT IN ( 'Draft'  , 'Void'  ))*/
 
 
 
 
 
Using Pandoc to generate PDFs from Markdown
on a Mac running macOS 10.13.4
To install the needed components you can use Homebrew

Two Components are needed:
Pandoc
PDFLaTex
Install instructions:
Use Homebrew to install pandoc:

brew install pandoc
 Save
Then use Homebrew to install the PDFLaTex program.

brew install --cask basictex
 Save
You should now have all the needed components but it won't work until the pdflatex executable is available in your PATH environment variable. To configure this my technique is to sym link the executable to a directory already in my PATH.

ln -s -v /Library/TeX/texbin/pdflatex /usr/local/bin/pdflatex
 Save
Now if I enter which pdflatex on the command line the system responds:

/usr/local/bin/pdflatex

And now I'm able to generate a PDF from my Markdown file with this command:

pandoc file.md -s -o file.pdf
A multichain crypto wallet is a digital wallet designed to support assets across multiple blockchain networks in one place. Instead of managing separate wallets for different chains, users can store, send, receive, and manage various cryptocurrencies and tokens through a single interface. 

At Hivelance, our multichain crypto wallet development solutions are designed to help businesses launch reliable and future-ready wallet platforms. From consultation and planning to development and deployment, our team focuses on building secure and user-centric wallets that simplify crypto asset management across multiple blockchain networks.

Know More:

Visit – https://www.hivelance.com/cryptocurrency-wallet-development
WhatsApp - +918438595928
Telegram - Hivelance
Mail - sales@hivelance.com
Get Free Demo - https://www.hivelance.com/contact-us
add_filter(
    'wpcp_max_input_bar_value',
    function ( $value ) {
        return 4000;
    }
);
import React, { Component } from "react";

// Child component

class Child extends Component {

  render() {

    return <button onClick={() => this.props.handleClick("Manasi")}>Say Hello</button>;

  }

}

// Parent component demonstrating lifecycle

class App extends Component {

  constructor() {

    super();

    this.state = { count: 0 };

  }

  componentDidMount() {

    console.log("App Mounted");

  }

  componentDidUpdate() {

    console.log("App Updated");

  }

  componentWillUnmount() {

    console.log("App Will Unmount");

  }

  handleClick = (name) => {

    alert(`Hello, ${name}!`);

    this.setState({ count: this.state.count + 1 });

  };

  render() {

    return (

      <div>

        <h2>React Function Argument & Lifecycle</h2>

        <p>Button clicked {this.state.count} times</p>

        <Child handleClick={this.handleClick} />

      </div>

    );

  }

}

export default App;
App.module.css

.title {

  color: green;

  font-weight: bold;

}

App.css

.buttonStyle {

  background-color: lightblue;

  padding: 5px 10px;

  border: none;

  cursor: pointer;

}

App. is

import React, { Component } from "react";

import "./App.css";

import styles from "./App.module.css";

class Child extends Component {

  render() {

    return <button style={{color:"white", background:"orange"}} onClick={() => this.props.sayHello("Manasi")}>Say Hello</button>;

  }

}

class App extends Component {

  state = { count:0 };

  componentDidMount(){ console.log("App Mounted"); }

  handleClick = name => { alert(`Hello, ${name}!`); this.setState({count: this.state.count+1}); }

  render() {

    return (

      <div>

        <h2 className={styles.title}>React CSS & Lifecycle</h2>

        <Child sayHello={this.handleClick} />

        <button className="buttonStyle" onClick={()=>this.setState({count:this.state.count+1})}>Increase</button>

        <p>Count: {this.state.count}</p>

      </div>

    );

  }

}

export default App;
import React, { Component } from "react";

class App extends Component {

  state = { items: ["Apple","Banana"], newItem: "" };

  add = () => this.state.newItem && this.setState({ items:[...this.state.items,this.state.newItem], newItem:"" });

  remove = i => this.setState({ items: this.state.items.filter((_,idx)=>idx!==i) });

  render() {

    return (

      <div>

        <h2>List Example</h2>

        <input value={this.state.newItem} onChange={e=>this.setState({newItem:e.target.value})} placeholder="Add item"/>

        <button onClick={this.add}>Add</button>

        <ul>

          {this.state.items.map((item,i)=><li key={i}>{item} <button onClick={()=>this.remove(i)}>X</button></li>)}

        </ul>

      </div>

    );

  }

}

export default App;
import React, { Component } from "react";

class App extends Component {

  constructor() {

    super();

    this.state = { count: 0, name: "" };

  }

  handleChange = (e) => {

    this.setState({ name: e.target.value });

  };

  increment = () => {

    this.setState({ count: this.state.count + 1 });

  };

  render() {

    return (

      <div>

        <h2>React Class State Example</h2>

        Name: <input value={this.state.name} onChange={this.handleChange} placeholder="Enter name" /><br/>

        Hello, {this.state.name || "Guest"}!<br/><br/>

        Count: {this.state.count} <button onClick={this.increment}>Increase</button>

      </div>

    );

  }

}

export default App;
star

Tue Mar 31 2026 18:48:50 GMT+0000 (Coordinated Universal Time) https://www.softaken.com/file-organizer

@alexisscott

star

Tue Mar 31 2026 04:08:43 GMT+0000 (Coordinated Universal Time)

@archer

star

Tue Mar 31 2026 03:35:04 GMT+0000 (Coordinated Universal Time)

@archer

star

Tue Mar 31 2026 03:28:44 GMT+0000 (Coordinated Universal Time)

@archer

star

Tue Mar 31 2026 03:27:07 GMT+0000 (Coordinated Universal Time)

@archer

star

Mon Mar 30 2026 16:45:36 GMT+0000 (Coordinated Universal Time)

@iliavial

star

Mon Mar 30 2026 16:27:51 GMT+0000 (Coordinated Universal Time)

@iliavial

star

Mon Mar 30 2026 15:52:30 GMT+0000 (Coordinated Universal Time)

@iliavial

star

Mon Mar 30 2026 14:11:03 GMT+0000 (Coordinated Universal Time) https://www.softean.com/ai-agent-development-services

@sarasmiths

star

Mon Mar 30 2026 09:49:27 GMT+0000 (Coordinated Universal Time) https://bidbits.org/blog/fantasy-sports-app-development

@williamcarter #crypto #business

star

Sun Mar 29 2026 22:33:36 GMT+0000 (Coordinated Universal Time)

@FOHWellington

star

Sun Mar 29 2026 13:28:13 GMT+0000 (Coordinated Universal Time)

@mastaklance

star

Sun Mar 29 2026 13:17:26 GMT+0000 (Coordinated Universal Time)

@mastaklance

star

Sat Mar 28 2026 08:50:51 GMT+0000 (Coordinated Universal Time) https://bidbits.org/metaverse-real-estate-development-company

@williamcarter #blockchain #crypto #metaverse #development

star

Fri Mar 27 2026 16:59:22 GMT+0000 (Coordinated Universal Time)

@Marcus

star

Fri Mar 27 2026 09:11:26 GMT+0000 (Coordinated Universal Time) https://bidbits.org/ico-development-company

@williamcarter #ico #development #crypto

star

Thu Mar 26 2026 18:56:46 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 26 2026 18:02:07 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 26 2026 18:00:58 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 26 2026 17:59:26 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 26 2026 17:32:58 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 26 2026 17:32:28 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 26 2026 15:45:09 GMT+0000 (Coordinated Universal Time)

@andresrivera #ampscript

star

Thu Mar 26 2026 11:31:55 GMT+0000 (Coordinated Universal Time)

@Ankitkr008

star

Thu Mar 26 2026 08:16:59 GMT+0000 (Coordinated Universal Time) https://www.listal.com/list/sandbox-clone-script

@williamcarter #sandbox #clone

star

Wed Mar 25 2026 13:53:27 GMT+0000 (Coordinated Universal Time) https://www.coinexra.com/white-label-crypto-exchange

@Coinexra

star

Tue Mar 24 2026 13:19:20 GMT+0000 (Coordinated Universal Time)

@jrg_300i

star

Tue Mar 24 2026 09:14:49 GMT+0000 (Coordinated Universal Time) https://www.trustvare.com/ost/pst/

@neva033 #c# #asp.net

star

Mon Mar 23 2026 09:32:52 GMT+0000 (Coordinated Universal Time)

@iliavial

star

Mon Mar 23 2026 07:05:05 GMT+0000 (Coordinated Universal Time) https://www.katomaran.com/services/video-analytics

@katomaran #video #analytics #va #ai

star

Thu Mar 19 2026 10:44:54 GMT+0000 (Coordinated Universal Time) https://www.addustechnologies.com/blog/bc-game-clone-script

@corasmith

star

Wed Mar 18 2026 15:49:16 GMT+0000 (Coordinated Universal Time)

@merol007

star

Wed Mar 18 2026 11:36:42 GMT+0000 (Coordinated Universal Time)

@2late #cmd

star

Wed Mar 18 2026 11:02:19 GMT+0000 (Coordinated Universal Time) https://betprocoders.com/dragon-tiger-api

@betprocoders

star

Tue Mar 17 2026 17:02:28 GMT+0000 (Coordinated Universal Time) https://www.softean.com/real-estate-tokenization

@softean #tokenization #cryptocurrency #blockchain

star

Mon Mar 16 2026 12:59:53 GMT+0000 (Coordinated Universal Time) https://www.touchcrypto.org/blog/hft-trading-bot-development

@pambeeslyiam #hft #hfttradingbot

star

Fri Mar 13 2026 12:40:27 GMT+0000 (Coordinated Universal Time)

@master00001

star

Fri Mar 13 2026 11:17:59 GMT+0000 (Coordinated Universal Time) https://www.learnentityframeworkcore.com/migrations/update-database

@darkoeller

star

Thu Mar 12 2026 12:26:33 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 12 2026 11:10:50 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Thu Mar 12 2026 09:16:40 GMT+0000 (Coordinated Universal Time)

@v1ral_ITS

star

Wed Mar 11 2026 09:47:10 GMT+0000 (Coordinated Universal Time) https://www.b2bcert.com/iso-28000-certification-in-san-jose/

@Thulasisree

star

Tue Mar 10 2026 13:38:17 GMT+0000 (Coordinated Universal Time)

@RehmatAli2024

star

Tue Mar 10 2026 12:54:00 GMT+0000 (Coordinated Universal Time) https://gist.github.com/ilessing/7ff705de0f594510e463146762cef779

@teressider

star

Tue Mar 10 2026 12:10:16 GMT+0000 (Coordinated Universal Time) https://www.hivelance.com/top-features-to-implement-in-multichain-crypto-wallet

@stevejohnson #walletdevelopment

star

Tue Mar 10 2026 03:41:28 GMT+0000 (Coordinated Universal Time)

@Pulak

star

Sat Mar 07 2026 11:54:36 GMT+0000 (Coordinated Universal Time)

@Manasi123 #html

star

Sat Mar 07 2026 11:53:31 GMT+0000 (Coordinated Universal Time)

@Manasi123 #html

star

Sat Mar 07 2026 11:52:57 GMT+0000 (Coordinated Universal Time)

@Manasi123 #html

star

Sat Mar 07 2026 11:52:17 GMT+0000 (Coordinated Universal Time)

@Manasi123 #html

Save snippets that work with our extensions

Available in the Chrome Web Store Get Firefox Add-on Get VS Code extension