Build Flavors — технология, позволяющая собирать несколько вариантов приложения с общей кодовой базой и общими ресурсами.
Причина появления статьи — запутанность и излишняя сложность для такой простой темы официальной документации. В короткий пост моего канала об Android-разработке оно не влезло, поэтому почти полноценная статья.
User
Как я произвел 200 тандыров и 13,5 млн убытков
В 2021-м я решил замахнуться на собственное производство тандыров. Мы хотели сделать премиальный продукт, мой партнер любит BMW, и говорил:
.kkrieger — маленькое чудо большой демосцены
Демосцена полна необычными проектами. Однако лишь единицы из них становятся широко известны. Но, пожалуй, самой популярной технодемкой стала .kkrieger — игра в жанре шутера от первого лица с качественной (для 2004 года, когда она была выпущена) графикой, занимающая всего 96 килобайт!
На этом необычные факты не заканчиваются — начиная с сегодняшнего дня вы можете скачать архив с .kkrieger по ссылке, которая транслируется со спутника-сервера RUVDS прямо из космоса! ?? Получить её можно на специальном лендинге.
Мои советы после 20 лет в программировании
Сегодня ровно 20 лет, как я начал программировать профессионально. За эти годы я:
• Получил одобрение на петицию по грин‑карте за выдающиеся способности в науке.
• Стал Google Developer Expert.
• Стал IEEE Senior Member.
• Был операционным директором в компании со 100 сотрудниками.
• Написал код, который скачали 135 миллионов раз.
• Выступал перед аудиторией в 2000 человек, дважды.
• Стал самым честным человеком в России по версии НТВ.
Но упустил я гораздо больше и делал всё это слишком долго. Думаю, этот путь можно было бы пройти «на скорость» лет за 5 с теми подходами, принципами и приоритетами, которым я научился. Если вы только начинаете свой путь, этот текст может сэкономить вам 15 лет жизни.
Как я чуть не стал миллионером, продавая воздух, или почему Россия – не Америка
Все знают, что Россия — энергетическая сверхдержава, она же – «разорванная в клочья Обамой бензоколонка». Но не все знают, как это может отражаться в области развития математического моделирования. Расскажу одну жизненную историю.
Начну с далекого 2007 года. Довелось мне в те времена поработать на крупном заводе, который «эффективные менеджеры» как раз делили на несколько отдельных предприятий, каждое из которых крутилось, как могло. В том цеху, который и стал одним из таких предприятий, на токарных станках могла крутиться (и крутилась!) металлическая болванка размером с автобус. А в печку для нагрева металла можно было затолкать паровоз. Целиком. Когда я в первый раз увидел токарный станок, на котором крутится и обтачивается деталь размером с автобус, моему восторгу не было предела. Гордость за страну переполняла до состояния «в зобу дыханье сперло». А потом старожилы показали ту часть цеха, где стояли фундаменты таких же станков и пояснили:
- А вот тут были станки для точной обработки. Их продали китайцам по цене металлолома.
- А почему вот другие не продали?
- Потому, что у них точность обработки такая, что их только в металлолом можно сдать. Поэтому они здесь работают и крутятся как могут, и обтачивают валы турбин Siemiens.
Схема бизнеса был гениальна: Siemiens привозил на завод многотонные болванки, их неделями и месяцами обтачивали до состояния заготовок и увозили для чистовой обработки в Германию. Где уже выполняли чистовую доводку на точных и дорогих станках. Главные затраты при черновой обработке – это износ станков и инструмента, зарплата токаря и электроэнергия, необходимая для вращения тонн металла. Поскольку электроэнергия в РФ дешевле немецкой, недели обработки болванок с лихвой окупают транспортировку, а низкая точность обработки не требует дорогого обслуживания и мало чувствительна к износу еще советского оборудования. В итоге весь бизнес заключался в «перепродаже» дешевой электроэнергии из РФ в Германию, но в виде металлических обточенных болванок.
Моя любимая задачка по программированию для кодинг-интервью
За время работы в Google я провёл более двух сотен интервью. И главное, что я вынес из этой работы — проводить качественные собеседования очень непросто. Все дело в сигналах, которые мы посылаем и получаем. И у интервьюера, и у самого кандидата есть меньше часа, чтобы выложиться на полную. Порой, по разным причинам, мы получаем друг от друга ложные или неточные сигналы. Такова уж человеческая природа.
С годами я выработал вопрос по кодингу, который мне самому очень нравится. Это до жути простой и в то же время заковыристый вопрос. Решение занимает не более 30 строк кода, но зато даёт мне все нужные сигналы для вынесения верной оценки кандидату. Кроме того, мой вопрос отлично масштабируется и подходит как стажёрам, так и опытным инженерам. Здесь я не стремлюсь доказать, что мой вопрос лучше какого-то другого. Я лишь хочу объяснить, как он помогает мне как интервьюеру и на что я обращаю внимание на собеседовании по программированию.
В этой статье будут вещи, с которыми вы можете не согласиться. Это нормально. Это просто моё мнение, а так как я уже вышел на пенсию, то больше не представляю опасности ни для интервьюеров, ни для инженеров Google при принятии решений о найме! ;-)
Как научиться ценить себя. И почему для этого надо перестать обесценивать других?
Парадокс, но умные и талантливые люди, если они критически относятся к окружающим, редко добиваются успеха и редко бывают счастливы. Почему так происходит, какую роль в этом играет обесценивание и как это исправить.
Почему я не доверяю врачам
«Не читайте интернет, не занимайтесь самолечением» — слышу я от врачей, и это приводит меня в бешенство. Если бы я этим не занимался, то был бы сейчас хромым, слепым и глухим «овощем» с больными почками.
Я просто опишу несколько случаев, и станет ясно, «почему».
Случай 1. В детстве у меня был обширный ожог на груди от кипящей воды. Мать хотела улучшить мою внешность — уменьшить размер шрамов. Мы пошли с ней к доктору (мне было 6 лет), он вырезал мне большой кусок кожи, от правого плеча до локтя левой руки, а оставшуюся кожу стянул и сшил. Всю жизнь я ходил с этим шрамом от скальпеля, который был ужасно жестким. Для рассасывания шрама мне кололи лидазу, но это не помогло. В результате вместо мягкого шрама от ожога я получил очень жесткий шрам от скальпеля, сейчас он имеет длину в полметра, стянул мои плечи и перекосил положение грудных сосков. В 45 лет этот шрам превратился во что‑то типа кости. Эта «кость» прорвала кожу, вылезла наружу и мне пришлось делать операцию по удалению «кости» с помощью лазера. Та часть шрама от ожога, которая не была тронута скальпелем, осталась мягкой и никогда мне не мешала. Я не знаю, но думаю, моя мать много заплатила хирургу, чтобы он сделал лучше. Это было в 1960 году, прошло только 15 лет после войны, было ведь много раненых и обожженных. Неужели хирург не знал, что получится в результате?
Что я могу думать о врачах после этого? Они лечат или калечат?
Случай 2. В 19 лет у меня появились боли в области сердца, несколько лет не мог спать на левом боку. Пошел к терапевту, сняли ЭКГ — ничего не нашли. При описании жалобы я говорил: «странно, но у меня эти боли проходят после того, как позанимаюсь с гирей». Терапевт и кардиолог, снимавший ЭКГ, посмеялись и отпустили меня ни с чем.
Присасывание кораблей друг к другу при обгоне на параллельных курсах
Версия без уравнения Бернулли.
История с «феноменом» присасывания судов друг другу при обгоне на малых расстояниях началась в далёком 1911 году, когда столкнулись гигантский суперлайнер того времени «Олимпик» (старший брат «Титаника») и крейсер ВМС Британии «Хоук».
Действия происходили так:
Крейсер "Хоук" шел попутным курсом на расстоянии около 3,5 миль (6,5 км) от «Олимпика».
Через какое то время, крейсер нагнал «Олимпик», и они пошли почти параллельными курсами, под небольшим углом друг к другу, медленно сближаясь. Оба судна шли со скоростью 15 узлов (около 28 км/час).
Потом произошло нечто необъяснимое: Внезапно крейсер «Хоук» резко вильнул влево и, как писали многочисленные газеты, буквально «бросился» на «Олимпик».
Лезем в сорцы компилятора — как работает goscheduler (Часть I)
Каждый раз, когда я открываю новую книжку о golang, обязательно лезу в главу о горутинах и в очередной раз читаю, как беспощадно прекрасен голанг. Подумать только, вместо того, чтобы создавать потоки для обработки параллельно выполняемых задач, мы будем пользоваться внутренними инструментами языка!
Всё это замечательно, и большинство книг и курсов по golang приводят множество примеров того, насколько быстр го и как он запросто может справиться с бесконечным количеством задач. К сожалению, все эти книги не рассказывают, что же происходит под капотом голанга. Что же, давайте откроем сорцы суслика и посмотрим, что там внутри.
Я бы пересмотрел вообще всё
В программировании нет вообще никаких непреложных истин. Даже самые очевидные правила могут иметь контекст, в которых их применять нельзя. К сожалению в 99% организаций есть прям заповеди, обязательные к исполнению. И есть правила, которые считаются правилами хорошего тона (как не сморкаться в занавеску). Однако всегда бывают ситуации, когда лучше все-таки сморкаться.
Вот примеры.
1) Например, DRY — don’t repeat yourself. Хорошее полезное правило, но его можно довести до маразма. Из того что я встречал на практике: есть два разных по бизнес-смыслу раздела, которые начинались с простого CRUD, и многие части (и фронта и бека) выглядели во многом абсолютно одинаково. Если их объединить с помощью общей высосанной из пальца абстракции и тем самым избавиться от небольшого дублирования кода, то потом (очень скоро) можно будет сойти с ума, потому что эти две вещи скоро разъедутся, обрастая кастомными фичами, и абстракция будет только вредить. Нельзя абстрагировать неабстрагуемое, даже если DRY нарушен.
«[Немного] дублирования обходится гораздо дешевле, чем неправильная абстракция» — Сэнди Мец
Т.е. DRY — хороший принцип, но бывают исключения.
Как новичку разработать опенсорс-библиотеку: опыт фронтенд-разработчика
При разработке собственной опенсорс-библиотеки у многих возникает огромное количество вопросов. Для меня этот опыт также был в новинку — чтобы выпустить свою небольшую библиотеку, я перерыл половину GitHub в поиске наглядного гайда по подготовке репозитория. Поэтому хочу поделиться с вами своим опытом, а также узнать и что-то новое от вас.
Меня зовут Женя, я все еще фронтенд-разработчик в команде Quick Experiments inDrive. В этой статье буду делиться своим выводами, а также прикладывать дополнительные ссылки, чтобы познакомить вас с материалом более подробно.
Абсолютно бесплатный VPN с бесплатного VPS
Думаю про VPN слышали все, и многим приходилось им пользоваться. При этом использование готового VPN, которым руководит какой - то неизвестный человек, не является хорошей идей. Тем более в России на данный момент пытаются блокировать, как сами VPN провайдеры (Windscribe, Proton и другие известные сервисы), так и сами протоколы.
Микросервисы — отчуждение от результатов труда
Поветрия
Я наблюдаю за развитием IT в течение приблизительно четверти века, и с каждым днём меня всё сильнее удручает происходящее.
Постоянно мы слышим, что какой-нибудь паттерн или язык становится всё более модным, а что-то, напротив, — уходит в историю. А ещё различные поветрия о "хорошо или плохо" будто волнами перекатываются через это вот всё.
Кто-нибудь скажет, что это — естественный ход событий — просто одна технология заменяет другую. И он будет прав и неправ одновременно.
Увы, новые вещи (коих не так чтобы вообще есть) всё чаще приносят с собой и очевидно деструктивные, будто навязываемые извне, паттерны.
В прошлом частота таких деструкций была невысокой, но выглядит так, что она нарастает по экспоненциальной кривой.
В этой статье я хотел бы поговорить о причинах происходящего.
Разбираемся в необычной проблеме с WiFi
Что?
В конце прошлого года я начал сталкиваться с необычными периодически возникающими проблемами подключения на десктопе. В целом, подключение было стабильным и со средними задержками; однако во (вроде бы) случайные моменты времени на протяжении недели через каждые пару секунд возникали резкие пики задержек в две с лишним тысячи миллисекунд.
Из-за этого было невозможно пользоваться всем ПО для аудио-/видеозвонков и играть в большинство онлайн-игр.
Эта проблема возникла примерно во время моего переезда через всю страну из штата Вашингтон в Южную Каролину, поэтому было слишком много факторов, чтобы с лёгкостью выявить источник. Однако в основном проблема влияла только на игры и аудио-/видеозвонки, поэтому я особо не обращал на неё внимания.
На протяжении последней пары месяцев я постепенно пытался разобраться, что происходит, но до сегодняшнего дня мне этого сделать не удавалось.
Если мошенники украли деньги с банковской карты — не спешите в полицию
Мне давно надоели эти банки, но инфопространство постоянно забито историями, как мошенники в очередной раз украли деньги, причём даже без социальной инженерии.
Народ жалуется на Tinkoff, Альфа-банк и прочие банки, на операторов сотовой связи. Портал banki.ru ввёл драконовские правила, что у него решения судов без оценок в народном рейтинге, на форуме нельзя написать, что itsoft выиграл дело у ВТБ — это реклама itsoft видите ли, то есть видно надо писать одна компания, но не скажем какая выиграла суд у ВТБ.
В статье “Банки не хотят внедрять многофакторную авторизацию и покончить с мошенничеством” есть простые рецепты, которые бы исключили случаи мошенничества хотя бы для тех, кто не разговаривает с мошенниками и не сообщает им коды. Народ хочет аппаратные токены, а банки не дают.
К написанию данной статьи меня ещё подвиг наш конфликт с хостером Leaseweb. 7 лет мы платили одну цену в месяц за аренду серверов там. А потом она внезапно выросла в 70 раз. Leaseweb решил, что за действия злоумышленников деньги надо списать с нашей корпоративной карты.
Банки и корпорации разрабатывают свои договоры и внутренние инструкции таким образом, чтобы не иметь никакой ответственности перед клиентом, а клиента ободрать до нитки за действия третьих лиц, даже если закон прямо говорит, что банк обязан вернуть клиенту деньги.
Самый полный чек-лист для защиты от мошенников
Несколько месяцев я изучал тему интернет мошенничества с целью собрать наиболее полный список действий, которые обезопасили бы меня от жуликов и их махинаций. Итогом изучения стал чек-лист, которым хочу поделиться со всеми. Его цель - сделать взлом цифровых активов сложным и бессмысленным.
13 заметок о 3D-печати, после 3 лет владения 3D-принтером
Эта статья будет, прежде всего, интересна как тем, кто сталкивался непосредственно с 3D печатью, то есть является владельцем 3D-принтера, но также и тем, кто только собирается влиться в ряды 3D-печатников и раздумывает о покупке своего принтера.
В рамках этой статьи я хочу изложить свои наблюдения, как непосредственного владельца 3D-принтера, в течение более чем 3 лет.
На заре вычислительной техники, часть 1
Предисловие
В моей предыдущей статье на тему истории вычислительной техники речь шла о цифровых устройствах. К ним мы еще вернемся, а сегодня разговор пойдет про принципиально иной способ считать вычислять, а именно про аналоговые вычислительные машины (АВМ), т.е. вычислительную технику, которая оперирует напрямую аналоговым представлением данных. Оговоримся сразу, что задача данной статьи — не каталогизация всяких латунных механизмов, а рассмотрение развития принципов построения аналоговой вычислительной техники, так что некоторые устройства могут быть намеренно забыты.
Насколько быстры компьютеры
Время для компьютеров течет не так, как для людей. То, что человеческим мозгом воспринимается как мгновение, для компьютеров растягивается на долгие эпохи. Данная статья — это метафора, в попытке осознать это простой и в общем-то очевидный факт.
Information
- Rating
- Does not participate
- Registered
- Activity