Pull to refresh
3
0

User

Send message

MFOS Echo Rockit — простой, но могучий аналоговый синтезатор

Reading time8 min
Views8.2K


Привет, Хабр! Два с половиной года назад я наконец, собрала это удивительное устройство, которое можно назвать и электромузыкальной игрушкой, и звуковым эффектом, и просто примером электронного прибора, разработанного с любовью и знанием дела.

Особенный интерес этот lo-fi noise box представляет потому, что осуществляет не только привычные всем знакомым с субтрактивным аналоговым синтезом модуляцию амплитуды, частоты и частотного спектра сигнала, но и его модулированную задержку во времени, что предоставляет поистине безграничные возможности музыкального и шумового (art of noise) творчества при крошечном числе модулей, составляющих синтезатор.
Изучим, или просто послушаем
Total votes 28: ↑26 and ↓2+32
Comments11

Как оценить Soft Skills на собеседовании и помочь разработчику их развить

Reading time13 min
Views36K

Довольно очевидно, что junior-разработчику и тимлиду требуется сильно различающийся набор навыков. И если в случае hard skills всё уже миллион раз проанализировано и посчитано, то о необходимом наборе soft skills в зависимости от должности мы можем только понимать на уровне ощущений и здравого смысла. 

Более того, в нашей индустрии не принято говорить после собеседования, что кандидату отказано из-за его уровня soft skills, хотя мы даже не пытаемся конкретизировать, что конкретно в нём нас не устраивает. Вы наверняка слышали или сами употребляли фразы вроде «просто человек странный», «почему-то не нравится» или «чувствуем, что он не вольется в команду». Но почему? Что на самом деле с ним не так?

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

Читать далее
Total votes 21: ↑18 and ↓3+24
Comments18

Руководство по инструментам доступности

Reading time14 min
Views10K

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

Это перевод статьи Nic Chan «A Complete Guide To Accessibility Tooling» из журнала Smashing Magazine.

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

Nginx. О чем не пишут в книгах

Reading time9 min
Views46K

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

Надо же, на полках нашлось целых три книги - не полистать их было бы преступлением. Первая, вторая, третья... Ощущение, будто что-то не так. Ну вроде страниц много, текст связный, но каково содержание? Установка nginx, список переменных и модулей, а дальше docker, ansible. Открываем вторую: wget, лимиты запросов и памяти, балансировка, kubernetes, AWS. Третья: GeoIP, авторизация, потоковое вещание, puppet, Azure. Ребята, а где про то, как вообще работает nginx? На кого рассчитаны ваши книги? На состоявшегося админа, который и так знает архитектуру этого веб-сервера? Да он вроде с базовыми настройками и сам справится. На новичка, который не знает как пользоваться wget? Вы уверены, что ему знание о существовании ngx_http_degradation_module и тем паче "облака" важнее порядка прохождения запроса?

Итак. О чем не пишут в книгах.
(здесь и дальше мы говорим только о NGX_HTTP_)

Фазы обработки запроса
Total votes 86: ↑86 and ↓0+86
Comments11

Опыт написания асинхронного поллинга сетевых устройств

Reading time6 min
Views5.5K


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

Читать про идеи, итерации и грабли
Total votes 12: ↑11 and ↓1+16
Comments10

Другая сторона медали или про недостатки юнит-тестирования

Reading time8 min
Views6.9K

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

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

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

Почему функциональное программирование? Так тестируем же мы почти исключительно функции.

Раскрыть тему
Total votes 14: ↑13 and ↓1+15
Comments100

Откровения пьяного старшего инженера

Reading time8 min
Views139K
image

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

  • Лучший способ достичь карьерного роста — сменить компанию.
  • Стек технологий на самом деле не имеет значения, потому что в моей области есть примерно 15 базовых шаблонов разработки программного обеспечения. Я работаю с данными, поэтому они не будут такими же, как веб-разработка или embedded. Но все области имеют около 10-20 основных принципов, и технический стек просто пытается упростить эти вещи, так что не переживайте.
  • Есть причина, по которой люди рекомендуют искать работу. Если я недоволен работой, наверное, пора уходить.
  • У меня появилось несколько хороших друзей на всю жизнь в компаниях, с которыми я работал. Мне не нужно это от каждого места, где я работаю. Я был совершенно счастлив, работая в тех местах, где у меня не складывались дружеские отношения с моими коллегами, и я был несчастен в местах, где у меня было несколько хороших друзей.
Читать дальше →
Total votes 186: ↑153 and ↓33+170
Comments177

Вы точно не запомните все значения этих английских слов

Reading time6 min
Views23K

Самое многозначное слово в русском языке — «идти». У него 26 основных значений и еще больше десятка фразеологических. 

Вот только по многозначности английский язык сильно перегнал русский. В нем есть слова и с сотней значений, а рекордсмен в этом смысле имеет целых 645 дефиниций. 

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

Читать далее
Total votes 13: ↑9 and ↓4+7
Comments12

Всё, что мы хотели знать о коронавирусе, и не побоялись спросить

Reading time23 min
Views11K

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

Илья не связан напрямую с исследованиями вокруг коронавируса, но тема эта интересна ему с точки зрения пересечения фармакобизнеса, фундаментальной науки и организации медицины. Разнообразный опыт позволяет Илье посмотреть с разных точек зрения на историю самой крупной эпидемии за последнее столетие. 9 лет после окончания медфака ПетрГУ Илья посвятил научным исследованиям в области нейробиологии в лаборатории Хельсинкского университета и в компании, которая делает исследования для крупной фармы. С 2014 года Илья работает в Университетской клинике Хельсинки, где начинал как врач общей практики, а сейчас специализируется на судебной психиатрии. 

Беседа получилась интересной: Илья сумел объяснить самые сложные вещи простым языком, через понятные образы.

Читать далее
Total votes 30: ↑24 and ↓6+31
Comments17

Как быть более продуктивным, не заставляя себя

Reading time8 min
Views72K

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

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

Давайте начнем.

Большинство людей испытывает негативные чувства по отношению к своей работе. Они думают, что работа — это что-то неприятное, в отличие от развлечений. Работа воспринимается как раздражающее занятие, которое мешает людям делать то, чем им на самом деле хочется заниматься. Люди также полагают, что отдых и полное безделье — это идеальное состояние, в котором они хотели бы находиться всё время. Такое мышление приводит к тому, что человек начинает думать, что нужно заставлять себя работать через силу, и что работа — это очень тяжело, и лишь железная сила воли поможет справиться с ней.
Читать дальше →
Total votes 51: ↑46 and ↓5+57
Comments46

Как я влюбился в Rust и чего мне это стоило

Reading time10 min
Views32K

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


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


Хочу сразу заметить, что эта статья целиком и полностью — субъективное мнение автора, единственная цель которой — заинтересовать читателей, ценящих в программировании как хобби те же самые вещи, что и он сам, и речь в ней не пойдёт ни о быстродействии, ни о востребованности языка в сфере IT, ни о каких-либо других технических составляющих этой области, вокруг которой часто возникают разного рода споры. Я остановлюсь на том, что Rust — быстрый и безопасный компилируемый ЯП общего назначения. Об остальном — далее.

Читать дальше →
Total votes 59: ↑52 and ↓7+66
Comments68

Общее введение в I2P

Reading time22 min
Views86K

В этой статье пойдет речь про I2P — некоммерческую сингулярность сетевой приватности и анонимности, где никто кроме вас не знает куда и кто передает вашу информацию. Сеть I2P (расшифровывается как «Invisible Internet Project», Проект невидимого интернета) — это оверлейная децентрализованная одноранговая сеть. Оверлейная — значит работает поверх других сетей, например, обычного интернета; децентрализованная — распределенная, не имеющая единой точки отказа: упадет один узел, полсети, или во всей сети останется 3 пользователя — I2P все равно будет функционировать. I2P является одноранговой сетью, так как все участники имеют равные права и возможности: каждый пользователь скрытой сети строит свои туннели через других участников и сам является потенциальным звеном в цепочке другого пользователя. При этом естественная сетевая активность никак не компрометирует абонента перед домашним провайдером или участниками скрытой сети.

Читать!
Total votes 31: ↑30 and ↓1+40
Comments9

Как решать сложные (технические) проблемы

Reading time4 min
Views14K
image


Мировоззрение


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


Поиск первопричины


  • Постарайтесь воспроизвести проблему
    • Можете ли вы воспроизвести это из командной строки?
      • Другим людям легче воспроизвести проблему
      • Легче проверить исправление
  • Есть ли логи? Что за сообщение об ошибке?
    • Прочтите описание ошибки. Каждое его слово. Дважды.
    • Есть ли где-нибудь опечатка (командная строка / конфигурация / код)?
  • Изолируйте проблему
    • Удалите некоторые части системы и попробуйте воспроизвести ошибку
    • Меняйте одно за раз, сохраняя все остальное постоянным
Читать дальше →
Total votes 17: ↑12 and ↓5+10
Comments6

Полезные консольные Linux утилиты

Reading time13 min
Views109K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 96: ↑92 and ↓4+110
Comments110

CORS для чайников: история возникновения, как устроен и оптимальные методы работы

Reading time17 min
Views375K


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

Если вы давно хотели разобраться в CORS и вас достали постоянные ошибки, добро пожаловать под кат.

Ошибка в консоли вашего браузера


No ‘Access-Control-Allow-Origin’ header is present on the requested resource.

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://example.com/

Access to fetch at ‘https://example.com’ from origin ‘http://localhost:3000’ has been blocked by CORS policy.


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

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

Но давайте-ка пойдем к истокам…
Читать дальше →
Total votes 41: ↑40 and ↓1+57
Comments14

Выгорание — норма? Часть 2. Подробно про фазы и «Что делать?»

Reading time18 min
Views42K

Стресс — это норма жизни. Без стресса нет роста и обучения новому.

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

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

Читать далее
Total votes 35: ↑33 and ↓2+43
Comments20

Многопоточность на низком уровне

Reading time14 min
Views38K

Очень часто при обсуждении многопоточности на платформе .NET говорят о таких вещах, как детали реализации механизма async/await, Task Asynchronous Pattern, deadlock, а также разбирают System.Threading. Все эти вещи можно назвать высокоуровневыми (относительно темы хабрапоста). Но что же происходит на уровне железа и ядра системы (в нашем случае — Windows Kernel)?


На конференции DotNext 2016 Moscow Гаэл Фретёр, основатель и главный инженер компании PostSharp, рассказал о том, как в .NET реализована многопоточность на уровне железа и взаимодействия с ядром операционной системы. Несмотря на то, что прошло уже пять лет, мы считаем, что никогда не поздно поделиться хардкорным докладом. Гаэл представил нам хорошую базу по работе процессора и атомнарным примитивам.



Вот репозиторий с примерами из доклада. А под катом — перевод доклада и видео. Далее повествование будет от лица спикера.

Total votes 31: ↑30 and ↓1+40
Comments16

Тренируемся дома по программе Пола Уэйда. Часть Четвёртая: Мостик или Секрет Бронированного Позвоночника

Reading time23 min
Views55K

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

Приступить к тренировке
Total votes 31: ↑26 and ↓5+28
Comments15

Перепрошивка ограничивающих убеждений. Прокрастинация или как мотивировать себя на действия

Reading time17 min
Views32K

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

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

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

Читать далее
Total votes 15: ↑11 and ↓4+10
Comments40

Техдолг. Все говорят: «невозможно», а я говорю, что буду

Reading time18 min
Views13K
Очень часто драматически и патетически утверждают, что техдолг лучше не плодить — потом не устранишь. Да, без него, конечно, лучше. Но последствия устранить все-таки можно, и глава Программного комитета Артем Каличкин на конференции DevOpsConf 2020 поделился своим опытом в этой области.

Можно спросить, а причем здесь техдолг, если конференция DevOps? Холиварить об этом можно, например, в рамках DevOps-фуршета, но настолько ли это широкое понятие? Мы узнали, что Артем относит к техдолгу все изменения и доработки, инфраструктурные модификации и изменения процессов, изменения структур команд, направленные на устранение гэпов — которые были допущены (осознанно или нет) в рамках запуска продуктов и фич, и которые со временем сильно мешать жить.

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


Читать дальше →
Total votes 50: ↑50 and ↓0+50
Comments8

Information

Rating
Does not participate
Registered
Activity

Specialization

Web Developer