Как стать автором
Обновить
14
0
Давид Манжула @da411d

Web-deveoper

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

Отменим ли мы Web?

Время на прочтение16 мин
Количество просмотров30K

Этот пост написан Ханной Вулфман-Джонс, но включает ответ эксперта по гражданским правам Надин Строссен, экс-президента ACLU

Рождение движения

Ричард Столлман и идеи свободного программного обеспечения, которые он разработал, зародились в те времена, когда компьютеры еще не стали неотъемлемой частью жизни обычных людей, то есть в 70-е годы. За много десятилетий до того, как наши сотовые телефоны отслеживали каждое наше движение, до того, как умные дома принесли массовое наблюдение в наши жилые комнаты, идея компьютеров как серьезных инструментов угнетения казалась явно абсурдной.

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

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

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

Читать далее
Всего голосов 150: ↑140 и ↓10+130
Комментарии95

Компьютеры, какими я их любил

Время на прочтение7 мин
Количество просмотров33K
image

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

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

Синхронизация — это все, что я любил в компьютерах.

Удивительно, насколько замечательными могут быть продукты, созданные для компьютеров, когда их производителям не нужно заниматься корпоративной ерундой, не нужно продвигать бренд или продавать его пользователям. Честно говоря, я почти перестал верить, что это все еще возможно. Но это возможно.
Читать дальше →
Всего голосов 76: ↑70 и ↓6+64
Комментарии81

Алиса, открой ворота — или MVP умного дома за пару вечеров

Время на прочтение7 мин
Количество просмотров37K

TLDR: Схожих постов на Хабре десятки, но мне хотелось показать, что внезапно можно
очень быстро сделать классные штуки, которые не ради вау эффекта, а реально помогают жить.


Будет про:


  • Home Asistant
  • Алису и её станции
  • Ардуины и MQTT
  • управление воротами Came
  • локальное управление яндекс розетками
  • датчики движения
  • Влажность, температуру и CO2
  • Автоматический полив цветочков
  • Как при помощи всего этого развлечь детей и как они находят свои способы с этим играть.
Читать дальше →
Всего голосов 14: ↑12 и ↓2+10
Комментарии51

Правила умного дома

Время на прочтение7 мин
Количество просмотров37K

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

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

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

Автоматизация на Home Assistant
Всего голосов 22: ↑17 и ↓5+12
Комментарии151

Кондиционер айтишника. Часть II

Время на прочтение8 мин
Количество просмотров25K
В этой части расскажу вариант «простой» интеграции кондиционера (а вообще, практически любого устройства, управляемого через ИК) с помощью WiFi<=>IR-шлюза.

Для того, чтобы было интереснее — выбрал популярный шлюз (кстати, Яндекс для своей Алисы как раз его и использует). Купить такой можно на Али, цена что-то около 1200 рублей (у Яндекса — дороже).

Устройство довольно компактное (легко умещается в ладони), из видимых органов есть один маленький ненаваязчивый синий светодиод и кнопка для сопряжения. Все остальное скрыто за черным ИК-прозрачным корпусом. В качестве источника питания можно использовать любой доступный USB-порт (БП, комп и т.п.). Шлюз подключается к нему с помощью microUSB-кабеля (из комплекта поставки или любым удобным).

Особенность этого устройства — он построен на «хорошо известном в узких кругах» esp8266, а это значит, что достаточно несложно его можно «приручить».
Начнем!
Всего голосов 10: ↑10 и ↓0+10
Комментарии11

Беспроводные технологии - это ловушка

Время на прочтение8 мин
Количество просмотров51K

Когда-то я был крестоносцем, борющимся с проводами. Я ненавидел хаос из кабелей и мою склонность бессознательно жевать их, когда они окажутся рядом с лицом. Но столкнувшись со сложным багом беспроводных систем в процессе улучшения качества видеозвонков, я стал отступником. Чем больше я узнавал о WiFi, Bluetooth и других протоколах, тем сильнее убеждался, что в сети они часто хуже, чем провода.

Например, большинство людей при торможении видеозвонков винят в этом провайдера Интернета. И это понятно, ведь большинство провайдеров — это олигополисты с дикими ценами, почти неработающим ПО и ужасной техподдержкой. Однако каждый раз, когда я помогал кому-то разобраться в источнике его проблем со связью, виновником оказывался его WiFi. И часто проще всего было решить проблему, проложив кабель.
Читать дальше →
Всего голосов 101: ↑99 и ↓2+97
Комментарии178

Ирина — опенсорс русский голосовой помощник. Offline-ready

Время на прочтение9 мин
Количество просмотров48K

- Ирина, таймер...
- Ставлю таймер на пять минут.

Вполне себе обыденная история из моего быта. Я таки сделал собственного автономного голосового помощника.

TL;DR> Ирина вполне неплохо работает дома 24x7.

Потребуется установить Python 3.5+ и зависимости через pip (немного знаний Python).

Скиллы "из коробки": таймер, погода, контроль медиа (громче/тише/дальше), контроль плеера MPC-HC, запуск медиа из папки, расписание ближайших электричек, "подбрось кубик/монетку".

Плагинами добавляются: другие скиллы, Text-to-Speech и Speech-to-Text движки.

Интересно? Поехали >
Всего голосов 110: ↑108 и ↓2+106
Комментарии88

Сам себе РКН или родительский контроль с MikroTik (ч.3)

Время на прочтение11 мин
Количество просмотров12K


В конце 2021 года был опубликован цикл статей, посвящённый родительскому контролю на оборудовании MikroTik. Ранее были подробно рассмотрены организация DNS, работа Firewall Filter и Ip Kid-control, возможности маркировки трафика посредством Firewall Mangle для решения указанной задачи. Представленные предложения базировались на факте неизменности MAC адресов детских беспроводных устройств. Это позволяло осуществить статическую привязку IP адресов. Однако современные мобильные операционные системы рандомизируют MAC, тем самым делая предложенные алгоритмы нежизнеспособными. Вследствие этого подготовлена третья часть из цикла статей, в которой к представленному ранее решению прикручен протокол Radius. Его применение нивелирует озвученную проблему.

Статья предназначена не для профессионалов, а для тех, кто решил внедрить предложенные ранее решения у себя в доме или SOHO, однако плохо знаком с оборудованием MikroTik и поэтому самостоятельно разобраться в подобной задаче не может. На этом tutorial по родительскому контролю будет завершён. Не могу не упомянуть, что в свете последних событий строгим родителям будет полезно знать, каким образом следует привести свой интернет-трафик в соответствии с интенсивно меняющимся законодательством, если по какой-то причине провайдер до этого не добрался.
Читать дальше →
Всего голосов 46: ↑43 и ↓3+40
Комментарии29

Скрутки, клеммники и WAGO под лёгкой перегрузкой

Время на прочтение4 мин
Количество просмотров68K


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

Здесь рассматриваются наиболее доступные способы соединить наиболее типичный для квартирной проводки медный однопроволочный провод сечением 2,5 кв.мм.
Читать дальше →
Всего голосов 258: ↑257 и ↓1+256
Комментарии206

Интернет проект security.txt — знакомство с еще одним .well-known файлом

Время на прочтение1 мин
Количество просмотров13K
Основная идея проекта — формализация взаимодействия между внутренней ИБ и внешними исследователями, давая четкое указание как и куда направлять информацию об уязвимостях или проблемах безопасности. Формализация взаимодействия — серьезная проблема, не все сайты имеют программы bug bounty, или даже просто указывают контакты специалистов по безопасности. А попытки достучаться через службу поддержки и твиттер зачастую заканчиваются уверениями что «Все так и должно быть», и последующим игнорированием.

Конечно, это будет работать только если компания, размещающая информацию в security.txt, готова проверять и своевременно реагировать на информацию, полученную через этот канал.


Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Комментарии1

Разбираем алгоритмы компьютерной графики. Часть 1 — «Starfield Simulation»

Время на прочтение7 мин
Количество просмотров16K

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

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

В качестве основы для вывода графики будет использован язык Python и библиотека PyGame. Этим набором можно очень просто что-то выдать на экран, сделать анимацию и т.п. не отвлекаясь на технические детали реализации.

Читать далее
Всего голосов 46: ↑46 и ↓0+46
Комментарии11

Golden canon grid: страшилка для фронтендеров

Время на прочтение12 мин
Количество просмотров27K


Большая часть людей, так или иначе причастных к верстке сайтов, проходят через… Назовем это “путь бутстрапа”. Это такая философская позиция, когда у тебя есть 12 колонок и ничего больше. Ты берешь элементы, кладешь их в определенные колонки и все у тебя хорошо. Можно выключить мозг, погрузиться в нирвану и руки будут сами расставлять элементы. Красота… Но тут появляется современный дизайнер, который рисует что-то, что ну совсем не сходится с этой замечательной концепцией. Колонок явно больше, они все разной ширины, да еще и по высоте что-то нужно выравнивать. Жуть. А встречается такое все чаще, особенно если сделать шаг в сторону от магазинов или админок. Сегодня мы поговорим о том, что же это за чудо такое там используется и как его можно готовить в современном CSS. Кода будет совсем немного, в основном – размышления и картинки.

Читать дальше →
Всего голосов 39: ↑39 и ↓0+39
Комментарии29

Записать совместный трек на удаленке — поможет утилита FarPlay

Время на прочтение3 мин
Количество просмотров2.9K

Мы уже рассказывали про утилиту wave-share. Она позволяет организовать обмен данными по WebRTC с помощью звука. Сегодня продолжим тему, но поговорим об инструменте для передачи аудио с минимальными задержками.

Читать далее
Всего голосов 10: ↑8 и ↓2+6
Комментарии6

Как я «напрограммировал» себе скилл рисования диаграмм в скетч-стиле

Время на прочтение5 мин
Количество просмотров25K

По работе мне часто приходится рисовать разные схемы, диаграммы процессов и графики, в том числе и те, которые потом используются в качестве иллюстраций для сайта, статей и презентаций. Всё бы ничего, но есть у диаграмм и графиков, сделанных в популярных онлайн-сервисах наподобие draw.io или lucidcharts одна беда — они выглядят как-то слишком уныло и «олдскульно», в духе «90-х». Всю эту инфографику хотелось бы сделать более заметной, привлекательной и душевной (и, желательно, без привлечения дизайнера).

Так у меня возникла идея создания инструмента для отрисовки диаграмм и графиков в стиле «нарисовано от руки». Об истории создания сервиса и «подводных камнях» я расскажу в этой заметке.

Читать далее
Всего голосов 157: ↑157 и ↓0+157
Комментарии37

Работа с временными зонами в PHP

Время на прочтение8 мин
Количество просмотров86K
Как только проект перестает быть завязан на ограниченное количество потребителей и растет география его применения, встает вопрос о применении временных зон. Когда я работал в одной известной интернет компании внедрение в работу временных зон (как в интерфейс отображения статистики, так и в программу анализа) было достаточно серьезным шагом.

Далее перевод :-)
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии37

Работа с часовыми поясами в JavaScript

Время на прочтение16 мин
Количество просмотров92K


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

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

В этой статье я хочу обсудить, с чем я столкнулся и как это решал. Пока я писал текст, осознал, что причиной всех невзгод было плохое понимание мной самой темы часовых поясов. В свете этого осознания я предлагаю сначала подробно поговорить об определении и стандартах, а уже потом переходить к JavaScript.
Читать дальше →
Всего голосов 90: ↑84 и ↓6+78
Комментарии14

Почему я написал плагин Ataman и как он может изменить вашу работу с IDE от JetBrains

Время на прочтение5 мин
Количество просмотров14K

Ataman – это мой плагин для IDE-шек на базе Intellij. Единственное его предназначение – сделать возможным использование leader key биндингов в моём основном рабочем инструменте – Android Studio.

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

А ну, удиви
Всего голосов 33: ↑32 и ↓1+31
Комментарии39

Как 17 обезьян спасли тысячи людей

Время на прочтение9 мин
Количество просмотров26K


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

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

Ночью в помещение со спящими животными вламывается группа людей. С благородной целью — избавить бедолаг от мучений, отпустить их на волю. Но что-то идёт не по плану — открыв клетки, активисты понимают, что эти обезьяны какие-то не такие. Они не реагируют на прикосновения и не чувствуют боль…
Читать дальше →
Всего голосов 122: ↑118 и ↓4+114
Комментарии97

USB over IP в домашних условиях

Время на прочтение4 мин
Количество просмотров52K
Иногда возникает желание работать с устройством, подключенным по USB, не держа его на столе рядом с ноутбуком. У меня таким устройством является китайский гравёр с лазером на 500 мВт, штука довольно неприятная при близком контакте. Помимо непосредственной опасности для глаз, в процессе работы лазера выделяются токсичные продукты горения, поэтому устройство должно находится в хорошо проветриваемом помещении, и желательно изолированно от людей. А как же таким устройством управлять? Ответ на данный вопрос я случайно нашел, просматривая репозиторий OpenWRT в надежде найти достойное применение старенькому роутеру D-Link DIR-320 A2. Для подключения решил использовать описываемый на Хабре ранее USB over IP tunnel, однако все инструкции по его установке успели потерять актуальность, поэтому пишу свою.
Читать дальше →
Всего голосов 60: ↑59 и ↓1+58
Комментарии28

«Выглядит похоже». Как работает перцептивный хэш

Время на прочтение6 мин
Количество просмотров121K
За последние несколько месяцев несколько человек спросили меня, как работает TinEye и как в принципе работает поиск похожих картинок.

По правде говоря, я не знаю, как работает поисковик TinEye. Он не раскрывает деталей используемого алгоритма(-ов). Но глядя на поисковую выдачу, я могу сделать вывод о работе какой-то формы перцептивного хэш-алгоритма.
Читать дальше →
Всего голосов 149: ↑145 и ↓4+141
Комментарии46

Информация

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