Search
Write a publication
Pull to refresh
143
0
Mikhail @host_m

Хостинг серверов

Send message

Не ищите лучших; нанимайте людей, исходя из слабых сторон команды

Reading time6 min
Views19K


Поиск сотрудников надо начинать не с вопроса «как нам нанять самого лучшего?», а с вопроса «какие у нас есть слабые стороны?».

Зачем вы нанимаете людей? Вы нанимаете, чтобы больше делать или достигать?

Спроектируйте процесс найма так, чтобы подбирать людей, усиливающих слабые стороны команды, а не искать лучших.

Думайте не о том, «как нанять самых умных?», а о том, «как найти людей, способных сделать команду сильнее?».

Робозвери 90-х

Reading time8 min
Views31K

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

Своего лагеря у боевых робозверей не было, они использовали уже имеющиеся коммуникации: заброшенные постройки былой цивилизации в виде коробок, шкафов, сервантов и полок. Иногда они терялись на окраине галактики по закоулкам пыльных углов, прячась от превосходящих их как размером, так и числом противников. Их то тут, то там поджидали саблезубые коты и псы, но страшнее всего были дети великанов. Нет ничего опаснее и хитрее этого врага, способного за считанные минуты разобрать несчастного робота на запчасти. Но, несмотря на все невзгоды и тяготы, отряд рос, крепчал и закалялся. Вскоре сражения стали проходить с переменным, но успехом. Во многом это было связано с растущим мастерством роботов. Терпя поражения, роботы учились ведению боя, когда их враги и конкуренты в лице солдатиков, индейцев и ковбоев не думали оттачивать тактику и менять стратегию, беря вверх лишь численным превосходством. Но после первых побед роботы начали активно наступать и отвоёвывать себе территорию на полках. Казалось, они вот-вот загонят солдатиков на необитаемые и пыльные окраины галактики, и предадут забвению, однако этому помешали… роботы… другие роботы.
Читать дальше →

Как я продавал свой маленький проект

Reading time4 min
Views22K


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

Хотя это просто хобби, меня заинтересовала возможность продажи таких крошечных Интернет-проектов.

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

В этом посте я расскажу, как продал свой последний проект Earlyname.
Читать дальше →

M/o/Vfuscator2, безумный компилятор

Reading time4 min
Views8K


Однажды один умный чувак (Кристофер Домас) читал статью другого умного чувака (Стивена Долана) про удивительную особенность архитектуры x86. Стивен ругал её за избыточность и утверждал, что набор инструкций можно сократить до одной лишь mov, потому что она Тюринг-полная. Если бы Стивен не был таким умным, в его словах можно было бы усомниться, но у Кристофера загорелись глаза: проработав двадцать лет с x86, он не слышал ни о чём подобном, и ему страшно захотелось написать компилятор, который бы переводил весь код в наборы одних лишь mov-инструкций. Так родились M/o/Vfuscator и M/o/Vfuscator2, наглядно иллюстрирующие ненормальное программирование.
Читать дальше →

У каждого приложения должна быть палитра команд

Reading time4 min
Views7.1K
В старых и новых приложениях незаметно начинает появляться инструмент, упрощающий взаимодействие и ускоряющий выполнение действий. Это мощное поле поиска, которое я называю «power bar»; иногда оно имеет название «command palette».

Power bar, похожая на поиск Spotlight в macOS, встраивается в приложение и обычно вызывается сочетанием горячих клавиш CMD+K (или CMD+SHIFT+P). После её вызова пользователь вводит в неё то действие, которое хочет выполнить. Однако в отличие от Spotlight, power bar позволяет выполнять задачи, а не просто искать файлы или переходить в другие части приложения.


Command palette приложения Superhuman.
Читать дальше →

Когда старый компьютер лучше нового

Reading time7 min
Views48K

© dilbert

Наметилась странная тенденция. Возникает впечатление, что с каждым годом компьютеры замедляются. Количество ядер растёт, софт лагает. Нативных программ всё меньше. Остальные работают через Electron или в браузере. Древний текстовый редактор в DOS'е реагировал на нажатия за 15-20 миллисекунд, а в современном Google Docs задержка 100-150 мс. То же самое с остальными. Вспомните, ведь IRC и аська летали практически в реальном времени. А сейчас монстры Skype и Viber на десктопе загружаются по десять секунд. Спасибо разработчикам Telegram, хоть там нормальные ребята, иначе бы вера в человечество совсем исчезла…

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

Почему мы купились на «культ» переработок и выгорания?

Reading time8 min
Views32K
image

Культура переработок процветает; мы считаем сверхурочную работу и постоянную усталость показателем успеха. Почему же мы на неё покупаемся, несмотря на всё то, что знаем о выгорании?

В 1987 году беспринципный Гордон Гекко из фильма «Уолл-стрит» сказал миру: жадность — это хорошо. В картине показаны одержимые работой и благосостоянием воротилы, сверхурочно трудящиеся в высоких небоскрёбах над заключением сделок и увеличением своих заработков, сметая всех со своего пути. Посыл фильма понятен — если вы живёте и дышите работой (а также обладаете достаточной моральной гибкостью), то ваша награда будет потрясающей и внушительной.

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

Как отладить программу, к которой у тебя нет доступа

Reading time5 min
Views7.5K

Фото: Intricate Explorer, Unsplash

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

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

Разбираемся с «чёрными ящиками» и c тем, какими они бывают сегодня


«Чёрный ящик» — это популярная концепция программирования, предполагающая, что мы находимся снаружи системы или компонента, не имея прямого доступа к коду. Это может быть вызвано различными факторами:

  • Вы работаете со сторонним ПО, разработчики которого просто не раскрывают код.
  • Вы взаимодействуете с API, внутренняя логика которого абстрагирована.
  • У вас нет необходимых полномочий для доступа к Git-репозиторию.
  • Даже система с полным доступом может де-факто стать «чёрным ящиком» из-за своей сложности.
  • Сотрудник, обладавший всеми ключами и знаниями, внезапно уволился/пропал/умер.
  • Легаси-система состоит из .dll, которая «всегда работала» на сервере, и не была подключена к системе контроля версий. Чтобы просто посмотреть на код, её нужно декомпилировать, если это возможно, конечно.
Читать дальше →

Вы не просите дать вам работу, вы продаёте услугу

Reading time4 min
Views41K

Изображение: businessinsider.com

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

А теперь взглянем на них с другой стороны баррикад.

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

Собеседования — это кошмар для обеих сторон.

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

Её начальник нанял обоих кандидатов, которые выделились на общем фоне. Из пяти тысяч людей обратили на себя внимание двое.

Штрих-код

Reading time5 min
Views13K
image

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

Сама идея создания универсального кода, в котором была бы зашифрована информация о товаре, была подслушана товарищем Вудленда, Бернаром Сильвером, причем подслушана буквально: он стал свидетелем разговора своего декана (Вудленд и Сильвер учились тогда в аспирантуре) с директором супермаркета, который спрашивал, способны ли ученые создать систему, позволяющую мгновенно регистрировать покупку и вести учет товара.
Декан от такой задачи отказался, а Вудленд и Сильвер буквально загорелись этой идеей: она показалась им вполне решаемой, а её будущее — великолепным.
Читать дальше →

Не начинайте учиться кодингу с Python, начните с языка C

Reading time4 min
Views61K


Python удивителен своей способностью продвигать программирование. Он как будто является подтверждением популярной идеи «если вы знаете английский, то должны знать, как писать код». Благодаря синтаксису, напоминающему английский язык, парадигме отступов и огромному количеству библиотек другие языки по сравнению с Python начинают выглядеть бесполезными.

Python — язык программирования по умолчанию для «самой сексуальной профессии 21-го века». Да, громкие слова о данных по-прежнему сохраняют за data science репутацию «сексуальной работы», хотя современные обстоятельства уже не полностью поддерживают это утверждение. Языку Python удалось добиться того, что он позволяет решать большинство проблем data science.

Кроме того, Python также популярен в блокчейне, DevOps и кибербезопасности.

Ажиотаж вокруг Python постоянно растёт. Этот язык используется как средство кодинга в бесчисленном количестве онлайн-курсов и учебных программ.

Несмотря на всё это и вопреки всей привлекательности Python, он не подходит для начинающих в программировании. Лучшим вариантом является C.

В этой статье я расскажу о том, почему в качестве опорной точки вместо Python следует использовать C.
Читать дальше →

Игровое пиратство

Reading time13 min
Views53K

Пиратство — это целая эпоха для игровой и не только индустрии, являющейся частью нашей с вами жизни, к счастью или сожалению избавиться от которой не получается по сей день. Для многих эпоха становления и последующего развития пиратства, которое пришлось в 90-е и 2000-е года, было временем увлекательным и «ламповым». Переполненные красочными контрафактными коробочками палатки и киоски на рынках. А продавец — главный гид для игроманов тех лет, чей авторитетный совет по выбору игры становился решающим и редко когда оспаривался или вызывал сомнение. Оно и понятно, отношение портить с ним желания не было, так как именно этот «барыга» решал, поменяет он вам диск или нет, если вдруг игра не запустится, а вероятность такого сценария была, скажем так, не маленькая. Такие были времена. Но как так вышло? Виновато ли беззастенчивое копирование игровых платформ или отсутствие альтернатив у большинства в те времена? А может, дело в расторопности пиратов той эпохи, которая делала контрафакт не только доступным, но и удобным? Давайте разбираться.
Читать дальше →

Преобразуем проект на Python в исполняемый файл .EXE

Reading time3 min
Views447K

С помощью Auto PY to EXE можно с лёгкостью преобразовывать файлы .py в файлы .exe. Благодаря этому ваш проект на Python будет работать как десктопное приложение и вы сможете запускать приложение на других машинах без необходимости установки Python.

В этой статье я расскажу, как преобразовать проект на Python в исполняемый файл. Решение будет работать вне зависимости от количества файлов .py в приложении. Стоит учесть, что Auto PY to EXE работает только с Python 3.5 или выше.
Читать дальше →

Программное обеспечение для ракет и космических кораблей SpaceX

Reading time5 min
Views12K
image

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

23 апреля SpaceX и НАСА запустили на Международную космическую станцию вторую миссию Dragon (Crew-2), ставшую первой космической миссией на проверенных лётными испытаниями Falcon 9 и Dragon. Примерно 24 часа спустя Dragon автономным образом состыковался с МКС, благодаря чему к орбитальной лаборатории впервые оказались пристыкованными два Crew Dragon. Это ознаменовало начало новой эры SpaceX, теперь цель компании заключается в регулярной отправке астронавтов на МКС.

Работа Гердинга и других инженеров-ракетчиков над разработкой ПО в основном выполняется на языке C++, который является главной опорой для кода компании со времён её основания. Программное обеспечение считывает текстовые конфигурационные файлы. «Мы изобрели простые специализированные языки для описания такой информации, чтобы их могли настраивать другие инженеры компании, не занимающиеся разработкой ПО».

Эффективность — ваш враг

Reading time8 min
Views74K

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

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

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

Попав в офис (разумеется, заполненный дымом сигарет), вы немного удивлены, что он совсем не похож на людской муравейник. На самом деле, окружающие вас люди практически ничего не делают. Рядом с офисом вашего героя его секретарша отдыхает за своим столом. Назовём её Глория. Похоже, она совсем ничем не занята. Вы в течение получаса наблюдаете, как она читает, приводит в порядок свой стол и болтает с проходящими мимо секретаршами. Они тоже не выглядят занятыми. Озадаченный тем, что Тони тратит свои деньги на бездельников, вы решаете остаться ещё на несколько часов.
Читать дальше →

Почему сениор-разработчики чаще получают отказ на собеседованиях?

Reading time7 min
Views37K
image

Собеседование сениор-разработчика — это тайна; собеседование джуна — это триллер.

Собеседования на позицию джуниор-разработчика высасывают из кандидата всю алгоритмическую энергию. Даже для участия в тренировочном собеседовании нужна большая доза сахара и кофеина. Но надо признать: они слишком предсказуемы.

Существует миллион веб-сайтов для практики алгоритмов, YouTube-каналов для подготовки к собеседованиям и постов в блогах, рассказывающих, как устроиться в Google. Разумеется, подготовка к таким собеседованиям требует времени, но с ними вполне можно справиться.

Самое важное для прохождения собеседования на должность сениор-разработчика — понять, что такая же стратегия не подойдёт для него.
Читать дальше →

Хостинг блога на GPS/LTE-модеме

Reading time4 min
Views9.4K
image

GPS/WWAN/LTE-модем телефона PinePhone


В процессе разработки ПО на PinePhone я наткнулся на любопытное сообщение в dmesg:

[   25.476857] modem-power serial1-0: ADB KEY is '41618099' (you can use it to unlock ADB access to the modem)

Для контекста скажу, что в PinePhone есть модем Quectel EG25-G, отвечающий за GPS и беспроводную связь PinePhone. Это оборудование — один из немногих компонентов телефона с закрытыми исходниками.

Когда я увидел это сообщение и упоминание ADB, я сразу же подумал об Android Debug Bridge, то есть о ПО, стандартно используемое для общения с Android-устройствами. Я подумал: «Разумеется, это не может быть тот самый ADB». Ну, оказалось, что так оно и есть.
Читать дальше →

Мобильные приложения перестали быть подходящей идеей для стартапов

Reading time7 min
Views27K
image

В феврале 2009 года СМИ по всему миру начали рассказывать о «вундеркинде» — девятилетнем сингапурском мальчике по имени Лим Динг Вен, ставшем самым юным разработчиком приложений для iPhone.

Он создал приложение Doodle Kids, позволяющее рисовать пальцами на экране iPhone. За две недели его скачали более четырёх тысяч раз.

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

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

Однако он считает, что «рынок приложений для мобильных телефонов пересыщен» и что он пробует себя в других проектах с использованием новых языков и программированием интегральных схем.
Читать дальше →

Четыре ошибки программистов, которые я осознал, только когда стал CTO

Reading time5 min
Views46K
image

Я работал программистом более пяти лет. Не особо впечатляет, ведь кто-то из вас, вероятно, имеет в три раза больший опыт, но мне нравилось думать о себе как о сениор-разработчике. Звучит серьёзно и солидно, правда?

Однажды мне предложили стать Chief Technology Officer (CTO) в медтех-стартапе. Поработав некоторое время на этой новой должности, я могу обернуться назад и сказать, что не был сениор-разработчиком. Не поймите меня неправильно — я по-прежнему считаю, что обладаю отличными знаниями программирования, особенно веб-разработки; но если это так, почему я не думаю, что был сениором?

Всё это из-за четырёх заблуждений, которые у меня были.
Читать дальше →

Я научился кодить в основном благодаря порно

Reading time4 min
Views31K
image

… и оно научило меня довольно полезным навыкам.

До сих пор помню первую строку кода, которую мне довелось изменить: я увеличил единственное значение integer, чтобы сделать больше диаметр взрывов в игре Clonk Rage. Я ценю этот момент, потому что тогда я впервые взглянул внутрь программы.

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

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

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

Я использовал этот инструмент для автоматизации раздражающего процесса публикации постов из моего tumblr-блога про порно на сайт под названием sex.com (его в то время рекламировали как «Pinterest» для порно). Со временем этот блог вырос в целую сеть блогов, курирующих нишевый контент и позволявший мне оплачивать аренду жилья.
Читать дальше →

Information

Rating
Does not participate
Location
Meppel, Drenthe, Нидерланды
Registered
Activity