Обновить
2
0
Александр@alexantr

Разработчик

Отправить сообщение

Непрофессиональное видеонаблюдение квартиры занятно и недорого

Время на прочтение5 мин
Охват и читатели62K
С момента как у меня в квартире на страже появилась GSM сигнализация, появилась мысль о том, что неплохо бы иметь в мое отсутствие в квартире и «глаза» в случае срабатывания датчиков сигнализации (а может срабатывание ложное?). Поскольку я инженер в области информационных технологий, ни о каком профессиональном решении в виде регистратора и кучи камер речь не шла — только все сам, своими руками. Бюджет тоже сразу было решено обнулить ограничить, а в случае успешности проекта уже думать о его дальнейшем улучшении и модернизации.
Читать дальше →

Битовые операции в PHP на примерах

Время на прочтение3 мин
Охват и читатели92K
Навеяно статьей об обработке критических ошибок в PHP. Обратил внимание, что несмотря на то, что коды ошибок в PHP специально заточены под битовые операции, тем не менее, что в примерах статьи, что в комментариях, для проверки кодов ошибок используются обычные операторы сравнения.

Например, встречались такие варианты:
if ($error['type'] == E_ERROR || $error['type'] == E_PARSE || $error['type'] == E_COMPILE_ERROR){…}
или
if(in_array($error['type'], array(E_ERROR, E_PARSE,  E_COMPILE_ERROR)) {…}

В связи с этим решил написать небольшую статью о битовых операциях с примерами их использования.
Читать дальше →

Создание «искусственной жизни» на компьютере

Время на прочтение10 мин
Охват и читатели114K
Всем привет. В статье хочу описать свой эксперимент по созданию «искусственной жизни» на компьютере.

Как это выглядит?

картинка кликабельна

На компьютере создаётся виртуальная среда со своими правилами и выпускается первая простейшая живность. Буду называть их ботами. Боты могут погибнуть или выжить и дать потомство. Потомок может слегка отличаться от предка.

Ну а дальше за работу принимается эволюция и естественный отбор.

А мне остаётся только наблюдать за развитием мира.

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

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

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

Внутреннее устройство кода — это самое интересное в проекте.

Код должен быть простым и выдерживать различные модификации (случайное изменение любого элемента в коде) над собой без синтаксических ошибок.
Читать дальше →

Адаптивный Waveform для вашего аудиосервиса

Время на прочтение6 мин
Охват и читатели9.5K


Когда мне понадобилось для сайта одной радиопередачи наладить выкладку аудио архива, помимо админки нужен был еще и аудиоплеер. Радиопередача шла 40 минут плюс две музыкальные паузы. Использовать Waveform в таких длинных форматах особенно удобно, поэтому как и многие музыкальные сервисы, я решил использовать это решение в оформлении плеера.

При планируемом будущем редизайне сайта и, возможно, будущих мобильных приложений, растровый waveform тут просто клином упирался. Он не адаптивен, его крайне ресурсоемко редизайнить, если он в растре.
Читать дальше →

Представления (VIEW) в MySQL

Время на прочтение10 мин
Охват и читатели523K
В комментариях Хабра упоминались вопросы по использованию представлений. Данный топик является обзором представлений, появившихся в MySQL версии 5.0. В нем рассмотрены вопросы создания, преимущества и ограничения представлений.

Что такое представление?


Представление (VIEW) — объект базы данных, являющийся результатом выполнения запроса к базе данных, определенного с помощью оператора SELECT, в момент обращения к представлению.

Представления иногда называют «виртуальными таблицами». Такое название связано с тем, что представление доступно для пользователя как таблица, но само оно не содержит данных, а извлекает их из таблиц в момент обращения к нему. Если данные изменены в базовой таблице, то пользователь получит актуальные данные при обращении к представлению, использующему данную таблицу; кэширования результатов выборки из таблицы при работе представлений не производится. При этом, механизм кэширования запросов (query cache) работает на уровне запросов пользователя безотносительно к тому, обращается ли пользователь к таблицам или представлениям.
Читать дальше →

Обновляем расширение Intl в PHP 7 на Linux Ubuntu 16.04

Время на прочтение3 мин
Охват и читатели26K
Программисты делятся на два типа: консерваторы, для которых переход на новую версию равносилен перелёту на другую планету (если читаешь это из Windows XP — поздравляю, это ты); и Викторы Цои, чьи сердца и глаза требуют перемен, и обновляют всё и вся при первой возможности. Если ты второго типа, и у тебя уже стоит последняя версия PHP на последней LTS версии Ubuntu, но покоя не даёт то, что расширение Intl использует устаревшую версию библиотеки ICU, или тебе просто понравились картинки из «Аватара» — добро пожаловать под кат! (Картинок больше не будет.)

Аватар

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

Анализ публикаций на Хабрахабре за 2017 год. Статистика, полезные находки и рейтинги

Время на прочтение8 мин
Охват и читатели29K


Подходит к концу 2017 год. Пришло время подвести некоторые итоги. Каким был этот год на Хабрахабре? Чтобы ответить на этот вопрос мы, в Cloud4Y, решили собрать статистику по всем публикациям за прошедший с начала года период. В этой статье мы расскажем о том, что показалось нам наиболее интересным.

С 1 января по 18:00 22 декабря 2017 года на Хабрахабре было опубликовано 10684 поста, которые посмотрели около 123 миллионов раз! Мы не включили в счёт 46 мегапостов и публикации, которые были скрыты или перенесены на Geektimes. В среднем в месяц публиковалось около 900 постов, а рекордным стал март.


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

Космическая демосцена: Вселенная умещается в 64 килобайта

Время на прочтение4 мин
Охват и читатели76K


Демосцена всегда поражала воображение. В 1994, 2004, 2017 годах разработчики снова и снова всех удивляют, превращая файл размером 64 килобайта в нечто немыслимое. Демо стало не просто асаной, из которой программист выжимает максимум возможностей своего компьютера и собственных скиллов, а превратилось в отдельный вид киберискусства.


Современные демки откололись от континента прочих субкультур (где-то на берегу остались представители оверклокинга) и дрейфуют в одиночестве. Они не гимн возможностей компьютерной техники, а ding an sich selbst betrachtet — метафизическая вещь в себе, которая может быть фрагментом игры, аниме или трейлером фильма-катастрофы.


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

RFDS: скорая помощь Австралии с SLA в 1 час до любой точки континента

Время на прочтение6 мин
Охват и читатели80K


Представьте для начала, что вы живёте в раю на краю земли, и вокруг на 500 километров нет людей. Это прекрасно во всех ситуациях кроме той, когда вас укусила змея, и жить вам осталось 2 часа, если двигаться. Или примерно 20-25 часов, если лежать в тени и пускать пену и слюни в траву.

Можно же носить с собой вакцину, правда? Да. Вместе с холодильником. Это увеличивает ваши шансы выжить при укусе змеи до 20%. Дело в том, что вакцин пять штук. И введение не той гарантированно убьёт вас за 15 минут. Нужно либо держать в руках ту змею, что вас укусила и внимательно её рассматривать, читая инструкцию (а большинство укусов ощущается как укол травой, и иногда жертвы даже не знают, что это было, пока не начнёт кружиться голова) — ну либо иметь под рукой полевую лабораторию для экспресс-анализов. И ещё если вы вдруг на двадцатом году жизни узнаете о выборочном дальтонизме, радоваться будете недолго. И это только змеи, потому что есть ещё куча обычных бытовых вещей от прихватившего аппендицита до проблем с сердцем.

А государство очень заинтересовано, чтобы фермы развивались. И вот в этот момент на сцене появляется RFDS. Королевская служба летающих докторов. Медицинский спецназ Австралии.
Читать дальше →

Австралия: небольшая реколонизация Земли

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

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


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

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

Что за черт, Javascript

Время на прочтение17 мин
Охват и читатели171K


Этот пост — список забавных и хитрых примеров на JavaScript. Это отличный язык. У него простой синтаксис, большая экосистема и, что гораздо важнее, огромное сообщество.


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

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

Применение алгоритмов нечеткого поиска в PHP

Время на прочтение7 мин
Охват и читатели31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →

Вы все еще храните 404backup.zip на сервере? Я на 200ДА

Время на прочтение2 мин
Охват и читатели42K
Сумеречными зимними вечерами под песнь вьюги, укутавшись в овечий плед с бокальчиком «яблочной самогонки», я люблю почитывать логи на сервере. Авторизация по ключам упрощает сие, так что если в публичное помещение меня и не пустят, то сервер всегда рад приютить, старый чертяга.

В мире много чего происходит, у кого счастливое 200, кто-то недоуменно смотрит на 301, кто-то царапает похабщину на 403.

Но самый ценных мех — это исследователи. Это те, кто открывает новый для себя мир на основе своих знаний путем проб и 404.
Читать дальше →

Усатый стрелок из двадцати трёх полигонов

Время на прочтение20 мин
Охват и читатели31K

А давайте отвлечёмся немного и напишем игру в google play? И не такую огромную и неподъёмную фигню, про которую я обычно пишу статьи, а что-нибудь простое и милое сердцу?


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

Проблема TV/PC диапазонов видео

Время на прочтение7 мин
Охват и читатели15K

postimage



Привет, хабр!



Хочу поведать о своём недавно проведённом исследовании, в котором я изучил проблему несоответствия TV/PC диапазонов при сжатии/воспроизведении видео. Проблема эта довольно мелочная, но в то же время достаточно массовая, из-за неё я частенько раньше винил кодеки сжатия в изменении цветов.


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

Каково это — быть разработчиком в России, когда тебе сорок

Время на прочтение37 мин
Охват и читатели163K
Привет всем, я — сорокалетний программист-самоучка, а это моя история.

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



Через каких-то 20 лет мне стукнет 60. И вероятность того, что я еще смогу заниматься тем, для чего был создан, составляет очень крошечную величину. Эти размышления привели меня туда, откуда все начиналось.

Я дебютировал в роли разработчика программного обеспечения в 1990 году, через год после того, как мне на 14-тилетие родители подарили ПЭВМ «Микроша».
Читать дальше →

Просвещение — долг каждого из нас

Время на прочтение6 мин
Охват и читатели39K
image

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

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

Опасность ГМО, ВИЧ-диссидентство, пропаганда гомеопатии на государственном уровне, теории заговоров, пропаганда сыроедения, феминизм третьей волны, сообщества плоской Земли — этот список можно растянуть на несколько экранов текста. Жертвами всего этого становятся две категории людей: реакционная инертная молодежь, которая в силу своей неопытности и податливости легко принимает любые, самые радикальные идеи, а также те, кто ощущают недостаток образовательной базы в области естественных и фундаментальных наук: физике, биологии, химии и смежных с ними дисциплинах.

VPN за 60 секунд

Время на прочтение2 мин
Охват и читатели74K
Если Вы предпочитаете простые и красивые решения, или Вам нравится всё, что попадает под категорию It Just Works, то эта статья для Вас. Для запуска шифрованного подключения достаточно иметь на своем компьютере SSH-клиент, установить sshuttle (об этом чуть позже) и приобрести VPS с любым тарифным планом в интересующей Вас стране. На удалённой VPS-машине в большинстве случаев абсолютно ничего настраивать не нужно (достаточно, чтобы были установлены пакеты python и сервер SSH).


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

Принцип цикады и почему он важен для веб-дизайнеров

Время на прочтение6 мин
Охват и читатели244K
Пару лет назад я прочитал интересные факты о жизненном цикле периодических цикад. Обычно мы не видим вокруг себя много этих насекомых, потому что бóльшую часть своей жизни они проводят под землёй и тихо сосут корни растений.

Однако, в зависимости от вида, каждые 7, 11, 13 или 17 лет периодические цикады одновременно массово вылезают на свет и превращаются в шумных летающих тварей, спариваются и вскоре умирают.

Хотя наши странные цикады весело уходят в иной мир, возникает очевидный вопрос: это просто случайность, или числа 7, 11, 13 и 17 какие-то особенные?
Читать дальше →

Подводные камни Bash

Время на прочтение32 мин
Охват и читатели104K


В этой статье мы поговорим об ошибках, совершаемых программистами на Bash. Во всех приведённых примерах есть какие-то изъяны. Вам удастся избежать многих из нижеописанных ошибок, если вы всегда будете использовать кавычки и никогда не будете использовать разбиение на слова (wordsplitting)! Разбиение на слова — это ущербная легаси-практика, унаследованная из оболочки Bourne. Она применяется по умолчанию, если вы не заключаете подстановки (expansions) в кавычки. В общем, подавляющее большинство подводных камней так или иначе связаны с подстановкой без кавычек, что приводит к разбиению на слова и глоббингу (globbing) получившегося результата.


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

Информация

В рейтинге
Не участвует
Откуда
Гродно, Гродненская обл., Беларусь
Дата рождения
Зарегистрирован
Активность