Pull to refresh
7
Karma
0
Rating
Александр @yizraor

Программист

Мы стоим на пороге кризиса «Фальшивой науки»

Да, фейковые новости — та ещё проблема.
А ещё есть "шокирующие открытия", которые гонят в эфир с канала "RenTV". И насколько искажённое представление о науке получат люди, в поле зрения которых попадает этот канал?
В общем, зомбируют нас со всех сторон...

«Коллектив-змеюшник» как фактор демотивации персонала

Дааа, бывают руководители, которым "выгоден" гадюшник. Они думают, будто выглядят на их фоне лучше и "авторитетнее". Белее и пушистее. Видел такого. И поговорку "свита делает короля" при нём лучше не произносить :)
Знаком и с таким коллективом, где женщины все как на подбор. Зато в мужской половине — окопался адский гадюшник, с ядром из 2-х психопатов.

MEX (Minimum EXcluded) Алгоритм поиска минимального отсутствующего числа

О, кстати, вижу что я ошибся при оценке авторского алгоритма просеивания. Там же из-за инициализации массива будет асимптотика не O(n), а O(max(n,m)). Можно упростить до O(m), если во входных данных нет повторений, т.е. n<=m.


А хэш-таблицы не стоит выбрасывать из рассмотрения. И вот почему — алгоритм просеивания (хоть авторский, хоть оптимизированный) рассчитан только на работу со множеством целых чисел!
А что если множество состоит из других объектов? Да, к этому случаю возможно адаптировать просеивание, если назначить каждому объекту какой-то числовой (порядковый!) индекс. Для этого нужно определить порядок объектов во множестве — т.е. выполнить сортировку множества перед просеиванием. И сортировка эта будет стоить минимум O(m*log m), ухудшая асимптотику всего алгоритма.
Правда, если планируется выполнять алгоритм просеивания много раз на различных входных данных (но на одном и том же множестве объектов), то повторять сортировку множества не нужно — и получаем довольно быстрый алгоритм с предварительным расчётом.

MEX (Minimum EXcluded) Алгоритм поиска минимального отсутствующего числа

Да, Вы правы.
После Вашего комментария, я понял идею оптимизированного алгоритма просеивания.
(тяжело понимать автора — у него вроде как берётся массив в размере множества; а Вы объясняете с оптимизацией по дополнительной памяти до размера входных данных)

MEX (Minimum EXcluded) Алгоритм поиска минимального отсутствующего числа

Hash таблицы хороши если мы пытаемся найти значение которое точно есть, или то которого нет.

Так нам это и нужно!
Делаем в два прохода по набору исходных данных.
Проход 1 — запихиваем всё в хэш-таблицу.
Проход 2 — для каждого значения x в исходном наборе данных проверяем наличие в хэш-таблице значения, равного x+1. Если x+1 не найдено — значит, это потенциальное решение задачи.
Конечным результатом будет минимум между всеми отсутствующими в хэш-таблице x+1. Дополнительно надо проверить минимальное и максимальное значения в исходных данных (на любом из проходов).


P.S.:
Таким алгоритмом решается целый класс задач.
Вот ещё один пример: "найти в массиве все пары чисел, сумма которых равна числу m".

MEX (Minimum EXcluded) Алгоритм поиска минимального отсутствующего числа

Ужасный пост.
О проблемах с O-нотацией уже сказали, не буду повторять.
Скажу лучше про затраты памяти. То, что некоторые быстрые алгоритмы требуют дополнительной памяти — это приемлемо. Как говорится, "за всё надо платить", за скорость в том числе. (и наоборот — за экономию памяти алгоритмы, как правило, платят скоростью)
Стёб же над "математиками" — совершенно неуместен.


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


Примерно так:


  1. Тривиальное решение ("в лоб") — не требует дополнительной памяти, но является квадратичным — O(n^2). Впрочем, производительность приемлема на крошечных множествах.
  2. Решение, основанное на сортировке — работает с асимптотикой используемого алгоритма сортировки, т.е. не быстрее чем O(n*log_n). Алгоритм не зависит от размерности рассматриваемого множества.
  3. Просеивание — работает с асимптотикой O(n), но требует дополнительной памяти O(m), где m — размерность множества. Память O(m) серьёзно ограничивает применимость алгоритма на практике, тем не менее — где-то и он может пригодиться.

P.S.:
Вижу алгоритм, работающий за O(n), с дополнительной памятью тоже O(n).
(использовать хэш-таблицу)

Bloody hell и другие английские выражения, которые помогут сойти за британца

Ммм, а не могло оно произойти от русского слова "блуд"?
Вот тут попадание по смыслу очень даже.

Бриз перемен: опыт внедрения «Р7-Офис» в энергетической компании

Думаю, Вы правы.
Но меня вчера так выбесил манипулятивный характер публикации… Не смог пройти мимо речевого ляпа. И до кучи прицепился к нему тоже.


А хотя, я понял кому эта публикация предназначена.
Она не для нас, простых исполнителей. И не для конечных пользователей продукта. Она — для начальства, которому принимать решение о переходе на импортозамещённый продукт.
А что, похлопали глазками насчёт "лёгкости" и безболезненности перехода, умалили и обесценили трудности простых пользователей и программистов (ага, чтобы их "нытьё" начальство и слушать не хотело), и дело в шляпе!

Бриз перемен: опыт внедрения «Р7-Офис» в энергетической компании

А в энергетике много специальной терминологии, и весь документ из-за этого выглядит красным – Р7 воспринимает эти слова как ошибочные. И это жутко раздражает. Если честно мы вообще не понимаем, в чем тут проблема.

Бешено аплодирую! Действительно, ну какие тут проблемы? Подумаешь, глаза кровью текут — зато же ж импортзамещение. Гос.показуха — всё, люди — ничто!


Все говорят, что пользуются макросами, и ты говори

Ну вы тут грамотно высмеяли тех людей, которые не горят желанием переписывать на JavaScript свои макросы. Аплодирую стоя!
Только вот, стороной обходите вопрос — а что даёте на замену для MS Office VBA? Стесняетесь? Понимаю вас, тут хвастать нечем. API довольно куцый, а документация к нему — и вовсе "дас ис фантастишь!". Вот, наглядный пример: getvalue, getvalue2. Очень информативно, не правда ли? А как старательно все хелпы переведены на родной язык оболва... импортозамещённого отечественного покупателя! И как функционален сам API — тут аж на колени падаю от восхищения!..
Ну а удобной среды для разработки макросов и вовсе нет. Всё, что дали разработчики — это простенькое окошко для ввода текста, с пафосной пародией на Code Completion. Да и та, в любом месте кода выдаёт один и тот же, насквозь бессмысленный, список завершения.
Ну, кто это видел — тот в цирке уже не смеётся...


Еще пользователи поначалу могут упрекать новый продукт в медлительности. Однако факты этого не подтверждают, в целом «Р7-Офис» работает не менее быстро, чем импортный аналог.

А какими способами вы это проверяли? Напишите статью с описанием всех тестов! И тесты должны быть воспроизводимыми — чтобы любой мог их повторить и, наконец, поверить :)

Особенности портирования сложного модульного ПО написанного на Delphi под ОС Linux

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

Кто такие шизоиды, где они обитают, и почему вам может быть полезно о них узнать

Спасибо за труд! (по созданию этой публикации)
Многабукаф, но осилил легко.
Всё про меня (не удивлён, т.к. давно в курсе)
Впрочем, и кое-что новое по теме для себя узнал


P.S.:
аффтар, пешы исчо!

Почему женщины живут дольше

Интересную Вы тему затронули, но с выводом насчёт "работы по дому" не угадали))
Попробуйте погуглить о том, какие "косметические" средства использовались средневековыми женщинами. Там уксус, соединения свинца, ртути, сурьмы, а также соки ядовитых растений… и много чего ещё, весьма опасного для здоровья и долголетия.

Рекомендации по дизайну UX мобильных игр

Как вы видите, в наиболее легкодоступной области лучше всего располагать интерактивные элементы, ведущие к монетизации

Спасибо, посмеялся ))


Раньше вроде сюда клали кнопку для наиболее часто используемой возможности (меню/пауза/игровая абилка/назад/подтвердить...), а теперь — "монетизацию".
Я понимаю, что (UX != Usability), но какой-то баланс должен же быть между алчностью и уважением к пользователю

Полюби Козла

Понравилось.
По-простецки написано, но жизненно...

Конференцию PHP Central Europe отменили из-за того, что среди выступающих не оказалось женщин

Если речь идёт о конференции, то разве важно, какого цвета люди в это время ходят на улицах?
На конференции ждут не белых, не чёрных, не красных… а специалистов своего дела.


Кстати, у понятия "специалист" нет ни пола, ни цвета кожи, ни сексуальной ориентации.
Вдумайтесь в это. И перестаньте спекулировать на половых и расовых принадлежностях.


Заголовок спойлера

Вы пишете "Это несоответствие пропорций указывает на наличие каких-то проблем в обществе."
Ну да, есть у них проблемы, и Вы сами в курсе, какие.
Критиковать Вы горазды, а что предложить сможете, если среди желающих быть докладчиком не нашлось достаточно компетентных женщин и чернокожих?
Выпустить некомпетентных представителей из "нужных" слоёв населения? Но тогда конфа станет цирком, а некомпетентные люди — будут выглядеть в нём клоунами (за что потом затаят обиду, несомненно). И кому будет лучше?
Не хотите оскорблять некомпетентных людей, делая из них посмешище — значит набирайте пришедших компетентных, кем бы они ни были — хоть мужчинами, хоть женщинами, хоть австралийскими тушканчиками…
Тупо срывать мероприятие из-за "неправильного состава" докладчиков — тот ещё маразм.


Вообще, удивляют эти европейские замашки. Равенства прав и возможностей они давно уже достигли. Казалось бы, оторви жопу от стула, развивайся в выбранной области, но нет — гораздо легче и выгоднее требовать равенства результатов.
Вот, не так давно во Франции штрафовали министерства за то, что женщин на руководящих должностях меньше 40%. Видите ли, закон принят не так давно про "гендерное равенство". А мне вот хочется спросить — "кадры-то подготовили заранее, прежде чем закон принимать?" Теперь вот мучаются, ага — не хватает им для 40% компетентных и пригодных к руководящих должностям женщин. Или набирай кого попало из ближайшей подворотни, выкидывая на обочину жизни профессионалов своего дела (единственный недостаток которых — имели несчастье родиться мужчинами), или плати штрафы.
И кстати, мучит вопрос — почему речь в том законе идёт только о руководящих должностях? А за равенство среди обычных исполнителей кто будет бороться? Что, женщины во Франции не хотят работать, а хотят только "царствовати и всем владети"?

Mash, основы языка

Т.е., условие мы пишем в начале цикла, а по факту проверяется оно в конце?


ИМХО: это будет путать программиста, привыкшего ставить условие там (в начале или конце), где оно должно проверяться.


Раз уж Вы решили дифференцировать циклы по истинности/ложности условия (while/until), то стоит добавить ещё 2 разновидности:
1) loop...while ( условие );
2) loop...until ( условие );
%-)


P.S.:
Замена "this->" на знак $ мне понравилась — приятный сахарок :)
Но выглядит лишним слово "end" после каждого "case" в операторе "switch"...

Mash, основы языка

Забавненько!


Циклы "while" и "until" отличаются только способом обработки условия. И, по всей видимости, оба являются циклом с предусловием (хотя в упомянутом Паскале — цикл "repeat...until" — это цикл с постусловием).
Цикл "for" явно Сишного вида, и значит — тоже цикл с предусловием...


А где же в "новейшем" языке цикл с постусловием?

Композиция против наследования, паттерн Команда и разработка игр в целом

Спасибо за интересную публикацию!
Зачастую даже в умных книгах авторы не всегда утруждаются подачей вразумительных примеров.
У Вас в тексте просто по диагонали глазами пробежался, и вроде ничего нового… но то, что знал ранее, стало гораздо более понятным, как-то лучше в голове уложилось вместе с полезной рекомендацией ("is-a" / "has-a" для выбора между наследованием и композицией)...


P.S.:
Такой магии бы да побольше…
Пешыте исчо!

Вычисляем «магические квадраты» с помощью GPU

Хе-хех… Есть чрезвычайно простой алгоритм для создания "магических квадратов". Никакого перебора в нём вообще нет. Помню, в детстве у меня была детская энциклопедия по математике (от Аванта+), и в ней был описан алгоритм построения ("Меланхолия и магия в квадрате"). Заболев на 2-м курсе воспалением лёгких, лежал в больничке и, помимо решения японских кроссвордов, в тетрадке писал код на паскале, строящий "магические квадраты" заданной размерности. Неплохо развлёкся :)
Впрочем, переборный способ, наверное, неплох для демонстрации многопоточных техник и вычислений на GPU.

Целочисленная арифметика. Делим с округлением результата. Часть 1

Понял Вас.
Прошу простить за скептическое отношение.
Сам микроконтроллеры не программировал, и тонкостей не знал (про отсутствие сдвига на некотором железе), поэтому судил со своей x86-й колокольни :)

Information

Rating
Does not participate
Location
Москва и Московская обл., Россия
Date of birth
Registered
Activity