Pull to refresh
4
0
Алексей Голубев @FreeCX

Ленивый программист

Send message

Git снизу вверх

Reading time27 min
Views131K
У этого перевода не совсем обычная история. Системы контроля версий далеки от моих профессиональных интересов. Для рабочих проектов они мне требовались нечасто, причем, разные, так что, каждый раз, когда возникала такая необходимость, я заново вспоминала, как в них делается та или иная операция. А для личных проектов мне хватало возможностей Dropbox, хранящей историю версий файлов.


Изображение из твиттера @girlie_mac

Но вот однажды я на три незабываемых дня попала в роддом — это иногда случается с женщинами. Из развлечений у меня были новорожденная дочь и телефон с большим экраном. Дочь поначалу развлекала плохо (дома она быстро исправилась), а на телефоне помимо книг и фильмов обнаружился текст «Git from the bottom up», который оказался более чем годным… С тех пор прошло почти 3 года, подросшей дочке уже пора самой начинать использовать Git Git стал мейнстримом, если не сказать стандартом в современной разработке, а я с удивлением обнаружила, что перевода на русский этого чуда, полезного не только начинающим, но и продвинутым пользователям Git, до сих пор нет. Исправляю эту ситуацию.
Читать дальше →

Нехватка оперативной памяти в Linux на рабочем ПК: оптимизация и действия при зависании

Reading time5 min
Views90K
На любой операционной системе часто не хватает оперативной памяти. Рассмотрим, как и сэкономить на увеличении аппаратных ресурсов машины с Linux, и продолжить более-менее комфортно пользоваться компьютером с Linux в условиях нехватки памяти.
Читать дальше →

Обзор литературы по языку Python для начинающих

Reading time4 min
Views132K
Очень часто можно увидеть вопросы на том же тостере: «А какую книгу взять книгу, чтобы выучить технологи Х», и естественно в комментариях идет большое число мнений и большое число различных книг. В данной теме, я сделаю обзор самых популярных книг по Python для начинающих программистов, и дам четкое мнение – нужно ли их читать или нет (субъективно).

Нужно ли читать книги. Изучая новые технологии, я люблю читать книги по данной технологии, так как я получаю не только сухую информацию, но и субъективное мнение автора по пригодности данных технологий. И в отличие от видео-курсов, мне не приходится ждать, пока автор из себя выдавливает мысль. Да и читаю, я быстро.
Читать дальше →

33 независимых блога о UI-дизайне, веб-разработке и программировании

Reading time8 min
Views21K
Мы продолжаем нашу серию дайджестов с независимыми блогами разработчиков со всего мира. В сегодняшнем материале мы собрали ресурсы о дизайне пользовательских интерфейсов, веб-разработке, а также философии программирования и жизни программистов.

Под катом вы найдете ссылки на блоги, рекомендованные резидентами разных платформ: Quora, Stack Overflow, Hacker News, Reddit и др. Авторы этих блогов занимают самые разные должности в ИТ-экосистеме: разработчики, тестировщики, дизайнеры, управленцы, и пишут как статьи для начинающих, так и более продвинутые материалы.

Другие наши тематические подборки:


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

Трёхмерная графика с нуля. Часть 2: растеризация

Reading time47 min
Views58K
image


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

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

Тогда как это удаётся играм?

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

Трёхмерная графика с нуля. Часть 1: трассировка лучей

Reading time42 min
Views137K
image


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

В этой работе мы сосредоточимся не на скорости, а на чётком объяснении концепций. Код примеров написан наиболее понятным образом, который не обязательно является самым эффективным для реализации алгоритмов. Есть множество способов реализации, я выбрал тот, который проще всего понять.

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


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

Создаём собственный физический 2D-движок. Часть 1: основы и разрешение импульсов силы

Reading time14 min
Views72K
image


Приступить к созданию собственного физического движка можно по разными причинам: во-первых, для освоения и усвоения новых знаний в математике, физике и программировании; во-вторых, собственный физический движок может обрабатывать любые технические эффекты, которые сможет создать его автор. В этой вводной статье я расскажу, как создать собственный физический движок с нуля.

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

В этой части туториала мы рассмотрим следующие темы:

  • Простое распознавание коллизий
  • Генерирование простого многообразия
  • Разрешение импульсов силы

Создаём собственный физический 2D-движок: части 2-4

Reading time32 min
Views40K
image


Оглавление


Часть 2: ядро движка

  • Интегрирование
  • Метки времени
  • Модульная архитектура
    • Тела
    • Формы
    • Силы
    • Материалы
  • Широкая фаза
    • Отсечение дубликатов контактных пар
    • Система слоёв
  • Проверка пересечения полупространств

Часть 3: трение, сцена и таблица переходов

  • Трение
  • Сцена
  • Таблица переходов коллизий

Часть 4: ориентированные твёрдые тела

  • Математика вращения
  • Ориентированные формы
  • Распознавание коллизий
  • Разрешение коллизий

Чтение на выходных: 17 независимых блогов по математике, алгоритмам и языкам программирования

Reading time5 min
Views59K
Сегодня мы подготовили очередную [наш IaaS-дайджест и материалы по структурированию кода] подборку полезных источников. На этот раз мы решили изучить тематическую ветку на Hacker News и рассказали о блогах, которые могут хорошо дополнить чтение «Хабра».

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

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

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

learnopengl. Урок 1.1 — OpenGL

Reading time7 min
Views356K
Здравствуйте. Несколько недель назад я начинал серию переводов статей по изучению OpenGL. Но на 4 статье один хабровчанин заметил, что мои переводы могут нарушать лицензию, по которой распространяются учебные материалы, предоставленные в исходной статье. И действительно, мои переводы нарушали лицензию. Для разрешения этой проблемы я обратился к авторам того набора уроков, но так и не смог добиться нормального ответа. По этой причине я связался с автором другого, не менее (а возможно даже и более) крутого, набора уроков по OpenGL: Joey de Vries. И он дал полное разрешение на перевод его набора уроков. Его уроки гораздо более обширные, чем прошлый набор, поэтому эти переводы растянутся на долго. И я обещаю, будет интересно. Заинтересовавшихся прошу под кат.

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

На счет уроков по Vulkan: к сожалению мне тяжело сейчас написать уроки по данному API по причине скудной видеокарты на данный момент, которая просто не поддерживает Vulkan API, поэтому уроки по данному API будут только после обновления видеокарты.
Читать дальше →

10 советов, как преодолеть страх общения с носителем английского языка

Reading time5 min
Views33K
С вами такое было, что сам с собой говоришь на безупречном английском, а вот с реальными людьми получаются какие-то рандомные слова? А с носителем языка вообще выходит какой-то треш, после которого хочется завернуться в одеялко и никогда больше не покидать свою квартиру! Хорошо, если под рукой Google Translate или какой-то словарик. А еще лучше, если вживую общаться не нужно.

Вы скажите, что уже есть всякие там разговорники и даже волшебные наушники, как рыбка из “Автостопом по галактике”, которые переводят все на лету. Это правда, но вот качество таких переводов пока все также на уровне Google Translate или Prompt пятнадцатилетней давности. В смысле, что машинный перевод пока еще не очень и его нужно фильтровать и проверять, а общаться нужно уже сейчас.

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

Как написать отличную научную статью по CS

Reading time9 min
Views11K
Здравствуйте!

Недавно я наткнулся на запись очень интересного выступления Саймона Пейтона-Джонса(ведущий разработчик языка Haskell) в Microsoft Research Cambridge. В нём он рассказывает студентам, как проводить научные исследования и писать статьи по Computer Science. Его мысли мне показались очень интересными, причем применимыми не только для области CS.



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

Доступно о криптографии на эллиптических кривых

Reading time37 min
Views279K
image


Тем, кто знаком с криптографией с открытым ключом, наверно известны аббревиатуры ECC, ECDH и ECDSA. Первая — это сокращение от Elliptic Curve Cryptography (криптография на эллиптических кривых), остальные — это названия основанных на ней алгоритмов.

Сегодня криптосистемы на эллиптических кривых используются в TLS, PGP и SSH, важнейших технологиях, на которых базируются современный веб и мир ИТ. Я уже не говорю о Bitcoin и других криптовалютах.

До того, как ECC стала популярной, почти все алгоритмы с открытым ключом основывались на RSA, DSA и DH, альтернативных криптосистемах на основе модулярной арифметики. RSA и компания по-прежнему популярны, и часто используются вместе с ECC. Однако несмотря на то, что магия, лежащая в фундаменте RSA и подобных ей алгоритмов легко объяснима и понятна многим, а грубые реализации пишутся довольно просто, основы ECC всё ещё являются для большинства людей загадкой.

В этой серии статей я познакомлю вас с основами мира криптографии на эллиптических кривых. Моя цель — не создание полного и подробного руководства по ECC (в Интернете полно информации по этой теме), а простой обзор ECC и объяснение того, почему её считают безопасной. Я не буду тратить время на долгие математические доказательства или скучные подробности реализации. Также я представлю полезные примеры с визуальными интерактивными инструментами и скриптами.
Читать дальше →

Создание языка программирования с использованием LLVM. Часть 1: Введение и лексический анализ

Reading time7 min
Views61K
Добро пожаловать в учебник «Создание языка программирования с LLVM». Этот учебник знакомит вас с созданием простейшего языка программирования, и при этом показывает, каким оно может быть легким и интересным, а также даёт вам начальные знания, которые вы затем сможете применить на других языках программирования. Код в этом учебнике также может быть использован в качестве стартовой площадки для ваших творений с помощью LLVM.

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

Следущие шаги в черной магии процессоростроения после того, как вы освоили Харрис & Харрис

Reading time9 min
Views39K
Недавно вышло еще одно печатное издание книжки Харрис & Харрис на русском языке. Это широкоохватывающий ликбез про то, как проектируют микросхемы в компаниях типа Apple и Intel (методология проектирования на уровне регистровых передач с использованием языков описания аппаратуры). До этого печатного издания вышло бесплатное электронное издание этой же книжки, которое стало вирусным — его скачивания дважды завалили британский сайт Imagination Technologies, а посты о книжке на Хабре и Гиктаймс собрали более 300,000 просмотров (1, 2, 3, 4, 5 ). История перевода книжки на русский тоже довольно поучительна — он начался как общественный проект группы энтузиастов: преподавателей российских и украинских университетов, а также русских сотрудников компаний как в Silicon Valley (MIPS, AMD, Synopsys, Apple, NVidia ...) так и в России (НИИСИ, МЦСТ, Модуль ...). Когда вышло первое печатное издание на русском языке, его тоже довольно быстро раскупили и пожаловались, что оно черно-белое. Поэтому следующий принт был цветной, улучшенного качества.

Теперь возникает вопрос: ну хорошо, вы приобрели или скачали бесплатно книжку, поняли основы цифровой схемотехники, языков описания аппаратуры Verilog и VHDL, приобрели вкус писания на ассемблере и разобрались с организацией простейшего конвейерного микропроцессора, а также как все это стыкуется с периферийными устройствами и встроенным программированием. Что делать дальше?



На снимке — Татьяна Волкова, сотрудница образовательных программ компании Samsung в Московском Физико-Техническом Институте

Графическим дизайнерам для ума и души: 20 новых уроков

Reading time5 min
Views23K
Даже самые опытные и осведомленные дизайнеры никогда не перестают учиться, учебные пособия расскажут, как использовать новые технологии, функции, инструменты и методы. Возможно, ниже перечисленные техники смогут сэкономить ваше время и энергию, улучшить ваши навыки и способности. И помните: повторение — мать учения.


Избранное: ссылки по reverse engineering

Reading time10 min
Views76K


Всем привет!


Сегодня мы хотели бы поделиться своим списком материалов по тематике reverse engineering (RE). Перечень этот очень обширный, ведь наш исследовательский отдел в первую очередь занимается задачами RE. На наш взгляд, подборка материалов по теме хороша для старта, при этом она может быть актуальной в течение продолжительного времени.


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


Забавный факт: нам показывали, как некоторые компании рассылают наш список материалов от себя, но только в очень старой редакции. И вот после этой публикации они, наконец, смогут использовать его обновленную версию с чистой совестью ;)


Итак, перейдем к списку материалов!

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

Сервис Goodreads опубликовал рейтинг самых читаемых книг в жанрах научной фантастики и фэнтези

Reading time2 min
Views56K
image

Goodreads — социальная сеть любителей чтения. Создана в 2006 году Отисом Чендлером. Решает проблему выбора интересных и полезных книг на основе рекомендаций и отзывов других людей, так называемой «социальной каталогизации».

29 июля в блоге Goodreads был опубликован рейтинг лучших научно-фантастических и фэнтези книг на основе оценок и отзывов читателей (на сервисе размещено более 50 миллионов отзывов).
Читать дальше →

Аналоговый мир и его иллюзия

Reading time12 min
Views17K
Обычно выбор в играх выглядит примерно так:



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

Вот другой пример выбора:



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

Взлом игры Clocktower — The First Fear

Reading time19 min
Views9.2K
Давайте возьмём отличную японскую игру в жанре survival horror, разберёмся, как она работает, переведём её на английский и сделаем с ней ещё кое-что.

Введение


ClockTower (известная в Японии как Clocktower — The First Fear) — это игра, изначально выпущенная Human Entertainment для Super Nintendo.



Это одна из игр жанра «point and click adventure», но она также стала одним из основателей жанра survival horror. Сюжет заключается в том, что четыре сироты после закрытия приюта попали в особняк, в котором один за другим начали исчезать. Игрок управляет одной из сирот, Дженнифер, и пытается найти выход, своих друзей и выяснить, что же происходит в особняке.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity