Pull to refresh
-1
0
joann @joann

User

Send message

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

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

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

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

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

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

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

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

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

Ну а дальше мы начали переводить книги, и это стало приносить реальную пользу сообществу — и огромную пользу нам.
Читать дальше →

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

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

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

image

Сначала я назвал моё устройство «Armageddon communicator» (отсюда и его теперешнее название — «Armachat»), но я не думаю, что оно способно пережить какую-нибудь воображаемую всемирную катастрофу.
Читать дальше →

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

Reading time14 min
Views13K

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

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

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

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

Читать далее

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

Reading time3 min
Views19K

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

Читать далее

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

Reading time9 min
Views36K

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

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

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

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

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

Читать далее

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

Reading time14 min
Views4K

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

Читать далее

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

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

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


Command palette приложения Superhuman.
Читать дальше →

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

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

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



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

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

Reading time6 min
Views29K
image


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

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

Unicode


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

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

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

image

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

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

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

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

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


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

В сердце вакцины находится вот такой цифровой код. Его длина составляет 4284 символа, так что его вполне можно уместить в несколько твитов. В самом начале процесса производства вакцины кто-то закачал этот код в ДНК-принтер (ага), который, в свою очередь, превратил байты с накопителя в реальные молекулы ДНК.

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

Reading time3 min
Views54K

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

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

Подробнее

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

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

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



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


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

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

Далее будут много картинок, т.к. без этого обзор будет неполноценным.
Читать дальше →

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

Reading time2 min
Views79K


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

TL;DR Для лучшей энергоэффективности зарядку в Mac Book Pro необходимо втыкать справа, а монитор слева.
Читать дальше →

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

Reading time73 min
Views293K

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

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

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

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

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

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

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



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

Для тех кому интересно как это работает, продолжение под катом.
Читать дальше →

Почему 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.

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

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

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

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

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

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

Reading time5 min
Views136K


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


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

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

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

Reading time3 min
Views40K


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

Сразу уточняем: это не 15 самых лучших библиотек, а 15 из лучших. Разумеется, есть и другие, не менее замечательные, о которых я не упомянул или не знаю.
И, нет, это не рейтинг — список маркированный, а не нумерованный.
Читать дальше →

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

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



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

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

Читать дальше →
1
23 ...

Information

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