За життя

Для внутрішніх потреб компанії встановив on-premises рішення для зберігання паролів. Архітектура та інтерфейс десь в районі середини 90-их (ймовірно, і сам продукт розвивається з тих часів), хоча рішення дуже потужне. Купа інструкцій з налаштування, зав'язка на Active Directory та MS SQL. Рішенню явно потрібно, щоб в компанії був окремий password administrator.
Тільки нещодавно дізнався, що Windows 10 по-іншому від старіших систем використовує пам'ять. Всі ранні системи тримали вільну оперативну пам'ять, а те, що не використовується, скидали на диск. Зараз же, оскільки диски стали швидшими (здебільшого тому що SSD), Windows використовує всю оперативну пам'ять по максимуму, а потім починає скидати зайве на диск.

Коли це важливо - в мене є дві віртуальні машини, які майже весь час використовуються разом, але мають існувати окремо з різних причин. Пам'яті в них - 4GB та 8GB відповідно. На ноутбуці лише 16GB RAM (більше не влазить):). Тобто на host OS і всі її додатки лишається 4GB. Так от, в ранніх білдах Windows 10 дві машини співіснувати не могли - як тільки вся RAM захоплювалася, VMWare Workstation починала погано поводитися (гальмувати, падати). Зараз же можна запустити дві віртуальні машини, а вінда інтелігентно вивантажує непотріб з Host OS в pagefile. Підозрюю, що тут і без допомоги VMWare не обійшлося - вона стала коректніше працювати з часом. Але підсумок дуже приємний - те, що ніколи не працювало як слід, почало працювати.
Якщо у вас широкий монітор (але й не тільки), то ви, ймовірно, розкладаєте вікна по зонах. Сама Windows 10 вміє розкладати на лівий та правий боки екрана, але ця функціональність не є вельми зручною. З широкими моніторами виробники постачають свої програми для зручного розкладання вікон. Проблема з тими додатками в тому, що вони не на всі вікна діють (принаймні, додаток від Samsung не працює з деякими вікнами на базі Electron, а таких додатків зараз все більше починаючи від MS Teams).

Але ось Microsoft зробила свій додаток, і він працює з усіма вікнами. Додаток називається Fancy Zones та входить до комплекту PowerToys, який береться або на GitHub або в MS Store.
Огляд писати не буду, але утиліта вельми зручна і потужна - сторонні додатки від Dell та Samsung відпочивають.

УВАГА: щоб Fancy Zones працювали з вікнами процесів, створених As Administrator, слід сам PowerToys запускати в цьому режимі. В додатку є потрібні для цього налаштування.
Роблю бекап віртуальних машин на зовнішній SSD по USB 3.2. Помітив разючу різницю: якщо на destination диску увімкнено стандартно стиснення NTFS (тобто при записі файл, що копіюється, підлягає стисканню), то копіювання файлів розміром 100-300 Гб відбувається вшестеро (!) повільніше, ніж коли йде просто копіювання. NTFS таки дуже повільний на стиснення.

Ба більше, в NTFS'а ще й проблеми з використанням місця в цій ситуації - схоже, що він виділяє місця під повний файл, а потім додатково пише на диск стиснену версію. На малих обсягах непомітно, а на 300 Гб вилазить - якщо на диску вільно 420 Гб, то на половині копіювання 300 Гб файлу з'являється повідомлення про нестачу місця.
In my VMWare Workstation (was 15, then 15.5, now 160), I am keeping two virtual machines, both with Windows 10 Professional. The immediate problem was that one of the machines offered "View -> Fit Guest Now" option, while for another machine, this option is grayed out. This caused a significant inconvenience, as I was trying to lay both windows alongside each other on my 34" ultra-wide monitor.

I searched for information here and there, tried numerous suggestions, but all without luck. I tried to use the "Install VMWare Tools" command several times to update or reinstall VMWare Tools. This didn't help.

Recently, I have received a notification from VMWare that Tools 11.2 is out. Workstation offered me to download and update Tools. So I did. After downloading, I used the "Install VMWare Tools" menu command to update VMWare Tools. To my surprise, this didn't update Tools! I still had version 11.1.5 installed.

In addition, the machine-in-question didn't let me switch shared folders while the machine was powered on. Workstation told me that I must have Tools installed. That was confusing, but the message also signaled that the host is having problems communicating with the guest. So, I probably need to focus on fixing Tools in the guest.

The next thing I did was visit the download page for VMWare Tools and download version 11.2. There, you can download the "external" package to install from the host and the in-guest installer. I took both but used the in-guest installer.

Running the in-guest installer in the guest machine to upgrade VMWare Tools didn't work again! The files remained old. Then I uninstalled Tools 11.1.5 completely and rebooted the system. On one of the two virtual systems, the Tools' files remained on the disk. So I removed them manually. After that, I used the in-guest installer again to install the "fresh" copy of VMWare Tools 11.2. And voila! VMWare Tools was installed.

As the fresh version of Tools was installed, the Fit Guest Now was re-enabled and appeared to work. The happy end is here (for the time being). I still don't know why Tools got broken - was it some Windows update that damaged them, or the Tools I had were too old for Windows 10 build 2004. Let's see how it goes with the next Windows 10 updates.
Одним з наслідків розвороту Microsoft передом до open-source'а стало ставання задом до всіх інших. В розробники понабирали вихідців з опен-сорса, котрі вважають, що в проекті можна вільно косячити, випускати щопопало, а потім його патчити. Таким чином, якість, раніше притаманну Microsoft'у, було спущено дуже швидко (як і багато інших речей в США останнім часом).
Some Windows 10 updates make Shared Folders feature of VMWare Workstation to stop working. The disks mapped from that folders become inaccessible without a reason.

The reason is actually that the updates break the registry entries.

To fix them you need to run regedit.exe and navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NetworkProvider\Order key. There you will see "ProviderOrder" value. The contents of this value looks similar to "LanmanWorkstation,RDPNP,webclient". This list is missing one important value, "vmhgfs". The correct value should be "LanmanWorkstation,vmhgfs,RDPNP,webclient".

It is possible, that the value will be different in your case, and the point is to add "vmhgfs" close to the beginning of the list. Probably, right after LanmanWorkstation is the correct order.
Встановив CentOS 7 (по роботі треба). В налаштуваннях локаль - American English, в мовах - вона ж. Запускаю браузер (Konqueror), заходжу в пошук - відповідає google.ae із усім арабською мовою. Це вони american english скоротили до ae? Чи вирішили на останок до інавгурації Трампа відірватися, поки всіх муслімів з USA не виперли?
Компанія Microsoft в своєму потягу до прекрасного йде слідами ябла. Ті теж ненавидять розробників і роблять все, щоб останні, сцуки, не наживалися занадто на геніальному яблі.

В 64-бітних версіях Windows починаючи від Vista драйвери потрібно не просто підписувати, а підписувати хитрими сертифікатами, котрі колись можна було придбати лише в двох компаніях (пізніше перелік розширився до притомного). Але це була автоматизована процедура.

В Windows 10 під соусом піклування про користувачів введено процедуру підписування через сайт Microsoft. Це вимагає (А) EV сертифікату, отримати який складніше за звичайний, і, що важливіше, (Б) двокрокової процедури підписання, де спершу потрібно засабмітити пакет, а потім через невідомий інтервал від 10 хвилин до 24 годин (!!) забрати результат. Таким чином, підготовка білду перетворюється на процес із непередбачуваною довжиною і затягнутою процедурою, що вимагає втручання оператора.

Час закруглятися і йти на пенсію, мабуть.
У нас в компанії ябло не люблять ні в якій формі, крім як в смітнику, але на жаль, доводиться мати із ним справу.

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

Тим часом я вирішив перенести наші процеси збирання білдів в інтернет - це має бути і швидше і практичніше. Беремо залізний сервер на 32-64 Гб пам'яті і накидуємо туди потрібних віртуалок. Їх можна навіть не тримати запущеними, а запускати лише за потреби.

На звичайний x86 сервер, що їх масово і дешево пропонують, MacOS X не поставиш. Але можна взяти віртуальну машину з маком за дуже невеликі гроші. Так, за смішні $30/міс дають машину з 2Гб пам'яті, 40 Гб диску і доступом по VNC. Для збирання білдів цього достатньо. Якщо хочеться віддалено програмувати, доведеться взяти машину подорожче (але там ціни невисокі, десь може до $80/міс). Отже виходить, що взяти таку машину вигідніше ніж купувати будь-який мак (і навіть б/у)! Звісно, понтів не буде, але понти від ябла - то все одно для школоти, навіть в коледжах молодь вже починає здогадуватися.
Проблема сучасних смартфонів в тому, що в кишені їх не чутно, та й діставати з кишені незручно, особливо, якщо сидиш або їдеш в переповненому транспорті. Тому я вирішив придбати собі браслет-гарнітуру.

Спочатку я чекав на Huawei Talkband, але він все не їхав і не їхав в Україну, а потім Sony анонсувала свій Smartband Talk, котрий я вирішив придбати. До купи вирішив потестувати ще й Sony Smartwatch 3, котрому в подальшому буде використання по роботі.

В Україні цих пристроїв досі немає (а стосовно Smartwatch 3 мені відповіли на Facebook сторінці Sony Mobile UA, що і не буде), тому мені обидва пристрої придбали у Великій Британії і відправили в Україну EMS'ом (експрес-сервіс поштової служби).

Оскільки вартість відправлення складала 325 фунтів, що перевищує межу безмитного ввезення, хвалена українська митниця промурижила відправлення в себе протягом 10 днів — спершу вони чекали невідомо на що, потім (через 5 днів після надходження до себе) зателефонували із самого EMS і сказали, що необхідно надати митниці документи на підтвердження вартості.

Так чи інакше, сплативши вчора мито, я пристрої забрав.

Упаковані вони обидва добре, красиво і компактно. Комплект поставки мінімалістично необхідний — коротесенькі (і це добре) шнури USB-microUSB і в Smartband Talk'а замінний пасок на руку (меншого розміру).

53c5fdbd917b5fefd0aba773c5d2629d.png

Візуально і тактильно помітно, що проектувалися прилади різними групами розробників — різний матеріал пасків, різні кріплення (годинник з паску виймається, а в Smartband Talk пасок відстібається від головного модуля), різна застібка. На самих пристроях навіть кнопки різні за оформленням — мабуть, на різних заводах роблять і збирають. Браслет має адекватні габарити (хоча трохи-трохи задовгий як для моєї тонкої руки), а годинник товстий і, можна навіть сказати, кремезний. Але найдивніше, як виявилося, те, що насправді годинник має таку ж товщину і ширину, як і мій Casio Oceanus S2400, котрий я ношу щодня і вважаю неймовірно зручним. Різниця в загальних формах.

e21f1a42d0c4d3e701de62bc1f67a289.png06cbed9716a7fc9baf7575941988455b.png6856156b488a1db2d5bed61c9e235772.png9f8c48501ca21bd7c5ae4c1d1ffffcbe.png

Технічно це теж дуже різні пристрої — годинник є типовим представником Android Wear, в той час як Smartband Talk – кастомна розробка Sony (але дуже гарна).

Функціонально ці два пристрої сильно відрізняються і майже доповнюють один одного.

Браслет дозволяє відслідковувати кроки і активність, має вбудований “адаптивний” будильник (той, котрий відслідковує фази сну) і гарнітуру для приймання дзвінків (так, працює, дуже-дуже зручно). Також показує нотифікації з телефону (можна налаштовувати, які саме показуватимуться, а які ні). Пульсометру і інших geeky датчиків для спорту в браслеті немає.

На браслет можна поставити декілька додаткових міні-програм, як то:
- світовий час (бреше, сподіваюся, що виправлять в наступних апдейтах),
- вихідний дзвінок на улюблений номер (можна задавати декілька),
- “SmartBadge” (інформація про власника браслету),
- створення голосового запису в LifeLog (прикольна програма, котра слідкує за вашою денною активністю і веде журнал),
- “Find my phone” для тих, хто в трьох соснах губиться,
- погода,
- керування плеєром на телефоні (зручно щоб не діставати телефон з кишені).

Очікується, що з'явиться SDK і можна буде створювати додаткові програми для браслету. З помічених недоліків — брехливий world time і відсутність вібрації при втраті зв'язку із телефоном. В принципі, це все лікується програмними оновленнями.

Годинник є додатком до телефону навіть більше, ніж браслет — першою функцію, котра показується в меню при торканні скла є Speak now для голосового керування. Спортивних датчиків в телефоні немає, гарнітури немає, камери немає. Є GPS, але невідомо, навіщо він там. Клавіатури немає і, наприклад, OneNote, пропонуючи модуль для Wear, дозволяє створити нотатку шляхом надиктовування.

Оскільки керування і введення інформації в телефоні голосові, то слід зупинитися на цій функції окремо. В телефоні в мене українська локалізація, відповідно годинник англо-український, тобто меню англійською, а от розпізнавання голосу українське. Це призводить до того, що голосове керування де працює, а де не працює, OneNote намагається розпізнати якусь кириличну мову, але чи українську чи яку, я не зрозумів. В підсумку — все це нікуди не годиться.

Для Wear'а є певна кількість зовнішніх програм, але оскільки в Google'і забагато індусів, в котрих все завжди співає і танцює, то магазин для Wear'а неадекватний трохи більше , ніж повністю. Там взагалі немає категорій, він забитий кастомними (і вельми паскудними) watchfaces вперемішку із програмами, і схоже, що там показується не все, що реально є в магазині. Наприклад, будильник, котрий відслідковує фази сну, я знайшов в магазині випадково через посилання “користувачі також ставили це” в описі іншого будильника, а в переліку програм того потрібного мені будильника не було (я кілька разів перевірив).

Програм поки що недостатньо, хоча багато лідерів, таких як Instagram і Foursquare, вже пропонують якісь модулі для своїх сервісів. Є з десяток ігор, якісь утиліти, пара launcher'ів, півтора десятки програм Find My Phone і ще якісь дрібниці.

Керування встановленими програмами відсутнє як клас - програма, що підтримує Wear, ставиться на телефон і вона ж ставить модуль на пристрій Wear. Для видалення програми з годинника необхідно прибрати програму з телефона. Дуже незручно і рятує лише те, що пам'яті в годиннику чимало, а правильний launcher дозволяє вибирати, які програми показувати в переліку на запуск.

Я собі поставив 6-7 зовнішніх програм на годинник, котрими можна користуватися. Це TabataWear (tabata – це ефективна система інтервальних тренувань для схуднення), потужний калькулятор, пара будильників (чисто на погратися), launcher (бо системний launcher реалізовано через весь стравохід), гру Reversi (непогано грає, маю зізнатися, особливо годиться для сидіння в туалеті, хто любить) і програму, котра має попереджати про акумулятор, що сідає (хоча в мене на watchface'і є індикатор). А, і ще програму, котра повідомляє про втрату або відновлення зв'язку із телефоном, але оскільки дистанція bluetooth'а — до 10 м, то реально програма годиться лише для того щоб не забути телефон вдома, а крадіжкам вона не запобігає.

Підсумуємо.

Браслет — штука гідна, особливо, якщо виправлять баги.

Годинник — незалежні програми можуть бути корисними, особливо в моменти, коли телефону немає поруч чи його важко діставати (в рюкзаку, в кишені тощо). Те, що зробив сам Google з голосовим керуванням — фтопку. Загалом ці годинники сирі концептуально, але на нас очікує апгрейд до Lolipop'а (Android 5.0) і, можливо, там вони переусвідомлять підходи і сценарії використання. Загалом Android, як і витвори Microsoft'а до цього, став usable лише в 3-ій версії (Android 4 був третьою версією, оскільки Android 3.x – то була окрема гілка виключно для планшетів). Тому можна сподіватися, що Android Wear 6 буде вже mature платформою.
Замислився над фактом, що саме розробка компонентів для ПЗ і імплементація алгоритмів привчила мене до якісної оцінки можливих наслідків, ситуацій і альтернатив для кожної дії чи події. Може й не так, як шахистів, але все одно.

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

В компонентах же і в реалізаціях алгоритмів є величезна кількість можливих входів (запитів користувача компонента чи реалізації протоколу) і величезна ж кількість виходів (очікуваних поведінок компонента). І в чорному ящику (тобто нашій реалізації) необхідно не тільки пов'язати всі входи з відповідними виходами, але зробити це так, щоб не поламалися інші зв'язки. Іноді це вдається, а іноді, в складних випадках (наприклад, правильний MIME/SMIME парсер), битися доводиться роками.
  • Архів

    «   Квітень 2024   »
    Пн Вт Ср Чт Пт Сб Нд
    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