Как стать автором
Обновить
3
0
Евгений Ляпустин @unishift

Старший ML разработчик

Отправить сообщение

Пора релоцироваться

Время на прочтение2 мин
Количество просмотров96K

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

Читать далее
Всего голосов 152: ↑80 и ↓72+45
Комментарии263

SwayWM — сам себе UnixPorn

Время на прочтение11 мин
Количество просмотров88K

Всем привет. В этой статье я опишу свой опыт настройки и использования sway — тайлингового оконного менеджера для Linux.

Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии15

Процессорные войны. История синего зайца и красной черепахи

Время на прочтение46 мин
Количество просмотров61K
Современная история противостояния Intel и AMD на процессорном рынке ведёт свой отсчет еще со второй половины 90-х. Эпоха грандиозных преобразований и выхода в мэйнстрим, когда Intel Pentium позиционировался как универсальное решение, а Intel Inside стал чуть ли не самым узнаваемым слоганом в мире, ознаменовалась яркими страницами в истории не только синих, но и красных – начиная с поколения K6, AMD неустанно соперничали с Intel во многих сегментах рынка. Однако именно события чуть более позднего этапа – первой половины нулевых – и сыграли важнейшую роль в появлении легендарной архитектуры Core, до сих пор лежащей в основе процессорной линейки Intel.

Немного истории, истоков и революции


Начало 2000-х годов во многом связывают с несколькими этапами в развитии процессоров – это и гонка за заветной частотой 1 ГГц, и появление первого двухъядерного процессора, и ожесточение борьбы за первенство в массовом десктопном сегменте. После безнадежного устаревания Pentium, и выхода на рынок Athlon 64 X2 Intel представила процессоры поколения Core, ставшие в итоге поворотной точкой в развитии индустрии.

image

Первые процессоры Core 2 Duo были анонсированы в конце июля 2006 года – более чем через год после выхода Athlon 64 X2. В работе над новым поколением Intel руководствовалась в первую очередь вопросами архитектурной оптимизации, добившись высочайших показателей энергоэффективности уже в первых поколениях моделей на базе архитектуры Core под кодовым названием Conroe – они превосходили Pentium 4 в полтора раза, и при заявленном теплопакете в 65 Вт стали, пожалуй, самыми энергоэффективными процессорами на рынке на тот момент. Выступая в роли догоняющей (что бывало нечасто), Intel реализовала в новом поколении поддержку 64-битных операций с архитектурой EM64T, новый набор инструкций SSSE3, а также обширный пакет технологий виртуализации на базе х86.

image
Кристалл микропроцессора Core 2 Duo

Читать дальше →
Всего голосов 85: ↑84 и ↓1+107
Комментарии111

Привычка делать сейчас

Время на прочтение4 мин
Количество просмотров42K

Привычка делать сейчас Нила Фиоре — это самоучитель о понимании и преодолении прокрастинации.


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


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

Читать дальше →
Всего голосов 45: ↑40 и ↓5+35
Комментарии38

Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы

Время на прочтение12 мин
Количество просмотров108K
На Хабре да и вообще в русскоязычном Интернете есть немало инструкций о том, как перебраться в Нидерланды. Я и сам немало полезного почерпнул из одной статьи на Хабре (ныне, видимо, скрытой в черновике уже нет, вот она). Но я все-таки расскажу о своем опыте поиска работы и переезда в эту европейскую страну. Помнится, и когда я только собирался рассылать резюме, и когда уже проходил собеседования, мне было очень интересно почитать об аналогичном опыте других коллег по цеху.

image

В общем, если вам интересен рассказ о том, как C++ программист из Подмосковья искал работу в Европе, желательно в Великобритании, а нашел-таки в Нидерландах, переехал туда сам и привез жену, все это с непогашенной ипотекой в России и с небольшими приключениями — добро пожаловать под кат.
Читать дальше →
Всего голосов 216: ↑202 и ↓14+188
Комментарии306

Увеличение видео 1080P до 4K, или Как я научился не волноваться и полюбил апскейл с помощью нейросетей

Время на прочтение27 мин
Количество просмотров194K
Читая недавно очередную статью про апскейл (Upscale — масштабирование изображения до более высокого разрешения), на этот раз про коммерческий продукт Topaz AI Gigapixel, я оставил комментарий следующий содержания:
Жаль, что пост — простой перевод, хотелось бы сравнения с чем-нибудь бесплатным, вроде того же waifu2x. Полагаю, разницу найти будет очень сложно, даже несмотря на то, что waifu2x предназначена для анимации.
Ну а раз статья была переводом, я решил взять дело в свои руки. Итак, не будем тратить времени, знакомьтесь:


Под катом лонгрид, а также гайды по апскейлу видео с помощью Instant 4K, Waifu2x, Lanczos и Topaz Gigapixel AI.

Читать дальше →
Всего голосов 34: ↑34 и ↓0+34
Комментарии29

256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов

Время на прочтение8 мин
Количество просмотров145K
Публикую очередную главу из моего курса лекций по компьютерной графике (вот тут можно читать оригинал на русском, хотя английская версия новее). На сей раз тема разговора — отрисовка сцен при помощи трассировки лучей. Как обычно, я стараюсь избегать сторонних библиотек, так как это заставляет студентов заглянуть под капот.

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

Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!

Итак, сегодня я покажу, как отрисовывать подобные картинки:


Читать дальше →
Всего голосов 241: ↑241 и ↓0+241
Комментарии124

В разработке — каждый сам за себя. Но иногда это приводит в тупик

Время на прочтение5 мин
Количество просмотров47K


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

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

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

В понедельник утром я отправил пулл реквест. Его приняли с восторгом. Но способ, на который я пошел… вот уж никогда не думал, что отважусь на такое.
Читать дальше →
Всего голосов 170: ↑157 и ↓13+144
Комментарии99

Будущее VR видео — VR180 от Google

Время на прочтение12 мин
Количество просмотров20K
Хинт: этот gif запускается и останавливается по клику

S3D: No pain IS gain


В апреле этого года Google анонсировала технические детали нового формата для VR-видео — VR180. Спецификации формата были выложены в репозиторий Google на GitHub, производителям камер было предложено делать специальные камеры, формат стал поддерживаться на YouTube.

Основная идея довольно проста. В «обычном» VR-видео — 360-видео — можно вертеть головой во всех направлениях по горизонтали, при этом основное действие происходит, как правило, с какой-то одной стороны, а на устройство транслируется весь поток, что приводит к передаче и хранению избыточной информации. По факту в подавляющем большинстве случаев нет необходимости в реализации просмотра на 360 градусов — для достижения того же эффекта вполне достаточно и 180 градусов. При этом «вторая половина» кадра используется для второго ракурса, то есть получается стерео.

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

Как такое возможно, и что же предложили в Google?

Кому интересно VR-видео ближайшего будущего — добро пожаловать под кат!
Всего голосов 35: ↑33 и ↓2+31
Комментарии58

4 видео о прокрастинации

Время на прочтение1 мин
Количество просмотров21K
8 лет занимаюсь психологией. Начинал с личной эффективности, продуктивности, gtd. Даже написал книжку.

Решил записать видео о прокрастинации. Потому что тема простая, а информации куча и все выглядит сложным.
Всего голосов 30: ↑23 и ↓7+16
Комментарии33

Как следует писать комментарии к коммитам

Время на прочтение11 мин
Количество просмотров138K


Предисловие от переводчика


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

И вот в один прекрасный момент я увидел данную статью, до перевода которой у меня наконец дошли руки. Всего 7 простых и коротких правил, и — о чудо — смотреть на историю коммитов стало не только полезно, но и приятно. Ничего революционного, все довольно очевидно, но сформулировано и резюмировано просто отлично.
Читать дальше →
Всего голосов 55: ↑51 и ↓4+47
Комментарии115

Как я написал компилятор C за 40 дней

Время на прочтение19 мин
Количество просмотров70K
Предлагаю вам перевод дневника Руи Уэяма (Rui Ueyama), программиста из Google, который он вел во время работы над реализацией компилятора языка C около трех с половиной лет назад (но опубликовал только в минувшем декабре).
Этот дневник не несет какой-то практической пользы и не является туториалом, но мне было очень интересно его прочитать, надеюсь и вам эта история тоже понравится :)


Я написал C компилятор за 40 дней, который назвал 8cc. Это дневник написанный мной в то время. Код и его историю можно посмотреть на GitHub.
Читать дальше →
Всего голосов 84: ↑74 и ↓10+64
Комментарии56

Как делать заметки как программист

Время на прочтение5 мин
Количество просмотров74K

Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные.


Потом, когда я открыл для себя MOOC видео курсы, продолжил использовать те же антипаттерны, что и в школьные времена, но уже не так безобразно: с помощью VimWiki и позже — с Jupyter.


Записи всё еще были плохо структурированы. Посмотрите на это: у меня даже мотивации не хватает на то, чтобы просто открыть и посмотреть на то, что там внутри:


image


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


Основная идея заключается в том, чтобы спроецировать нашу память в записи (а не память лектора), используя принципы разработки программ.

Читать дальше →
Всего голосов 34: ↑28 и ↓6+22
Комментарии70

Как выйти на путь разработки ОС

Время на прочтение10 мин
Количество просмотров34K
Данная статья служит одной простой цели: помочь человеку, который вдруг решил разработать свою операционную систему (в частности, ядро) для архитектуры x86, выйти на тот этап, где он сможет просто добавлять свой функционал, не беспокоясь о сборке, запуске и прочих слабо относящихся к самой разработке деталей. В интернете и на хабре в частности уже есть материалы по данной теме, но довольно трудно написать хотя бы “Hello world”-ядро, не открывая десятков вкладок, что я и попытаюсь исправить. Примеры кода будут по большей части на языке C, но многие другие языки тоже можно адаптировать для OSDev. Давно желавшим и только что осознавшим желание разработать свою операционную систему с нуля — добро пожаловать под кат.
Читать дальше →
Всего голосов 41: ↑39 и ↓2+37
Комментарии22

Основы информационной безопасности. Часть 1: Виды угроз

Время на прочтение6 мин
Количество просмотров208K


Безопасность виртуального сервера может быть рассмотрена только непосредственно как «информационная безопасность». Многие слышали это словосочетание, но не все понимают, что же это такое?

«Информационная безопасность» — это процесс обеспечения доступности, целостности и конфиденциальности информации.

Под «доступностью» понимается соответственно обеспечение доступа к информации. «Целостность» — это обеспечение достоверности и полноты информации. «Конфиденциальность» подразумевает под собой обеспечение доступа к информации только авторизованным пользователям.

Исходя из Ваших целей и выполняемых задач на виртуальном сервере, необходимы будут и различные меры и степени защиты, применимые по каждому из этих трех пунктов.
Читать дальше →
Всего голосов 10: ↑8 и ↓2+6
Комментарии9

Цветовое оформление консольного вывода

Время на прочтение1 мин
Количество просмотров74K
Кратко о том, как сделать для своей консольной программы или скрипта цветной вывод текста, а также дополнить его другими элементами оформления. Собственно, назначить можно цвет текста, цвет фона под ним, сделать текст жирным, подчеркнутым, невидимым и даже мигающим.
Читать дальше →
Всего голосов 99: ↑80 и ↓19+61
Комментарии46

Информация

В рейтинге
Не участвует
Работает в
Зарегистрирован
Активность