Category: it

Category was added automatically. Read all entries about "it".

сто друзей

Если дофига заплатить, то QA конечно будет, не может не быть

Компания Hewlett Packard Enterprise второй раз столкнулась с проблемой в SSD-накопителях с интерфейсом SAS, из-за ошибки в прошивке приводящей к безвозвратной потере всех данных и невозможности дальнейшего использования накопителя после 40000 часов работы (соответственно, если накопители одновременно добавлены в RAID, то и из строя они все выйдут тоже одновременно). Аналогичная проблема уже ранее всплывала в ноябре прошлого года, но в прошлый раз данные повреждались после 32768 часов работы.
================
Так пишет Таймс в лице Чиркова-Шигорина.

Во-первых, наглядно видно, как условный некто, починяя проблему, поднял таймер до более высокого значения, авось кривая вывезет. А там уже и отпуск, бонус, увольнение и гори весь этот HP синим пламенем. То, что называется отчуждением от результатов труда в умных словах. Или вообще модный аутсорс, где подрядчик сегодня орлёнок, а завтра орёл.

Во-вторых, наглядно видно, как можно заплатить кучу денег, ведь HP надёжная техника, это же вам не самосбор на линухах, как любит говорить Господин Инженер. Который, хотя наша редакция и отдаёт ему должное, что-то знает, но гарантировать своей зарплатой отсутствие таких факапов вряд ли возьмётся. Конечно, последователи могут и набежать в наш скромный бложик и доказать, что ibm это же совсем другое дело. welcome, господа. Я поржу.

В-третьих, наглядно видно, как будет работать будущая электронная трудовая. Я, как с одной стороны нарзаном измученный, с другой, воспитанный советской властью и повидавший комсомольских собраний, а с третьей, видевший это наше IT с трёж стороны баррикад, лучше уж останусь на старой доброй бумажке. Что и вам советую. Молодёжи же, которой электричество будет включено принудительно - копировать трудовые договора в домашний архив. Иначе будете потом плакать, что добрый CAE вас не предупредил.
Ну и повторюсь из handbook - backup & restore. Period.
сто друзей

Развели хлопца

У меня есть команда разработки, обходилась примерно в 1.5млн/мес, без налогов. Сначала они не могли работать, потому что им нужен был аналитик, потом не хватало тестировщика, после найма этих понадобился отдельный тимлид (плюсом к менеджеру), которому некогда код писать

Закончилось все примерно так: по условиям договора надо было исходный код записать на мат.носитель, а их не оказалось под рукой, в команде из ~10человек (2.5млн/мес) сд-болванку или флешку раздобыть было некому. Так я разочаровался в этом вашем ИТ

В каментах:
то есть им еще менеджера по бизнес-процессам не хватало?

ref: по наводке willy
сто друзей

Сысоева взяли за "нарушение" авторских прав на собственную разработку

О как! А мне ещё говорили - всем надо open source разрабатывать, а не закрываться. И регистрации права можно не делать, все всё знают и так по логину. А деньги брать за поддержку. Ну или там модули.

Ну вот, теперь видим наглядно, что надо вовремя регистрировать право на себя лично и продавать только закрытый софт.

Вся эта чешуистика с открытым кодом позволяет большим дядям выбросить на улицу разработчика, когда 99% процентов написано и посадить студентов за еду допиливать вместо него. Ну и в суде без всякого сказать "да мы устно дали указание - разработай самый крутой в мире сервер". Слова больших дядь весомее, потому что они могут и в суд заносить знакомым, когда те попросят, а Игорь не может.

Игорю - сил и удачи!
сто друзей

И про всеобщий коммунизм

Навстречу одному сегодняшнему празднику. Таймс пишет:
===================
В ответ на критику про затягивание релиза, лидер CentOS указал, что дистрибутив развивает всего три разработчика
===================

я как-то говорил уже, да и не только я - Open source это способ снизить затраты в отрасли, то есть пролетаризация труда. В инженерии в своё время это было патентование, в таксовании - это юбер-яндекс, а в программировании Брукс долго плакал, что серебряной пули нет, а оказалось - вот она - работа за еду в Google Summer of Code, чтобы потом можно было испытывать чувство глубокого морального удовлетворения от своего гитхаба. Правда, на хлеб этот гитхаб не намажешь, и в стойло бензиновое его не поставишь, но зато почесать ЧСВ можно, не выходя из квартиры. Ну а то, что у корпораций снизились затраты на ФОТ, потому что герои под правильную рекламу сами бегут показывать свой код друг другу - так это вышло случайно, вы не думайте, это не мы, и вообще, почему уже 10 минут не пишешь свободный код, а ну пошёл на галеры, сука! Субботник не закончился, все за работу, товарищи. "К топкам!".mp4.

Ну а результат вы видите в Таймс. Миллионы пользователей по всему миру, денег никто не заплатил (даже Чиркову на год собирают с трудом, хочется заметить, хотя это и не про центос) и всего три разработчика меняют слова red hat на centos. Скоро будет один, жрущий мало, ездящий на автобусе или вообще работающий из дома, а жены, которой нужна шуба, у него нет вообще, ну и весь мир будет говорить - "медленно пИшите, пишИте быстрее, а то поставим себе оракл". Ставьте, хочется сказать. Не пугайте, ставьте быстрее. Чем быстрее вы поставите оракл, тем быстрее настанет время, когда будет с кого брать абонплату за soft as service. Вы же сами этого и добиаетесь, ггг.
сто друзей

Вынесу из чатиков

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

Skype пошли обратнъм путем и все сделали на js + Electron. Рассказъвали как поддержка нескольких native команд бъло - дорого / некоординированно / качество скакало по платформам. Сейчас вон качество везде говно - зато ровно!
сто друзей

Отличный язык C++

So I can detect that opening the file wasn't successful, but I don't
know *why* (i.e. permissions, no such file or directory, etc.). My guess
is that strerror and errno still do what I expect them to do, however I
think that would be a very C-way to solve things.

Use strerror(), perror(), and errno and consider yourself lucky. The
C++ standard doesn't exactly promise that they will work for iostreams,
but they do for the compilers I use. That's the best you get for now.
==================

Здесь про открытие, но на чтении ровно так же.

Охуенно же! То есть, стандарт забыл о том, что файл, вообще-то, совсем не обязан читаться (ну тот, кто работал с дискетами 360, не говоря уже о более древних временах, меня поймёт очень хорошо). И, вообще-то, неплохо отделить ситуацию "файл не читается" от ситуации "конец файла". Ну и ругнуться в логи "no data" или как-то так. Мне же легче будет. Но стандарт писали не практики, как ув. Ларри Уолл (скажем даже св. влкмчнк. Ларри Уолл, не иначе реинкарнация Рамы), а идиоты. И отдали на откуп компиляторам. А те, ну хорошо, если сделают read, а потом будут гонять память, а если после read полезут в ядро виндов? А там всего лишь GetLastError. Который сообщит мне насколько удачно прошёл перфонманс каунтер вместо чтения из файла.

А я-то думаю, что за ерунда творится? А оказывается, что файл не читается, что конец у него - изофаллично для программы на C++. Впечатлён в очередной раз.

Вы всё ещё хотите, чтобы ваше дитё писало на этом чуде XX века? :) Дайте ему в руки лучше perl.
сто друзей

Ни добавить, ни убавить

Дочь Маруся учится на философском факультете МГУ. Сейчас увлеклась программированием. Учит С++
==============
Так пишут в интернетах.
Ну а потом мы удивляемся, отчего у нас программы кособокие, и после открытия файла никто не удосужится проверить и выдать ошибку (перестав работать, а не просто выдать в лог!). Учит C++ на философском. Прекрасно, чего уж! Я тоже за кросс-знания, но лучше всё-таки, чтобы пирожки "тачал" пирожник.

Данька, племяш, тоже учит, но хотя бы в технарском. Довольный такой, всё-таки не пых-пых, круто! Папка гордится, ясное дело. Хотя, правду сказать, я тоже когда-то учил, вроде всё просто, но только после 10-летней практики хоть что-то научился понимать в правильном написании, без ликов и тредово-безопасно. Сколько раз вы делаете new в списке инициализации членов класса типа shared_ptr? Вот-вот...
сто друзей

Вы как программист собрались писать в open source style? А не хотите ли послать?

Я уже писал, насколько потребительски относится средний программист к open source. Пришло ещё одно подтверждение. Вот, прямо даже скрывать имена не буду, народ должен знать своих "героев", так и процитирую:

Constantine Peresypkin: чуваки, кто-то знает ебучий синтакс постгреса? какого ебаного хуя: ``` devenv=> select data->'prog',data->'args' from events where id = '6621bb83-5147-4b82-a4de-389fb70ccaba'; ?column? | ?column? --------------+-------------------------------- "./start.sh" | ["-Y", "-n", "-E", "-S", "-j"] (1 row) devenv=> select data->'prog', json_array_elements(data->'args') from events where id = '6621bb83-5147-4b82-a4de-389fb70ccaba'; ERROR: function json_array_elements(jsonb) does not exist LINE 1: select data->'prog', json_array_elements(data->'args') from ... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. ```
Max Fedorov: ну подгони ему константные данные "select * from json_array_elements('[1,true, [2,false]]')"
Constantine Peresypkin: работает
и что теперь?
Max Fedorov: значит data->'args' не жесон
Constantine Peresypkin: еще варианты?
devenv=> select pg_typeof(data->'args') from events where id = '6621bb83-5147-4b82-a4de-389fb70ccaba'; pg_typeof ----------- jsonb (1 row)
не надо меня за дебила считать :)
и как текст тоже не работает
никак не работает, хотя в теории '[1,true, [2,false]]' - это текст, но не, блядь, работает
``` devenv=> select pg_typeof(data->>'args') from events where id = '6621bb83-5147-4b82-a4de-389fb70ccaba'; pg_typeof ----------- text (1 row) devenv=> select json_array_elements(data->>'args') from events where id = '6621bb83-5147-4b82-a4de-389fb70ccaba'; ERROR: function json_array_elements(text) does not exist LINE 1: select json_array_elements(data->>'args') from events where ... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. ```
Filippok: jsonb_array_elements
Constantine Peresypkin: во! сразу видно, да, так работает
aruslan: ох, это сейчас хорошо было! прямо энергетически жахнуло добрым утром :)
Max Fedorov: https://www.youtube.com/watch?v=OiUzycgw8qM
loyso: (звук) https://coub.com/view/yqwkb
Max Fedorov: https://www.youtube.com/watch?v=xmkifWcTXiI
aruslan: не даёте продохнуть!
Constantine Peresypkin: придумать две функции когда у них там повсеместно одна для нескольких аргументов - это сильно!
но я за синтакс спрашивал и ошибка таки в синтаксе и была
aruslan: думаю «ошибка в синтаксисе» имеет все шансы стать мемом.
Constantine Peresypkin: ну пиздец, я уже все волосы на жопе вырвал!
aruslan: камрад, мы с тобой :)

Замечу, платить никто не собирается. Документацию читать тоже никто не собирается. И obartunov Бартунов и vitus_wagner Вагнер доступны через соцсети и довольно популярны. Пользуясь постгресом и будучи русскоязычным не знать этого как-то нельзя. Я же знаю, хотя постгресом пользуюсь последнее время редко. Так что, можно им патч прислать, если уж есть ошибка, они закоммитят и протолкнут (ну или хотя бы в Postgres pro включат).
Но это больно сложно. Константинам Пересыпкиным надо чтобы дядя бесплатно им сделал, разжевал и в рот положил. Сами жевать не могут-с. Баре-с. Кстати, насколько я понял, живущие в Америке, где вообще-то за всё принято платить. Такие дела.
сто друзей

iqm (linux)

Как мониторить udp дропы на отсылке?
netstat -s -u
SndbufErrors: 28002897
Это показывает, скольким sendto вернётся EAGAIN если поставить MSG_DONTWAIT.
Дропы здесь появляются оттого, что не хватает буфера на сокет. При слишком частой посылке пакет не может разместиться, а qdisc его ещё не подхватил, поэтому дроп.

Далее идёт мониторинг очередей на отсылку (по умолчанию типа FIFO).
tc -s -d qdisc ls dev eth0
qdisc pfifo_fast 0: root refcnt 2 bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
Sent 8309882802 bytes 6782176 pkt (dropped 8376145, overlimits 0 requeues 20874)
backlog 0b 0p requeues 20874
Это показывает, что очередь на отсылку переполняется. То есть в буфер сокета он поступил, но qdisc видит, что допустим, в устройстве мест нет, или ещё по каким своим причинам, отбрасывает, тогда дропы будут видны здесь.

Когда мы поставили большой буфер, то sendto с MSG_DONTWAIT не вернёт EAGAIN, он разместит пакет в ядре и выйдет (то есть, формально sendto не знает, ушёл ли пакет реально или нет), и потом по ksoftirq будет отрабатывать qdisc и глядеть, влезает ли пакет куда-то или нет и будет делать дропы.
Так что отсылка на большой скорости в физический интерфейс с меньшей скоростью будет грузить процессор, но дропы будут видны не на интерфейса, а в qdisc.

Далее будут дропы на интерфейсе
ethtool -S eth0
tx_dropped: 0