Сегодня предлагаю совместить ностальгию и экскурс в историю с компьютерной некромантией. На днях мой коллега Михаил Синельников @m_sinelnikov поделился интересным образцом истории отечественного ИТ — Ricor Compi 100. Явно старый компьютер, больше похожий на игрушечные китайские пластиковые телефоны‑раскладушки, продававшиеся ближе к 2000-годам, или на «чемоданчики» iBook.
Копнув чуть глубже, я узнала, что это учебный ноутбук, выпускавшийся с 1996 года. Но информации в сети о нем мало, и нет как таковых цельных историй и обзоров, кроме одного единственного. Решили с Михаилом объединить усилия и написать расширенный материал‑оду этому забавному образцу российского ИТ.
Читать далееВы, конечно, знаете, что сервер является сердцем любого онлайн-сервиса или офисной сети. Именно серверы обеспечивают работоспособность наших любимых веб-сайтов, приложений, игр и социальных сетей, а нам позволяют открывать их 24 часа в сутки 7 дней в неделю. Эта статья — для новичков, которые не задумывались, чем отличаются серверы друг от друга, какими они бывают, а также коснемся вопроса выбора сервера.
Дисклеймер: это вводный материал в серии, посвященной серверам. Тут мы разберем основные понятия. А для тех, кто с серверами "на ты", совсем скоро выйдут материалы, в которых мы более глубоко разберем различные аспекты, касающиеся серверов, с профессиональной точки зрения.
Читать далее
В этой статье мы рассмотрим, как статический анализатор PVS-Studio воодушевляет заняться рефакторингом кода. Ведь чем короче, проще и понятнее код, тем меньше в нём ошибок.
Airflow в Lamoda Tech играет роль оркестратора процессов обработки данных. Ежедневно с его помощью мы запускаем 1 800+ тасок на проде, примерно половина из которых являются Spark-приложениями.
Все Spark-приложения сабмитятся из Docker-контейнеров. И здесь сталкиваемся с проблемой: в нашем случае не существует готовых решений для запуска Spark-приложений, позволяющих легко править конфигурацию и следить за количеством потребляемых ресурсов.
Меня зовут Андрей Булгаков, я лид команды разработчиков Big Data в Lamoda Tech. Вместе с разработчиком Иваном Васенковым в этой статье мы поделимся историей создания Airflow-оператора для запуска Spark-приложений.
Читать далее
Hello world!
Книга рецептов — это коллекция простых примеров, демонстрирующих хорошие практики решения распространенных задач программирования с помощью крейтов экосистемы Rust.
Читать дальше →Добрый день, уважаемые читатели Хабр. По роду деятельности, я уже некоторое время занимаюсь вопросами NLP, в частности, генеративными большими языковыми моделями и, реализованными, на них чат-ботами. При этом, очень часто в их разработке возникает ряд проблем, с которыми приходится постоянно бороться. Одна из них — «галлюцинирование» моделей, то есть выдача неточной информации на поступающие запросы от пользователя, и, в целом, некорректное поведение модели при длительном ведении диалогов различной степени направленности, специфики, глубины рассуждений, оценки фактов и правдивости выдаваемых ответов.
Исходя из этого, я решил систематизировать все имеющиеся по этой теме сведения. Сразу оговорюсь, статья носит обзорный характер и я ставлю своей целью обобщение фактов, причин и признаков такого поведения. Поиск возможных вариантов, методик и подходов для решения данной проблемы будут рассмотрены в следующей статье. Здесь, не будет кода и строгих выкладок, лишь, наблюдения, аналитика, способы оценки, выявленные закономерности и оценка работы в общем.
В качестве результата исследования, предлагается описание общей ситуации с обнаруженными возможными проявлениями феномена «галлюцинирования». На целостность и завершенность обзора, при описании полученных вариаций и проявлений данного факта, не претендую. Это результаты моего поиска и анализа. Информация собиралась, буквально по крупицам, так как все сведения сильно разрознены, проявления их в «дикой природе» не всегда можно заметить и четко классифицировать, либо они начинают проявляться спустя большое количество тестов, диалогов, рассуждений, запросов, вариантов подачи подсказок и уточнений на поставленные запросы и исходных текстов. Кроме всего прочего, градация распределения этих аномалий по степени отслеживания, так же, сильно разнится. Есть те, которые проявляются весьма быстро, а есть крайне редкие, для которых нужен специфических, очень тонкий подход. Ниже я представлю данный перечень с подробными пояснениями, так что всех прошу под кат.
Читать далееНа днях была опубликована новая версия языка программирования Mojo, теперь это 24.3. Новинка получила несколько важных компонентов, которые требуются для создания приложений на этом языке. Например, компилятор, интерактивная REPL-оболочка для сборки и запуска программ, отладчик, дополнение к редактору кода Visual Studio Code (VS Code) и т. п.
Стоит отметить, что исходники открыты под лицензией Apache 2.0. После того как будет завершено проектирование внутренней архитектуры, разработчики откроют и код компилятора. Ну а подробности изменений и дополнений — под катом.
Читать далееНаверное многие слышали историю, рассказанную М. Задорновым в одном из своих выступлений, про трех поросят выпущенных в американской школе с номерами 1, 2 и 4 с панчлайном о том, как полиция долго искала поросенка номер 3.
Мое знакомство с компьютерами типа IBM PC происходило по похожему сценарию. В юности (начало 90х), в скудной литературе регулярно мелькали процессоры 8086(8088) и 80286, 386, затем 486 и т.д. Однако процессор 80186, который было бы логично ожидать не попадался.
Читать далее«Через пять лет мы увидим решения, которые смогут заменить как минимум 50% программистов уровня junior и middle», ― шокирует один из экспертов недавней дискуссии, прошедшей на Youtube-канале Ai4Dev. Но так ли страшен черт, как его малюют? Более ста тысяч строк кода в секунду, автоматизация рутинных задач, повышение эффективности ― все это уже часть нашей реальности благодаря применению ИИ в разработке. Однако не все согласны с тем, что искусственный интеллект ― это лекарство от всех болезней. «Именно люди двигают компанию. И генеральный директор, и дворник ― каждый вносит свой вклад», ― напоминает другой участник разговора. Так что же нас ждет ― революция или эволюция? Ответы на этот и другие вопросы вас ждут в сегодняшнем новом материале блога ЛАНИТ на Хабре.
Читать далееИнтерес к умным квартирам сегодня огромный, но как быть в поездке? Есть ли умные отели, где будешь чувствовать себя, как дома?
Больше года назад мы побывали в отеле «Вертикаль», где познакомились с функциями автоматизации. Нас они не впечатлили, можно лучше. Настало время посетить другой проект: отель «Южный» в г. Волгограде.
Мы расскажем о том, какие умные функции были добавлены к номерам после реновации отеля. Интересно? Ныряйте под кат.
Читать далееМногие Golang-разработчики пробовали работать с БД в Go, и у каждого — свои боли. В этой статье разберём библиотеку database/sql как безотносительно конкретной СУБД, так и применительно к YDB. Рассмотрим трудности эксплуатации при использовании драйвера database/sql на проде. А также рассмотрим, что мы делали для решения проблем.
Меня зовут Алексей Мясников, я — руководитель Application Team в команде разработки YDB. Я очень люблю git blame за то, что с его помощью можно проследить как развивалась инженерная мысль с течением времени и немножко побыть в шкуре разработчика той или иной классной штуки. В статье я расскажу как реализовать драйвер database/sql для распределённой базы данных, какие проблемы при этом придётся преодолеть и как менялся подход с выходом новых версий Go.
Читать далееПриветствуем!
Так получилось, что нам достались два аттенюатора Agilent 8494H и 8496H. Они долго лежали без дела, поскольку отсутствовал контроллер управления. Конечно, четыре простых переключателя справились бы с этой задачей, но хотелось реализации с дисплеем показывающий текущее значение затухания и программное управление. Проект сделан в EasyEDA и Atmel Studio.
Читать далееПривет всем! Меня зовут Юля, я фронтенд-разработчик, наставник на курсах по JS и React и организатор профессионального сообщества Tbilisi JS. В Практикуме я помогаю студентам на курсе «React-разработчик».
За время работы в разных компаниях и над разными проектами я поняла, что Git — это не только (и не столько!) знание самой технологии и конкретных команд, но и определённая культура взаимодействия, практики, подходы, договорённости. Всё это помогает участникам команды лучше понимать друг друга и работать быстрее и чётче.
Поговорим как раз об этом — о том, что формирует культуру работы с Git: начнём с конвенций именования коммитов и закончим практиками работы в пуллреквесте. В конце статьи я поделюсь полезными ссылками на интерактивные обучалки, шпаргалки и гайды.
Читать далееПродолжая излагать, в популярной форме, нюансы устройства железнодорожного тормоза, я, на протяжении пяти статей старательно увиливал от, с моей точки зрения, наиболее сложной и интересной темы - устройства грузовых приборов торможения. В силу специфики грузового движения, устройства торможения на грузовых вагонах и локомотивах являют собой достаточно хитроумные приборы. Подходить к изложению принципов их работы следует с пониманием дела и особой осторожностью, дабы не ввести в читателя в заблуждения. Тем более, что к этому обязывает фабула данного цикла статей. Разобраться в данном вопросе и написать таки долгожданную публикацию меня побудили причины сугубо личные. И как всегда, поймав истину за хвост, спешу поделиться с читателями.
Читать далееЭто перевод одной из глав книги Game programming patterns Роберта Найстрома. Так как книга по сути состоит из подробного описания шаблонов проектирования, каждая глава может рассматриваться как самостоятельная статья, чем я и воспользовался и перевел, как мне кажется, статью с самым важным паттерном в игростроении — Game loop.
Читать далееСпустя года наблюдений за hr’ами и руководителями в стартапах и корпорациях я нашел достаточный путь к тому, чтобы расставаться с сотрудниками и в большей степени сохранять их лояльность ко мне как к руководителю и не оставлять плохие отзывы о компании.
Читать далее