Search
Write a publication
Pull to refresh
77
0
Rumkin @rumkin

Developer and tech writer

Send message

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

Reading time10 min
Views89K
Ксения Каланова, выпускница нашего курса по копирайтингу и маркетолог в MERA, написала колонку для блога Нетологии о том, как заставить текст звучать «по-английски», даже когда до уровня Advanced еще далеко.

Вся моя жизнь связана с английским языком: школьные олимпиады, подготовка к вступительным экзаменам в вуз, пять лет на переводческом факультете, лето в США и путешествия по миру. В студенческие годы я работала письменным переводчиком, а сразу после выпуска — устным.

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

Если бы не опыт работы переводчиком, меня такие просьбы поставили бы в ступор. Ведь мой текст увидят иностранцы — клиенты компании, руководители!



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

Метод Уэлфорда и одномерная линейная регрессия

Reading time7 min
Views12K

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


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


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

Где лучше всего жить и работать разработчику

Reading time7 min
Views71K
Алёна Лазарева, редактор-фрилансер, перевела для блога Нетологии статью Benjamin Martin о городах, в которых разработчиков ждут лучшие зарплаты.



Где лучше всего искать работу разработчику? В Нью-Йорке? Сан-Франциско?

Если судить по уровню заработной платы, Кремниевая долина явный победитель — среднегодовой доход для разработчика там составляет 110 554 $, согласно данным Glassdoor. Но стоимость аренды в области залива Сан-Франциско настолько высока, что не все разработчики могут позволить себе снимать там жильё.
Читать дальше →

Как Discord масштабировал Elixir на 5 млн одновременных пользователей

Reading time7 min
Views13K
С самого начала Discord активно использовал Elixir. Виртуальная машина Erlang стала идеальным кандидатом для создания высокопараллельной системы реального времени, которую мы собирались создать. Первоначальный прототип Discord был разработан на Elixir; сейчас он лежит в основе нашей инфраструктуры. Задача и предназначение Elixir простые: доступ ко всей мощи Erlang VM через гораздо более современный и дружественный язык и набор инструментов.

Прошло два года. Сейчас у нас пять миллионов одновременных пользователей, а через систему проходят миллионы событий в секунду. Хотя мы абсолютно не сожалеем о выборе архитектуры, пришлось проделать массу исследований и экспериментов, чтобы добиться такого результата. Elixir — это новая экосистема, а экосистеме Erlang не хватает информации о её использовании в продакшне (хотя Erlang in Anger — это нечто). По итогу всего пути, пытаясь приспособить Elixir для работы в Discord, мы извлекли некоторые уроки и создали ряд библиотек.
Читать дальше →

Базовая фортификация Linux: выбираем ежи и учимся рыть траншеи

Reading time10 min
Views27K


Несмотря на то, что Linux по праву считается более защищенной системой, чем MS Windows, самого по себе этого факта мало.


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

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

Хотите зашифровать вообще любое TCP соединение? Теперь у вас есть NoiseSocket

Reading time6 min
Views37K


Привет, %username%!

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

А еще есть IoT, где впихивать TLS целиком это вообще задача не для слабонервных. И бэкенд, который, я почти уверен, у всех после балансера общается друг с другом по обычному HTTP. И P2P и еще и еще и еще…

Не так давно в сети появилась спецификация Noise Protocol Framework. Это по сути конструктор протоколов безопасной передачи данных, который простым языком описывает стадию хэндшейка и то, что происходит после неё. Автор — Trevor Perrin, ведущий разработчик мессенджера Signal, а сам Noise используется в WhatsApp. Так что, был отличный повод рассмотреть этот протокольный фреймворк поближе.

Он так понравился нам своей простотой и лаконичностью, что мы решили на его основе запилить аж целый новый протокол сетевого уровня, который не уступает TLS в безопасности, а в чём-то даже превосходит. Мы презентовали его на DEF CON 25, где он был очень тепло принят. Пора поговорить о нём и у нас.

Торгуем ASCII: результаты продаж традиционной Roguelike в раннем доступе

Reading time12 min
Views11K
image

Недавно у Cogmind закончился второй полный год продаж в раннем доступе до выпуска в Steam, поэтому я хочу, как и в прошлом году, поделиться данными и красивыми графиками.

Это интересная веха, потому что она более-менее совпадает с завершением первичного контента Cogmind, представленного в бета-релизе в прошлом месяце. Это значит, что для перехода от Alpha 1 к Beta 1 игре понадобилось два года. И по-прежнему удивительно, что оказанной поддержки достаточно для дальнейшей фулл-тайм разработки — доход от Cogmind за весь срок её жизни превысил в апреле отметку в 100 тысяч долларов. Поэтому я благодарен всем, кто позволил мне достичь этого этапа!


@ празднуют бету
Читать дальше →

Красный, белый, голубой: восемь правил подбора цветовой палитры, которые должны знать все

Reading time10 min
Views92K
Взаимодействие человека с компьютером во многом опирается на графические элементы интерфейса, и цвет играет в этом процессе не последнюю роль. Как однажды сказал Pierre Bonnard: «Цвет не просто делает дизайн приятным для глаз, но и подкрепляет его».

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


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

Как создать свою метроидванию

Reading time16 min
Views29K


Метроидвания: стиль игры (2D или 3D), в котором часто присутствует исследование и где управляемый игроком персонаж получает новые способности, позволяющие ему продвигаться дальше. Такие игры часто являются экшн-адвенчурами с пересечением маршрутов движения. В них используется система «роста», открывающая важные апгрейды, необходимые для прохождения игры. Название «метроидвания» произошло от смешения слов Metroid и Castlevania, однако существуют и другие игры, в которых используется та же фундаментальная философия дизайна. К этим играм можно отнести все игры франшизы Zelda, Shadow Complex и Cave Story. На самом деле нет значительной разницы в структуре игрового процесса между играми Zelda, Metroid или Castlevania: Symphony of the Night.

Эта статья предназначена для создателей игр, желающих взяться за трудную задачу написания игры в жанре «метроидвания». Если вы никогда раньше не делали игр, и ищете советов о том, как начать создавать игры, рекомендую познакомиться с такими инструментами, как Unity, Unreal Engine, Construct 2 или любыми другими инструментами игростроительства. Вам сначала стоит научиться делать игры, потому что я не буду учить их созданию с нуля.
Читать дальше →

Про Гауди — разработчика из девятнадцатого века, добившегося всего, чего может добиться разработчик

Reading time8 min
Views102K
Вот что строил испанский архитектор Антонио Гауди:



Его здания описывают как «бионические дома», некоторые говорят о «летящей пластичной материи». За морем восторгов художников и дизайнеров, как мне показалось, упущена некоторая невероятная рационализация и прагматичность. Гауди был в первую очередь отличным разработчиком, математиком и геометром. Но чтобы объяснить это, сначала я покажу другую картинку:


Это два крепления. Первое производится серийно — оно просто в проектировании, просто в изготовлении, дёшево и невероятно уродливо. Второе красивое, и требует на 25% меньше материала для того, чтобы выдержать тот же вес (то есть — куда прочнее). Только его трудно рассчитать, оно будет дороже в серии — и придётся подумать.

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

Магия SSH

Reading time11 min
Views535K
С SSH многие знакомы давно, но, как и я, не все подозревают о том, какие возможности таятся за этими магическими тремя буквами. Хотел бы поделиться своим небольшим опытом использования SSH для решения различных административных задач.

Оглавление:

1) Local TCP forwarding
2) Remote TCP forwarding
3) TCP forwarding chain через несколько узлов
4) TCP forwarding ssh-соединения
5) SSH VPN Tunnel
6) Коротко о беспарольном доступе
7) Спасибо (ссылки)
Читать дальше →

Обзор систем мониторинга серверов. Заменяем munin на…

Reading time9 min
Views188K
Очень долго хотел написать статью, но не хватало времени. Нигде (в том числе на Хабре) не нашёл такой простой альтернативы munin, как описанная в этой статье.


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

11 вещей которые я узнал, читая спецификацию flexbox

Reading time8 min
Views102K

Я всегда считал, что с flexbox довольно легко работать — глоток свежего воздуха после стольких лет float'ов и clearfix'ов.


Правда недавно я обнаружил что борюсь с ним; что-то растягивалось, когда я не думал, что оно должно тянуться. Я поправил здесь, другой элемент сжался. Я починил это, что-то другое ушло за экран. Какого Джорджа Буша тут происходит?


В конце концов, все заработало, но солнце село, а мой процесс был привычной игрой с CSS. Или… как называется та игра, где надо ударить крота, а затем другой крот выпрыгивает и надо ударить и его тоже?


Как бы там ни было, я решил что пора вести себя как взрослый разработчик и выучить flexbox должным образом. Но вместо того, чтобы прочитать 10 очередных блог-постов, я решил отправиться прямиком к исходнику и прочитать The CSS Flexible Box Layout Module Level 1 Spec


Вот хорошие отрывки.


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

Как удалить свой IP из чёрного списка Gmail

Reading time10 min
Views62K

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

Проблемы с чёрным списком Gmail? Вы пришли по адресу.

Используя описанный ниже процесс, мы успешно разрешили почти все случаи включения в чёрный список Gmail, с которыми сталкивались.
Читать дальше →

Инструкция по публикации Android-приложения в Google Play

Reading time12 min
Views403K
Вслед за инструкцией по публикации приложения в App Store выкладываем внутренний свод правил Лайв Тайпинг по публикации приложений в Google Play, составленный отделом менеджеров при активном участии тимлида отдела Android-разработки Александра Мирко. Вне зависимости от того, насколько ты крутой и опытный проджект-менеджер, всегда есть шанс забыть что-нибудь. Эта инструкция призвана облегчить вам жизнь.

Итак, что нужно сделать PM`y в ходе публикации:

  1. Создать аккаунт в Google Play Developer Console для заказчика, если у заказчика такового нет, или предложить произвести публикацию с нашего аккаунта.
  2. Оформить privacy policy.
  3. Подготовить маркетинговые материалы (иконка, скриншоты, APK, баннер, текст, проморолик).
  4. Обеспечить сборку наличием сертификата цифровой подписи.
  5. Настроить оплату за пользование приложения.
  6. Отправить сборку в Google Play.

Все подробности — под катом.

UPD от 25.04.2017: добавлены разделы про альфа- и бета-тестирование и поэтапное внедрение, дополнены разделы «Обеспечение сборки наличием цифровой подписи» и «Технические требования к apk-файлу», сделано замечание про ASO и внесены косметические правки.


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

Пробуем делать web-frontend на Rust (WebAssembly)

Reading time4 min
Views40K

Недавно вышла новость про то, что webassembly теперь включен в firefox 52 из коробки. А потом еще и chrome 57 подтянулся (правда, там вроде бы были какие-то баги с запуском). Я решил, что обязательно надо попробовать.


Для тех, кто не знает, что такое webassembly краткая информация: webassembly (или wasm) — это низкоуровневый язык, который понимают браузеры, и в который можно будет скомпилировать программы, написанные на популярных языках. Это гораздо более выгодно по скорости парсинга и выполнения, чем компилировать эти языки в чистый javascript или какой-нибудь asm.js.


Wasm задумывался в основном для c/c++, но, на удивление, уже все готово, чтобы скомпилировать программу на rust. Давайте сделаем небольшое приложение и посмотрим, что получится. Все это будем компилировать на Ubuntu. Без теоретических деталей, просто "пощупаем".

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

Docker swarm mode (режим роя)

Reading time11 min
Views98K

На хабре уже писали про Docker swarm mode (режим роя), который является новой фичей версии 1.12. Данная опция внесла небольшую путаницу в головы тех, кто знаком с отдельно стоящей реализацией Docker Swarm имевшей распространение ранее и не отличавшейся удобством настройки и использования. Однако, после добавления Swarm в коробку с Docker все стало намного проще, очевиднее и функциональнее.

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

Создание истории карточным методом: упрощаем жизнь сценаристам

Reading time7 min
Views44K

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


ultra_outliner — это бесплатный инструмент для оптимизации разработки художественных историй карточным методом. Он выполнен в форме графического приложения и адресован сценаристам и писателям, а также игровым дизайнерам и разработчикам квестов. Инструмент позволяет работать с виртуальными карточками, персонажами, их характеристиками (и измерениями), локациями и специальными объектами. В составе ultra_outliner присутствует несколько редакторов, которые позволяют выстроить структуру истории, сюжетные линии, черты персонажей и др.


Lead

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

Трансляция WebRTC-видеопотока из браузера на YouTube Live в 65 строк JavaScript/HTML-кода

Reading time11 min
Views35K


В данной статье мы расскажем как работают трансляции Youtube Live и покажем как человек с базовыми знаниями JavaScript может закодить трансляцию на Youtube Live с HTML страницы с использованием технологии WebRTC.

Для работы категорически потребуются следующие знания и умения:

1) Базовые знания JavaScript / HTML
2) Умение работать в командной строке Linux.
3) Прямые руки.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity