В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.
.Net Developer
А в чем проблема работать с файлами?
Данные - это важный компонент системы. Приложение может хранить их где угодно, но в результате все сводится к файлам. Файлы - это хорошая абстракция, но она протекает: если не знать того, как работают ОС или гарантии файловой системы, то легко выстрелить себе в ногу.
Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:
Кто участвует в процессе записи
Ошибки, которые могут произойти
Что от нас зависит, а что нет
И самое главное - как это этого защититься
Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги?
На Хабре неоднократно в комментариях звучало мнение, что Россия впереди планеты всей по онлайн‑сервисам. Мол, у нас и госуслуги, и финтех, и такси, и доставки — все на высочайшем уровне, а в остальных странах, а особенно в отсталой Европе бедные бюргеры до сих пор стоят в многочасовых очередях, заполняют вручную тонны бумажек и ждут в очередях на кассах чтобы сделать банковский перевод, а курьер не привезет им ночью смузи в течении получаса после заказа. Давайте разбираться, так это или нет.
Почтовый сервер с нуля. Часть первая
Очень часто на этапе стажировки новых сотрудников мы в нашей компании сталкиваемся с типичными простыми ошибками, непониманием работы DNS и почты. При этом обучение новых сотрудников по этой теме — достаточно длительный и сложный процесс, так как сами вопросы требуют построения сложных логических цепочек в голове у начинающего инженера. В один момент мы составили свою вики и схемы для обучения и решили поделиться этим опытом на Хабре в виде серии статей, чтобы людям, которые решили связать свою жизнь с IT вообще и администрированием в частности, стало проще. Материалы этой серии предназначены для начинающих администраторов.
В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.
Жидкостное (водяное) охлаждение для ноутбука своими руками
Всем привет!
На создание данного колхоза изобретения меня вдохновила эта старая статья на Пикабу. Идея родилась примерно за полгода до создания этой СЖО, навязчивой она стала примерно за месяц до, реализовал я её за неделю-две.
В этой статье уважаемый fillgood изобрёл систему охлаждения для ноутбука с упором н мобильность (и у него это получилось более чем отлично). Но, что мне не понравилось – в его случае был изменен поддон (нижняя крышка) ноутбука. Для меня такой вариант не подходил, т.к. этот ноутбук в будущем я планирую продавать, а распиленная крышка явно стоимости при продаже не добавит.
Фотографий, к сожалению, будет немного, т.к. мысль написать об этом проекте статью пришла уже по его завершению.
Итак, что у меня было.
Ускоряем анализ данных в 170 000 раз с помощью Python
В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не в том, чтобы сравнить высокооптимизированный Python с высокооптимизированным Rust. Смысл в том, чтобы сравнить "стандартный-Jupyter-notebook" Python с высокооптимизированным Rust».
Возникает вопрос: какого ускорения мы могли бы достичь, если бы остановились на Python?
Под катом разработчик Сидни Рэдклифф* проходит путь профилирования и итеративного ускорения кода на Python, чтобы выяснить это.
*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.
Майами глазами айтишника
После того, как я написал свое мнение о жизни в Сан-Франциско, многие стали присылать мне вопросы о других городах. "Я неисправимый романтик", - сообщает один читатель, - "и верю что где-то на земле всё-таки есть рай. А как насчет Майами? Я играл в GTA Vice City в детстве, и там все выглядело весьма неплохо".
Если хотите узнать мое полностью предвзятое мнение - читайте дальше.
С новым годом: GPT в 500 строках на SQL
В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.
Мне нравится, когда кто-то или что-то работает за меня. Поэтому решил: попрошу-ка ChatGPT написать за меня новогодний пост:
«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»
Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.
Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.
Взламываем простой смарт-контракт в блокчейне TON
В данной статье мы разберем взлом простейшего смарт-контракта в сети TON. Не переживайте, если вы не знаете, что такое TON или как писать смарт-контракты, в данной статье будет и краткий разбор для "профи блокчейн разработки", так и подробный разбор для новичков.
Величайшая ошибка Эйнштейна
В своей книге: «Оптика: трактат об отражениях, преломлениях, изгибаниях и цветах света», опубликованной на английском языке в 1704 году, Исаак Ньютон анализирует фундаментальную природу света на примере преломления света призмами и линзами, дифракции света близко расположенными листами стекла и поведения цветовых смесей с помощью спектральных ламп или пигментных порошков. Книга «Оптика» стала вторым крупным трудом Ньютона по физическим наукам и считается одной из трёх основных работ по оптике периода научной революции. В конце книги Ньютон приводит список «вопросов» — нерешённых на тот момент физических задач. В частности, он пишет:
«И для отрицания такой среды мы имеем авторитет тех древнейших и знаменитейших философов древней Греции и Финикии, которые сделали вакуум, атомы и тяготение атомов первыми принципами своей философии, молчаливо приписывая тяготение какой-то иной причине, чем плотная материя. Позднейшие философы отбрасывают рассмотрение такой причины… придумывая [вместо неё] гипотезы для механического объяснения всего сущего [Но] главное дело натурфилософии — без притворных гипотез доказывать явления, выводить причины из следствий, пока мы не придём к самой первой причине, которая, конечно, не механическая.»
«И не только для того, чтобы раскрыть механизм мира, но и главным образом для того, чтобы разрешить такие вопросы, как «Что находится в местах, пустых от материи?» и «Почему солнце и планеты тяготеют друг к другу без плотной материи между ними? Почему природа ничего не делает напрасно? И откуда берётся весь тот порядок и красота, которые мы видим в мире? Для чего существуют кометы? И почему планеты движутся все одним и тем же путём в концентрических орбитах, а кометы — разными путями в очень эксцентрических орбитах? И что мешает неподвижным звёздам падать друг на друга?»
Стохастический язык программирования на основе алгоритмов Маркова
MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking
Всем доброго времени суток. В предыдущей статье я затронул тему клиентской разработки браузерной игры. В этой же публикации попробую пролить свет на детали разработки мультиплеера, а именно - разработки игрового websocket-tcp сервера на Netty.
Разберем технические особенности реализации такого сервера, способы улучшения производительности, игровую логику и т.д.
Парадокс Белла для релятивистcкого паровозика
Вскоре после создания специальной теории относительности было разобрано до косточек большое число 'парадоксов' - парадоксов в кавычках, потому что парадоксами они были только для нашего 'здравого смысла', который натренирован на классической ньютоновской механике, которая прошита в нашем мозжечке. Парадокс близнецов, парадокс карандаша и пенала, итд.
Но есть еще один парадокс, парадокс Белла (того самого, чьим именем названо неравенство квантовой механики). Он интересен тремя моментами:
Ищем скам токены с помощью пузырчатых диаграмм в блокчейне TON Часть 1
Часто в криптомире слова децентрализация, смарт-контракты — это всего лишь оболочка для скама или, мягко говоря, нечестных схем.
Можно услышать Do Your Own Research – проводите исследования, но обычный человек, а не венчурная фирма, имеющая штат аналитиков, не может тратить столько времени на анализ.
Ката программиста — путь к недостижимому идеалу. Или как я упал с велосипеда этим летом
Ежедневные тренировки — это основа многих профессий. Музыканты, спортсмены, танцоры, врачи — все они оттачивают своё мастерство с помощью многократных повторений одних и тех же важных для них действий.
Изнуряющие тренировки отнимают много времени и сил. Зато потом, когда понадобится применить своё искусство, тело сделает всё само — «на автомате». А ценные ресурсы мозга будут освобождены для решения более важных задач — стратегического планирования, принятия ключевых решений, поиска новых возможностей. И, конечно, для творчества.
А что же программисты?...
10 интересных научно-фантастических книг 2023 года
К 1 сентября мы подготовили подборку из 10 НФ произведений, вышедших или планирующихся к выходу в этом году в России и которые, как нам кажется, будут интересны любителям жанра. Ведь не только же перечитывать старых добрых Брэдбери, Херберта, Стругацких или Лукьяненко? (спойлер — он тоже есть в подборке).
Сразу оговоримся — никакие рейтинги присваиваться не будут.
1. В подборке представлены не только зарубежные, но и отечественные авторы, некоторые из них пока мало кому известны.
2. Некоторые книги могли быть написаны раньше, но в список они попали, потому что были изданы в 2023 году на русском языке (!) — это очень важный критерий.
3. В подборку вошли только научно-фантастические книги — про классное фэнтези сделаем отдельную статью, если вам понравится формат.
4. Мы не одобряем пиратства, за исключением самиздата, если автор сам распространяет книгу бесплатно. Поэтому приводим ссылки на фрагменты книг для ознакомления, чтобы вы могли решить, нравится ли стиль автора и завязка сюжета.
А давайте убьем все фреймворки?
Общая тенденция развития технологий характеризуется рывками и спадами. Рассмотрим, например, массовое перемещение человеческих тел. Изначально применялись лошади и повозки, которые постепенно стали сложными, и эта технология превратилась в отдельную индустрию. Затем внезапно появились поезда. Про лошадей быстро забыли, и фокус сместился на новое направление. Пар стал объектом исследований и превратился в сложную науку. Параллельно развивались дизель и электричество. В определенный момент паровые двигатели ушли в прошлое, и все перешли на дизель и электричество. Аналогично сейчас происходит переход на электромашины, требующие значительно меньшего количества жидкостей.
Технологии эволюционируют и функционируют, а новые технологии их полностью заменяют. Считаю, что сейчас наступает эпоха, когда технологии фреймворков и Электрона могут быть вытеснены генеративными AI. Рассмотрим несколько примеров.
Как воспитать в своей семье юного инженера и не разориться?
Говорят, собственный пример – это самое лучшее обучение для ребёнка. Рассказываю, как я проверил справедливость этого высказывания на себе, с нуля погрузился в робототехнику и в итоге у меня даже получилось сконструировать нечто стоящее. А ещё в процессе я поднаторел в вопросах экономии средств на покупке довольно дорогостоящих деталей для такого вида хобби.
У вас неправильные перцептроны
Всем привет.
Я ML энтузиаст, и пытаюсь разобраться в нейронных сетях. Пока разбирался у меня появились вопросы, а возможно и ответы.
Собственно, сразу один из моих вопросов: почему перцептрон с несколькими выходами не используется по умолчанию?
Как с помощью практики на LeetCode я получил несколько офферов
После рассказа о том, как я получил работу в Amazon, в этом посте на reddit мне задали множество вопросов о том, как мне помог LeetCode в подготовке к собеседованиям.
В статье я отвечу на эти вопросы.
Сколько времени это заняло?
Я начал готовиться за 2-3 месяца до собеседований в BigTech. В то время я тратил по 2-3 часа в день на подготовку.
Информация
- В рейтинге
- 2 140-й
- Откуда
- Фамагуста, Turkish controlled area, Кипр
- Дата рождения
- Зарегистрирован
- Активность