Pull to refresh
3
0

Пользователь

Send message

Сколько стоит умный дом? Рассказываю, как строил свой и что получилось за 1000 руб./м²

Level of difficultyEasy
Reading time25 min
Views96K

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

Читать
Total votes 246: ↑244 and ↓2+296
Comments296

Хроническая усталость, апатия, сезонная «депрессия» и многое другое: тривиальная причина

Reading time8 min
Views684K
На хабре часто публикуют статьи о самоорганизации — нам всем хочется меньше прокрастинировать, и делать больше полезного. Но что если делать полезное мешает дичайшая усталость? Никакая организация задач усталость не уберет.

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

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

1) Летом все ок, а зимой — апатия, ничего не хочется делать. Это любят называть сезонной «депрессией».
2) Утром все ок, а к вечеру на работе — мозги «не варят», ничего не хочется делать — только хабр и reddit листать. Приходите домой — и с дичайшей усталостью падаете в кресло. Сил хватает только лазить в интернете до ночи. Этот пункт — касается и работодателей, есть шанс, что люди вечером перестают работать не из-за своей лени.
3) Даже если вы просыпаетесь без будильника — вы не высыпаетесь.
4) Кофе и прочие стимуляторы — не дают бодрости, лишь делают вас злее.
5) Даже если вы спите «сколько влезет» — сны короткие и не запоминающиеся, или их нет вообще.
6) Вы замечаете, что даже 1 вещь вам иногда трудно удержать в голове. Мы можете забыть что вы сейчас хотели сделать.
7) Вы просыпаетесь уже с дичайшей усталостью
8) Вам кажется, что в комнате темно и все несколько не резкое.
Читать дальше →
Total votes 336: ↑320 and ↓16+304
Comments374

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

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

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148

Дорожная карта по изучению C++

Reading time6 min
Views117K

Привет!

Представляем вашему вниманию дорожную карту для изучения языка программирования C++. Идея дорожной карты возникла после проведения десятков собеседований молодых разработчиков, которые претендовали на роль Junior Developer C++, но обладали довольно слабой подготовкой по различным причинам.

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

Читать далее
Total votes 58: ↑54 and ↓4+65
Comments75

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

Reading time15 min
Views612K

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

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

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

Читать далее
Total votes 127: ↑127 and ↓0+127
Comments73

Закроем тему прокрастинации

Reading time4 min
Views78K

Лет 20 назад люди тоже ленились. Но термин «прокрастинация» хоть уже существовал (с 1970-х), но не был знаком абсолютно всем, как сейчас. Мне кажется, у нас эпидемия. И, кажется, я знаю почему и что с ней можно сделать. Во всяком случае, у меня работает. И откладывать чтение на потом не придётся – всего 3 правила, уложусь в 5-7 минут Вашего времени

Читать далее
Total votes 104: ↑91 and ↓13+108
Comments184

Программисту. 10 ценных GitHub-репозиториев

Reading time3 min
Views44K
GitHub — это платформа, дающая программистам отличные инструменты для организации работы над кодом. Но в GitHub-репозиториях, помимо кода, можно найти массу ценных учебных материалов. Я, например, занимаюсь разработкой ПО и постоянно ищу репозитории, которые могут чем-то мне пригодиться. Вот 10 моих любимых GitHub-проектов.


Читать дальше →
Total votes 55: ↑37 and ↓18+37
Comments9

Дешёвые и дорогие батарейки ААА

Reading time3 min
Views345K
Реклама добилась своего: большинство покупателей уверены, что батарейки Duracell и Energizer значительно лучше других. Чтобы проверить, так ли это, я протестировал 20 видов щелочных (alkaline) батареек AAA — от самых дешёвых до самых дорогих.


Читать дальше →
Total votes 369: ↑363 and ↓6+357
Comments388

Как Иван ошибку в бэкенде локализовывал

Reading time13 min
Views11K
В комментариях к одной из моих статей про базовые команды Linux shell для тестировщиков справедливо заметили, что в ней не было указано применение команд в процессе тестирования. Я подумал, что лучше поздно, чем никогда, поэтому решил рассказать историю Backend QA-инженера Вани, который столкнулся с неожиданным поведением сервиса и попытался разобраться, где именно случилась ошибка.


Читать дальше →
Total votes 37: ↑36 and ↓1+41
Comments17

Полюбите программиста

Reading time5 min
Views30K

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

Читать далее
Total votes 12: ↑11 and ↓1+17
Comments16

Профессиональная работа в VS Code: 4 совета

Reading time6 min
Views18K
VS Code — это, в наши дни, один из самых популярных редакторов кода. Продуманный подход к использованию этого редактора способен значительно повысить продуктивность программиста. В этом материале представлено несколько советов по профессиональному использованию VS Code. Хочется надеяться, что эти советы вам пригодятся.


Читать дальше →
Total votes 36: ↑24 and ↓12+25
Comments10

Продолжение очередной статьи: STM32 для начинающих. Интерфейсы

Reading time2 min
Views6.7K
Предыдущая публикация: «Очередная статья — STM32 для начинающих»

И как этим пользоваться?


В предыдущей статье создали класс для работы с портами ввода-вывода, проверили. И что дальше? Зачем это все запихивать в класс?

Возьмем для примера простенький опрос кнопок:


Для этой схемы в простейшем случае опрос будет выглядеть так:

int GetKey()
{
  volatile uint32_t* addr = reinterpret_cast<uint32_t*>(GPIOA_IDR);
  uint32_t ret_val = *addr;
  return ret_val & 0x0F;
}
Читать дальше →
Total votes 11: ↑8 and ↓3+11
Comments13

std::atomic. Модель памяти C++ в примерах

Reading time11 min
Views112K

Для написания эффективных и корректных многопоточных приложений очень важно знать какие существуют механизмы синхронизации памяти между потоками исполнения, какие гарантии предоставляют элементы многопоточного программирования, такие как мьютекс, join потока и другие. Особенно это касается модели памяти C++, которая была создана сложной таковой, чтобы обеспечивать оптимальный многопоточный код под множество архитектур процессоров. Кстати, язык программирования Rust, будучи построенным на LLVM, использует модель памяти такую же, как в C++. Поэтому материал в этой статье будет полезен программистам на обоих языках. Но все примеры будут на языке C++. Я буду рассказывать про std::atomic, std::memory_order и на каких трех слонах стоят атомики.

Читать далее
Total votes 52: ↑52 and ↓0+52
Comments39

IT-эмиграция и русский язык

Reading time17 min
Views27K


Люцерн на фото Олега Ненашева


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


А в случае с IT-эмиграцией всё ещё хитрее. Российский разработчик, даже никуда не уезжая, постоянно имеет дело с английским. В эмиграции он может столкнуться с другим языком, но и английский никуда не денется. И при этом, поскольку большая часть жизни проходит в онлайне, можно не бросать русский (например, писать на Хабр или записывать подкаст). Получается жонглирование тремя языками.


Как тогда выглядит жизнь IT-эмигранта с языковой точки зрения? И как в этой жизни присутствует русскоговорящее IT-сообщество? Я расспросил шестерых человек, уехавших в самые разные страны, от Норвегии до Австралии. Троих знаю по их докладам на конференциях, которые организуем мы в JUG Ru Group, а другие трое — авторы популярных хабрапостов из хаба «IT-эмиграция».

Читать дальше →
Total votes 38: ↑37 and ↓1+48
Comments61

Путь разработчика

Reading time11 min
Views19K
Привет! Меня зовут Алексей Скоробогатый. В 2015 году я пришел в Lamoda на позицию разработчика. Сейчас я системный архитектор e-commerce платформы и по совместительству Technical Lead команды CORE. В этой статье хочу поделиться инсайтами, которые получил за эти 5 лет — в формате takeaways, с историями, мемами и ссылками на литературу.

image

Буду рад любой дискуссии в комментариях под статьей: вопросы, мнения, опровержения!
Читать дальше →
Total votes 41: ↑35 and ↓6+40
Comments20

Ты можешь писать безупречные ТЗ, но какой в этом толк, если разработчик твой плачет?

Reading time9 min
Views23K


В далекой-далекой галактике трудится сферический product owner. Он бегло пишет заметки на салфетке и молча отдает ее разработчикам. А вскоре получает готовый продукт, который на 100% соответствует его ожиданиям. Даже если продукт этот – сложный кроссплатформенный сервис с блэкджеком и адаптивностью.

Возможно ли такое на практике?
Читать дальше →
Total votes 23: ↑21 and ↓2+31
Comments29

Издатель/подписчик для распределённых отказоустойчивых бортовых систем реального времени в 1500 строк кода

Reading time31 min
Views16K

Сап, котятки.


Я пришёл рассказать о проекте UAVCAN — новом сетевом стандарте для организации взаимодействия узлов и компонентов современных транспортных средств с высоким уровнем автономности/автоматизации. Название является акронимом от Uncomplicated Application-level Vehicular Computing And Networking (несложные бортовые сети и коммуникации уровня приложения).


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



Конъюнктура


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


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

Ну и что?
Total votes 21: ↑21 and ↓0+21
Comments17

Ты добавил всего две строчки. Почему на это ушло два дня?

Reading time3 min
Views63K
На первый взгляд вопрос кажется разумным, но он делает некоторые ужасные предположения:

  • строки кода = усилие
  • строки кода = значение
  • все строки кода равны

Ничто из этого не является истинным.

Почему исправление, которое кажется таким простым, заняло два дня?
Читать дальше →
Total votes 127: ↑122 and ↓5+147
Comments225

Об оценках сроков в разработке ПО

Reading time8 min
Views42K
В течение всей истории разработки ПО мы искали надежные способы оценки времени на реализацию задач и проектов. Но и спустя более чем 60 лет существования отрасли наши прогнозы все еще оставляют желать лучшего. Может быть, дело не в том, как именно мы пытаемся оценивать, а в том, что мы вообще опираемся на оценки?

К примеру, возьмите методологию Scrum, по которой сегодня работают многие компании. Центральная идея Scrum — брать в спринт не больше задач, чем ваша команда способна за это время выполнить. На первый взгляд, звучит разумно. К сожалению, слишком часто на практике этот подход приводит к замедлению работы команды в обмен на иллюзию планирования. Позвольте объяснить, почему.
Читать дальше →
Total votes 66: ↑64 and ↓2+85
Comments78

Information

Rating
Does not participate
Location
Россия
Registered
Activity