Пропала настройка «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 комментарий

Windows server по RPD: проблема с разрешением и DPI

Когда коннектишься по RDP к серверу на винде — винда автоматом подбирает тебе разрешение и DPI, основанное на то, которое стоит на клиенте.

Т.е. RDP «зеркалит» клиента. И если вы коннектитесь с машиной с высоким DPI — то и на сервере RDP выставит высокий DPI. Что может помешать установить какую-то апку (нопример).

При чем, если вы тупо поменяете DPI на клиенте — это не поможет (сразу). Надо перегрузить _клиент_, а потом еще перегрузить и _сервер_. Тогда все отзеркалится корреткно. Ээ.. Ну собсно об этом эта статья. Надо поменять и ту и там и.. и тут и там заребутиться. Извращенец Билли как обычно удивляет.

Ищо есть варик:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\IgnoreClientDesktopScaleFactor
DWORD32
Value: 1

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

Отключить телеметрию языка Go

Оказывается, Го (а именно gopls aka местный language server) собирает телеметрию, поганец. Сбор типа ононимных данных о том, как мы прогаем. Чтобы отключить:

  1. C:\Users\<user>\AppData\Roaming\go\telemetry
  2. создаем там файл mode (без расширения!)
  3. внутри файла пишем одно слово: off

Такие вот шторки на вебку. Хотя в плане телеметрии винды я давно забил болт — надоело её вычищать. Но если есть какая-то телерастия, которую просто отключить раз и навсегда — надо это делать. Ну чисто чтобы комп поменьше тормозил.

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

Архитектура в программировании

По следам прошлого видео: «Архитектура в программировании: грабли и шишки«.

В программировании, как и в строительстве (ну и везде — от стрижки овец до забивания гвоздей для фрау Дуб), основа всего — это архитектура. Она определяет устойчивость и функциональность конечного продукта. Рассмотрим этот процесс через аналогию с постройкой дома, отражая разные уровни опыта разработчиков: от шалаша до каменного дома. Читать далее

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

[Windows] Убрать разные «типы» папок в проводнике

Худшее, что есть в Винде — отображение деталей медиа файлов в Проводнике (file explorer). Проводник Билли любит навязывать юзерам якобы нужный тип папки (музыка, фото и т.д.). Изменения в настройках типа папки слетают. Скотство, одним словом. Чтобы убрать эту ересь раз и навсегда, вбиваем:

REG ADD "HKCU\SOFTWARE\Classes\Local Settings\Software\Microsoft\Windows\Shell\Bags\AllFolders\Shell" /V FolderType /T REG_SZ /D NotSpecified /F

Спасибо за внимание.

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

Прототип — ключ к успеху в программировании

Если вы разрабатываете сложный (соло) проект из множества компонентов, не пытайтесь сразу все эти компоненты полноценно реализовать. Делайте заглушки-прототипы. Это сохранит вашу стамину и не даст выгореть на проекте раньше времени.

Также используйте бумагу. МНОГО БУМАГИ. Делайте таблицы и схемы, рисуйте ручками и карандашами. Это поможет вам писать хороший код.

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

Превратить Windows 11 в Windows 10 (UI)

Оказывается я забыл зашарить такую штуку, которую давно использую..

ExplorerPatcher — позволяет откатить некоторые элементы ужасного интерфейса Винды 11 до нормального классического периода десятки или даже семёрки: вернуть классический «Пуск»; настроить таскбар, трей, эксплорер; убрать всякие идиотские функции и добавить обратно полезные 🙂

Ссылка выше идет на гитхаб, качаем из релизов, ставим. Потом чтобы запустить ПКМ на таскбар -> «Properties»:

Я долгое время юзаю версию 22621.608.51.1; полёт нормальный. При апдейтах винды ничего не слетает. Нынче обновил сам ExplorerPatcher (ни разу этого не делал); всё ок 🙂

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

Язык Go. Про руны (тип данных), PostgreSQL и JS

Если вы делаете на Go сетевое приложение, которое работает с базами данных и/или javascript — нужно быть аккуратным при использовании типа данных rune.

К примеру, в PostgreSQL нет типа данных, который соответствует rune; там такие варианты хранение rune:

  1. хранить в CHAR(1) — тогда нужно будет каждый раз конвертировать при выгрузке из БД вот так: []rune(symbolStr)[0]
  2. хранить в BYTEA; выгружать через ж…. make([]byte, 4)
  3. или же несколько менее очевидный вариант — хранить в БД в виде INT; что наиболее релевантно.

Плюс… Javascript тоже не умеет работать с рунами. Приходится приводить вывод вот так: String.fromCharCode(.Icon);

Кстати… Забавно, что далеко не все emoji (unicode символы вроде 🐻) можно хранить в rune. Потому что некоторые из них превышают размер rune, т.к. используют дополнительный (т.н. вариативный) селектор Unicode:

  • «🏘️» дома (U+1F3D8 U+FE0F)
  • «⛰️» гора (U+26F0 U+FE0F)
  • «🏔️» гора со снегом (U+1F3D4 U+FE0F)

И это не только emoji, но и просто некоторые базовые символы Unicode.

Так что с rune надо быть аккуратным..

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

VS Code — кастомные горячие клавиши для терминала

Увлекся я тут VS Code. Полюбил эту скотину мелкософтовскую. Удобно для Go, что поделать. Ну и для этого самого Go нужно постоянно терзать консоль, чтобы запускать проект через go run . Делать это каждый раз руками — это, конечно, некошерно. Посему делаем вот что, Михалыч:

  • Ctrl+Shift+p
  • Preferences: Open keyboard shortcuts
  • справа сверху тычем на иконку Open keyboards shortcuts (JSON)
  • присовываем туда что-то вроде

Читать далее

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

Git Extensions — поиск по коммитам

Вопрошал я тут бояр — кто каким Git GUI пользуется для поиска по заголовкам коммитов?.. Тишина в ответ 🙂 Проблема в том, что на гитхабе поиск по коммитам в форке не работает, если у форка меньше звезд, чем у основы. А часто приходится искать именно по актуальному форку. Ну и вообще была идея переползти с нубского Github Desktop на что-то более интересное ибо приходится искать через git grep из консоли, что, конечно, неудобно. В итоге перепробовал добрую половину списка https://git-scm.com/downloads/guis и первое что нашел с поиском — GitFork. Клиент достойный, всё хорошо, но платный. В итоге…

Тада! Нашел! Git Extensions — лучший бесплатный open-source клиент. Есть поиск по коммитам и еще 100500 всяких полезнейших фич. Пользуйтесь на здоровье!

Рубрика: Git | 9 комментариев

Отзыв на CS50 курс по программированию

Изучение программирования с нуля может быть сложным, но полезным опытом, и прохождение курса CS50 — отличный способ начать. CS50 — это популярный вводный курс по компьютерным наукам, предлагаемый Гарвардским университетом, который охватывает широкий спектр концепций и инструментов программирования. Делюсь своим опытом изучения программирования практически с нуля на курсе CS50.
 

Читать далее

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

Postgresql — грабли новичка

1) Все время требует пароль при запуске pgAdmin 4 (что неактуально для локалхоста)

Решение:
идем в C:\Program Files\PostgreSQL\15\pgAdmin 4\web\
делаем копию файла config.py
называем эту копию config_local.py
меняем там параметр MASTER_PASSWORD_REQUIRED на False

2) Забиндив папку bin в PATH, можно вызывать из терминала
psql
выдает ошибку: psql: error: connection to server at «localhost» (::1), port 5432 failed: FATAL: password authentication failed for user «vasya»

Решение:
запускать от юзера psql -U postgres

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

Язык Go. Сумма последовательных чисел

Задача состоит в том, чтобы найти в массиве целых чисел последовательность последовательных чисел, сумма которых равна n.

Наша программа будет считывать список целых чисел (например, 5 2 3 4 6 1 4 10 1), за которым следует одно целое число n (например, 7). Пример вывода:

5 2 3 4 6 1 4 10 1
7
5 + 2 = 7
3 + 4 = 7
6 + 1 = 7

Читать далее

Рубрика: Go | 8 комментариев

Язык Go. Упражнение на карты

На основе списка походов в данж найти топ игрока в гильдии 🙂

Пример ввода: Читать далее

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

Язык Go. Упражнения на срезы

Разберем несколько примеров программ на Го по срезам (slice).

Начнем.. Пользователь вводит два ряда чисел. Наша задача собрать их в одном срезе, удалив дубликаты. В качестве упражнения, будем использовать не карты, а обычные срезы.

Код:

Читать далее

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

Язык Go. Сортировка выбором

Сортировка выбором (Selection sort) — простой алгоритм сортировки, который многократно выбирает минимальный элемент из неотсортированной части списка и меняет его местами с первым неотсортированным элементом.

Пример кода на Го:

Читать далее

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

Язык Go. Сортировка пузырьком

О… как много в этом «чпоке»!.. Сортировать «пузырьком» нас учили еще в школе. Почему бы не замутить код этой сортировки на Го? 😀 И пусть она редко оказывается полезной — это весьма годное упражнение для начинающих.

Наша программа будет принимать на ввод строку целых чисел, разделенных пробелами, преобразует их в срез (slice) целых чисел и  отсортирует этот срез по возрастанию.. Код:

Читать далее

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