Как стать автором
Поиск
Написать публикацию
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Модели T-lite и T-pro: training report

Уровень сложностиСложный
Время на прочтение31 мин
Количество просмотров9.6K

Привет! Я Дима Стоянов, MLE в команде разработки фундаментальных моделей. Мы продолжаем рассказывать о наших моделях T-lite и T-pro. Общие характеристики и результаты бенчмарков описывали в предыдущей публикации. В этой статье раскроем детали предобучения: от подготовки данных до финальных экспериментов, а совсем скоро поделимся особенностями этапа post-training.

Читать далее

Переключение контекста — главный убийца продуктивности разработчика

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров19K

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

Читать далее

Компактные структуры данных

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров14K

Введение


Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество1. Я обнаружил статью, написанную пятнадцать лет назад2, в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться.

Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science.

Этот преподаватель (Гонсало Наварро) очень тепло меня принял и сразу же ответил мне3 4. И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области компактных структур данных (succinct data structure). Невежество может завести очень далеко.

Что же такое компактные структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами.

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

Я решил, что стоит немного о них рассказать.
Читать дальше →

Угон аккаунтов в Telegram: схемы, о которых все должны знать

Время на прочтение21 мин
Количество просмотров145K

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

Читать

Дитя нового разума. Научно-фантастическая новелла

Время на прочтение17 мин
Количество просмотров5.2K

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

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

На экране появились фотографии: дети разных возрастов, от младенцев до подростков.

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

Её предложение было революционным и, по мнению многих в зале, абсурдным: создать AGI не как программу с заранее заданными параметрами, а как самообучающуюся систему, которая будет проходить через аналоги всех стадий человеческого развития — от «младенчества» до «взрослости». И, что самое важное, система будет расти в отношениях с людьми, которые станут её «родителями».

— Представьте мир, где мощнейший ИИ относится к нам не как к цифрам статистики или ресурсам, а как к своей семье, — в голосе Елены сквозила неприкрытая страсть. — Где его ценности выросли из отношений с нами, а не из сухих этических правил, вшитых в код.

Читать далее

Как развернуть свой GitLab с CI/CD, используя IaC

Время на прочтение11 мин
Количество просмотров11K

Всем привет! Меня зовут Александр, я обучаюсь в магистратуре СПбПУ. А заодно являюсь младшим разработчиком на C++ и стараюсь использовать и внедрять практики DevOps в мою ежедневную разработку. Недавно я получил зачет за то, что развернул собственный GitLab (именно GitLab, а не аналог) на серверах Selectel с CI/CD и Container Registry. Собственно, об этом и расскажу и в статье.
Читать дальше →

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

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


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

Bobcat Miner 300 — жизнь после забвения. Как я получил мощный одноплатник почти бесплатно

Время на прочтение7 мин
Количество просмотров10K

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

Сегодня расскажу, как случайно стал обладателем устройства Bobcat Miner 300, разобрался в особенностях работы сетей LoRaWAN и выяснил подводные камни, на которые можно нарваться, если купить такой девайс, например, на eBay. Нарезайте себе рулетик, заваривайте пуэр — и приятного чтения!

Читать далее

Как Linux готовится ко сну

Уровень сложностиСложный
Время на прочтение26 мин
Количество просмотров23K

Статья о том, как Linux переходит в сон, а потом восстанавливает первоначальное состояние. Разбор аспектов перехода системы в гибернацию, расширяющий понимание работы ОС.

Читать далее

Как переопределить кнопки на клавиатуре в Linux

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров7.4K

Мне было неудобно, что расположение клавиш End, Page Up и PageDown на моей клавиатуре A4Tech FS не совпадало с их расположением на ноутбуке. Решил переставить, но не нашел толковой инструкции на этот счет в интернете, решил написать тут, вдруг кому пригодится. На самом деле всё просто, доступно каждому.

Читать далее

Внутренняя кухня UEFI: что это такое и как мы готовим его в YADRO

Уровень сложностиСредний
Время на прочтение18 мин
Количество просмотров29K

Привет, Хабр. На связи Сергей Пушкарёв, я руковожу отделом разработки BIOS в YADRO. Расскажу об устройстве UEFI и его применении в компании. Мы разрабатываем и выпускаем разные аппаратные платформы: серверы, системы хранения данных, клиентское и телеком-оборудование. 

Один из «кирпичиков», который обеспечивает инициализацию и функционирование оборудования, — это BIOS (но правильнее говорить UEFI 🙂). В статье кратко разберем историю этой системы и ее современную реализацию — UEFI. Также поговорим о подходе к разработке и отладке этого ПО в YADRO.

Вы узнаете, зачем нам нужна «синяя коробка» Intel, как мы прошиваем BIOS и проводим диагностику «в полях».

Читать далее

Зеркала вместо заводов: как город купил себе солнце и немножко разбогател

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров14K

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

На Хабре была подробная статья на эту тему и совершенно эпичные комментарии под ней. А я долго не мог взять в толк, зачем вообще это было нужно (ну, кроме освоения грантов). Пока не прочитал про город Рьюкан, где почти никогда бывает солнца и где освещают кусок центральной площади с помощью зеркал, поворачивающихся вслед за солнцем. История показалась мне достойной того, чтобы рассказать ее отдельно.

да будет свет!

Джойстики из джойстиков своими руками

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров11K

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

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

Ближайшие события

Инфракрасный хакинг: взламываем пульт от телевизора Samsung

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров8K

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

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

В статье поговорим о реверс-инжиниринге и аппаратном хакинге протоколов дистанционного ИК-управления: от подготовки необходимого оборудования до перехвата и декодирования сигналов. Взломаем пульт от телевизора Samsung и поделимся библиотекой ИК-сигналов, которая позволит вам с легкостью декодировать передачи для других устройств — например, камина Electrolux и кондиционера Funai. 

Читать далее

Магия CSS на практике: советы по вёрстке от гика. Часть 6

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров6.1K


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


Сегодня мы рассмотрим:

  • мой подход к написанию стилей для динамической сетки без использования БЭМ-модификаторов;
  • как я перестал писать свойство text-decoration со значением none для элемента <button>;
  • способ для вычисления значения свойства width в зависимости от контента элемента;
  • почему вам стоит удалить все стили с использованием псевдо-класса :focus.

Давайте посмотрим, что я вам подготовил.

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

Как использовать японские подходы в IT. Часть 3: защита от дурака

Время на прочтение5 мин
Количество просмотров14K

На одного мудреца приходится 10 000 дураков.

Японская пословица.

(こんにちは) Конничива! Я Виктор, менеджер проектов в Selectel. В предыдущих частях мы разобрались, что такое кайдзен, а также обсудили, как подходить к нему концептуально. Добро пожаловать в третью часть цикла о применении TPS/TBP (Toyota Production System/Toyota Business Practice) на практике в IT.
Читать дальше →

Можно ли сделать воду твёрдой, если просто сжать её механически?

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров84K

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

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

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

Получается, что вода по сути замерзает из-за уменьшения интенсивности колебаний частичек, которое связанно преимущественно с отводом тепла. Меньше интенсивность — появление устойчивой упорядоченной материи.

Частицы выстраиваются в некоторые модели, образуя кристаллические решетки. В нашем случае это будут кристаллы льда.

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

Читать далее

Как инженеры прошлого измеряли мощность без современных микросхем с DSP: разбираем Энергомеру ЦЭ6806П

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров24K

Рассмотрим прибор Энергомера ЦЭ6806П (2006), созданный по технологиям 80-х, его конструкцию и принципы дискретно-аналоговых вычислений. Так же немного погрузимся в историю измерения мощности в коммерческих приборах учёта прошлого века.

Читать далее

Зависимость от трейдинга: как миллионы людей теряют годы и состояния на торговле

Время на прочтение16 мин
Количество просмотров37K

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

Читать далее

Я мучился с Git, поэтому создал про него игру

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров28K

Прошло два года...


… с тех пор, как я разработал и выпустил Git-Sim — бесплатный опенсорсный инструмент для визуализации команд Git непосредственно в репозиториях пользователя.

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

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