Search
Write a publication
Pull to refresh
39
0
Юрий @yurixi

Программист

Send message

Я пришел на собеседование с лайвкодингом — и меня с позором размазали

Reading time5 min
Views86K


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

На первом же созвоне прошло сложное техническое интервью — что нормально — но только в самом конце его объявили «первым этапом, скринингом». Второй этап вел эйчар, третий — настоящие посланники ада. Два человека наперебой заваливали техническими вопросами про дотнет, не давали ни подумать, ни ответить и переходили к следующему.

Я справился странно. Именно странно. На несколько вопросов, которые дотнетчик не может не знать я ответил неправильно, на несколько таких, которые знает далеко не каждый, я ответил хорошо. Вот так бывает, я не сказал, что такое финалайзер, потому что начинал учиться с плюсов, и запомнил его как деструктор. Зато рассказал про поколения в сборщике мусора.

Они похоже оценивали просто количество ответов, иначе как тогда они могли апрувнуть человека, который не знает про финалайзер — это необходимое знание даже для стажера в .net.

Я был ослеплен «успехом» и согласился на финальный этап — лайвкодинг. И вот там мне и пришлось переосмыслить значение слова «жопа».
Читать дальше →

Заметки Дата Сатаниста: честность модели

Reading time4 min
Views8.5K
Один из ключевых фундаментальных принципов обработки данных, согласно GDPR, это право человека на объяснение принятого решения и честность этого решения.

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


Картинка взята отсюда

И разберем на простом примере выдачи кредитов: какие проблемы могут возникнуть, какие подходы к ним бывают и что из этого обычно получается.

Задача: по данным пользователя выдать решения и вероятности того, что не произойдет дефолта кредита. Причем таким образом, чтобы наши модели машинного обучения не попали под раздачу со всеми законами о дискриминации.
Читать дальше →

Песочный алфавит при помощи генеративных алгоритмов

Reading time6 min
Views9.7K
image

В посте есть результаты экспериментов с различными биологическими и физическими закономерностями, в частности песочный сплайн, дифференциальная решетка, песчаные творения и песочные знаки.
Осторожно, тяжелые красивые картинки

Квантовая теория. Вселенная из волн вероятностей

Reading time24 min
Views87K
Квантовая теория является одной из самых точных моделей, описывающих окружающий нас мир, а технические решения, разработанные благодаря применению аппарата квантовой механики, прочно вошли в повседневную жизнь современного общества. И тем удивительнее, что понимание даже базовых концепций этой сферы знаний вступает в серьезные противоречия с интуицией, не только людей далеких от науки, но и самих исследователей, подтверждением чему является большое количество различных интерпретаций. В этой статье, предлагаю рассмотреть основные понятия квантовой теории с показавшейся автору наиболее интуитивно-понятной точки зрения, несколько модифицированной теории вероятностей.

image Что будет, если по аналогии с двущелевым опытом, все пространство на пути частицы до экрана будет заполнено щелями?
Читать дальше →

Проблема останова лжеца Гёделя и брадобрея Кантора

Reading time12 min
Views17K

Здравствуйте, меня зовут Дмитрий Карловский. А вы на канале Core Dump, где мы берём различные темы из компьютерной науки и деконструируем их по полочкам.


А на этот раз мы разберём тему "абсурда" — почему он возникает и к каким странным последствиям приводит неосторожное обращение с ним. Докажем, что Санты не существует. Научимся пересчитывать линейки. Остановим временную петлю. И элегантно преодолеем столетний кризис оснований математики.


Так что забирайтесь в кроличью нору — вас ждёт короткое, но увлекательное приключение.



Вы можете либо посмотреть видео запись, либо открыть в интерфейсе проведения презентаций, либо читать как статью...

Читать дальше →

Антипаттерн “константа размера массива”

Reading time3 min
Views11K
Перевод статьи подготовлен в преддверии старта курса «C++ Developer. Professional».




Хочу обратить ваше внимание на антипаттерн, который я часто встречаю в коде студентов на Code Review StackExchange и даже в довольно большом количестве учебных материалов (!) других людей. У них имеется массив, скажем, из 5 элементов; а затем, поскольку магические числа — это плохо, они вводят именованную константу для обозначения количества элементов «5».

void example()
{
    constexpr int myArraySize = 5;
    int myArray[myArraySize] = {2, 7, 1, 8, 2};
    ...


Но решение это так себе! В приведенном выше коде число пять повторяется: сначала в значении myArraySize = 5, а затем еще раз, когда вы фактически присваиваете элементы myArray. Приведенный выше код столь же ужасен с точки зрения обслуживания, как:

constexpr int messageLength = 45;
const char message[messageLength] =
    "Invalid input. Please enter a valid number.\n";


— который, конечно, никто из нас никогда не напишет.
Читать дальше →

Как нарисовать звезду (и не только) в полярных координатах

Reading time6 min
Views36K
Вопрос о формуле для многоугольника в полярных координатах регулярно возникает на тематических ресурсах — и так же регулярно остаётся без внятного ответа. В лучшем случае попадается решение через функцию остатка от деления — что не является «чистым» с математической точки зрения, поскольку не позволяет производить над функцией аналитические преобразования. Видимо, настоящие математики слишком заняты решением проблем тысячелетия и поисками простого доказательства теоремы Ферма, чтобы обращать внимание на подобные банальные задачи. К счастью, в этом вопросе воображение важнее знания, и для решения этой задачи не нужно быть профессором топологических наук — достаточно знания школьного уровня.
Дальше больше картинок

Машинное обучение. Нейронные сети (часть 2): Моделирование OR; XOR с помощью TensorFlow.js

Reading time6 min
Views19K
Статья является продолжением цикла статей, посвященных машинному обучению с использованием библиотеки TensorFlow.JS, в предыдущей статье приведены общая теоретическая часть обучения простейшей нейронной сети, состоящей из одного нейрона:

Машинное обучение. Нейронные сети (часть 1): Процесс обучения персептрона

В данной же статье мы с помощью нейронной сети смоделируем выполнение логических операций OR; XOR, которые являются своеобразным «Hello World» приложением для нейронных сетей.
В статье будет последовательно описан процесс такого моделирования с использованием TensorFlow.js.

Искусственный интеллект в области юриспруденции. Статья 3

Reading time45 min
Views7.4K

Введение


Мы продолжаем цикл статей на тему юридического искусственного интеллекта, аспектов его разработки и перспектив практического применения на отечественном рынке. В предыдущих публикациях мы неоднократно говорили, что, по нашему мнению, разработка Legal AI может быть обеспечена с помощью создания и применения нового семантического блока, включающего в себя:


  • инструменты лингвистического анализа текстов на естественном языке;
  • структурированную модель юридических знаний (графы знаний и онтологии);
  • предобученные нейронные сети.

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


  1. Какова роль онтологий в процессе создания искусственного интеллекта?
  2. Почему существующие онтологии в области права неприменимы для Legal AI, несмотря на многолетние попытки зарубежных специалистов структурировать юридические знания?
  3. Какими свойствами должны обладать онтологии для Legal AI, чтобы решать практические задачи?

Читать дальше →

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

Reading time7 min
Views33K


Пару лет назад я был переполнен злобой и отчаянием. Я был тем парнем, который сто лет просидел в одной большой компании, выгорел, но еще не узнал, какой за пределами гигантский рынок. Выгорание меня пугало. Я сомневался в своих скиллах и верил намекам начальства, что работу лучше этой хрен найдешь.

Я не знал куда деваться, превратил отчаяние и злобу в текст, и мне это понравилось. Понравилось настолько, что в глубине души я стал радоваться любому дерьму в своей жизни — только из дерьма получался хороший материал. Хуже того, я начинал искать дерьмо специально.
Читать дальше →

Создаем EXE

Reading time14 min
Views67K
Самоизоляция это отличное время приступить к тому, что требует много времени и сил. Поэтому я решил заняться тем, чем всегда хотел — написать свой компилятор.

Сейчас он способен собрать Hello World, но в этой статье я хочу рассказать не про парсинг и внутреннее устройство компилятора, а про такую важную часть как побайтовая сборка exe файла.
Читать дальше →

Байки из дежурного склепа

Reading time13 min
Views21K
Предварительное уведомление: пост этот сугубо пятничный, и больше развлекательный, чем технический. Вас ждут весёлые истории об инженерных факапах, байки с тёмной стороны работы сотового оператора и прочий легкомысленный шорох. Если я где-то что-то приукрашу — то только для пользы жанра, а если навру — так всё это дела дней настолько минувших, что никому от того вреда не будет. Но если цепанёте глазом техническую или ещё какую лажу — поправляйте меня нещадно, я всегда был на стороне справедливости.

Внимание, начинаю без разгона!

Backdoor во двор


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

Как-то утром к зданию подъезжают тогда ещё милицейские машинки, на всех проходных встают милиционеры и проводят досмотр всех уходящих. В служебную рассылку прилетает алерт: внезапно (действительно внезапно, не как обычно) нагрянула проверка на лицензионность софта, будут досматривать рабочие станции. У кого что на компах есть пиратского — надо сносить вотпрямща!

Безусловно, всё, что касается операционных систем, офисного и служебного софта — то большей частью было лицензированное. Но не всё, не всегда и не везде; а уж что себе сотрудники наставили на служебные ноутбуки — история совсем тёмная. Я ринулся проверять машины в своей зоне ответственности на пиратщину, что-то по быстрому снося…

… А в это время в дежурку торопливым и нервным шагом начинают входить инженеры, с ноутами и системниками в объятьях. Входят они через дверь, а выходят, похихикивая от абсурдности ситуации, через окно: все проходные перекрыли, а вот о таком бекдоре демоны правопорядка не додумались. Так, пока шла проверка бухгалтерии (где всё было образцово-показательно), сотрудники и вытащили всё палево.
Читать дальше →

Судьбы героев

Reading time11 min
Views23K
В конце есть краткое содержание.

Герои – это такие сотрудники. Вы их наверняка видели. Возможно, и вы – герой.

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

Или по-другому. Неуправляемые. Нарушающие все мыслимые и немыслимые правила. Не укладывающиеся в сроки. Требующие к себе особого отношения. Выскочки. Непонятные, пугающие, выводящие из себя.

Отношение к героям внутри компании – всегда разное, и зависит, в первую очередь, от точки обзора. Объединяет героев одно – трагическая судьба в компании. Примеров долгой и успешной карьеры – единицы, а случаев выдавливания из компании любыми способами – масса.
Читать дальше →

Как мы в 1С: Предприятии работаем с моделями данных (или «Почему мы не работаем с таблицами?»)

Reading time10 min
Views37K
В этой статье мы хотим рассказать о том, какая модель работы с данными выбрана в платформе 1С:Предприятия и почему.

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

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

NIST объявило о начале третьего этапа стандартизации постквантовой криптографии

Reading time4 min
Views6.6K

Привет, Хабр. Недавно NIST на своем сайте объявили о старте третьего этапа стандартизации постквантовой криптографии. В третий этап прошли 3 кандидата на цифровую подпись и 4 кандидата на асимметричное шифрование. Так же были представлены 8 альтернативных кандидатов. Я подумал, что хабровчан заинтересует данное событие. Более подробнее под катом.

Читать дальше →

Подкаст: квантовый хакинг и распределение ключа

Reading time11 min
Views2K
В третьем выпуске принял участие Антон Козубов, руководитель теоретической группы лаборатории квантовых процессов и измерений. Мы обсудили его работу и специфику отрасли.

Аудиоверсия: Apple Podcasts · Яндекс.Музыка · PodFM · Google Podcasts · YouTube.

История IT. Когда компьютеры были большими…

Reading time11 min
Views14K

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


Поэтому появился авторский текст, написанный, преимущественно, на основе моих собственных представлений. Он проверен по материалам википедии – там есть общий таймлайн в серии статей (этот откроется на 1957, наверху можно выбрать конкретный год), есть обзорная английская статья, которая, на мой взгляд, не раскрывает логику развития, а говорит о фактах, и есть статьи, посвященные отдельным языкам. Статьи по отдельным языкам как раз включают не только его описание, но и логику создания и развития языка. Но – изолированно от других, и простая сборка не даст целостной картины, а наоборот, будет содержать противоречивые фрагменты. Зато эти статьи позволяют проверить, насколько твои представления соответствуют реальной истории, и поправить их – что я и проделал.


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

Читать дальше →

Работа с файлами в JavaScript

Reading time24 min
Views117K
Доброго времени суток, друзья!

Мнение о том, что JavaScript не умеет взаимодействовать с файловой системой, является не совсем верным. Скорее, речь идет о том, что это взаимодействие существенно ограничено по сравнению с серверными языками программирования, такими как Node.js или PHP. Тем не менее, JavaScript умеет как получать (принимать), так и создавать некоторые типы файлов и успешно обрабатывать их нативными средствами.

В этой статье мы создадим три небольших проекта:

  • Реализуем получение и обработку изображений, аудио, видео и текста в формате txt и pdf
  • Создадим генератор JSON-файлов
  • Напишем две программы: одна будет формировать вопросы (в формате JSON), а другая использовать их для создания теста

Если Вам это интересно, прошу следовать за мной.

Код проекта на GitHub.

Как я проработал 4 с лишним года в семье Газпрома, уволился и… выращиваю помидоры

Reading time20 min
Views37K
Чувак: — Что писать?
НЛО: — А что ты хочешь?
Чувак: — Попрактиковаться в русском, проверить — не вмерло ли чувство юмора, да чтоб молодёжь (рус. джуны) поучилась на чужих ошибках.
НЛО: — Так и пиши…

Update: НЛО вынудило автора выкинуть весь syntactic sugar из статьи, хотя он был изменён до неузнаваемости буквой @. Афтор от шока сначала хотел выпить йаду, но потом передумал — кто ж за помидорами да перцем ухаживать будет!? Он просто заменил syntactic sugar тэгами [ОПС] — очень плохое слово… а потом понял что и это запрещено. О дивный новый мир! В итоге получилась статья без эмоций. Не обессудьте. Хоть и скучная, но зато политкорректная.

Модератор: без мата и эвфемизмов статьи тоже выглядят классно. Йад пить не надо, йод тоже — аффтары, пешите исчо.

«А как и почему вы решили стать фронтенд-разработчиком? Что в профессии хорошо, а что нет? Рассказывайте в комментариях, поможем тем, кто стоит на распутье» — написали относительно недавно ru_vds в самом конце статьи, а жирным выделил я.

Прочтя «поможем», без всяких задних мыслей сразу вспомнился человек который всем помогал, из «Моря исчезающих времён» от Маркеса, Габриеляна Гарсиевича.

Из «Моря исчезающих времён»
Он не пошёл спать. Он появился в лавке Катарино, в сопровождении мужчин, которые несли его баулы, а за ним всё шли толпой люди со своими проблемами. Он решал их одну за другой, и решил столько, что в конце концов остались только женщины и несколько мужчин, чьи проблемы были уже решены. В глубине комнаты одинокая женщина неторопливо обмахивалась какой-то рекламной афишкой, словно веером.
— А ты, — крикнул ей сеньор Герберт, — у тебя что за проблема?
Женщина перестала обмахиваться.
— Я вашего праздника не касаюсь, мистер, — крикнула она через всю комнату. — Нет у меня никаких проблем, я — проститутка, так уж у меня устроено нутро.

/* В оригинале покруче. Причуда такая у переводчиков — беспокоиться о нашем «облико морале», вот и сглаживают «исходный код». Прям как Хабр. */

Читать дальше →

Information

Rating
8,609-th
Location
Иркутск, Иркутская обл., Россия
Registered
Activity