ratatype додав українську мову

непоганий онлайновий тренажер швидкодруку ratatype став ще кращий, бо додав українську мову. вйо до навчання:

ratatype.com

розібрав, зібрав, працює!

на попередні вихідні не вийшло приділити час моїй красуні… але цього разу ми таки познайомилися значно ближче.

поки що з мене такий собі майстер, але я примудрився повністю зняти всі елементи корпусу і почистити все, до чого дотягся — зокрема «ківш» та клавіші, як планував, але також мехіназми, до яких дістав зубною щіткою. підкручування однієї розбовтаної гаєчки миттєво «полікувало» неробочу клавішу вертання!

на жаль, не зміг зняти блок із запацьканим пластиковим притискачем паперу — гвинти з тонесеньким шліцем надто прикипіли, годі підібрати викрутку, якою можна добре натиснути… залишив на інший раз.

на світлині задньої частини (під катом) видно конструкцію механічної табуляції (багато-багато маленьких металевих стовпчиків уздовж циліндра) та обмежувачів сторінки (два затискачі, що їздять по «зубатій» планочці. дуже цікаво працює!

payroll

мало не забув занотувати собі на згадку: сьогодні прийшли гроші за два перших трижні стажування, 1'050 канадських долари ($19 за годину мінус податки). можна вважати, що це моя перша зарплата в канаді.

щоправда, до цього я вже заробив кількадесят доларів офіційно за тюторинг з математики та python в коледжі, і десь півтори сотні готівкою за невеликі підсобні роботи для одного дідка… але я то не рахую.
ще трохи про створення віртуальних машин за допомогою vagrant. перейдімо до автоматизованої конфігурації (provisioning)… як?

іх єсть у мєня. себто, вичитав і пробую:

config.vm.define "ansible" do |ansible|
 ansible.vm.box = BOX_BASE
 ansible.vm.hostname = "ansible"
 ansible.vm.network "private_network", ip: "192.168.8.10"
 ansible.vm.network :forwarded_port, guest: 22, host: 8022
 
 # Provisioning: 
 # ...install ansible
 ansible.vm.provision "ansible", type: "shell", path: "scripts/setup_ansible.sh"
 # ...install some useful tools: lf file manager and micro text editor
 ansible.vm.provision "tools", type: "shell", path: "scripts/setup_tools.sh"
end

два простеньких скрипти bash лежать на хості, але запускаються на віртуалці ansible одразу після старту:
  • scripts/setup_ansible.sh — зовсім примітивний, встановлює ansible із залежностями з репозиторіїв debian;
  • scripts/setup_tools.sh — не набагато складніший, затягує бінарники двох маленьких софтин, без яких незручно: lf (файловий менеджер) та micro (текстовий редактор).
навіщо два? бо тренувався запускати окремо, наприклад:

> vagrant provision ansible --provision-with tools

але навіщо все це — ти ж вивчав мережі!? тому що infrastructure as code кермує, і все рухається до цього — навіть cisco.

якщо вагрант сховав ключі…

якщо хотіти трішки спростити собі життя і змусити vagrant використовувати той самий приватний ключ для всіх «коробок» за допомогою ось цієї опції у Vagrantfile’і…

config.ssh.insert_key = false

то цей «один на всіх» ключ insecure_private_key… буде згенеровано не в теці з Vagrantfile, що було би логічно — а деінде.

де? шукаємо:

vagant ssh-config

серед іншого, тут буде шлях до приватного ключа, і на windows він матиме приблизно такий вигляд: C:\Users\<користувач>\.vagrant.d\insecure_private_key.
натрапив на таке у фейсбуці:
цитата«після навчання в українських вишах студенти знають іноземні мови гірше, ніж коли вони вступали!» (павло пастушенко, facebook)
пригадав одразу, що шість років тому я теж нарікав у щоденнику на якість вивчення іноземної мови в українській школі, та й на якість освіти загалом. в коментарях я ще стверджував таке:
цитата | «додати можу ще таке: після переїзду за кордон і занурення в мовне середовище дитина протягом року «зненацька» починає розуміти і розмовляти на рівні, достатньому для вирішення безпосередніх потреб спілкування» (щоденник)
щоправда, тоді я це казав, не маючи безпосереднього досвіду, за відгуками інших родин. сьогодні, через (майже) три роки після іміграції до канади, я його маю, і трохи розповім про своїх дітей.


ало, вагрант? це суперпуті!

щоби за-ssh-тися до «коробки» vagrant за допомогою superputty/putty/kitty, доведеться:

а) конвертувати приватний ключ ssh до формату ppk за допомогою puttygen;

б) вказати додатковий параметр для з’єднання (див. зняток екрану):

-i <шлях до файлу .ppk>

гаразд, тепер можна далі читати «ansible up and running».

продовжую вивчати vagrant методом «наукового тику» (насправді ні): запропонований в підготовчому розділі «ansible up and running» варіант запускати одну тестову машину мені не підійшов — ansible не працює на windows (це не зовсім правда, але…), тож мені потрібно дві тестових віртуалки: одна як сервер, на другій ansible. як це зробити з vagrant?

multi-machine

виявляється, все передбачено. додаємо преконфігурацію приватної мережі зі статичними адресами та переадресування портів — і маємо Vagrantfile (див. далі), який піднімає дві «коробки»:
  • server (192.168.8.1, порт 22 <- 8122 на хості)
  • ansible (192.168.8.2, порт 22 <- 8222 на хості)
до кожної можна за-ssh-тися двома способами (з теки з Vagrantfile’ом):

vagrant ssh <назва>

або

ssh vargant@127.0.0.1 -p 8x22 -i .\.vagrant\machines\<назва>\virtualbox\private_key

у мене завелися vagrant’и

нам не показували vagrant в коледжі, навіть не згадували, а даремно: виявилося, що це досить зручний спосіб автоматизації розгортання інфраструктури — зокрема, в моєму випадку, якогось тестового середовища для вивчення ansible.

простий рецепт подано в «ansible up and running», щойно випробував на windows — завелося з пів оберта, і за кілька хвилин мав тестову віртуальну машину з ubuntu, не довелося навіть завантажувать дистрибутив (точніше, vagrant робить це сам).

…і латинізація всієї україни?

міркуючи, чи можна якось задоволення від споглядання своїх друкарських машинок поєднити з «користю» (себто із задоволенням від їх використання)… пригадав про декілька проєктів української латинки.

отже, є друкарка з основною латинкою, обмеженим набором діакритики (` та ^) і двома літерами é та ç. який варіант латинки краще обрати, щоби друкувати українською?

відповідь міститься в самому питанні.

ось чому я, навіть коли трішки цікавився латинкою для української мови, завше уникав варіантів з екзотичною (польською, чеською тощо) діакритикою: вони, можливо, гарно виглядають, але недостатньо універсальні.

найближчою до того, що мені потрібно, виявилася спрощена версія «нової латинки» на основі гаєвиці, запропонована ярославом михайлишиним:
  • повністю уникає діакрітики, яку неможливо набирати базовою латинкою (на відміну від більшости инших версій української латинки, як от проєкти лозинського та їречка);
  • однозначно транслюється назад до кирилиці (на відміну від офіційної таблиці транслітерування);
  • легко читається, бо не надто відходить від звичного озвучування в инших мовах (на відміну від фарбетки, яку я просто не годен вчитати).
p.s. спокійно, не пропоную всім переходити на латинку.

плани на вихідні

знову трохи поклацав смартфоном, не втримався! на вихідні скасовую всі виїзди, пікніки, прогулянки — проведу час із цією красунею =)

візуально механізм в доброму стані: без іржі чи навіть видимих ознак надмірного вжитку, і досить чистий. декор потребує чистки — особливо «ківш» та самі клавіші.

технічна проблема, фактично, лише одна: механізм вертання не працює… і якщо ви гадаєте, що друкарки минулого століття — це примітивні механізми, глянув і розібрався… то зазирніть до якогось посібника з обслуговування й ремонту.

колись давно-давно, десь у 1991, мабуть, я, мав нагоду в києві поспілкуватися трішечки з дуже приємною людиною. це був американець, він називався джон феррел, чудово володів російською мовою, а його англійська була дуже чітка й зрозуміла навіть мені, школяреві з одинадцятьма класами «совєцької» англійської.

я досі тішу себе підозрами, що це був шпигун на пенсії ;-)

але мова не про «шпигуна» джона феррела, а про його портативну друкарську машинку. навряд чи навіть під гіпнозом я пригадав би назву, модель, тощо, — але один факт мене тоді вразив: брак одинички в цифровому ряді. я про це одразу ж запитав — і отримав логічну відповідь, яка мені запам’яталася назавжди як взірець інженерного компромісу (це підказка).

гляньте ж тепер на клавіатуру royal safari та пошукайте одиничку ;-)

поновлення (5 червня 2019). а я не знав, що знак оклику, — його немає ані в smith corona pride line automatic, ані в royal safari — також заміняли комбінацією інших знаків!
цитата | «знак оклику, котрий сусідствує з одиницею на сучасних клавіатурах, можна було відтворити за допомогою комбінації трьох клавіш: апострофа, вертання (backspace) та крапки» (переклад з wikipedia).
просто залишу це тут:
цитата | «благословенний звук „г“, тобі треба поставити пам’ятник — ти шибениця, на якій колись повісять руський мір, повільно затягуючи петлю» (галина пагутяк).

інші відчуття

десь два роки я користуюсь механічними клавіатурами, і настільки звик до якісно інших відчуттів під час друку, аніж зі звичайними «ґумовими прокладками», що ноші зі собою свій pok3r + /dev/tty усюди…

…але друк на старенькій електричній  smith corona — складно порівняти навіть з механічною клавіатурою для комп’ютера. це треба спробувати.

тепер я б хотів собі «електричку» з українською клавіатурою.

p.s. а чи знали ви, що в києві колись, за часів другої світової, був завод з виготовлення друкарок? ось що там робили: модель київ.

онолення (5 червня 2019). про «київський завод друкарських машинок» ніде в тенетах анічичирк, лише в однім москвомовнім блозі знайшлися цікаві історічні згадки.
royal safari. судячи з серійного номера (SA-5562184), це 1963 рік.

надзвичайно популярна свого часу механічна друкарка з неповторним ретро-футуристичним дизайном.

потребує невеликого ремонту й догляду (неробочий забій, проблемний молоточок «а», суха стрічка), але загалом в робочому стані.

p.s. навіть не питайте! не втримався…


нова електрична забавка

як зазвичай в суботу, поки діти навчалися в українській школі, ми з товаришем завіялися до найближчої «комісійки». поки товариш цікавився старими японськими магнітофонами, я вирішив зазирнути до непрезентабельної, запилюченої валізи з коричневого пластику…

…одірватися вже не міг, забрав собі: 20 канадійських доларів за портативну електричну друкарку smith-corona серії 6e.

судячи з усього, вона моя ровесниця, але в ідеальному стані й працює. до валізки хтось — попередній власник? — прив'язав пакет з додатковими картриджами та коректорною стрічкою.

машинка — хоч і не справжній раритет (на ebay подібних чимало, від $50), але виглядає дуже гарно, і заслуговує на справжню фотосесію. я ж поки що лише поклацав смартфоном. клацайте, розглядайте.

вчора зіштовхнувся з такою ситуацією: якщо на віртуальній машині (локально, на aws тощо) з linux розпочати генерацію пари криптоключів

gpg2 --gen-key

то можна дуже довго просидіти перед екраном з таким от текстом, і в підсумку нічого не висидіти:

We need to generate a lot of random bytes. It is a good idea to perform
some other action (type on the keyboard, move the mouse, utilize the
disks) during the prime generation; this gives the random number
generator a better chance to gain enough entropy.

чому?

для генерації надійних криптоключів потрібна… гхм, випадковість. міру випадковості, що широко застосовується в комп’ютерних технологіях, називають інформаційною ентропією, або ентропією шеннона, або коротко (хоч і не дуже правильно) просто ентропією. звичайні комп’ютери не мають генераторів випадкових чисел*, але можуть «збирати» випадковість, нотуючи час виникнення деяких подій (дискові операції, мережеві повідомлення, ввід з клавіатури й миші). випадковість накопичується, і згодом операційна система її використовує, коли треба.

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

watch -n 1 cat /proc/sys/kernel/random/entropy_avail

для генерації пари криптоключів з довжиною основи 2048 біт потрібно приблизно 300 біт інформаційної ентропії. у віртуальної машини доступу до випадкових подій значно менше, ніж у фізичної, тому її резерв ентропії, як правило, значно нижчий — особливо одразу після старту.

що робити?

найпростіше — згенерувати багато дискових операцій! наприклад, в сусідньому терміналі запустити щось подібне (читає весь диск і копіює в нікуди), і дати «покрутитися» кілька секунд:

(sudo) dd if=/dev/sda of=/dev/null status=progress

або щось таке (), щоби уникнути потреби в sudo:

find / | xargs file

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

* це не зовсім вірно; приміром, малинкамає о_О

mailvelope: шифрування пошти на gmail

колись шукав таке, не знайшов… аж ось, вісім років потому, натрапив: втулок для google chrome та firefox для шифрування електронної пошти на gmail за стандартом pgp.

називається mailvelope, налітай!
на gog.com чергова роздача задурно — цього разу obduction, фантастична пригода від компанії, що зробила свого часу легендарний myth…

…чого ви ще тут?!
як я міг цього не знати? монтування файлу як пристрою (loop device) з файловою системою (по суті, файлова система у файлі) за допомогою losetup — це вельми просто:

крок 1. створюємо порожній файл потрібного розміру (128 мб для прикладу):

head -c 128M /dev/zero > /path/to/file

крок 2. шукаємо першу вільну мітку пристрою (/dev/loopX):

losetup -f

крок 3. підключаємо файл file.img як пристрій (для прикладу /dev/loop1):

(sudo) losetup /dev/loop1 /path/to/file.img

крок 4. створюємо файлову систему (ext4 для прикладу):

(sudo) mkfs.ext4 /dev/loop1

крок 5. …і монтуємо пристрій куди треба (/mnt/mount_point):

(sudo) mount /dev/loop1 /mnt/mount_point

користуємося.

коли треба відмонтувати:

(sudo) umount /dev/loop1

коли треба взагалі відключити файл і звільнити мітку пристрою:

(sudo) losetup -d /dev/loop1

бонус! якщо маємо файл з уже створеною файловою системою (тобто крок 4 не потрібен) — тоді кроки 2, 3 та 5 можна об’єднати, бо mount вміє це робити сам:

(sudo) mount -o loop /path/to/file.img /mnt/mount_point

ще один бонус! команди для резервування місця під файл, в порядку спадання швидкості (для порівняння в дужках даю час, що знадобився на моєму ноутбуці з ssd):

  • fallocate -l 128M /path/to/file (3 мс)
  • dd if=/dev/zero of=/path/to/file (208 мс)
  • head -c 128M /dev/zero > /path/to/file (324 мс)

очевидно, що fallocate не заповнює файл нулями, як це роблять дві інших команди, лише резервує місце (в більшости випадків цього досить).

термоядерний пароль

гхм, знайшов ось таке: kali linux має пропатчену версію cryptsetup, котра дозволяє додати пароль для «самознищення» зашифрованих розділів диска. як це виглядає: під час завантаження система чекає на пароль для доступу до зашифрованих дисків, але якщо замість пароля доступу набрати інший спеціальний пароль — система нищить защифровані дані.

зненацька захотів зашифрувати якийсь диск з «ядерним» паролем qwerty чи 123456… =)

чому я на це втрапив? бо згадав, що давно треба скинути сховище з паролями pass (~/.password-store) до зашифрованого файлу з реплікацює на dropbox, і монтувати його до потрібної теки за допомогою cryptsetup/luks... навіщо? щоби не кусати лікті, якщо ноут загубиться чи згорить.

m.i.a.b. — identity

час від часу відкриваю для себе якихось знаменитих, але мені зовсім не відомих виконавців і треки завдяки комп'ютерним забавкам… наприклад, ось цез саундтреку project gotham racing 4 для xbox.


гаражні розпродажі в канаді

всі знають, що хокей — національна канадійська розвага. але насправді є ще принаймні одна, котра наближається до хокею за популярністю: гаражні розпродажі (фр. ventes-débarras або ventes de garage).

як і в спорті, тут є свої правила та визначні дати — і зручний сайт з мапою, щоби слідкувати за подіями і не пропустити цікавинку =) головне — не забути зняти трохи готівки, бо це чи не єдиний випадок (разом з kijiji), коли не можна розрахуватися платіжною карткою*.

* хоча потенційно можна переказати гроші interac’ом на телефоні, але далеко не всі погоджуються.
отже, другий день стажування після коледжа.

з місцем стажування мені надзвичайно поталанило: це чималенький стартап (який вже міцно стоїть на ногах) з офісами у сполучених штатах, канаді, аргентині, індії. ціла низка переваг відносно того, де стажуються мої колеги по групі:
  • стаж оплачуваний (що трапляється нечасто);
  • три кроки від метро (це важливо, тому що забудова в північно-американських містах — нещільна, тому відстані зазвичай великі);
  • вільний графік; більшість працівників приходять о 9:00—9:30 і йдуть собі о 16:30—17:00, залежно від родинних обставин чи інших потреб;
  • безкоштовна кухня (кава, чай, молоко, газовані напої, фрукти й овочі, три холодильники різних інгредієнтів для канапок, салати, різні пластівці, печиво тощо);
  • кавова машина! і не якась тарадайка на пігулках, а серйозний апарат;
  • щотижня: день бейглів (сьогодні), день кейтерінгу (п'ятниця); час від часу — день пива або дегустація вин.
роботи поки-що небагато: познайомився з колегами, офісом та тутешніми звичаями, отримав ноутбук з паролями і доступом до всього (о_О), налаштував робоче місце*, переглянув наявну документацію до мережевої інфраструктури, почав читати про ansible (знав, що знадобиться, але зовсім не мав на це часу під час навчання в коледжі) та накидав перший тестовий сценарій (playbook) для архівування конфігурацій пристроїв cisco.

план на найближчі дні:
  • з’ясувати, як обійти помилку архівування у версії ansible 2.8 (старіша, 2.4, працює);
  • повністю автоматизувати сценарій:
    • автоматичне розгортання мінімалістичної віртуальної машини або контейнера з linux + ansible за допомогою vagrant + ansible (бо робочі станції тут переважно на windows);
    • зберігання пароля доступу шифрованому сховищі ansible vault;
    • експорт конфігурацій до централізованого сховища (на сервер sftp, на диск google drive тощо).
* видали професійну ліцензію на mobaxterm, але я за старою звичкою знайшов безкоштовну альтернативу: superputty + kitty.

зе — нове ге

ваше зе — це, за рівнем культури, освіти і політичної орієнтації, той самий яноковоч, тільги гірше. і закінчить він там само — в московщині.

«запомнітє етат твіт», як кажуть на кульпарковій.

p.s. клінічні ідіоти, недобиті регіонали та електорат баби юлі — мені не цікаві. але от люди, котрі наче й за вільну україну, але голосують за зе аби лише не голосувати за пе — сильно здивували цього разу… навіть не знаю, що сказати.

останній іспит і канікули

сьогодні — останній іспит в коледжі. це ще не все: попереду фінальний проект і стажування, і аж у липні видадуть (чи вишлють поштою, тут це нормально) дипломи.

але до проекту я ще матиму аж тиждень «канікул»! планів… двійко:
оновлено (13 квітня 2019). мікро-сервер minecraft працює — пробував spigot, але в підсумку крутиться paperclip (ось підказка, мінус всі непотрібні скрипти).
дев'яте квітня, лонґьой. по обіді піду ліпити снігову бабу…

місцева бібліотека в інтернеті

гхм. так трапилося, що приїхавши до канади й оселившись у лонґьої, ми майже одразу зареєструвалися в місцевій бібліотеці (насправді в мережі з 8 бібліотек). але мусіло минути майже три роки, щоби я випадково дізнався, що шукати книжки та фільми, переглядати своє бібліотечне досьє, історію позик та подовжувати поточні позики можна онлайн: каталог léonard.

виявляється, що онлайн тут також можна позичати цифрові тексти й аудіокнижки. на жаль, на відміну від того, як працює доступ до бібліотеки banq через libby, тут можна читати/слухати онлайн (мені це не дуже підходить, бо поки що не маю доступу до інтернету на мобільному).
мав кілька годин часу, поки діти навчалися (по суботах відвідують українську школу в монреалі) — завіялися з товаришем до найближчого village de valeur (це мережа комісійних магазинів). не планував нічого купувати…

…вийшов з програвачем blu-ray, тридисковим боксом avatar (dvd) та п'ятидисковим planète terre (теж, на жаль, dvd) — віддав за все це близько 20 доларів.

програвач (sharp aquos bd-hp25u з підтримкою 3d) працює, диски читаються. ще раз переглянули з миленькою половину аватара — гарне кіно, але треба знайти blue-ray із 3d. пошукаю по комісійках =)

окрім того, як я десь вже, можливо, згадував, в тутешніх бібліотеках можна взяти задурно не лише книжки, але й кіно на дисках. я вже брав декілька, але з семи комп'ютерів, що я маю вдома, дисковод є лише в одному ноутбуці (ну, ще в sun'івському сервері, який поки-що припадає пилом в шафі), і переглядати з нього кіно не дуже зручно (ноутбук ще з windows'ом, і підтримку dnla в ньому зроблено через ду…)

оновлено (7 квітня 2019). знайшов у місцевій бібліотеці «аватар» в 2d/3d на blu-ray (не задурно, але майже — прокат $1,50). звичайна версія програється чудово, і картинка, звісно, значно відрізняється від dvd… але програвач поки що відмовляється віддавати 3d на телевізор lg. треба гуглити.
кажуть, що в тенетах популярні котики? ну то от вам киця марися, котра мешкає в хатці, яку зробив… я.


fzf : інтерактивний нечіткий пошук

трапилася під руку чудова (без перебільшення!) і проста у використанні програмка для інтерактивного нечіткого пошуку просто з командного рядка в linux: fzf.

приклади використання (див. також зняток екрана):

fzf
fzf -e -q "dropbox txt"
history | fzf
nano $(fzf) або micro $(fzf)

rdesktop: rdp для linux

остання сесія в коледжі. маємо три предмети, з них лише один серйозний: керування й спостереження в мережах (частина 2) — лишилися не стільки мережі, скільки віртуалізація й керування серверами. гостьові машини — переважно windows, часом досить важкі як для мого ноутбка з лише 8 гб оперативки. доводиться завантажувати десктоп в лабораторії…

…але хто казав, що треба відмовлятися від зручного й звичного інтерфейсу manjaro? є ж rdesktop:

rdesktop -u $USER_NAME -p $USER_PASS -g 1280x720 -P -D $REMOTE_IP

занотував собі на згадку, бо забуду. оте -D не обов'язкове і прибирає декорації вікна на локальній машині.

знайшлося на звукохмарі…

здається, ще я не ділився цією знахідкою…



на soundcloud ще чимало подібного, шукайте =)

нове кохання: imb plex

вже довший час користувався йозефкою (iosevka). це дуже компактний мінімалістичний шрифт, який легко читається з екрану — ідеально пасує для терміналу, вихідного коду.

але побачив ibm plex і закохався: трішки жадібніший до простору, але краще читається і має якийсь шарм класики.

p.s. ibm plex є в основних репозиторіях arch/manjaro.
manjaro architect — легкий (580 мб) інсталятор-конструктор, подібний до debian netinst, але для manjaro.

дозволяє зібрати/встановити собі дистрибутив, на льоту затягуючи потрібні пакунки з репозиторіїв, і уникнути встановлення непотрібного.

на жаль, не працює без мережі (попри чималий, порівняно до того ж debian netinst (180 мб) чи якихось «цуциків», розмір).

p.s. manjaro у версії lxqt (мінімальний варіант) непогано крутиться на 512 мб оперативної пам'яті без розділу підкачки — проблеми викликає лише веб-оглядач (falkon) на «грубших» сторінках.

поновлено. гхм, а 768 мб вже достатньо для falkon'а, працює без проблем. шрифт ibm plex mono кермує для терміналу й коду — має шарм класики, якого трохи бракує компактній iosevka.

в підсумку: випробувальний стенд з openwrt та manjaro lxqt готовий.

пісочниця з openwrt на virtualbox

виявляється, openwrt можна запустити на virtualbox... і гратися донесхочу, перш ніж братися до більш чи менш серйозних налаштувань домашнього маршрутизатора.

а я купував ще один рутер для цього, гхм.

хвостик?!

стривайте, що?!
цитата | «you have a short, stubby tail, like a rabbit's. it serves no purpose» (cataclysm dark days ahead)
звідки? і головне: що з цим робити…

шкода…

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


навряд чи моїм читачам в україні щось таке трапляється на радіо й телебаченні, тому ось…

sudocrem

він існує! не знаю, чи справді допомагає від втрати пароля root'а — треба спробувати =)


взаємні почуття

я ненавиджу powershell. і, здається, воно ненавидить мене навзаєм. ось невеличкий приклад:

function test([string] $a, [string] $b) {
  Write-Host "аргумент 1: $a"
  Write-Host "аргумент 2: $b"
}


судячи з формату визначення, функцію треба викликати так:

test("один", "два")

невірно, сідай, двійка. правильно — за задумом творців powershell, — ось так:

test "один" "два"

бо «л» — це логіка!

це тим більше логічно (з великої літери /\), що методи класів у тому ж таки powershell правильно викликати… з дужками і комами, звісно ж:

$b.Replace("два", "три")

як це чому? тому що логіка! рукалице.

p.s. найгірше те, що перший, неправильний виклик функції test("один", "два") жодної помилки не генерує: powershell просто зліпить все, що в дужках, докупи й передасть до функції як перший аргумент ($a), залишивши другий порожнім. я вже згадував логіку?

паніка з паролями

відкриваємо ось цей сайт, вказуємо свою адресу електронної пошти, отримуємо перелік витоків персональних даних, де ця адреса засвітилася, панікуємо…


поступово опановуємо себе. відкриваємо кожен з цих сайтів та…
  • якщо ще користуємося ним — міняємо пароль і перевіряємо налаштування безпеки (багатофакторна автентифікація, надійна адреса електронки для відновлення контролю тощо, залежно від сайту);
  • якщо не користуємося — міняємо пароль (про всяк випадок) і видаляємо профіль.
…і пам'ятаємо, що той самий пароль на кількох сайтах — це потенційна «діра» в безпеці й запрошення вас тра… перепрошую, хакнути.

ризикну дати кілька підказок
  1. вигадайте спосіб запам'ятовувати свої паролі й ніколи, ніколи не записуйте їх відкритим текстом (наприклад: пригадайте якусь дитячу пісеньку, в котрій ви робили помилку і співали не так, як інші).
  2. пароль до кожного сайту/сервісу має бути унікальним — це не так складно зробити, як здається (можна щось додавати до типового пароля).
  3. якщо ваші паролі за вас пам'ятає firefox чи chrome — ви їх забудете, гарантовано.
  4. для зберігання паролів linux має чудовий мінімалістичний інструмент: pass; звісно, пароль до самого pass (чи, точніше, до в'язки ключів gpg) має бути надійним.
зима прийшла: надворі –15..–20° і десь 20-20 см снігу.

одна з особливостей життя в канаді — треба той сніг прибирати. вулиці (проїжджу частину і тротуари) чистить спеціальна техніка, звісно ж, і робить це досить оперативно… але лишаються приватні ділянки, де відкидати сніг мають самі мешканці. можна винаймати спеціальні послуги, але більшість людей дають собі раду. хто заможніший або лінивіший — купує якусь маленьку снігоприбиральну машинку, решта — лопата в руки і гайда, чистити балкон, веранду, доріжки… і відкопувати автівку на паркувальному майданчику.

до речі, чистити доріжки, балкони та зовнішні сходи — обов'язково, це вимога муніципальних правил пожежної безпеки (приклад: лонґьой); за ігнорування загрожують серйозні штрафи.

китайська за ніч

— за скільки ти вивчиш китайську, щоби здати?
— конспект є?
— є.
— тоді зараз докурю й здам. 
(фрагмент студентського анекдоту)

днями надійшов термін здавати практичну роботу з програмування (python) в коледжі, а старий студент всі різдвяні й новорічні канікули протринькав: грав з дітками, грався сам (bioshock, ghost recon, medal of honor) та хворів на грип…

довелося читати завдання і за два дні інтенсивного гугління й колупання в носі змайструвать отаке доробло:



що це? це спрощений до неможливості симулятор інкапсуляції даних протоколами на кшталт tcp/ip та фільтрування пакетів мережевим екраном... чи щось таке.

навіщо? бо са́ме це було в завданні =) там ще було щось про дизайнерські  шаблони проектування (зокрема «стратегія» та «спостерігач», про них українською читайте тут), інкапсуляцію атрибутів і методів (котрий немає в коді, хаха), наслідування тощо.

але… яка з того практична користь? жодної (окрім практикування python).

то навіщо воно тут? собі на згадку.

а чому коментарі то французькою, то англійською? тому що викладання в коледжі — французькою, але коли треба нашвидкоруч накидати три слова, я напишу англійською.