Блоґ одного кібера

Історія хвороби контуженого інформаційним вибухом

Hunspell

leave a comment »

Hunspell розшифровується як “угорський правопис”, і це найбільш просунута програма перевірки правопису якщо не враховувати Grammarly. А все тому що угорська мова – найбільш скажена в плані морфології. Тому якщо щось підходить для угорської – для інших європейських мов точно підійде.

sudo apt install hunspell hunspell-uk hunspell-de-de libhunspell-dev
sudo pip install hunspell

hunspell має доволі простий інтерфейс для використання в мовах програмування (хоча й складні словники (читати man hunspell.5)):

>>> import hunspell
>>> spellchecker = hunspell.HunSpell('/usr/share/hunspell/uk_UA.dic', '/usr/share/hunspell/uk_UA.aff')
>>> spellchecker.spell('ласка')
True
>>> spellchecker.spell('ласкає')
False
>>> spellchecker.suggest('ласкає')
['ласка', 'ласкам', 'лускає', 'ласках', 'ляскає', 'ласка є', 'скалатає']
Прочитати решту цього запису »

Written by bunyk

13 Січня, 2020 at 19:45

Опубліковано в Інструменти, Кодерство

Tagged with ,

Німецька реєстрація

with one comment

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

– Come back after 10 years and get your car.
– Morning or afternoon?
– Well 10 years from now, what difference does it make?
– The plumber is coming in the morning.

З анекдотів Рейгана про СРСР, які насправді то про Німеччину.

В попередній публікації забув ще додати варто зареєструватись на подачу документів на Блакитну карту, бо я 22 вересня зареєстрував собі дату на 3 березня. Це можна зробити тут: https://service.berlin.de/dienstleistung/324659/en/ , прочитавши всі вимоги, знайшовши внизу посилання “Make an appointment”, тоді натиснути “Book an appointment”, тоді вибрати громадянство, чи маєте ви подружнього партнера громадянина ЄС, тип запиту Blaue Carte EU (section 19a), натиснути Next, заповнити особисту інформацію і email, і так поки вам не прийде лист з темою “Ausländerbehörde Berlin – Foreigners Registration Office appointment confirmation”, і pdf квитанції, яка містить адресу куди прийти, 150 тисяч якийсь там номер в черзі і чекліст зі всіма необхідними документами. Її треба надрукувати (хоча краще це зробити в Німеччині щоб лишнього багажу не везти).

Тепер про найважливіше що треба зробити по приїзду. Замельдуватися! Лендлорд тимчасової квартири (мій роботодавець) окрім договорів на квартиру, інтернет і т.п. дає такі документи:

  • Підтвердження заселення від квартировласника (Wohnungsgeberbestätigung)
  • Підтвердження про відсутність боргів з оренди (Mietschuldenfreiheitsbestätigung)

Їх, і формуляр “Anmeldung bei der Meldebehörde” можна знайти тут. Заповнений формуляр, ті документи і оригінал паспорта треба віднести в найближчий Bürgeramt, в який треба мати термін (термін кажуть можна зробити в той же день зранку, але мені на щастя з цим допомагав роботодавець, тому не знаю як точно це робиться).

Довідку про Anmeldung дають зразу. А через кілька тижнів на пошту (паперову) має прийти TaxID. (Або можна за ним сходити в Finanzamt, куди йти все одно доведеться щоб поміняти собі податковий клас.) І це те що вам потрібно аби отримувати зарплату, бо без TaxID роботодавець вам зарплату на рахунок не зможе послати.

Це все що пам’ятаю про реєстрацію. Просто робив я її давно, і займався іншими проблемами. В Німеччині (а може лише в Берліні, важко сказати бо я в інших місцях мало був) є більші проблеми ніж бюрократія. Але про це далі буде.

Written by bunyk

11 Січня, 2020 at 15:08

Опубліковано в Конспекти, Нещоденник

Tagged with ,

30 відтінків слова Zug

leave a comment »

Я думав що Zug німецькою означає поїзд і хід. Але є багато варіацій, наприклад ліфт – Aufzug (поїзд на!) я вирішив порахувати скільки різних слів в німецькій вікіпедії містять в собі Zug, і виявилось – трохи більше за 38000. Звісно враховуючи помилки мого метод підрахунку, їх насправді трохи менше. Недавно дізнався що конкретно шахматний хід має спеціальне слово. Хоча застосовується не завжди до шахмат, а й загалом як хід у грі:

Прочитати решту цього запису »

Written by bunyk

4 Січня, 2020 at 20:48

Опубліковано в Конспекти

Tagged with

Як збудувати геодезичний купол?

with 4 comments

Я простий програміст, але іноді свербить побути архітектором. Всякий ентерпрайз проектувати ще не пускають, але тут випала нагода зпроектувати проект іграшкової хатинки для донечки. Тому що після покупки меблів в порожню квартиру в нас все ще залишається вільна кімната і в ній куууупа картону.

Картон в меблевій майстерні

Я погуглив які можна робити хатинки і знайшов таке на instructables. Але там виміри подані все ще в імперській системі і я вирішив перерахувати. І взагалі зробити проект правильною водоспадною методологією – поетапно.
Прочитати решту цього запису »

Written by bunyk

21 Грудня, 2019 at 21:22

Корисні налаштування Git

leave a comment »

Перше. Як не задовбувати всіх сміттям яке створює ваше IDE, і за замовчуванням мати gitignore для всіх репозиторіїв.

git config --global core.excludesfile ~/.gitignore

Ця команда відредагує файл ~/.gitconfig і в ~/.gitignore можна буде перелічити всякі там *.swp, чи що там ваш редактор створює.

Друге. Якщо Go не хоче встановлювати модулі з помилкою “fatal: could not read Username for ‘https://github.com’: terminal prompts disabled”, бо залежності прописані через https, а ви використовєуте SSH, це можна виправити таким налаштуванням:

git config --global url."git@github.com:".insteadOf "https://github.com/"

На цьому поки що все, дякую за увагу. 🙂

Written by bunyk

12 Листопада, 2019 at 12:48

Опубліковано в Кодерство, Конспекти

Tagged with ,

Чи правда досить 1000 слів щоб вивчити мову?

leave a comment »

І що робити якщо цього мало? 🙂 Колись читав статтю одного заробітчанина про те що 1000 слів достатньо для впевненого користування мовою. Але зараз маючи статистику по вікіпедії, можна порахувати скільки слів достатньо щоб впевнено читати вікіпедію. (Для тих кому лінь читати ввесь текст: ні, 1000 слів явно замало, їх треба знати десятки тисяч, але скльки точно – ХЗ).

Наприклад українська вікіпедія містить приблизно 240 мільйонів слів, з них різних: 4.5 мільйонів. Якщо їх вчити в порядку частотності, графік частки розуміння до кількості вивчених слів буде виглядати так:

Частка розуміння тексту залежно від кількості знайомих слів

Крім того, дослідження показують що доросла людина знає від 20 до 40 тисяч слів рідної мови, що набагато менше ніж 4 з половиною мільйони (хоча думаю мої оцінки кількості “різних” слів завищені, бо морфологія і помилки, а оцінки знання слів занижені, бо знову ж таки відмінювання і т.п.). Давайте подивимось на графік ближче:

Частка розуміння тексту залежно від кількості знайомих слів

Виходить, що навіть якщо знати 20 тисяч слів, можна розуміти лише 3/4 тексту. І вивчення ще 20 000 помагає менше ніж 10 000 до того. Як так? Давайте візмемо якісь випадкові статті, і виділимо слова що не входять в найчастіші 20 тисяч:

Сексуальна жага, сублімована чуттєвістю, сумом і меланхолією, спричиненою постійним відчуттям невдоволення, є стрижневими компонентами танго. Колись це почуття народжувалося через важке становище мільйонів іммігрантів-робітників, переважно чоловіків, які почувалися самотніми на чужій землі, тому часто навідувалися до будинків розпусти, де кохання за гроші ще дужче підсилювало в них «ностальгію за єднанням і коханням, ностальгію за жінкою» і засвідчувало їхню самотуErnesto Sabato, pág. 14.. Танго, власне, і виникло як масова й популярна «еротична досада», що призвела до такої ж масової й популярної внутрішньої рефлексії про кохання, секс, відчай і врешті про сенс життя і смерть простої людини.

Бачимо, що хоча в вікіпедії достатньо часто вживають слово “секс” (1215 раз), слово “сексуальна” чомусь вживають рідше (385 раз). 🙂 Я б спихнув це на нейтральність, але “сексуальної” – 1224 рази. Суть в тому що якщо знати одне слово, то й похідні знатимеш.

Селяни з Ляцького взяли активну участь в повстанні Богдана Хмельницького. Так наприклад 6 серпня 1649 року Андрій Голинський скаржився на селян з Камінного, Велисниці, Гостова, Волосівської Слободи, Ляцького, які під проводом шляхтичів Русинів Олександра, Андрія, Кикули Березовських «маючи змову з козаками й бунтівниками» напали на село Перерісль і там попустошили шляхетські двори. Крім того, зважаючи на сильну присутність польської шляхти у самому селі, траплялись напади і на Ляцьке. Юрій Коморовський 30 травня 1650 року скаржився, що селяни сіл Волосова, Цуцилова, Тисменичан, та Ворони спустошили двірські маєтки в Цуцилові, опісля спалили двір та корчму в Ляцькім.

Зрозуміло, багато статтей містять багато власних назв. Може варто б замість “попустошили” писати “спустошили”, але одне передбачає значення “трошки”, а інше “зовсім”. Хоча що то – що то не входить до топ20000.

Шарам — село в Ірані, в дегестані Касма, в Центральному бахші, шагрестані Совмее-Сара остану Ґілян. За даними перепису 2006 року, його населення становило 392 особи, що проживали у складі 114 сімейПерепис населення Ірану 2006.

“сімейПерепис” не мало б потрапити до мого рейтингу слів, певне треба кращий код виділення слів зі статті. Те що “дегестані” і “шагрестані” входять до найчастіше вживаних 20000 – теж перекос вікіпедії, бо до словника середньостатистичної людини такі слова не мали б входити.

Приклад зі ще іншої області:

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

Те що фосфопротеїни входять до найчастіших 20 тисяч слів – теж ознака перекосу вікіпедії. Щодо слова поліморфізм – хто зна, бо я знаю дві області знань де воно використовується. Але взагалі, частота слова, якщо не застосовувати якийсь стемінг чи іншу нормалізацію – це сум. Виглядає частотний словник ось так:

ядра,6772
ядрі,6369
ядро,3690
ядром,1452
ядрами,585
ядрах,298
ядру,74
мікроядра,26
ядрам,24
Сядристий,22
ядрові,22
ядраЧемпіонат,20
Сядристого,19
ядрова,19
коядро,17
мікроядро,15

Як німецька? Загалом більше мільярда слів з них різних 12 мільйонів. Ось графіки:

Залежність розуміння від знання слів в німецькій вікіпедії

Залежність розуміння від знання слів в німецькій вікіпедії

Бачимо що ситуація подібна. Ось приклад:

Berlin gehört zu den führenden Standorten der Informations- und Kreativwirtschaft in Europa. Der Wirtschaftsbereich umfasst den Buch- und Pressemarkt, Softwareentwicklung, Telekommunikationsleistungen, den Werbemarkt, Marktforschung, die Film- und Rundfunkwirtschaft, den Kunstmarkt, die Musikwirtschaft, die Architektenbranche, die Designwirtschaft und den Markt für Darstellende Künste.

Бачимо що більшість “рідкісних” слів – складаються з не таких вже й рідкісних. Напевне 100% треба змінити підрахунок, бо “Telekommunikationsleistungen” – це “Tele-kommunikations-leistungen”, телекомунікаційні потужності.

Таким чином щоб зробити нормальний частотний словник, треба напевне якийсь стеммер, і алгоритм для розбиття німецьких слів на частини. Для української просто стемер напевне. 🙂 Або робити його вручну…

Written by bunyk

10 Жовтня, 2019 at 16:55

Опубліковано в 1

Tagged with ,

Німецьке посольство

with 5 comments

Якось так сталося що в період виборів почали частіше писати про вакансії за кордоном. (Хоча може це я просто почав частіше в Linkedin заходити, просто аби новини не читати). Дякуючи Пороху тепер зганяти до Берліна на співбесіду так само просто як і до Києва, й коли є що вибрати, то можна й вибрати. Сьогоднішня тема буде не про співбесіди/резюме, мотивацію до переїзду чи порівняння життя в Берліні і Львові, а про найчасозатратніший етап, який можна прискорити якщо знати дещо наперед.

Може потім це переросте у серію статтей подібну до Переїзд на роботу в Берлін. За мотивом надуманого мною роману: “Західна цивілізація або мої спроби відчути себе європейцем”, яку теж рекомендую прочитати якщо серйозно збираєтесь влитись до рядів експатів, хоча вона вже досить стара й містить деякі помилки.

Отож, якщо у вас є бажання працювати в Німеччині і ви збираєтесь погодитись на офер, то ще до підписання контракту і обговорення дати виходу на роботу (яка в ньому прописується), заходите на сайт посольства і бронюєте собі і всім членам сім’ї які їдуть з вами дати співбесіди на національну візу. Ось посилання актуальне на сьогодні, якщо не працює, йдіть на https://kiew.diplo.de/ua-uk Послуги -> Забронювати дату співбесіди -> Національні візи та/або працевлаштування. Тому що я підписав контракт на роботу з першого вересня, бронював у травні, забронював подачу документів собі на 30 серпня, сім’ї на 2 вересня. 🙂
Прочитати решту цього запису »

Written by bunyk

21 Вересня, 2019 at 21:34

Опубліковано в Конспекти, Нещоденник

Tagged with