Программист
Я выступил против некомпетентного менеджера, а его потом повысили
Хочется проснуться в понедельник без будильника и отправиться на прогулку в красивые калифорнийские горы. Посидеть на пляже, глядя на людей и вдыхая солёный воздух.
Шесть лет назад в один такой воскресный вечер я понял, что сил больше не осталось. Работа довела до полного изнеможения. По какой-то причине я был совершенно измотан. Хотя не напрягался физически, но зубы отчего-то сжимались до боли.
Я включил компьютер и сделал что-то невероятное для себя. Попросил помощи. Зашёл на HN и запустил новый тред. Я не знал, что и как сказать, но пальцы сами стучали, пока проблема не вылилась на страницу. Вот что я тогда написал: «Нас могут уволить, и я не знаю, что делать» (тред в разделе 'Ask HN', 114 комментариев).
Меня как фулстек-разработчика раньше всё устраивало. Коллеги обращались за советом. Я знал все входы и выходы из всех проектов моего отдела и некоторых других. В компании из тысячи человек все знали меня по имени. Я написал десятки инструментов, которые используются в компании по сей день.
Я больше не хочу работать, никогда и ни над чем. Но из меня научились выжимать результаты
Дерьмовое утро удалёнщика всегда начинается одинаково. Если детский плач не смог вытащить меня из кровати, то нытье жены сделает это с гарантией. Сумасшедшие девять утра, через час дейли-синк-ап, а за вчера, как всегда, сделано нихрена. Быстро варю кофе и за комп. За пять минут до созвона пулл реквест с кодом энтерпрайзного качества увесисто встал в очередь на билд. Иду курить, но по дороге телефон заорал — я зачем-то установил на него скайп, и теперь работа может добраться до меня где угодно. Курение откладывается, я готовлюсь возмущаться, что мне позвонили раньше положенного. Напялил наушники, принял вызов. Вместо привычной девушки менеджера созвон начал какой-то незнакомый мне чел. «Всем привет, Аня заболела, я буду её замещать». Окей, кому какое дело, с таким же успехом они могли бы прислать нам в качестве менеджера собаку — ничего бы не изменилось.
Как я проработала 3 месяца в Я.Маркете и уволилась
Первая попытка
Все началось с того, что я люблю ходить по конференциям и частенько хожу на них в Яндекс, Mail.ru и другие крупные компании. Однажды мне написал HR из Яндекса и попросила сделать тестовое на стажера фронтенд-разработчика.
Я его сделала, вот оно. По условию оно должно было работать на айфонах и андроидах, поэтому я проверила его в Browser Stack и дописала пару префиксов и css-стилей.
Через какое-то время поняла, что не хочу быть стажером, имея несколько лет опыта за плечами и зааплаилась в Я.Маркет через форму на их сайте.
Мне позвонила HR и предложила пройти скайп-интервью с лайвкодингом. Перед собеседованием я повторила структуры данных, сложность алгоритмов, сортировки. Тогда я еще не знала, что этого недостаточно.
На интервью я не смогла решить алгоритмические задачки, не знала внутренности JS и меня сбрили.
Это задело мою самооценку и весь следующий год параллельно с работой я учила JS на глубоком уровне и решала задачки на codewars. Здесь можно оценить мой прогресс.
Кармическое проклятье Хабра
Непредвиденные последствия
«Система кармы Хабра и ее влияние на пользователей» — это тема для курсовой как минимум
Тема про карму на «Пикабу»
Я мог бы начать эту статью с того, что я давно читаю Хабр, но это будет не совсем точным высказыванием. Правильный тезис звучал бы так: «я давно читаю статьи с Хабра» — но не интересовался тем, что происходит внутри сообщества, когда этой весной решил наконец-то зарегистрироваться. Это типичная ошибка человека, который приходит на Хабр из поисковика читать полезные статьи о тонкостях программирования или интересные новости из мира технологий. Пока ты видишь портал только с этой, положительной стороны, ты не задаёшься вопросами о том, что происходит под капотом. Конечно, в комментариях или статьях время от времени проскальзывали упоминания кармы — но ведь карма есть почти на всех крупных порталах (наивно полагал я), это нормально для саморегулирующихся интернет-сообществ.
Мне пришлось всерьёз задуматься об этом после того, как я неожиданно потерял возможность писать больше одного комментария в пять минут.
При этом внешне всё шло отлично: мои комментарии всё время плюсовали, мой рейтинг рос — и вдруг оказалось, что у меня отрицательная карма. Весь мой длительный опыт интернет-общения, все пользовательские привычки, да и банальный здравый смысл кричали мне, что это какая-то ошибка: показатель одобрения пользователя сайта другими пользователями сайта не может одновременно расти и падать! Но я решил не рубить сплеча, а провести небольшое исследование, как аналитическое (в виде изучения мнений пользователей о карме), так и статистическое (в виде анализа показателей аккаунтов).
IT — проект со школьниками: несколько рекомендаций
За последние 5 лет мне удалось создать десяток учебных проектов вместе со школьниками 8-11 классов в сфере информационных технологий. И вот я решил поделиться своим опытом в этой статье, надеясь на конструктивную беседу по такой актуальной теме. В статье я попытаюсь раскрыть технологию реализации IT — проекта как способа обучения, а также затронуть технические аспекты, которые помогут вашей команде достигнуть результата.
Многоязычный синтез речи с клонированием
Хотя нейронные сети стали использоваться для синтеза речи не так давно (например), они уже успели обогнать классические подходы и с каждым годам испытывают на себе всё новые и новый задачи.
Например, пару месяцев назад появилась реализация синтеза речи с голосовым клонированием Real-Time-Voice-Cloning. Давайте попробуем разобраться из чего она состоит и реализуем свою многоязычную (русско-английскую) фонемную модель.
Строение
Наша модель будет состоять из четырёх нейронных сетей. Первая будет преобразовывать текст в фонемы (g2p), вторая — преобразовывать речь, которую мы хотим клонировать, в вектор признаков (чисел). Третья — будет на основе выходов первых двух синтезировать Mel спектрограммы. И, наконец, четвертая будет из спектрограмм получать звук.
Не работайте в плохих проектах
Частенько в дискуссиях на тему работы я встречаю тезисы о том, как плохо работать в том или ином проекте/компании/отрасли и т.д. И несмотря на то, что в отечественном IT в целом очень распространено нытье, многое из обсуждаемого действительно имеет место в реальности. Однако, спустя годы разработки, смены проектов, компаний и даже стека технологий, у меня выработалось понимание проблемы и ее решения с другого ракурса. Об этом и поговорим.
Конференция по игровой индустрии GAMEDEV.HOUSE
С 12:00 и до самого вечера гости мероприятия смогут послушать доклады от представителей индустрии, задать вопросы лекторам, познакомиться с проектами инди-разработчиков и выпускников ВШБИ НИУ ВШЭ, представленных на шоукейсе, а также провести целый день в компании единомышленников — завести знакомства и полезные связи.
Реализация физически корректных объемных облаков как в игре Horizon Zero Dawn
UPD. Картинка обновлена. Изменения описаны в конце статьи.
Алгоритм триангуляции Делоне методом заметающей прямой
В этой статье я подробно опишу алгоритм, который у меня получился в результате использования идеи «заметающей прямой» для построения триангуляции Делоне на плоскости. В нем есть несколько идей, которые я нигде не встречал, когда читал статьи про триангуляцию.
Возможно, кто-то тоже найдет их необычными. Я постараюсь сделать все в лучших традициях и включить в рассказ следующие вещи: описание используемых структур данных, описание шагов алгоритма, доказательство корректности, временные оценки, а также сравнение с итеративным алгоритмом, использующим kD-дерево.
Я не настоящий
Моя сестра – учитель в школе. Плюс, разумеется, классный руководитель. Другая моя сестра – врач. Ее муж, естественно, тоже. Мой отец – строитель. Настоящий, который строит своими собственными руками. Даже сейчас, в свои 70 лет.
А я? А я – программист. Делаю вид, что помогаю всяким бизнесам. Бизнесы делают вид, что я им и правда помогаю. Еще бизнес делает вид, что бизнес – это люди. Помогая бизнесу, я помогаю людям. Не, вообще, это, конечно, люди. Только их можно по пальцам перечислить. Ну, тех, кому я помогаю, когда снижаются издержки, растёт прибыль и сокращается персонал.
Unity: бесконечный процедурно генерируемый город, получаемый при помощи алгоритма WFC (коллапс волновой функции)
Как законодатели мод по теме Unity на российском рынке предлагаем вам почитать интересное исследование о практическом использовании алгоритма WFC (Wave Function Collapse), построенного по образу и подобию известного принципа квантовой механики и очень удобного при процедурной генерации уровней в играх. Ранее на Хабре уже публиковался подробный рассказ об этом алгоритме. Автор сегодняшней статьи Мариан Кляйнеберг рассматривает алгоритм в контексте трехмерной графики и генерации бесконечного города. Приятного чтения!
Генерируем тайловые уровни и прячем квадраты от игрока
Генерация уровней в Unexplored 2
Мы очень гордимся генератором уровней игры Unexplored 2, это программа, отвечающая всем современным требованиям. В посте я расскажу о том, как создаются уровни игры.
Нам не пришлось заново изобретать велосипед. В Unexplored 1 мы уже создали техники, которые сильно повлияли на успех первой игры. Unexplored 2 просто продолжила начатое. Фундамент нашей технологии состоит из двух частей: мы применяем многоэтапную генерацию, которая почти имитирует процесс, очень похожий на работу живого дизайнера уровней. Поверх него мы используем технику под названием "циклическая генерация подземелий", которая гораздо лучше справляется с генерацией естественно выглядящих уровней, чем большинство стандартных приложений генеративного создания контента. В этом посте я расскажу о первом аспекте. Адаптация циклической генерации подземелий к Unexplored 2 будет темой будущего поста.
Имитация «человеческого» дизайна уровней
Генератор уровней разбивает процесс генерации уровня на целое множество управляемых этапов. Он проходит путь от высокоуровневого планирования до низкоуровневой детальной карты уровня. По сути, он сначала создаёт набросок уровня, а затем начинает добавлять детали, пока уровень не станет завершённым и заполненным.
Поймай меня, если сможешь. Рождение Короля
Точнее, я уже выиграл. И продолжаю выигрывать. И буду выигрывать дальше. Я создал уникальную бизнес-схему, тончайший механизм, который работает, как часы. Что важно – выигрываю не только я – побеждают все. Да, мне это удалось. Я – Король.
Почему только прокачка кодинга не сделает из тебя лучшего разработчика
Techlead Skyeng Кирилл Роговой (flashhhh) выступает на конференциях с докладом, в котором рассказывает о навыках, развивать которые стоит каждому хорошему разработчику, чтобы стать лучшим. Я попросил его поделиться этой историей с читателями Хабры, передаю Кириллу слово.
Миф про хорошего разработчика гласит, что он:
- Пишет чистый код
- Знает много технологий
- Быстрее кодит задачи
- Знает кучу алгоритмов и шаблонов проектирования
- Умеет отрефакторить любой код по Clean Code
- Не тратит время на непрограммистские задачи
- 100% мастер своей любимой технологии
Так видят идеальных кандидатов HRы, и вакансии, соответственно, выглядят тоже так.
Но мой опыт говорит, что это не сильно соответствует действительности.
Советские мечты о будущем
Помните очаровательного котика, которые чихал в заставке советского мультфильма? Мы помним, и нашли его — вместе с ворохом другой рисованной фантастики. В детстве она пугала и обескураживала, поскольку поднимала серьезные, взрослые темы. Настала пора пересмотреть старые мультфильмы, чтобы узнать, о каком будущем мечтали в той стране.
Умный парсер числа, записанного прописью
Пролог
Добрый день, уважаемые читатели. В данной статье я расскажу о том, как распарсить число, записанное прописью на русском языке.
Умным данный парсер делает возможность извлечения чисел из текста с ошибками, допущенными в результате некорректного ввода или в результате оптического распознавания текста из изображения (OCR).
Для ленивых:
Ссылка на проект github: ссылка.
«Latency numbers» на iPhone
Ссылка на источник схемы
Но какая польза мобильным разработчикам от этой информации в 2019? Кажется, что никакой, но Дмитрий Куркин (SClown) из команды Яндекс.Навигатора задумался: «А как бы таблица выглядела для современного iPhone?». Что из этого получилось, в переработанной текстовой версии доклада Дмитрия на AppsConf.
Для чего это нужно?
Почему же программисты должны знать эти числа? И актуальны ли они для мобильных разработчиков? Можно выделить две основные задачи, которые можно решать при помощи этих чисел.
Information
- Rating
- Does not participate
- Location
- Королев, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity