Pull to refresh
-1
0
joann @joann

User

Send message

Как мы делаем самый читаемый блог на Хабре: от пресс-релиза к переводам книг и своему пикоспутнику

Reading time10 min
Views4.7K
Последние 5 лет мы первые на Хабре в рейтинге компаний.

Блог на Хабре постепенно привёл к запуску искусственного спутника Земли, интервью с Ромеро, рассказу про психиатрический диагноз и тому, что админ вышел из подвала

Мы торжественно запостили пресс-релиз про старт своего сотрудничества с Хуавей аж 25 марта 2016 года. И начали ждать оваций. Сначала прилетел один оваций на -1, почти сразу подтянулся второй, пост ушёл с главной, и про него все забыли.

В принципе, на этом история с Хабром могла бы и закончиться, но нам надо было рекламировать конференцию по новым компьютерным технологиям и защите компьютерных программ. Поэтому мы запостили второй раз, уже не надеясь на +200. Это был тот никому не нужный пост, который сейчас ушёл бы в раздел «Новости», но мы про такое не догадывались. В итоге блог начал набирать какой-то рейтинг в диапазоне [-2 .. +5].

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

А дальше внезапно выстрелил пост про то, чем обычный хостинг отличается от VPS. Прямо ликбез-ликбез, но уже +15 и несколько десятков тысяч просмотров (на 2022-й уже 40 тысяч). Рекорд!

В этот момент мы поняли, что писать нужно не про себя, а про интересные темы. Вторым успехом стала тема про Hyper-V против KVM. Так мы стали писать про технологии.

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

Ну а дальше мы начали переводить книги, и это стало приносить реальную пользу сообществу — и огромную пользу нам.
Читать дальше →
Total votes 65: ↑50 and ↓15+66
Comments21

Коммуникатор судного дня «Armachat» LoRa

Reading time8 min
Views23K
Технология LoRa отлично подходит не только для сбора информации с удалённых датчиков. Её можно использовать как основу системы для обмена сообщениями. Именно такую систему я воплотил в жизнь в виде персонального коммуникатора Armachat. Для меня это самый настоящий учебный проект, на котором я оттачивал навыки создания печатных плат с беспроводными модулями и графическими дисплеями. Устройство питается от аккумулятора, оно представляет собой нечто вроде высокотехнологичной портативной рации, поддерживающей обмен текстовыми сообщениями. При этом для сборки этой рации нужно сравнительно мало компонентов — всего около 25.

Для этого проекта я, чтобы удобнее было выполнять паяльные работы, выбрал микроконтроллер SAMD21E18 в корпусе TQFP32 (того же размера, что и популярный контроллер ATmega328). Правда, к сожалению, этот микроконтроллер продаётся пустым. Для того чтобы прошить в него загрузчик, необходимо специальное устройство — Atmel-ICE. Прошивка загрузчика оказалась самой сложной частью проекта. А в остальном тому, кто решит воспроизвести мой проект, никаких специальных инструментов не понадобится. Всё, что нужно, собрано на плате коммуникатора. А на передней панели, что необязательно, можно разместить подсветку клавиатуры.

image

Сначала я назвал моё устройство «Armageddon communicator» (отсюда и его теперешнее название — «Armachat»), но я не думаю, что оно способно пережить какую-нибудь воображаемую всемирную катастрофу.
Читать дальше →
Total votes 31: ↑30 and ↓1+36
Comments32

Трезвый взгляд на W7500P — микроконтроллер со встроенным TCP/IP стеком

Reading time14 min
Views12K

Многие из тех, кто имел дело с микроконтроллерами, наверняка слышали о микросхеме конвертере SPI <-> Ethernet W5500. В свое время эта микросхема стала поистине "народной" по многим причинам, к которым можно отнести как низкую стоимость самих микросхем и готовых модулей для прототипирования на их основе, так и наличие готовых библиотек под разные платформы для легкой интеграции чипа в различные проекты. К тому же, из-за относительно легкой модели взаимодействия между микросхемой и микроконтроллером, не составляло труда взаимодействовать с микросхемой без сторонних библиотек.

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

И именно в этот момент WIZnet сделал следующий шаг - выпустил чип, который должен был сочетать функциональность W5500 с функциональностью обычного микроконтроллера, объединив тем самым в себе 2 микросхемы: микроконтроллер и W5500. Это техническое решение получило название W7500P.

Рассмотрим, что же из себя представляет W7500P.

Читать далее
Total votes 23: ↑23 and ↓0+23
Comments44

Редизайн клавиатуры

Reading time3 min
Views19K

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

Читать далее
Total votes 51: ↑29 and ↓22+12
Comments161

Подумываете об использовании MongoDB?

Reading time9 min
Views26K

Будет ли MongoDB правильным выбором для вашего приложения?

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

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

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

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

Читать далее
Total votes 12: ↑8 and ↓4+7
Comments83

Использование оптимизации выводов ПЛИС для повышения эффективности проектирования печатных плат

Reading time14 min
Views3.5K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments2

У каждого приложения должна быть палитра команд

Reading time4 min
Views6.9K
В старых и новых приложениях незаметно начинает появляться инструмент, упрощающий взаимодействие и ускоряющий выполнение действий. Это мощное поле поиска, которое я называю «power bar»; иногда оно имеет название «command palette».

Power bar, похожая на поиск Spotlight в macOS, встраивается в приложение и обычно вызывается сочетанием горячих клавиш CMD+K (или CMD+SHIFT+P). После её вызова пользователь вводит в неё то действие, которое хочет выполнить. Однако в отличие от Spotlight, power bar позволяет выполнять задачи, а не просто искать файлы или переходить в другие части приложения.


Command palette приложения Superhuman.
Читать дальше →
Total votes 18: ↑16 and ↓2+20
Comments13

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

Reading time14 min
Views32K
Как и любое другое облако, Yandex.Cloud — это многослойная иерархия абстракций: SaaS, лежащий поверх PaaS, запущенный на IaaS. Связность виртуальной инфраструктуры обеспечивает виртуальная же сеть, которая является, по сути, оверлеем. И только в самой глубине этой системы обнаруживается физическая сеть из проводов и коммутаторов. Мало кто вспоминает о ней, пока всё работает. А меж тем она — кровеносная система всей платформы.

Привет, я Марат Сибгатулин, сетевой инженер Yandex.Cloud. Яндекс про свою сеть рассказывал уже не раз. И про её физическую инфраструктуру, и про особенности устройства Yandex.Cloud, и про то, как вообще работает виртуальная сеть. Не буду повторяться. Расскажу о том, как мы запустили публичное облако на том, что было — на двух стойках, и масштабировали его до сети для десятков тысяч серверов, не наращивая неоплатный технический долг.



Мы практикуем следующий подход к созданию и развитию чего бы то ни было: прототип → минимально необходимая функциональность и масштаб → рост → эволюционное развитие. На первый взгляд он естественен и очевиден, в отличие от подхода «сделать сразу идеально и на века». На деле — требует вдумчивого предварительного планирования, чтобы потом не подставлять в горячке новые костыли под старые, пытаясь поспеть за внезапным ростом.
Читать дальше →
Total votes 60: ↑60 and ↓0+60
Comments23

Под капотом у Emoji

Reading time6 min
Views24K
image


В течение последних нескольких недель Nikita Prokopov внедрял поддержку эмодзи для Skija. Он решил поделиться несколькими мелкими деталями того, как это «самое большое новшество в человеческом общении со времен изобретения буквы image» работает под капотом.

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

Unicode


Каждый символ на компьютере кодируется числом. Самая популярная кодировка — Unicode, а две самые распространенные подвариации — UTF-8 и UTF-16.

Unicode выделяет 221 (2 млн) символов, назывемых «codepoints». Из этих двух миллионов сейчас определены только ~150k символов. В эти 150 000 символов впихнули все языки, мёртвые и живые и прочие украшательства. Можно использовать различные шрифты, писать задом наперед и кверх ногами: image, а также отобразить «GHz» как один глиф: image.

Направленная вправо двуглавая стрела с оперением и двумя вертикальными штрихами: image или семиглазый монстр: image. И утка:

image

Читать дальше →
Total votes 49: ↑47 and ↓2+65
Comments54

Реверс-инжиниринг исходного кода коронавирусной вакцины от компаний BioNTech/Pfizer

Reading time11 min
Views104K
Добро пожаловать. В данном посте мы посимвольно разберём исходный код вакцины BioNTech/Pfizer SARS-CoV-2 мРНК.

Да, такое заявление может вас удивить. Вакцина – это ведь жидкость, которую вводят человеку в руку. При чём тут какой-то исходный код?

Хороший вопрос. Начнём мы с небольшой части того самого исходного кода вакцины BioNTech/Pfizer, также известной, как BNT162b2, также известной, как Tozinameran, также известной, как Comirnaty.


Первые 500 символов мРНК BNT162b2.

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.
Total votes 238: ↑232 and ↓6+304
Comments359

Крупнейшая свободная электронная библиотека выходит в межпланетное пространство

Reading time3 min
Views47K

Library Genesis - настоящий бриллиант Интернета. Онлайн-библиотека, предоставляющая свободный доступ более чем к 2.7 миллионам книг, на этой неделе сделала долгожданный шаг. Одно из веб-зеркал библиотеки теперь дает возможность скачать файлы через IPFS - распределенную файловую систему.

Итак, коллекция книг Library Genesis загружена в IPFS, запинена и соединена с поиском. А это значит, что теперь лишить людей доступа к нашему общему культурному и научному наследию стало немного тяжелей.

Подробнее
Total votes 66: ↑63 and ↓3+83
Comments57

Поиск родственников через тест ДНК. Часть 4 – Расшифровка результата

Reading time15 min
Views30K
Итак, вы определились для чего нам нужен ДНК-тест, выбрали в какой лаборатории будете покупать его, заказали через интернет и дождались получения. Потом вы сделали тест себе или родственникам и отправили тест обратно, перейдя в режим ожидания.

И вот спустя несколько недель мы получаем извещение на e-mail, что наш тест готов, результаты загружены на сайт и теперь можно ознакомиться с его результатом!



Что мы увидим в результатах ДНК-теста на сайте лаборатории?


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

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

Далее будут много картинок, т.к. без этого обзор будет неполноценным.
Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments21

Как заряжать макбук

Reading time2 min
Views78K


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

TL;DR Для лучшей энергоэффективности зарядку в Mac Book Pro необходимо втыкать справа, а монитор слева.
Читать дальше →
Total votes 57: ↑45 and ↓12+59
Comments118

SARS нерукотворный? Генеалогия уханьского коронавируса

Reading time73 min
Views291K

Не, ну какая рукотворность? Что за бред? Думал я, когда впервые услышал гипотезу о том, что Ковид-19 вызван то ли лабораторной утечкой, то ли вообще целенаправленной биоатакой. И каждый раз просто отмахивался от этих домыслов, когда они в очередной раз доплывали до меня в бурном потоке коронавирусного инфошума. Ну подумаешь, есть в Ухане институт вирусологии, мало ли.

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

И вот тут, в погоне за доводами против рукотворности вируса, меня и заразил вирус сомнений. В чём, собственно, причина сомнений? В том, что чем глубже погружаешься в деятельность коронавирусологов за последние 15–20 лет, тем лучше понимаешь, что создание ровно таких химер как CoV2 у них было обыденным делом. А CoV2 — это очевидная химера, основанная на летучемышином штамме RaTG13, у которого в шиповидном белке место связывания с рецептором (RBM) заменено с летучемышиного на панголиний, и вдобавок врезан особый участок из 4-х аминокислот, создавший furin cleavage site, который, как ранее выяснили вирусологи, значительно расширяет «репертуар» вируса в плане того, в чьи клетки он может проникать. Скорее всего, именно благодаря этому новому фуриновому сайту, новый мутант и сумел перескочить с исходных носителей на людей.

С учётом тех высот, которых сегодня достигла генная инженерия, синтетически собрать CoV2 по вышеописанной методике не составило бы труда даже начинающему специалисту. Ведь вирусологи, включая руководителя коронавирусного направления в Уханьском институте вирусологии Ши Чжэнли, такими вещами уже неоднократно занимались — как заменой RBM у одного вида вируса на RBM из другого
Total votes 328: ↑288 and ↓40+341
Comments720

5 экспериментов с WiFi на ESP32

Reading time11 min
Views103K
Привет Хабр.

Платы ESP32 весьма популярны в виду низкой цены, неплохой вычислительной мощности (процессор 200МГц), развитого SDK с поддержкой как MicroPython так и Arduino IDE, наличием GPIO c поддержкой периферии (SPI, I2C и пр) и беспроводной связи (WiFi, Bluetooth). Сегодня мы посмотрим, что можно сделать на такой плате ценой всего лишь около 12$.



Мы рассмотрим разные варианты использования WiFi, от простого коннекта к сети до WiFi-сниффера. Для тестов понадобится любая плата с ESP32 (лучше с OLED-экраном, как на картинке) и Arduino IDE.

Для тех кому интересно как это работает, продолжение под катом.
Читать дальше →
Total votes 32: ↑30 and ↓2+41
Comments43

Почему Rust лидирует в TechEmpower Framework Benchmark

Reading time11 min
Views29K

Вообще-то смотреть какого цвета потроха у Rust я не собирался. Ковырнул хобби-проект на Go, пошел на GitHub посмотреть состояние fasthttp: развивается ли? Ну хотя бы поддерживается? Вспрокрастинулось. Пошел, посмотрел где fasthttp сидит в бенчмарках TechEmpower. Смотрю: а там fasthttp едва показывает половину того, что удаётся лидеру — какому-то actix на каком-то Rust. Какая боль.


Здесь бы мне сложить ручки, стукнуть головой в пол (трижды) и закричать: "Алилуйя, воистину Rust — истинный бог, как слеп я был раньше!". Но то ли ручки не сложились, то ли лоб пожалел… Вместо этого полез в код тестов, написанных на Go и actix-web тестов на Rust. Чтобы разобраться.


Через пару часов узнал:


  1. почему Rust-фреймворк actix-web занимает первые позиции во всех тестах TechEmpower,
  2. как в Java заводится Script.

Сейчас всё расскажу по порядку.

Читать дальше →
Total votes 72: ↑71 and ↓1+91
Comments149

Россия – мировой центр разработки САПР. Вы об этом знали?

Reading time6 min
Views30K
Российская отрасль инженерного программного обеспечения насчитывает более 50 компаний-разработчиков. По меркам мирового рынка САПР это уже заметная величина. Но знаете ли вы, что российский след есть и в известных западных продуктах, например, в CATIA, BricsCAD, Altium Designer? Многие зарубежные САПР-вендоры открыли в России свои R&D центры или сотрудничают с местными аутсорсинговыми компаниями. Кто они – узнаем под катом.

image
Читать дальше →
Total votes 23: ↑22 and ↓1+21
Comments26

Неблагодарный opensource: разработчик самого быстрого веб сервера удалил его репозиторий

Reading time5 min
Views134K


Краткая суть ситуации: наш соотечественник fafhrd91 на протяжении 3 лет практически самостоятельно (см. кдпв) писал actix-webодин из популярнейших крейтов в инфраструктуре раста, лидер в большинстве различных бенчмарков, и за это время подвергался как минимум трём волнам гонений за "неправильное использование раста". После последнего раза автор психанул, и перенес репозиторий к себе в аккаунт с пометкой "Планирую скрыть репозиторий". Конечно, куча людей сразу наделало зеркал и бекапов, но на мой взгляд это не сильно исправляет ситуацию.


На месте репозитория автор оставил единственный postmortem, который я ниже и цитирую целиком:

Читать дальше →
Total votes 197: ↑190 and ↓7+244
Comments925

15 лучших и крупнейших библиотек иконок

Reading time3 min
Views35K


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

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →
Total votes 20: ↑18 and ↓2+22
Comments12

Роутинг для iOS: универсальная навигация без переписывания приложения

Reading time9 min
Views11K
В любом приложении, состоящем более чем из одного экрана, существует необходимость реализовать навигацию между его компонентами. Казалось бы, это не должно быть проблемой, ведь в UIKit есть достаточно удобные компоненты-контейнеры вроде UINavigationController и UITabBarController, а также гибкие методы модального показа экранов: достаточно использовать нужную навигацию в нужное время.



Однако, как только в приложении появляется переход на какой-то экран по push-уведомлению или ссылке, всё становится несколько сложнее. Сразу появляется масса вопросов:

  • что делать с view-контроллером, который сейчас находится на экране?
  • как переключить контекст (например, активную вкладку в UITabBarController)?
  • есть ли в текущем стеке навигации нужный экран?
  • когда следует игнорировать навигацию?

Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments9
1
23 ...

Information

Rating
Does not participate
Location
Paris, Франция
Date of birth
Registered
Activity