Search
Write a publication
Pull to refresh
0
0

Пользователь

Send message

Arc — система контроля версий для монорепозитория. Доклад Яндекса

Reading time11 min
Views55K
Системы контроля версий уже давно стали повседневным инструментом разработчика. В больших монорепозиториях требования к ним оказываются весьма специфическими. Из-за этого компании либо адаптируют существующие решения, как это делает Facebook с Mercurial и Microsoft с Git, либо разрабатывают собственные системы: Piper и CitC в Google и Arc VCS в Яндексе.

В докладе разработчик Владимир Кихтенко kikht рассказывает, зачем Яндексу понадобилась собственная система контроля версий и как она работает. Рассмотрим её со стороны рядового разработчика: как получить доступ к исходному коду, отвести ветку для разработки и интегрировать изменения в общую кодовую базу. Заглянем под капот — узнаем про внутреннее представление данных и их отображение в виртуальной файловой системе с рабочей копией. Обсудим трудности при реализации функций VCS в виртуальной файловой системе и при ленивой загрузке данных. Поговорим о том, как обеспечивать надежность серверной инфраструктуры репозитория. В конце можно посмотреть неофициальную запись доклада.

— Всем добрый день, меня зовут Владимир. Вы все слышали выступления о том, что не стоит писать велосипеды. Мой доклад будет с другой стороны баррикад.
Читать дальше →

SD – это Linux, а Midjourney – Mac: краткое полное руководство по Stable Diffusion

Reading time13 min
Views87K
Вот таких тирекс-тянок выдает нейросеть

Текст про Midjourney привлек внимание, и в комментариях наметилась дискуссия про Stable Diffusion. Аргументы убедили меня попробовать SD самостоятельно, но вскоре я понял, что это не самая простая задача. Сообщество любителей Stable Diffusion произвело на свет множество удобных инструментов, которые своим количеством и сложностью могут отпугнуть новичков.

Всю неделю, что я экспериментировал с нейросетью, я боролся с желанием SD добавлять вторичные гендерные признаки по моим запросам и грустил, смотря на результаты генерации котиков. О своих страданиях частично писал в личном Telegram-канале — подписывайтесь! В этом же тексте — собрал основные советы по работе со Stable Diffusion и подвел итог, сравнив эту нейросеть с Midjourney.
Читать дальше →

Сам себе сотовый оператор

Reading time14 min
Views101K
… Кроме типовых для журнала статей, там была статья за авторством некоего «DI HALT» про то, как из двух телефонов и микроконтроллера извлечь кучу лулзов. «Прикольный ник» — подумал мальчик Андрей и перелистнул страницу, ибо ниасилил. А за ней была статья того же автора про то, как скрестить флешку с мышкой. «А вот это нам под силу» — подумал мальчик и убил уже знакомую вам флешку банальной переполюсовкой. Но зато он понял, что электроника — это весело и почти безопасно. — с просторов



Приветствую всех!

Многие из вас наверняка слышали про OsmocomBB. Однако каких-то исчерпывающих мануалов по запуску почему-то крайне мало. Итак, в ходе данной статьи постараемся максимально простым образом запустить собственную базовую станцию из доступных комплектующих. Постараемся разобраться, как сделать так, чтобы оно точно заработало.
Читать дальше →

Реверс-инжиниринг баг-фикса микропроцессора 8086 по снимкам кремния

Reading time8 min
Views15K

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

TCP Congestion Control или Почему скорость прыгает

Reading time4 min
Views125K
Всем привет!

Бывало ли у вас такое, что ставите файл на закачку, и скорость медленно, но верно возрастает, затем, в какой-то момент, резко снижается, затем опять возрастает? Закачка файла в один поток не обеспечивает полную скорость канала? Запускаете торрент-клиент, и пинг в игре сильно прыгает? Используете 3G-модем (или другую линию с относительно большой потерей пакетов) и не можете это терпеть?
Наверняка вы винили во всем ваш роутер, либо обвиняли своего провайдера в кривой настройке шейпера? Это влияет, но виноваты не они.
Итак, встречайте:

TCP Congestion Control, или TCP Congestion Avoidance Algorithm.

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

УКВ FM-радиоприёмник на двух лампах

Reading time8 min
Views26K

Точнее даже на одной, потому что вторая служит выходным усилителем звуковой частоты.

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

Автономный способ обхода DPI и эффективный способ обхода блокировок сайтов по IP-адресу

Reading time7 min
Views757K
Провайдеры Российской Федерации, в большинстве своем, применяют системы глубокого анализа трафика (DPI, Deep Packet Inspection) для блокировки сайтов, внесенных в реестр запрещенных. Не существует единого стандарта на DPI, есть большое количество реализации от разных поставщиков DPI-решений, отличающихся по типу подключения и типу работы.

Существует два распространенных типа подключения DPI: пассивный и активный.

Пассивный DPI

Пассивный DPI — DPI, подключенный в провайдерскую сеть параллельно (не в разрез) либо через пассивный оптический сплиттер, либо с использованием зеркалирования исходящего от пользователей трафика. Такое подключение не замедляет скорость работы сети провайдера в случае недостаточной производительности DPI, из-за чего применяется у крупных провайдеров. DPI с таким типом подключения технически может только выявлять попытку запроса запрещенного контента, но не пресекать ее. Чтобы обойти это ограничение и заблокировать доступ на запрещенный сайт, DPI отправляет пользователю, запрашивающему заблокированный URL, специально сформированный HTTP-пакет с перенаправлением на страницу-заглушку провайдера, словно такой ответ прислал сам запрашиваемый ресурс (подделывается IP-адрес отправителя и TCP sequence). Из-за того, что DPI физически расположен ближе к пользователю, чем запрашиваемый сайт, подделанный ответ доходит до устройства пользователя быстрее, чем настоящий ответ от сайта.
Читать дальше →

Взлёт и падение «Живого Журнала». Часть 1: как ЖЖ родился и стал русскоязычным

Reading time9 min
Views32K

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

Именно там кипели бурные страсти и жуткие ср*чи, рождались мемы и дискурсы, вспыхивали звёзды знаменитых блогеров и афедроны комментаторов. Кащениты тгавили пейсателя, падонки учили олбанскей, аффтарами писались тонны лытдыбров, а с многострадальным головным убором Антона Носика чего только ни происходило.

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

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

Модификация UEFI BIOS, часть первая: знакомство с UEFITool

Reading time6 min
Views224K
Прикрываясь полумифическими «безопасностью» и «защитой простого пользователя от буткитов» производители UEFI все сильнее закручивают гайки с каждым новым поколением своих продуктов. При этом поддержка предыдущих поколений быстро сходит на нет, и их пользователям ничего не остается, кроме как брать эту самую поддержку в свои руки. Конечно, при отсутствии исходного кода вносить какие-то изменения довольно сложно, но и без него можно сделать многое.
В своих предыдущих статьях об UEFI я планировал описать различные полезные модификации, которые помогают преодолеть некоторые заложенные производителями ограничения, но тогда до них руки не дошли, зато теперь — самое время.
В первой части этой статьи я опишу работу с написанным мной инструментом для модификации образов UEFI, а вторая будет посвящена самим модификациям.
К первой части

Почему электроника выгорает перед грозой

Reading time6 min
Views28K

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

Но в чём именно заключается причина выгорания, если гроза так и не началась, дождя не было, молнию никто не видел? Почему выгорают сетевые карты в выключенных компьютерах?

TL;DR: проблема заключается в заряде статического электричества, который накапливается перед грозой, во время грозового положения. А молния действует как «дистанционный» спусковой крючок. То есть даже далёкая молния на расстоянии в несколько километров может повредить компьютерное оборудование.
Читать дальше →

Аппаратный ЭЛТ-фильтр для картинок

Reading time10 min
Views12K

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

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

Как вы понимаете, этот проект — самый эпичный долгострой в моей жизни, раз я задумал его ещё в конце 2000-х. Где-то примерно в году 2015 он работал для друзей, и даже в 2016 году он ездил на Chaos Construction. Но это всё было не то, интерфейсы не те. И вот, наконец проект завершён, и может быть показан широкому зрителю.

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

Поехали, ниже много аппаратной жести.
Читать дальше →

Эмбарго на A-GPS или почему смартфоны стали плохо определять местоположение

Reading time5 min
Views154K

Ориентировочно с мая 2022 года в разных темах на форуме 4PDA и других интернет-площадках начали появляться сообщения вида "Что-то смартфон стал плохо ловить спутники GPS и показывать точное местоположение". Многие связывали это с обновлениями прошивок, пробовали откатываться, использовать различные приложения, дергающие различные API Android...

Объединяло все эти жалобы два момента: все смартфоны на чипах Qualcomm Snapdragon различных поколений, и все пользователи были из РФ.

Читать далее

Изучаем изображения, использованные для обучения модели Stable Diffusion

Reading time8 min
Views5.4K

Больше всего расстраивает в ИИ-моделях генерации изображений по текстовым описаниям то, что они походят на «чёрный ящик». Мы знаем, что их обучали на скачанных из веба изображениях, но каких именно? Любому художнику или фотографу интересно, использовались ли его работы для обучения ИИ-модели, но на этот вопрос неожиданно трудно ответить.

Иногда данные полностью недоступны: OpenAI сообщает, что обучила DALL-E 2 на сотнях миллионов изображений с подписями, но не опубликовала проприетарные данные. Команда разработчиков Stable Diffusion, напротив, очень прозрачно говорит о том, как обучалась её модель. Так как недавно её опубликовали для общего доступа, Stable Diffusion испытала взрывную популярность, в основном благодаря своей свободной и мягкой лицензионной политике. Модель уже встроена в новую бету Midjourney, NightCafe и собственное приложение Stability AI под названием DreamStudio, а также доступна для работы на собственном компьютере.
Читать дальше →

Почему ваш веб-сайт должен быть меньше 14 КБ

Reading time6 min
Views72K

Чем меньше веб-сайт, тем быстрее он грузится, и это неудивительно.

Удивительно то, что страница на 14 КБ может грузиться гораздо быстрее, чем страница на 15 КБ, даже на 612 мс быстрее, хотя разница между страницами на 15 КБ и 16 КБ минимальна.

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

Портирование DOS игр. Tutorial

Level of difficultyMedium
Reading time12 min
Views9.5K

Мотивация к написанию статьи

Уважаемые коллеги, доброго времени суток!

Этой статьей я хочу показать приёмы портирования программ между аппаратно-программными платформами, и привлечь внимание к книге «Секреты программирования игр» Андрэ Ламота, 1995, которую вспомнят добрым словом многие разработчики компьютерных игр, и другим не менее полезным книгам этого автора.

Нам интересны приёмы портации, но мы так же проведём ревью, проверим насколько долговечен код 25-тилетней давности, и насколько сложно его портировать на любые современные платформы.

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

Читать далее

BigQuery. Что делать, если повредил или случайно удалил таблицы

Reading time3 min
Views7.9K

Как быть, если случайно удалил или повредил таблицу в BigQuery? Первое о чем нужно помнить: BigQuery хранит состояние вашей существующей таблицы на любой момент времени в течение прошедших 7 дней + у вас есть 2 суток, чтобы восстановить случайно удаленную таблицу. Рассмотрим, как это все провернуть.

Читать далее

Downclocking оперативной памяти на MacBook

Reading time7 min
Views41K
Хочу поделиться своим опытом апгрейда своего MacBook6,1 A1342 (увеличение памяти до 8Гб, установка SSD) и решении ряда проблем связанных с установкой системы на новый диск и борьба с глюками несовместимости RAM.

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

Подключаем алфавитно-цифровой экран к VGA

Reading time5 min
Views17K

Нет, это не шутка. В действительности к VGA, DVI, HDMI можно подключать различные устройства, и даже питать их. И это очень удобный способ работы с различными устройствами и нестандартное использование обычного интерфейса.

Ларчик просто открывается, всё дело в том, что в интерфейсе VGA (а также в других видеоинтерфейсах) присутствует ещё одна шина данных I²C, которая доступна для использования и её легко можно применить в своих самоделках.
Читать дальше →

Сжатие изображений при помощи модели Stable Diffusion

Reading time10 min
Views13K
image

Введение


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

В процессе экспериментов с моделью я обнаружил, что она подходит в качестве чрезвычайно эффективного кодека сжатия изображений с потерями. Прежде чем приступать к описанию своей методики и демонстрации кода, вот несколько результатов модели по сравнению с JPG и WebP с высокой степенью сжатия. Все изображения имеют разрешение 512x512 пикселей:
Читать дальше →

Реальная скорость Wi-Fi (на предприятиях)

Reading time11 min
Views45K
Непрекращающийся хайп вокруг гигабитных скоростей Wi-Fi современных стандартов провоцирует инженеров прояснять эту тему понятным для всех образом.
Что пытаются натянуть за уши маркетологи? Что говорят инженеры? Где же истина?
Как всегда, где-то рядом. Какой пропускной способности ожидать в реальных условиях и почему – вы найдете ответ в этой статье. Если совсем нет времени читать, а хочется знать волшебную цифру – 75 Мбит/c на двухдиапазонную точку доступа, на всех. Кому интересны детали, читайте дальше.


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

Information

Rating
Does not participate
Registered
Activity