Pull to refresh
-16
Karma
0.3
Rating

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

  • Followers 55
  • Following 5
  • Posts
  • Comments

Забытые имена, или краткий обзор видеокарты PowerVR Neon 250

Old hardware Video cards
Sandbox

Приветствую всех любителей компьютерного ретрожелеза, в частности, видеокарт!

Вам наверняка многое говорят такие названия, как Voodoo, Savage, Riva, Rage и многие другие. Эти, легендарные уже, видеокарты были на слуху во второй половине девяностых годов прошлого века. А говорит ли вам что-либо такое название, как PowerVR?

Читать далее
Total votes 14: ↑14 and ↓0 +14
Views 1.9K
Comments 5

Эксперименты с POSIX сигналами в Windows

Abnormal programming *C++ *
Sandbox
Tutorial

Я продемонстрирую несколько экспериментов с сигналами, в которых обнаруживаются не совсем очевидные вещи. В качестве примеров я выбрал обработчики сигналов SIGINT и SIGABRT. Обработчик SIGINT вызывается асинхронно, в ответ на нажатие клавиш CTRL+C. Обработчик SIGABRT вызывается в ответ на необработанную исключительную ситуацию, но не всегда. Я объясню особенности, возникающие в зависимости от способа генерации сигналов и наличия отладчика.

Подробности
Total votes 10: ↑8 and ↓2 +6
Views 3K
Comments 6

.xlsx изнутри. Разбор структуры файлов. Разбор каждого .xml файла

Programming *Development for Office 365 *
Sandbox

Это статья о разборе excel изнутри. Вы узнаете как работать со стилями ячеек, листов через xml, как вносить данные и формулы в ячейки и мого другого.

Читать далее
Total votes 75: ↑75 and ↓0 +75
Views 13K
Comments 65

Вычисляем на видеокартах. Технология OpenCL. Часть 1b. Пишем для OpenCL

Яндекс.Практикум corporate blog High performance *Programming *GPGPU *Video cards
22 июня автор курса «Разработчик C++» в Яндекс.Практикуме Георгий Осипов провёл вебинар «Вычисляем на видеокартах. Технология OpenCL».



После перерыва продолжаем публикацию текстовой версии вебинара.


В этой части мы наконец напишем на OpenCL полноценную программу, которая нарисует красивое изображение.

У программы для OpenCL есть две части: kernel-код и host-код — то, что выполняется на видеокарте, и то, что выполняется на компьютере. Кроме того, программу нужно скомпилировать и запустить. Всё это будет рассмотрено в сегодняшней статье. Начнём с самого интересного — напишем часть kernel.

В предыдущих сериях


Прежде чем начать, напомним основные термины из предыдущей части.
Читать дальше →
Total votes 12: ↑12 and ↓0 +12
Views 2.4K
Comments 4

Как компьютеры рисуют странные формы: метаболы, marching squares, электрические поля

Algorithms *Mathematics *Data visualization
Translation

Пару месяцев назад я наткнулся на очень красивые анимации. В основе этих анимаций лежат несколько простых окружностей, но выделяет их то, насколько органично они сливаются друг с другом. Мне стало любопытно, как это работает, и моё исследование оказалось гораздо интереснее, чем я ожидал. Выяснилось, что соединяющиеся друг с другом круглые объекты называются метаболами (metaballs) и с ними связано множество математических и вычислительных понятий. Если вы в чём-то похожи на меня, то посмотрев на эти анимации, вы бы сразу задались вопросом, как подойти к решению такой задачи. Допустим, нам поручили разобраться с тем, как генерировать метаболы. Как сформулировать эту задачу? Что означает возможность органичного слияния окружностей? Как компьютер рендерит нечто подобное на экране? Всё это очень сложные вопросы.

В этой статье мы совершим путешествие и узнаем, как люди решают эту задачу. Базовый алгоритм, играющий неотъемлемую роль в генерации таких анимаций, называется marching squares. Он используется во многих сферах графики, а также медицинской визуализации. Но каким бы полезным ни был алгоритм, самым важным в нашем путешествии будет то, насколько изящен этот подход при решении подобной задачи. Есть истинная красота в том, что мы берём расплывчатую задачу и преобразуем её в конкретный решаемый вид. Главная цель этой статьи — дать вам ощущение радости при исследовании смены точек зрения, превращающих подобные сложные задачи в решаемые.
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Views 3.9K
Comments 7

Компьютер на логических микросхемах: исполнение инструкций

Abnormal programming *Circuit design *Manufacture and development of electronics *DIY

Вторая статья про самодельный компьютер. Сегодня я расскажу вам про кодирование и исполнение инструкций, а также немного про программирование.

Читать далее
Total votes 77: ↑77 and ↓0 +77
Views 6.2K
Comments 26

Почему гелий меняет наш голос, а также что такое инертные газы

Popular science

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

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

Все благородные газы одноатомны. То есть в одной молекуле газа содержится один атом. Причем химические оболочки атомов полностью заполнены электронами. Что это значит? Вспомните уроки химии - на каждой оболочке атома может быть лишь определенное число электронов: на первой 2, на второй 8 и так далее. Полная заполненность оболочек у благородных газов и объясняет то, что они почти не вступают в химические реакции, потому что просто не способны присоединить к себе больше электронов.

Интересным фактом является то, что инертные газы переходят в жидкое состояние при экстремально низких температурах, при этом почти сразу после переходя в твердое состояние. Таким образом разница между температурой кипения и плавления у веществ состовляющих инертные газы 2-5, максимум 10 градусов.

Читать далее
Total votes 22: ↑2 and ↓20 -18
Views 4.5K
Comments 36

«Магнитофон» для ZX Spectrum на базе Arduino

C++ *Developing for Arduino *Old hardware Periphery DIY

Есть у меня аналог Спекки — персональный компьютер «Мастер». Он прошел несколько модернизаций, так что сейчас работает от обычного USB и с любым телевизором по SCART. Но вот с загрузкой программ есть небольшие сложности: магнитофона у меня уже нет, ноут для этих целей разворачивать лениво, а удобного софта для телефонов не нашел. В общем, хочется чего-то серьезного. На века. Залить всю библиотеку софта и игр, положить на полочку и не бояться, что лет через 10 это дело протухнет.

На просторах интернета ходит такой проект как TZXDuino. В этой статье я расскажу о моих модификациях в нем и итоговом результате.

Читать далее
Total votes 62: ↑61 and ↓1 +60
Views 14K
Comments 54

Мой компьютер на логических микросхемах

Circuit design *Manufacture and development of electronics *DIY
Sandbox

Привет, Хабр. Два года назад, как раз перед началом пандемии, я затеял большой проект: построить компьютер, используя только простые логические микросхемы 74 серии и микросхемы памяти. В этой статье я бы хотел кратко рассказать о том, что получилось, и более подробно об основной части – процессоре.

Читать далее
Total votes 299: ↑298 and ↓1 +297
Views 42K
Comments 70

Сравнение микрополосковой и копланарной линий (для СВЧ плат)

Development of communication systems *Manufacture and development of electronics *Electronics for beginners
Translation

От автора перевода:

Большая часть электроники в наши дни делается на основе печатных плат. СВЧ устройства требуют как специальных диэлектрических подложек (про это я писала тут и тут), так и других типов "дорожек". Чаще всего применяются микрополосковые и копланарные печатные линии.

Автор статьи - Джон Кунрад, технический маркетинг-менеджер компании Роджерс (Rogers Corp). Роджерс - крупнейший производитель диэлектрических подложек и других материалов.

Оригинал статьи можно найти тут. А вот тут и тут можно посмотреть видео этого автора на оф.канале компании на YouTube.

Оригинальная статья представлена без картинок, однако есть приписка "основано на презентации, показанной на IEEE 2015 International Microwave Symposium". Я нашла эту презентацию и дополнила слайдами перевод.

Читать перевод
Total votes 26: ↑26 and ↓0 +26
Views 3.5K
Comments 17

Алгоритм генерации тайловых карт Model Synthesis

Game development *Algorithms *Game design *
Translation
image

Я много писал об алгоритме коллапса волновой функции (Wave Function Collapse). Этот алгоритм, разработанный Максимом Гуминым в 2016 году, генерирует тайловые карты и пиксельные текстуры на основании удовлетворения ограничениям с дополнительной рандомизацией [перевод на Хабре]. Но знали ли вы, что большинство основных идей для него взято из статьи, написанной больше десятка лет назад? Сегодня мы рассмотрим диссертацию 2007 года на степень PhD Пола Меррела Model Synthesis и некоторые из разработанных им расширений алгоритма, в частности, Modifying in Blocks.

Model Synthesis


Идея Model Synthesis очень похожа на WFC, по которому я написал целый туториал. Но в этой статье мы опишем идею с нуля.

Model Synthesis начинает с передачи примера тайловой карты, которая используется алгоритмом для того, чтобы учиться, какие тайлы могут располагаться друг рядом с другом при построении модели. Затем для выходного результата инициализируется пустая сетка ячеек. Каждая ячейка имеет список «потенциальных» тайлов, которые могут её заполнить.

Изначально допустим любой тайл. Основной цикл выбирает ячейку и выбирает для неё заданный тайл, помечая все остальные как недопустимые. Затем он распространяет последствия этого выбора при помощи алгоритма AC4, то есть помечает тайл как недопустимый для текущей ячейки, если все его валидные смежные ячейки уже недопустимы. После распространения цикл сбрасывается и мы выбираем другую ячейку, для которой нужно выбрать тайл.
Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views 1.7K
Comments 3

Архитектура PlayStation 3, часть 3: Три «ОС»

Information Security *Computer hardware Old hardware CPU Games and game consoles
Translation

Теперь, когда PlayStation 3 стала мощным мультимедийным центром, то ей требуется более сложная операционная система (ОС), чтобы предоставить пользователям больше различных сервисов и игр.

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

Читать далее
Total votes 26: ↑26 and ↓0 +26
Views 8.3K
Comments 2

Архитектура PlayStation 3, часть 2: RSX

Working with 3D-graphics *Computer hardware Old hardware CPU Games and game consoles
Translation

Можно подумать, что Cell со всеми своими особенностями мог бы справится со всеми задачи этой консоли. Однако Sony установила отдельный чип для 3D-графики, чтобы завершить свою консоль PlayStation 3...

Читать далее
Total votes 25: ↑25 and ↓0 +25
Views 6.7K
Comments 4

Архитектура PlayStation 3, часть 1: Cell

Computer hardware Old hardware CPU Games and game consoles
Sandbox
Translation

В 2006 году Sony выпустила долгожданную игровую консоль "следующего поколения". Это блестящая (хоть и тяжелая) машина, чья базовая аппаратная архитектура развивает идеи Emotion Engine из PS2, то есть фокусируется на векторных вычислениях для достижения высокой производительности, даже ценой сложности.

В то же время, их новый "суперпроцессор", Cell Broadband Engine, был разработан в эпоху кризиса инноваций. Он должен будет идти в ногу с развитием тенденций в области мультимедиа.

Читать далее
Total votes 46: ↑46 and ↓0 +46
Views 18K
Comments 11

О сетевой модели в играх для начинающих

Game development *Network technologies *Games and game consoles
Translation
image

Последние две недели я работал над сетевым движком для своей игры. До этого я вообще ничего не знал о сетевых технологиях в играх, поэтому прочитал множество статей и провёл множество экспериментов, чтобы уяснить все концепции и иметь возможность написать собственный сетевой движок.

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

В целом существует два основных типа сетевых архитектур: peer-to-peer и клиент-серверная. В архитектуре peer-to-peer (p2p) данные передаются между любыми парами подключенных игроков, а в клиент-серверной архитектуре данные передаются только между игроками и сервером.

Хотя архитектура peer-to-peer по-прежнему используется в некоторых играх, стандартом является клиент-серверная: она проще в реализации, требует канал меньшей ширины и облегчает защиту от читерства. Поэтому в этом руководстве мы сосредоточимся на клиент-серверной архитектуре.
Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views 23K
Comments 5

Работаем с сетевыми адаптерами через Pcap-драйверы

FPGA *Programming microcontrollers *Computer hardware
Работой с сетью в наше время никого не удивишь. Насколько я знаю, работать с сокетами нынче обучают уже на втором курсе соответствующих специальностей. Так что в целом, сетевые навыки должны быть у многих программистов. Но иногда требуется не просто работать с сетью, а делать это с предопределёнными параметрами, будь то расстояние между пакетами либо какое-то нестандартное их содержимое. Понятно, что речь идёт не о повседневной жизни, а об отладке либо тестировании проектов. В этом нам поможет работа через Pcap-драйверы. Например, через драйвер Npcap, устанавливающийся вместе с программой Wireshark.



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

В общем, думаю, имеет смысл свести все сведения воедино. Кому интересно – приступаем!
Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Views 2.3K
Comments 14

U-boot. Процедура инициализации по шагам

Development for Linux *
Translation
Tutorial

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

Читать далее
Total votes 15: ↑14 and ↓1 +13
Views 3.9K
Comments 8

Согласование импедансов: как сломать и как починить

Electronics for beginners
Sandbox

Рано или поздно в руки любителей, начинавших с Ардуино, попадают куда более быстрые устройства. Накинув щупы осциллографа на навесные провода, они обнаруживают, что сигнал, который задумывался, как голубая линия на заглавной картинке на деле выглядит, как жёлтая. В поисках решения проблемы они приходят к весьма многогранной области знаний под названием «Целостность сигналов». И если такие её аспекты, как питание и возвратные токи относительно просты для понимания, то согласование импедансов содержит ряд контринтуитивных положений. В процессе освоения данной темы мне показалось, что материалы по ней разделены на три не слишком хорошо связанных блока:
1) теория с формулами и отсылками к 2 курсу ВУЗа
2) гипертрофированные примеры на симуляторах
3) применение на практике (с эмпирическими суевериями)

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

Согласовать импедансы
Total votes 90: ↑89 and ↓1 +88
Views 13K
Comments 39

Многоканальный имитатор сигнала GPS на RFSoC

Information Security *Global Positioning Systems *Manufacture and development of electronics *Robotics DIY

Многоканальный имитатор GPS - зачем он нужен? Все знают, как используются одноканальные: для тестирования навигационных приемников при разработке и производстве, для обмана систем навигации в мирное и военное время. А зачем нужны многоканальные?

Читать далее
Total votes 34: ↑34 and ↓0 +34
Views 8.4K
Comments 32

Создаем новое ключевое слово в C++

C++ *Compilers *
Tutorial

C++ - один из языков, который можно назвать "легендарным". Его история насчитывает несколько десятилетий, принципы программирования на нем революционным образом менялись не раз, а черновик стандарта уже разросся до 1800+ страниц мелкого шрифта.

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

В этой статье мы в учебных целях напишем для C++ поддержку нового ключевого слова defer, которое будет работать во многом аналогично такому в языках Go и Swift. Это будет сделано через правку исходного кода Clang.

Создать!
Total votes 91: ↑89 and ↓2 +87
Views 19K
Comments 43

Information

Rating
1,980-th
Location
Трубчевск, Брянская обл., Россия
Date of birth
Registered
Activity