Популярные мифы, советы по поиску работы, переезду и полезные ссылки для тех, кто сейчас ищет работу за рубежом или уже нашел и собирается переехать.
Старший ML разработчик
SwayWM — сам себе UnixPorn
Всем привет. В этой статье я опишу свой опыт настройки и использования sway — тайлингового оконного менеджера для Linux.
Процессорные войны. История синего зайца и красной черепахи
Немного истории, истоков и революции
Начало 2000-х годов во многом связывают с несколькими этапами в развитии процессоров – это и гонка за заветной частотой 1 ГГц, и появление первого двухъядерного процессора, и ожесточение борьбы за первенство в массовом десктопном сегменте. После безнадежного устаревания Pentium, и выхода на рынок Athlon 64 X2 Intel представила процессоры поколения Core, ставшие в итоге поворотной точкой в развитии индустрии.
Первые процессоры Core 2 Duo были анонсированы в конце июля 2006 года – более чем через год после выхода Athlon 64 X2. В работе над новым поколением Intel руководствовалась в первую очередь вопросами архитектурной оптимизации, добившись высочайших показателей энергоэффективности уже в первых поколениях моделей на базе архитектуры Core под кодовым названием Conroe – они превосходили Pentium 4 в полтора раза, и при заявленном теплопакете в 65 Вт стали, пожалуй, самыми энергоэффективными процессорами на рынке на тот момент. Выступая в роли догоняющей (что бывало нечасто), Intel реализовала в новом поколении поддержку 64-битных операций с архитектурой EM64T, новый набор инструкций SSSE3, а также обширный пакет технологий виртуализации на базе х86.
Кристалл микропроцессора Core 2 Duo
Привычка делать сейчас
Привычка делать сейчас Нила Фиоре — это самоучитель о понимании и преодолении прокрастинации.
Прокрастинция — это механизм борьбы с боязнью начала или завершения задачи. Никто не ленив во всём: можно быть неспособным начать новую главу романа, но при этом спокойно продолжать обязательное чтение курса своего коллеги.
Хороший способ начать управлять прокрастинацией: вести журнал прокрастинации, где вы будете кратко записывать время, активность, свои мысли и чувства, свои оправдания, свои попытки решения проблемы и свои результирующие мысли и чувства.
Осторожный переезд в Нидерланды с женой и ипотекой. Часть 1: поиск работы
В общем, если вам интересен рассказ о том, как C++ программист из Подмосковья искал работу в Европе, желательно в Великобритании, а нашел-таки в Нидерландах, переехал туда сам и привез жену, все это с непогашенной ипотекой в России и с небольшими приключениями — добро пожаловать под кат.
Увеличение видео 1080P до 4K, или Как я научился не волноваться и полюбил апскейл с помощью нейросетей
Жаль, что пост — простой перевод, хотелось бы сравнения с чем-нибудь бесплатным, вроде того же waifu2x. Полагаю, разницу найти будет очень сложно, даже несмотря на то, что waifu2x предназначена для анимации.Ну а раз статья была переводом, я решил взять дело в свои руки. Итак, не будем тратить времени, знакомьтесь:
- Red Giant Shooter Instant 4K
- Фильтр Ланцоша (известный многим как Lanczos)
- Билинейная интерполяция (как референс)
- Adobe Photoshop Сохранение деталей 2.0
- Topaz Gigapixel AI
- Waifu2x с профилем UpResNet10
Под катом лонгрид, а также гайды по апскейлу видео с помощью Instant 4K, Waifu2x, Lanczos и Topaz Gigapixel AI.
256 строчек голого C++: пишем трассировщик лучей с нуля за несколько часов
Подобных проектов в интернете уже море, но практически все они показывают законченные программы, в которых разобраться крайне непросто. Вот, например, очень известная программа рендеринга, влезающая на визитку. Очень впечатляющий результат, однако разобраться в этом коде очень непросто. Моей целью является не показать как я могу, а детально рассказать, как подобное воспроизвести. Более того, мне кажется, что конкретно эта лекция полезна даже не столь как учебный материал по комьпютерной графике, но скорее как пособие по программированию. Я последовательно покажу, как прийти к конечному результату, начиная с самого нуля: как разложить сложную задачу на элементарно решаемые этапы.
Внимание: просто рассматривать мой код, равно как и просто читать эту статью с чашкой чая в руке, смысла не имеет. Эта статья рассчитана на то, что вы возьмётесь за клавиатуру и напишете ваш собственный движок. Он наверняка будет лучше моего. Ну или просто смените язык программирования!
Итак, сегодня я покажу, как отрисовывать подобные картинки:
В разработке — каждый сам за себя. Но иногда это приводит в тупик
Я чёртовы сутки просидел над таской. Нужно было спроектировать самостоятельный модуль, а людям с тяжелой формой перфекционизма нельзя давать задачи на проектирование.
У меня была неделя — целая бесконечность, которой мне не хватило. Снова и снова я перебирал в голове варианты использования того, что должен сделать, но картинка идеального модуля не клеилась. Всегда находился кейс, который хорошо показывал: такой дизайн — говно. Я думал, играл на гитаре, пробовал писать, тупил в монитор, гуглил, играл с детьми, снова думал — голова всегда была занята дурацким модулем.
В последний день я был на пределе, потратил двадцать часов на работу не вылезая. И вот — вечер воскресенья, я безумно хочу спать, но всё ещё сижу и пытаюсь придумать подходящее название для какого-то класса в своём псевдокоде, чей дизайн, конечно же, отправиться на помойку сразу, как только я его закончу, потому что он слишком неидеальный. За несколько часов до дьюдейта у меня не было ничего, кроме убитой поисками недели.
В понедельник утром я отправил пулл реквест. Его приняли с восторгом. Но способ, на который я пошел… вот уж никогда не думал, что отважусь на такое.
Будущее VR видео — VR180 от Google
S3D: No pain IS gain
В апреле этого года Google анонсировала технические детали нового формата для VR-видео — VR180. Спецификации формата были выложены в репозиторий Google на GitHub, производителям камер было предложено делать специальные камеры, формат стал поддерживаться на YouTube.
Основная идея довольно проста. В «обычном» VR-видео — 360-видео — можно вертеть головой во всех направлениях по горизонтали, при этом основное действие происходит, как правило, с какой-то одной стороны, а на устройство транслируется весь поток, что приводит к передаче и хранению избыточной информации. По факту в подавляющем большинстве случаев нет необходимости в реализации просмотра на 360 градусов — для достижения того же эффекта вполне достаточно и 180 градусов. При этом «вторая половина» кадра используется для второго ракурса, то есть получается стерео.
Таким образом, предложенный формат обеспечивает даже большее ощущение погружения, чем от 360-видео, является более дешевым в производстве, более простым в съемке и не имеет проблем со стичингом.
Как такое возможно, и что же предложили в Google?
Кому интересно VR-видео ближайшего будущего — добро пожаловать под кат!
4 видео о прокрастинации
Решил записать видео о прокрастинации. Потому что тема простая, а информации куча и все выглядит сложным.
Как следует писать комментарии к коммитам
Предисловие от переводчика
На протяжении многих лет разработки ПО, будучи участником многих команд, работая с разными хорошими и опытными людьми, я часто наблюдал (да и чего греха таить, до определенного момента — создавал) одну и ту же проблему — тотальный бардак в репозитории. Каждый писал комментарии к коммитам в своем стиле (и хорошо, если постоянно в одном); половина комментариев была бесполезна (из разряда "это мост"), половина оставшейся половины — едва понятна.
И вот в один прекрасный момент я увидел данную статью, до перевода которой у меня наконец дошли руки. Всего 7 простых и коротких правил, и — о чудо — смотреть на историю коммитов стало не только полезно, но и приятно. Ничего революционного, все довольно очевидно, но сформулировано и резюмировано просто отлично.
Как я написал компилятор C за 40 дней
Этот дневник не несет какой-то практической пользы и не является туториалом, но мне было очень интересно его прочитать, надеюсь и вам эта история тоже понравится :)
Я написал C компилятор за 40 дней, который назвал 8cc. Это дневник написанный мной в то время. Код и его историю можно посмотреть на GitHub.
Как делать заметки как программист
Когда я был мал — писал ужасные конспекты: они представляли из себя тетради с грязным текстом и плохой структурой. Практически бесполезные.
Потом, когда я открыл для себя MOOC видео курсы, продолжил использовать те же антипаттерны, что и в школьные времена, но уже не так безобразно: с помощью VimWiki и позже — с Jupyter.
Записи всё еще были плохо структурированы. Посмотрите на это: у меня даже мотивации не хватает на то, чтобы просто открыть и посмотреть на то, что там внутри:
В какой-то момент я понял какой метод ведения записей работает на мне лучше всего, чем и хочу поделиться.
Основная идея заключается в том, чтобы спроецировать нашу память в записи (а не память лектора), используя принципы разработки программ.
Как выйти на путь разработки ОС
Основы информационной безопасности. Часть 1: Виды угроз
Безопасность виртуального сервера может быть рассмотрена только непосредственно как «информационная безопасность». Многие слышали это словосочетание, но не все понимают, что же это такое?
«Информационная безопасность» — это процесс обеспечения доступности, целостности и конфиденциальности информации.
Под «доступностью» понимается соответственно обеспечение доступа к информации. «Целостность» — это обеспечение достоверности и полноты информации. «Конфиденциальность» подразумевает под собой обеспечение доступа к информации только авторизованным пользователям.
Исходя из Ваших целей и выполняемых задач на виртуальном сервере, необходимы будут и различные меры и степени защиты, применимые по каждому из этих трех пунктов.