Pull to refresh
0
0
Мышь @Sui_Dream

Самая пухлая мышь

Send message

Пишем драйвер для ноутбука for fun and profit, или как закоммитить в ядро даже если ты дурак

Reading time5 min
Views37K

С чего всё началось


Начнём с постановки проблемы. Дано: один ноутбук. Новый ноутбук, геймерский. С RGB-подсветкой. Вот такой примерно ноутбук:

image
Картинка взята с lenovo.com

Есть ещё программа к этому ноутбуку. Программа как раз этой подсветкой и управляет.

Одна только проблема – программа под Windows, а хочется чтоб в любимом линуксе всё работало. И лампочки чтоб светились, и чтоб цвета красивые мелькали. Да вот только как это сделать, чтоб без реверс-инжиниринга и без написания своих драйверов? Простой ответ пришёл быстро – никак. Ну что ж, пошли писать драйвер.
Читать дальше →
Total votes 103: ↑102 and ↓1+131
Comments20

Про Володю и озонатор

Reading time16 min
Views93K
Писал я недавно в свой канал заметку насчет комнатных растений, по мнению NASA очищающих воздух от формальдегида/аммиака/паров растворителей (бензола, трихлорэтилена, ксилола и толуола). И сразу от подписчиков получил вопрос по поводу озона в воздухе. Набросал черновик ответа, но за пару дней он внезапно «растолстел» и попросился на хабр. Тем более антропогенный озон — это в определенной степени и лазерные принтеры и копиры, коих в офисах и компаниях тысячи…

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

От автора: надеюсь, статью прочитают те, кто среди зимы занимается «кронированием» городских деревьев, срезая две трети ствола и, хоть о чем-то задумается…


Проозонироваться!
Total votes 64: ↑64 and ↓0+64
Comments209

Краткая и на 146% точная история языков программирования

Reading time4 min
Views83K


1800


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


1842


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

Читать дальше →
Total votes 155: ↑141 and ↓14+167
Comments154

12 лет с МКБ F41.2. То, что нас не убивает, делает сильнее… и лучше

Reading time21 min
Views73K

Привет всем. У меня депрессивное-тревожное расстройство. Вот уже 12 лет. 5 полноценных эпизодов. 4 ремиссии. МКБ F41.2 — эти цифры легко запоминаются… уже на первом эпизоде.


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


Когда-то я спрашивал, за что мне природа и генотип наградили пограничным расстройством психики. А потом один мудрый человек подправил вопрос — не «Почему?» и даже не «За что?», а «Для чего?». Мне понадобилось несколько лет и три эпизода депрессивно-тревожного расстройства, чтобы понять его правоту.


Болезнь сделала меня лучше, чем я был до неё. Я в этом уверен. Это моя история. Пусть она послужит маяком для тех, кто потерялся в штормовом море F41.2 под тяжёлым свинцовым небом — и не знает, что делать, к кому обратиться и как жить дальше. А рядом нет хорошего специалиста психиатра.


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



Три самых главных вещи:

Читать дальше →
Total votes 85: ↑68 and ↓17+73
Comments180

DDoS-атака через социальную инженерию

Reading time6 min
Views17K


TL;DR Атакующий подменяет source ip на адрес вашего сервера и триггерит автоматические абузы. В результате клиента банят на хостинге за вредоносную активность, которой не было.

Комментарий от vdsina.ru:
Эта статья написана нашим клиентом, который перешёл к нам от крупного хостера после DDoS-атаки и любезно согласился поделиться этой историей.

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

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

В статье подробно разбирается этот вид атаки в реальном кейсе.
Читать дальше →
Total votes 27: ↑26 and ↓1+34
Comments16

Базовые команды Linux для тестировщиков и не только

Reading time24 min
Views244K

Предисловие


Всем привет! Меня зовут Саша, и я больше шести лет занимаюсь тестированием бэкенда (сервисы Linux и API). Мысль о статье у меня появилась после очередной просьбы знакомого тестировщика подсказать ему, что можно почитать по командам Linux перед собеседованием. Обычно от кандидата на позицию QA инженера требуют знание основных команд (если, конечно, подразумевается работа с Linux), но как понять, про какие команды стоит почитать во время подготовки к собеседованию, если опыта работы с Linux мало или вовсе нет?

Поэтому, хоть про это уже и много раз написано, я всё же решился написать ещё одну статью «Linux для новичков» и перечислить здесь базовые команды, которые нужно знать перед любым собеседованием в отдел (или компанию), где используют Linux. Я подумал, какие команды и утилиты и с какими параметрами я использую чаще всего, собрал фидбек от коллег, и скомпоновал это всё в одну статью. Статья условно делится на 3 части: сначала краткая информация об основах ввода-вывода в терминале Linux, затем обзор самых базовых команд, а в третьей части описывается решение типовых задач в Linux.
Читать дальше →
Total votes 65: ↑53 and ↓12+51
Comments50

30 полезностей для Firefox Developer Tools

Reading time3 min
Views26K


Ниже приведены фичи и советы по использованию Firefox Developer Tools. Некоторые из них аналогичны возможностям инструментов в Chrome, для некоторых аналоги в других браузерах отсутствуют.


Осторожно, под катом много тяжёлых гифок!

Осторожно, под катом много тяжёлых гифок!
Total votes 29: ↑28 and ↓1+36
Comments6

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

Reading time14 min
Views46K
Примечание от переводчика: это первая часть монументальной (на самом деле монументальной) статьи о Vim и его возможностях от разработчика из Миннеаполиса и автора проекта PostgREST Джо begriffs Нельсона.

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




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



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


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

Содержание

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

История


Рождение vi


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

Плюсы и минусы IT-шной жизни в Шотландии

Reading time5 min
Views43K
Я уже несколько лет живу в Шотландии. На днях я опубликовал в своем Facebook-е серию статей про плюсы и минусы жизни тут. Статьи нашли большой отклик среди моих друзей, и поэтому я решил, что это может быть интересно более широкому IT-сообществу. Так что — выкладываю на хабре для всех желающих. Я смотрю с “программистской” точки зрения, поэтому часть пунктов в моих плюсах и минусах будет специфичной для программистов, хотя многое применимо к жизни в Шотландии независимо от профессии.

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


Вид на Эдинбург с холма Calton Hill
Читать дальше →
Total votes 77: ↑71 and ↓6+65
Comments104

10 лет на удаленке и что из этого вышло

Reading time12 min
Views96K

Содержание


1. Первая работа
2. Первый экономический кризис и первая удаленка
3. Год за два
4. Покоряем Москву, не выходя из дома в провинции
5. Второй (валютный) экономический кризис
6. А в это время в России
7. А что сейчас?
8. Выводы/Плюсы/Минусы
9. ЧаВО
Читать дальше →
Total votes 131: ↑120 and ↓11+109
Comments89

Зарубежные заказчики и легализация доходов программиста в РФ. Что надо делать и сколько это всё будет стоить?

Reading time11 min
Views46K

image


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


Сразу пишу к чему пришёл в ходе изысканий:


  1. ИП на ПСН
  2. поступление оплаты за услуги по разработке ПО на счёт ИП в долларах США
  3. основание для оплаты инвойс, сумма которого не превышает 200 000 руб.
  4. инвойсы выставляются по-мере необходимости
  5. ККТ не используется

То есть, спокойно работаю, в конце оговоренного периода формирую инвойс, в котором указываю согласованную с работодателем сумму не превышающую указанный порог, получаю деньги прямо на расчётный счёт, оплачиваю раз в год или в течение года патент и взносы в размере 54 000 рублей и больше не переживаю о том, что завтра злобные налоговики придут ко мне с повесткой и ужасными новостями (это была минутка юмора). В следующем году эта сумма подрастёт до 60 000 рублей за год.


Почему так? Какие могут быть ещё варианты? Чем плохи для меня Upwork, PayPal и Payoneer? Попробую ответить под катом. Кому интересны все эти детали, читаем дальше :-)

Читать дальше →
Total votes 63: ↑59 and ↓4+78
Comments231

Как программисту переехать в Нидерланды

Reading time26 min
Views68K
Disclaimer: Эта статья была начата еще летом. Не так давно на хабре был всплеск статей на тему поиска работы за рубежом и переезда. Каждая из них придавала моей пятой точке некоторое ускорение. Что в итоге заставило меня перебороть свою лень и сесть написать, а точнее дописать, очередную статью. Часть материала может повторять статьи других авторов, но с другой стороны, у каждого свои фломастеры.



Итак, перед вами часть третья, и на данный момент последняя, о похождениях блудного попугая программиста. В первой части я уехал жить и работать на Кипр. Во второй части я пытался устроиться в Google и переехать в Швейцарию. В третьей части (вот этой самой) я устроился на работу и переехал в Нидерланды. Сразу скажу, что про поиск работы будет мало, так как его фактически не было. В основном будет про обустройство и жизнь в Нидерландах. В том числе про детей и покупку дома, что не было подробно описано в недавних статьях других авторов.
Так что кому интересно, прошу под кат.
Total votes 85: ↑75 and ↓10+65
Comments330

Резюме глазами интервьюера

Reading time9 min
Views53K
Когда я составляла свое первое резюме, процесс отбора на очное интервью мне казался магией. Люди, принимающие решения, представлялись «черными ящиками», которые определяют: кандидат «интересен» или «неинтересен» — по непонятным критериям.

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

Прошли годы, сейчас я сама участвую в найме фронтенд-разработчиков и просматриваю резюме вместе с другими тимлидами.

В этой статье я хочу рассказать:

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

А главное — хочу объяснить логику, которой мы руководствуемся, чтобы процесс больше не выглядел магией.

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

image
Читать дальше →
Total votes 91: ↑85 and ↓6+79
Comments106

Никогда больше не игнорируйте обучение с подкреплением

Reading time6 min
Views11K
Привет, Хабр! Представляю вашему вниманию перевод статьи «Don’t Ever Ignore Reinforcement Learning Again» автора Michel Kana, Ph.D.

Обучение с учителем и обучение без учителя — это ещё не все. Все это знают. Начните с OpenAI Gym.

image

Собираетесь победить чемпиона мира по шахматам, нардам или го?

Есть способ, который позволит вам это сделать — обучение с подкреплением.
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments5

Зарплатная вилка. Ты ж у мамы программист

Reading time7 min
Views160K
Думаю что у каждого ИТ-специалиста наступает тот момент, когда он хочет написать подобный текст может и не для себя, а для десятков знакомых, которые не работают в этой сфере и не понимают как и что. Возможно кому-то будет полезно просто дать ссылку на подобную статью, чем в 10 раз объяснять самому.

Дело в том, что ИТ-сфера одновременно бурно развивается (все еще) и в то же время полна множества устоявшихся стереотипов.
Читать дальше →
Total votes 249: ↑195 and ↓54+141
Comments472

Что мы делаем не так со Спрингом

Reading time9 min
Views12K

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


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

Читать дальше →
Total votes 19: ↑15 and ↓4+11
Comments81

Переезд: подготовка, выбор, освоение территории

Reading time16 min
Views29K
Кажется, что IT-инженерам легко живется. Они хорошо зарабатывают и свободно перемещаются между работодателями и странами. Но это все не просто так. «Типичный айтишник» красноглазит за компьютером со школы, а потом еще в университете, магистратуре, аспирантуре… Дальше работа, работа, работа, годы продакшн, и только тогда переезд. А потом опять работа.

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



Переезд в другой город, страну, континент или планету не так уж прост. Иной менталитет, культура, правила, законы, цены, медицина, а еще надо найти куда переезжать, оффер, жилье, сделать визу… тысячи нюансов. Как не получить нервный тик, а только максимальную выгоду и удовольствие от процесса, расскажет Денис Неклюдов (nekdenis).

По каким причинам люди уезжают, что их ждет там и как выбирать, куда переехать? Как сориентироваться на рынке труда, найти работу, подготовиться к интервью и выбрать самый выгодный оффер. На примере переездов Дениса на Пхукет, в Сингапур, Сан-Франциско и опыта множества других экспатов подготовимся к новым приключениям. Рассказ Дениса — это дорожная карта или чек-лист, который будет полезен всем, кто задумывается о переезде.

Дисклеймер. «Земля круглая» и вращается. Когда-нибудь мы вернемся туда, откуда начали. Переезд Дениса не провоцирует вас навсегда покинуть родину. Не воспринимайте тему переезда агрессивно, а лишь как способ расширить кругозор. Статья основана исключительно на опыте обычных разработчиков без налета роскошной жизни крипто-миллионеров и тяжелых судеб мигрантов без профессии.
Читать дальше →
Total votes 84: ↑72 and ↓12+60
Comments79

Подготовка к Spring Professional Certification. Контейнер, IoC, бины

Reading time10 min
Views105K

Доброго времени суток, Хабр.


Сегодня я решил представить вам перевод цикла статей для подготовки к Spring Professional Certification.


Это перевод только первой статьи, если он зайдет аудитории, я продолжу выпуск переводов.  


Зачем я это делаю, ведь уже есть куча профильных материалов?
  1. Часто в них информация не структурирована, не собрана, или не актуальна
  2. Молодые разработчики могут не знать английский. Этот цикл можно использовать не только для сертификации, но и для самообучения/повторения материалов.
  3. Этими материалами можно пользоваться при подготовке к собеседованию, т.к. они выстроены в виде вопросов и ответов.
  4. Важное, и самое главное преимущество — этот QA сделан из вопросов из  официального Study Guide от Pivotal. 

  • Некоторые вопросы, которые казались мне лишними или которых не было в гиде я осознанно упустил.

Оглавление
  1. Внедрение зависимостей, контейнер, IoC, бины
  2. AOP (аспектно-ориентированное программирование)
  3. JDBC, транзакции, JPA, Spring Data
  4. Spring Boot
  5. Spring MVC
  6. Spring Security
  7. REST
  8. Тестирование

Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments53

Как собеседовать работодателя?

Reading time4 min
Views46K
У программистов обычно принято обсуждать собеседования с точки зрения (около)технических вопросов, которые им задает интервьювер.

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

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

Читать дальше →
Total votes 85: ↑77 and ↓8+69
Comments63

ООП, «святая троица» и SOLID: некоторый минимум знаний о них

Reading time43 min
Views114K

Необходимое вступление


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


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


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


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



Читать дальше →
Total votes 88: ↑82 and ↓6+76
Comments79

Information

Rating
Does not participate
Location
Souris, Prince Edward Island, Канада
Registered
Activity