Search
Write a publication
Pull to refresh
39
0
Send message

Dell Inspiron 7490: лёгкий металлический ноутбук на каждый день с отличной автономностью

Reading time9 min
Views26K
Сегодня мы хотим рассказать о ноутбуке Dell Inspiron 7490. Он ориентирован на тех, кто ищет максимально лёгкое и компактное решение на каждый день и, в то же время, не готов переплачивать за флагманские 13- и 14-дюймовые модели. Создавая его, наши разработчики исходили именно из этого, но им удалось добиться большего. Как и XPS 13, Inspiron 7490 тоже заключён в металлический корпус, но он легче! При этом в тонком корпусе нашлось место как для Thunderbolt (Type-C) для зарядки, так и для полноразмерных USB – переходники не понадобятся. А ещё гаджет интересен очень впечатляющим временем автономной работы. Плюс качественный FHD-дисплей, плюс удобная клавиатура… но обо всём по порядку.


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

Физика для мобильного PvP шутера, или как мы из двумерной игру в трёхмерную переделывали

Reading time19 min
Views9.5K


В предыдущей статье мой коллега рассказал о том, как мы использовали двумерный физический движок в нашем мобильном мультиплеерном шутере. А теперь я хочу поделиться тем, как мы выкинули всё, что делали до этого, и начали с нуля ― иными словами, как мы перевели нашу игру из 2D-мира в 3D.
Читать дальше →

Ubuntu — не лучший настольный Linux

Reading time3 min
Views193K
Захотев перейти на Linux дома или на работе, люди обычно ставят Ubuntu, Mint, Fedora, порой даже Debian. И очень зря не пробуют Manjaro Linux — на мой взгляд, этот дистрибутив удобнее Убунты (которая уже де-факто — Default Linux), и даже удобнее Минта.

Manjaro — производная от Arch Linux (так же как Ubuntu — производная от Debian), пилится европейской командой Manjaro Team. У Манжары почти такая же структура системы, как у Арча, но с некоторыми особенностями, которые делают его на 146% юзерфрендли.
Читать дальше →

Как в одиночку запустить продукт, если вы разработчик: советы от создателя Laravel Тейлора Отвела. Часть 2: Поиск идеи

Reading time5 min
Views16K


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

Откуда брать идеи для своего продукта?
Читать дальше →

Движок, скриптовый язык и визуальная новелла — за 45 часов

Reading time21 min
Views49K

visual novel, engine and scripting language for 45 hours


Приветствую. Так получилось, что уже три года подряд в качестве подарка на Новый год определенным людям я делаю игру. В 2018-ом году это был платформер с элементами головоломки, о котором я писал на хабре. В 2019-ом — сетевая RTS для двух игроков, о которой я ничего не писал. И наконец, в 2020-ом — визуальная новелла, о которой далее и пойдет речь, созданная в условиях сильно ограниченного времени.


В этой статье:


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

Интересно? Тогда добро пожаловать под кат.


Осторожно: тут много текста и ~3.5мб изображений

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

Про геометрический смысл кодов Грея

Reading time3 min
Views14K

Коды Грея имеют близкую родственную связь с кривой Гильберта.

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

В результате под катом — «скандалы, интриги, расследования».
Читать дальше →

Чем программирование сегодня отличается от программирования 20 лет назад?

Reading time4 min
Views87K


Я увидел этот вопрос на Quora и начал писать ответ. Но ответ получился слишком большим, так что я превратил его в эту статью.


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


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

Разработка хитрого ИИ в тактической игре на основе эвристик и мутаций

Reading time17 min
Views17K
В тактических играх ИИ очень важен. Если ИИ видится как «искусственный идиот», то игру может спасти потрясающий мультиплеер, сюжет, атмосфера и графика (это неточно). Решение очевидное: делай хороший ИИ, в чём тут могут быть проблемы?

Cat terminator by CoolAI

В деталях. Ниже описаны мои шаги по конструированию сильного ИИ с характером. Не супер сильного [1], но способного быстро отработать локально в прожорливом браузере любого средне-слабого ПК. Мною применён подход экспертных систем с использованием набора эвристик и мутаций. Описаны 15 шагов постепенного преображения ИИ, каждый из шагов можно пощупать.

Как сделать бота, который превращает фото в комикс. Часть вторая. Обучение модели

Reading time5 min
Views11K
⇨ Первая часть
⇨ Третья часть

И снова здравствуйте!

Как вы могли заметить, праздники несколько подкосили график выхода статей.
Думаю, многие за это время успели если не полностью обучить свою модель, то хотя бы поэкспериментировать с различными наборами данных.
1. Ставим дистрибутив
2. Качаем фотки
3. ???
4. Profit!
Если же вам было не до этих наших нейросетей, или вы начинаете чтение с этой статьи, то, как говорится, нет времени объяснять, берем дистрибутив, качаем нужные фотки, и поехали!
Читать дальше →

Действительно понятное объяснение квантовой запутанности (парадокса ЭПР)

Reading time8 min
Views18K
Понятное для тех, кто захочет разобраться, конечно. Пост состоит из трех частей. Для понимания сути явления, достаточно ознакомиться только со второй частью.

  1. Вводная (зачем, да почему)
  2. Конкретные расчеты
  3. Философско-практическая часть.

1. Вводная (зачем, да почему)

Сподвигло меня на этот пост следующее обстоятельство. В инете достаточно много материалов на эту тему. Однако 80% процентов из них страдают трагическим недостатком – они достаточно подробно рассказывают, почему классическая логика не права и ограничиваются констатацией факта, что в квантовой механике все по-другому и наблюдения соответствуют предсказанным ей значениям. Остававшаяся часть грузит математическим аппаратом и после вереницы формул говорит – ну вот видите, будет вот так-то. После этого возникает ощущение боли от изнасилования мозга, ибо реального удовольствия понимания при этом не возникает.

А понимания хочется, т.к. по моему глубокому убеждению, все-таки следующий революционный скачок технологий, будет связан с овладением человечеством квантовой мощью. И подобно тому, как в 60-х люди даже вообразить не могли, как эти громадные железки занимающие целые подвалы, изменят нашу жизнь, радикально уменьшив размеры и увеличив мощь, так и сейчас мы не представляем себе весь потенциал неуклюжих прототипов с 50 кубитами.
Читать дальше →

RabbitMQ против Kafka: отказоустойчивость и высокая доступность

Reading time20 min
Views35K


В прошлой статье мы рассмотрели кластеризацию RabbitMQ для обеспечения отказоустойчивости и высокой доступности. Теперь глубоко покопаемся в Apache Kafka.

Здесь единицей репликации является раздел (partition). У каждого топика один или несколько разделов. В каждом разделе есть лидер с фолловерами или без них. При создании топика указывается количество разделов и коэффициент репликации. Обычное значение 3, это означает три реплики: один лидер и два фолловера.
Читать дальше →

Это норма: что такое карты нормалей и как они работают

Reading time6 min
Views86K
На протяжении нескольких лет я пытался разобраться в картах нормалей и в проблемах, которые обычно возникают при работе с ними.

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

Первые созданные человеком 3D-модели выглядели примерно так:

image

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

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

Matrix 1.0 — релиз протокола децентрализованного обмена сообщениями

Reading time2 min
Views12K
11 июня 2019 разработчики Matrix.org Foundation объявили о релизе Matrix 1.0 — протокола для реализации федеративной сети, построенной на основе линейной истории событий (events) внутри ациклического графа (DAG). Самым распространённым способом использования протокола является реализация серверов сообщений (например, сервер Synapse, клиент Riot) и «соединение» других протоколов друг с другом посредством мостов (например, реализация на libpurple с поддержкой XMPP, Telegram, Discord и IRC).



Основным новшеством (и обязательным условием использования) сервера Synapse 1.0 — реализации протокола Matrix 1.0 — является использование TLS сертификата (бесплатный Let's Encrypt тоже подходит) для домена сервера, что обеспечивает защищенную передачу данных между серверами, участвующими в федеративной сети. Поэтому если вы используете self-signed сертификат для своего домашнего сервера — необходимо создать валидный сертификат — иначе ваш сервер перестанет взаимодействовать с другими серверами сети.
Читать дальше →

Структуры данных для программистов игр: bulk data

Reading time19 min
Views18K
image

Любому программисту будет полезно понимание различных структур данных и способов анализа их производительности. Но на практике мне ни разу не пригождались АВЛ-деревья, красно-чёрные деревья, префиксные деревья, списки с пропусками, и т.д. Некоторые структуры данных я использую только для одного конкретного алгоритма и ни для чего больше (например, кучи для реализации очереди с приоритетом в алгоритме поиска пути A*).

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

  • Общие массивы данных (Bulk data) — способ эффективного хранения большого количества объектов.
  • Слабые ссылки (Weak reference) (или дескрипторы (handle)) — способ обращения к объектам в bulk data без сбоев программы в случае, если объект удалён.
  • Индексы — способ быстрого доступа к отдельным подмножествам в bulk data.
  • Массивы массивов — способ хранения объектов bulk data с динамическими размерами.

Я посвящу несколько статей тому, как я обычно реализую все эти структуры. Давайте начнём с простейшей и самой полезной — bulk data.
Читать дальше →

Переезд на работу за границу: 6 сервисов в помощь эмигрантам в США и Канаду

Reading time5 min
Views25K


Поиск работы за границей и переезд – крайне непростое мероприятие с множеством тонких моментов и подводных камней. Малейшая помощь на пути к цели не окажется для потенциального эмигранта лишней. Поэтому я собрал список из нескольких полезных сервисов – они помогут при поиске работы, решении визовых вопросов и коммуникации в новых реалиях.
Читать дальше →

У цветового треугольника не два, а один угол

Reading time16 min
Views42K
Как увидеть цвет, которого в природе не бывает?

image


Четыре года назад на Хабре был пост с интересным и полезным видео «Как устроен цвет». Лектор — Дмитрий Николаев, заведующий сектором зрительных систем ИППИ РАН.

Я сделал расшифровку (в меру своего понимания материала), потому что считаю и тему важной и подачу — отличнейшей. Пока набирал текст, чуть не поменял своё φ(λ). Слово спикеру:


Поговорим о математике и геометрии цвета, о том, какие абстрактные структуры заложены в этом слове.

Что такое «цвет» не знает никто.

Цвет — это что-то, о чем говорит человек, наблюдающий и познающий мир с помощью глаза.

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

В физике нет цвета, а есть спектральные свойства излучения.

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

Совершенно точно, «цвет» — психологический феномен. Цвет — это ощущение, к объективной физике не имеющий отношения.

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

Игра в прятки с оптимизатором. Гейм овер, это CTE PostgreSQL 12

Reading time6 min
Views38K


Эта статья — продолжение рассказа о новом в PostgreSQL 12. Мы уже разобрали SQL/JSON (патч JSONPath) в статье «Что заморозили на feature freeze 2019. Часть I. JSONPath», теперь очередь CTE.

CTE


CTE это Common Table Expression — общие табличные выражения, их еще называют конструкциями с WITH. Фактически это создание временных таблиц, но существующих только для одного запроса, а не для сессии. К ним можно обращаться внутри этого запроса. Такой запрос хорошо читается, он понятен, его легко видоизменять, если потребуется. Это очень востребованная вещь, и она в PostgreSQL давно.

Но удобства могут обойтись дорого. Проблемы связаны с материализацией выражения после AS внутри конструкции WITH… AS (). Его еще называют внутренним выражением и вычисляют перед тем, как начать вычисление остального, его нельзя встроить в запрос верхнего уровня (no inlining). Планирование этого выражения происходит без учета остальной части запроса. Такое поведение называют барьером для оптимизации, или fencing. Кроме того, сама материализация требует под себя work_mem. И если выборка большая, то начинаются проблемы (об этом, например, есть в докладе Ивана Фролкова на PGConf 2019).
Читать дальше →

Новости из мира OpenStreetMap №458 (23.04.2019-29.04.2019)

Reading time7 min
Views2.2K


Замки и дворцы Швейцарии, в том числе ближнего зарубежья, Германии, Франции, Италии. Сочетание OpenStreetMap + Wikidata + Wikimedia Commons + Wikipedia 1 | Данные Участники OpenStreetMap, ODbL


Карты


  • На конференции «Pacific Visualisation» Йохен Гертлер вместе со своими коллегами стал лауреатом премии Best Paper за свою работу “Стипплинг 2D скалярных полей” (в основном это карты).
  • [1] Стефан Келлер из Университета прикладных наук Рапперсвиля опубликовал “Карту замков Швейцарии”. В настоящее время это самая полная веб-карта замков и дворцов Швейцарии, включая близлежащие страны (Германия, Франция, Италия) — вплоть до замка Нойшванштайн. Многоязычное веб-приложение использует данные OpenStreetMap, Wikidata, Wikimedia Commons (images) и Wikipedia. Исходный код проекта доступен на GitLab.
  • Сервис historic.place обновился и теперь показывает новую карту замков в Швейцарии на основе данных о замках Викимедиа(de).
  • Официальное приложение лондонского марафона удивительно использовало тайлы с сервера OpenStreetMap, который не справился с нагрузкой (вероятно, из-за неправильной конфигурации их CDN). См. также политику использования тайлов и switch2osm.org в качестве учебных пособий по настройке собственной инфраструктуры.
Читать дальше →

Простой Blender. Часть 1

Reading time6 min
Views240K
image
КДПВ. По мотивам.

О чем пост


Пост написан по мотивам этого комментария . Особенно вдохновила картинка в ответах к этому комментарию. Изначально хотел здесь написать про UI и основы моделлинга в Blender, но выходит многовато (я словообилен). Поэтому, про моделлинг — позже (если публика захочет). А здесь — про UI Blender с точки зрения непрофессионала.
Тоже хочу танк нарисовать!

Руководство пользователя Kibana. Визуализация. Часть 1

Reading time9 min
Views64K
Доброго времени суток. Всем пользователям ElasticStack рано или поздно нужно визуализировать данные. Большинство использует Kibana. Под катом перевод официальной документации для версии 6.6.

Ссылка на оригинальный материал: Kibana User Guide [6.6] » Visualize

Содержание:

  1. Creating a Visualization
  2. Line, Area, and Bar charts

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

Information

Rating
Does not participate
Registered
Activity