· 👁 12 · 1117

· 👁 13 · 1116

#pain
#ad
#event
#sergey_kulinkovich

The old one

Унижение и боль

Семинар-исповедь Сергея Кулинковича о том, как светлые на первый взгляд идеи с треском проваливались и тянули на дно проект за проектом.

https://kulinkovich.com/

https://t.me/kulinkovich_live

· 👁 13 · 1115

· 👁 17 · 1114

· 👁 17 · 1113

· 👁 16 · 1112

· 👁 17 · 1111

· 👁 19 · 1110

· 👁 21 · 1109

· 👁 21 · 1108

· 👁 21 · 1107

· 👁 19 · 1106

· 👁 19 · 1105

#commons

The server did not respond within the expected time

If you cannot upload your big #pdf - you can extract all images from it, with original quality:

import fitz  # PyMuPDF

doc = fitz.open('your_file.pdf')
for page_index in range(len(doc)):
    for img_index, img in enumerate(doc.get_page_images(page_index)):
        xref = img[0]
        base_image = doc.extract_image(xref)
        image_bytes = base_image['image']
        image_ext = base_image['ext']  # Preserve original format (e.g., 'jpeg', 'png', 'jp2')
        with open(f'page{page_index+1}_{img_index+1}.{image_ext}', 'wb') as f:
            f.write(image_bytes)

and upload through my #pywikibot wrapper https://gitlab.com/vitaly-zdanevich/pwb_wrapper_for_simpler_uploading_to_commons

· 👁 23 · 1104

# cd to a first sorted folder, exclude hidden
first() {
  local first
  first="$(
    find . -mindepth 1 -maxdepth 1 -type d ! -name '.*' -printf '%f\n' \
    | sort \
    | head -n 1
  )"

  if [[ -z "$first" ]]; then
    echo "no folders"
    return 1
  fi

  cd "./$first"
}

· 👁 20 · 1103

My new #bash alias: one function to go to the next folder (like from 2025 to 2026, from aaa to bbb) and the second one to #cd to prev:

cdn() {
  local cur next
  cur="$(basename "$PWD")"

  next="$(
    find .. -mindepth 1 -maxdepth 1 -type d -printf '%f\n' \
    | sort \
    | awk -v cur="$cur" '$1>cur{print; exit}'
  )"

  if [[ -z "$next" ]]; then
    echo "no next folder"
    return 1
  fi

  cd "../$next"
}

cdp() {
  cur="$(basename "$PWD")"

  prev="$(
    find .. -mindepth 1 -maxdepth 1 -type d -printf '%f\n' \
    | sort \
    | awk -v cur="$cur" '$1<cur{p=$1} END{print p}'
  )"

  if [[ -z "$prev" ]]; then
    echo "no previous folder"
    return 1
  fi

  cd "../$prev"
}

· 👁 18 · 1102

How to make #ubuntu folder for #chroot

https://en.wikipedia.org/wiki/Chroot

wget https://cdimage.ubuntu.com/ubuntu-base/releases/25.10/release/ubuntu-base-25.10-base-amd64.tar.gz
# Only 34 MB

wget https://cdimage.ubuntu.com/ubuntu-base/releases/25.10/release/SHA256SUMS

sha256sum -c SHA256SUMS 2>/dev/null

mkdir ubuntu-base

tar -xzf ubuntu-base-25.10-base-amd64.tar.gz -C ubuntu-base

cd ubuntu-base/

cp /etc/resolv.conf etc/resolv.conf

Create file inside:

mount --bind /dev  dev
mount --bind /proc proc
mount --bind /sys  sys
mount --bind /run  run
chroot . /bin/bash

and run from root (because requires CAP_SYS_CHROOT)

· 👁 18 · 1100

#ai

Trying #codex to organize scans - to create a folder for every newspaper issue, result is not very good - mistakes and slow

· 👁 16 · 1099

· 👁 19 · 1098

· 👁 17 · 1097

I love #display aspect ratio 16x10 because I have the special space for #youtube #ui, when most videos are 16x9