Архив за 04 сентября 2017 - 3

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

В Австралии опасно. Не так, чтобы всё живое хотело вас убить, но близко. Смертей десятки в год, что близко не лежало в сравнении с ДТП, но зато они очень, скажем так, изобретательные. Например, к воде вообще нельзя подходить — там, в зависимости от водоёма, крокодилы, ядовитые кубомедузы, акулы и змеи. Благодаря одному немецкому туристу, последние слова которого были «Да нет тут никаких крокодилов», знаки об их наличии по шоссе Стюарта теперь на двух языках. А благодаря одной женщине, решившей искупаться во время менструации, мы теперь знаем, что акулы умеют подниматься вверх по течению ручья на 2 километра. Хворост около трассы для биваков туристов собирают строго гиды — отлучаться с асфальта опасно для жизни, потому что в топ-20 самых ядовитых змей мира всего 2 строки принадлежат неместным. К огромному неудовольствию австралийцев.

Австралия: небольшая реколонизация Земли - 1
Дорога по берегу реки. Выходить из машины не рекомендуется. Последний раз тут сожрали мужика, решившего ополоснуть ведро.

А ещё Австралия постоянно либо затоплена, либо горит, либо находится в короткой передышке между этими состояниями. Но давайте начну с самого начала. Сначала мы оказались в Nowhere Land Северной территории. Читать полностью »

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

Отдельно бы хотелось отметить, что DevTools находится в постоянной активной разработке поэтому название инструментов/панелей/вкладок, как и их наличие в целом или способ доступа к ним со временем может быть изменен. Поэтому не стоит пугаться, если на момент прочтения Вами этой статьи DevTools будет незначительно отличатся от того что указано в описании или на скриншотах в этой статье.Читать полностью »

Векторный дисплей РИН-609 - 1

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

Этот дисплей, а точнее, «таблично-знаковый индикатор» РИН-609 разработан в 1977 году. Середина семидесятых годов — период, когда терминалы только-только начинают широко применяться в нашей промышленности. До этого в качестве связи человек-компьютер обычно служили «электрические клавиатуры» типа Consul, представляющие из себя специальные электрические печатные машинки со связью с ЭВМ.

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

Если помните, в растровом CRT мониторе луч выводит картинку на экране строка за строкой сверху вниз. И, в принципе, ему все равно что выводить — алфавитно-цифровую или графическую информацию. В РИН-609 применен векторный способ отображения информации. В нем луч рисует индивидуально каждый символ, который в отличие от растрового способа закодирован не матрицей точек, а векторами — сначала первый символ, потом второй и так до конца экрана.
Благодаря имеющемуся техническому описанию можно детально рассказать, что это за монитор и как происходит «рисование» символов.
Читать полностью »

Транслируем WebRTC, RTSP и RTMP потоки на Media Source Extensions по протоколу Websocket - 1

Media Source Extensions

Media Source Extensions (далее MSE) — это API браузера, позволяющее играть аудио и видео через соответствующие HTML5 тэги <audio/> и <video/>.

Чтобы проиграть кусок аудио или видео, нужно скормить этот chunk в данный элемент через MSE API. На основе MSE построены HLS-плееры. HLS фрагменты передаются в MSE и отображаются в плеере.

Давайте посмотрим на его Can I Use подробнее.Читать полностью »

Избавляемся от рутины RecyclerView.Adapter с помощью DataBinding - 1

RecyclerView — основной UI элемент практически любого приложения. Написание адаптеров и ViewHolder'ов зачастую слишком рутинная работа и содержит достаточно boilerplate кода. В этой статье я хочу показать как с использованием DataBinding и паттерна MVVM можно написать абстрактный адаптер и напрочь забыть про ViewHolder'ы, inflate, ручной биндинг и прочую рутину.

Читать полностью »

Линия — видеонаблюдение: 30 бесплатных возможностей - 1

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

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

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

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

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

Автор Stefan Scherfke “Testing (asyncio) coroutines with pytest”

Тестируем асинхронный код с помощью PyTest (перевод) - 1

PyTest — отличный пакет для тестирования на Python, и с давних пор один из моих любимых пакетов в целом. Он значительно облегчает написание тестов и обладает широкими возможностями по составлению отчетов о непройденных тестах.
Тем не менее, на момент версии 2.7, он менее эффективен в тестировании (asyncio) подпрограмм. Поэтому не стоит пытаться их тестировать таким способом:

# tests/test_coros.py

import asyncio

def test_coro():
    loop = asyncio.get_event_loop()

    @asyncio.coroutine
    def do_test():
        yield from asyncio.sleep(0.1, loop=loop)
        assert 0  # onoes!

    loop.run_until_complete(do_test())

В таком методе много недостатков и излишеств. Единственные интересные строки — те, что содержат операторы yield from и assert.
Читать полностью »

В Китае запретили ICO, организаторов обязали вернуть средства инвесторам - 1

Сегодня, в понедельник, стало известно о том, что в Китае запретили проведение ICO. Запрет имеет отношение как к частным лицам, так и к организациям. Власти страны назвали проведение ICO «незаконным фандрейзингом». Реакция властей последовала после того, как проведение ICO значительно участилось — это касается и Китая, и других стран.

В заявлении, сделанном Народным банком Китая совместно с другими ведомствами страны, говорится о том, что в случае уже проведенных ICO их организаторы должны вернуть своим вкладчикам средства. Сразу после того, как документ был опубликован, курсы криптовалют поползли вниз.
Читать полностью »

Нейросетевая игра в имитацию - 1 Здравствуйте, коллеги. В конце 1960-ых годов прошлого века Ричард Фейнман прочитал в Калтехе курс лекций по общей физике. Фейнман согласился прочитать свой курс ровно один раз. Университет понимал, что лекции станут историческим событием, взялся записывать все лекции и фотографировать все рисунки, которые Фейнман делал на доске. Может быть, именно после этого у университета осталась привычка фотографировать все доски, к которым прикасалась его рука. Фотография справа сделана в год смерти Фейнмана. В верхнем левом углу написано: "What I cannot create, I do not understand". Это говорили себе не только физики, но и биологи. В 2011 году, Крейгом Венером был создан первый в мире синтетический живой организм, т.е. ДНК этого организма создана человеком. Организм не очень большой, всего из одной клетки. Помимо всего того, что необходимо для воспроизводства программы жизнедеятельности, в ДНК были закодированы имена создателей, их электропочты, и цитата Ричарда Фейнмана (пусть и с ошибкой, ее кстати позже исправили). Хотите узнать, к чему эта прохладная тут? Приглашаю под кат, коллеги.

Читать полностью »

Вы видели результаты бенчмарков MJIT? Они удивительные, правда? MJIT буквально выносит все остальные реализации без вариантов. Где он был все эти годы? Всё, теперь с гонкой закончено?

Однако вы можете понять из заголовка, что не всё так просто. Но прежде чем разобрать проблемы этих конкретных бенчмарков (конечно, вы можете пролистать вниз к симпатичным диаграммам), нужно рассмотреть важные базовые основы сравнительного анализа.

MJIT? TruffleRuby? Что это всё такое?

MJIT — это ответвление Ruby на Github от Владимира Макарова, разработчика GCC, где реализована динамическая JIT-компиляция (Just In Time Compilation) на самом популярном интерпретаторе Ruby — CRuby. Это отнюдь не окончательная версия, наоборот, проект на ранней стадии разработки. Многообещающие результаты бенчмарков были опубликованы 15 июня 2017 года, и это основной предмет обсуждения в данной статье.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js