20.06.2019

Что преодолевал ледокол ермак 3. «Ермак»: первый арктический ледокол. PRoAtom - История мирового ледоколостроения


Тэш Постоловски «40 Side Project Ideas for Software Engineers».

Один из главных способов развития навыков и повышения своих шансов устроиться на работу программным инженером это работа над сторонними проектами. Проекты могут быть самыми разными: от проектов с открытым исходным кодом, вспомогательных инструментов и сценариев до интересных игрушек.

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

По моему опыту, это случается когда мы подсознательно искусственным образом себя ограничиваем. Например, мы можем намеренно ограничивать виды проектов, которые воспринимаем как “стоящие”.

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

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

Сторонние проекты, связанные с информатикой

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

  1. FTP клиент (предлагаемая реализация: web, CLI или десктопное приложение). Постройте простой FTP-клиент. В качестве дополнительной задачи сделайте поддержку безопасной передачи файлов (secure file transfer).
  2. HTTP-сервер (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать). Для глубокого понимания HTTP постройте HTTP-сервер. Есть много доступных руководств , которые могут помочь вам в этом процессе.
  3. Постройте простую операционную систему (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать). Это технически сложный проект, который поможет углубить ваше понимание работы компьютера и операционных систем. Возможно, вы захотите начать с бесплатной книги с интересным названием: «Operating Systems: From 0 to 1 ».
  4. Постройте веб-скрапер (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать). Создайте инструмент, принимающий URL в качестве input и возвращающий контент в виде HTML или XML.
  5. Bandwidth monitor (предлагаемая реализация: инструмент обновления CLI в реальном времени). Создайте инструмент для отслеживания количества скачиваемых и загружаемых в интернет данных. Пускай ежемесячно присылает вам отчет на email. Для дополнительной нагрузки – прогноз пикового времени использования.
  6. Осуществление шифрования (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать). Создайте инструмент, принимающий текстовую строку в качестве input и зашифровывающий ее, например, с помощью шифра Цезаря .
  7. Создайте downtime-сигнализатор (предлагаемая реализация: приложение, подключенное к Twilio API для отправки текстовых сообщений). Создайте приложение, принимающее URL как input и отсылающее вам текстовое сообщение, когда запрос к URL возвращает другой код ответа, чем 200 (OK).

Сторонние проекты, связанные с личными финансами

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

  1. Калькулятор прибыли и трекер (предлагаемая реализация: CLI, веб или мобильное приложение). Создайте калькулятор, который сможете использовать для отслеживания ежемесячного роста и снижения своих доходов. Вы можете руководствоваться чем-то вроде net worth worksheet от Чральза Шваба. Возможное расширение: пусть он отсылает вам отчет за предыдущие 12 месяцев 01 января каждого года.
  2. П рогноз налогов (предлагаемая реализация: веб-приложение). Это будет особенно полезно, если вы занимаетесь программной инженерией на фрилансе. Создайте инструмент, принимающий в качестве входных данных ваши заработки и выдающий ожидаемую сумму налогов, которую нужно будет уплатить в конце финансового года. Сделайте его достаточно умным, чтобы он мог учитывать периоды большего или меньшего спроса на ваши услуги.
  3. Поиск сделок (предлагаемая реализация: веб-приложение с мобильными уведомлениями). Создайте простое веб-приложение, уведомляющее, когда желанный для вас товар будет выставлен на продажу по хорошей цене. Вы можете использовать веб-скрапер для извлечения страницы продукта и уведомления вас об изменении цены.
  4. Отслеживание расходов (предлагаемая реализация: веб- или мобильное приложение). Создайте простой интерфейс, который вы сможете использовать для добавления и разбивки своих расходов по категориям. Генерируйте ежемесячный отчет, основанный на входящих данных, и напишите пользовательские уведомления вроде «тратишь слишком много на кофе… как всегда».
  5. Калькулятор финансовой независимости (предлагаемая реализация: веб-приложение). По существу, финансовая независимость это как можно большее сохранение и вкладывание доходов (инвестиции), что позволяет не нуждаться в работе для получения денег. Хотя многие финансово независимые люди продолжают работать, они могут позволить себе работать над тем, чем им нравится заниматься, а не тем, за что больше платят. Постройте инструмент для подсчета того, насколько вы далеки от финансовой независимости, основанного на ваших текущих сбережениях, инвестициях, доходах, пенсионных счетах и расходах. Примеры: FIREcalc , cFIREsim .
  6. «Разбиватель» счетов (предлагаемая реализация: мобильное приложение). Постройте простой инструмент, который поможет вам и вашим друзьям делить счет, когда вы вместе обедаете.

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

  1. Генератор случайных имен (предлагаемая реализация: CLI, веб- или мобильное приложение). Постройте генератор случайных имен (пример), создающий уникальные названия на лету, основываясь на алгоритме. Используйте приемы машинного обучения чтобы помочь натренировать программу с примерным набором данных из имен, похожих на те, что вы хотите генерировать. Или создайте собственные лексические правила генерации имен. Например, алгоритм генерации имен, вдохновением для которого послужил «Рассказ служанки », может иметь условие, что имена Служанок должны начинаться с «Оф», а оканчиваться на случайное мужское имя, например, Офпитер.
  2. И гра «Жизнь» (Conway’s Game of Life) (предлагаемая реализация: любая платформа, способная на графический рендеринг в реальном времени). Игра «Жизнь» симулирует жизнь простых клеток, которые подчиняются алгоритмическим законам. Это видео поясняет, как работает игра, и включает пример возможного результата:
  3. Процедурно генерируемый создатель карт (предлагаемая реализация: приложение на основе браузера). Создайте браузерное приложение, позволяющее процедурную генерацию карты местности на основе случайного начального числа. Карта может быть такой простой или сложной, как вы хотите. Этот проект – хорошая возможность изучить процедурную генерацию .
  4. Генератор персонажей (предлагаемая реализация: браузерное, мобильное приложение, CLI). Создайте инструмент, позволяющий случайно генерировать подходящие персонажи для вашей любимой ролевой игры, как настольной (вроде Pathfinder), так и видео-игры (вроде «Divinity: Original Sin»).
  5. Interactive fiction (предлагаемая реализация: CLI). Интересный способ войти в разработку игр без необходимости волноваться о графических ресурсах. Interactive fiction создает мир для игрока с помощью текстовых описаний. Dreamhold – хороший пример Interactive fiction с полезной командой «help».

Сторонние проекты, связанные с искусственным интеллектом

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

  1. Идеальный движок для игры в крестики-нолики (предлагаемая реализация: программа CLI). В качестве прекрасного первого ИИ-проекта попробуйте написать движок, который нельзя победить в игре в крестики-нолики. Вы можете достичь такого результата, реализовав эту стратегию , которая делает ничью худшим исходом игры.
  2. Шахматный движок (предлагаемая реализация: ). Попробуйте написать движок, способный играть в шахматы с человеком, используя GUI, совместимый с Universal Chess Interface , например, Xboard. В качестве примера посмотрите Stockfish . Чтобы упростить задачу вы можете сфокусироваться на поведении только какой-то части, например, коней.
  3. Чат-бот (предлагаемая реализация: веб-приложение). Часть лучших умов человечества сейчас заняты реалистично отвечающими чат-ботами. Это ужасно сложная задача, но если сузить рамки для вашего чат-бота, у вас будет сторонний проект на вечера и выходные. Создайте чат-бот, выдающий реалистично звучащие ответы по теме, которой вы увлекаетесь: ваша любимая музыкальная группа, видеоигра, спортивная команда, ТВ-шоу. Используйте уже существующую библиотеку, такую как ChatterBot .
  4. Определитель спама (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать ). Постройте инструмент для определения, является ли письмо спамом, основываясь только на содержимом. Вы можете воспользоваться этим публичным набором данных из исследования Enron для тестирования вашего определителя спама.

Сторонние проекты, связанные с развлечениями

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

  1. Поиск времени показа фильмов (предлагаемая реализация: веб- или мобильное приложение с смс-уведомлениями или отправкой е-мэйлов). Постройте программу, которая будет уведомлять вас с помощью смс или email о времени показа потенциально интересных для вас фильмов в вашем любимом кинотеатре. Представление об «интересном фильме» может быть получено с помощью машинного обучения (если вы смотрите достаточно фильмов для получения хороших тренировочных данных) или написанного вручную алгоритма. Например, для построения программы, которая будет уведомлять вас о фильмах в жанре научной фантастики с рейтингом IMDB 7.0 и выше, или фильмах с Эми Адамс, фильмах со средним рейтингом 8.0 или выше, можно использовать Open Movie Database API вместе с HTML-парсером вроде BeautifulSoup .
  2. Б локировщик спойлеров (предлагаемая реализация: расширение браузера). В современном мире спойлеры ваших любимых фильмов, особенно таких популярных, как «Игра престолов», могут настигнуть вас повсюду (в социальных сетях/интернете/бачках с питьевой водой). Создайте расширение браузера, удаляющее все упоминания о вашем любимом шоу с загружаемых страниц или заменяющее их картинками с котятами.

З абавные сторонние проекты

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

  1. Pixel art генератор (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать ). Постройте инструмент, принимающий изображение в качестве входящих данных и преобразует его в pixel art на выходе. Если хотите улучшить свои навыки, касающиеся фронтенда, генерируйте конечный pixel art используя CSS.
  2. Инструмент, предлагающий музыку (предлагаемая реализация: постройте враппер для Spotify API). Создайте инструмент, отслеживающий музыку, которую вы слушаете, и генерирующий плейлист сходного качества, но из песен, которые вы прежде не слышали. Spotify API предоставляет все инструменты, необходимые для извлечения данных о прослушанных композициях и для создания плейлиста, а движок рекомендаций – за вами!
  3. Регистратор температуры (предлагаемая реализация: Raspberry Pi, датчик температуры, веб-приложение). Подключите ваш Raspberry Pi к датчику температуры и отсылайте температурные данные из вашего дома на веб-приложение, которое сохранит их в базе данных или обновит CSV-файл. Для получения бонусных очков сделайте еженедельный отчет по температуре, присылаемый вам на email. Другие проекты Raspberry Pi: домашняя автоматизация , домашняя безопасность .
  4. Приложение для «микрообучения» (предлагаемая реализация: мобильное или веб-приложение). Постройте приложение, высылающее вам ежедневно одну страницу по теме, которую вы хотите изучить. Это может быть случайная страница из Википедии, из документации по React, о букве кандзи или страница из CIA World Factbook .
  5. Slack-бот (предлагаемая реализация: Slack API). Если вы или ваша команда используете популярное чат-приложение Slack, постройте бот, облегчающий какие-то аспекты вашей жизни. Идеи: бот заказа кофе, бот, ежедневно докладывающий о числе коммитов, сделанных в репозиториях вашей команды, или напоминалка по какой-то теме.
  6. Обои рабочего стола (предлагаемая реализация: Unsplash API , язык сценариев для вашей ОС). Постройте приложение, которое будет ежедневно обновлять обои вашего рабстола.

З адачи на написание кода

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

  1. Advent of Code (предлагаемая реализация: любой язык программирования, над которым вы хотите поработать ). Задания в Advent of Code появляются ежегодно в преддверии Рождества. Они включают множество занимательных задач, которые могут помочь вам подтянуть язык программирования, который вы изучаете или с которым хотите поработать. Задачи за 2015, 2016 и 2017 год все еще доступны.
  2. Kaggle’s Titanic Challenge (предлагаемая реализация: Python или R). Kaggle предлагает захватывающее задание, знакомящее вас с основами машинного обучения с помощью Python или R: использовать настоящий набор данных о регистрации пассажиров «Титаника» для предположений, кто из пассажиров скорее всего пережил катастрофу.
  3. Project Euler (предлагаемая реализация: любой язык программирования, в котором вы хотите попрактиковаться ). Задания в Project Euler посвящены изучению союза математики и программирования. Используйте инструменты программирования для решения разнообразных математических задач.

Сторонние проекты, связанные с обыденностью

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

  1. Выбор обеда (предлагаемая реализация: CLI, мобильное или веб-приложение). Если вы работающий программный инженер, вы, должно быть, сталкивались с самым сложным вопросом в разработке программ… «куда пойти поесть?». Ваш инструмент для выбора обеда призван дать ответ на этот вопрос. Он может быть супер-простым и делать случайный выбор из известного вам списка опций или более сложным – извлекать данные из Google Reviews и учитывать расположение, цены и тип кухни.
  2. Планировщи к свиданий (предлагаемая реализация: мобильное приложение). Самое сложное в том, что касается свиданий и длительных отношений, это решение, куда пойти на свидание. Постройте инструмент, просматривающий обзоры ресторанов, календари событий и собирающий другие данные для выдвижения идей.
  3. Инструмент для упрощения вашей электронной переписки (предлагаемая реализация: скрипты, подключенные к почтовому серверу). Если мы с вами похожи, вы еженедельно получаете слишком много писем и они накапливаются в вашем почтовом ящике. Вместо того чтобы отписываться от них от всех в припадке гнева, постройте инструмент, который будет компилировать их в одно письмо и отправлять вам его раз в неделю.
  4. Напоминалка «Возьми зонтик» (предлагаемая реализация: мобильное приложение). Постройте простое мобильное приложение, которое по утрам будет присылать вам на телефон уведомление о том, что нужно взять с собой на работу зонтик (например, если в вашей местности ожидается дождь).
  5. Отслеживатель коллекций (предлагаемая реализация: мобильное или веб-приложение). Постройте инструмент для отслеживания чего-то, что вы собираете. Вы можете следить за ценой предмета, годом изготовления, состоянием, местоположением.

Сторонние проекты, связанные с данными

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

  1. Создайте и автоматически обновляйте набор данных (предлагаемая реализация: веб-скраппер на входе и CSV на выходе). Постройте инструмент, автоматически создающий и обновляющий набор данных, касающихся чего-то, что вас интересует. Рекомендуемые наборы данных: статистика по вашей любимой спортивной команде, полеты в направлении, куда и вам бы хотелось отправиться, метеорологические данные региона, где вы живете. Самое главное, что этот набор данных должен нуждаться в регулярном обновлении по мере генерации новых данных, и это должно осуществляться автоматически. Например, когда результаты вашей спортивной команды публикуются на сайте, данные должны автоматически скрапиться и добавляться к вашему набору данных.
  2. Вступите в соревнование по науке о данных (предлагаемая реализация: R или Python). На Kaggle есть много соревнований по науке о данных, оперирующих наборами данных из реального мира и имеющих огромные денежные призы. Перед вами будут стоять реальные проблемы вроде того, как определить отравляющие онлайн-комментарии, предсказать посетителей в ресторане или распознавать объекты из космоса.

Поделитесь своим сторонним проектом

  • Что было сложнее всего в работе над этим проектом?
  • Что вы узнали, занимаясь этим проектом, чему научились?
  • Что бы вы посоветовали тем, кто хотел бы начать похожий проект?

Четвертого марта 1899 года по пристани Кронштадта ходили тысячи удивленных людей. Несмотря на метровый слой льда, к городку подошел огромный корабль под названием «Ермак». Для обитателей острова Котлин пахарь льда не был чудом — ведь первый в мире ледокол «Пайлот» сконструировал их земляк Михаил Бритнев. Но та машина начинала ходить по Финскому заливу лишь в конце апреля, когда лед становился тонким. Поэтому появление ледокола в Кронштадте в начале марта вызвало у горожан неподдельное удивление — то был звездный час адмирала Макарова. Он добился своего.

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

Среди прочих идеей постройки ледокола заинтересовался Дмитрий Менделеев: выдающийся химик впоследствии вместе с адмиралом участвовал в разработке машины. Ключевой фигурой в проекте стал министр финансов Витте. Макаров и Менделеев убедили его, что проект окупит себя. В ноябре 1897 года Витте ознакомил с проектом царя и получил его одобрение. Всего лишь через год на верфи Armstrong Whitworth в Ньюкасле закончилось строительство ледокола.

Любопытная деталь: во время строительства корабля Макаров был обеспокоен тем, что при плавании во льдах ледокол получит пробоины и затонет. Поэтому он изготовил цинковую модель корабля в масштабе 1:48 с точно такими же водонепроницаемыми отделениями в днище. Все отделения имели отверстия, закрываемые пробками. В ходе опытов в ванне, заполняя водой 1−2 отсека, Макаров убедился, что опасения его напрасны. Поэтому, когда в ходе первого пробного плавания в Арктику ледокол получил серьезную пробоину, адмирал был спокоен. Он знал, что машине ничего не грозит.

Стоивший империи 1,5 млн рублей ледокол практически мгновенно окупил себя. Зимой 1899 года во время метели на мель у острова Гогланд сел новейший броненосец «Генерал-адмирал Апраксин». Если бы не «Ермак», корабль стоимостью 4,5 млн рублей получил бы существенные повреждения. Позже ледокол еще неоднократно будет спасать самые разнообразные суда.


Почти 100 человек на борту Ермака" работали кочегарами. Технические подробности. «Ермак» рубил лед также как современные ледоколы — взбирался на ледовое поле и своим весом ломал его. Преодолевать особенно толстый лед кораблю помогала дифферентная система. На корабле находились две цистерны — носовая и кормовая, соединенные трубой. Когда ледокол застревал в носовую цистерну из кормовой на высокой скорости перекачивалась вода — это помогало ему резать лед. Гребные винты «Ермака» приводились от трех паровых двигателей суммарной мощностью 9000 л.с. Котлы, вырабатывавшие пар, работали на угле. Огромные угольные бункеры занимали пол длины ледокола: автономность плавания была 4400 морских миль, а круизная скорость по воде составляла 12 узлов. Любопытно, что изначально ледокол укомплектовали передним гребным винтом — такое решение использовалась на обычных зарубежных ледоколах. Но в арктических условиях винт быстро повредился и его заменили конусом, с помощью которого можно было дробить подводный лед.

С ледоколом «Ермак» были связаны многие известные люди той поры. Среди них Александр Попов. Его первая радиограмма была послана именно командиру «Ермака» во время спасения броненосца у острова Гогланд. Попов был искренне рад: его изобретение помогло спасти человеческие жизни.

Но удача не всегда сопутствовала ледоколу Макарова. Адмирал надеялся достичь на «Ермаке» Северного полюса. Этого же желал ему Дмитрий Менделеев. Когда ледокол впервые пришел в Петербург, химик писал моряку: «Лед, запирающий Петербург, Вы победили, поздравляю. Жду такого же успеха в полярных льдах». Повторить успех не удалось. Как ни пытался Макаров, его судно было недостаточно мощным, чтобы преодолевать льды высоких широт Арктики. Пределом для ледокола стали 81 градус 28 минут северной широты. Недоброжелатели адмирала злорадствовали.


Но что удивительно: маломощный по сравнению с современными ледоколами «Ермак» прошел через три войны — Японскую, Первую и Вторую мировые — и служил на Крайнем Севере более 60 лет! Только лишь в 1963 году его списали. На базе первого в мире арктического ледокола собирались сделать памятник-музей, но отстоять машину энтузиастам не удалось. Прославленный ледокол пустили на переплавку.

К счастью, в музеях страны сохранились артефакты с «Ермака». В Мурманске установлен памятник ледоколу, выстроенный вокруг его подлинного трехтонного якоря. В Санкт-Петербурге в Музее Арктики и Антарктики хранится штурвал корабля, а в московском Музее морского флота — многие предметы из кают-компании «Ермака». Вещи продолжают хранить дух одной из самых грандиозных машин своего времени.

Благодарим за помощь в подготовке материала Музей морского флота (Москва) и Музей Арктики и Антарктики (Санкт-Петербург)


В ноябре 1897 года правительство выделяет деньги на постройку ледокола и комиссия во главе с адмиралом Макаровым приступает к разработке технических условий. В составе комиссии были Д. И. Менделеев, инженеры Н. И. Янковский и Р. И. Рунеберг, Ф. Ф. Врангель и другие.

Ледокол был заложен в Ньюкасле на стапелях английской фирмы Armstrong Whitworth в декабре 1897 года по заказу России. Это было первое в мире судно подобного класса, способное форсировать тяжелые льды двухметровой толщины. «Ермак» был спущен на воду на месяц позже контрактного срока и после заводских испытаний был принят в эксплуатацию.

19 февраля 1899 на корабле был поднят коммерческий флаг («Ермак» был причислен к министерству финансов и в состав военно-морского флота не входил). 21 февраля ледокол вышел на родину, в Финском заливе его ждал сплошной лёд (в ту зиму лёд в заливе был необычайно тяжёлым толщиной до метра). 1 марта достигли кромки льда. Некоторое время ледокол продвигался очень легко со скоростью 7 узлов, но в районе острова Гогланд корабль остановился: ледяное поле оказалось слишком тяжёлым, его пришлось обходить. 4 марта корабль прибыл в Кронштадт. Корабль встречали с особым торжеством: стечение людей, военный оркестр, высокий приём.

Но уже 9 марта ледокол ушёл на своё первое задание - пришло известие о затёртых в районе Ревеля 11 пароходах. Корабли были успешно вызволены и отконвоированы в порт. 4 апреля в два часа дня «Ермак», легко сломав невский лёд встал около Николаевского моста в столице империи.

29 мая 1899 года «Ермак» вновь вышел из Ньюкасла на север - в своё первое путешествие в Северный Ледовитый океан. Был достигнут Шпицберген, проверку прошли механизмы машины в тяжёлых условиях Заполярья.

Выявленные недостатки были устранены в Англии в течение месяца (убран передний винт, укреплён корпус). 14 июня того же года «Ермак» снова вышел в полярное плаванье. Экипажем корабля во главе с С. О. Макаровым была проведена большая научная работа по изучению северных льдов, океанографии, фауне океана. Однажды, наткнувшись на торосы, корабль получил пробоину, которая была заделана, но корабль уже не мог продолжать интенсивных исследований и вернулся в Англию для ремонта.

Ледокол «Ермак». Замена носовой части. Англия 1900 год.

Была создана комиссия по разбору причин инцидента, результатом работы которой стало решение о работе ледокола только в акватории Финского залива. Здесь в зиму 1899-1900 года «Ермак» успел спасти крейсер «Громобой», который сел на мель и был затёрт льдами между Петербургом и Кронштадтом.

Принимал самое активное участие в спасении броненосца «Генерал-адмирал Апраксин», который сел на мель в районе острова Гогланд. Во время этой акции «Ермака» впервые в мире нашло применение изобретение русского ученого Александра Попова - радиотелеграф. Благодаря связи судовой радиостанции с береговой (Котка) была спасена группа унесённых на льдине рыбаков.

Во время русско-японской войны «Ермак», преодолев лед в Либавском порту, провёл эскадру контр-адмирала Небогатова на чистую воду, открыв ей путь на Дальний Восток. За первые 12 лет эксплуатации ледокол провёл во льдах свыше тысячи суток.

14 ноября 1914 года ледокол был зачислен в состав Балтийского флота и продолжал осуществлять проводку кораблей и судов в Финском заливе. Когда в феврале 1918 года германские войска подошли к Ревелю, ледокол вывел из порта все способные двигаться корабли и привел их в Гельсингфорс.

Вскоре в походе из Гельсингфорса в Кронштадт «Ермак» вместе с другими ледоколами провел 211 боевых кораблей, вспомогательных и торговых судов через Финский залив. Руководитель похода и одновременно наморси Балтийского флота - каперанг Щастный тем самым спас всё боевое ядро Балтийского флота. За участие в «ледовом походе» «Ермак» был награждён почётным революционным Красным знаменем ВЦИК. Щастный расстрелян.
После этого ледокол вернулся к мирной службе и в 1920-1930 годах обеспечивал перевозки грузов на Балтике, в Арктике и Белом море.