Search
Write a publication
Pull to refresh
12
0
Алексей Линецкий @hoack

User

Send message

Разрабатываем Telegram-бота для отслеживания фильмов на NodeJS и TypeScript

Reading time9 min
Views77K


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

Я достаточно часто сталкивался с такой проблемой и решил ее созданием Eve — Telegram-бота, который помогает мне не забывать про релизы моих любимых фильмов. Что это, как оно работает и как разрабатывалось вы можете почитать под катом!
Читать дальше →

20 привычек для гигиены внимания: как пользоваться технологиями, но не позволять им отбирать свое время и внимание

Reading time4 min
Views19K


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


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

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

10 консольных команд, которые помогут дебажить JavaScript-код like a PRO

Reading time3 min
Views27K
image

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

Давайте рассмотрим команды, которые действительно способны упростить жизнь любому программисту.
Читать дальше →

Практические советы, примеры и туннели SSH

Reading time13 min
Views256K

Практические примеры SSH, которые выведут на новый уровень ваши навыки удалённого системного администратора. Команды и советы помогут не только использовать SSH, но и более грамотно перемещаться по сети.

Знание нескольких трюков ssh полезно любому системному администратору, сетевому инженеру или специалисту по безопасности.
Читать дальше →

Алан Кей: «Могли ли древние римляне построить компьютер?»

Reading time5 min
Views20K
Это очень интересный вопрос — похож на тот, что я обычно задавал на уроке по компьютерному дизайну: «Какой компьютер капитан Немо разработал бы для «Наутилуса»? — Нарисуйте его дизайн!»

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

image

Hublot's miniature replica of the Antikythera mechanism

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

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

Математическая модель игры Доббль

Reading time12 min
Views59K

Уровни сложности чтения


  • Я слишком молод, чтобы думать


    • Введение и правила игры
    • Как они это делают?
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности

  • Сделай мне умно


    • Введение и правила игры
    • Как они это делают?
    • При чём тут карточки?
    • Проективные плоскости малых порядков
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности

  • Кошмар


    • Введение и правила игры
    • Как они это делают?
    • Конечная геометрия для грудничков
    • При чём тут карточки?
    • Проективные плоскости малых порядков
    • Как построить проективную плоскость?
    • Матрица инцидентности для игры Доббль
    • Каких двух карточек не хватает в комплекте игры?
    • Почему в игре на 2 карточки меньше максимально возможного количества?
    • Благодарности


Введение и правила игры


Несколько лет назад я купил игру Доббль (Dobble, оригинальное название “Spot It!”). Это очень простая, быстрая и весёлая игра, которую я считаю одной из лучших настольных игр вообще.

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

Бессерверный статический сайт с помощью IPFS

Reading time5 min
Views28K
TL;DR: IPFS позволяет хостить статические сайты распределённо, доступ к которым можно осуществлять через публичные кеширующие гейты (прозрачные реверс-прокси) в интернете, без необходимости устанавливать программу посетителю. Такие сайты можно раздавать без маршрутизируемого («белого») статического IP-адреса (будет работать за NAT), они остаются работоспособными при кратковременном (несколько часов) отсутствии раздающих, за счет кеша на гейтах. К гейтам по желанию можно привязать свой домен, причём добавить DNS-записи можно на несколько гейтов одновременно, для повышения надёжности и балансировки нагрузки. Сайт могут скачать другие пользователи IPFS и помочь с раздачей.
IPFS отлично подходит для статических блогов, простых сайтов, файловых архивов (в качестве замены Bittorrent), а также просто для единовременной передачи больших файлов без предварительной загрузки их на какой-либо сервис.

Что такое IPFS?

IPFS — децентрализованная пиринговая система передачи файлов, по принципу работы похожая на BitTorrent, но с возможностью доступа через HTTP, для Web. Все скачиваемые пользователем файлы временно кешируются IPFS-демоном и раздаются другим пользователям, запрашивающим их. Важные файлы можно «прикрепить» (pin) к IPFS-демону, тогда они не исчезнут из кеша.
Читать дальше →

Малоизвестные возможности JavaScript

Reading time11 min
Views58K
JavaScript часто называют самым простым языком для новичков, в программировании на котором сложнее всего достичь мастерства. Автор материала, перевод которого мы публикуем, говорит, что не может не согласиться с этим утверждением. Всё дело в том, что JS — это по-настоящему старый и по-настоящему гибкий язык. Он полон таинственных синтаксических конструкций и устаревших возможностей, всё ещё им поддерживаемых.

image

Сегодня мы поговорим о малоизвестных возможностях JavaScript и о вариантах их практического применения.
Читать дальше →

Занимательный JavaScript: Без фигурных скобок

Reading time6 min
Views24K

image


Меня всегда удивлял JavaScript прежде всего тем, что он наверно как ни один другой широко распространенный язык поддерживает одновременно обе парадигмы: нормальные и ненормальное программирование. И если про адекватные best-практики и шаблоны прочитано почти все, то удивительный мир того, как не надо писать код но можно, остается лишь слегка приоткрытым.


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

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

История одной задачи: Кратчайший мемоизатор на JavaScript

Reading time8 min
Views12K

image


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


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

Язык — разумеется, JavaScript. Сама задача — классика, но ограничение в 50 символов обернулось настоящим челенджем.


В перерывах первого дня конференции мы обсуждали варианты достижения цели, постепенно сокращая ответ. Весь ажиотаж увенчался идеей поделиться задачей со всеми участниками конференции, и на второй день мы визуализировали задачу (см. приложение) и стали раздавать бланки желающим. В итоге получили около 40 решений и в очередной раз убедились в незаурядности сообщества js-разработчиков, но рекорд Дмитрия Катаева (SEMrush) в 53 символа остался. Давайте разбираться!

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

Введение в SOLID: новый редецентрализованный интернет Тима Бернерса-Ли

Reading time5 min
Views17K
Создание нового децентрализованного интернета долгие годы волнует умы специалистов. Профессор Тим Бернерс-Ли пошел еще дальше и нашел способ редецентрализовать интернет. Что это значит, как с этим связан проект Solid и что такое «поды»? Читайте в нашем переводе статьи Arnav Bansal, опубликованной на сайте freeCodeCamp.
Читать дальше →

Не позволяйте 3D-принтеру лениться

Reading time6 min
Views19K
Наверное, у каждого из нас есть гаджет или устройство, которые мы не используем: тренажёр, плеер, кухонный инвентарь, всякие странные штуки для автомобиля, шнуры, хабы и проч. Лежат они, новенькие, с гарантийниками и годами ждут своего часа, которому чаще всего уже не дано случиться — слишком быстро движется научно-технический прогресс. Так и формируется на полках и в шкафах наш личный музей современной техники. Который в последнее время пополнился ещё одним экспонатом — 3D-принтером. Или нет?

Кто-то 3D-принтер использует и так
Читать дальше →

Sub-Zero: антикварный механический калькулятор. Как им пользоваться (с приветом из 18-го века)

Reading time5 min
Views19K

Удивительно изящная машинка, дошедшая до нас из тех древних времён, когда не то что Интернета не было, – ещё даже компьютеров не было. Несколько характеристик Sub-Zero, на которые в своё время делали акцент продвигавшие его маркетологи: (1) работает с числами ± 999999; (2) складывает и вычитает за считанные секунды; (3) никогда не ошибается; (4) удивительно прост в использовании; (5) работает бесшумно; (6) изготовлен из высококачественных материалов, отвечающих германским стандартам; (7) не изнашивается. Создан, чтобы жить долго.


Так что же это за машинка? Каким образом она осуществляет вычисления? Какая у неё начинка? Как ей пользоваться для сложения и вычитания? И вообще, кто её придумал? Обо всём об этом читайте ниже.



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

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

Reading time5 min
Views9.7K

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




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

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

11 JavaScript-библиотек для визуализации данных, о которых стоит знать в 2018 году

Reading time7 min
Views44K
Мы живём во времена взрывного роста объёмов данных, генерируемых и потребляемых человечеством. Практически в каждом из разрабатываемых сегодня приложений данные либо используются где-то внутри них, либо визуализируются. Программисты, используя данные, стремятся сделать работу с их программами максимально комфортной.

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

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

image

Сегодня мы представляем вашему вниманию перевод материала, в котором рассмотрены опенсорсные JavaScript-библиотеки для визуализации данных.
Читать дальше →

Отзывчивые изображения: CSS-приёмы, которые помогают экономить время

Reading time3 min
Views30K
Если вы занимаетесь веб-разработкой, то высока вероятность того, что вам знакомы два чудовища, о которых пойдёт речь в статье, перевод которой мы сегодня публикуем. Речь идёт об изображениях и о дедлайнах. Иногда, по каким-то причинам, картинки никак не хотят помещаться в те места макетов страниц, которые для них предназначены, а вы не можете потратить несколько часов на то, чтобы с этим разобраться.



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

Несколько слов о градиентах

Reading time5 min
Views24K

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


image

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


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

Обзор задач по алгоритмам для собеседований — генерация множеств

Reading time7 min
Views67K

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


Этим постом начинается разбор задачек по алгоритмам, которые крупные IT-компании (Mail.Ru Group, Google и т.п.) так любят давать кандидатам на собеседованиях (если плохо пройти собеседование по алгоритмам, то шансы устроиться на работу в компанию мечты, увы, стремятся к нулю). В первую очередь этот пост полезен для тех, кто не имеет опыта олимпиадного программирования или тяжеловесных курсов по типу ШАДа или ЛКШ, в которых тематика алгоритмов разобрана достаточно серьезно, или же для тех, кто хочет освежить свои знания в какой-то определенной области.


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



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

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

Управляем светодиодами с помощью Web Bluetooth API и Arduino

Reading time5 min
Views11K


— Чайники, весы, игрушки, лампочки, кофемашины… В эти и другие устройства встраивают bluetooth-модули.
— Зачем?
— Чтобы дать пользователю управлять своими устройствами через приложение. К примеру, управлять освещением в комнате.
— Ой, а можно ли собрать какое-то своё простое устройство и управлять им прямо через браузер?
— Да! И эта статья как раз об этом.

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

Свидетельства, по нескольку десятилетий обманывавшие учёных

Reading time4 min
Views48K


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

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

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

Information

Rating
Does not participate
Location
Fair Lawn, New Jersey, США
Registered
Activity