Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Каково это — быть разработчиком, когда тебе сорок

Время на прочтение18 мин
Количество просмотров230K
Примечание от переводчика:

Этот пост был написан и опубликован на Medium разработчиком приложений Адрианом Космачевским из Швейцарии. Кроме подготовки перевода его публикации, я также пригласил и самого автора, Адриана ( akosma ), на Хабр, для того, чтобы он смог лично ответить на любые вопросы участников сообщества, если таковые возникнут. Думаю, для общего удобства при общении в комментариях с ним стоит использовать английский (и, при желании, дублировать на русском).



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

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

image

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

Я дебютировал в роли разработчика программного обеспечения в 10 часов утра 6 октября 1997 года, в городе Оливос, к северу от Буэнос-Айреса, в Аргентине. Был понедельник. Не так давно я праздновал свой 24-й день рождения.

Мир в 1997 году


Тогда он был немного другим. На веб-сайтах не было предупреждений об использовании cookie. Новаторскими в сети были сайты вида Excite.com, а моим любимым поисковиком был AltaVista.

Мой электронный ящик имел вид kosmacze@sc2a.unige.ch и был расположен на личном веб-сайте, который размещался по адресу http://sc2a.unige.ch/~kosmacze. Тогда мы еще оплакивали принцессу Диану, а Стив Джобс только-только вернулся на роль CEO и убедил Microsoft «вбросить» в Apple Computer 150 миллионов долларов. Digital Equipment Corporation подала в суд на Dell, останки Че Гевары вернули на Кубу, только начался четвертый (!) сезон «Друзей». Был убит Джанни Версаче, скончались Мать Тереза, Рой Лихтенштейн и Жанна Кальман. Люди зависали за Final Fantasy 7 на PlayStation, будто бы были наркоманами, Би-Би-2 начал вещание телепузиков, а Кэмерон только собирался показать миру свой «Титаник».
Читать дальше →

Роботизированное щупальце с множеством степеней свободы

Время на прочтение2 мин
Количество просмотров83K
Зачастую, при создании манипуляторов для роботов учитывается не только количество степеней свободы и крепость захвата, но и способность работать с мягкими предметами не повреждая их. Новый пневматический пластиковый манипулятор-щупальце, созданный учеными из Гарвардской школы инжиниринга и прикладных наук (США), не только удовлетворяет этим требованиям, но оказался значительно дешевле и универсальнее существующих аналогов. Кроме того, он настолько деликатный, что способен оперировать таким нежным объектом как цветок без нанесения ему малейших повреждений.
image
Читать дальше →

Устройство интернетов

Время на прочтение8 мин
Количество просмотров19K


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

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

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

Энергонезависимое решение

Время на прочтение10 мин
Количество просмотров123K


Понедельник. Постановка задачи


Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.
Читать дальше →

Брюс Шнайер: Иллюзия безопасности

Время на прочтение12 мин
Количество просмотров45K
image
Брюс Шнайер не нуждается в представлениях. На Хабрахабре можно найти много статей, касающихся деятельности этого «гуру криптографии». Под катом — текстовая расшифровка видеолекции Брюса Шнайера «The security mirage» («Иллюзия безопасности»).
Эта лекция доступна на YouTube, на Amara её можно посмотреть с субтитрами на 28-ми языках (включая русский). Что же заставило меня отнимать твоё время, хабрачитатель?
Ну и что же там?

Доклад о вреде копирайта был удалён с сайта одного из комитетов конгресса США через день после публикации

Время на прочтение4 мин
Количество просмотров127K
В пятницу, 16 ноября на сайте Republican Study Committee — организации, объединяющей более 170 членов палаты представителей США от республиканской партии, появился интереснейший документ. Под этим 9-страничным докладом не постеснялись бы подписаться многие активисты пиратских партий по всему миру. Не прошло и суток, как этот доклад убрали с сайта под предлогом того, что он не прошёл всех согласований и вообще не соответствует стандартам RSC. Что же было в этом, столь поспешно спрятанном документе?
Читать дальше →

Учим старый-добрый CRTP новым трюкам

Время на прочтение4 мин
Количество просмотров2.4K
Иногда мы делаем вещи, ценность которых является весьма сомнительной. Это как раз тот самый случай.

Код лучше тысячи слов


Не буду тянуть кота за хвост, а перейду сразу к делу. Обычно мы используем CRTP примерно так:
template<typename type, typename tag>
struct Base
{};
 
template<typename type, typename tag>
void f(const Base<type, tag>&)
{}
 
struct Foo : Base<Foo, void>
{};
 
int main()
{
  Foo foo;
  f(foo); 
}

Функции f() на самом деле всё равно, какой тэг у её аргумента, и она принимает объект любого типа, унаследованого от Base. Но не будет ли более удобным, если мы просто опустим не интересующий нас тэг? Зацените:
template<typename t>
struct base_tag { typedef decltype(get_tag((t*)42)) type; };
 
template<typename type,
         typename tag = typename base_tag<type>::type>
struct Base
{
  friend tag get_tag(type*);  //never defined
};
 
template<typename type>
void f(const Base<type>&)
{}
 
struct Foo : Base<Foo, void>
{};
 
int main()
{
  Foo foo;
  f(foo);
}

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

Плакаты на IT тематику

Время на прочтение1 мин
Количество просмотров29K
Почитывая «Банду четырех», всё чаще думаю как хорошо было бы иметь отдельный плакат на стену в офисе, резюмирующий и объясняющий шаблоны проектирования. Как здорово было бы не держать все их в голове, а имея проблему, взглянуть и найти подходящее решение. Но найти подходящий постер оказалось не так то просто, да и тот оказался не идеальным.
Читать дальше →

Вива Франция! «Закон о недоступных книгах ХХ века»

Время на прочтение1 мин
Количество просмотров2.3K
Согласно принятому в марте 2012 г. Национальным собранием и одобренному Сенатом закону «Закон о недоступных книгах ХХ века» («La loi sur les livres indisponibles du XXème siècle») французское государство решило приступить к оцифровке сотен тысяч книг французских писателей, не спрашивая на то их разрешения. В первую очередь будут оцифровываться книги изданные до начала XX века.

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

Механические клавиатуры

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

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

Итак, некоторое время назад я озаботился сбором информации о клавиатурах, и даже начал готовить информацию для статьи, но к сожалению (к счастью?) нашлась исчерпывающая статья о всех нюансах сразу, которую я решил перевести.

Механические клавиатуры. Путеводитель.

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

Почему я не стану вас нанимать

Время на прочтение5 мин
Количество просмотров43K
image

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

Ричард Фейнман: удовольствие делать открытия

Время на прочтение1 мин
Количество просмотров12K


Первая часть программы Horizon (BBC, 1981) с Ричардом Фейнманом. О красоте, об отце, о названиях и именах, об алгебре, о наблюдениях и униформе. Это интервью во многом пересекается с книгой "Вы, конечно, шутите, мистер Фейнман", поэтому по большей части монолог касается жизни ученого, его взгляде на жизнь и тому, как такой взгляд развился и кто на него повлиял.
Читать дальше →

Канцерогенные излучения. Скандалы, интриги, расследования!

Время на прочтение4 мин
Количество просмотров6.8K
На днях пришлось мне разослать по всей компании письмо. Думаю, что у каждого админа были, есть и будут на обслуживании идиоты, расставляющие кактусы вокруг монитора и одевающие «антикомпьютерные очки».
Для таких индивидуумов и было написано письмо. Остальные просто посмеялись.

Текст письма под катом.
Читать дальше →

Кадры решают всё или о биче современных компаний

Время на прочтение18 мин
Количество просмотров133K
image
Хотелось бы немного рассказать о тех ошибках, которые очень опасно совершать особенно сейчас, особенно в странах или городах золотого миллиарда. Думаю каждый работающий или сталкивающийся с деятельностью большой или не очень компании (или гос структуры) как и я удивляется на сколько же всё не эффективно и поражается как при таком раздолбайстве и пофигизме шестерёнок машина всё еще работает.
Читать дальше →

Крутейший конкурс со смешной премией

Время на прочтение1 мин
Количество просмотров34K
Министерство обороны проводит “Всероссийский конкурс научно-исследовательских работ среди граждан Российской Федерации в интересах Вооруженных Сил Российской Федерации”.

Для Хабра интерес представляют “Темы научно-исследовательских работ”, где представлено много действительно интереснейших направлений по IT-тематике.

Условия проведения конкурса для физических лиц и юридических.

Конкурс проводится на основе приказа уважаемого Министра обороны Сердюкова.

Самое интересное как всегда в приложении к приказу — документе Word.
Призовой фонд конкурса составляют три денежных премии:
– первая премия в размере 40 000 рублей;
– вторая премия в размере 25 000 рублей;
– третья премия в размере 15 000 рублей.
Для поощрения работ, не занявших призовые места, но отмеченных конкурсной комиссией как наиболее перспективные, дополнительно вводятся две специальные премии по 10 000 рублей каждая.

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

Жизнь разработчика (в картинках)

Время на прочтение1 мин
Количество просмотров67K
Взято отсюда специально для хабра. Возможно, в некоторых из ситуаций вы узнаете себя.

Когда я показываю босу, что окончательно пофиксил баг



Когда проджект-менеджер входит в офис



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

Создание API: в рамку и на стену

Время на прочтение5 мин
Количество просмотров57K
Каждый программист — проектировщик API. Хорошие программы состоят из модулей, а протокол взаимодействия модулей — это тоже API. Хорошие модули используются повторно.

API — это большая сила и большая ответственность. У хорошего API будут благодарные пользователи; поддержка плохого превратится в кошмар.

Публичный API — не воробей, опубликуешь — не уберешь. Есть только одна попытка сделать все правильно, поэтому постарайся.

API должно быть легко использовать, но сложно использовать неправильно. Сделать что-то простое с помощью такого API должно быть просто; сложное — возможно; сделать что-то неправильно должно быть невозможно, или, по крайней мере, трудно.

API должен описывать сам себя. Изучение кода на таком API не вызывает желания читать комментарии. Вообще, комментарии редко нужны.

Перед разработкой API собери требования с долей здорового скептицизма. Осознай общие задачи и реши их.

Оформляй требования как шаблоны использования API. Сверяйся с ними в процессе проектирования.
Читать дальше →

Что же там такого тяжелого в обработке исключений C++?

Время на прочтение12 мин
Количество просмотров72K
image
Исключения и связанная с ними раскрутка стека – одна из самых приятных методик в C++. Обработка исключений интуитивно понятно согласуется с блочной структурой программы. Внешне, обработка исключений представляется очень логичной и естественной.

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

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

CBOR — новый бинарный формат представления данных

Время на прочтение9 мин
Количество просмотров64K
Concise Binary Object Representation (сжатое бинарное представление объекта) — формат данных, который был спроектирован таким образом, чтобы обеспечить максимально простой код реализации, формирования компактных выходных данных и возможность расширения формата без необходимости обмена информацией о версии.

Стандарт формата CBOR был официально анонсирован комитетом IETF в октябре 2013 года в новом документе RFC 7049, авторами которого являются Carsten Bormann и Paul Hoffman. Взглянув на имя первого автора, можно предположить другую причину происхождения аббревиатуры для названия формата, но возможно это просто совпадение. Формат CBOR получил MIME-тип application/cbor.

На данный момент существует, вероятно, сотни всевозможных бинарных форматов для представления структурированных данных, ряд которых стандартизирован, популярен и широко применяется (например, BER и DER для ASN.1, MessagePack и BSON). Все существующие стандарты решают поставленные перед ними задачи, и CBOR здесь не исключение. К формату было предъявлено семь важных требований, и, поскольку ни один из существующих форматов в полной мере не мог им удовлетворить, был создан новый (да, тут напрашивается картинка ).

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

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность