Как стать автором
Обновить
10.2
Карма
0
Рейтинг
Василий Салаев @SystemXFiles

Программист Java

  • Публикации
  • Комментарии

МГЛ (ДРИ) дома, долгий путь к совершенству

Здоровье

Изучение данного материала, очень советую начать с моих прошлых статей про МГЛ - один, два, три.

Игры играми, но очень хочется получить "идеальный" источник света, с правильным светораспределением и приятным спектром, именно с этого я и хочу начать данный цикл статей.

Часть 1 - светораспределение

Начнем с самого простого, а именно положение лампы: мгл лампочка Ильича.

Читать далее
Всего голосов 20: ↑18 и ↓2 +16
Просмотры5.1K
Комментарии 39

Новости

Показать еще

Это норма — 5: различные способы создания карт нормалей

Работа с 3D-графикойРазработка игр
Перевод
image


Существует множество способов создания и применения карт нормалей. Давайте рассмотрим известные мне способы их изготовления.

Не существует единственного правильного решения для каждой ситуации, я лично пользуюсь несколькими техниками, в зависимости от проекта, количества времени, требуемой производительности и т.д., и чаще всего они взаимозаменяемы. Я попытаюсь объяснить достоинства и недостатки каждого способа, но во многих случаях они будут очень схожими.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры2K
Комментарии 0

Небольшой гайд по выбору 3D-принтера для начинающих

3D-принтеры

Поводом для написания данной статьи послужила статья “Я хотел купить недорогой 3D-принтер, но посмотрел YouTube и расхотел”, в конце которой автор просит ответить на несколько вопросов. Попробую ответить с точки зрения своего семилетнего опыта 3D-моделера и 3D-печатника. Для начала небольшие предостережения.

В данной статье не будет советов: “Покупайте принтер производителя Х - он хороший, а производителя Y - не берите ни в коем случае”, только общие рекомендации.

Классификация принтеров неформальная, принятая в отечественном сегменте печатников.

Все написанное основано на личном опыте автора и является его личным мнением.

Если данные предостережения вас не пугают - добро пожаловать под кат.

Поехали
Всего голосов 23: ↑22 и ↓1 +21
Просмотры13.9K
Комментарии 70

Habrosanitizer теперь и для Firefox. А еще он научился блокировать хабы

FirefoxРасширения для браузеров

habrosanitizer says happy new year


В конце октября, после волны статей от хайповых авторов, я написал небольшое расширение для Хрома которое позволяет прятать нежелательные статьи из ленты. Расширение было встречено очень тепло (+285, 53_000 просмотров и 70+ звезд на гитхаб) и я даже опубликовал его в Chrome Extension Store. Потом был опрос о наиболее желаемой следующей фиче и самой востребованной (129 голосов) оказалась поддержка Firefox. И вот, спустя месяц, расширение опубликовано в Firefox Addons.


Кому интересно по каким граблям пришлось потоптаться, прошу под кат!

Читать дальше →
Всего голосов 64: ↑61 и ↓3 +58
Просмотры6.4K
Комментарии 39

Google Dorking или используем Гугл на максимум

PostufИнформационная безопасность

Вступление


Google Dorks или Google Hacking — техника, используемая СМИ, следственными органами, инженерами по безопасности и любыми пользователями для создания запросов в различных поисковых системах для обнаружения скрытой информации и уязвимостях, которые можно обнаружить на общедоступных серверах. Это метод, в котором обычные запросы на поиск веб-сайтов используются в полную меру для определения информации, скрытой на поверхности.
Читать дальше →
Всего голосов 37: ↑33 и ↓4 +29
Просмотры65.8K
Комментарии 7

Как я самостоятельно выучил новый язык за 12 месяцев: тотальный гайд

VDSina.ruЛайфхаки для гиковИзучение языков
Перевод
От А0 до B2 за год

Чуть больше года назад я был полностью монолингвом, говорящем только на английском, с нулевыми познаниями во французском языке. А спустя двенадцать месяцев, я с лёгкостью сдал международный экзамен DELF B2. Если вы не знаете, что значит «В2», посмотрите шкалу CEFR.

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

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

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

  • Беседа на французском в течение нескольких часов;
  • Понимание различных видов французских СМИ (например, новости и видео на YouTube);
  • Чтение статей, написанных для носителей французского языка;
  • Построение мыслей на французском;

Конечно, я всё ещё очень далёк от уровня носителя. У меня точно есть слабые места, и я не могу выражаться на французском так же хорошо, как на английском. Тем не менее, я очень даже доволен своим уровнем владения французским и думаю, что многие изучающие язык тоже были бы довольны.
Читать дальше →
Всего голосов 50: ↑47 и ↓3 +44
Просмотры73.4K
Комментарии 87

Симулятор машинок Брайтенберга

ПрограммированиеАлгоритмыC#Разработка робототехники
Просто захотелось написать симулятор машинок Брайтенберга. Корни у этой вещи растут из идей построения простеньких роботов, но также она интересна с точки зрения развития сложных систем.


Итак, что же это такое?

(Осторожно, в статье чрезвычайно много картинок и анимаций!)
Читать дальше →
Всего голосов 41: ↑40 и ↓1 +39
Просмотры14.8K
Комментарии 24

Пишем движок трёхмерного ретро-шутера с нуля

Разработка игрОбработка изображений
Перевод

Мне всегда нравились классические шутеры от первого лица 90-х. Я часами просиживал за моим 386-м, играя Doom, потрясённый тем, как кому-то удалось написать код, отрисовывающий на моём экране 3D-графику в реальном времени с отличным разрешением 320x200. Я немного знал программирование (только что начал изучать BASIC), поэтому осознавал, что глубоко внутри это всего лишь куча математики и байтов, записываемых в видеопамять. Но в то время даже массивы для меня были довольно сложным понятием, поэтому я не мог даже начать постигать всю сложность 3D-рендеринга.

В то время все писали 3D-движки с нуля, потому что другого способа не было. Но сегодня написание логики 3D-рендеринга с нуля скорее всего окажется плохой идеей. Очень плохой. Почти как изобретение колеса! При наличии огромного количества 3D-движков и библиотек, намного более хорошо протестированных и оптимизированных, чем то, что вы можете сделать сами, нет никаких причин для разумного разработчика начинать писать собственный движок.

Если только…

Представьте, что вы можете вернуться в машине времени назад в 90-е, когда ещё не было OpenGL и DirectX, не было видеопроцессоров. Всё что у вас есть — ЦП и экран, заполненный пикселями. Вам всё придётся писать самому.

Если эта идея кажется вам интересной, то вы не одиноки: это именно то, что можно сделать на такой выдуманной консоли, как TIC-80.
Читать дальше →
Всего голосов 70: ↑70 и ↓0 +70
Просмотры30.7K
Комментарии 23

Почему слоны не взрываются: как природа справляется с крупным размером

Научно-популярное
Перевод
Н-да, с этим животным явно что-то не так:



Погода, очевидно, холодная, и всё же этот крохотный комочек меха мечется по льду, что-то выискивает, вынюхивает, бросается туда и сюда, без перерывов, без отдыха – постоянно охотится, охотится, охотится. Землеройки обычно так себя и ведут. На видео – короткохвостая землеройка. Землеройки – очень странные животные. Они не замедляются, они редко спят. Они ведут себя, как плотно сжатые пружины, постоянно тратят уйму энергии, а потом, при необходимости, тратят ещё. Они могут весить меньше монетки, и постоянно должны есть, двигаться, охотиться. Никакое другое животное так себя не ведёт.
Читать дальше →
Всего голосов 39: ↑34 и ↓5 +29
Просмотры25.9K
Комментарии 53

Руководство по материалам электротехники для всех. Часть 1

MakeItLabНаучно-популярноеDIY или Сделай сам
Tutorial
Привет гиктаймс! Я решил опубликовать по частям свое руководство по материалам, используемым не только в электротехнике, но и вообще в технике, в том числе самодельщиками. С описанием, примерами применения, заметками по работе. Руководство написано максимально просто, и будет понятно всем, от школьника до пенсионера.

В этой части начинаем разбирать проводники — Серебро, Медь, Алюминий.

image

Добро пожаловать под кат (ТРАФИК)
узнать о материалах
Всего голосов 95: ↑94 и ↓1 +93
Просмотры93.9K
Комментарии 161

Легион одиноких мужчин

Мозг
Перевод

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


image

В четверг, 13 июля 1995 года высокое давление в верхних слоях атмосферы над Чикаго опустило огромное количество горячего воздуха на землю, из-за чего температура подымалась до отметки 41°C. В городе Среднего Запада, не готовом к тропической жаре, деформировались дороги, на улицах ломались машины и закрывались школы. В пятницу три трансформатора энергетической компании Consolidated Edison вышли из строя, оставив 49000 людей без электричества. В апартаментах небоскрёбов без кондиционирования воздуха температура поднималась до 49°C даже с открытыми окнами. Жара не ушла и в субботу. Тело человека способно справляться с такой жарой лишь в течении 48 часов подряд, после чего оно начинает отключать защитные механизмы. Отделения скорой помощи в больницах были так переполнены, что не принимали жертв солнечного удара. Воскресенье было не лучше, в результате чего выросло количество смертей – от обезвоживания, жары и почечной недостаточности. Морги переполнились, тела хранились в грузовиках для перевозки мяса. В целом 739 человек погибло в этот период сильной жары.
Читать дальше →
Всего голосов 50: ↑43 и ↓7 +36
Просмотры146.2K
Комментарии 527

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

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

Целью данного учебника является постепенное представление нашего языка, описание его пошагового создания. Это позволит нам охватить достаточно широкий спектр вопросов проектирования языков и использования LLVM, попутно показывая и объясняя код без огромного количества ненужных деталей.
Читать дальше →
Всего голосов 65: ↑61 и ↓4 +57
Просмотры48.8K
Комментарии 28

Фиеричная система счисления, или почему 1 + 10 = 100

JavaScriptМатематика
«10.01 х 10.01 = 1000.1001»
Джордж Оруэлл. «1010001001001000.1001001000100001»


image


Существует ли позиционная система счисления с иррациональным основанием, в которой все натуральные числа записываются конечным числом цифр? В которой число больше единицы, не имеющее цифр после запятой, наверняка не целое и даже не рациональное? В которой 1 + 10 = 100, а 1 + 1 = 10.01?
Я заинтригован и хочу узнать ответ
Всего голосов 92: ↑89 и ↓3 +86
Просмотры53.3K
Комментарии 49

SELECT...WHERE запросы в Cassandra 2.0 на CQL3

NoSQLBig Data
Tutorial
Cassandra (далее C*) ограничивает WHERE запросы из-за своей внутренней структуры. Эта статья вам покажется сложной, запутанной, если вы не читали первую статью из цикла, где я рассказывал как устроена С*. Прочтите её, пожалуйста, прежде чем приступать к этой.

Цель этой статьи — выступать справочником для C* новичков.

Некоторые отличия CQL от SQL


В SELECT запросах Cassandra Query Language (CQL) отсутсвутют привычные нам SQL операции JOIN, GROUP BY. А операция WHERE сильно урезана. В SQL вы можете фильтровать по любой колонке, тогда как в CQL только по распределительным ключам (partition key), кластерным ключам (clustering columns) и вторичным индексам.
Заметка: В С* 2.0 можно создавать вторичные INDEX-ы у любой колонки наподобие SQL индексов. Фактически же, вторичные индексы Кассандры — это скрытая от вас дополнительная таблица, поэтому производительность WHERE запросов по ним хуже запросов по ключевым колонкам.

Читать дальше →
Всего голосов 17: ↑17 и ↓0 +17
Просмотры29.2K
Комментарии 63

Пример моделирования схемы в Cassandra 2.0 на CQL3

NoSQLBig Data
Tutorial
В предыдущей статье я доходчиво рассказал как Cassandra хранит данные. Настоятельно рекомендую хотя бы пробежаться глазами. В этой статье мы создадим простенькую БД, чтобы использовать её в следующей статье, которая будет полностью посвящена выборке/поиску данных.

Задача


Допустим у нас есть ad network, который откручивает рекламу. Люди кликают на баннеры, заказчик рекламы платит, мы (сеть), реселлеры (распространители) и хостеры рекламного места имеем на этом доход. Реселлеры рекламного места работают за 20%. Этот процент растёт из-за различных факторов, самое главное, что он не постоянен и новый процент может применяться, например, на клики месячной давности.

Нужно: быстро уметь считать доход каждого реселлера за любой промежуток дней, вести график кликов в режиме реального времени.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры24K
Комментарии 21

Моделирование данных в Cassandra 2.0 на CQL3

NoSQLBig Data
Tutorial
Статья предназначена для людей пытающихся создать свою первую «таблицу» в БД Cassandra.

За посление несколько релизов Кассандры разработчики взяли правильный вектор направленный на простоту использования этой базы данных. Учитывая её достоинства, такие как скорость работы и отказоустойчиваость, её было сложно как администрировать, так и писать под неё. Сейчас же количество танцев с бубном, которые надо провести прежде чем запустить и начать разрабатывать, свели к минимуму — несколько комманд в bash или один .msi в Windows.
Более того, сильно облегчил жизнь разработчикам недавно обновлённый CQL (язык запросов), вытеснив бинарный и довольно сложный язык Thrift.
Лично я столкнулся с проблемой наличия отсуствия русскоязычных руководств по Кассандре. Самую, на мой взгляд, сложную тему мне бы хотелось поднять в этой статье. Как же дизайнить базу данных то?
Читать дальше →
Всего голосов 20: ↑19 и ↓1 +18
Просмотры88.2K
Комментарии 25

Фототехника фотолюбителя на различных этапах его эволюции

Научно-популярноеФототехникаМозг
Кривая эволюции описана в другой моей статье. Сначала я хотел говорить лишь о сменных объективах, но, подумавши, решил, что это слишком узко.
Читать дальше →
Всего голосов 43: ↑34 и ↓9 +25
Просмотры22.4K
Комментарии 120

Квантовые шахматы

Научно-популярноеФизика
Из песочницы

Intro


Этот пост написан под впечатлением от вот этого отличного поста с Хабра, в котором автор наглядно, при помощи двумерных моделек, которые рисует его программа, объясняет как работает Специальная Теория Относительности.


Я работаю в IT, а по образованию – физик-теоретик. Уже долгое время увлекаюсь популяризацией науки, и теоретической физики в частности. Постараюсь аналогично вышеупомянутому посту о специальной теории относительности объяснить на специально подготовленном примере как работает квантовая механика.


Модель, которую я рассматриваю – отнюдь не нова. Более полугода назад Chris Cantwell разместил на YouTube анонс новой настольной игры: квантовых шахмат (многим, возможно, известно об этом из вот этого вирусного ролика).


Недавно игра вышла в Steam, она стоит 249 руб. Есть ещё другая реализация – бесплатное приложение для iOS (не знаю, есть ли оно в Google Play). Однако в процессе игр с друзьями я экспериментально выяснил, что она неправильная с точки зрения квантовой механики. Такую реализацию скорее можно назвать статистическими шахматами, а не квантовыми.


Поэтому я решил написать свою реализацию, с запутанностью и суперпозициями. В своей реализации я постарался исправить те недостатки, которые на мой взгляд присутствуют в версии на Steam (например, у меня пешки тоже могут ходить квантовыми ходами, как и все остальные фигуры). Про приложение для iOS и так всё понятно: любая реализация квантовых шахмат должна быть по-настоящему квантовой, т.е. не только быть вероятностной, но поддерживать такие эффекты квантовой механики как интерференция, запутанность, etc.

Читать дальше →
Всего голосов 96: ↑96 и ↓0 +96
Просмотры68.9K
Комментарии 201

Тульпа — карманная шизофрения для гиков или реальный воображаемый друг

DIY или Сделай сам
Tutorial
Скажите, вы бы хотели иметь друга? Любого человека или другое существо, которое будет вашим самым лучшим другом, обладая той внешностью, которая вам нравится, и тем характером который вам необходим, которое не надо будет делить с ее или его друзьями, родителями, собачкой, игрушками или учебой.
А секретаря, который всегда с вами, имеет прямой доступ к вашей памяти, напомнит, подскажет, и подаст нужную идею, напарника для мозгового штурма?
Тогда добро пожаловать под кат.



Тульпа — это стабильная самовнушенная осознанная визуализация, способная к самостоятельным мыслям и действиям, обладающая собственным сознанием. Что характерно, создается она совершенно осознанно, путем целенаправленных действий в течении долгого времени, и позволяет задавать начальный характер и форму по вашему усмотрению.
Это ты сейчас с кем разговаривал? Расшифруй определение.
Всего голосов 161: ↑83 и ↓78 +5
Просмотры668.7K
Комментарии 558

Вы неправильно пишете животных

Ненормальное программированиеРазработка веб-сайтовТестирование мобильных приложений
Животные – это платформы с очень ограниченной памятью, вычислительными способностями и возможностями модификаций. Разработчикам энимал-сцены приходится выдавать практически гениальные низкоуровневые алгоритмы. Правда, большое количество хардкода вызывает характерные проблемы с отсутствием проверки в экзотических условиях. Та же фильтрация входных данных делается очень и очень криво.


Уязвимость рекурсивных алгоритмов навигации муравья: спираль смерти

Не знаю, кто писал большую часть птиц, но я хочу обратить внимание на особенность, позволяющую провести инъекцию произвольного яйца в гнездо. Дело в том, что птица проверяет только расположение и количество яиц, но не их хэши. В 20% случаев кукушка, эксплуатирующая этот баг, может внести яйцо с сохранением контрольной суммы, чего вполне достаточно для повышения прав в гнезде.

Но пойдём далее. Я не знаю, кто разрабатывал архитектуру ящериц, но они бегают в одном процессе, а дышат в другом. При этом платформа не поддерживает многозадачность, поэтому костыль с максимальной длиной бега в 4-6 секунд просто эпичен.
Читать дальше →
Всего голосов 442: ↑438 и ↓4 +434
Просмотры328.4K
Комментарии 345

Информация

В рейтинге
5,819-й
Откуда
Иркутск, Иркутская обл., Россия
Дата рождения
Зарегистрирован
Активность