Pull to refresh
2
0
Send message

Как я написал веб-синтезатор без сэмплов и зависимостей

Reading time10 min
Views4.9K

Немного зная теорию музыки, чтобы создать цифровой инструмент, мы можем воспользоваться простыми HTML, CSS и JavaScript без каких-либо библиотек или аудиосэмплов. К старту курса по Frontend-разработке делимся статьёй, автор которой рассказывает, как написать простой, но эффектный синтезатор.

Читать далее

DNS over I2P — настоящая приватность DNS-запросов

Reading time7 min
Views12K

Все запросы и ответы DNS идут по сети в открытом виде, поэтому в изначальной вариации шпионить за пользователем может не только администратор DNS-сервера, но и операторы всех промежуточных узлов, через которые проходит трафик. Современные решения вроде DNSCrypt, DNS over HTTPS и подобные им решают проблему перехвата информации по пути ее следования, так как шифруют DNS-запросы от пользователя до сервера. Но! Протоколы, которые шифруют трафик, не решают один важный вопрос - анализ всех запросов на стороне самого сервера, который всё еще видит как сам запрос, так и IP-адрес, с которого он пришел.

DNS over I2P, или DoI2P (или вовсе DoI) - это весьма занимательная вариация использования скрытых сетей, подробным рассмотрением которой сейчас и займемся.

Читать далее

Почему не зовут на собеседование Junior Web-разработчиков в Москве

Reading time4 min
Views13K

Всем привет! Я Ефименко Александр, руководитель направления в компании CloudFox, проводил множество собеседований с тимлидом, раньше был Junior веб-разработчиком.

Хотел бы рассказать как выглядит найм Junior Web-разработчиков по другую сторону баррикад. 

Читать далее

О достижении целей

Reading time8 min
Views8.8K

"У самурая нет цели, только путь, а путь самурая – это смерть."

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

Хочу узнать

Как сэкономить годы разработки при правильном направлении зависимостей

Reading time5 min
Views5.6K

Привет Хабр!

В данной статье я планирую развить тему важности умения "Программировать на уровне интерфейсов", а именно обсудить направление зависимостей. Это достаточно важная тема, так как только осознавая направленность зависимостей, можно спроектировать действительно гибкое и масштабируемое приложение (Данная статья является расшифровкой видео).

Читать далее

Как развитие алгоритмов сжатия остановилось 20 лет назад, или о новом конкурсе на 200 тысяч евро

Reading time18 min
Views74K

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

Пост набрал 206 «плюсов», вышел на 2 место топа недели и вызвал оживленную дискуссию, в которой мне больше всего понравился комментарий: «Коммерческого интереса эффективность по сжатию алгоритмов сжатия без потерь сегодня не представляет, в силу отсутствия принципиально более эффективных алгоритмов. Деньги сегодня — в сжатии аудио-видео. И там и алгоритмы другие. Тема сжатия без потерь удобна именно лёгкостью верификации алгоритма, и не слегка устарела. Лет на 20.» 

Поскольку я сам уже 20 лет в области сжатия видео, с ее бурным развитием мне спорить сложно. А вот что сжатие без потерь развиваться перестало… Хотя логика тут понятна каждому. Я до сих пор пользуюсь ZIP, все мои друзья пользуются ZIP с 1989 года — значит, ничего нового не появляется. Так ведь? Похоже рассуждают сторонники плоской земли. ))) Я не видел, знакомые не видели, и даже некоторые авторитеты утверждают, значит, это так! 

О том, как Intel просили меня не прекращать читать курс по сжатию, ибо людей нет новые алгоритмы делать, я в прошлый раз писал. Но тут и Huawei в ту же дуду дует! Вместо того, чтобы раздать призы и должности победителям, а затем успокоиться, поскольку развитие давно встало, эти эксцентричные люди посчитали конкурс крайне успешным и запустили новый с призовым фондом 200 тысяч EUR.

Развивались ли алгоритмы сжатия без потерь в последние 20 лет? Чем закончился прошлый конкурс и на сколько опередили baseline? Сколько денег получили русские таланты, а сколько зарубежные? И есть ли вообще жизнь на Марсе в сжатии без потерь? 

Кому интересно — добро пожаловать под кат! 
Читать дальше →

Теория графов. Часть третья (Представление графа с помощью матриц смежности, инцидентности и списков смежности)

Reading time4 min
Views107K

Пытаюсь объяснить, как представлять матрицы смежности, инцидентности и списки смежности (инцидентности). И немного говорю о взвешенном графе.

Залетай

Как создать 3d игру прямо в браузере

Reading time7 min
Views10K

Ссылка на обучающее видео

Привет всем. Сегодня я вам расскажу как легко вы можете создать 3d игру прямо в вашем браузере и сделать вы сможете это очень быстро, примерно за минут 30.

Узнать как

Опасные «вкусняшки». Ядовитые лесные ягоды. Памятка для детей и взрослых

Reading time14 min
Views105K
Почитали читатели мои статьи про ядовитые растения и внезапно озаботились дикорастущими ягодами. Ведь ухватить растение желающих намного меньше, чем попробовать незнакомую ягоду яркой расцветки. Я решил отреагировать, и представить вашему вниманию шорт-лист ядовитых лесных ягод (исчерпывающий?). По всем вопросам, в т.ч. с фотографиями незнакомых растений — обращаться в тг-канал LAB-66

Красна ягодкА, да на вкус горькА

Архитектура веб-проекта для тяжелых вычислений

Reading time6 min
Views3.4K

Пару лет назад наш коллега Анатолий Ерофеев написал эту статью, но как оказалось, она еще пока актуальна. Поэтому не судите строго.

Читать далее

Обнаружение устройств, поддерживающих hover

Reading time4 min
Views5.3K

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

Читать далее

Более 15 полезных инструментов для фронтендера с уклоном в CSS

Reading time5 min
Views13K

К старту курса по Frontend-разработке делимся переводом подборки различных инструментов: от генератора CSS, который рассчитывает пространство так, что брейкпоинты (контрольные точки) заменяются переменными, до редактора анимации прямо в браузере, а также средства масштабирования для отзывчивости в SVG и даже визуализатора специфичности CSS, который пригодится при анализе больших таблиц стилей. Мы структурировали и, где это было возможно, расширили оригинал, добавив информацию и примеры из репозиториев и официальных описаний инструментов.

Читать далее

[js] Программируйте на уровне интерфейсов

Reading time6 min
Views14K

Привет Хабр!

Когда я гуглил эту тему, я планировал выпустить только видео для плейлиста о Паттернах. Но как то мне не очень понравились уже существующие статьи, возможно потому что я пишу на JS, а там примеры были, то на python, то еще на каком языке. Поэтому я решил опубликовать свое видение темы Программируйте на уровне интерфейсов. Возможно это будет кому-то полезным (Данная статья является расшифровкой видео).

Читать далее

Блокчейн для самых маленьких [part.1]

Reading time8 min
Views43K

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

Разобраться

Делаем сервер из Android-телефона

Reading time8 min
Views135K

Некоторое время назад мне пришла в голову интересная идея — превратить свои старые телефоны (их скопилось немало за десять лет) в серверы, в качестве альтернативы покупке Raspberry Pi.


image


На то было несколько причин: во-первых, у телефонов есть батарея, что для сервера практически бесплатный мини-UPS, во-вторых, внутренняя память смартфона (UFS) работает быстрее и надёжнее, чем SD-карта. В-третьих, у телефонов имеется экран, по которому можно отслеживать состояние сервера.


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


TL;DR: в этом посте будут разобраны вопросы установки PostmarketOS на смартфон,
поднятия на нём в качестве примера Docker и веб-приложения в нём.

За длинной версией под кат

Blender, 1001 мелочь

Reading time20 min
Views38K

Продолжение разбора приёмов работы с пакетом трёхмерной графики Blender версии 2.79. На этот раз речь пойдёт о материалах в Cycles и о том, как отрендерить итоговую картинку.

Далее

Очень интересная библиотека JS: распознавание символов, введённых с дисплея вашего смартфона на сайте

Reading time2 min
Views3.9K

Ссылка на github

Привет всем. Представим у вас есть сайт и для мобильной версии вы хотите сделать такую фитчу, чтобы вы рисовали какой-либо символ пальцем по дисплею смартфона и что-то выполнялось. Например, рисуем букву Z и появляется окно с информацией как на гифке.

Очень простая библиотека JavaScript, которая распознаёт ваши рисунки на мобильной версии сайта.

Читать далее

Easy canvas — простая js библиотека, которая невероятно упрощает работу с canvas html

Reading time3 min
Views10K

Ссылка на GitHub

Очень простая библиотека javascript, которая сильно упрощает работу с canvas html.

Очень простая библиотека javascript, которая сильно упрощает работу с canvas html.

Читать

Рост продаж с помощью анализа аудитории

Reading time5 min
Views1.4K

Статья о том, как анализ аудитории помогает увеличивать продажи, улучшать маркетинг и, даже, составлять контент план. 

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

Читать далее

Хорошего кода не бывает

Reading time4 min
Views16K

Серьезно. Кода на который можно посмотреть и сказать "это сделано на отлично" почти не бывает – в основном один фарш из легаси, гвоздей, и иероглифов.

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

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

Серьезно

Information

Rating
6,188-th
Registered
Activity