Древности: Минидиск в эпоху Айпода

Автор: admin от 7-01-2019, 21:45, посмотрело: 29

Когда Philips закрыла проект цифровой компакт-кассеты в 1996 году, она поступила правильно. Дело не в том, что цифровая кассета проиграла цифровому минидиску. Скорее оба формата оказались недостаточно востребованы: с одной стороны им мешала дешевая и привычная аудиокассета, с другой — интернет и музыка, лишенная носителя. На прошлой неделе я рассказал о минидиске в естественной среде обитания — когда интернет и MP3 не составляли серьезной конкуренции формату. Минидиск был слишком дорогим, чтобы стать массовым, но получил признание среди профессионалов, энтузиастов и просто небедных людей.



Древности: Минидиск в эпоху Айпода



Сегодня я расскажу о минидиске в эпоху MP3-плееров. Физический носитель со всеми его ограничениями по определению не был способен конкурировать с портативными устройствами на базе жесткого диска или флеш-памяти. Более того, уже в начале двухтысячных «музыкальный плеер» стал частью других цифровых устройств, и как только они стали более-менее удобными, шансов ни у одного физического носителя уже не было. Тем не менее, благодаря упорству Sony, история минидиска продолжается до 2006 года — когда было представлено последнее новое устройство. Sony трижды пыталась обновить формат под новые запросы потребителя, и трижды проиграла, и наверное затея изначально была обречена на провал. Зато теперь, через пять лет после окончательного прекращения поддержки формата, у меня есть возможность испытать еще несколько старых устройств, и рассказать о них вам.

Категория: Android

 

Навигация внутри Android приложения

Автор: admin от 7-01-2019, 21:45, посмотрело: 23

Введение



При Андроид разработке мы используем разные архитектурные решения(паттерны). Например Mvp, Mvvm, Mvi и т.д… Каждый из этих паттернов решает несколько важных задач и поскольку они не идеальны они нам оставляют кое-какие нерешенные задачи. К примеру этих задач относятся навигация внутри приложения(routing), передача информации с экрана на экран(говоря экран я имею ввиду Activity, Fragment или View), Сохранение состояний приложения при смене конфигурации(configuration change).



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

Категория: Android

 

Кое-что нашли: доклады с Elasticsearch Moscow meetup в OZON

Автор: admin от 7-01-2019, 21:45, посмотрело: 69

Кое-что нашли: доклады с Elasticsearch Moscow meetup в OZON



Для тех, кто досмотрел все сезоны новых и любимых сериалов, у нас есть кое-что поинтереснее — видео с Elasticsearch meetup в OZON.

Категория: Компании

 

Nomad: проблемы и решения

Автор: admin от 7-01-2019, 21:40, посмотрело: 32

Первый сервис в Nomad я запустил в сентябре 2016 года. На данный момент пользуюсь как программист и занимаюсь поддержкой как администратор двух Nomad кластеров — один "домашний" для своих личных проектов (6 микро-виртуалок в Hetzner Cloud и ArubaCloud в 5 разных датацентрах Европы) и второй рабочий (порядка 40 приватных виртуальных и физических серверов в двух датацентрах).



За прошедшее время накопился довольно большой опыт работы с Nomad окружением, в статье опишу встреченные проблемы Nomad и как с ними можно справиться.



Nomad: проблемы и решения
Ямальский кочевник делает Continous Delivery инстанса вашего ПО © National Geographic Россия

Категория: Яндекс

 

Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени

Автор: admin от 7-01-2019, 21:40, посмотрело: 42

Апрель 2018-го года. Мне было 14. Мы с друзьями играли в тогда очень популярную онлайн-викторину «Клевер» от ВКонтакте. Один из нас (обычно я) всегда был за ноутбуком, чтобы пытаться быстро гуглить вопросы и глазами искать в поисковой выдаче правильный ответ. Но вдруг я понял, что каждый раз выполняю одно и то же действие, и решил попробовать написать это на частично известном мне тогда Python 3.



Шаг 0. Что здесь происходит



Для начала я освежу в вашей памяти механику «Клевера».



Игра для всех начинается в одно и то же время — в 13:00 и в 20:00 по Москве. Чтобы сыграть, нужно в это время зайти в приложение и подключиться к прямой трансляции. Игра идет 15 минут, в течение которых участникам на телефон одновременно приходят вопросы. На ответ дается 10 секунд. Затем объявляется верный ответ. Все, кто угадали, проходят дальше. Всего вопросов 12, и если ответить на все – получишь денежный приз.

Сниппеты против Клевера – обыгрываем популярнейшую викторину в реальном времени

Получается, наша задача — мгновенно ловить новые вопросы от сервера Клевера, обрабатывать их через какой-либо поисковик, а по результатам выдачи определять правильный ответ. Вывод ответа было решено производить в телеграм-бота, чтобы уведомления из него всплывали на телефоне прямо во время игры. И все это желательно за пару секунд, ведь время на ответ сильно ограничено. Если вы хотите увидеть, как довольно простой, но рабочий код (а посмотреть на такой будет полезно новичкам) помогал нам обыгрывать Клевер – добро пожаловать под кат.

Категория: Яндекс

 

Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity

Автор: admin от 7-01-2019, 21:40, посмотрело: 31

Всем привет! Меня зовут Гриша, и я основатель CGDevs. Математика – очень крутой инструмент при разработке игр. Но если скажем без понимания векторов и матриц обойтись в принципе сложно, то алгоритмы триангуляций не столь обязательная вещь, но с помощью них решается достаточно большое количество интересных задач. Сегодня хотелось бы поговорить про достаточно важный инструмент в вычислительной геометрии, такой как триангуляции и их применение в игровой индустрии. Кроме того, я написал порт и немного обёрток великолепной библиотеки Triangle.Net для Unity + поделиться парой своих реализаций алгоритмов триангуляции. Если интересно – добро пожаловать под кат. Ссылка на гитхаб прилагается.



Математика в Gamedev по-простому. Триангуляции и Triangle.Net в Unity

Категория: Программирование, Game Development

 

Корейские ученые создали систему отслеживания дорожного трафика из двух ноутбуков

Автор: admin от 7-01-2019, 21:40, посмотрело: 25

Корейские ученые создали систему отслеживания дорожного трафика из двух ноутбуков

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



Точность распознавания движущихся транспортных средств новой системой достаточно высокая. Тип автомобиля определяется с точностью 91,1%. Разницу же между различными типами автомобилей и мотоциклов система различает с точностью почти в 100%.

Категория: Веб-разработка

 

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

Автор: admin от 7-01-2019, 21:40, посмотрело: 28

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



Введение



Приветствую всех, кто заглянул почитать мою очередную статью.



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



В первой части (линк: habr.com/post/435202) я описал этапы проектирования и написания языковой ВМ, которая будет выполнять наши будущие приложения на нашем будущем языке.

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



Думаю, что не помешает сразу привести ссылки на сайт проекта и его репозиторий.



Сайт

Репозиторий

Категория: Веб-разработка

 

Субъективное видение идеального языка программирования

Автор: admin от 7-01-2019, 17:25, посмотрело: 89

Дальнейший текст — моя точка зрения. Возможно, она позволит кому-то по-новому взглянуть на дизайн языков программирования или увидеть какие-то преимущества и недостатки конкретных фич. Я не буду лезть в частные подробности типа "в языке должна быть конструкция while", а просто опишу общие подходы. P.S. У меня когда-то была идея создать свой язык программирования, но это оказалось довольно сложным процессом, который я пока не осилил.



Влияние предыдущего опыта



На написание статьи меня вдохновила вот эта статья. Автор придумал свой язык программирования, и этот язык своим синтаксисом и особенностями оказался подозрительно похожим на Free Pascal, на котором и была написана реализация ВМ для языка. И это не совпадение. Языки программирования, на которых мы раньше писали, загоняют мышление в рамки языка. Мы сами можем не замечать этого, но сторонний наблюдатель с иным опытом может посоветовать что-то неожиданное или сам научиться чему-то новому.



Рамки мышления немного раздвигаются после освоения нескольких языков. Тогда в языке А вам может захотеться иметь фичу из Б и наоборот, а ещё появится осознание сильных и слабых стороны каждого языка.



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



Мой опыт: когда-то я начинал с паскаля, впоследствии познакомился с Java, Kotlin, C++, Python, Scheme, а основными языком считаю Scala. Как и в вышеописанном случае, мой "идеальный" язык имеет много общего со Scala. По крайней мере, я отдаю себе отчёт в этом сходстве)

Категория: Программирование

 

Электронные книги и их форматы: рассказываем про PDF — его историю, плюсы и минусы

Автор: admin от 7-01-2019, 12:20, посмотрело: 28

В нашем блоге мы уже обсуждали специфику стандартов DjVu, FB2 и FB3. Сегодня рассказываем про формат PDF, который стал воплощением мечты о «безбумажном офисе».



Электронные книги и их форматы: рассказываем про PDF — его историю, плюсы и минусы

Категория: Apple

 
Назад Вперед