Как стать автором
Обновить
4
0.2
Виталий Качан @MANAB

.Net Developer

Отправить сообщение

16-битная операционная система на коленках

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

В мире компьютерных наук мало что может сравниться с созданием собственной операционной системы. В этой статье мы погрузимся в увлекательный мир разработки операционных систем, создав 16-битную ОС с помощью языка ассемблера NASM под архитектуру процессоров Intel x86-64. Мы рассмотрим каждый этап разработки, начиная с основ и заканчивая реализацией ключевых компонентов.

Заменит Windows?
Всего голосов 37: ↑41 и ↓-4+45
Комментарии34

А в чем проблема работать с файлами?

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

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

Меня увлекла тема отказоустойчивости, а конкретно - отказоустойчивой работы с файлами. В этой статье я попытался соединить все полученные знания:

Кто участвует в процессе записи

Ошибки, которые могут произойти

Что от нас зависит, а что нет

И самое главное - как это этого защититься

Читать далее
Всего голосов 170: ↑169 и ↓1+168
Комментарии23

Правда ли, что в Европе везде отсталые сервисы, медленные платежи и плохие онлайн-услуги?

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

На Хабре неоднократно в комментариях звучало мнение, что Россия впереди планеты всей по онлайн‑сервисам. Мол, у нас и госуслуги, и финтех, и такси, и доставки — все на высочайшем уровне, а в остальных странах, а особенно в отсталой Европе бедные бюргеры до сих пор стоят в многочасовых очередях, заполняют вручную тонны бумажек и ждут в очередях на кассах чтобы сделать банковский перевод, а курьер не привезет им ночью смузи в течении получаса после заказа. Давайте разбираться, так это или нет.

Читать далее
Всего голосов 283: ↑245.5 и ↓37.5+208
Комментарии1129

Почтовый сервер с нуля. Часть первая

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

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

В этом материале будет представлена связка полноценного почтового сервера в виде Exim4+Dovecot+PostfixAdmin+RainLoop.

Читать далее
Всего голосов 20: ↑19 и ↓1+18
Комментарии26

Жидкостное (водяное) охлаждение для ноутбука своими руками

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

Всем привет!

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

В этой статье уважаемый fillgood изобрёл систему охлаждения для ноутбука с упором н мобильность (и у него это получилось более чем отлично). Но, что мне не понравилось – в его случае был изменен поддон (нижняя крышка) ноутбука. Для меня такой вариант не подходил, т.к. этот ноутбук в будущем я планирую продавать, а распиленная крышка явно стоимости при продаже не добавит.

Фотографий, к сожалению, будет немного, т.к. мысль написать об этом проекте статью пришла уже по его завершению.

Итак, что у меня было.

Читать далее
Всего голосов 30: ↑29 и ↓1+28
Комментарии39

Ускоряем анализ данных в 170 000 раз с помощью Python

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

В статье «Ускоряем анализ данных в 180 000 раз с помощью Rust» показано, как неоптимизированный код на Python, после переписывания и оптимизации на Rust, ускоряется в 180 000 раз. Автор отмечает: «есть множество способов сделать код на Python быстрее, но смысл этого поста не в том, чтобы сравнить высокооптимизированный Python с высокооптимизированным Rust. Смысл в том, чтобы сравнить "стандартный-Jupyter-notebook" Python с высокооптимизированным Rust».

Возникает вопрос: какого ускорения мы могли бы достичь, если бы остановились на Python?

Под катом разработчик Сидни Рэдклифф* проходит путь профилирования и итеративного ускорения кода на Python, чтобы выяснить это.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.

Читать далее
Всего голосов 58: ↑57 и ↓1+56
Комментарии3

Майами глазами айтишника

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

После того, как я написал свое мнение о жизни в Сан-Франциско, многие стали присылать мне вопросы о других городах. "Я неисправимый романтик", - сообщает один читатель, - "и верю что где-то на земле всё-таки есть рай. А как насчет Майами? Я играл в GTA Vice City в детстве, и там все выглядело весьма неплохо".

Если хотите узнать мое полностью предвзятое мнение - читайте дальше.

Читать далее
Всего голосов 79: ↑77 и ↓2+75
Комментарии42

С новым годом: GPT в 500 строках на SQL

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

В минувшем году все только и говорили об ИИ и о том, как он может всё за вас сделать.

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

«Эй, ChatGPT. А ты можешь реализовать большую языковую модель на SQL?»
«Нет, SQL не подходит для реализации больших языковых моделей. Язык SQL предназначен для выполнения запросов к данным, хранящимся в РСУБД и для управления этими запросами. Для реализации большой языковой модели требуются сложные алгоритмы, обширные датасеты, а зачастую — и фреймворки для глубокого обучения. SQL всеми этими возможностями не обладает.»

Что ж, лишний раз убеждаешься, что, если хочешь что‑то сделать хорошо – сделай это сам.

Давайте же воодушевимся этим оптимистическим планом и реализуем большую языковую модель на языке SQL.

Читать далее
Всего голосов 215: ↑211 и ↓4+207
Комментарии21

Взламываем простой смарт-контракт в блокчейне TON

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

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

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Величайшая ошибка Эйнштейна

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


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

«И для отрицания такой среды мы имеем авторитет тех древнейших и знаменитейших философов древней Греции и Финикии, которые сделали вакуум, атомы и тяготение атомов первыми принципами своей философии, молчаливо приписывая тяготение какой-то иной причине, чем плотная материя. Позднейшие философы отбрасывают рассмотрение такой причины… придумывая [вместо неё] гипотезы для механического объяснения всего сущего [Но] главное дело натурфилософии — без притворных гипотез доказывать явления, выводить причины из следствий, пока мы не придём к самой первой причине, которая, конечно, не механическая.»

«И не только для того, чтобы раскрыть механизм мира, но и главным образом для того, чтобы разрешить такие вопросы, как «Что находится в местах, пустых от материи?» и «Почему солнце и планеты тяготеют друг к другу без плотной материи между ними? Почему природа ничего не делает напрасно? И откуда берётся весь тот порядок и красота, которые мы видим в мире? Для чего существуют кометы? И почему планеты движутся все одним и тем же путём в концентрических орбитах, а кометы — разными путями в очень эксцентрических орбитах? И что мешает неподвижным звёздам падать друг на друга?»
Читать дальше →
Всего голосов 79: ↑69 и ↓10+59
Комментарии84

Стохастический язык программирования на основе алгоритмов Маркова

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

MarkovJunior — это вероятностный язык программирования, в котором программы являются сочетаниями правил перезаписи, а инференс выполняется при помощи распространения ограничений. MarkovJunior назван в честь математика Андрея Андреевича Маркова, придумавшего и исследовавшего то, что сейчас называется алгоритмами Маркова.
Читать дальше →
Всего голосов 139: ↑139 и ↓0+139
Комментарии24

Разработка высоконагруженного игрового WebSocket сервера на Java, Netty с поддержкой BattleRoyale/Matchmaking

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

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

Читать далее
Всего голосов 9: ↑9 и ↓0+9
Комментарии7

Парадокс Белла для релятивистcкого паровозика

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

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

Но есть еще один парадокс, парадокс Белла (того самого, чьим именем названо неравенство квантовой механики). Он интересен тремя моментами:

Читать далее
Всего голосов 54: ↑53 и ↓1+52
Комментарии257

Ищем скам токены с помощью пузырчатых диаграмм в блокчейне TON Часть 1

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

Часто в криптомире слова децентрализация, смарт-контракты — это всего лишь оболочка для скама или, мягко говоря, нечестных схем.

Можно услышать Do Your Own Research – проводите исследования, но обычный человек, а не венчурная фирма, имеющая штат аналитиков, не может тратить столько времени на анализ.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии1

Ката программиста — путь к недостижимому идеалу. Или как я упал с велосипеда этим летом

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

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

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

А что же программисты?...

Читать далее
Всего голосов 39: ↑37 и ↓2+35
Комментарии26

10 интересных научно-фантастических книг 2023 года

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

К 1 сентября мы подготовили подборку из 10 НФ произведений, вышедших или планирующихся к выходу в этом году в России и которые, как нам кажется, будут интересны любителям жанра. Ведь не только же перечитывать старых добрых Брэдбери, Херберта, Стругацких или Лукьяненко? (спойлер — он тоже есть в подборке).

Сразу оговоримся — никакие рейтинги присваиваться не будут.  
1. В подборке представлены не только зарубежные, но и отечественные авторы, некоторые из них пока мало кому известны.
2. Некоторые книги могли быть написаны раньше, но в список они попали, потому что были изданы в 2023 году на русском языке (!) — это очень важный критерий. 
3. В подборку вошли только научно-фантастические книги — про классное фэнтези сделаем отдельную статью, если вам понравится формат.
4. Мы не одобряем пиратства, за исключением самиздата, если автор сам распространяет книгу бесплатно. Поэтому приводим ссылки на фрагменты книг для ознакомления, чтобы вы могли решить, нравится ли стиль автора и завязка сюжета.

Читать далее
Всего голосов 34: ↑31 и ↓3+28
Комментарии16

А давайте убьем все фреймворки?

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

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

Технологии эволюционируют и функционируют, а новые технологии их полностью заменяют. Считаю, что сейчас наступает эпоха, когда технологии фреймворков и Электрона могут быть вытеснены генеративными AI. Рассмотрим несколько примеров.

Нажимайте вот эту вот кнопотуленку
Всего голосов 134: ↑108 и ↓26+82
Комментарии274

Как воспитать в своей семье юного инженера и не разориться?

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

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

Короче, слушайте
Всего голосов 64: ↑62 и ↓2+60
Комментарии32

У вас неправильные перцептроны

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


Всем привет.

Я ML энтузиаст, и пытаюсь разобраться в нейронных сетях. Пока разбирался у меня появились вопросы, а возможно и ответы.

Собственно, сразу один из моих вопросов: почему перцептрон с несколькими выходами не используется по умолчанию?

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии16

Как с помощью практики на LeetCode я получил несколько офферов

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

После рассказа о том, как я получил работу в Amazon, в этом посте на reddit мне задали множество вопросов о том, как мне помог LeetCode в подготовке к собеседованиям.

В статье я отвечу на эти вопросы.

Сколько времени это заняло?

Я начал готовиться за 2-3 месяца до собеседований в BigTech. В то время я тратил по 2-3 часа в день на подготовку.

Читать далее
Всего голосов 46: ↑40 и ↓6+34
Комментарии54
1
23 ...

Информация

В рейтинге
2 140-й
Откуда
Фамагуста, Turkish controlled area, Кипр
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Game Developer
Lead
От 10 000 $
C#
.NET
Git
SQL
English
REST
ASP.Net
ASP Classic
.NET Core
Unity3d