Pull to refresh
1
0
Send message

SoC: пишем реализацию framebuffer для контроллера в FPGA

Reading time13 min
Views33K


Приветствую!

В прошлый раз мы остановились на том, что подняли DMA в FPGA.
Сегодня мы реализуем в FPGA примитивный LCD-контроллер и напишем драйвер фреймбуфера для работы с этим контроллером.

Вы ещё раз убедитесь, что разработка под FPGA и написание драйверов под Linux дело очень простое, но интересное.

Также в конце есть маленький опрос — хочется узнать мнение сообщества. Если не сложно, прошу проголосовать.

Добро пожаловать
Total votes 49: ↑48 and ↓1+47
Comments10

Обзор LLVM

Reading time13 min
Views85K
LLVM (Low Level Virtual Machine) — это универсальная система анализа, трансформации и оптимизации программ или, как её называют разработчики, «compiler infrastucture».

LLVM — не просто очередной академический проект. Его история началась в 2000 году в Университете Иллинойса, а теперь LLVM используют такие гиганты индустрии как Apple и Adobe. В частности, на LLVM основана подсистема OpenGL в MacOS X 10.5, а iPhone SDK использует GCC с бэкэндом на LLVM. Apple является одним из основных спонсоров проекта, а вдохновитель LLVM — Крис Латтнер — теперь работает в Apple.

В основе LLVM лежит промежуточное представление кода (intermediate representation, IR), над которым можно производить трансформации во время компиляции, компоновки (linking) и выполнения. Из этого представления генерируется оптимизированный машинный код для целого ряда платформ, как статически, так и динамически (JIT-компиляция). LLVM поддерживает генерацию кода для x86, x86-64, ARM, PowerPC, SPARC, MIPS, IA-64, Alpha.

LLVM написана на C++ и портирована на большинство *nix-систем и Windows. Система имеет модульную структуру и может расширяться дополнительными алгоритмами трансформации (compiler passes) и кодогенераторами для новых аппаратных платформ. Пользовательский фронтенд, как правило, линкуется с LLVM и использует C++ API для генерации кода и его преобразований. Однако LLVM включает в себя и standalone утилиты.

Для тех, кто не без оснований считает C++ не лучшим языком для написания компиляторов, с недавних пор в LLVM включена обертка API для OCaml.

Чтобы понять, что можно сделать с помощью LLVM, и на каком уровне придётся работать, давайте разберёмся,
что из себя представляет LLVM IR.
Total votes 52: ↑51 and ↓1+50
Comments25

Независимые онлайн-сервисы: философия свободного интернета и истории его администраторов

Reading time30 min
Views8.1K

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

Здесь не будет технических спецификаций и команд для копипасты в терминал, только истории людей (в том числе значительных персон даркнета). Что может быть лучше, чтобы увидеть источник жизни независимого интернета, как не личные убеждения и истории администраторов свободных интернет-ресурсов?

Читать далее
Total votes 27: ↑23 and ↓4+26
Comments3

Kommandogerat, или воздушная автоматическая коробка

Reading time5 min
Views8.3K

Сумрачный немецкий гений изобретал совершенно адовые конструкции. Схема усреднённая, потому что вариаций масса. Берётся поршневой двигатель, он не управляется напрямую, примитивно - это не про немцев. Берутся часы с кукушкой и вешаются позади двигателя. К ним подключают управление газом, оборотами, углом лопастей пропеллера, топливной смесью, углом зажигания, скоростью вращения нагнетателя, заливают моторным маслом для смазки и охлаждения. Всё это впихивается в одномоторный истребитель. Из получившейся шайтан-коробочки в кабину выводится одинокая ручка газа, которой пилоты тут же начинают шкрябать взад-назад, приговаривая полушёпотом "ZER GUT!". При этом у полевых авиамехаников на лбу аж пот выступает. Немцы из BMW любезно предлагали свою вундервафлю (в основном в виде трофеев), но все отказались, включая других немцев.

Читать далее
Total votes 64: ↑57 and ↓7+64
Comments39

Как научиться чему угодно с помощью техники Фейнмана

Reading time9 min
Views203K


Ричард Фейнман был физиком, удостоенным Нобелевской премии, который внёс значительный вклад в такие области, как квантовая механика и физика частиц. Он также стал пионером квантовых вычислений и ввел понятие нанотехнологии. Он был известным лектором, преподавал в Корнелльском университете и Калифорнийском технологическом институте.

Несмотря на все свои достижения, Фейнман считал себя «обычным человеком, который много учился». Он считал, что любой человек способен при достаточных усилиях изучить даже такие сложные предметы, как квантовая механика и электромагнитные поля.

Нет никаких чудо-людей. Просто случилось так, что они заинтересовались чем-то и выучили все про это. Ричард Фейнман

Ричарда Фейнмана Ричардом Фейнманом (по крайней мере, по мнению Ричарда Фейнмана) сделал не врождённый интеллект, а систематический способ, с помощью которого он выявлял то, чего не знал, а затем бросался постигать это.

На протяжении всей своей работы и жизни, Фейнман с элегантностью и простотой давал представление о своём процессе рассмотрения сложных концепций в мире физики и изложения знаний/идей. Многие из этих наблюдений о его процессе обучения были собраны в то, что мы сейчас называем «техникой Фейнмана».

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

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

В этой статье будет представлен обзор техники Фейнмана и того, как вы можете применять её для постоянного расширения своих знаний и навыков. Короче говоря, Фейнман научит вас не только тому, как учиться, но и тому, как по-настоящему понимать.
Приятного чтения!
Total votes 64: ↑53 and ↓11+63
Comments106

SysV, Upstart, systemd в роли ассортимента граблей Debian/Ubuntu

Reading time5 min
Views36K
Знаете, чем я сейчас занимаюсь? Пишу стартовые скрипты для systemd, и это меня бесит.

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

С другой стороны, «было» — это условность. Все мы часто находимся в относительном неведении относительно того, как устроена наша операционная система. А однажды увидев код /usr/sbin/service ты уже не можешь развидеть его. Так же как и пользоваться этим инструментом.

Наверное, нужно вернуться обратно. Чтобы понять, как мы оказались в такой заднице со смесью SysV и systemd, приправленной Upstart.

TL; DR: автор ноет по поводу зоопарка из SysV, Upstart и systemd в современных дистрибутивах Debian/Ubuntu.
Читать дальше →
Total votes 49: ↑44 and ↓5+39
Comments170

Базы знаний выдающихся личностей

Level of difficultyMedium
Reading time14 min
Views7.5K

Давайте проведем небольшой эксперимент. Вспомните лучшую книгу по вашей специальности или области разработок. Сколько по времени вы можете воспроизводить ее содержание?

Чаще всего это не более минуты.

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

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

Читать далее
Total votes 9: ↑4 and ↓50
Comments10

Самая сложная программа

Reading time5 min
Views128K
От переводчика: я нашел на Quora вопрос: Какую программу или код можно назвать самыми сложными из когда-либо написанных? Ответ одного из учасников был настолько хорош, что вполне тянет на статью.

Пристегни ремни.

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

Это программа – компьютерный червь. Червь был написан, судя по всему, между 2005 и 2010 годами. Поскольку этот червь является таким сложным, я могу дать лишь общее описание того, что он делает.
Читать дальше →
Total votes 174: ↑158 and ↓16+142
Comments272

The Elder Scrolls III: Morrowind: чем цепляет эта нестареющая классика?

Level of difficultyEasy
Reading time20 min
Views14K
image

Попробуйте вспомнить, как вы впервые играли в The Elder Scrolls III: Morrowind. Запустили и, просмотрев заставку, оказались запертым в трюме корабля, проспав почти всю дорогу настолько крепко, что даже вчерашний шторм не разбудил вас. Ступив на берег и оформив бумаги, в которых указали свою расу, под каким созвездием родились и чем промышляете, вы попали в огромный, мрачный и почти безграничный мир, где, как тогда казалось, можно всё. Началось путешествие, и вы, овеянный чувством приключения, под замечательные музыкальные композиции Джереми Соула отправляетесь в дорогу. У ваших ног весь Вварденфелл – место, где джунгли сменяются пепельными пустынями, а зелёные леса – насаждениями гигантских грибов. На вашем пути встретится много интересного, а игра предоставит большое количество возможностей в развитии вашего альтер эго и увлечёт глубокой историей, множеством красивых и живых городов (каждый из которых отличается не только географическим расположением или названием, но даже архитектурным стилем и общим настроением), захватывающими квестами, а также ощущением причастности к чему-то великому.

Огромная свобода как для ролевого отыгрыша, так и поведенческая, побуждала к изучению всех окрестных земель и возможностей, предоставляемых игрой. Поэтому я убеждён, что большинство из вас, попробовав The Elder Scrolls III: Morrowind на релизе, просто не могло не влюбиться в этот проект компании Bethesda Game Studios и в наши дни вспоминаете её с огромным пиететом. Да, в 2002 году Morrowind казался чем-то невозможным, чем-то, что способно увлечь на десятки и сотни часов, и, скажу вам, с годами мало что изменилось. Игра воистину глубока и масштабна, в неё не играют, а в ней живут. Поэтому, если вы услышите от кого-то, что он прошёл Morrowind, не верьте ему, он наркоман бредит =)
Читать дальше →
Total votes 46: ↑44 and ↓2+54
Comments62

$2500 в месяц на сервисе с 1 функцией, которая уже была у крупных компаний

Level of difficultyEasy
Reading time5 min
Views51K

Разбираем, как разработчик создал простой продукт с выручкой $2500 в месяц, связав два популярных сервиса. Несмотря на то, что это уже было сделано до него крупными компаниями.

Читать далее
Total votes 84: ↑66 and ↓18+58
Comments39

Как написать свою маленькую ОС

Level of difficultyEasy
Reading time7 min
Views40K


Большое начинается с малого. Например, ядро Linux 0.0.1 состояло всего из 10 239 строк кода, из них 20% комментарии. Такой проект вполне может осилить студент в качестве курсовой или дипломной работы, программируя по вечерам на домашнем ПК (собственно, Линус и написал его во время учёбы в университете, когда вернулся из армии).

Если один студент смог это сделать тогда, то почему нельзя повторить? И действительно, в интернете есть даже специальные обучающие ресурсы для написания новых ОС и целые сообщества энтузиастов, которые помогают друг другу в этом непростом деле.
Читать дальше →
Total votes 83: ↑78 and ↓5+98
Comments25

Американец построил огромного боевого робота в лесу

Level of difficultyEasy
Reading time12 min
Views96K

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

Для воплощения своей идеи этот упорный конструктор преодолел множество препятствий: сам придумал механизм, овладел мастерством сварки алюминия, лазерной резки, 3D-печати, создал уменьшенный прототип и построил такого. Его проект выделяется даже среди самых интересных устройств, созданных своими руками, про которые вы читали.

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

Читать далее
Total votes 64: ↑57 and ↓7+63
Comments127

Рекомендации при работе с PostgreSQL

Level of difficultyMedium
Reading time10 min
Views26K

Доброго времени суток. Основываясь на своём опыте хочу представить некоторые рекомендации при разработке кодовой базы на SQL.

Данные рекомендации получены горьким опытом, так что надеюсь, они Вам помогут :)

Читать подробнее и больше не косячить
Total votes 51: ↑48 and ↓3+51
Comments53

Практическое руководство по Rust. 1/4

Level of difficultyMedium
Reading time21 min
Views21K



Hello world!


Представляю вашему вниманию первую часть практического руководства по Rust.



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


Руководство основано на Comprehensive Rust — руководстве по Rust от команды Android в Google и рассчитано на людей, которые уверенно владеют любым современным языком программирования. Еще раз: это руководство не рассчитано на тех, кто только начинает кодить 😉

Читать дальше →
Total votes 24: ↑19 and ↓5+22
Comments12

К чёрту мотивацию, вам нужна дисциплина

Reading time4 min
Views123K
Если вы желаете что-то сделать, то есть два способа этого достичь.

Первый, более распространённый и в значительной мере неправильный вариант — попытаться мотивировать себя.

Второй, весьма непопулярный, но абсолютно правильный выбор — воспитание дисциплины.

Это одна из ситуаций, когда принятие другой точки зрения немедленно приводит к превосходным результатам. Немногие употребления термина «сдвиг парадигмы» являются, на самом деле, оправданными, но это — одно из них. Эту идею можно сравнить с озарением.

В чём же разница?
Читать дальше →
Total votes 62: ↑53 and ↓9+44
Comments63

Java 17 для тех, кто не следил. Часть 1

Reading time28 min
Views35K


Уже вышла Java 18, но для всех, кто сидит на LTS, по-прежнему остаётся актуальной версия 17. Такие люди могут не отслеживать постоянно фичи каждой новой версии, а спокойно заниматься своими делами и иногда навёрстывать сразу всё.


И как раз на такое «навёрстывание» рассчитан доклад Тагира Валеева (tagir_valeev), с которым он осенью выступил на нашем мероприятии TechTrain. Люди, которые в последние годы тщательно отслеживали все новинки в Java, тут особо много нового не узнают. Зато для остальных это удобный единый ликбез по главным вещам сразу нескольких версий: от запечатанных классов до того, почему молодёжь может зарофлить над вами из-за префиксов get и is.


Поэтому в преддверии нового TechTrain и Java-конференции JPoint мы решили сделать для Хабра текстовую версию доклада. В этом посте речь идёт о языковых фичах, а отдельно опубликуем часть про изменения в API. Далее повествование идёт от лица спикера.

Читать дальше →
Total votes 21: ↑20 and ↓1+26
Comments13

Всё пространство-время дрожит от пульсации гравитационных волн

Reading time12 min
Views62K

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

В течение 100 лет после создания общей теории относительности эти гравитационные волны оставались незамеченными, пока научная коллаборация LIGO не обнаружила их исходящими от чёрных дыр малой массы (несколько сотен солнечных масс или меньше) на последних стадиях их инспирации и слияния. За время, прошедшее с момента первого обнаружения в 2015 году, было обнаружено ещё около 100 сигналов гравитационных волн, но все они находились на тех же конечных стадиях падения друг на друга по спирали и слияния.

Впервые новый класс сигналов гравитационных волн был замечен совершенно иным способом: учёные следили за работой самых точных природных часов во Вселенной — миллисекундных пульсаров. В серии работ NANOGrav коллаборация представляет убедительные доказательства существования детектируемого гравитационного волнового фона на временных масштабах, в ~10 миллиардов раз превышающих возможности LIGO. Это первое прямое обнаружение такого космического гравитационно-волнового фона, и следующие шаги будут ещё более захватывающими.

Читать далее
Total votes 50: ↑45 and ↓5+62
Comments72

Ностальгические игры: Star Wars Knights of the Old Republic

Level of difficultyEasy
Reading time14 min
Views7.5K
image

Представьте, вы в начале нулевых. Уже успели отгреметь Baldur’s Gate и её продолжение, компания BioWare недавно выпустила Neverwinter Nights и проект за проектом вписывает себя в историю игровой индустрии, как одна из самых знаковых студий. Они, как и Blizzard, являются мастодонтами, иконами для любого увлекающегося геймера. Каждую их игру люди берут без каких-либо раздумий, будучи уверенными, что это будет хит! Не разочаровывает и вышедшая в 2003 году Star Wars Knights of the Old Republic. Более того, она оказывается настоящим взрывом на рынке видео развлечений, собрав восхитительные отзывы как от игроков, так и от профильной прессы.
Читать дальше →
Total votes 30: ↑28 and ↓2+32
Comments25

Sovietwave и Sovietpunk: как романтика несбывшегося переплавила ностальгию по СССР в новый жанр? Часть 1

Level of difficultyEasy
Reading time7 min
Views29K

Выход «Atomic Heart» не просто стал громким событием в истории российского геймдева — он наиболее отчётливо отразил любопытную культурную тенденцию последней дюжины лет. С начала 2010-х футуристические образы и сюжеты в подчёркнуто советском стиле стали всё чаще встречаться в Рунете в самых разных формах. Особенно ярко это стало проявляться ближе к концу десятилетия с массовым распространением музыки в стиле ретровейва — российским ответвлением которого стал стилизованный под мелодии и ритмы советской эстрады Sovietwave. Ну а сейчас советский ретрофутуризм уже можно назвать мейнстримом, даже не особенно прибегая к совам и глобусам. Он выражает ностальгию по положительным чертам и характерным деталям советской эпохи, но с начала 90-х годов эта ностальгия успела сильно измениться. Что же с ней случилось?
Читать дальше →
Total votes 128: ↑119 and ↓9+150
Comments223

Почему вы не тренируетесь?

Level of difficultyMedium
Reading time29 min
Views69K
Читать далее
Total votes 57: ↑36 and ↓21+25
Comments228
1
23 ...

Information

Rating
Does not participate
Registered
Activity