Как стать автором
Обновить

Все потоки

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

Каково это, создавать язык программирования сегодня?

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

«Эта книга – классика. Относитесь к ней бережно».

Такую фразу произнёс архитектор из нашей команды, передавая мне The Dragon Book. Разработкой компиляторов я увлёкся где-то 15 лет назад ещё на заре своей карьеры. Как-то раз, читая эту книгу поздно вечером, я заснул, небрежно уронив её на пол. Надеюсь, владелец не заметил небольшую вмятину на обложке после того, как я ему её вернул.

Вышла эта книжка в 1986 году. В те времена создание компиляторов было крайне сложной задачей, требовавшей обладания различными навыками в области компьютерных наук в целом и программирования в частности. Теперь, почти четыре десятилетия спустя, этой задачей занимаюсь я. Насколько сложна она сегодня? Приглашаю вместе разобрать процесс создания языка и посмотреть, насколько современные инструменты его упростили.
Читать дальше →
Всего голосов 62: ↑59 и ↓3+56
Комментарии5

Ностальгическая Action-RPG с фанатским ремастером

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

В самом начале нулевых мне посчастливилось сыграть в Nox, удививший меня нетипичной комбинацией геймплейных механик, затягивающим игровым процессом и интересной завязкой! Могу сказать, что это был довольно необычный для своего времени проект, который даже по прошествии десятилетий почти не имеет аналогов. Мне хорошо запомнилось, как в те годы его сравнивали, да и продолжают почему-то это делать в наши дни, с Diablo II, что кажется очень странным. На мой взгляд, игры совершенно непохожие, с разной центральной механикой и геймплейной сутью, с абсолютно различным подходом к развлечению игрока. Но, думаю, это произошло оттого, что проекты вышли почти одновременно (с интервалом менее, чем полгода), и многие ещё неопытные в терминах игроки (да и пресса) очень часто называли их братьями по жанру, во многом из-за изометрического вида и сражений с монстрами с помощью навыков. Вот только сравнение этих двух игр сейчас, спустя десятки лет, не несёт в себе никакого вреда, а тогда такое обсуждение ничего, кроме урона по репутации, создателям Nox не приносило (ну ведь правда, если я хочу диаблоид, зачем мне Nox, когда есть сиквел Diablo?). Из-за этого продавалась игра не так хорошо, как хотелось бы студии и издателю.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии31

Как следует произносить название СУБД PostgreSQL

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

Очень часто можно услышать, как люди произносят название СУБД PostgreSQL в следующих вариантах: Постгре́ (наверное, на французский манер) или По́стгре (наверное, по аналогии с произношением названия немецкого бренда Pórsche). Возможно, имеет место быть еще вариант Постгр (по аналогии с Ogre — Огр, хотя на английский манер это бы превратилось по звучанию в Постгэр/Постгэ).

Читать далее
Всего голосов 87: ↑72 и ↓15+57
Комментарии100

Ламповый дисплей для компьютера, часть 5: коллектор, видеоусилитель и изображение

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров9.6K
Рад приветствовать всех, читающих уже пятую часть цикла статей о ламповом дисплее для компьютера, в которой можно рассмотреть долгожданный результат проделанной опытно-конструкторской работы. Прежде чем перейти к такому описанию, кратко напомню содержание предыдущих частей:

  • Часть 1 – обзор существующих концепций для построения необычных дисплейных устройств и выбор своей собственной
  • Часть 2 – запуск ЭЛТ и фокусировка электронного пучка в ней
  • Часть 3 – описание блоков синхронизации и кадровой развертки
  • Часть 4 – описание финальной сборки блока питания и блока разверток, получение растра на экране

image
Читать дальше →
Всего голосов 137: ↑137 и ↓0+137
Комментарии26

Истории

Делаем RPG на Go: часть 0

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

Один из самых частых вопросов в нашем сообществе разработке игр на Go — это с чего начать.


В этой серии статей мы будем изучать движок Ebitengine и создадим RPG в процессе.


Читать дальше →
Всего голосов 38: ↑37 и ↓1+36
Комментарии8

api2app — быстрое создание графического интерфейса для API

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

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

При помощи api2app можно быстро создать графический интерфейс для API. Его можно использовать для тестирования или демонстрации работы вашего API. Созданным приложением можно поделиться со всеми желающими или использовать по приватной ссылке.

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

Как мы заработали 1700000 руб на Telegram-боте для создания фотокниг с помощью нейросети. Фейлы и выводы

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

Решил сэкономить вам 2 года, и разобрать фейлы, которые мы допустили на этапе запуска и продвижения продукта. Будет полезно, если думаете запустить свой IT продукт.

Читать далее
Всего голосов 145: ↑128 и ↓17+111
Комментарии132

Что нового в IMSProg?

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

Пару месяцев назад я писал историю создания программатора микросхем CH341a для Linux систем. Благодаря вашим отзывам и комментариям программа изменилась, надеюсь в лучшую сторону.

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

К 30-летнему юбилею DOOM: как два садиста, психопат и мормон создали одну из величайших игр в истории? Часть 6

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

В прошлый раз мы оставили наших героев в тот важный для нашей эпопеи момент, когда в процессе работы над Wolfenstein 3D они перебрались из холодного криминального пригорода Мадисона, штат Висконсин, в жаркий и консервативный пригород Далласа под названием Мескит. Именно этому месту было суждено стать колыбелью Doom. Что иронично, именно жители Мескита десятком лет ранее пытались запретить в США компьютерные игры за разврат, сотонизм и насилие.

Все части цикла статей о создании DOOM:
Читать дальше →
Всего голосов 76: ↑75 и ↓1+74
Комментарии15

Информация об информации. Энтропия Шеннона, демон Максвелла и предел Ландауэра

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

Информация – одно из самых неоднозначных и неопределённых понятий в науке и философии. Для гуманитария это любые сведения, которые можно запомнить и передать в устной или письменной форме. Для математика это абстрактная сущность, сохраняющаяся при вычислительном изоморфизме. Для физика-теоретика это набор квантовых чисел, характеризующих состояние элементарной частицы. Для программиста это цифровые данные, которые можно представить в двоичном коде и измерить в битах. Для философа-материалиста это отражение многообразия окружающего мира с помощью знаков и сигналов. Для философа-идеалиста это нематериальная, неизмеримая и нелокальная сущность, что-то связанное с духом или сознанием. Для эзотериков это некая метафизическая субстанция или информационное поле. Что же такое информация на самом деле? В данной лекции я покажу, что информация – физическая, объективная, измеряемая величина, в которой нет ничего субъективного и мистического. Заодно мы разберёмся, что такое энтропия по Шеннону, насколько избыточен естественный язык, в чём заключается принцип Ландауэра и обладает ли информация массой.

Читать далее
Всего голосов 47: ↑45 и ↓2+43
Комментарии166

Вышел LibreOffice 24.2: что нового и что это за версия такая? Подробности о релизе

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

Разработчики офисного пакета LibreOffice представили новую версию. Сразу стоит сказать, что в заголовке не опечатка и не ошибка (ну, вдруг, вы не знаете) — это просто новая нумерация версия. Она привязывается к датам, отображая как год, так и месяц формирования релиза. Соответственно, поскольку новинка появилась в феврале 2024 года, то и нумерация такая. Но кроме этого, у пакета есть еще немало нововведений и изменений. Подробности — под катом.
Читать дальше →
Всего голосов 59: ↑59 и ↓0+59
Комментарии33

Как мошенники научились подтверждать личность в банке. Всё оказалось проще…

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

Наступил 2024 год. Год технологий и новых мошеннических схем!

25 января

Все началось в четверг, когда мне не удалось войти в личный кабинет Тинькофф Банка. Заподозрив неладное, я тут же обратился в службу поддержки. Сотрудник проверил информацию и сообщил, что возникла проблема с мобильным приложением. Затем пообещал, что со мной свяжутся на следующий день. Однако звонка так и не поступило. На тот момент я редко пользовался услугами банка, поэтому благополучно забыл об инциденте.

Читать далее
Всего голосов 313: ↑306 и ↓7+299
Комментарии788

СЕО с вашей прошлой работы: к тебе придет ФСБ

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

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

Итак, сегодня мне написал человек, имя которого совпадает с СЕО с моей работы, в которой я работал пару лет назад. И сообщил, что в компании произошла утечка данных, в связи с чем начато расследование ФСБ и со мной свяжется сотрудник, чтобы провести проверку в моем отношении, т.к. проверяют всех - и текущих сотрудников и бывших.

Также просит не распространять информацию среди сотрудников компании, т.к. это помешает проведению проверки.

Это пахнет. Но может быть и правдой. И как быть? Если это настоящая проверка - действительно не стоит лишний раз болтать. Но вдруг это проверка не настоящая?

Читать далее
Всего голосов 119: ↑108 и ↓11+97
Комментарии176

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

Архитектура RAG: полный гайд

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

Если, открывая холодильник вы еще не слышали из него про RAG, то наверняка скоро услышите. Однако, в сети на удивление мало полных гайдов, учитывающих все тонкости (оценка релевантности, борьба с галлюцинациями и т.д.) а не обрывочных кусков. Базируясь на опыте нашей работы, я составил гайд который покрывает эту тему наиболее полно.

Итак зачем нужен RAG?

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

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

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


Личные проекты бывают разными: кто-то пишет собственную JS-библиотеку, кто-то создает IT-компанию, а кто-то помогает команде выигрывать гонки (и такое бывает). В этом тексте мы расскажем про пять интересных проектов от студентов, которые выиграли стипендию в Selectel Career Wave.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии0

Ладья на XSS: как я хакнул chess.com детским эксплойтом

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

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

В этой статье я расскажу о том, как использовал свои знания по кибербезопасности для обнаружения XSS-уязвимости (Cross-Site Scripting, межсайтовый скриптинг) на крупнейшем шахматном сайте интернета со 100 миллионами участников – Chess.com. Но для начала небольшое вступление (в котором будет затронута немного менее серьёзная, но достаточно занятная, уязвимость OSRF (On-site Request Forgery, подделка запросов на сайте).
Читать дальше →
Всего голосов 103: ↑101 и ↓2+99
Комментарии14

Несколько советов начинающим инженерам и не только

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

Меня зовут Женя, я главный разработчик в компании ITFB Group. По долгу службы я общаюсь с большим количеством разработчиков: собеседую, помогаю в развитии, выступаю наставником, иногда оказываю психологическую поддержку. Кому-то советую книги, предлагаю использовать те или иные популярные процессы или просто стараюсь подсказать что-то, что опытный инженер считает фундаментальным. 

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

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

Несколько советов начинающим инженерам и не только

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

Меня зовут Женя, я главный разработчик в компании ITFB Group. По долгу службы я общаюсь с большим количеством разработчиков: собеседую, помогаю в развитии, выступаю наставником, иногда оказываю психологическую поддержку. Кому-то советую книги, предлагаю использовать те или иные популярные процессы или просто стараюсь подсказать что-то, что опытный инженер считает фундаментальным. 

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

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

GigaChat обогнал по качеству ChatGPT и расширил контекст до 32 тысяч токенов

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

Салют! Уже ни для кого не секрет, что GigaChat активно развивается, и обновление моделей не заставляет себя долго ждать. Рады сообщить вам, что новые версии GigaChat Lite и GigaChat Pro получили мощный апгрейд и стали еще более креативными, умными и точными в исполнении инструкций, а также получили более высокую оценку, чем ChatGPT (gpt-3.5-turbo-0613) на бенчмарке MMLU. На сегодняшний день GigaChat используют уже более 2,5 миллионов человек.

В новом обновлении GigaChat Lite получил расширение максимального контекста до 32768 токенов (GigaChat Lite+), а GigaChat Pro — до 8192 токенов. Вместе с контекстом мы улучшили качество ответов, превзойдя ChatGPT на русском SBS и английском MMLU, а также сделали апдейт датасетов по экономике, медицине и праву, добавили экспертные и редакторские данные, а также прокачали функции (улучшили работу запросов).

Узнать, как попробовать самую сильную версию GigaChat бесплатно, можно в конце статьи.

Читать далее
Всего голосов 74: ↑52 и ↓22+30
Комментарии156

Как устроена страничная организация памяти x86_64

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

В этом посте я буду говорить о страничной организации только в контексте PML4 (Page Map Level 4), потому что на данный момент это доминирующая схема страничной организации x86_64 и, вероятно, останется таковой какое-то время.

Окружение

Это необязательно, но я рекомендую подготовить систему для отладки ядра Linux с QEMU + gdb. Если вы никогда этого не делали, то попробуйте такой репозиторий: easylkb (сам я им никогда не пользовался, но слышал о нём много хорошего), а если не хотите настраивать окружение самостоятельно, то подойдёт режим практики в любом из заданий по Kernel Security на pwn.college (вам нужно знать команды vm connect и vm debug).

Я рекомендую вам так поступить, потому что считаю, что самостоятельное выполнение команд вместе со мной и возможность просмотра страниц (page walk) на основании увиденного в gdb — хорошая проверка понимания.

Читать далее
Всего голосов 53: ↑53 и ↓0+53
Комментарии0
12 ...
50