За життя

Тут можна переглянути відео, а ось інструкції з відео:

  • /plugin install skill-creator@claude-plugins-official
  • /plugin install superpowers@claude-plugins-official
  • npx get-shit-done-cc --claude --global
  • /review
  • /plugin marketplace add mksglu@context-mode  +   /plugin install context-mode@context-mode
  • /plugin marketplace add thedotmack/claude-mem
When we first shipped Tlumach 1.0 last November, the goal was simple: give .NET developers a clean, type-safe way to handle translations without the boilerplate that usually comes with localization. Six months later, we're releasing version 1.6 — and the project has grown into something much larger than a library.

Tlumach is now an ecosystem. Starting with version 1.5, we introduced the Tlumach.Writers package — a full set of writer classes mirroring every parser we support. JSON, ARB, INI, TOML, CSV, TSV, ResX, XLIFF, and now Apple String Catalog can all be read and written by Tlumach. This opens the door to conversion tools, export/import pipelines, and the foundation for Tlumach Tools — a dedicated toolset aimed at translators and localization managers, not just developers.

Version 1.5 also brought a number of quality-of-life improvements to TranslationManager: a static list of all active manager instances, new overloads for loading translations by culture, and a dedicated LoadDefaultTranslation method tailored for file conversion scenarios. These additions make it much easier to build tooling on top of Tlumach — exactly what we needed as we expanded beyond the core library.

The headline feature of version 1.6, however, is the arrival of IDE extensions for Visual Studio and VS Code. These extensions let you trigger the Tlumach Generator directly from your IDE — without needing to build your project first. This is a significant productivity win: you can regenerate your strongly-typed translation classes the moment you update a translation file, with no extra build step. The extensions are designed for developers who live in their IDE and want Tlumach to stay out of the way.


Even more powerful is the Go To Definition integration in the Visual Studio extension. When you're working with generated translation keys in your C# code, you can press F12 (or Ctrl+Click) on a key and jump directly to the original translation entry in your default translation file. If you've ever had to hunt through a JSON or RESX file to find where a particular string lives, you'll appreciate how much time this saves. This brings Tlumach's developer experience closer to what you'd expect from first-class language tooling.


Also in 1.6: the Roslyn Generator now writes the source text value into XML documentation comments on each generated constant. Hover over a translation key in your IDE and you'll see the actual translation text in the tooltip — no more switching to the translation file just to check what a key says. For teams with long or non-obvious key names, this alone is worth the upgrade.


Rounding out 1.6 is support for the Apple String Catalog format (.xcstrings), making Tlumach a viable choice for cross-platform projects that target Apple platforms alongside .NET. Combined with the existing XLIFF support added in 1.5, Tlumach can now speak the file formats used by virtually every major platform's localization pipeline.


Looking back at the last six months, the shape of Tlumach has clarified considerably. The core library handles runtime translation management and type-safe code generation. The Writers package enables tooling and conversion. The IDE extensions bring the workflow into the editor. And new file formats keep expanding the range of projects Tlumach can serve. This is what a maturing localization library looks like — not just more features, but a coherent set of layers that work together.


Version 1.6 is available now on NuGet as AlliedBits.Tlumach. The Visual Studio and VS Code extensions are available in their respective marketplaces and can be installed from the corresponding IDE or via the above links. As always, the changelog has the full details, and we welcome feedback and contributions on GitHub.
Оскільки microsoft оголосив відмову від flat fee в планах CoPilot, вангую, що Claude скоро зробить те саме (а ChatGPT теж має проблеми з фінансами, тому й вони прикручуватимуть гайки). І все більше людей переходитимуть на локальні рішення. Отже, із залізом будуть проблеми.

Вирішив бути першим та, поки що для експериментів, замовив собі потужнішу відеокарту. Але не RTX 5090, а Radeon Turbo AI Pro R9700 (останній більш заточений на AI, тоді як перший - це ігрова відеокарта). Щось мені підказує, що їхня ціна піде значно вгору, тоді як загальноігрові RTX 5090 коштують вже в 2.5 рази дорожче (і за межами здорового глузду). Зауважу також, що нові поробки ябла працюють на рівні моєї робочої станції 4-річної давнини, тому сенсу платити за щось яблу немає геть.

Водночас, до відеокарти потрібен UPS, щоб та відеокарта не згоріла. І тут сюрприз. ChatGPT мені розповів, що не кожен UPS годиться. В мене був 900-ватний, але не такий як треба, і той склеїв ласти та був сьогодні відправлений в ремонт. Якщо не полагодять, то потрібен новий. Почав розбиратися щодо нових. Мені було сказано, що потрібен line-interactive (це коли струм йде з мережі, а не в батарею і назад з батареї) із Pure sine wave (а не simulated sine wave). А от із цим проблеми - таких моделей не дуже багато. І оскільки мені потрібен ще й потужний (900-1000 ватт мінімум), то єдина пристойна модель за адеватні гроші, це CyberPower CP1600EPFCLCD . І от їх немає в Словаччині взагалі. Закінчилися. Підозрюю, що як я кинувся купувати відеокарту, люди вже раніше розмели ці UPS'и. Є CyberPower CP1350EPFCLCD, але він слабший (850 Вт проти 1000 Вт), і мені не вистачить.  

Тому якщо ви плануєте апгрейд заліза, а зокрема відеокарти, орієнтуйтеся на ці вимоги та моделі.
Розрізнені нотатки для того, щоб ними ділитися.

Отже, ми почали активно використовувати Claude і зокрема Claude Code. Claude Code має доступ до файлової системи, а сам Claude - ні. Але Claude Code - поганий чатбот (він для іншого зроблений). І от мені знадобилося натравити Claude Chat на локальний проєкт. Причому не на один файл, а на каталог з підкаталогами.

В Claude Desktop є плагін filesystem, але в мене він відмовився працювати - запускається і вилітає. Я спитав в самого claude'а причину, надавши логи, але той нічого корисного не повідомив (те, що він запропонував, не допомогло). Тоді я спитав те саме в ChatGPT. І воно мені дало підказку - завести зовнішній плагін для доступу.

0) встановити node.js

1) встановити плагін:

npm install -g @modelcontextprotocol/server-filesystem

2) знайти файл %APPDATA%\Claude\claude_desktop_config.json та додати в нього (в кореневий об'єкт) таке:

  "mcpServers": {
    "my-files": {
      "command": "C:\\Program Files\\nodejs\\node.exe",
      "args": [
        "%USERPROFILE%\\AppData\\Roaming\\npm\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js",
        "%USERPROFILE%\\Documents",
        "C:\\Projects"
      ]
    }
  }


command - це шлях до локального nodejs. В мене він чомусь в Program Files (x86) опинився.
 "%USERPROFILE%\\Documents",
        "C:\\Projects"

це шляхи, до яких цьому серверу надається доступ. Це в мене мої шляхи, їх слід поміняти на ваші. Не забудьте при заміні, що backslash подвоюється (escaped encoding).

Після цього слід перезапустити claude, щоб він перечитав налаштування.
І далі цей my-files з'явиться серед конекторів.  
Я трохи описував епопею з MS Store тут , і вона ще не завершилася. Але ABCalc Plus вони вже опублікували, і його можна придбати на сторінці ABCalc Plus в Microsoft Store.
Моїм другим pet project-ом (першим є nstamp) є калькулятор. Це є відтворення сучасними технологіями продукту EldoS AnyCalc, який ми продавали 25 років тому, поки його автор не прогуляв вихідний код. Прошу відвідати сторінку: ABCalc.  

Вигода калькулятора в тому, що він не просто калькулятор, а калькулятор складних виразів аж до міні-програм з можливістю створення власної бібліотеки функцій. Підтримуються умови, цикли, змінні, та функції.

Але цей допис не про вигоди, а про перешкоди. 25 років тому все було просто - створив додаток, поклав на веб-сторінку, розкидав по сторонніх сайтах, і маєш копійку. Зараз же можливість з нуля зайти в цей бізнес практично відсутня.

Створити додаток для Linux не є проблемою. А от з Windows та macOS проблеми великі. Насамперед Apple та Microsoft викручують руки розробникам, щоб ті публікували додатки через їхні Store'и. Як - наприклад тим, що додаток не зі Store'у складно завантажити і ще складніше встановити. Браузер видає купу попереджень та приховує шляхи для встановлення так, що пересічний користувач просто не знайде наявні в UI механізми для встановлення додатку. Також, при встановленні, якщо додаток не підписано, користувач отримує чергове попередження. Все для блага користувача, безумовно, але є нюанс (с) - сертифікат для підписування ще 10 років тому коштував біля $100, і придбати його можна було при вказанні базових даних що відповідали дійсності (наприклад, ім'я компанії, домен, та електронна пошта збігаються - все ок, отримуй). Зараз сертифікат коштує більше ніж $500 на рік, CA компаній лишилося три штуки (олігополія), а перевірки клієнтів в них виконують недоумки з недорозвинутих країн на аутсорсі, які не розуміють взагалі як працює бізнес в розвинутих країнах.

Але це ще початок :). Наступний крок в нас Microsoft Store. Додатки туди приймаються в певних запакованих форматах, і розібратися з процедурою досить складно. Зокрема, рекомендується протестувати додаток за допомогою Cert Kit, який є частиною Windows SDK. І все би ок, але він просто не працює навіть коли Windows SDK встановлюється з нуля. Довелося видалити якусь там DLL за порадою ChatGPT щоб запрацювало.

Далі гірше. Щоб засабмітити додаток в Microsoft Store, слід використовувати individual account (Work account AKA Entra ID tenant *не пускають*). Але якщо використати individual account, Partner Center не працює як слід і не дає власникові account-а всіх прав, вимагаючи Entra ID tenant. Якого немає, тому що Microsoft явним чином не дозволила його використати. Підтримка на питання "мені не дають всіх прав" відповідає "ми перевірили і дійсно, ви не можете мати всі права без tenant'а". Підтримка з тієї ж недорозвинутої країни, якщо що.

В Apple я восени місяць вирішував (схожим чином) схожу ж проблему, коли я не міг активувати обліковий запис не підписавши певний agreement, а посилання на agreement в мене на веб-сторінці не з'являлося. Після 4-го сапортера з тієї ж країни (ну ви зрозуміли ...) прийшов якийсь співробітник з європейським іменем і цю проблему вирішив на боці ябла.

Далі в мене ще пакування та сабміт в Apple Store та незрозуміло що з Microsoft Store. Спостерігаємо ...  
Я працюю у віртуальних машинах, тримаючи фізичні майже пустими з т.з. файлів та програм. Це дозволяє переносити роботу (віртуальні машини) між комп'ютерами - наприклад, брати ноутбук в дорогу, працюючи вдома на десктопній робочій станції. Також, зручно робити резервні копії віртуальних машин, які мене вже разів зо п'ять рятували.

Головна проблема з бекапами була в тому, що копіювання віртуальної машини розміром 400GB забирало кілька годин. А таких машин декілька (загалом чотири, але решта меншого розміру).

Коли я випадково побачив в магазині нові зовнішні SSD, я подумав, що мені все одно потрібен новий, бо на старі диски віртуальні машини не влазять у двох копіях. І я собі купив новий на 2 TB. Взяв якомога швидший, оскільки розміри віртуальних машин ростуть, а копіювати бекапи всю ніч не завжди зручно. Взяв Transcend ESD410C, але там ще були якісь Samsung'и з аналогічними параметрами.

І виявилося, що сучасні зовнішні диски аби не швидші за вбудовані! 450 GB віртуальна машина копіюється на такий диск лише за 15 хвилин - десь в 15 разів швидше, ніж на старий або через мережу на ноутбук (ну тут зрозуміло - мережа, навіть гігабітна, дає значно меншу швидкість, ніж нові SSD із USB 3.2).  

Тому всім раджу не лінуватися, а для бекапів брати нові свіжі SSD.  
Відкрив для себе PlantUML. Дозволяє будувати різні діаграми з текстового опису, схожого на програму чи набір декларацій. Є ще mermaid.js такий же, але plantuml безплатний і встановлюється в купу редакторів плагіном (зокрема й VS Code має потужний плагін).

Які вигоди такого підходу?
1) Якщо піксельна точність в діаграмі не потрібна, а потрібно пояснити людям щось графічно або просто проілюструвати що відбувається, то написати текст, маючи мінімальну практику, буде швидше.
2) Набагато простіше редагувати текст.
3) В опис можна вставляти коментарі, які не буде видно на діаграмі, але які допомагають орієнтуватися у вихідному коді діаграми.
4) Copy-paste рулить. Досить легко переносити блоки, міняючи їхній порядок (на діаграмі це вимагатиме більшої кількості рухів) або копіювати ці блоки.
5) деякі речі, такі як цикли чи умови у flow diagrams, не так просто намалювати графічно, а коли вони описуються в тексті, то PlantUML сам дає їм ради.

Звичайно, якщо потрібна одна проста діаграма на три елементи але красиво, намалювати буде простіше. Але в випадку складних діаграм простіше зробити їх через PlantUML, а якщо так потрібна краса, то вже остаточний варіант можна перемалювати в графічному редакторі діаграм так, як потрібно.
Ще з моменту виходу першої Microsoft'івської ергономічної клавіатури (рік 1999-ий чи десь там) я користувався саме ними. Аж поки MS не зняла їх з виробництва близько 2020-21 років. Миші пішли значно раніше (пристойні ергономічні миші від MS закінчилися близько 2012-2014 років). З мишами я пробував різні (і вертикальні теж) і зупинився на Logitech MX Master 2S (3S вони примудрилися зробити менш зручною, то ганяю поки стару 2S). З клавіатурою ж довелося переходити на щось інше. І в 21-му році вибору сильно не було, то довелося брати Logitech K860. Це така з пласкими кнопками а-ля ябло і геть незручним розташуванням клавіш - слеш лівіше від Z і вертикальний Enter. Прожила вона в мене чотири роки, і в ній почала глючити кнопка A причому більше з правим shift'ом, ніж сама по собі. Я подумав, що там просто бруд забився і вирішив її почистити.

Клавіатури від MS я завжди розбирав і чистив. Це було складно і нудно (там біля 20 гвинтиків), самі кнопки слід було знімати "згори", але працювало. А Logitech нерозбірний. Попри 15 гвинтиків, частина з яких заклеєна, всередині немає що чистити - саму сенсорну частину спаяно намертво. Ок, зайдемо з іншого боку - зняти кнопку зверху. Я не знаю, як їх кріплять на заводі, але зняти кнопку можна, але як з грибами, лише один раз - там такі замочки і гачочки, які при зніманні ламаються, і назад кнопка вже не стає як слід. Але навіть знімання не допомогло - кнопка (там всередині силіконом прикритий контакт є) все так же глючила. Можливо, це проблема електрична більш ніж механічна.

Довелося купити нову клавіатуру. Я взяв щось відносно дешеве, дуже схоже на стару MS'івську, і одразу ж наступний Logitech (чому так - в іншій квартирі такий же logitech, то щоб були однакові). На жаль, дешевша клавіатура, попри правильну розкладку, виявилася вже незручною - хід кнопок великий, і я чіпляю сусідні кнопки при набиранні. Оскільки я набираю багато, пальці втомлюються і помилки постійні. То довелося ставити другий Logitech.

А заодно я дізнався, що навіть пласкі клавіатури забиваються сміттям, аж гай гуде. І враховуючи їхню нерозбираність, доводиться лише міняти. А вони дорогі ...  
Для внутрішніх потреб компанії встановив on-premises рішення для зберігання паролів. Архітектура та інтерфейс десь в районі середини 90-их (ймовірно, і сам продукт розвивається з тих часів), хоча рішення дуже потужне. Купа інструкцій з налаштування, зав'язка на Active Directory та MS SQL. Рішенню явно потрібно, щоб в компанії був окремий password administrator.
Придбав клавіатуру Logitech K860. Коли вибирав, розглядав розкладку. Все було гаразд - адекватна клавіатура. Привезли - а там кнопки під apple (|\ переїхала між лівим shift-ом і Z і Enter іншої форми). Що робити, невідомо - повернути не можна (це не дефект), користуватися неможливо - пальці за 30 років звикли до іншого. Хіба що дітям віддати, але де знайти нормальну таку - в усьому іншому клавіатура дуже гарна.
Почав працювати над продовженням IT-енциклопедії, котре початково хотів включити прямо в енциклопедію, але з певних міркувань не зробив.

Робоча назва - "Основи програмування для дітей". Принципово не буде фокусу на якійсь конкретній мові програмування. Натомість будемо обговорювати основи - ту теорію, котра дозволить будь-яку мову програмування чи бібліотеку вивчати методом порівняння (з теорією).

Зміст

Вступ

Основні поняття цифрових комп’ютерів
  • Мови програмування
  • Коментарі
  • Команди та оператори
  • Цифри та числа
  • Текстові рядки
  • Збереження даних в пам’яті. Куча і стек. Статичне і динамічне виділення пам’яті
  • Змінні та вказівники
  • Типи даних
  • Використання змінних
  • Константи
  • Операції над даними
Виконання комп’ютерних програм
  • Що таке алгоритм
  • Функції (методи, процедури). Стек викликів. Рекурсія.
  • З чого складається програма. Модулі, бібліотеки, області імен.
  • Цикли
  • Умовне виконання
  • Зворотні функції (callbacks)
  • Виключні ситуації
  • Паралельне і асинхронне виконання
Складені типи даних
  • Структури
  • Масиви
  • Набори (sets)
  • Словники (dictionaries)
  • Стек (ага, знову)
  • Переліки
  • Черги
  • Об’єкти
Об’єктне та об’єктно-орієнтоване програмування
  • Складові частини (члени) об’єкту
  • Видимість членів
далі буде
"Лишитися має лише один!" - знущався Колобок над Дунканом МакЛаудом
анекдот
Встановив Hyper-V, стали підгальмовувати віртуальні машини VMWare Workstation (хоча працювати не припинили). Почитав документацію:

Many virtualization applications depend on hardware virtualization extensions that are available on most modern processors. It includes Intel VT-x and AMD-V. Only one software component can use this hardware at a time. The hardware cannot be shared between virtualization applications.

Resolution: To use other virtualization software, you must disable Hyper-V Hypervisor, Device Guard, and Credential Guard. If you're using Hyper-V to run virtual machines or containers, disable Hyper-V Hypervisor in Control Panel or by using Windows PowerShell.

Довелося видалити Hyper-V назад.
Восени зацікавився, які є джерела, що надають дітям 8-10 років структуровану, але не нудну інформацію про всі аспекти IT. Ми перевірили декілька курсів, поговорили зі знавцями викладання IT дітям, і дійшли висновку, що таких немає. Головна вимога -- систематичність інформації, а не просто вміння возити мишею по столу.

Тому я з грудня взявся писати книгу "Дитяча Енциклопедія Інформаційних технологій" (план наведений трохи нижче). На сьогодні написано вже біля 65%, причому написане цілком можна читати дітям (вже перевірялося на декількох) -- воно готове до споживання, хоча потребує якихось ілюстрацій. Якщо у вас є діти віком 8-14 років, котрим ви би хотіли дати якісні знання з IT, то пишіть мені, я відкрию доступ до файлу рукопису. Книга створюється для дітей будь-яких зацікавлень, це не є підручник з інформатики.

Окремо зауважу, що українське книговидання -- це просто пісня сумного лебедя, що виздихає. Вони видають різне шопопало з підходом "піпл схаває", але те, що реально потрібно для молоді, їх не цікавить. Згадуйте це, коли будете наступний раз шукати спеціалістів, а їх не буде. Звідки їм взятися, якщо їх не лише не вчать (якість освіти в Україні самі знаєте, яка), але навіть науково-популярну літературу не видають (мабуть тому, що немає попиту, як в радянському анекдоті про ікру).

Попередній план такий:

Читати далі...

Читаю цікаву статтю про те, як певні IT компанії мігрують з різноманітних groupware рішень корпоративного рівня на Google Apps. В одній компанії заради економії перевели всіх людей з Outlook+ Exchange на GMail. Молодці, що сказати ...

В мене в Outlook 50+ папок, куди листи розкладаються автоматично за правилами. Тобто я не докладаю жодних зусиль. І пошук мені надобиться інколи, лише тому, що в мене є папки "по продуктах", а є папки "по ролях" (і тут би краще підійшли теги, так).

Одною з головних переваг подається те, що в статті висловлено наступними словами: "relying less on folders and more on search means you can spend less time trying to organize your e-mails in folders, knowing you can always find that e-mail". Поміркуємо, наскільки це правда? На розкладання пошти я не витрачаю часу взагалі, а якщо мені потрібен пошук, то мені доведеться спочатку згадувати, за якими параметрами чи словами шукати, потім пошукати, потім відібрати потрібне ... Здається мені, що ці люди замаються самооманою, аби тільки перекласти свою роботу (CIO зазвичай) на інших (Гугль). От щоб вони ще зааутсорсили операції "поїсти" і "піти у відпустку", то було б ще краще.Цвяхи б робити з цих людей ...

Знайшов в IE8 надзвичайно потужний Інструмент Розробника (він так і називається, принаймні в українській Windows 7). Включає в себе DOM навігатор, ще щось (я не досліджував) і JavaScript відладчик. Причому, відладчик дуже ефективний (хоча й повільний). Дуже рекомендую.
Опис, що і коли буде в 3.6, 3.7 і 4.0
  • Архів

    «   Травень 2026   »
    Пн Вт Ср Чт Пт Сб Нд
            1 2 3
    4 5 6 7 8 9 10
    11 12 13 14 15 16 17
    18 19 20 21 22 23 24
    25 26 27 28 29 30 31