Пользователь
Программисты, ходите на собеседования
Картинка взята из видеоролика с канала «Воинствующие Аметисты»
Около 10 лет я работал системным программистом под Linux. Это модули ядра (kernel space), различные демоны и работа с железом из пространства пользователя (user space), различные загрузчики (u-boot и др.), прошивки контроллеров и многое другое. Даже иной раз случалось пилить web-интерфейс. Но чаще бывало, что приходилось и с паяльником посидеть, да с проектировщиками печатных плат взаимодействовать. Одна из проблем такой работы это то, что достаточно сложно оценить уровень своей компетенции, поскольку одну задачу ты можешь знать очень глубоко, а рядом можешь не знать совсем. Единственный адекватный способ понять куда идти, и какие течения сейчас есть – это ходить на собеседования.
В данной статье хочу обобщить мой опыт похода по собеседованиям на вакансию системного программиста linux, особенности интервью, работы и как по общению с будущим работодателем оценить личный уровень знаний и чего от этого ожидать не стоит.
В статье будет небольшой конкурс с призами.
Удалёнка за доллары: а меня возьмут?
Удалёнка в хорошей зарубежной компании — крутая штука. Сидя даже где-то далеко в провинции, можно зарабатывать большие деньги: от $3,000 в месяц на средненькой позиции в неизвестной компании до $186,000 в год на позиции senior programmer в Basecamp.
Работая из дома, вы можете развиваться в международной среде: заводить полезные знакомства и практиковать английский с людьми со всего света. При этом семья и друзья по-прежнему рядом. А если в будущем вы захотите переехать за границу, у вас уже будет релевантный опыт и критически важные навыки коммуникации.
У меня получилось так же: спустя почти два года тимлидерства в американской компании, я уехал в другую страну — но по-прежнему считаю удалёнку «за доллары» очень крутым вариантом занятости, по многим пунктам даже существенно лучше переезда за границу.
С вами Громов, и в первой статье из цикла я помогу вам оценить свои шансы устроиться разработчиком в хорошую компанию, где основной язык — английский.
DLL & Python
DLL & Python
Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что применение динамических библиотек может сильно расширить возможности Python. Собственные цели были достигнуты, а чтобы опыт не был забыт, я решил подвести итог в виде статьи — структурировать свой знания и полезные источники, а заодно ещё лучше разобраться в данной теме.
Под катом вас ожидает статья с различными примерами, исходниками и пояснениями к ним.
Исследование и доработка IP-видеосервера на базе Orange Pi PC
Около полугода назад мне достался миниатюрный видеосервер, применение которому я нашёл в арендуемом для мотоцикла гараже, где он всё это время благополучно работал в связке с двумя китайскими NoName IP-камерами, худо-бедно поддерживающими ONVIF, и 3G-модемом, что позволяло мне удалённо посмотреть видео с камер при оповещениях о детекции движения, к счастью совпадавшими пока только с моим приходом в гараж. Не дал этому микросерверу спокойно работать дальше я сам, так как, ещё когда только получил его в руки, из любопытства разобрал и неожиданно для себя обнаружил, что построен он на одноплатнике Orange Pi PC, который незадолго до этого, благодаря низкой цене, широко освещался в интернете, в том числе и на Geektimes, поэтому я примерно представлял его возможности.
Собственно, спустя полгода использования, в дополнение к основным функциям видеосервера мне захотелось задействовать гребёнку GPIO на его борту для подключения датчика дыма, датчика открытия двери и реле для включения сирены. Самым интересным и, на мой взгляд, сложным этапом этого хобби-проекта, я решил поделиться с сообществом, надеясь получить советы по дальнейшему развитию. Внимание: описанные дальше действия, скорее всего, лишили меня гарантии на устройство, я производил их на свой страх и риск и привожу лишь как пищу для ума, но не руководство к действию.
Видеозвонки с виртуальным фоном и опенсорсные инструменты
Я уже давно применяю Zoom на работе, на опенсорсных встречах, посвящённых Kubernetes, делая это обычно с корпоративного ноутбука. Теперь я, в режиме работы из дома, склонен к использованию более мощного и удобного персонального настольного компьютера для решения некоторых из моих опенсорсных задач.
К несчастью, Zoom поддерживает лишь способ удаления фона, известный как «хромакей» или «зелёный экран». Для использования этого метода нужно, чтобы фон был бы представлен неким сплошным цветом, в идеале — зелёным, и был бы равномерно освещён.
Так как зелёного экрана у меня нет, я решил просто реализовать собственную систему удаления фона. А это, конечно, куда лучше, чем наведение порядка в квартире, или постоянное использование рабочего ноутбука.
Как оказалось, применив готовые опенсорсные компоненты и написав буквально несколько строк собственного кода, можно получить весьма достойные результаты.
Делаем модем: передаем цифровые данные по воздуху с помощью OFDM и GNU Radio
Данный текст можно считать продолжением статьи "Разбираем звук Dial-up модема", в которой разбирался метод установки связи между модемами. Сегодня мы пойдем дальше, и посмотрим на практике как передаются данные, для чего создадим простую реализацию модема с помощью OFDM и GNU Radio.
Данные мы будем передавать по воздуху, в прямом смысле этого слова — для приема и передачи будет достаточно динамика и микрофона.
Для тех, кому интересно как это работает, продолжение под катом.
GSM телефонный аппарат с дисковым номеронабирателем
Наверняка, у многих радиолюбителей была идея, приспособить телефонный аппарат с дисковым номеронабирателем для мобильной радиосвязи.
Проводная связь постепенно уходит в прошлое, и такие аппараты пылятся на полке. Мне всегда нравился внешний вид таких аппаратов. Не смог удержаться и два года назад решил переделать телефонный аппарат, который до сих пор работает, без сбоев.
CAN sniffer
Реализация PPPOS на stm32f4-discovery
В процессе решения поставленной передо мной задачи я столкнулся с некоторыми трудностями, одна из которых недостаточное, на мой взгляд, освещение вопросов связанных с PPPoS в сети Интернет. Этим постом я постараюсь закрыть обозначенный пробел, на сколько позволят мои скромные знания.
Статья описывает создание проекта для System Workbench for STM32 с нуля. Показывает пример работы с UART. Есть примеры кода для реализации PPP. Ну и конечно, пример отправки сообщения на соседний компьютер.
Создаем TUI на python
Привет, Хабр! В этой статье я расскажу про npyscreen — библиотеке для создания текстовых интерфейсов для терминальных и консольных приложений.
Руководство по материалам электротехники для всех. Часть 11
Добро пожаловать под кат (ТРАФИК)
Очередные умные часы своими руками
Вдохновившись некоторое время назад статьей «Умные часы своими руками за 1500р.», я тоже решил попробовать сделать подобный девайс.
Эта статья не позиционируется как руководство к действию или инструкция, скорее как указание на ключевые моменты, с которыми мне пришлось столкнуться. Быть может, кому-то она послужит источником вдохновения и полезной информации.
Подбор компонентов, разводка платы, пайка в суровых условиях, 3D-печатный корпус и JavaScript на часах — под катом. Welcome!
Аудио плеер на AVR
Во время очередной ревизии радиоэлектронного барахла и распихивания по коробочкам мне попался контроллер AVR atxmega256a3u. Дабы развеять скуку было решено сделать некое подобие звуковой карты, а точнее ЦАП, подключаемый к компьютеру. Что из этого получилось смотрите под катом.
Пьезоэлектрический генератор электрической мощности
За один щелчок электрозажигалки, который длится примерно 0,1 наносекунды, выделяется мощность более 2 мегаватт. То есть мощность за секунду равна 0,2 ватта. Если бы можно было сделать 1000 щелчков в секунду, то получили бы мощность 200 ватт. Мощность большая, но как сделать 1000 щелчков в секунду. Это невозможно, но вот прижать пьезоэлемент к гладкому вращающемуся колесу 20 и более тысяч раз можно, возбуждая в нём ультразвуковые колебания.
Работа с устройствами USB в Android
Электродвигатели: какие они бывают
В прошлых статьях был рассмотрен принцип работы синхронного и асинхронного электродвигателей, а также рассказано, как ими управлять. Но видов электродвигателей существует гораздо больше! И у каждого из них свои свойства, область применения и особенности.
В этой статье будет небольшой обзор по разным типам электродвигателей с фотографиями и примерами применений. Почему в пылесос ставятся одни двигатели, а в вентилятор вытяжки другие? Какие двигатели стоят в сегвее? А какие двигают поезд метро?
Каждый электродвигатель обладает некоторыми отличительными свойствами, которые обуславливают его область применения, в которой он наиболее выгоден. Синхронные, асинхронные, постоянного тока, коллекторные, бесколлекторные, вентильно-индукторные, шаговые… Почему бы, как в случае с двигателями внутреннего сгорания, не изобрести пару типов, довести их до совершенства и ставить их и только их во все применения? Давайте пройдемся по всем типам электродвигателей, а в конце обсудим, зачем же их столько и какой двигатель «самый лучший».
Алярм, ахтунг, внимание, свистать всех в серверную
Многим невдомёк, какая у системных администраторов нервная работа: постоянно что-то выходит из строя, а пользователи чудят безо всякой меры. Ежедневно приходится решать десятки, если не сотни задач, связанных с поддержанием работоспособности серверов, сетевой инфраструктуры, парка пользовательских компьютеров, всевозможной техники и электроники. Не говоря уже о всевозможных более простых задачах вроде настройки ПО и обслуживания оргтехники. В нашей работе очень много рутины, и нам захотелось привнести немного разнообразия и веселья в рабочий процесс. Сказано — сделано: подумав немного, мы построили специальную систему оповещения, управления, контроля и властвования.
IoT за копейки, или Что может DeviceHive
Сделать свой дом поистине «умным» можно и без использования модных Raspberry Pi или Arduino. Большинство IoT-задач сводится к подключению типовых датчиков и исполнительных механизмов со стандартными интерфейсами: I2C, SPI, UART. А иногда даже с элементарным аналоговым выводом, с которого нужно считать наличие напряжения или подать его, или просто замкнуть.
Концепт: самогонный аппарат — полный автомат
Под полным автоматом понимается: Вы пришли, залили брагу, закрыли бак, открыли вентиль на газовом баллоне, поставили банки в нужные места под разные продукты выгонки, нажали кнопку и ушли. Пришли через определенное время (время зависит от емкости бака), все разлили по емкостям, продукты отработки вылили в канализацию, залили по-новой, и т.д.
Под концептом подразумевается то, что система находится в стадии разработки, но имеет законченную структурную идею, и не претендует на то, что она работает на 100%. В действительности, когда реально начинаешь собирать устройство, где-нибудь что-нибудь точно да откажет: или драйвер не заработает, или температура неправильно рассчитана. Поэтому концепт — он и в Африке концепт.
Что касается алгоритма работы, то по температурам задатчиков он рабочий. Взят алгоритм из других источников и форумов. Собиралось по крупицам. Временные интервалы взяты с запасом и зависят от объема перегонного куба. Мой куб планируется литров на 20-25. Для куба объемом 5 литров (от скороварки), естественно, временные интервалы будут другими, заведомо меньшие.
Information
- Rating
- Does not participate
- Location
- Донецк, Донецкая обл., Украина
- Date of birth
- Registered
- Activity