Как стать автором
Обновить
33
0

Программист

Подробная инструкция по изготовлению сплит клавиатуры на основе ATmega32U4. Аналог Iris / Jiran своими руками

Время на прочтение 13 мин
Количество просмотров 39K
Компьютерное железо Настольные компьютеры Периферия Носимая электроника Электроника для начинающих
Туториал

Моя самоделка


image

Перед изготовлением своей клавиатуры я наметил следующие цели:

  1. Максимально возможный тактильный комфорт.
  2. Добиться того, чтобы совершенно не было необходимости смотреть на клавиатуру при работе, чтобы она никоим образом не отвлекала внимание на себя, чтобы даже смотреть на нее было бессмысленно. Именно поэтому на моих колпачках нет надписей.
  3. Клавиатура — это мой рабочий инструмент, сосредотачиваемся на ее функционале и удобстве. Внешний вид совершенно неважен. Кто не может жить без RGB подсветки и внешней броской красоты – нам с вами не по пути, эта статья совсем про другое. В этой статье я вас научу как недорого и просто сделать себе удобный и функциональный инструмент для работы.
  4. Удобство перевозки. Сделать компактное и удобное для переноски устройство.
Всего голосов 79: ↑79 и ↓0 +79
Комментарии 75

Всё, о чём должен знать разработчик Телеграм-ботов

Время на прочтение 16 мин
Количество просмотров 441K
Мессенджеры *API *

Вы вряд ли найдете в интернете что-то про разработку ботов, кроме документаций к библиотекам, историй "как я создал такого-то бота" и туториалов вроде "как создать бота, который будет говорить hello world". При этом многие неочевидные моменты просто нигде не описаны.

Как вообще устроены боты? Как они взаимодействуют с пользователями? Что с их помощью можно реализовать, а что нельзя?

Подробный гайд о том, как работать с ботами — под катом.

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

Как удалить «неудаляемые» приложения со смартфона

Время на прочтение 5 мин
Количество просмотров 218K
Блог компании VDSina.ru Разработка под Android *Смартфоны Софт


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

Оказывается, некоторые программы невозможно удалить. Например, на отдельных моделях Samsung невозможно удалить Facebook (есть только опция 'disable'). Говорят, на Samsung S9 вдобавок предустановлены «неудаляемые» приложения Microsoft.

Эти смартфоны приведены для примера. Такая же проблема и на других моделях. На многих есть неудаляемые программы от самого производителя.

Всё это надо зачистить.
Читать дальше →
Всего голосов 190: ↑179 и ↓11 +168
Комментарии 203

Крауд-перевод книги “Мир после капитала” Альберта Венгера (часть 1/7)

Время на прочтение 19 мин
Количество просмотров 15K
Читальный зал Научно-популярное Будущее здесь
Перевод

Книга Мир после капитала американского инвестора немецкого происхождения Альберта Венгера — один из наиболее значимых текстов об экономике после капитализма.

Этот перевод мы делаем сообществом энтузиастов совершенно бесплатно.

Читать перевод части 1/7
Всего голосов 12: ↑8 и ↓4 +4
Комментарии 10

Как сделать интерактивную карту с помощью Python и open source библиотек

Время на прочтение 6 мин
Количество просмотров 38K
Блог компании Skillfactory Open source *Python *Программирование *OpenStreetMap *
Туториал
Перевод

Сегодня делимся с вами пошаговым руководством создания интерактивных карт для веб-приложения или блога. Просто сохраните эту статью в закладках. Хоть и существует, например, библиотека d3.js, которая может создавать пользовательские карты, есть несколько инструментов еще проще. В этом посте посмотрим на три простые в обращении, но мощные библиотеки Python с открытым исходным кодом и поработаем с ними.
Читать дальше →
Всего голосов 20: ↑18 и ↓2 +16
Комментарии 3

Bash-скрипты: начало

Время на прочтение 11 мин
Количество просмотров 1.5M
Блог компании RUVDS.com Настройка Linux *Серверное администрирование *
Перевод
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Сегодня поговорим о bash-скриптах. Это — сценарии командной строки, написанные для оболочки bash. Существуют и другие оболочки, например — zsh, tcsh, ksh, но мы сосредоточимся на bash. Этот материал предназначен для всех желающих, единственное условие — умение работать в командной строке Linux.


Читать дальше →
Всего голосов 69: ↑61 и ↓8 +53
Комментарии 123

Статические анализаторы кода на примере ClickHouse

Время на прочтение 6 мин
Количество просмотров 19K
Блог компании Яндекс Open source *C++ *

Чуть больше месяца назад была опубликована статья, содержащая анализ исходного кода ClickHouse с помощью PVS-Studio. Статья оказалась достаточно успешной: так, ссылку на неё мне отправили по меньшей мере десять раз в день её публикации. Общий тон статьи позитивный, а посещаемость сайта clickhouse.yandex в день её выхода заметно выросла.


Я очень уважаю, когда какая-либо компания или человек делает свою работу исчерпывающим образом. Так, у PVS-Studio исчерпывающий подход к продвижению: одних только статей на Хабре 337 штук. Они проводят доклады почти на всех российских конференциях по C++. В любом случае стоит отметить: люди стараются и своим трудом приносят пользу другим людям.


Та статья пробудила в нас интерес к статическим анализаторам, и мы решили проверить работу нескольких общедоступных аналогов PVS-Studio на кодовой базе ClickHouse. В сегодняшней статье мы поделимся с вами результатами этого исследования.


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

Подборка 143 переводов эссе Пола Грэма (из 184)

Время на прочтение 8 мин
Количество просмотров 54K
Программирование *Учебный процесс в IT Венчурные инвестиции Развитие стартапа
image

Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ. Своими помыслами и разумом Пол Грэм врывается в широкий спектр областей: от прогнозирования развития языков программирования на сто лет вперед до человеческих качеств и способов починить/хакнуть экономику. А ещё он осознает важность того, чтобы формулировать свои мысли в текст и делиться ими с окружающими.

Когда в 2015 году я начал читать Пола Грэма мой взгляд на жизнь поменялся. Я считаю его эссе одними из самых важных текстов, которые стоит прочитать все как можно раньше, чтобы сформировать у себя мышление, способ рассуждения и изложения мыслей.

Первую подборку переводов эссе Пола Грэма меня вдохновили сделать коллеги из tceh.com (60 переводов из 176). Вторую — Edison Software (125 переводов). Третью — PhilTech-акселератор (134 перевода и еще несколько в процессе). Потом был период (2017, 2018 и 2019), когда Пол Грэм не писал эссе (а занимался с детьми), а только немного в Твиттер и дал одно видео-интервью для стартап-школы. Но в конце 2019 и начале 2020 года он вновь стал публиковать глубокие тексты об которые интересно подумать. Предлагаю вашему вниманию ссылки на новые переводы (upd с прошлой подборки) и полный список всех эссе.

Novelty and Heresy (Да здравствует ересь!)
The Lesson to Unlearn (Вредные уроки)
The Bus Ticket Theory of Genius (Теория навязчивых идей)

Five Questions about Language Design (Пять вопросов о проектировании языков программирования)
What Made Lisp Different (Что сделало Lisp особенным)
After the Ladder (На смену корпоративной лестнице)
What I’ve Learned from Hacker News (Чему я научился у Hacker News)
Snapshot: Viaweb, June 1998 (разбор полетов: Viaweb июня 1998 года)
Some Heroes (Мои кумиры)
The Equity Equation (Как делить доли в стартапе)

Бонус - видео из стартап-школы 2018 с русскими субтитрами


Всего голосов 33: ↑30 и ↓3 +27
Комментарии 10

Шпаргалка по работе с Tmux (терминальный мультиплексор)

Время на прочтение 2 мин
Количество просмотров 354K
Настройка Linux **nix *Серверное администрирование *DevOps *

На Хабрахабре Tmux (ти-макс) упоминался неоднократно, тем не менее, решил написать еще одну шпаргалку, т.к. в других некоторые важные моменты не показаны.

Tmux (терминальный мультиплексор) позволяет работать с несколькими сессиями в 1 окне. Вместо нескольких окон терминала к серверу — вы можете использовать одно. Позволяет подключаться/отключаться к текущему состоянию сессии. Запущенные программы и процессы продолжают работать. (Можно использовать вместо nohup, dtach).

Например, на работе правим файлы в Vim. Окно терминала с открытыми файлами, процессами. Отключаемся от сессии. Далее подключаемся к этой сессии из дома и получаем те же окна с открытыми файлами в Vim, процессами и т.д. Можно продолжить работу с того же момента, на котором остановились. Также удобно при разрыве связи. Дополнительно можно работать совместно с другими в терминале, если подключены к одной сессии. Каждый видит, что делает другой.
Читать дальше →
Всего голосов 28: ↑17 и ↓11 +6
Комментарии 20

Свой стек навигации. Лучше чем у ROS?

Время на прочтение 17 мин
Количество просмотров 6.8K
C++ *Алгоритмы *Робототехника
Это вторая статья команды setUP про наш опыт создания автономных роботов для соревнований Eurobot Open и использования для этого ROS.

Первая статья про механику и общую архитектуру роботов.

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

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


Всего голосов 12: ↑12 и ↓0 +12
Комментарии 4

Что общего между револьвером, шайбами и автономным роботом

Время на прочтение 8 мин
Количество просмотров 6.1K
Разработка робототехники *Прототипирование *Робототехника DIY или Сделай сам
Мы любим роботов. Мы студенты технических ВУЗов, конструкторы, электронщики, программисты, и мы все любим создавать роботов. Два года назад на базе лаборатории робототехники Сбербанка появилась наша команда setUP и тогда же впервые участвовала в соревнованиях по созданию мобильных автономных роботов Eurobot Open для молодых любителей робототехники. Команда отыграла 2 сезона, дважды стала вице-чемпионом, выходила на международный этап. Мы не спали сутками, программировали, паяли, собирали и разбирали наших роботов, находили серьезные проблемы за час до соревнований, а затем всё-таки их запускали. Ещё получили незабываемый опыт и наработали ряд интересных решений, о чем и расскажем в серии статей (осторожно, гифки).


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

Y-метод — действительно простой способ собрать кубик Рубика

Время на прочтение 7 мин
Количество просмотров 301K
Мозг Логические игры
Туториал

Введение


В статье рассматривается «Y-метод» сборки кубика Рубика — его легко понять и запомнить. Он основан всего на одной последовательности, которая называется «Y-движение». Поняв этот алгоритм, вы навряд ли забудете как собрать кубик самостоятельно.
Читать дальше →
Всего голосов 118: ↑117 и ↓1 +116
Комментарии 78

История Vim и руководство по его эффективному использованию

Время на прочтение 14 мин
Количество просмотров 41K
Блог компании Дата-центр «Миран» VIM *Git **nix *История IT
Туториал
Перевод
Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона.

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




Эта статья основана на исследовании истории Vim и прочтении его руководства пользователя от корки до корки. Надеюсь, эти заметки помогут вам открыть (или переоткрыть?) для себя основные функциональные возможности этого редактора, а также позволят отказаться от использования предупакованных файлов vimrc и более вдумчиво использовать плагины.



Список литературы


Чтобы выйти за границы привычных тем, я бы порекомендовал обзавестись бумажной копией этого руководства и емким карманным справочником. Я не смог найти печатную копию руководства пользователя для Vim, так что в итоге просто распечатал идущий вместе с редактором PDF-файл с помощью printme1.com. Он идет вместе с софтом в $VIMRUNTIME/doc/usr_??. В качестве удобного списка команд могу посоветовать справочник «Vi and Vim Editors Pocket».

Содержание

  • История
  • Иерархия конфигурации
  • Сторонние плагины
  • Бекапы и откаты
  • Include и path
  • Редактирование и компиляция цикла
  • Диффы и патчи
  • Буфер ввода / вывода
  • Типы файлов
  • Не забывайте про мышь
  • Разное

История


Рождение vi


Команды и функции Vi существуют уже более пятидесяти лет, начиная с редактора QED. Вот его таймлайн:
Читать дальше →
Всего голосов 46: ↑42 и ↓4 +38
Комментарии 14

Вещество и антивещество: что это такое, в чем разница и при чем тут нейтрино

Время на прочтение 14 мин
Количество просмотров 49K
Научно-популярное Физика
Антивещество — штука достаточно популярная, как в научной фантастике, так и просто в околонаучных спорах о том, “как все устроено на самом деле”. Фантасты нам подарили звезды и целые планетные системы из антивещества. Дэн Браун через “Ангелов и демонов” донес этот феномен практически до каждого.

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

image
Всего голосов 124: ↑122 и ↓2 +120
Комментарии 96

Марвин Мински «The Emotion Machine»: Глава 4. «Как мы распознаем Сознание»

Время на прочтение 33 мин
Количество просмотров 3.9K
Алгоритмы *Профессиональная литература *Читальный зал Искусственный интеллект Мозг
Перевод
image


4-3 Как мы распознаем Сознание?


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

Вот теория, объясняющая почему так сложилось: Большая часть нашей умственной деятельности протекает, в большей или меньшей степени, «бессознательно» — в том смысле что мы едва догадываемся о её существовании. Но когда мы встречаемся с трудностями, она запускает высокоуровневые процессы, которые имеют следующие свойства:
 
  1. Они используют наши последние воспоминания.
  2. Они чаще работают последовательно, чем параллельно.
  3. Они используют абстрактные, символические или словесные описания.
  4. Они используют модели, которые мы сложили о себе.

Теперь предположите, что мозг может создать ресурс С который запускается, когда совместно начинают работать все вышеописанные процессы:
Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 1

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

Время на прочтение 8 мин
Количество просмотров 19K
Блог компании Badoo Высокая производительность *Разработка веб-сайтов *PHP *Программирование *


Привет, Хабр! Меня зовут Тимур Шагиахметов, я PHP-разработчик в Badoo.

Производительность приложения — один из важнейших критериев качества работы программиста. В вопросах оптимизации PHP-приложений помощником является профайлер.

Недавно мы рассказывали о том, какими инструментами пользуемся для профилирования. Напомню: одним из инструментов для анализа производительности, когда непонятно, какие части кода повлияли больше всего на увеличение времени формирования ответа, является XHProf. Это расширение для PHP, которое позволяет профилировать код на боевом сервере и впоследствии  улучшать его.

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

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

В этой статье я расскажу о деталях реализации и особенностях использования этого инструмента.
Читать дальше →
Всего голосов 84: ↑84 и ↓0 +84
Комментарии 7

Non fiction. Что почитать?

Время на прочтение 5 мин
Количество просмотров 6.4K
Читальный зал
Хочу поделиться с вами несколькими из прочитанных за последние годы книг в жанре non fiction. Однако при составлении списка возникла неожиданная проблема отбора. Книги, что называется, для широкого круга, которые читаются влет даже совершенно неподготовленным читателем и могут конкурировать с художественными в смысле захватывающего повествования. Книги для более вдумчивого чтения, для понимания которых потребуется слегка напрячь мозг, и учебники (сборники лекций), для студентов и тех, кто хочет более серьезно разобраться в каких-то вопросах. В данном списке представлена именно первая часть — книги для максимально широкого круга читателей (хотя это, конечно, весьма субъективно). Я намеренно отказался от мысли давать книгам собственное описание и оставил оригинальные аннотации даже в тех случаях, когда они не устраивали меня самого, чтобы никак не влиять на процесс отбора для дальнейшего чтения. Как обычно, если вы хотите добавить что-то к этому списку — добро пожаловать в комментарии.

Как музыка стала свободной 1. Как музыка стала свободной [Конец индустрии звукозаписи, технологический переворот и «нулевой пациент» пиратства]
Автор. Стивен Уитт

"Как музыка стала свободной" представляет из себя захватывающую историю, в которой переплелись между собой одержимость, жадность, музыка, преступность и деньги. История эта рассказывается через визионеров и преступников, магнатов и подростков, создающих новую цифровую реальность. Это история о величайшем пирате в истории, самом влиятельном руководителе в музыкальном бизнесе, революционном изобретении и нелегальном сайте, который по своим размерам превосходил iTunes Music Store в четыре раза.
Читать дальше →
Всего голосов 17: ↑15 и ↓2 +13
Комментарии 2

Подборка: 5 полезных сервисов для написания статей на английском

Время на прочтение 5 мин
Количество просмотров 22K
Контент и копирайтинг *


Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контента. Надеюсь, список поможет изучающим английский и тем, кто публикует англоязычные материалы на Хабре.
Читать дальше →
Всего голосов 51: ↑48 и ↓3 +45
Комментарии 29

Монады за 15 минут

Время на прочтение 6 мин
Количество просмотров 58K
Python *Функциональное программирование *
Перевод

Вступление


На конференции YOW! 2013 один из разработчиков языка Haskell, проф. Филип Вадлер, показал, как монады позволяют чистым функциональным языкам осуществлять императивные по сути операции, такие, как ввод-вывод и обработку исключений. Неудивительно, что интерес аудитории к этой теме породил взрывной рост публикаций о монадах в Интернет. К сожалению, бо́льшая часть этих публикаций использует примеры, написанные на функциональных языках, подразумевая, что о монадах хотят узнать новички в функциональном программировании. Но монады не специфичны для Haskell или функциональных языков, и вполне могут быть проиллюстрированы примерами на императивных языках программирования. Это и является целью данного руководства.

Чем это руководство отличается от остальных? Мы попытаемся не более чем за 15 минут «открыть» монады, используя лишь интуицию и несколько элементарных примеров кода на Python. Мы поэтому не станем теоретизировать и углубляться в философию, рассуждая о буррито, космических скафандрах, письменных столах и эндофункторах.
Читать дальше →
Всего голосов 36: ↑35 и ↓1 +34
Комментарии 14

Монады с точки зрения программистов (и немного теории категорий)

Время на прочтение 14 мин
Количество просмотров 41K
Программирование *Haskell *Математика *Функциональное программирование *

Введение


Как узнать, что человек понял, что такое монады? Он сам вам об этом расскажет в первые 5 минут общения и обязательно попробует объяснить. А ещё напишет об этом текст и по возможности где-нибудь его опубликует, чтобы все остальные тоже поняли, что такое монады.


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


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


Моё изложение во многом основывается на книге Бартоша Милевски "Теория категорий для программистов", которая создавалась как серия блогпостов, доступна в PDF, а недавно вышла в бумаге.


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


Читать дальше →
Всего голосов 56: ↑52 и ↓4 +48
Комментарии 267
1

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность