Search
Write a publication
Pull to refresh
-17
0

Системный архитектор

Send message

Почему современные 50-миллиметровые объективы настолько сложно устроены?

Reading time5 min
Views42K

Объективы наподобие Nikon Z 50mm F1.2 S больше, тяжелее, дороже и сложнее, чем старые объективы F1.2. Но почему?

Для начала немного истории оптики


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

С конца 19-го века двойной объектив Гаусса был основной конструкцией объективов с постоянным фокусным расстоянием и большой светосилой. В течение многих лет конструкторы добавляли новые группы для получения большего количества света, коррекции аберраций и совершенствования объективов в целом. Но вплоть до современности фундаментом для объективов с постоянным фокусным расстоянием оставался «двойной Гаусс». Вспомните любой известный объектив с постоянным фокусным расстоянием, и он скорее всего будет изготовлен по схеме «двойного Гаусса»: Speed Panchro, Planar, Xenon, Summicron, Takumar, Ultron, и так далее.
Читать дальше →

Ход конём: как сделать HTTPS reverse proxy для Kafka с помощью Nginx

Reading time3 min
Views11K

Привет, Хабр! Я Алексей Кашавкин, инженер отдела облачных операций в G-Core Labs, последние пять лет занимаюсь администрированием OpenStack. Сегодня расскажу о костыле нестандартном использовании технологий или о том, как посадить брокеры Kafka за Nginx, используя протокол HTTPS. Если у вас почему-то нет другого способа принимать сообщения — эта заметка как раз для вас.

Поехали!

Оно само

Reading time3 min
Views13K

«Оно само!», «Оно само…» - кто так обычно говорит?

Детишки, которые что-то сломали. С нашей, взрослой точки зрения, люди весьма безответственные.

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

А от высоких руководителей вам приходилось слышать «оно само»? Мне приходилось.

Читать далее

Три письма об увольнении: почему люди уходят с любимой работы

Reading time21 min
Views27K


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

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

Я перевел три самых известных «прощальных письма» с Хакерньюс — о расставании с любимой работой из-за совершенно несправедливых превратностей судьбы. Надеюсь, вам понравится это пятничное, немного печальное чтиво о встрече с реальностью на рынке труда в IT.

Я смогла бросить работу в Google — и вы сможете бросить свою


Клэр Шапиро



«У вас, наверное, очень большие яйца, мисс!» — Незнакомец в самолёте

Проработав в Google 7 лет, я покинула Кремниевую долину, чтобы переехать в Бельгию и присоединиться к Совету по инновациям (Board of Innovation). Вопрос номер один, который мне задавали (и до сих пор задают) семья, друзья, незнакомцы и коллеги с обеих сторон: «Почему?»
Читать дальше →

Когда уходят на покой программисты? 35 — это конец карьеры?

Reading time6 min
Views93K
image

Почему мы не наблюдаем вокруг большого количества седоволосых разработчиков ПО? Куда деваются все программисты, когда становятся старше? Увольняют ли компании программистов в возрасте?

Если программист в свои пятьдесят собеседуется на вакансию вместе с людьми, которым 20-30 лет, сколько компаний наймёт его? Об этой проблеме существует множество мифов, как и несколько жестоких истин.

Да, иногда шокирует, что 40-летних, иногда даже 35-летних называют «старыми». Под «старыми» здесь подразумевается то, что программисты на этом этапе планируют уходить на покой или менять место работы.
Читать дальше →

Разработчики встраиваемых систем не умеют программировать

Reading time9 min
Views61K

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

Редко когда речь заходит об обратной проблеме, имеющей место в куда более узких кругах разработчиков встраиваемых систем, включая системы повышенной отказоустойчивости. Есть основания полагать, что ранний опыт использования MCS51/AVR/PIC оказывается настолько психически травмирующим, что многие страдальцы затем продолжают считать байты на протяжении всей карьеры, даже когда объективных причин для этого не осталось. Это, конечно, не относится к случаям, где жёсткие ценовые ограничения задают потолок ресурсов вычислительной платформы (микроконтроллера). Но это справедливо в случаях, где цена вычислительной платформы в серии незначительна по сравнению со стоимостью изделия в целом и стоимостью разработки и верификации его нетривиального ПО, как это бывает на транспорте и сложной промышленной автоматизации. Именно о последней категории систем этот пост.

Читать далее

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

Reading time8 min
Views74K

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

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

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

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

Как Unix-way убивает десктопный Linux

Reading time28 min
Views95K

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

Как выглядит захват рынка конкурентоспособным продуктом, можно видеть на примере, например, Chrome: за 10 лет рост на 70%. Или Android: за 5 лет рост на 75%. А вот у Linux рост пол-процента в год, несмотря на то, что он, например, лучший из существующих вариантов для использования в качестве национальных/государственных ОС.

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

Причины этой ситуации, как ни странно, те же, что сыграли роль в популярности Linux на серверах: unix-way, "Философия Unix": "Пишите программы, которые делают что-то одно, и делают это хорошо, и имеют возможность получать и принимать данные через текстовый интерфейс (потому что он универсален)".

Там огромный лонгрид, я предупредил

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

Reading time7 min
Views48K

© dilbert

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

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

Неожиданная сложность простых программ

Reading time7 min
Views14K
Не раз я сталкивался с удивлением при оглашении оценки сложности проекта: «А почему так долго?», «Да тут же раз, два и готово!», «Можно же просто взять X и сунуть в Y!». Программисты привыкли оценивать сроки как время на написание и отладку кода, хотя в крупные задачи входит ещё много всего.


Знаете ли вы, что в реальности айсберги располагаются в воде горизонтально, а не вертикально, как на большинстве стоковых картинок?

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

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

Читать дальше →

4 года в Нидерландах

Reading time14 min
Views40K

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

А еще тут много про деньги.

Читать далее

Что я не знал про образование

Reading time14 min
Views107K


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

Она не учит детей методам решения задачи, она учит их сначала найти саму задачу, потом прикинуть спектр вариантов подхода, а уже потом — как конкретно получить ответ.

Она относится к детям как ко взрослым во многих аспектах.

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

Она разрешает готовить шпаргалки и списывать. Разрешает детям «выпихивать» на ответ того, кто выучил тему. Использует понятную детям игрофикацию для мотивации.

В общем, всё настолько пропитано здравым смыслом, что просто не может и не должно происходить в школе. В чёртовой школе!
Читать дальше →

Современный подход к работе с куки

Reading time4 min
Views28K
Вы когда-нибудь работали с куки? Казалось ли вам при этом, что их использование организовано просто и понятно? Полагаю, что в работе с куки есть множество нюансов, о которых стоит знать новичкам.


Читать дальше →

Как меня чуть не уволили из-за токсичного поведения и что было дальше

Reading time4 min
Views109K

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

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

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

Читать далее

«Почему Kotlin хуже, чем Java?»

Reading time6 min
Views77K

Такой провокационный вопрос задал реддитор nenemen в сабреддите Java:

«Я думаю о том, чтобы свой следующий проект сделать на Kotlin + Spring Boot, но мощь всенародной любви к Kotlin и одновременно ненависти к Java заставляют всё это походить на какой-то культ. Поэтому хотел бы услышать аргументы «против».

Мы в FunCorp в своё время сделали именно такой выбор в пользу Kotlin. И сегодня соотношение Java/Kotlin у нас составляет примерно 20 на 80, продолжая уменьшаться при каждом удобном случае. Поэтому ответы на этот вопрос меня заинтересовали, и я стал листать секцию комментариев. Там наткнулся на реплику реддитора rzwitserloot, которая мне показалась настолько взвешенной, многосторонней и рациональной, что я захотел поделиться ей с нашей командой, а заодно и читателями Хабра.

Далее перевод его аргументов.

Читать далее

Как разработчику договариваться о зарплате при поиске работы за границей

Reading time4 min
Views11K


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

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

Зарплатная вилка


Средняя зарплата разработчиков и инженеров-программистов варьируется в разных странах мира. Например, по данным PayScale, разработчики в Швейцарии зарабатывают 95 тысяч долларов. В Германии этот показатель составляет $60 тыс., в Норвегии — $64 тыс., в Дании — $72 тыс. В США разработчик в среднем зарабатывает $110 тыс. в год, в Израиле и Великобритании — $93 тыс. и $89 тыс. соответственно. Подробнее о зарплатах разработчиков в Европе можно почитать здесь.

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

Налоговый вопрос при переезде


Сколько денег останется на руках после уплаты налогов? Как происходит сбор налогов? Будет ли работодатель платить от вашего имени или вам придется подавать декларации и перечислять деньги самостоятельно?

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

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

Reading time4 min
Views22K


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

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

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

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

«Последние дни жизни» демотивированного сотрудника

Reading time8 min
Views46K

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

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

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

Читать далее

Помогите Снежинке стать программистом

Reading time3 min
Views37K

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

Итак, Снежинка хочет стать программистом. Теперь несколько деталей.

Читать далее

Что такое компьютерный зрительный синдром и как от него защититься?

Reading time11 min
Views31K


Головные боли, ощущение рези в глазах, словно под веки кто-то насыпал песка, застилающая взор пелена — все эти симптомы отлично знакомы каждому, кто вынужден проводить за экраном компьютера по несколько часов к ряду. Большинство людей относится к проявлениям компьютерного зрительного синдрома как к чему-то само собой разумеющемуся, и совершенно напрасно, ведь запущенный КЗС способен обернуться серьезными осложнениями в будущем. Как же предотвратить их появление и навсегда избавиться от столь неприятного недуга? Попробуем разобраться.

То, чего не может быть: почему наши глаза не дружат с компьютером?


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

За годы научно-технического прогресса на нашей планете сформировался уникальный объект экосферы — техносфера, частью которой являются персональные компьютеры и многочисленные мобильные гаджеты, которые мы с вами используем каждый день. В полезности этих устройств не приходится сомневаться: каждое из них делает нашу жизнь лучше, помогая решать огромное количество разнообразных задач. Вот только наше с вами тело попросту не успевает подстраиваться под стремительно меняющиеся правила игры.
Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity