28 декабря 2025 г.

Города Беларуси (700-2000 годы)

Понравилась мне одна научная статья о росте средневековых городов: Buringh, Eltjo. "The population of European cities from 700 to 2000: Social and economic history." Research Data Journal for the Humanities and Social Sciences 6.1 (2021): 1-18.

Что хорошего в ней, так это то, что к ней прилагается полученный автором набор данных. Я решил его поизучать. Моим открытием стало, что большинство белорусских городов в средние века имели менее 5 тысяч населения. Ниже я даю табличку с выдержкой из данной статьи и два графика. 

 

Чтобы увеличить картинки, надо кликать по ним. 

А теперь попробуем нанести их на карту ВКЛ (Magnus Ducatus Lithuaniae). Я отбросил города размером менее 5000 жителея, ... и вышло не густо.

   

Посему попробовал вернуть назад "города" с населением от 1000 до 5000 жителей. Но только на территории MDL.

   

Мои личным открытием стало то, что главные "мегаполисы" тут - это Смоленск, Вильня, Псков, Новгород, Чернигов и Киев. При этом доминирование в районе Беларуси обеспечивало обладание Смоленском и Вильней. Смоленск относительно часто менял юрисдикцию. В рамках моего самоликбеза я построил график, отображающий хронологию перехода "из рук в руки" приграничных городов.

Ну и напоследок, я увлекся анимацией. :)
Города Беларуси в динамике.


Города Европы в динамике (с отсечением городов с населением ниже 5000 жителей).
 

Модный нынче график, отображающий динамику численности белорусских городов в подвижном стиле.

26 декабря 2025 г.

VPS configuration for the low-end machines

Cogito, ergo sum

René Descartes in 1637 

Recently I was configuring the VPS server and learned a few things that I want to summarize below.

  • The cheapest options are here: https://lowendbox.com/blog/1-vps-1-usd-vps-per-month/. But be careful. It can be a machine with an IPv6 IP address only which I was unable to configure with WireGuard and Immich. It seems that I can continue only with the machine having the IPv4 address.
  • Requirements
    • RAM. I have a preference for Debian/Ubuntu. Today you need a minimum of 512 Mb. I was able to install Debian 12 with just 512 Mb. I heard that Debian 13 can also run with 512 Mb. But it wasn't available yet. So I haven't tested it. If you have 1 Gb you can install Ubuntu or something else. Freshly installed Debian 12 was consuming 92 Mb of RAM. After updating, installing some packages and restarting it was only 75 Mb consumed. Fresh Ubuntu 24.04 LTS was using 188 Mb. And after updating and restarting only 156 Mb.
      • 0.5 Gb is not a lot of memory, therefore I am creating the 1 Gb swapfile. Alternatively you can mount your own ISO disk with Debian (rare option, but it worked with Vultr) and to create 1-2 Gb swap partition.
        # 1 GiB swapfile
        fallocate -l 1G /swapfile
        chmod 600 /swapfile
        mkswap   /swapfile
        swapon   /swapfile
        echo '/swapfile none swap sw 0 0' >> /etc/fstab   # always mount
        # Kernel tuning
        cat << 'EOF' > /etc/sysctl.d/99-swap.conf
        vm.swappiness = 150        # conservative
        vm.vfs_cache_pressure = 75
        EOF
        sysctl --system
        free -h            # confirm Swap: 1.0G
        swapon --show      # priority  -2
        cat /proc/sys/vm/swappiness
        apt install zram-tools
        GRUB_CMDLINE_LINUX_DEFAULT="zswap.enabled=1"
        update-grub
         
    • Disk. Debian 12 occupied 1.6 Gb. Debian 13 occupied 1.1 Gb. Ubuntu 24.04 LTS occupied 3.9 Gb. My disk was only 5 Gb. So I was proceeding with installing the R package (+0.95 Gb) but not with the Shiny server. It failed with both Debian and Ubuntu machines. Taken together, we need a minimum 10 Gb, if we want something beyond OS and several tiny applications.
  • SSH
    • I connect to the VPS using PuTTY. It is possible to create a link for the connection and to modify the command line to log in automatically:
      • "C:\Program Files\PuTTY\putty.exe" user@XXX.XXX.XXX.XXX -pw YYY -P ZZZ 
    • After installation, I updated the system, installed main packages, changed the machine's name, created a user with sudo rights, and benchmarked the system:
      • (bold font shows what should be edited in the configuration files, or chosen in the menu)
        apt-get update
        apt-get upgrade

        apt install mc sudo btop

        #UTF for btop
        sudo dpkg-reconfigure locales
            choose    en_US.UTF-8 UTF-8
            choose default en_US.UTF-8.

        export LANG=en_US.UTF-8

        sudo hostnamectl set-hostname Cobra
        sudo nano /etc/hosts

        passwd
        adduser user
        usermod -aG sudo user

        wget -qO- yabs.sh | bash
    • Then I change settings for the SSH access. I installed endlessh, ufw, and moved SSH to port ZZZ (at ~30'000 value):
      • apt install endlessh ufw

        ss -tulpn | grep LISTEN
        ufw allow ZZZ comment 'ssh'
        ufw allow 22 comment 'endlessh'

        nano /etc/ssh/sshd_config
        Port ZZZ
        PermitRootLogin no


        systemctl restart sshd

        nano /etc/endlessh/config
        Port 22

        nano /usr/lib/systemd/system/endlessh.service
            Uncomment the line AmbientCapabilities=CAP_NET_BIND_SERVICE
            Comment PrivateUsers=true
            Comment InaccessiblePaths=/run /var

        setcap 'cap_net_bind_service=+ep' /usr/bin/endlessh

        systemctl --now enable endlessh
        systemctl status endlessh
        ufw enable
        ufw status numbered
         
  • R framework
    • Basic R with rvest package (+1.2 Gb)
      • apt install libcurl3-openssl-dev libxml2-dev r-base-core
        R
        install.packages('rvest')
        q()
    •  The Shiny server at port XXX (+0.5 Gb)
      • R
        install.packages('shiny')
        install.packages('rmarkdown')
        q()

        wget https://download3.rstudio.org/ubuntu-20.04/x86_64/shiny-server-1.5.23.1030-amd64.deb
        dpkg -i shiny-server-1.5.23.1030-amd64.deb
        ufw allow XXX comment 'Shiny'

        nano /etc/shiny-server/shiny-server.conf
          listen XXX;

        systemctl restart shiny-server
        systemctl status shiny-server
        ss -plut | grep -i shiny
        rm 
        shiny-server-1.5.23.1030-amd64.deb
      • Test it: http://IP:PORT/
      • Files are in /srv/shiny-server/ 
  • WireGuard
    • Install it to XXX port.
      • curl -O https://raw.githubusercontent.com/angristan/wireguard-install/master/wireguard-install.sh
        chmod +x wireguard-install.sh
        sudo ./wireguard-install.sh

        sudo systemctl status wg-quick@wg0
        sudo wg show
        wg-quick down wg0 && wg-quick up wg0
        sudo ufw allow XXX comment 'WireGuard'
        sudo ufw reload
        sudo ufw enable
        sudo ufw status verbose
    • I am using wgg.sh to assign friendly names to peers:
      • curl -O https://raw.githubusercontent.com/FlyveHest/wg-friendly-peer-names/refs/heads/master/wgg.sh
        chmod +x wgg.sh
        sudo ./wgg -u
    • It is straightforward how to add peers on the server (/wireguard-install.sh and adding friendly name with wgg.sh -u) and the client (Windows: get *.conf file with WinSCP and import to the Wireguard package; Android: just scan a barcode; Linux: nmcli connection import type wireguard file wg0-client-XXX.conf). 
    • Flat-file CMS. I had a nice experience with GRAV (44 Mb), WonderCMS (0.1 Mb), and Yellow (1 Mb). You just need to have caddy (or nginx) and php with required dependencies.
    • Immich (+0.9 Gb)
      • Install Docker and Immich
        • for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done

          sudo apt-get update
          sudo apt-get install ca-certificates curl
          sudo install -m 0755 -d /etc/apt/keyrings
          sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
          sudo chmod a+r /etc/apt/keyrings/docker.asc


          # Add the repository to Apt sources:
          echo \
            "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
            $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
            sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
          sudo apt-get update

          sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
          sudo docker run hello-world
          sudo apt install docker.io docker-compose-plugin

          git clone https://github.com/immich-app/immich.git
          cd immich
          ./install.sh
          ufw allow 2283 comment 'Immich'
          wg-quick down wg0 && wg-quick up wg0
          systemctl restart docker
      •  Import images from Google.Photo TakeOut:
        • wget https://github.com/simulot/immich-go/releases/download/v0.27.0/immich-go_Linux_x86_64.tar.gz
          tar -xzf immich-go_Linux_x86_64.tar.gz
          ./immich-go --version
          # you can add option --dry-run to simulate it

          ./immich-go upload from-google-photos --server=http://XXX:YYY --api-key=d17TMP5shRaQvWmtU3scI0iUWjTkY6xw3HtXCU0UII --session-tag=TRUE --overwrite --include-unmatched ~/Takeout
      •  I brought 7zip archive with USB stick formatted to NTFS filesystem:
        • sudo apt install ntfs-3g p7zip-full
          lsblk
          sudo blkid
          sudo  mkdir /media/usb
          sudo mount /dev/sdb1 /media/usb
          sudo umount /media/usb
      • If Immich is installed behind the NAS, we need to connect the client and the server with Immich to the same WireGuard serves (VPS) as peers.
        • Connect both to WireGuards as peers.
        • Now when you have 2 configuration files, you need to modify peer information related to Immich server on the VPS server:
          • ### Client Immich
            [Peer]
            PresharedKey = BRING ONE FROM IMMICH SERVER
            PublicKey = 
            BRING ONE FROM IMMICH SERVER
            #IP of IMMICH server as it is known to WG
            AllowedIPs = 10.66.66.5/32,fd42:42:42::5/128
            #Keep connection alive
            PersistentKeepalive = 25
            #Address behind NAS in the local network and port for WG
            Endpoint = 192.168.0.250:50000
        • And information related to the VPS server on Immich server:
          • ### Client VPS
            [Peer]
            PublicKey = 
            BRING ONE FROM VPS SERVER
            PresharedKey = BRING ONE FROM VPS SERVER
            #External IP for VPS and port for WireGuard
            Endpoint = XXX:50000
            AllowedIPs = 0.0.0.0/0,::/0
            #Keep connection alive
            PersistentKeepalive = 25 
    • Cleaning and updating the environment. I am using this script as root (https://github.com/itrus/bash-scripts-NGS/blob/main/small.md#cleaning-the-linux-environment). But you need to comment parts (snap or Chrome) that you don't need otherwise it may fail. It allowed me to clean 0.3 Gb from the freshly installed and configured the system. :) 

    16 ноября 2025 г.

    Зарплаты на БелАЭС

    Тут можно глянуть, кто сегодня (2025-11-16) требуется на БелАЭС. Зарплата указывается "грязными". То есть надо будет отнять ещё 14%. Курс доллара на сегодня 2.97 рублей.

    Работает там 2700 человек, а найти нужно 75 человек. Что мы, в итоге, предлагаем им на руки "чистыми": 

    • Начальник смены АЭС - 1088$ х нужен 1 человек.
    • Начальник смены блока АЭС - 1039$ х 2.
    • Начальник смены цеха АЭС - 716$ х 2.
    • Ведущий инженер по управлению реактором АЭС - 705$ х 2.
    • Инженер (ведущий)  - 670$ х 6.
    • Инженер - 432-619$ х 17.
    • Мастер - 593$ х 2.

    А теперь пойдут ребята без требования к вышему образованию:

    • Оператор реакторного отделения - 504$ х 2.
    • Механики-слесари-электрики - 377-462$ х 14.
    • Переработчик радиоактивных отходов - 358$ х 1.
    • Рабочий по комплексному обслуживанию и ремонту зданий и сооружений - 315$ х 1.
    • Дезактиваторщик - 294$ х 1.
    • Уборщик помещений - 262$ х 1.

    Короче, понятно!

    Справочно.

    В 2024-ом году станция выработала 43Е9 квт*ч. При цене населению в 0.24 р за квт*ч, цена произведенного электричества в год (без потерь и доп. расходов) составляет 3.5Е9 $. Или 291 миллион $ в месяц. Если средняя зарплата по станции будет 700$, то на зарплаты уходит 1.9 миллиона $ в месяц. По кредиту на станцию (10Е9 $ на 25 лет) надо выплачивать примерно 33 миллиона $ в месяц плюс проценты.

    13 октября 2025 г.

    Немного про белорусское сельское хозяйство

    Вот есть у нас гигантский колхоз Александрия, получившийся в результате слияния 5 колхозов. Более 50 деревней входит в его состав. Территория - 152 км2. Родина президента.

    • Работает там 1126 человек. Так как средняя зарплата в 2024-ом году составила 1733.1 BYN, на зарплаты за год пошло 7.81 миллиона долларов (1733.1 BYN х 1126 / 3.00 BYN/USD x 12).
    • Акции. В 2021-ом году государство владело 10.1% предприятия (или же 205.9 миллионами акций). А уже в 2024-ом государство увеличило свою долю до 84.2%. Что соответствует 1.717 миллиарда акций. Если добавить акции 883 акционеров, то всего их будет 2.039 миллиардов штук.
      • Для справки (в 2025-ом году) всего акций у IBM - 0.930 миллиарда. У Microsoft - 7.4 миллиардов. Получается по данному показателю колхоз Александрия между IBM и Microsoft. Только если эти фирмы имеют капитализацию, измеряемую в триллионах долларов, то у колхоза всё немного скромнее.
      • На одного работника приходится 1.8 миллиона акций. У Microsoft - 32.5 тысяч акций на одного работника. У IBM - 3.4 тысячи. 
      • Так как обеспеченность одной акции имуществом 0.47 BYN, то колхоз стоит 319.4 миллионов долларов (2.03Е9 х 0.47 BYN x 3.00 BYN/USD).
    • У него ещё долгов на 81.3 миллиона долларов. Но они входят в оценку имущества колхоза. На одного работника получается приходится 72203$ долга. Не хило! Всех впечатляет американский госдолг, а ведь он близок к данному показателю колхоза (в пересчёте на американца госдолг: 104599 $).
    • За 2024-ый год продано продукции на 35.0 миллионов долларов, но так как себестоимость велика, убыток составил 0.67 миллиона долларов. Рентабельность продаж была -2%. Благо колхоз был успешен в "инвестиционной деятельности" и имел "прочие доходы", поэтому окончательная годовая прибыль равна 14.0 миллиона долларов. Скорее всего за этим скрывается 17.4 миллиона долларов гос. помощи. По итогам года колхоз даже смог выплатить 0 рублей дивидендов своим акционерам. 1288 $ госпомощи значит мы получили на сотрудника в месяц. ... Примерно в 2.2 раза больше зарплатного фонда. :)
    • Налогов, кстати, за год уплачено 1.07 миллионов долларов. Налогов с оборота продукции мы значит заплатили 3.1%. Не густо!

    Данная картина нашего лучшего белорусского колхоза в малом масштабе иллюстрирует глобальную ситуацию в сельском хозяйстве страны. Так в том же 2024-ом году с/х Беларуси произвело продукции на 7.97 миллиарда долларов, и реализовала её с прибылью 0.5 миллиарда долларов. Рентабельность составила +6.3%.

    Но не стоит забывать, что при этом поддержка государства составила 2.6 миллиарда долларов. Без неё рентабельность была бы уже -26.3%.

    Sapienti sat!

    P.S. "... от открытого акционерного общества «Александрийское» в июле 2024 года фонд [«Молодая Гвардия»] получил пожертвование в размере 50 000 беларуских рублей" в то время как хозяйство ищет 6 ветеринарных врачей на ставку (до уплаты налогов) 1700 р.

    12 октября 2025 г.

    Стоимость высшего образования в Беларуси

    1. В этом году (2025) стоимость платного обучения во ВГАВМ (Витебская Государственная Академия Ветеринарной Медицины) на врача ветеринарной медицины составит 2449 бел. рублей в год (816$ по обменному курсу на 2025-10-11). Таким образом, отучиться 5 лет платно обойдется нам 4078$. Платно у нас могут пойти учиться только 3,1% абитуриентов (10 мест из 325).





    2. Теперь немного о бесплатном обучении (315 мест соответствует 96,9% доступных мест). Учимся мы тут бесплатно 5 лет, платим 0$, и даже получаем стипендию 157,18-251,48 рублей в месяц (в зависимости от успеваемости). Суммарно за 5 лет стипендии получаем примерно 4000$ (52,35-83,75 $ в месяц = 628-1005 $ в год = 3141-5025 $ за 5 лет).

      Немного стипендии или других доходов может придется потратиться на общежитие. От 16,80 до 33,60 рублей в месяц (280-559 $ за 5 лет).

      Потом резко отказываемся от обязательного двухлетнего распределения, и ... (барабанная дробь) возмещаем государству за своё обучение 68084,65 рублей (22675 $). Что в 5,6 раз дороже платного образования! :(




    3. А теперь немного о целевом обучении. У нас таких мест предложено в этом году 212. Что это значит? На первом курсе при поступлении подписываем соглашение о целевой отработке в обозначенном колхозе в течение 5 лет. И получем прибавку к стипендии в размере 0-10 базовых величин (1 базовая величина = 42 рубля = 13,99$). Так можно получить аж 8394$ (13,99 $/базовая величина x 10 базовых величин x 12 месяцев x 5 лет). Которые надо будет обязательно вернуть, если не получится отработать 5 лет в обозначенном колхозе. Таким образом, выпускник-бесплатник-целевик может оказаться должен колхозу 8,5 тысяч долларов и государству 22,5 тысячи долларов. Что в сумме составит 31 тысячу долларов. Не по-детски, это я вам скажу. :(

      Вот пример бумажки, с которой колхоз Александрия хочет заманить 6 (!) вет. врачей. Данный колхоз является вотчиной Лукашенко и управляется администрацией президента.
      https://www.vsavm.by/wp-content/uploads/2017/06/Mogilev-25-01-20.jpg   

     Какой вариант выбрали абитуриенты:

    1. Платное образование. Все 10 мест заняты. Конкурс был 1,3 человека на место. В прошлом году конкурс был примерно таким же (1,2).
    2. Бесплатное образование. Зачислено 24 олимпиадника (7 мальчиков). Плюс 197 абитуриентов (65 мальчиков). Плюс в дополнительный набор пришли 20 абитуриентов (8 мальчиков). Плюс после вет. колледжа 15 человек (2 мальчика). Плюс в дополнительный набор взяли 17 человек и 3 после вет. колледжа (5+0 мальчиков). Ещё у нас есть целевики - 35 человек + 2 после вет. колледжа (13+0 мальчиков). Итого у нас на первом курсе 313 студентов (100 мальчиков). Конкурс почти состоялся (0,99 человек на место). Целевиками могли стать 67,7%, но пожелали ими быть только 11.8% бесплатников.

    Сколько вет. врачей выпускается в год? Я нашел данные за 2025 год - 273.

    Ещё в Беларуси на вет. врача можно выучиться в Гродно (в ГГАУ). Они набирают в год 104 человека на очное бесплатное отделение. Судя по тому, что конкурс был 1,3 человека набрали именно столько. Так как всего там на факультете учатся 297 студентов и учатся они 5 лет, в год выпускается примерно 50 человек.

    Итак, имеем суммарный приток примерно 300 специалистов в год. А сколько их требуется сегодня? По данным ГСЗ (Государственная Служба Занятости), сегодня нам нужны 995 ветеринарных врачей. Это примерно 19.9% от их общего количества в сельском хозяйстве страны (271 х 0.27 + 1055 х 0.21=5024). 

    За сколько лет мы погасим эту нехватку специалистов - вопрос риторический. Ибо она не снижается, а растёт.
     



    13 июля 2025 г.

    Software is full of errors and glitches as of 2025

     This is the continuation of the previous post from 2022: link.

     Let's start with funny creature from Life (GSM operator).

     

    MTS will allow you to end the contract online only if you are dead.

     

    Now errors from Upwork.

     Next errors from RSpace.

     

     

     

     

     

     

    A nice error window from Slack. 

     

     Let's continue with Google TakeOut.

     

    Then several products from Microsoft: Teams, Outlook and OneDrive.

     

     








    In the last image OneDrive shows wrong progress bar. 

    Other funny issues with Microsoft.

    First it was multiple times trying to download an unknown language pack and failed. To solve it I switched to another language and it took 24 hours (!) to change the language.


    Next issue with Microsoft was that all the space was gone. And I found that it was taken for system BackUp that I wasn't switching on.


    ChatGPT also fails often:

    Let's continue with Microsoft: one BSOD, one service error and inability to assign a name with underscore symbol (button Next is not available, while underscore symbol wasn't prohibited in a declarative way).






    And the last but not least: Android suggest uncensored word to continue the phrase "For you ...". 

    :) 

    13 июня 2025 г.

    Щедрость научная в Беларуси


    Для статистики, ежемесячные стипендии в 2025-ом году в Беларуси составляют 50 USD - для студентов троечников, 80 USD - для студентов отличников и магистрантов, 375 USD - для аспирантов (link, обменный курс на сегодня 2.99 BYN/USD (link)). А что если постараться сильнее?

    Повышенные стипендии в Беларуси в 2025-ом году:  

    1. Президентская стипендия назначена 192 студентам (link). Она (данные на конец 2024 года) равна 215,52 BYN (link) и дается на полгода (link). То есть дополнительная стипендия составляет 72,13 USD x 6 месяцев = 432,78 USD. Не забывает получать её и сын президента (link).
    2. Президентская стипендия назначена 49 аспирантам (link). Она превышяет обычную стипендию в 1120 рублей на 498,01 рубль (link, что равно одному минимальному прожиточному бюджету (link)). И дается на один год (link). То есть добавка составляет 166,66 USD x 12 месяцев = 1'999,92 USD.
    3. Президентская стипендия дана 66 молодым учёным (link). Она составляет тоже 500 рублей в месяц и дается на один год (link). Итого она тоже составляет 2'007,96 USD.
    4. Ещё можно получить один из 46 президентских грантов на науку в размере 41 базовой величины (link1, link2). Так как одна базовая величина это 42 рубля (link), то выплата составит 576,29 USD.

    Суммарно расходов в год на данных 192 + 49 + 66 + 46 = 353 "счастливчика": 192 x 432,78 x 2 + 49 x 1'999,92 + 66 x 2'007,96 + 46 x 576,29 = 423'218 USD.

    А теперь тупо для сравнения, стипендия президента министра образования Польши для молодых ученых (link): 5'390 PLN х 0,266 USD/PLN = 1'433,73 USD в месяц. Даётся она на 3 года, посему 1'433,73 USD х 12 месяцев в году х 3 года = 51'614 USD. A 228 премий х 51'614 USD = 11'768'056 USD расходов в год на данных "счастливчиков".

    Подытожим. "Счастливчиков" - меньше, а выплаты на "счастливчика" - больше. Один "молодой учёный" в Польше, это примерно как 51614/2007.96=25.7 "молодых учёных" в денежном пересчёте в Беларуси.

    Sapienti sat! 

    29 мая 2025 г.

    Диплом Ленина

    В 1803 году, в ходе реформ народного просвещения, университеты Российской империи были наделены правом «давать учёные степени или достоинства» ... Система степеней получила иерархическую структуру «кандидат—магистр—доктор». В период 1819—1835 гг. добавилась четвёртая (низшая) степень — «действительный студент»; это понятие сохранилось и позднее, но уже как квалификационное звание. Степень кандидата (точнее, кандидата университета) получали все лица, окончившие университет с отличием. Окончившие без отличия становились действительными студентами. Степень магистра, тогда ранжированная выше кандидата, присуждалась соискателю через несколько лет после выпуска из университета — она может быть сопоставлена современному кандидату наук в РФ. Наконец, высшей являлась степень доктора. Устав университетов 1884 года упразднил понятия кандидата и действительного студента, введя вместо них градацию университетских дипломов 1-й и 2-й степени и оставив двойную систему степеней «магистр—доктор». Последняя явилась прообразом советской/российской системы «кандидат наук — доктор наук». 
    https://ru.wikipedia.org/?curid=379975&oldid=142409290 
     
    Петербургский (Петроградский) университет [в 1803-1917] подготовил 336 докторов, 614 магистров, 5888 кандидатов и 2459 действительных студентов.
    Якушев А., and Кононова С. "Присуждение учёных степеней в университетах Российской империи (статистический анализ)" Высшее образование в России, no. 3, 2006, pp. 147-150.
     
    Посему, на основанiи ст. 81 общаго устава ИМПЕРАТОРСКИХЪ Россiйскихъ университетовъ 23 Августа 1884 года, Владимiръ Ульяновъ, въ засѣданiи Юридической испытательной коммиссiи 15 Ноября 1891 г., удостоенъ диплома первой степени, со всѣми правами и преимуществами, поименнованными въ ст. 92 устава и въ V п. ВЫСОЧАЙШЕ утвежденнаго въ 23 день Августа 1884 года мнѣнiя Государственнаго Совѣта.
    Университетский диплом #334 Владимира Ульянова (Ленина).
     
    "Дворянин Владимир Ильич Ульянов, признанный Юридической испытательной комиссией при С.-Петербургском университете имеющим право на диплом первой степени, заявил желание поступить ко мне в помощники присяжного поверенного".
    Рапорт А. Н. Хардина. Источник: https://leninism.su/books/4256-v-i-lenin-yurist.html

    15 ноября 1891 года юридическая испытательная комиссия присудила В. И. Ульянову диплом первой степени. Владимир Ильич имел больше, чем требовалось для диплома первой степени, соответствующего прежней степени кандидата прав. Для диплома первой степени нужно было иметь больше половины отметок «весьма удовлетворительно», у Владимира Ильича были все «весьма удовлетворительно».
    Из статьи Михаила Цвибака «Владимир Ильич Ульянов на государственном экзамене». «Красная летопись», 1925, № 1, стр. 142 — 144.
     
    — ... Имею диплом доктора прав, выданный Петербургским университетом, являюсь сотрудником санкт-петербургской газеты «Правда» и вот уже двадцать лет состою в социал-демократической партии.
    «Ленин в Польше» —польско-советский историко-биографический фильм, снятый в 1965 году.

    По возвращении из ссылки В. И. Ленин не только ни скрывал, но, напротив, в целях конспирации, всячески афишировал свою принадлежность к адвокатуре. Так, прибыв в Псков, он следующим образом объяснил любопытствующему жандарму, чем занимается и на что живет. По понятным соображениям, Владимир Ильич просил занести в протокол: «числится в звании помощника присяжного поверенного и вновь поступает в это звание».
    В тех же целях В. И. Ленин неоднократно использовал возможность именоваться доктором прав, которую давал ему университетский диплом. Почти во всех заграничных городах, в которых ему пришлось побывать после ссылки (Мюнхен, Лондон, Краков), его регистрируют в качестве ученого юриста-эмигранта. Так, например, в мюнхенской полиции (осень 1900 г.) он отметился как «доктор юриспруденции Иордан Иорданов»[Н. К. Крупская. Цит. раб., стр. 41 — 42.].
    Находясь в Лондоне, куда он приехал в апреле 1902 г., чтобы наладить издание «Искры», Ленин тоже отрекомендовал себя юристом. В объявлении, помещенном 10 мая в газете «Атенеум», говорилось, что «Русский LD Якоб Рихтер и его жена желали бы брать уроки английского языка...» [LD — общепринятое сокращение латинских слов «Lequm Doctor», которые в переводе на русский язык означают: «доктор прав». (См. И. Н. Вольпер. Псевдонимы В. И. Ленина. Лениздат, 1965, стр. 60). Об этом же факте см. Гарри Полит. В. И. Ленин и английское рабочее движение. Рассказы о Ленине, изд. «Дет. литературы», 1964, стр. 181.].
    В регистрационном журнале библиотеки Британского музея сохранилась запись, согласно «которой посетителем с читательским билетом № 72453 является «Джейкоб Ритчер, доктор прав».
    На допросе, состоявшемся 15 июля 1914 г. в Кракове, Ленин счел нужным показать, что у него имеется «диплом доктора прав» [В других случаях Ленин указывал, что является кандидатом прав. Так, в доверенности, выданной 15 апреля 1917 г. П. И. Стучке на право ведения последним всех дел издательского общества «Рабочая печать», рядом со своей фамилией Владимир Ильич пишет: «Кандидат прав». Кандидатом прав или помощником присяжного поверенного называли Ленина судебные чиновники вплоть до Октябрьской революции. См. например, повестку Петербургского мирового судьи, извещавшую Ленина о предстоящем (в мае 1917 г.) процессе о выселении большевиков из дворца Кшесинской. В графе «Кому» стояло: канд. прав В. И. Ульянову, соответчику по делу (Ю. Юров, Путешествие по ленинской адресной книжке. М., 1967, стр. 87, 88).].
    Источник: https://leninism.su/books/4256-v-i-lenin-yurist.html
     


    Подытожим.
    Университет дал Ульянову (Ленину) диплом первой степени в 1891 году, который соответствовал отмененной в 1884 году степени "кандидат университета". Данную устаревшую степень не стоит путать с современной степенью "кандидат наук". "Доктор наук", была наивысшей научной степенью в 19-ом веке как и в 21-ом. Как в странах Европы, так и в России. Ленин именовал себя ей, но к ней не приближался, так как не получил в жизни и более низкой степени магистра.

    28 мая 2025 г.

    Upwork is neither good nor bad. It just has insufficiency of active clients


    Upwork today is an extremely supply-heavy marketplace. Its public metrics show ≈18 million registered freelancers worldwide (link), yet only 851'000 “active clients” (those who spent at least USD 1 in the past 12 months) (link). That is one paying client for every ≈21 registered freelancers.

    In 2024 clients posted about 2.5 million new projects (link), but internal analytics put the hire-rate at just 38% (link), so only ≈950'000 contracts were actually awarded. Spread across the 18 million talent pool, that is one hire for every ≈19 freelancers, or a 5.3% chance that a given profile closed at least one contract in a year.

    Client spend that did flow through the platform reached USD 4.14 billion in 2023 (link), implying an average gross contract value of roughly USD 4'358 (4.14 B / 0.95 M). From that amount Upwork typically withholds 10% freelancer service fee and charges clients up to 8% marketplace fee; both fees are subject to VAT in the European Union (23% adds ≈2.3 % and 1.84%, respectively). A non-US freelancer also pays either a USD 50 wire fee or a USD 0.99 local-bank withdrawal plus ~1% FX spread. Altogether, a European freelancer and client pair commonly see ≈23% of the contract value lost to platform charges and taxes, leaving the freelancer USD 3'350 net on the average engagement.

    How many freelancers are currently needed? We can estimate it in two different ways:

    1. Upwork’s own rates guide places the average hourly earnings at USD 39 (link). At that rate a USD 4'358 contract equates to ≈112 billable hours—roughly three weeks of full-time work. A freelancer who succeeds in staying fully booked (2'080 hours per year) could deliver ≈18 such contracts annually. Yet the marketplace only generated 0.95 million hires in 2024, enough work to keep ≈51'000 full-time freelancers busy—just 0.3% of the 18 million registered profiles.
    2.  If the threshold of surviving with earnings made at Upwok is at USD 20'000 net per year (6 contracts), Upwork can currently financially support only 159'000 freelancers worldwide (950k/(20000/3356)). Because earnings follow a steep Pareto distribution, the viable cohort is smaller—realistically on the order of 60'000 individuals worldwide (0.3%). Everyone else must treat Upwork as a supplementary source of income.

    Upwork could lose several million dormant profiles overnight with negligible impact on its throughput because Upwork has no work for 99.7% of freelancers registered at their website.

    16 апреля 2024 г.

    "Медицинский врач лечит человека, а ветеринарный врач - человечество". Сергей Евсеенко

     


    Какие-то неучи на сайте министерства сельского хозяйства Беларуси приписали Ивану Павлову (1849-1936) новую цитату.


    Принадлежит это выражение ("Медицинский врач лечит человека, а ветеринарный врач - человечество") ветеринару по имени Сергей Евсеенко (1850-1915).

    Попробуем исключить авторство Павлова логическим путём.

    1. Семёнов родился в 1850-ом году. И в 1875-ом стал врачом ветеринарной медицины.
    2. Семёнов писал много об инфекционных болезнях. Например, «Роль эпизоотологии проф. Раевского в ветеринарной литературе» (1881) и «Чума с точки зрения теории самовозникновения» (1881).
    3. В феврале 1884-го года он публикует статью «Эпизоотии как ближайший источник эпидемий», в которой отмечает сходство инфекционных болезней животных и человека (чесотки, дифтерии и других), а заканчивает следующей цитатой.

    Теперь о том, что делал Павлов в это время.

    1. Павлов родился в 1849-ом году. В 1879-ом стал медиком.
    2. Павлов изучал кровообращение, нервы и пищеварение и публиковал работы по данным тематикам. Его диссертация была об иннервации сердца («О центробежных нервах сердца», 1883).
    3. Далее он будет изучать и рефлексы, и высшую нервную деятельность. Но уже позднее. После 1884-го года. Инфекционными болезнями он не интересовался и вовсе. Тем более в первые пять лет научной карьеры после окончания академии.

    Кроме этого я поискал все вхождения слова "ветеринар*" в полном собрании сочинений Павлова, изданного в 1951-1952 годах. Шесть томов, 3827 страниц текста (596+(334+590)+(390+438)+451+566+462). ... Я нашел 4 употребления этого слова, и все мимо контекста:

    1. "Ввиду возможности какой-либо специальной болезни у нашего животного мы воспользовались любезно предложенной помощью опытного ветеринара Тартаковского, но какой-либо известной болезни не оказывалось. Бешенство, не говоря о подробностях клинической картины, исключалось отрицательным результатом прививки мозга кролику".
    2. "И это все из-за повала, который, конечно, всегда можно было устроить вполне безобидно для животного и удобно для быкобойцев, как это и оказалось при первой же пробе указанного господином ветеринаром Петерсеном способа повала".
    3. "Согласно опыту ветеринарных врачей, хлоралгидрат является очень удовлетворительным наркотическим средством при хирургических операциях на лошадях".
    4. "Я пристроился потом как помощник у проф. К. Н. Устимовича, читавшего физиологию в тогдашнем Ветеринарном институте".
    Судя по всему, не очень интересовался ветеринарией Иван Павлов.

    Sapienti sat!