Pull to refresh
0
0
RainWarrior @RainWarrior

User

Send message

Windows 10 Fall Creators Update и подсистема Windows для Linux

Reading time5 min
Views53K
Системные администраторы и разработчики! Похоже, на вашей улице настал праздник. WSL, начиная с последнего обновления, так называемого Fall Creators Update, стала полноправной частью Windows 10.



Хотите пользоваться Linux на Windows с помощью подсистемы WIndows для Linux (Windows Subsystem for Linux, WSL), но вас тревожит то, что WSL пока имеет статус бета-версии и доступна только в режиме разработчика Windows 10? Теперь можно не беспокоиться. Дело в том, что в Windows 10 Fall Creators Update (WinFCU) WSL может быть запущена любым пользователем.
Читать дальше →
Total votes 35: ↑33 and ↓2+31
Comments97

Когда наступит неизбежное бессерверное будущее?

Reading time10 min
Views12K
Минувшее десятилетие приучило нас к удобствам облачных служб. Облака — это пьянящая возможность в любой момент обзавестись новым сервером. Следующий шаг, дающий новые удобства — платформы, которые предоставляют сервисы более высокого уровня: очереди, API, шлюзы, средства аутентификации. На очереди — всеобщее бессерверное счастье?

image
Фотография с выставки «Искусство LEGO»

У многих бессерверные вычисления ассоциируются с существующими платформами, представляющими услуги в формате «функция как сервис» (function-as-a-servise, FaaS), что вполне понятно. Многих эти платформы разочаровывают, заставляют с подозрением смотреть на всё «бессерверное». Однако, это — слишком узкий взгляд на вещи.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments16

Выключаем Intel ME 11, используя недокументированный режим

Reading time11 min
Views79K


В ходе исследования внутренней архитектуры Intel Management Engine (ME) 11-й версии был обнаружен механизм, отключающий эту технологию после инициализации оборудования и запуска основного процессора. О том, как мы нашли этот недокументированный режим, и о его связи с государственной программой построения доверительной платформы High Assurance Platform (HAP) мы расскажем в этой статье.

Авторы предупреждают, что использование данных знаний на практике может повлечь за собой повреждение вычислительной техники, и не несут за это никакой ответственности, а также не гарантируют работоспособность или неработоспособность чего-либо и не рекомендуют экспериментировать без наличия SPI-программатора.
Читать дальше →
Total votes 84: ↑83 and ↓1+82
Comments90

Как правильно чесать панду

Reading time6 min
Views16K


Сначала здесь было разумное и обоснованное введение про HR-процессы в компании и тому подобное. Потом разумное и обоснованное выпилили и решили просто рассказать, как добавляем больше смысла в ежедневную офисную жизнь.


В конце-концов, пуфиками и печеньками уже никого не удивишь, поэтому я расскажу о непубличных образовательных проектах Яндекс.Денег. А также о том, как поделиться с коллегами способами «сдвинуть гору» без общего обязательного собрания и как нанимать людей еще до того, как они сами поняли, что станут крутыми специалистами.

Читать дальше →
Total votes 41: ↑37 and ↓4+33
Comments10

Автооптимизация виртуальной реальности или В чем разница между репроекцией, timewarp и spacewarp

Reading time7 min
Views11K


Оптимизация проектов для виртуальной реальности требует своего особенного подхода. Помимо общих вещей, на которые следует обращать внимание при разработке 3D-игр, VR накладывает ряд строгих ограничений. От любого приложения требуется не только практически мгновенный отклик на любое движение игрока (будь то поворот головы или взмах руки), но и обеспечение стабильной частоты кадров, намного превышающей стандартные требования к «классическим» играм любого жанра.

Современные шлемы, такие как Oculus Rift и HTC Vive, поддерживают ряд специальных технологий, которые призваны сглаживать падения производительности. Это должно позволить компенсировать проседания FPS, искусственно повышая частоту кадров; улучшить пользовательский опыт; предоставить немного дополнительной свободы разработчикам конечных продуктов и снизить минимальные системные требования. Но так ли прекрасно все оказывается на практике? Как работают эти технологии и в чем между ними разница? Об этом и пойдет речь в настоящей статье.
Читать дальше →
Total votes 26: ↑25 and ↓1+24
Comments3

Игры для программистов, часть вторая

Reading time5 min
Views82K
Прошло четыре с половиной года с тех пор, как я, пользуясь свежеполученным инвайтом, написал предыдущий хабрапост с подобным заголовком. Большой срок для игровой индустрии. Успело появиться много новых хороших игр, и недавно я ощутил настоятельную необходимость поделиться знанием о них с широкой общественностью.

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

Infinifactory


image
И что же это за майнкрафт такой?
Total votes 58: ↑57 and ↓1+56
Comments74

Minimal Value Types

Reading time43 min
Views16K

Эта статья — перевод спецификации, посвященной описанию минимальной реализации типов-значений в Java, которую с нетерпением ждут уже несколько лет. Добро пожаловать в MVT!


Замечания к переводу


Этот текст предназначен, в первую очередь, для разработчиков платформы Java. Мы даже немного поспорили с разработчиками: насколько может быть интересен такой текст широкой общественности? В нем слишком много посторонних, очень точных деталей про внутреннюю магию.

Читать дальше →
Total votes 47: ↑47 and ↓0+47
Comments6

Эволюция графики в играх

Reading time14 min
Views68K

image


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

Total votes 66: ↑52 and ↓14+38
Comments64

Почему я до сих пор использую Vim?

Reading time2 min
Views32K
Vim — мой любимый редактор. Я начал его использовать много лет назад, когда перешел на Linux. Он пришелся мне по душе, так как я мог редактировать небольшие исходные файлы на своем четырехъядерном компьютере без необходимости долго ждать, пока он откроется.

Могу с уверенностью сказать, что Vim не плохой редактор и очень расширяемый, но это не повод говорить о том, что Vim подходит всем, так как это вопрос вкуса. При использовании Atom или Code у меня часто возникают зависания, бывает они длятся по нескольких минут.

Как вы думаете, сколько памяти нужно редактору, чтобы открыть следующий C файл?

#include <stdio.h>
int main() {
  printf("Hello, world!\n");
}
Читать дальше →
Total votes 50: ↑31 and ↓19+12
Comments172

JavaScript как мыслевирус

Reading time8 min
Views52K
Вообще я стараюсь не писать статьи и комментарии не на технические темы, но коль скоро появились не совсем технические по духу статьи «JavaScript как явление» и «JavaScript как праздник», я счел нужным принять участие в дискуссии.
Читать дальше →
Total votes 158: ↑121 and ↓37+84
Comments646

ZFS — лучшая файловая система (пока)

Reading time6 min
Views79K
ZFS должна быть классной, но меня немного бесит, что она словно застряла в прошлом — даже до того, как её признали крутой и лучшей файловой системой. Она негибкая, ей не хватает современной интеграции с флеш-памятью и она не поддерживается напрямую большинством операционных систем. Но я храню все свои ценные данные на ZFS, поскольку именно она обеспечивает наилучший уровень защиты для условий SOHO (малый офис/домашний офис). И вот почему.

image
Первая директива систем хранения: не возвращать неправильные данные!
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments69

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

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



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

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



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

JavaScript как явление

Reading time3 min
Views53K


Сообщество nodejs безумно, и судя по тому что в 2016-2017 годах в различных рейтингах JavaScript брал первое место по популярности вытеснив оттуда с небольшим отрывом Java — безумие в последнее время действительно станосится массовым. Казалось бы — не хочешь не кушай, пиши на своём любимом Elixir / Erlang / Lisp / Haskell / любом другом языкое с хорошим дизайном и в ус не дуй, но в текущей ситуации к сожалению это правило перестаёт работать и приходится прилагать некоторые усилия чтобы его соблюдать.

В чём причина популярности такого реально хренового языка как JavaScript? В принципе в том же в чём и причина популярности Java, да и вообще почти всех явлений культуры и общества
Читать дальше →
Total votes 229: ↑133 and ↓96+37
Comments687

Как Chrome и Firefox договариваются о передаче двух видеопотоков

Reading time4 min
Views9.3K

Среди подводных камней WebRTC один особенный. Это то, как браузеры договариваются между собой о передаче медиа-потоков. Кодеки, битрейты, разрешение видео, – вся вот эта история. Кода медиа-поток один — все хорошо. Но когда их два (а видео со звуком, это, на секундочку, два медиа-потока: один для видео, другой для звука), то мнения браузеров о формате описания ситуации резко разделяются. Сделать видеозвонок из Chrome в Firefox можно довольно легко. А вот видеозвонок со звуком — уже нет. Под катом небольшая история, почему так повелось, что запилили в новой Safari и какой особый путь у Microsoft Edge.
Total votes 21: ↑21 and ↓0+21
Comments15

iRobot будет продавать данные, поступающие от произведенных компанией IoT-устройств

Reading time2 min
Views3.2K
Можно ли продавать данные, которые поступают от вашего IoT-устройства (например, «умного» чайника) третьей стороне? Руководство iRobot, отвечающее за выпуск различных гаджетов, считает такой подход вполне допустимым и рассматривает возможность его реализации.

Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments4

Специально для Хабра: интервью с Аланом Кеем

Reading time32 min
Views24K
«К счастью или несчастью я научился хорошо читать в три года. Поэтому я успел прочитать около 150 книг до первого класса. Я всегда знал, когда учителя несли чушь.» — Алан Кей



Всем привет.
Раздобыл я, значит, е-мэйл Алана Кея. И задумал я задумку, пообщаться с этим легендарным пионером ИТ. Ну а чтоб накрутить важности и значимости, предложил я Алану Кею интервью от лица всего ИТ-сообщества российского. Он согласился. (И теперь Алан Кей знает, что Хабр — это круто!)

Напомню заслуги Алана
  • Работал в легендарном Xerox PARC, Atari, Apple, Disney, HP.
  • Предложил концепцию Dynabook (в 1968 году), которая определила концептуальную базу для ноутбука, планшетного компьютера и электронной книги.
  • Один из «отцов-основателей» объектно-ориентированного программирования (SmallTalk, 1969).
  • Участвовал в создании первого персонального компьютера Xerox Alto (1973).
  • Инициатор полезной движухи «Каждому ребенку по ноутбуку».
  • в 2001 году, он основал исследовательский Институт Viewpoints, некоммерческую организацию посвящённую детям, обучению и передовым разработкам программного обеспечения.
  • В 2006 бросил дерзкий вызов индустрии — заявил о возможности создания операционной системы с графическим интерфейсом из 20.000 строчек кода.
  • В 2016 присоединился к Y Combinator.


У меня была пара недель чтобы дотянуться до самых «передовых» ИТ-людей рунета. Это оказался довольно веселый и интересный квест. И своеобразный тест на свой/чужой, на знание истории ИТ, на адекватность, на связность ИТ-сообщества, на способность коммуницировать (у меня минус три френда в фейсбуке), на способность организаций/сообществ выступить как единое целое. Огромное спасибо тем, кто этот «тест» прошел.

Набралось 61 вопрос. Алан ответил не на все, но нумерация осталась оригинальной, для удобства синхронизаций версий.

За перевод особое спасибо Данилу Корневу, Александру Козлову и Сергею Даньшину. Если у вас есть рекомендации, как перевести какой-то смысловой блок лучше — пишите в личку.
Total votes 47: ↑46 and ↓1+45
Comments28

Интерфейс vs interface

Reading time7 min
Views30K

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


Часто сложность в понимании принципа "программируйте на уровне интерфейса" кроется в концентрации на инструменте, а не на смысле. Из-за наличия в Java ключевого слова interface, происходит искажение понимания принципа, и он превращается в "программируйте, используя interface". Так как в Python инструмент в виде ключевого слова interface отсутствует, некоторые питонисты пропускают этот принцип.


В книге Банды Четырех примеры приводятся на Smalltalk и C++. Оба этих языка не имеют ключевого слова interface, но это не мешает авторам применять принцип, используя имеющиеся в распоряжении конструкции языка:


У манипулирования объектами строго через интерфейс абстрактного класса есть два преимущества:

  • клиенту не нужно иметь информации о конкретных типах объектов, которыми он пользуется, при условии, что все они имеют ожидаемый клиентом интерфейс;
  • клиенту необязательно "знать" о классах, с помощью которых реализованы объекты. Клиенту известно только об абстрактном классе (или классах), определяющих интерфейс.


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

Но даже приведенные в цитате преимущества не являются единственными, если посмотреть на принцип под более широким углом.

Читать дальше →
Total votes 21: ↑20 and ↓1+19
Comments7

«Пятничный формат»: Как погасить пламя или 8 верных способов загубить разработку

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

Читать дальше →
Total votes 23: ↑21 and ↓2+19
Comments29

Почему хорошие люди покидают крупные IT-компании?

Reading time6 min
Views57K

Если ты хочешь построить корабль, не надо созывать людей,
планировать, делить работу, доставать инструменты.
Надо заразить людей стремлением к бесконечному морю.
Антуан де Сент-Экзюпери

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

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

Лучше бы я этого не делал.

Переведено в Alconost
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments35

Dotty – будущее языка Scala

Reading time17 min
Views19K
В конце мая я оказался среди слушателей конференции Scala Days в Копенгагене. Одним из ключевых спикеров был создатель языка Scala Мартин Одерски. Он рассказал о развитии языка и, в частности, о разработке компилятора, названного Dotty. Планируется, что на основе Dotty будет разработан новый компилятор для версии 3.0.

Мартин не раз выступал на эту тему, и я бы хотел собрать здесь всю актуальную информацию о Dotty – новые ключевые возможности и элементы, удаленные за ненадобностью.


Мартин Одерски. План развития Scala на ближайшие несколько лет

Этот пост будет полезен и знатокам, и совсем новичкам, для которых разговор о Dotty я предваряю рассказом об особенностях Scala, а также о том, что лежит в его математической основе.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments51

Information

Rating
Does not participate
Date of birth
Registered
Activity