Концептуальное vs процедурное мышление

Избитое выражение — мол ты гуманитарий, математика (программирование, физика и проч) не твоё. На самом деле, все не так просто. Я давно это чувствовал (даже в школе), но к четкой формулировке проблемы пришел только сейчас.

Моя история

У меня всегда были проблемы с математикой. Мой склад мышления таков, что мне важно понимать логику абсолютно каждого действия. Когда кто-то пытался мне что-то объяснить по математике — он мягко говоря недоумевал — именно потому что у нас с ним разные типы мышления.

Мне дико некомфортно, когда: Читать далее

Рубрика: Философия и технологии | Оставить комментарий

The Bat: грамотный предпросмотр в текстовом формате

Армянское радио вопрошает про почтовую программу The Bat!

Проблема №1

В The Bat! я включил текстовый режим, чтобы HTML не показывался автоматически. Раньше в старой версии слева у меня отображался вложенный HTML-файл (Message.html), а справа показывался текст письма. Сейчас этот HTML-файл в панели вложений не отображается, и нужно вернуть его видимость.

Лечение

Читать далее

Рубрика: Email - The Bat | Оставить комментарий

Настройка Windows Server 2012 R2 для RDP и прочего

После установки Windows Server (например, на 2012 R2) удалённый рабочий стол (RDP) часто выключен по умолчанию. Включить его — это немного потанцевать с бубном…. Юзаем powershell: Читать далее

Рубрика: Windows Server | Оставить комментарий

Подготовка образа Windows Server для Timeweb Cloud

В этой инструкции показано, как вручную подготовить оптимизированный образ Windows Server (на примере 2012 R2) для загрузки на виртуальные машины Timeweb Cloud. Используется связка NTLite + VirtIO-драйверы. Цель — добавить нужные драйверы (без них кастомная ОС не встанет на облако), облегчить систему,  и отключить ненужные службы и телеметрию. Читать далее

Рубрика: Windows Server | Оставить комментарий

WinSetupFromUSB — безопасная версия без вирусов

Очень много нечисти в интернетах, поэтому сложно найти порой легитную версию софта. Конечно, в идеале юзать опен-сурс, но бывает что нет аналогов. Пример — зверь по имени WinSetupFromUSB, который не просто копирует ISO-образ на флешку, а устраняет структурную проблему, связанную с установкой старых версий Windows (особенно Windows XP) на современное оборудование.

Например, у меня была проблема при установке Windows XP Home Edition SP3 OEM-Asus Eee PC на мой древний ASUS Eee PC T91. WinSetupFromUSB умеет мутить модифицированный загрузчик grub4dos и добавляет драйверные фиксы, позволяющие XP видеть SATA-диски… 

Ну короче.. А саму WinSetupFromUSB нынче не скачать легитно — сайт официальный (который .ком) в дауне. Есть куча зеркал, но половина червивые. Что делать в этом случае?

Заходит на архив орг 🙂 Вот ссылко:

https://web.archive.org/web/20211128225806/http://www.winsetupfromusb.com/files/download-info/winsetupfromusb-1-10-exe/

Там смотрим контрльные суммы для WinSetupFromUSB 1.10.exe (28 Мб) от 7 Ноября 2021:

CRC-32 2d838f1e
MD5 3029455e6a2e47be8981ff79be09e8ad
SHA-1 2a424bcfccc501940c5d9eb3093e59f673e3ea33

Теперь качаем эту версию (последняя) отсюда или с любого зеркала, загружаем на virustotal и смотрим суммы 🙂 Юзаем на здоровье и говорим дядюшке Тангару спасибо 😉

Рубрика: Windows XP, Операционная система | Оставить комментарий

Структура каталогов Linux (шпаргалка)

Когда смотришь на корень файловой системы Linux, кажется, что это какой-то сюр: папки с непонятными названиями. На самом деле всё довольно логично, если знать сокращения и акронимы:

/bin     USER PROGRAMS (бинари для юзеров)  
/sbin    SYSTEM PROGRAMS (системные бинари для рута)  
/etc     CONFIGURATION FILES (конфиги и настройки)  
/dev     DEVICE FILES (девайс-файлы для харда)  
/proc    PROCESS INFORMATION (инфа о процах и ядре)  
/var     CHANGING DATA (логи, кеши, базы, очереди)  
/tmp     TEMPORARY FILES (времянка, чистится при ребуте)  
/usr     UNIX SYSTEM RESOURCES (софт, либы, доки для всех)  
/home    HOME DIRECTORIES (хомы юзеров, личные файлы)  
/boot    BOOT FILES (бутлоадер и ядро)  
/lib     SYSTEM LIBRARIES (системные либы, модули ядра)  
/opt     OPTIONAL APPS (сторонний софт)  
/mnt     TEMP MOUNT POINTS (ручное монтирование фс)  
/media   REMOVABLE MEDIA (автомонт юсб/сд)  
/srv     SERVICE DATA (дата сервисов: веб, фтп, бд)  

/root    ROOT USER HOME (хомяк рута)  
/sys     KERNEL INTERFACE (инфа о ядре и железе)  
/run     RUNTIME DATA (рантайм, замена /var/run)  
/lost+found RECOVERED FILES (восстановленное fsck добро)  

Это базовый скелет Linux. Почти в каждом дистрибутиве он выглядит одинаково.

Основа этой шпоры гуляла по интернетам, но там были ошибки и не было расшифровки функционала. Например, важно понимать, что в /usr лежат не ваши личные файлы (для этого есть /home), а системные ресурсы: программы, библиотеки и документация, доступные всем пользователям. + добавил рут, сис, ран. В общем,  делюсь 🙂

Рубрика: Linux, Операционная система | Оставить комментарий

Google Chrome загаживает диск: CacheStorage и Service Worker

В папке…
C:\Users\<user>\AppData\Local\Google\Chrome\User Data\Default\Service Worker\CacheStorage
…хром у меня 20+ Гб стабильно копит раз в n-месяцев. Другие браузеры такой подлянки не делают. Приходится это вычищать каждый раз.

И да, это не обычный кэш картинок, а именно сервис-воркеры. Что происходит: при заходе на сайт браузер может зарегистрировать фоновый процесс — Service Worker. Он работает независимо от вкладок и живёт в фоне, чтобы обеспечивать оффлайн-доступ (который мне нах не нужон), быстрый запуск страниц (я это отключаю лол), push-уведомления (ВСЕГДА ВЫКЛЮЧАЮ, АЛО! хватит засирать мой комп!) и прочий клятый PWA (Progressive Web App = «прогрессивное» мать его веб-приложение). В общем, Читать далее

Рубрика: Google Chrome, Браузеры | 5 комментариев

Как сделать чёрное выделение вокруг картинки в Photoshop

Допустим у вас есть такая вот картинка пещеры на прозрачном фоне

Нужно сделать так, чтобы вокруг неё появилось чёрное выделение — его можно будет использовать, например, для parallax-эффекта в игре. Приступим…

1. Делаем маску: Layer → Layer Mask → From Transparency

2. Alt + клик на маске (чтобы вокруг неё Читать далее

Рубрика: Photoshop, Геймдев - разработка игр | Оставить комментарий

Смена яркости монитора через горячую клавишу с помощью AutoHotKey

Иногда нужно быстро уменьшить или увеличить яркость экрана без лишних кликов. На моем ноуте это было раньше встроено гайкой встроенной утилиты ASUS, но она все время лезла в управлением кулером, поэтому пришлось её выпилить. В итоге можно юзать вот такой скрипт.

  1. Качаем AutoHotKey
  2. Создаем файл .ahk и кидаем туды:
F1::
Run, cmd /c wmic /namespace:\\root\wmi PATH WmiMonitorBrightnessMethods WHERE "Active=1" CALL WmiSetBrightness Brightness=10 Timeout=1
return

F2::
Run, cmd /c wmic /namespace:\\root\wmi PATH WmiMonitorBrightnessMethods WHERE "Active=1" CALL WmiSetBrightness Brightness=100 Timeout=1
return

Через powershell не работало, поэтому сделал внутряком винды.

Что мы делаем: Читать далее

Рубрика: Windows 11 | Оставить комментарий

Мозг vs Суперкомпьютер: сравнение мощности и энергоэффективности

🧠 Мозг – самый мощный компьютер на планете?

Представьте, что у вас в голове находится самый мощный суперкомпьютер. Он выполняет 1 квинтиллион операций в секунду, работает в 17 раз быстрее, чем весь интернет, и потребляет всего 20 Вт — как обычная лампочка! В этой статье мы разберем, как мозг соотносится с лучшими суперкомпьютерами, какой объем данных он обрабатывает ежедневно и почему пока ни один компьютер не способен повторить его уникальные возможности.

Читать далее

Рубрика: Суперкомпьютеры | Оставить комментарий

Завершение процессов при выходе из SSH

При работе с Git и сервером через SSH частая трабла: ssh-agent (или другие процессы) остаются висеть в процессах, даже после выхода из консоли через exit. Это приводит к тому, что накапливаются десятки процессов ssh-agent.. ну а на хостингах обычно ограничения под количество этих самых процессов. Да и вообще — они жрут ресурсы по чем зря, а мы ведь за всё хорошее, против всего плохого.

В общем краткий рецепт, как автоматически завершать ssh-agent при выходе, чтобы избежать ошибок типа:

error: cannot create thread: Resource temporarily unavailable
fatal: send-pack: unable to fork off sideband demultiplexer
-bash: fork: retry: Resource temporarily unavailable
-bash: fork: Resource temporarily unavailable

Читать далее

Рубрика: Git, Linux | Оставить комментарий

Удаляем Home и Gallery в Windows 11

Старый пройдоха Билли продолжает добавлять множество идиотских элементов ынтырфейса, таких как Home и Gallery, которые любому здравомыслящему человеку хочется выжечь святой водой. Приступим.

Удалить Home

  1. Идем в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Desktop\NameSpace\{f874310e-b6b7-47dc-bc84-b9e6b38f5903}
  2. Переименовываем {f874310e-b6b7-47dc-bc84-b9e6b38f5903} в DISABLE_HOME_BUTTON={f874310e-b6b7-47dc-bc84-b9e6b38f5903} (если что, потом можно будет откатить обратно, переименовав)
  3. Перезапускаем проводник (Explorer).

Удалить Gallery

  1. Идем в HKEY_CURRENT_USER\Software\Classes\CLSID\{e88865ea-0e1c-4e20-9aa6-edcd0212c87c}
  2. Если {e88865ea-0e1c-4e20-9aa6-edcd0212c87c} нет — создаем (правой кнопкой мыши → New → Key)
  3. Внутри создаем параметр DWORD (32-bit) с именем System.IsPinnedToNameSpaceTree
  4. Готово! Значение у созданного DWORD по умолчанию равно 0, что нам и нужно
  5. Перезапускаем проводник.

И вот.. очередная пакость старины Билли побеждена. Бобро празднует победу света, а Билли уползает восвояси, чтобы продолжить гадить уже в следующей версии винды.

Рубрика: Windows 11 | Оставить комментарий

Пограмист 21 века: редактор

Чатжпт и иже с ним сделали из пограмистов — редакторов. Писать код больше не нужно. Нужно его редактировать. Сейчас (пока) задача — из 7овнокода делать код. Потом уже и этого не надо будет делать. Достаточно будет ставить задачи (эффективно их формулируя).

Ну и норм. Не вижу смысла ломать руки и биться в истериках, как это практикуют некоторые. Приспосабливайтесь, господа.

Рубрика: Остальное | Оставить комментарий

Git: как запретить публиковать ветку репозитория

Бывает, что нужно держать приватную ветку.. и чтобы обезопасить себя от случайного жмяка на Publish Branch, имеет смысл запретить её публикацию. Под виндой делается так…

В папке .git/hooks делаем файл pre-push (без расширения) и кладем туда

#!/bin/sh

# List of branches to protect
PROTECTED_BRANCHES="local-branch-name"

# Get the name of the branch being pushed
current_branch=$(git symbolic-ref HEAD | sed -e 's,.*/,,')

# Check if the current branch is in the list of protected branches
if echo "$PROTECTED_BRANCHES" | grep -w "$current_branch" > /dev/null; then
    echo "Pushing to branch '$current_branch' is not allowed."
    exit 1
fi
Рубрика: Git, Остальное | Оставить комментарий

Главное в программировании: ПОИСК ОШИБОК

Код по мотивам моего недавнего видео: https://youtu.be/ewhlgo1B8dI

Три этапа развития программиста:

  1. Сначала мы учимся реализовывать ФУНКЦИОНАЛ
  2. Затем — проектировать грамотную СТРУКТУРУ кода
  3. И наконец, постигаем искусство ПОИСКА ОШИБОК

Пример кода из видео:

Читать далее

Рубрика: Программирование | 2 комментария

[решение] VLC вне экрана (не видно окна)

Статья обновлена в 2024 году, чтобы пофиксить эту байду раз и навсегда

АРРРГГХ! Вот уже несколько лет одна и та же байда — плеер VLC уползает «за экран». Я все время забываю как его от туда достать, приходится гуглить. Вот памятка, как это быстро делается:

  1. Откройте VLC и сделайте его «активным» (кликните на него снизу, на панели задач), чтобы оно было текущим выбранным приложением (даже если вы его не видите)
  2. Отложите мышь, она вам не понадобится 🙂 Нажмите комбинацию клавиш Alt+пробел
  3. Сбоку экрана должно появиться небольшое всплывающее меню. Там будет опция «Переместить» (если ее нет — используйте «восстановить»). Выберите ее.
  4. Теперь используйте клавиши-стрелки, чтобы «вытащить» плеер из-за края экрана. У меня VLC съезжает всегда налево, поэтому я использую стрелку влево. Когда закончите, нажмите Enter.

Если это не помогает — можно просто заново поставить программу.

Далее… Теперь как сделать, чтобы это не происходило снова (у меня такое на низком DPI и 4к видео): Читать далее

Рубрика: Проблемы и решения | 5 комментариев

Пропала настройка «Select which icons appear on the taskbar»

Уже дюжину лет в винде есть настройка — что отображать в трее. Зовётся: «Select which icons appear on the taskbar«. И вот в Windows 11 она пропала. ЧИТО ДЕЛАТЬ?

Без паники. Билли в очередной раз «улучшил» нам жизнь. Я уже полез в

HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify

выдирать хексовые значения апок… кстати, вот вам скрипт.. учтите надо в трей нужную апку уже открыть, чтобы выдрать ее айдишник:

# Export the TrayNotify key
$regPath = "HKCU:\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify"
$exportPath = "C:\path\to\output\TrayNotifyBackup.reg"
Reg export $regPath $exportPath
Write-Output "TrayNotify key exported to $exportPath"

Ну и потом этот айдишник всобачить:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\TrayNotify]
"YourAppIdentifier"=dword:00000002

Но… потом ОКОЗАЛОСЬ, что Билли типа сделал удобную вещь. Можно МЫШКОЙ Б497b перетаскивать из скрытых значков в активный трей. @#$%я мышка. И почему нельзя было написать об этом, в том месте, где убрали эту настройку?

Прашу прасчения за тон, но когда имеешь дело с Билли — по другому писать непалучаитса.

Рубрика: Windows 11 | 1 комментарий