arilou: (Default)
С одной стороны, к программерской работе и около того это вроде как не имеет отношения.
С другой стороны, упоминание наличия прав мне порой встречалось в резюме, да и на каких-то сайтах рекрутинговых в анкетах такое бывало.
Что думаете, есть ли смысл указывать наличие водительских прав, когда работа не имеет отношения к вождению? Является ли это некоторой значимой "ачивкой" в современном мире? Или смысла в этом не больше, чем там же указывать умение стрелять из лука, танцевать вальс и мазурку, совершать марш-бросок и т.д.? ;)
arilou: (Meditate)
Пока работы нет, в голову снова приходят мысли о том, как хочется в этот раз найти что-нибудь такое... реально вдохновляющее... Ведь, вроде бы, и бывало такое уже. (Прошлая работа такой, к сожалению, не стала. Хотя принесла немало другой пользы.)

Опять думается, что, может, стоит сместиться чуть в сторону от собственно программирования? Варианты с интересом рассмотрю. Поговорить бы с кем-нибудь об этом. В разговоре часто быстрее ответы находятся, чем в мыслях сам-с-собой.
arilou: (Default)
Меня то есть.
Резюме лежит тут: http://www.arilou.org/resume (там и в ворде, и в простом тексте есть).
Англоязычная версия чуть устарела, но обновлю, если будет нужно.
Работа нужна чем скорее, тем лучше. ;)
arilou: (Default)
На работе в соседней комнате идёт техническая дискуссия про особенности работы с сетью.
В какой-то момент долетают две фразы:
«
– ...Хорошо, расскажи нам своё ви́дение.
– У меня не ви́дение, я только что перечитал документацию.
»
arilou: (Default)
Ищем программиста хорошего. Писать в основном на Python (2.7), в основном под линукс (хотя какие-то скрипты может потребоваться делать совместимыми с виндой). Основное направление работ -- функциональное тестирование и прочая инфраструктура разработки.

Ищем человека опытного, желательно не ниже моего же уровня. Зарплаты хорошие, порядки разумно нестрогие, коллектив довольно молодой и приятный. Работать предстоит вместе со мной (в зависимости от уровня -- на равных или под моим руководством).

Upd.: скорректировал насчёт junior'ов. Junior'ы не рассматриваются.
arilou: (Default)
Вот такая задачка:
Есть некий скрипт, писанный на питоне, крутится более-менее постоянно (под screen).
Обощённо цикл работы состоит из проверки, не пришли ли "данные" для обработки, и если пришли -- происходит довольно долгая (десятки минут) обработка.
Захотелось его перезапускать для обновления, не ловя момент окончания обработки.

Простейшие варианты:

1) Функции семейства os.exec* -- успешно подменят старый процесс новым, всё замечательно, но если новый почему-либо не стартует, то это надо заметить, потом исправить -- только тогда работа продолжится.

2) Вызвать новый скрипт через subprocess.Popen, убедиться, что он нормально взлетел, после чего завершить старый. Исправляет недостаток первого пункта, но новый скрипт, используя ту же "консоль" (те же stdin/stdiut, stderr), при этом выпадает из jobcontrol'а, т.е. крутится в фоне по отношению к шеллу, из которого был запущен старый скрипт, а из старого мы попадаем обратно в шелл. И при том отт фоновый новый скрипт не может подхватить команда fg.

Есть ли способ избавиться от недостатков обоих методов, не выделяе контроль за перезапуском в отдельный процесс?
Кроссплатформенности от данного механизма (пока?) не требуется.

(На крайняк мне пока годится первый вариант, поскольку перезапуски пока что как правило контролируются вручную, да и короткий даунтайм в общем-то не страшен. Но всё же интересно, может, есть простое решение?)
arilou: (Default)
Странным образом ведёт себя mercurial, когда в репозитории есть бранчи, имена которых оказываются префиксами других бранчей (наприммер: 'dev_2.4', 'dev_2.4_tests', 'dev_2.4_main', 'dev_2.4_main_bugs' -- первое имя является префиксом остальных трёх, третье является префиксом четвёртого).

Параметр --branch команды hg incoming выполняет не сравнение точно сравнение имени бранча, а выбирает все бранчи, имена которых начинаются с указанной строки. Т.е.
hg in -b dev_2.4
проверит (и вытащит, если с --bundle) мне все вышеперечисленные бранчи, а не только сам dev_2.4
Аналогично и команда
hg pull -r dev_2.4
вытащит все 4 перечисленных бранча.

Какого-либо ключа для ограничения выборки только точным соответствием имени бранча - не нашёл.
Баг? Мисфича? Или я чего не понял?

Да, я уже сообразил, что при большом желании можно написать скрипт, который проверит все changeset'ы, которые вернёт hg in, составит список нужных и укажет их явным образом. Но это всё же workaround, а не правильное использование правильно спроектированной фичи.
arilou: (Default)
А вот такой вопрос, друзья и коллеги: кто что может сказать, каким опытом поделиться насчёт условий жизни и работы для советского русского человека (с высшим образованием, опытом и хорошей зарплатой) в Вильнюсе? И, собственно, какие там зарплаты считаются хорошими в области сплетания цепочек кодов в работающие программы?
arilou: (Sea)
====[ из рабочего скайпика, сегодня (день до релиза) ]====
Диалог внедренца и программиста сегодня:
- у нас точно все заработает?
- все будет хорошо, я уверен.
(проходит 2 часа)
- кто этот костыль писал, тестил, и самое главное, тварь такая, прикрутил на рабочую версию? у нас снова жопа.
- все ожидаемо и в целом по плану.
- может закончим уже планировать жопу?
- ...и у нас будет неожиданная жопа, что, согласись, хуже.
arilou: (Default)
Моё: "Если молотый кофе мужского рода, а растворимое уже среднего, значит производство растворимого кофе -- кастрация."

Валентин, билд-инженер: "Филологи не любят растворимый кофе, потому что оно нарушает нормы русского языка."
arilou: (Default)
Внезапно наткнулся на то, что MySQL при COLLATE utf8_general_ci (или utf8_unicode_ci) не различает не только большие и маленькие буквы (что как раз нужно, и суффиксу _ci соответствует), но также не отличает буквы с диакритикой от их "обычных" аналогов, в частности 'Melkor' == 'Melkör' и 'kossak' == 'KOŞŞAK'.

Если задать COLLATE utf8_bin -- то теряем и регистронезависимость, что не устраивает.

Погугли немного, поискал на http://stackoverflow.com -- похоже, решение на уровне базы данных отсутствует, т.е. придётся включать utf8_bin, а регистронезависимость реализовывать на уровне приложения.
arilou: (Лось!)
Только что в одном из рабочих чатиков возникло дивное слово: "боланц".
arilou: (Default)
Из чатика с коллегами (а туда - из фэйсбучика попало).
Переделка известного анекдота, но всё равно хорошо.

Программист на приёме у психиатра.
ПРОГРАММИСТ. Доктор, что мне делать? Мой код проходит все тесты с первого раза без единой ошибки!
ВРАЧ (не отрываясь от бумаг). Ничего страшного, вот вам рецептик, попрограммируете недельку регэкспы, и всё пройдёт.
ПРОГРАММИСТ. Доктор, но я выполняю все задания точно в срок!
ВРАЧ. Да, случай интересный, но бывает. Вот вам направление к опытному ПиЭму, посидите на совещаниях часика по четыре, позаполняете таймшиты - через месяц будете факапить, как все.
ПРОГРАММИСТ (в отчаянии). Доктор! Я чувствую и понимаю потребности пользователей!
ВРАЧ (роняя пенсне). Оп-паньки!..
arilou: (Meditate)
Подумалось, что было бы удобно порой скидывать куда-то записи типа "как таким-то средством сделать то-то" или "какие существуют решения для такой-то задачи". Вот, скажем, полез в документацию, вычитал фичу -- и наверняка пригодится потом ещё раз, хотя может и нескоро.
Как бы такое удобнее организовать?

Просто кидать в основной блог с определённым тегом? Решение простое, но стоит лли засорять блог такими мелочами?

Завести отдельный блог для этого? Ну м.б., но переключаться между несколькими блогами -- задолбает.

Документ на гугле не предлагайте. Вот если бы они не угробили google-notes, это могло бы пригодиться. Но они угробили хороший сервис.
arilou: (Кошачий Глаз)
Сразу две дивные ссылки о том, как непросто делать компьютерные игры.
http://burrarum.livejournal.com/14114.html
http://voron-vp.livejournal.com/42033.html

Вторая, правда, ещё и (а то и в большей мере) про то, в какие дебри может зайти решение простого вопроса, если его размазать между отделами и некому будет дать указующего пинка. И как вредно (сам уж насмотрелся) вместо прямого правильного решения городи как бы более простую в реализации систему верёвочек и подпорочек.
arilou: (Exquemelin)
В процессе передачи дел перезапускал на кластере старую (браузерную) версию нашей игры. (А то она под моим юзером крутилась -- перевесил её на специально выделенного юзера.)
Проверял, как работает - смотрю, в свежеперезапущенное уже кто-то залогинился. Слетал с ним пару раз. Явно новичок -- на стартовом корабле был.
Эх, ностальгия...
До сих пор уверен, что надо было прости переделать клиант с сильверлайта на юнити и стелать геймплей поразнообразнее. А в целом игра была замечательна в своём плоском-вид-сверху варианте.
arilou: (Default)
Увольняюсь с текущей работы, передаю дела... (что-почему-куда -- о том позже)
Преемник составил списочек задач по передаче дел (того, что на его взгляд нужно не забыть).
Последняя строка, когда я её прочитал вслух, повергла в хохот нас обоих:
«Создать юзера *** на всех серверах проекта
Дать юзеру *** права на sudo на всех серверах
Составить список всех серверов, их IP и адресов
Составить список всех БД и root-паролей к ним
Написать краткий фак по администрированию svn
Написать краткий фак по администрированию wiki
Написать краткий фак по администрированию apache
»
(выделено мной)

Там, конечно, стояло почяснение: "Где хранятся конфиги, команда рестарта апача (если нужна)." Но сама формулировка весьма повеселила.

DOTA-2

May. 17th, 2013 02:32 pm
arilou: (Default)
И ещё об играх.
По работе надо было сколько-то поиграть в DOTA-2, посмотреть, как оно устроено и т.п..
Теперь вотна меня там свалилось некоторое количество подарочных приглашений. Не нужно ли кому?
Мне, правда, самому там не очень понравилось, но некоторые коллеги с удовольствием поигрывают.
arilou: (Default)
Из, так сказать, профессионального интереса заглянул на DOTA-образие под названием "Prime World".
А есть ли среди моих друзей кто-нибудь, кто в это играл или играет?

Profile

arilou: (Default)
Danil "Eleneldil G. Arilou" Lavrentyuk

February 2017

S M T W T F S
   1 234
567891011
12131415161718
19202122232425
262728    

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 28th, 2017 04:49 pm
Powered by Dreamwidth Studios