Search
Write a publication
Pull to refresh
44
0

Пользователь

Send message

Oculus Quest

Reading time8 min
Views31K
image

Всё, что нужно знать об Oculus Quest по информации с крупнейшей выставки года по виртуальной реальности.


Если Вы интересуетесь виртуальной реальностью, то наверняка знаете, что в Сан Хосе 26 и 27 сентября прошло одно из самых важных событий года в мире виара — а именно Oculus Connect 5 от компании Facebook. На самом мероприятии мне, в силу финансовых причин, побывать не удалось, но я пролопатил огромное количество источников, так что будьте уверены, что в этой статье вы найдете все самые важные анонсы и новости с ивента, включая, конечно же, всё интересное об oculus Quest.

image

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

Oculus анонсировали первый в компании автономный комплект виртуальной реальности, включающий контроллеры и отслеживающийся в 6 степенях свободы (далее 6DOF) под названием Oculus Quest. В последние 2 года Вы могли слышать о ходе разработки этого проекта под именем Santa Cruz. Продукт, если говорить упрощенно, представляет собой автономную версию Oculus Rift — Вы просто запускаете и используете его без всякой надобности в компьютере или смартфоне. 6 DOF означает, что Вы можете двигаться как угодно и двигать руками так же, как в реальной жизни, и в виртуальной реальности соответствующие движения будут отражены с высокой точностью и минимальной задержкой. В других, существующих на рынке автономных VR сетах, например Mirage Solo, в Вашем распоряжении только 3 DOF контроллер, означающий, что Вы пользуетесь «пультом», который способен только вращаться. В то время как с Oculus Quest Вам доступны 2 контроллера, аналогичные тем, что используются в Rift и передают почти полное присутствие рук в виртуальном пространстве.

Спецификация


CodeRainbow: интерактивное изучение и документирование кода

Reading time9 min
Views4.3K


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

У меня в процессе такой работы всегда остро ощущалась необходимость некоего инструмента, специально заточенного для облегчения процесса быстрого погружения в большие объемы незнакомого кода. Со временем появлялись все новые интересные задумки в разных областях, и все они требовали изучения больших объемов чужого кода. Децентрализованные сети, криптовалюты, компиляторы, операционные системы — все это большие проекты, требующие изучения значительных объемов кода. В какой-то момент я решил: надо просто взять и сделать этот специальный инструмент. В этой статье я представляю вашему вниманию то, что получилось в результате.
Читать дальше →

Что за ерунда происходит с рейтингами популярности языков программирования?

Reading time3 min
Views68K


Я сегодня изучал индекс TIOBE, как делаю часто, и как часто делает большинство из тех профессиональных программистов, которых я знаю. Он претендует на измерение популярности языков программирования в мире, а его график изменения популярности со временем рассказывает простую историю: Java и C с незапамятных времён остаются королями языков с большим отрывом.

Но, погодите-ка, давайте не так быстро. Конкурирующий список PYPL Index (PopularitY of Programming Languages) говорит, что королями являются Python и Java, а C (учитываемый, внезапно, совместно с C++) находится где-то в глубине списка. Что происходит?

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

ДНК. Механизмы хранения и обработки информации. Часть I

Reading time6 min
Views39K

Много людей использует термин ДНК. Но статей, нормально описывающих, как она работает почти нет (понятных не биологам). Я уже описывал в общих чертах устройство клетки и самые основы ее энергетических процессов. Теперь перейдем к ДНК.
ДНК хранит информацию. Это знают все. Но вот как она это делает?

Начнем с того, где она в клетке хранится. Примерно 98% хранится в ядре. Остальное в митохондриях и хлоропластах (в этих ребятах протекает фотосинтез). ДНК — это огромный полимер, состоящий из мономерных звеньев. Выглядит примерно так.



Что мы тут видим? Во-первых ДНК — двухцепочечная молекула. Почему это так важно — чуть позже. Далее мы видим синие пятиугольники. Это молекулы дезоксирибозы (такой сахар, чуть меньше глюкозы. От рибозы отличается отсутствием одной OH группы, что придает стабильности молекуле ДНК, в отличие от РНК, в которой используется рибоза. Дальше, для простоты опущу приставку дезокси и буду просто говорить рибоза, да простят нас щепетильные товарищи). Маленькие кружкИ — остатки фосфорной кислоты. Ну и собственно есть азотистые основания. Всего их 5, но в ДНК в основном встречаются 4. Это Аденин, Гуанин, Тимин и Цитозин. То есть, есть рибоза с которой связано азотистое основание. Вместе они образуют так называемые нуклеозиды, которые связываются друг с другом с помощью остатков фосфорной кислоты. Таким образом мы получаем длинную цепь, состоящую из мономеров. Теперь посмотрите на увеличенную левую цепь. Видите C и G соединены тремя пунктирными линиями, а T и A двумя. Что это значит? Да, ДНК состоит из двух цепей, но что удерживает их вместе? Есть такая штука, как водородная связь. Выглядит примерно так. На атомы кислорода (O) и азота (N) формируется частичный отрицательный заряд, а на водороде (H) — положительный. Это приводит к формированию слабых связей.
Читать дальше →

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

Reading time6 min
Views19K


От переводчика: этот пост — несколько сокращенный перевод оригинальной статьи Гала Шлезингера, опытного frontend-разработчика. Ему очень нравится программировать, а его хобби — изучение различных (и порою весьма неожиданных) языков программирования как для рабочих целей, так и для собственных pet-проектов. О достоинствах и недостатках нескольких из них Гал и рассказывает в этом материале.

Несмотря на то что на работе я чаще всего работаю с Java, JS и Ruby, мне нравится изучать новые языки и фреймворки. Мне кажется, что постоянное обучение помогает формировать новые интересные идеи, которые можно использовать при необходимости для решения определенной задачи. Кроме того, функциональное программирование помогает понять больше про объектно-ориентированное программирование, а постоянная работа с Rails позволяет изучить многие нюансы тестирования (конечно, если вы будете практиковаться). Проблема в том, что рано или поздно в процессе изучения других языков вы начинаете задумываться: а есть ли среди них идеальный, где были бы собраны все полезные функции, найденные вами в других?

Исчезнувший конкурент азбуки Морзе: наборный телеграф

Reading time5 min
Views9.7K

В 1842 году французский часовщик Луи Франсуа Бреге изобрёл более простую в использовании но менее эффективную альтернативу телеграфу




Много лет я игрался с интерактивными телеграфными экспонатами в научных центрах и музеях. Я могу выстучать сигнал бедствия * * * — - — * * * и знаю обозначение букв H (****) и E (*), но за пределами этого последовательности точек и тире из азбуки Морзе путаются у меня в голове. Истории операторов телеграфа, способных расшифровывать сотни символов в минуту до сих пор поражают меня.

Однако недавно я узнал о стрелочном телеграфе Кука и Уитстона. У отправителя и получателя стрелка или стрелки просто показывали на нужную букву на циферблате. Наконец-то я нашёл удобную для пользователя систему телеграфа – если, конечно, пользователь умел читать.
Читать дальше →

Микроша, Криста, Апогей, Львов — первые советские ЭВМ на вынос

Reading time8 min
Views28K

Из истории советских ПК


Уже не секрет, что в 1950 -70 годах СССР был одним из мировых лидеров в гонке под названием «разработка и производство компьютерной техники». Первые ЭВМ — МЭСМ, М-1, позднее известная БЭСМ-6 с быстродействием более 1 млн. операций с плавающей запятой в секунду, компактные ЭВМ серии МИР, и многие другие достижения великих умов в «компьютерной» сфере советских времен.


БЭСМ-6

Технологии развивались очень быстро, а потому такие комментарии как «А я и не знал/а, что в Советском Союзе были компьютеры» или «Оказывается, советские компьютеры не были отстоем по сравнению с зарубежными» вызваны лишь банальным незнанием истории развития различных «компьютерных» технологий и вычислительных устройств в СССР. Многим известны истории создания ПК таких мировых зарубежных гигантов как Apple, IBM и т.д., так как информация о них на протяжении не одного десятилетия освещалась и была на слуху. Исторически сложилось мнение, что в СССР кроме того, что не было «секса», так еще и персональные компьютеры появились позже на лет 10 чем в той же Америке. Как и первое так и второе заявление — не более чем миф.

Разработка языков программирования и компиляторов в СССР

Reading time32 min
Views75K
Идеальный язык программирования — это такая же недостижимая мечта, как и идеальная жизнь. Но стремление к совершенству приводит к появлению вещей, которые делают нашу жизнь лучше. Скептики могут увидеть в этом изобретение очередного велосипеда. Но и это не бывает напрасным: если очередной велосипед не стал лучше прежнего, то сам процесс улучшает изобретателей. Велосипед может быть забыт и выкинут, а вот изобретатели приобретут инженерный опыт.



Программирующая Программа — первый компилятор


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

Java 11 / JDK 11: General Availability

Reading time1 min
Views28K

Товарищи по оружию, Java-бойцы Хабра! Этот день мы приближали как могли.


Сегодня стала доступна релизная версия JDK 11 — референсная реализация Java 11, и первая LTS-версии Java, выпущенная по быстрому 6-месячному релизному циклу. Самый большой и важный релиз новейшего времени, который даст толчок всему Java-сообществу переходить на самые новые и продвинутые технологии.



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

Как создавался World of Warcraft: взгляд изнутри на 20 лет разработки

Reading time47 min
Views92K
Уже в течение 14 лет World of Warcraft остаётся не только активным, но и актуальным. Он не стал основателем жанра MMORPG, но продолжает эволюционировать вместе с ним. World of Warcraft был продан миллионами копий, заработал миллиарды долларов и выиграл сотни наград. После выпуска седьмого расширения — Battle for Azeroth, WoW по-прежнему может похвастаться растущей базой поклонников.


Нам позируют некоторые из бывших лидеров фракций World of Warcraft. [Все изображения из статьи принадлежат Blizzard Entertainment.]

С самого начала World of Warcraft задумывался как ответ другим играм; игроки в успешные MMO задавались вопросом — может ли игровой процесс может быть лучше? После выхода таких игр, как Ultima Online и Everquest, команда разработчиков из Blizzard Entertainment перенесла игроков в Азерот (Azeroth), впервые появившийся в Warcraft 3. Игроки могли исследовать обширный мир, заполненный героями, злодеями, богами и монстрами в игровом процессе, который был гораздо более дружелюбным к пользователю, чем в играх-конкуренртах. Я сам играл в эти старые MMOs; я помню анархию и убийство игроков (вы не забыли Corp Por) в Ultima Online и собирание игроками толп мобов, беготню без брони до своего трупа и жёсткий гринд в Everquest. По сравнению с этим World of Warcraft был похож на глоток свежего воздуха.

Разработка игр сложна. Игры постоянно терпят крах — иногда потому, что плохи, иногда они просто не находят подходящую аудиторию. Выпустить успешную игру трудно, а поддерживать её успешность больше десяти лет требует сочетания ремесла, любви и удачи. Это видно по тому, что куча сломанных конкурентов World of Warcraft осталась на заре MMORPG. В течение последних 14 лет World of Warcraft расцветал благодаря тому, что разработчики учитывали ощущения игроков и учились больше общаться с сообществом.
Читать дальше →

Mod и остаток — не одно и то же

Reading time4 min
Views280K


Приготовьтесь, вас ждёт крайне педантичная статья, которая вполне может спасти вас на собеседовании или сэкономить несколько часов при вылавливании бага в продакшне!

Я сейчас активно работаю над вторым сезоном «Руководства для самозванца» и пишу о шифре RSA для SSH, который, очевидно, является самым загружаемым фрагментом кода в истории IT.

Хочется полностью разобраться в этой истории. Кто придумал этот шифр, как он работает, почему работает и будет ли работать в будущем. Сейчас я раскопал одну чертовски интересную историю. Я не криптоманьяк и вижу, как других буквально засасывает в эту область. Но мне это тоже интересно, потому что повсюду есть маленькие норки, а меня как сороку привлекают блестящие штучки в глубоких норках. Я также очень хорош в метафорах.
Читать дальше →

Компания Valve хочет обеспечить запуск всех Windows-игр на Linux

Reading time3 min
Views40K
Компания Valve представила проект Proton — запуск Windows-игр на Linux.

image
Иллюстрация wccftech.com

Valve решила не останавливаться на выпуске SteamOS, своей игровой версии Linux, и объявила о выходе бета-версии сервиса Steam Play с модифицированной версией Wine, под кодовым именем Proton. Новая версия программного обеспечения позволяет, ни много ни мало, запускать Windows-игры на Linux прямиком из Steam. В целом, проект Proton ставит перед собой весьма амбициозную цель — обеспечить возможность запуска всех Windows-игр каталога Steam под Linux, что называется «из коробки».



На данный момент объявлено о полной поддержке 26 игр. Кроме того, энтузиасты могут попробовать запустить любую игру, задействовав опцию Enable Steam Play for all titles в настройках. Все результаты попыток запуска игр записываются в google-таблицу.

Книга о «Параграфе» на Хабре. Первая глава: Ученый-вахтер

Reading time13 min
Views17K
Пару недель назад я анонсировал книгу о «Параграфе», над которой работаю. Сегодня я решил в качестве эксперимента опубликовать тут первую главу.

О чем в ней идет речь? «Параграф» — первый стартап из России, покоривший мир. И он вряд ли вообще появился на свет, если бы Степан Пачиков вместе с Гарри Каспаровым не организовал первый в Москве детский компьютерный клуб.

Именно знания, связи и репутация, приобретенные на посту его директора, позволили Степану в Перестройку запустить собственный кооператив по продаже программного обеспечения. Так вся эта заваруха с «Параграфом» и началась.

imageКаспаров и Пачиков в детском клубе «Компьютер» — фото 1987 года (опубликовано на сайте Republic.ru)

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

image Фото клуба из статьи в журнале «Радио». 1987 г.

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

Python сделал доступным программирование для широкой аудитории

Reading time5 min
Views10K
Привет, Хабр! Представляю вашему вниманию перевод статьи "Python has brought computer programming to a vast new audience".

А его основатель ушел в отставку

В Декабре 1989 года Гвидо ван Россум, голландский специалист в области информатики, запланировал для себя некий проект на рождественские каникулы. Уставший от недостатков в других языках программирования он пожелал создать собственный. Его принципы были просты. Во-первых, он должен был быть простым для прочтения. Вместо того, чтобы растягиваться по окончаниям строк и быть разбитым путаницей фигурных скобок, каждый кусок кода был бы окружен отступами с пробелами. Во-вторых, он должен был позволять пользователям создавать свои собственные пакеты специальных модулей кодирования, которые затем могли быть доступны другим для создания основы для новых программ. В-третьих, он хотел «короткое, уникальное и слегка загадочное» имя, поэтому он был назван Monty Python, в честь британской комедийной группы. Репозиторий пакетов стал известен как Cheese Shop (Сырный магазин).
Читать дальше →

Введение в систему модулей Go

Reading time8 min
Views184K

Грядущий релиз версии 1.11 языка программирования Go принесет экспериментальную поддержку модулей — новую систему управления зависимостями для Go. (прим.перев.: релиз состоялся)


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


Итак, вот, что мы будем делать: создадим новый пакет и потом сделаем несколько релизов, чтобы посмотреть, как это работает.

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

Как я научил ИИ играть в Tetris для NES. Часть 1: анализ кода игры

Reading time58 min
Views12K
В этой статье я исследую обманчиво простые механики Nintendo Tetris, а во второй части расскажу, как создал ИИ, эксплуатирующий эти механики.


Попробуйте сами


О проекте


Для тех, кому не хватает упорства, терпения и времени, необходимых для освоения Nintendo Tetris, я создал ИИ, способный играть самостоятельно. Вы наконец-то сможете добраться до уровня 30 и даже дальше. Вы увидите, как получить максимальное количество очков и понаблюдаете за бесконечным изменением счётчиков рядов, уровней и статистики. Узнаете, какие цвета появляются на уровнях, выше которых не мог забраться человек. Посмотрите, насколько далеко можно зайти.
Читать дальше →

Создание ИИ методом «глокой куздры». Интеллектуальная одиссея

Reading time33 min
Views18K
Захотелось мне написать разговаривающую программу. Очень захотелось, позарез.

Конечно, мне далеко до профессиональных программистов, и лингвистом я тоже не являюсь, но системное мышление имеется, и чувство языка на месте. Тем более что тематикой ИИ давно интересуюсь, даже пару-тройку постов накатал в свое время. Отчего не реализовать познания в программном коде? Ну и попробовал, насколько смог.

Знакомьтесь, Ваня Разумный.


Ниже находится описание проблем, возникших передо мной на этом хоженом-перехоженом пути, и способов их преодоления.

По поводу результата оговорюсь сразу: целью был не программный код, а формулировка принципов искусственного мышления, функционирующего НЕ на основе физической реальности, как биологические организмы, а на основе СИНТАКСИСА. Поклонники теста Тьюринга, нейронных сетей и машинного обучения могут не беспокоиться.

Внимание, материал объемный.
Читать дальше →

Кибердемоны: искусственный интеллект DOOM 2016

Reading time12 min
Views34K
Шутеры от первого лица за долгие годы эволюционировали и стали очень интересной средой для неигровых персонажей: солдаты прячутся за укрытиями, чужие преследуют игрока, а напарники помогают ему в пылу боя. Всё это вписывается в концепцию дизайна современных шутеров: удерживания территории, создания рубежей обороны и сдерживания игрока. В этой статье я на примере перезапуска франшизы DOOM 2016 года расскажу о том, что происходит, когда разработчики отказываются использовать в игре стандартный кодекс поведения.


DOOM построен на философии, известной как "push forward combat" («агрессивный бой»), влияющей на нарратив, дизайн уровней, перемещения игрока и многое другое. Если вкратце, то он является критическим взглядом и реакцией на современные шутеры. В то время как Call of Duty заставляет игрока ползать за укрытиями и снимать врагов издалека, DOOM нарушает эти правила, создавая мощный, быстрый, «спинномозговой» геймплей. Но как это всё устроено, и что предпринимает ИИ, чтобы сделать игровой процесс живым?

Создание эмулятора аркадного автомата. Часть 1

Reading time11 min
Views6.5K
image

Написание эмулятора аркадного автомата — это замечательный учебный проект, и в этом туториале мы очень подробно рассмотрим весь процесс разработки. Хотите по-настоящему разобраться в работе процессора? Тогда создание эмулятора — наилучший способ его изучения.

Вам потребуется знание C, а также пригодится знание ассемблера. Если вы не знаете язык ассемблера, то написание эмулятора — лучший способ освоить его. Также вам нужно будет освоить шестнадцатеричную математику (также известную как base 16 или просто «hex»). Я расскажу и об этой теме.

Я решил выбрать эмулятор автомата Space Invaders, в котором используется процессор 8080. Эта игра и этот процессор очень популярны, потому в Интернете можно найти о них кучу информации. Для завершения проекта она вам понадобится.

Весь исходный код туториала выложен на github. Если вы не освоили работу с git, то на странице github есть кнопка «Download ZIP», позволяющая скачать архив со всем кодом.
Читать дальше →

Создание эмулятора аркадного автомата. Часть 2

Reading time12 min
Views4.8K
image

Первая часть здесь.

Дизассемблер процессора 8080


Знакомство


Нам понадобится информация об опкодах и соответствующих им командах. Когда вы будете искать информацию в Интернете, то заметите, что есть много перемешанных сведений о 8080 и Z80. Процессор Z80 был последователем 8080 — он выполняет все инструкции 8080 с теми же hex-кодами, но также имеет и дополнительные инструкции. Думаю, пока вам стоит избегать информации о Z80, чтобы не запутаться. Я создал таблицу опкодов для нашей работы, она находится здесь.

У каждого процессора есть написанное изготовителем справочное руководство. Обычно оно называется как-то наподобие «Programmer's Environment Manual». Руководство для 8080 называется «Intel 8080 Microcomputer Systems User's Manual». Его всегда называли «справочником» («data book»), поэтому я тоже буду так его называть. Мне удалось скачать справочник по 8080 с http://www.datasheetarchive.com/. Эта PDF представляет собой некачественный скан, так что если найдёте версию получше, то используйте её.
Читать дальше →

Information

Rating
Does not participate
Location
Тернополь, Тернопольская обл., Украина
Date of birth
Registered
Activity