Planetes (2005)

 

Науково-фантастичне аніме в якому дії розгортаються у недалекому майбутньому. Команда прибирачів сміття з орбіти у складі великої корпорації розв’язує різноманітні проблеми.

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

Сюжети хороші, герої реалістичні, анімація якісна, технічна сторона достовірна. Шкода що у серіала не було продовження…

Оцінки:

 

https://www.youtube.com/watch?v=zosnCjiXKbU

Bottom of the World (2017)

 

Нестандартний і доволі складний фільм. Складний тому що історія яку нам розказують постійно виявляється чимось іншим. І знову, і знову, і знову… І навіть якщо уважно слідкувати і наче розуміти що відбувається все одно лишаються сумніви чи і справді все розумієш і чи саме те фільм тобі показує що ти бачиш.

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

Мені фільм дуже сильно нагадав “Твін Пікс” насправді своєю атмосферою і настроєм.

Оцінки:

Patriot (2015-…)

 

Якщо подивитися на назву цього серілу то все у ньому здається нудним і не цікавим: назва, постре і навіть трейлер дуже ніякі і не викликають ніякого бажання дивитися що ж там відбувається.

Насправді ж це вражаючий і кльовий серіал. В ньому нам показують спец-агента який виконує різні сумнівні завдання за кордоном і при цьому мусить виконувати звичайну щоденну роботу бо працює він під прикриттям. Серіал дуже розумний з тонким хоча і цинічним гумором і затягуючим сюжетом. Раджу щосили і сподіваюся що Amazon таки будуть знімати другий сезон.

Оцінки:

 

Season 1

 

Повірте мені на слово – перші 5 хвилин першого епізоду треба потерпіти, а далі вже буде не відірвати вас від екрану (принаймні у нас так було).

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

І гумор тут саме такий як я люблю – розумний, трохи сумний, цинічний, навіть чорний місцями.

Оцінки:

https://www.youtube.com/watch?v=nx-lLeKkqEQ

[переклад] Soudgarden – Black Hole Sun

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

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

 

 

У моїх несхвальних очах
Приховано так що ніхто не бачить
Обличчя і змію.
Сонце це моє безчестя
З його жаром та розтягуванням літа.
Під чорнотою небо виглядає мертвим.
Поклич мене через піну
І я знову почую твій крик.

Чорна діра сонця,
Коли ти вже зійдеш
І змиєш дощ.
Чорна діра сонця,
Коли ти вже зійдеш.

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

Чорна діра сонця,
Коли ти вже зійдеш
І змиєш дощ.
Чорна діра сонця,
Коли ти вже зійдеш.

Повішу голову і втоплю страх
Доки ви усі не щезнете.

Чорна діра сонця,
Коли ти вже зійдеш
І змиєш дощ.
Чорна діра сонця,
Коли ти вже зійдеш.

 

Про отримання американського громадянства

Сам процес насправді доволі простий хоча і тривалий. А найнеприємніше в ньому те що тривалість його непредбачувана.

Одразу треба сказати що усю вичерпну інформацію стосовно процесу можна знайти на https://www.uscis.gov/citizenship/learners/apply-citizenship.

Найбільш стандартним шляхом до громадянства мабуть є отримання грін-карти і проживання за нею в США не менше 5 років із загальним часом проведеним за межами США не більше 30 місяців. Є і інші шляхи як одруження з громадянином США, служба у збройних силах США та інші. Ось тут є документ з покроковою діаграмою яка роз’яснює чи можете ви подавати документи на громадянство. У загальному випадку ви маєте бути старшим за 18 років, володіти англійською мовою і бути у стані здоров’я який дозволить вас призвати до військової/цивільної служби в певних випадках. Але звісно є і виключення які можна знайти на ось цій сторінці – https://www.uscis.gov/us-citizenship/citizenship-through-naturalization/exceptions-accommodations.

Після того як ви з’ясували що можете таки починати процес треба заповнити спеціальну форму N-400 – https://www.uscis.gov/system/files_force/files/form/n-400.pdf. Що важливо знати про цю форму це те що в ній треба буде вказувати усі попередні місця роботи (з контактною інформацією), місця проживання та усі перетини кордону США за останні 5 років. Тому таку інформацію бажано зберігати на майбутнє. І дуже важливим є те що після подання форми якщо ви подорожуєте за межі США форма стає не дійсною і весь процес треба починати з початку. Враховуючи те що процес не дуже дешевий і займає невизначений час як я вже зазначив вище треба бути готовим до того що подорожувати ви не будете від кількох місяців до кількох років. Також з формою подаєте 2 фотократки зроблені за відповідними вимогами (ми робити у Costco і вони вже знають як знімати на документи – поки скупився фото вже і готові), робіть одразу 4 штуки бо ще 2 знадобляться потім на паспорт.

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

Заповнену форму N-400 треба поштою відіслати на одну з адрес вказаних на https://www.uscis.gov/n-400. За весь процес сумарні виплати на сьогодні складають $725 і сплачувати треба Агенству Націаональної Безпеки (реквізити вказано на тій же сторінці). Далі чекаємо…

Якщо усе було зроблено вірно і ви дійсно кваліфікуєтеся як особа що має отримати громадянство то через кілька тижнів вам прийде “запрошення” на зняття відбитків пальців у найближчий до вас офіс АНБ. У цьому запрошені буде вказано час і місце.

Отже приїздите (обов’язково взяти з собою грін-карту), вас фотографують (саме це фото піде на сертифікат), знімають відбитки і видають книжечку та аудіо-CD для піготовки до інтерв’ю. Я рекомендую готуватися виключно за цими  матеріалами і не витрачати гроші ні на що інше – усього що є у виданому якраз достатньо для підготовки.

Книжечка містить 100 питань 6-10 з яких задають на ітерв’ю та правильні варіанти відповідей на кожне з них. Усього вам треба буде відповісти правильно на 6 питань, але задають їх не більше 10, тому і 6-10. Деякі питання мають лише один варіант правильної відповіді, інші 2-3 і більше. Для деяких питань просять дати кілька варіантів відповіді, наприклад питання “назвіть дві свободи гаратовані Білом про Права” має чи то 6 чи то 8 правильних відповідей – вам же достатньо запам’ятати лише дві з них. Також у книжечці є додаткова інформація з кожного питання, але її навіть читати не обов’язково. Аудіо-CD містить ті самі 100 питань з варіантами відповідей начитані голосом – ми його постійно слухали в машині і повторювали усі відповіді за кілька тижнів до інтрев’ю.

Питання поділено на групи: історія, суспільство, видатні особи і так далі. Деякі з питань не мають відповіді у книжці чи CD і різняться в залежності від штата чи території – це питання як “хто ваший сенатор”, “хто ваший представник у Палаті Представників” і питання як “хто зараз Президент/віце-президент/верховний суддя/спікер”.

Самі питання переважно дуже прості. Наприклад: чому на нашому прапорі 13 смужок, відповідь – тому що було 13 колоній з яких почалися США. Або перші три слова Конституції – це буде “Ми – народ” (We the people). Або треба назвати один штат який межує з Мексикою/Канадою. Є і трохи складніші як назвіть 2 свободи які є у громадян США. Є і таке питання в якому просять назвати одне з індіанських племен – тут дають список з 50 племен, складно лише те що їх назви вимовляють не так як ми звикли з дитинства (могікани – мохок, ірокези – ірокай і так далі). Ну або назвіть два з перших 13 штатів.

Також у книжечці є опис процесу інтерв’ю і словники для теста на читання та письмо – усього слів по 50 у кожному.

Ну от значить чекаєте ви, чекаєте, проходить кілька місяців і вам нарешті приходить запрошення на інтерв’ю. Сам процес не тривалий, але доведеться почекати поки для вас звільниться службовець. Далі вас викликають в кабінет один на один де відбувається наступне. Спочатку просять прочитати одне з трьох речень на папірці, у мене було щось дуже просте типу George Washington is the first president. Далі треба написати просте речення, у мене було Mexico is on the south of the United States.

Після цього вам зачитують ті самі питання і слухають відповідь на них. Мені знадобилося усього 6. Всі питання не пам’ятаю, але там було What did the Declaration of Independence do? І відповідь – Declared our independence from Great Britain. Ще було питання What is the economic system of the United States? Відповідь або Capitalist economy, або Free market.

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

Якщо вам поталанить то вам видадуть ваший сертифікат в той же день. А от нас нагородили можливістю прийняти участь в офіціальній церемонії – це було в Центральній Бібліотеці Сіетла за присутності мера міста. Туди вже я нарядився у костюм вперше за багато років :)

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

На цьому можна і закінчити, але якщо ви плануєте подорожувати за кордон то треба ще подавати документи на отримання паспорту. Форма для цього є у виданих матеріалах, але ми заповнили свої зарані і одразу по отриманю сертифікату поїхали у відповідний заклад свого міста. Там здали форму, віддали сертифікат (його потім повертають поштою), фотографії, заплатили близько $150 і поїхали додому чекати. Отримання паспотру триває до 2 місяців, як правило займає 2-4 тижні.

На цьому поки все.

 

[задача] Послідовність коду сейфа

Це одна з тих задач які дає на своїх співбесідах google. А я знаю про неї тому що один мій знайомих ходив до них на співбесіду і отримав саме таку задачу.

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

Отже…

Задача

У нас є сейф який відкривається 4-значним набором з цифр від 0 до 9. Кожна нова введена цифра зсовує вже введений набір на одну позицію вліво – тобто послідовність 1234567 означає що було введено комбінації 1234, 2345, 3456, та 4567.

Треба реалізувати алгоритм який будує найкоротший рядок в якому були б усі можливі комбінації для відкриття сейфу.

Рішення

Перше – визначимося з довжиною згенерованого рядка. Усього існує 10000 комбінацій – від 0000 до 9999. Якщо враховувати що кожна нова цифра створює нову комбінацію то для 10000 комбінацій нам треба усього 10000 цифр плюс три цифри для першої комбінації. Тобто найкоротший рядок матиме 10003 цифри в ньому.

Щодо генерації комбінації моє рішення виглядає наступним чином:

  1. Для будь-якої початкової комбінації (візьмемо 0000 для простори) позначаємо її як використану і встановлюємо лічильник використаних комбінації в 1.
  2. Якщо знайдено всі комбінації – закінчити.
  3. До останніх трьох цифр згенерованої послідовності додаємо цифру від 0 до 9.
  4. Якщо знайдено комбінацію яку ще не використовували то позначаємо її і збільшуємо лічильник комбінацій на 1, переходимо на крок 2.
  5. Не вдалося знайти не використану комбінацію –  то беремо останні 4 цифри послідовності, знімаємо позначку з відповідної комбінації і зменшуємо лічильник комбінацій на 1. Далі збільшуємо останню цифру до 9.
  6. Якщо знайдено комбінацію яку ще не використано – позначаємо її, збільшуємо лічильник на 1, переходимо на крок 2.
  7. Не вдалося знайти не використану комбінацію і треба повертнутися ще на крок назад. Прибираємо останню цифру з послідовності (послідовність стає коротшою – вертання) і переходимо на крок 5.

Вище наведений алгоритм є алгоритмом з веранням коли ми для знайдення рішення маємо відміняти деякі раніше зроблені кроки. Інший приклад алгоритма з вертанням – задача про генерацію лабіринту.

Ну а тепер моя реалізація.

#include <assert.h>

#include <iostream>
#include <map>
#include <set>

using namespace std;

// Функція знаходить ще не використану комбінацію для останніх трьох цифр поточної послідовності
// і повертає true якщо таку комбінацію вдалося знайти.
// lastDigitStart - з якої цифри починати пошук останньої цифри.
// lastSequence - поточна остання комбінація.
// sequenceUsed - ознака чи використано вже комбінацію (сама комбінація і є індексом).
// sequence - згенерована послідовність.
// idx - індекс нової цифри у згенерованій послідовності.
bool findNewLastDigit(int lastDigitStart, int& lastSequence, bool *sequenceUsed, int* sequence, int& idx)
{
  int lastDigit = lastDigitStart;
  for (int newSequence = (lastSequence % 1000) * 10 + lastDigit; lastDigit <= 9; ++lastDigit, ++newSequence)
  {
    if (!sequenceUsed[newSequence])
    {
      sequenceUsed[newSequence] = true;
      sequence[idx++] = lastDigit;
      lastSequence = newSequence;
      return true;
    }
  }

  return false;
}


// Сам алгоритм.
// sequence - сюди буде записано знайдену послідовність.
void generateSequence(int* sequence)
{
  // позначаємо усі можливі комбінації як ще не використані
  bool sequenceUsed[10000] = { false };

  // перша комбінація у послідовності - 0000
  sequence[0] = sequence[1] = sequence[2] = sequence[3] = 0;
  sequenceUsed[0] = true;

  int foundSequences = 1; // усього знайдено комбінацій

  int lastSequence = 0; // остання знайдена комбінація

  for (int idx = 4; foundSequences < 10000;)
  {
    if (findNewLastDigit(0, lastSequence, sequenceUsed, sequence, idx))
    {
      ++foundSequences; // вдалося знайти нову комбінацію
      continue;
    }

    for (;;)
    {
      // тут ми опинилися бо не вдалося знайти нову комбінацію
      // додаванням цифри і тому треба повернутися до попередньої цифри і змінити її

      // останню комбінацію позначаємо як не використану
      sequenceUsed[lastSequence] = false;
      // зменшуємо лічильник знайдених комбінацій
      --foundSequences;

      // у послідовності переміщуємося на одну цифру вліво...
      lastSequence /= 10;
      --idx;
      lastSequence += sequence[idx - 4] * 1000;

      
      // ...і пробудемо знайти іншу останню цифру
      if (findNewLastDigit(sequence[idx] + 1, lastSequence, sequenceUsed, sequence, idx))
      {
        ++foundSequences; // знайшли іншу останню цифру
        break;
      }

    }
  }
}

int main()
{
  int sequence[10003] = { 0 };

  generateSequence(sequence);

  // прості перевірки далі
  map<int, int> counters;

  // підраховуємо кількість кожної зі знайдених комбінацій
  for (int idx = 3; idx < 10003; ++idx)
  {
    int seq = sequence[idx] + sequence[idx - 1] * 10 + sequence[idx - 2] * 100 + sequence[idx - 3] * 1000;
    counters[seq]++;
  }

  // усього їх має бути 10000
  cout << "Found sequences: " << counters.size() << endl;
  for (const auto &p : counters)
  {
    auto seq = p.first;
    auto count = p.second;

    if (seq < 0 || seq > 9999)
    {
      // комбінація має неприпустиме значення
      cout << "Sequence " << seq << " is illegal" << endl;
    }

    if (count != 1)
    {
      // комбінацію було використано більше одного разу
      cout << "Sequence " << seq << " was used " << count << " times" << endl;
    }

  }

    return 0;
}

 

PDP Rock Candy Wireless Keyboard

Просто неймовірна клавіатура! Виробник про якого я ніколи нічого не чув, але і якість виконання, і функціональність, і зовнішній вигляд і навіть ціна – усе на висоті.

Характеристики

Поглянемо що надає ця яскравенька клавіатура:

  • Ціна: повна ціна складає $30, я взяв свого часу по акції за $20.
  • Безпровідна (в комплекті йде крихітний USB-приймач), 2.4 ГГц.
  • Приймач може одночасно підтримувати клавіатуру і мишку від виробника.
  • Водозахищена і навіть можна мити під краном згідно виробника (IP67). Я не пробував поки що :)
  • Кольори на вибір: салатовий, синій, рожевий, фіолетовий.
  • Живлення: від двох батарейок ААА.
  • Функціональні клавіші F1-F12, додаткова цифрова клавіатура, блок клавіш управління курсором, клавіша Fn за допомогою якої функціональні клавіші контролюють мультимедіа.
  • На сайті виробника – http://pdp.com/en/shop/keyboards.

 

 

Враження і недоліки

Як я вже сказав враження у мене виключно позитивні: клавіатура дуже весело виглядає на столі поруч з нудною сірою/чорною/білою комп’ютерною периферією. Клавіші зручні і легко знаходяться в сліпу, взагалі все там де треба. Та власне за таку ціну шукати недоліки це просто придиратися.

Але недоліки звісно є. Перше що треба згадати це те що відсік куди вставляються батарейки закручується на два гвинти і щоб їх поміняти потрібна буде викрутка. Друге – мені особисто додаткова цифрова клавіатура не потрібна, не користуюся я нею. От якби її не було то взагалі класно було б. Ну власне і усі недоліки на цьому.

Оцінка на Amazon – 4.1/5 (https://www.amazon.com/PDP-Rock-Candy-Wireless-Keyboard/dp/B014JCWHNC), моя оцінка – 10/10.

Amazon Kindle Fire HD 7

 

Колись я вже писав про Kindle Fire HD з діагоналлю 6 дюймів і про те яке воно… скажімо “так собі”. Тому заново розписувати не буду  і лише скажу що при діагоналі на 1 дюйм більше цей пристрій виглядає ще потворніше (бо має широку рамку навколо екрану), але при цьому є таким же дохлим і короткоживучим від батареї як і компактніший його родич.

Єдине що варто уваги це те що на розпродажах можна знайти цю модель за $45 і як так само не рекомендую її купувати навіть за таку ціну – ні процесорної потужності, ні батареї з задовільним часом роботи навіть не очікуйте.

Просто фуфло.

RV (2006)

 

Дуже слабенька комедія яку рятує і яку варто дивитися лише через Робіна Вільямса. Крім чарвіного і милого актора у головній ролі фільм не має більше чим похвалитися. Це надзвичайно посередня (якщо не гірше) “дорожня” комедія у якій родина в якій не все гаразд подорожує у трейлері. Ну і звісно по дорозі у них різні (не смішні) пригоди трапляються і зустрічають вони різних (теж не смішних) диваків.

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

Оцінки: