Search
Write a publication
Pull to refresh
52
0
Андрей Кравчук @prefrontalCortex

Software Engineer

Send message

UX-текст на языке Шекспира: заповеди, грехи и табу

Reading time16 min
Views16K

Изменив одно местоимение, можно на 90% увеличить показатель кликабельности (CTR) кнопки, которая приведет новых пользователей. Дописав одно предложение, можно увеличить количество оплаченных покупок и снизить нагрузку на саппорт. Поставив одну запятую, можно было бы сохранить 5 миллионов долларов. ОК, третий пример про договоры, но все равно показателен.


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


Исследование Nielsen Norman Group показало, что лаконичный, объективный (без маркетологического хвастовства) текст, который легко читается пользователем, увеличивает юзабилити сайта на 124%. Только текст. UX и навигацию не трогали.


В вашем продукте (сайте, программе, приложении и т.д.) есть английский текст, и вы хотите, чтобы он приносил вам выгоду, а не просто занимал место? Читайте статью дальше. Я расскажу, как писать по-английски нужно, и как не нужно.

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

10 обидных ошибок авторов на Хабре

Reading time10 min
Views29K

Большинство опытных и начинающих авторов Хабра уже знают, что такое хорошо и что такое плохо, поэтому творят хорошее или плохое относительно сознательно. Но, просматривая и прочитывая сотни статей изо дня в день, я постоянно сталкиваюсь с одними и теми же проблемами, которые делают статьи чуть хуже или даже напрочь проваливают нормальные, на первый взгляд, материалы. Из всех специфических и общих ошибок я выбрала 10 самых распространённых — они встречаются как у частных пользователей, так и у компаний (в блоги которых пишут тоже обычные пользователи, так что ничего необычного). Давайте учиться на чужих ошибках и не плодить свои :-) 

Читать далее

Вам кажется, что с вашей документацией что-то не так? Вам не кажется

Reading time14 min
Views14K


Меня зовут Семён Факторович, с 2012 года я занимаюсь технической документацией. Последние три года я руковожу собственным агентством documentat.io, помогая российским IT-компаниям создавать качественную документацию.


Мы пишем документацию с нуля (руководства пользователя, справочники API, архитектурную документацию) и поддерживаем уже имеющуюся и проводим консультации по настройке документационных процессов. И почти каждый запрос от наших клиентов начинается с признания: «Кажется, с нашей документацией что-то не так».


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


1) Документация полностью отсутствует.
2) Документацию неохотно пишут.
3) Документацию неохотно читают.
4) Документация есть, ее пишут и читают, но она кажется бесполезной.


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


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


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

Как Microsoft убила AppGet

Reading time5 min
Views61K


На прошлой неделе Microsoft выпустила пакетный менеджер WinGet в рамках анонсов на конференции Build 2020. Многие посчитали это ещё одним доказательством сближения Microsoft с движением Open Source. Но только не канадский разработчик Кейван Бейги (Keivan Beigi), автор свободного менеджера пакетов AppGet. Сейчас он силится понять, что произошло за последние 12 месяцев, в течение которых он общался с представителями Microsoft.

В любом случае, теперь Кейван прекращает разработку AppGet. Клиентские и серверные службы переходят в режим технического обслуживания немедленно до 1 августа 2020 года, после чего будут закрыты навсегда.
Читать дальше →

У вас нет высыпаний? Будут

Reading time5 min
Views64K
Меня зовут Евгений и я жаворонок. Сегодня проснулся в 6 утра, открыл окно в кухне, заварил кофейку и решил глянуть, «что нового». Мне написал мой бывший коллега «Андроид»… Точнее «Андроид-разработчик» Максим, но так звучит фантастичнее…

image

Он спросил:
– Женя, привет. (wave) Вопрос к тебе, как мега лайв хакеру. Сколько времени нужно спать, что бы мозг отдохнул и можно было плодотворно работать? Умные будильники сильно помогают?

Я ответил, а потом подумал, ведь и парочке сотен человек с Хабра тоже пригодится хоть один пунктик из вычитанных мною ранее советов, ведь «так как никто не слушает, приходится повторять»:
Читать дальше →

Как мы отказались от JPEG, JSON, TCP и ускорили ВКонтакте в два раза

Reading time24 min
Views171K

На протяжении всей жизни мне приходится экономить вычислительные и сетевые ресурсы: сначала были компьютеры с 300 кГц (кило — не гига!) и 32 Кбайт RAM, интернет по dial-up. Потом я решал олимпиадные задачки. Теперь имею дело с терабайтами трафика и 50 млрд событий в сутки. И хотя современные телефоны в 1 000 раз мощнее любого оборудования двадцатилетней давности, я до сих пор оптимизирую. Думал даже, что это со мной что-то не так. Но потом понял, что все постоянно что-нибудь оптимизируют. 

Эта статья в меньшей степени о том, почему нужно бороться за производительность, и в большей о том, на что сейчас стоит заменить устаревший стек из JPEG, JSON, gzip и TCP — и как это сделать. 

Спойлер: у нас есть решение и мы его не только показываем — ссылки на open source в конце статьи.

Читать далее

Что сделало Lisp особенным

Reading time3 min
Views15K
"Величайший из когда-либо созданных языков программирования"
— Alan Kay, «on Lisp»



Когда Маккарти разработал Lisp в конце 1950-х, он радикально отличался от существующих языков, самым главным из которых был Fortran.
Читать дальше →

Чем полезен мономорфизм?

Reading time14 min
Views32K


Выступления и посты в блогах о производительности JavaScript часто обращают внимание на важность мономорфного кода, однако обычно не дается внятного никакого объяснения, что такое мономорфизм/полиморфизм и почему это имеет значение. Даже мои собственные выступления зачастую сводятся к дихотомии в стиле Невероятного Халка: «ОДИН ТИП ХОРОШО! ДВА ТИП ПЛОХО!». Неудивительно, что когда люди обращаются ко мне за советом по производительности, чаще всего они просят объяснить, что на самом деле такое мономорфизм, откуда берется полиморфизм и что в нем плохого.

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

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

Я также попробовал новый способ объяснять вещи – изображая взаимодействие составных частей виртуальной машины в виде коротких комиксов. Кроме того, данная статья не покрывает некоторые детали, которые я посчитал незначительными, излишними или не связанными напрямую.
Читать дальше →

Имена людей и интерфейс

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

image

Заинтересованная аудитория: авторы HTML-контента, разработчики скриптов серверных приложений (PHP, JSP и т.д.), менеджеры веб-проектов и любые другие люди, так или иначе связанные с дизайном форм ввода данных, дизайна баз данных и онтологий, которые затрагивают личные имена людей.

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

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

Переводы всех статей Пола Грэма на всех языках (210+)

Reading time7 min
Views34K
image
(иллюстрация Asya_Dyu)

Пол Грэм — один из самых уважаемых людей среди ИТишников, основателей и инвесторов. Он первоклассный программист (написал два языка программирования), хакер, создатель дерзкого акселератора Y Combinator, философ.

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

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

Сейчас около 2 миллиардов человек могут прочитать эссе Пола Грэма. Моя задумка в том, что если перевести его эссе на топ-20 языков, то это даст возможность еще 2 миллиардам людей случайно наткнуться на перевод на родном языке (как это было у меня) и встать на путь стартапера.

Читать лучше в оригинале, но путь к оригиналу иногда бывает (только) через перевод.
Читать дальше →

Как сделать сообщения об ошибках в программах более полезными и информативными

Reading time4 min
Views8.5K

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

Каким же должно быть идеальное сообщение об ошибке?

Читать далее

15 игр, которые прокачивают логику, алгоритмы, ассемблер и силу земли

Reading time8 min
Views117K


Есть «Super Mario», признанная классика видео игр. Есть «Doom», который запускают на чайниках и тестах на беременность. Есть супер-популярные по статистике twitch.tv игры («League of Legends», «GTA V», «Fortnite», «Apex Legends») которые стримят пятая часть всех стриммеров.

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

Под катом подборка классных игр про алгоритмы за последние 10 лет. Если что-то упустила — буду рада дополнениям.

Еще я создала канал в Telegram: GameDEVils, буду делиться там клевыми материалами (про геймдизайн, разработку и историю игр).
Читать дальше →

Личный враг Бонапартов или почему иногда не стоит злить ботаника

Reading time5 min
Views17K

Автор: Лысый Камрад (@LKamrad)

Вы когда-нибудь слышали фразу «Лучше ужасный конец, чем ужас без конца»? Нет, это вовсе не забавная цитата из Жванецкого или Камеди-клаба. На языке оригинала эта фраза выглядит еще круче: «Lieber ein Ende mit Schrecken als ein Schrecken ohne Ende». Не правда ли звучит угрожающе: «Айн энде мит шрекен одэр айн шрекен онэ энде?!». И, нет, вы снова не угадали - к немецким порнофильмам данная поговорка тоже отношения не имеет.

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

Читать далее

Microsoft терпит неудачу?

Reading time12 min
Views330K
На SlashDot и других западных площадках активно обсуждается интересная статья Charlie Demerjian «Microsoft has failed». Она написана сложным английским, но поднимает актуальные вопросы, не ограничиваясь, к примеру, вопросами удобства или неудобства плиточного интерфейса. Хоть про автора говорят, что часто пишет слишком мрачно, но на мой взгляд, материал — в стиле доброго сарказма неравнодушного человека, и вполне достоин публикации и обсуждения на хабре. Переведена 1в1, без изменений.

Microsoft терпит неудачу?


Nov 14, 2012
Charlie Demerjian @ semiaccurate.com

У Microsoft большие проблемы: 2 основные продуктовые линейки терпят неудачу, и поиски виноватых ускоряются. В этот раз за провал Windows 8 винят Стива Синофского (Steve Sinofsky), но настоящая проблема заключается в модели поведения, которую иллюстрируют такие действия.
Microsoft сильно не соответствует реалиям сегодняшнего дня: те немногие рынки, на которых она играет, испаряются с поражающей воображение скоростью. Давно известная привычка компании отгораживаться от остального мира, игнорируя мнения окружающих, работает неплохо до тех пор, пока нет достойной альтернативы, и такая стратегия была для компании основополагающей настолько давно, что ничего другого не осталось. Модель работает, но с ростом стен безразличия растет раздражение клиентов, тем самым увеличивая ценность возможных альтернатив. Этот цикл повторяется до тех пор, пока альтернатив нет. Как только они появляются, то всё рушится с устрашающей быстротой.
Читать полностью

Книга, статья или блог? Во что упаковать свои знания

Reading time10 min
Views7K

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

Чем хуже, тем лучше

Reading time7 min
Views16K

Я, как и почти каждый Common Lisp и CLOS разработчик, очень хорошо знаком с подходом к проектированию MIT/Стэнфорда. Суть этого подхода можно выразить фразой “the right thing” (то, что нужно/как следует). Для таких разработчиков важно соответствовать всем нижеизложенным характеристикам:

Читать далее

Объяснение фильтра Калмана в картинках

Reading time9 min
Views50K
image

Я обязан рассказать вам о фильтре Калмана, потому что он выполняет просто потрясающую задачу.

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

Как скальперы богатеют на продажах игровых приставок к этому Новому году

Reading time4 min
Views24K


PlayStation 5 и Xbox Series X были выпущены уже больше года назад, но глобальная нехватка компьютерных чипов по-прежнему затрудняет их поставки и завышает цены. Дефицит дополнительно усугубляется целой индустрией торговых посредников. Которые зарабатывают на нынешней нехватке консолей и видеокарт очень хорошие деньги.


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

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

Как научиться писать статьи (для Хабра и не только)

Reading time14 min
Views33K

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

Что может быть проще! Берёшь бумагу и ручку, или пишущую машинку, или что там у вас нынче в моде, и пишешь статью.

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

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

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

Как и почему мы обновили очереди RabbitMQ в продакшне

Reading time5 min
Views4.3K

В этой статье хочу поделиться нашим опытом работы с обновлениями RabbitMQ Live. Здесь вы узнаете некоторые подробности о нашей архитектуре и вариантах ее использования. Давайте начнем с самого простого... Зачем нам нужен RabbitMQ в бизнесе?

Читать далее

Information

Rating
10,158-th
Location
Подгорица, Подгорица, Черногория
Works in
Date of birth
Registered
Activity

Specialization

Software Developer, Fullstack Developer
Senior
From 5,000 €
Lisp
Clojure
Unix
Linux
Docker