delagen

Прекратите спрашивать прогр

Проходил тут собеседование по JS.
И как ведомо подгорело. Предложение собеседующим: если сами не в теме, то
не спорьте, а если не можете поддержать и раскрыть разговор, то
собеседование это не ваше.

1. Вопрос более холиварный Function - это отдельный тип JS?
В учебниках написано что это тип объекта, впрочем как и Array.
Но тогда резонный вопрос, если это не отдельный тип (хотя даже typeof
выделяет его отдельно), то как я могу создать его вручную из Object каким
либо образом не беря ничего из Function?
Я понимаю что под капотом оно наследуется всё от Object, но как создать его
вручную реализовав какой либо интерфейс или объявив какое либо спец
свойство я не знаю, может быть мне помогут комментарием коллеги?

2. Typescript вопросы про количество элементов в Enum, я понимаю что
вопросы про это бред, но всё таки
Есть понятие const enum, которое не попадает в код, а попадают только
значения. Собеседующий быстро отбрехался от этого.
Рекомендую проверить вывод этого кода:
const enum A {
A,
B,
C
}

console.log(A.B);
Сколько значений попало в код?

Ну и общее: прекратите вы сыпать теорией из книжки...
99% программистов можно засыпать вопросом из базового синтаксиса, типа
деструктивного присваивания, специфических символов и прочих вещей, которые
пользуются 1% всего времени и не всегда несут полезную нагрузку, например
со строками деструктуризации и присваивания иногда над одной строкой можно
голову сломать, не то что еще и ошибку уловить.
Учитесь раскрывать большее: ну не знает у меня жена как и за счёт чего
индукционная плита греет сковородки, но это же не мешает ей пользоваться и
вкусно готовить.
delagen

createrepo под Ubuntu для RPM репозита

Я как гик люблю обновления) Поэтому как выходит более менее стабильный
релиз то ставлю его сразу, чтобы понимать что может сломаться у клиентов и
опередить заявки.
Так было и с Ubuntu 20.04, но так как Python 2 снят с поддержки еще в
начале года, то из репозитария пропали многие пакеты зависящие от него.

Последнее что я использовал с его зависимость это был пакет createrepo для
обновления метаданных репозитариев RPM.

Был найден проект https://github.com/rpm-software-management/createrepo_c
который собран только под RedHat дистрибутивы, поиск собранных под Debian
ничего не дал.

Временно были скачаны RPM пакеты и распакованы в /usr/local в принципе
работало, хоть и с предупреждениями

Принял решение поковыряться и собрать самому набор для установки.
Требуется дополнительно
- https://github.com/rpm-software-management/drpm.git
- https://github.com/zchunk/zchunk.git
- https://github.com/fedora-modularity/libmodulemd.git

На выходе получил пакеты
libdrpm
libdrpm-dev
libmodulemd
libmodulemd-dev
zchunk
libzchunk
libzchunk-dev
createrepo-c
libcreaterepo-c
libcreaterepo-c-dev

Собственно ставлю с внутреннего репозитария и не знаю проблем без Python 2 )
delagen

Оценка результата программиста

Типовая ситуация

Требуется выполнить определенную работу. Есть "специально обученные" люди
для её выполнения, которые собственно и отвечают за это.

Естественно работу отдаем им, так как никто не хочет брать лишнюю работу.
Работу берет человек и выполняет её за N часов.

После этого человек не занимающийся эти, но что важно на той же категории
(следовательно обладающий теми же навыками( смотрит на результат труда и у
него кроме как удалить его желания не возникает. В итоге берет сам читает
документацию и разбирается в вопросе и делает это за N/6 часов в свободное
время с учетом адаптации под типовое применение.

Возникает резонный вопрос: почему на выходе "одинаковых в профессиональной
оценке" людей разный результат?

Что-то не то с оценкой результата и мотивацией в организации.


Я считаю что программист должен оставаться программистом, и делать
качественно даже ту работу, которую он никогда не делал.
delagen

Яндекс Деньги. Привязка карт

Решил тут привязать к Яндекс Деньгам карту, чтобы использовать Яндекс Карту
как транзитную, оказывается это нерабочий кейс.

Вот ответ поддержки:

>>>
Если к Вашему счёту привязана карта другого банка, то Вы можете оплатить
что-нибудь в интернете через Яндекс.Деньги с баланса этой карты. При этом
баланс карты и кошелька не объединяется, просто при каждом платеже (только
когда Вы выбираете оплату с карты и вводите CVV-код) деньги списываются
именно с карты, привязанной к счету.

Пополнить кошелек с карты можно тут: https://money.yandex.ru/topup/
card/carddetails.xml
По этой ссылке можно перевести деньги с кошелька на карту:
https://money.yandex.ru/direct-payment.xml?form-state=to-card

При оплате картой Яндекс.Деньги, средства должны быть на балансе
Яндекс.Кошелька.
>>>

То есть нельзя оплачивать покупки Яндекс Картой с автосписанием средств с
привязанной.

Смысл ясен. Плюсы Яндекс карты стали еще более неочевидны.
delagen

Zimbra и Ubuntu 16.04

Насколько известно все переходят на SystemD систему инициализации.
В принципе это правильно, но при обновлении Zimbra и Ubuntu 14.04->16.04
столкнулся с тем что старый upstart конфиг от Zimbra нормально не встает.
Пришлось переписать на SystemD сервис.

Проблема выложенного на github
<https://github.com/zimbra-community/zimbra-tools/blob/master/zimbra.service> в
том, что не стартует сервис logger.
Проблема изза того, что при старте генерится perl класс, который использует
внутренние пакеты Zimbra, на которые в переменных нет ссылки.
Решается это подгрузкой переменных среды.

Короче выкладываю рабочий результат. Пользуйте.

[Unit]
Description=Zimbra Collaboration Suite
After=network.target remote-fs.target time-sync.target syslog.target
Conflicts=sendmail.service exim.service postfix.service

[Service]
Type=forking
User=zimbra
Group=zimbra
ExecStart=/bin/bash -c ". /opt/zimbra/.bashrc && /opt/zimbra/bin/zmcontrol
start"
ExecStop=/bin/bash -c ". /opt/zimbra/.bashrc && /opt/zimbra/bin/zmcontrol
stop"
ExecReload=/bin/bash -c ". /opt/zimbra/.bashrc && /opt/zimbra/bin/zmcontrol
restart"
TimeoutSec=500

[Install]
WantedBy=multi-user.target
delagen

Такие программисты

Не выдержал... Как же меня бомбит от таких постов
<https://habrahabr.ru/company/mindbox/blog/319156/> на нормальном ресурсе
Habrahabr.

Начну пожалуй
1. "Проблема — «непоследовательное» наследование" - это не проблема.
Проблема в коде, который просто недостоин существования в 2017 году.
Научитесь писать модульно и вы забудете об этом навсегда.
"При настройках студии "по умолчанию" важен порядок подключения
зависимых скриптов" - не умеете готовить не пользуйтесь.
Если для сборки проекта используете средство интегрируемое, через
костыль (а плагин - это костыль), то как бы может быть разобраться как
средство работает в своей среде и насколько ему начхать на ваши Solution и
Project в терминах Visual Studio.
Используйте хотя бы paths в tsconfig.json для маппинга проектов.

2. "Проблема — глобальные переменные" - проблема в руках. Никто в 2017 году
не использует глобальные переменные. А если ваш проект экспортирует, то это
не должно быть проблемой.
3. "Обратите внимание на длинные относительные пути. Они тут нарочно, чтобы
показать, что такое случается" - случается, если используешь не модульную
систему. И более скажу, использование регистрозависимых путей может
привести к веселым последствиям )) особенно когда будешь собирать под
другой системой )

4. "Переписать весь наш код на использование импортов за один подход не
представляется возможным. " - сколько не оттягивай процесс, все равно
вернешься.
5. Интегрирование чего то куда то ради интегрирования это бред.
delagen

Windows Phone путь в никуда.

По сути работы разрабатываю приложения для мобильных устройств.
Все ничего но вот с Windows Phone изначально какие-то грабли.

Я даже не грешу на встроенный браузер, который на десктопе отстает на круг
от своих конкурентов, так на мобильных он отстает на целых два.

Ну да ладно.

Ждал обновления до Windows 8.1. Так даже тут Microsoft наебал. Ладно что
оно пришло с полугодовым опозданием, так и тут оказалось, что приложение в
телефоне это IE 11, а вот WebView - это IE 10.
Ну насколько надо любить садо мазо, чтобы в одном устройстве было 2 версии
IE?
Неудивительно что вся платформа работает соответственно учитывая тот факт,
что IE всю жизнь являлся неотъемлемой частью платформы, что на десктопе,
что на мобильных.

Ладно поехали далее... XapDeploy работает через раз, то выкидывает ошибку
то еще что.

Но еще интереснее феерическое ограничение на 2!!!! приложения от
разработчика, то есть если ты работаешь с несколькими продуктами то тебе
придется постоянно что нить удалять из телефона иначе оно туда не зальется.

Но перед тем как работать с утройством его нужно еще ЗАРЕГИСТРИРОВАТЬ,
причем эта регистрация периодически слетает и её нужно повторять.

Еще интереснее выглядит тот факт, что регистрация не пройдет, если на компе
и устройстве разные часовые пояса, хотя в GMT время верное, вот это вообще
ЧТО?

Короче платформа оставляет о себе ничего кроме негатива, даже от iPhone с
его привязкой к MacOS как средству разработки я не испытываю такого
негатива как к этому поделию от Microsoft.

Короче очередной провал в мобильном сегменте, а ведь в свое время я фанател
от Windows Mobile.
delagen

Небулайзер? Только меш!

Дошло у меня дело до покупки небулайзера.
Ребенку врач посоветовал от кашля. Давно думали об этом и даже как то брали
у знакомых.
Тут решили все таки купить себе, а то как то напрягает просить у других.

Заказал на Ozon.ru так как цена такая же как везде, зато скидка + доставка
по-быстрее.

Ну а пока ждать доставки решили на этот период попросить у знакомых, все
таки ребенок то болеет и как бы ему ждать смысла нет.

У знакомых обычный компрессионный небулайзер, ничего сверхестесственного.
С моей точки зрения практично и просто. Мыть элементарно, ухода особого не
требует.
Сели, навели лекарство, включили. Ну гудеть я думал будет сильнее, но в
принципе не напрягает. Ребенок хоть и посидел немного, но особо его не
полюбил, поэтому чтобы лекарство не пропадало решил сам подышать и потом
понял почему ребенок шарахнулся от него.
Хоть и смысл любого небулайзера в том, чтобы сделать аэрозоль, но делают
они его по разному. Что до компрессионного, то тут аэрозоль делается под
воздействием сжатого воздуха. Хоть воздух и подается не прямо в рот, но
отраженная струя воздуха имеет место, что я на себе и ощутил, когда после
этого 3 дня ходил с ощущением как будто сутки не пил и в горле все
пересохло, хотя кашлять особо я и не кашлял до этого, то тут тупо от
сушняка подкашливал.

Наконец, приехал мой заказанный ультразвуковой меш-небулайзер. Компактен,
бесшумен и нет того эффекта струи воздуха. Ребенок сам взял в руки и ходил
дымил с ним по комнате, конечно полный цикл он не продышал, но потом еще
стоял просто держа в руках и вдыхал частично струю без маски, которую я
снял.
Да, такая вещь требует больше осторожности и ухода, но и преимущества есть.
Главное что дышишь просто аэрозолем естественным путем, а не струей воздуха
с частицами. Работает от батареек (для противников можно купить
аккумуляторы обычные батарейки ну или вообще сетевой блок), поэтому не
привязан к месту. Чистка конечно после каждого использования требуется и в
принципе в любом небулайзере необходима, ведь пользуется им обычно больной
человек, а как лечиться, если там будут оставаться микробы с предыдущего
раза. Главное в таких небулайзерах не касаться меш-сетки, ну и хранить
бережно.

Собственно меш-небулайзеры стоят дороже, чем компрессионные (от 3000 против
1500-2500 за компрессионные), но они и стоят того.

Перед покупкой рекомендую почитать отзывы о конкретной модели, а также
уточнить наличие в городе сервисного центра, так как меш-сетка хоть и
долговечна при должном уходе, но все же является расходным материалом.
delagen

Цирк должен оставаться "Цирк

В организации под названием " Кировский государственный цирк" ко всему
относятся с юмором, даже к клиентам.

Если театр начинается с "вешалки", то цирк в Кирове начинается с "цирка".

В кои то веки вы собрались в цирк, не потому может кто там есть на что
посмотреть, а просто ну надо ребенку впечатлений хоть каких-то, так как
современное цирковое представление это 20% животных, 20% укуренных клоунов
(которые даже ребенка не рассмешат, куда уж до взрослого), и 106%
танцевальной и прочей хореографической фигни (ну чтобы соблюсти эпические
146%)

Заходим на сайт circuskirov.ru, дизайн фиг с ним (цирк же все таки), но
когда пытаешься заказать билеты начинается фееричный пиздец. Я опущу
удобство чисто дизайнерское типа чебоксов на схеме цирка и прочее... Начнем
с основного, что выдает что у цирка нет и 10000руб. на нормального
программиста и немного времени на оформление договора с банком.
Бронируем билеты. И что выдает система? Выдает что вы можете оплатить
билеты переводом *частному лицу* на банковскую карту (указан номер и срок
действия... странно что CVC2 не указали, ну и лицо на которое оформлена) по
сбербанку... ну куда уж легальный платеж. так только совместные закупки
работают.
После этого я должен *отзвониться* на мобильный номер, чтобы сообщить а
собственно за что пришли деньги. Занавес.
Самое веселое, что номер заказа система не сообщает. Оно приходит *на почту*,
о чем пользователь наверное должен догадаться. Ну и конечно его сложно
вывести сразу в той фееричной херне что выводят после заказа:

*Ваш заказ принят. Билеты необходимо оплатить в течение 48 часов с момента
заказа на карту Сбербанка переводом частному лицу в любом отделении
Сбербанка или через систему Сбербанк ОнЛ@йн, (номер карты:
xxxxxxxxxxxxxxxxxx, (18 цифр) срок действия до: xx/xxxx (включительно)).
Если заказ не оплачен вовремя, то он автоматически аннулируется, билеты
поступают в продажу. Все неоплаченные брони независимо от момента заказа
снимаются за 24 часа до начала мероприятия. После перечисления оплаты Вам
необходимо сразу же сообщить об этом по телефону: 8-963-xxx-xx-xx. Билеты
можно получить перед мероприятием в кассе продажи забронированных билетов
Кировского цирка, назвав свою фамилию, номер заказа и код, который сообщит
Вам наш администратор после оплаты заказа. Данная информация продублирована
на Вашу электронную почту.*

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

Короче дальше веселее... Оказывается можно оплатить в кассе. Приходим в
кассу. Их там оказывается две. Причем та которая выдает брони закрыта и
кассир вызывается по звонку... естественно никакого безнала, только нал.

Короче совок он и везде совок, как бы не пытались шагать со временем в
ногу... нужно вначале привести в порядок головы.
delagen

Эпопея с продуктом за который просят деньги

По работе встала "необходимость" контролировать почтовую переписку.

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

Вроде нашли продукт продаваемый UserGate.
Собственно вот описание http://usergate.ru/products/gatewall_mail_security/.
Понятно что тут подписка, но стоит дешевле и по управляемости получше чем
многие конкуренты, которые на деле вообще в этом режиме не умеют
перехватывать почту в шлюзе, хотя не понимаю, что в этом сложного?
Перехватывать почту в шлюзе проще некуда. Нужно реализовать бородатый SMTP
протокол.

Ну ладно. Сказано сделано. Поставили, тестим.

Вроде на тексте отрабатывает нормально. Шлем вложения.
Оказалось, что файл docx не отработал.
С этого момента началось общение с техподдержкой, которое продолжалось
почти 5 месяцев в надежде на то, что мы что-то делаем не так.
Ну ладно... в начале оказалось что они не поддерживают docx. зато работают
с odt.
Ну думаю, ведь docx это архив. Наверное и архивы не смотрят. Ну да..
оказалось так.
Общение с ТП навело на ExtensionPack. Который по сути является набором
команд выполняемых для файлов с определенным расширением.
За все время мне так и не смогли довести его до ума.

Результат.
Продукт НЕРАБОЧИЙ. С хуя ли я должен платить за него деньги? Да и вообще не
понимаю тех кто его купил.

Список НЕРАБОЧИХ фич продукта:
1. Тип вложения не детектится: авторы наивно полагаются на сознательность
отправителя.
Переименуй файл zip в doc и все пройдет как по маслу, потому что все
фильтры отработают в FAIL. а блокировать почту где не отработал какой то
фильтр вообще бред.
2. Раз тип вложения не детектится, то смысл дальнейшей обработки сводится к
нулю
3. Поддержка архивов нулевая.
4. Поддержка форматов тоже неполная... походу даже новый Office 2007 XML не поддерживается полностью.


Последний ответ ТП:

Приветствую!
0. Извиняюсь за задержку с ответом.
1. Надо поправить исполняемую строку, и все будет работать.
2. Это недокументированные опции и поэтому фактически разработчик сказал
мне тестируй сам, файлы бери там, и коммандную строку настраивай сам.
3. Сейчас Mail Security реализуется на новой платформе, под Linux. Пока
говорить о сроках рано, но решение явно будет получше текущего в плане
функций и управляемости. Вобщем если останутся ещё вопросы, пишите.
Постараюсь завтра ответить.

Короче не хватает у них человека, который мыслит как злоумышленник.

Собственно очередной говно-проект очередной говноконторы.

Сколько раз пытался пользоваться например Proxy от Usergate столько же раз
плевался и сносил его к хуям, ибо в этой конторе походу все сделано на
отъебись.