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

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

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

Подборка игр с низкоуровневым программированием

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

TL;DR

Игры от Zachtronics:

TIS-100, EXAPUNKS, SHENZHEN I/O

Про создание процессора от логических элементов и до написания кода на ассемблере: браузерная бесплатная nandgame.com, более продвинутая Turing complete.

Если Вам нравится какая-то игра из перечисленных - наверно, и остальные тоже подойдут. В каждую из них я наиграл по 30+ часов, получил кучу удовольствия и научился чему-то новому.

Подробности
Всего голосов 58: ↑57 и ↓1+70
Комментарии15

Чиним замедление YouTube на уровне роутера

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

Всех категорический приветствую. Буквально первого августа, прямо в ночь, стал у меня жутко лагать YouTube. Естественно, мне это сильно не понравилось. Ну, что же, давайте разбираться, почему и как это исправить в условиях моей личной сети.

Что случилось?

Хорошо описано произошедшее здесь, на Хабре. Если совсем кратко, своими словами - во время установки SSL соединения в открытом виде домен передается к которому мы подключаемся(так называемое SNI). И если это googlevideo.com то начинают твориться "интересные вещи". Можно проверить это локально коммандами из статьи.

$ curl https://speedtest.selectel.ru/100MB -o/dev/null

Читать далее
Всего голосов 298: ↑296 и ↓2+342
Комментарии685

Эмиттерный повторитель — ключ к пониманию работы транзисторных каскадов

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


Привет, эту публикацию я хочу посвятить людям, кто, как и я, любил в детстве читать журнал «Радио» и книги по электронике, но не смог сам разобраться в принципах работы усилителей на биполярных транзисторах. Тема полупроводников непроста и требует понимания многих чуждых для нашей повседневной интуиции физических процессов. Я помню момент озарения, когда я понял принцип схемотехнического решения эмиттерного повторителя, и именно с него пошло постепенное понимание, как функционируют и другие типы транзисторных каскадов. И я предполагаю, что эта тема может стать точкой входа в аналоговую электронику не только для меня.
Читать и смотреть схемы
Всего голосов 138: ↑136 и ↓2+175
Комментарии113

Асинхронный телеграм бот на bash, глазами C# программиста

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

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

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

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

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

Щупаем первый 8-битный процессор от Intel — 8008

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

После того как я собрал систему на самом первом процессоре от Intel (4004), логичным, в каком-то смысле, шагом было перейти к Intel 8008. Концепция проекта та же - компилируем ассемблерный код на обычном ПК, отправляем скомпилированный бинарник на системную плату через USB, а современный микроконтроллер (stm32) эмулирует ПЗУ и ОЗУ для реального 50-летнего процессора, вставленного в DIP-сокет.

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

Так же как и в случае с 4004, моя плата эмулирует максимально возможный объем памяти, который нативно адресуется процессором. В данном случае, это 16Кб с некоторыми нюансами (об этом отдельно расскажу ниже).

И, конечно же, было занятно сравнить 4004 и 8008 в небольшой нишевой задачке. Да, сравнение весьма условное и какие-либо выводы по нему сделать сложно, но всё равно результаты вышли интересными.

Читать далее
Всего голосов 61: ↑60 и ↓1+72
Комментарии6

Основы теории цвета. Система CIE XYZ

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

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

Попробуйте дать ответ на следующие вопросы:
  • почему физика не может дать определения понятию цвета?
  • какая из семи основных единиц измерений СИ основывается на свойствах зрительной системы человека?
  • какого цветового тона нет в спектре?
  • как удалось измерить ощущение цвета человеком ещё 90 лет назад?
  • где используются цвета, которые не имеют яркости?

Если хоть один на вопрос у Вас не нашёлся ответ, рекомендую заглянуть под кат, где Вы сможете найти ответы на все эти вопросы.
Читать дальше →
Всего голосов 82: ↑82 и ↓0+82
Комментарии57

Фокусы с опторазвязкой

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

Нюансы оптронной развязки, борьба с её недостатками и интересный на мой взгляд костыль: как разогнать скорость копеечной опторазвязки и наполучать других бонусов. Я не силён в рекламе, поэтому на месте КДПВ будет сразу тема статьи.

Читать далее
Всего голосов 123: ↑122 и ↓1+158
Комментарии63

Виртуальная приватная сеть и YouTube. Как смотреть видео на YouTube при его замедлении?

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

По данным Telegram-канала Mash, с 12 июля 2024 года в России может произойти замедление работы YouTube. Скорость загрузки видео снизится, а качество воспроизведения ухудшится. Причиной тому, по версии официальных лиц и ведомств, — технические проблемы связанные с износом оборудования Google в России. Объем трафика увеличивается, и старая CDN-инфраструктура, которая не обновлялась уже 2,5 года, перестает справляться с нагрузкой. Как подтвердил «Ростелеком», эта ситуация затронет всех пользователей независимо от выбранного оператора. Также все чаще всплывают слухи о замедлении сервиса или о его полной блокировке. Впрочем, пока все проблемы связаны с авариями у магистральных провайдеров.

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

Читать далее
Всего голосов 17: ↑13 и ↓4+11
Комментарии30

Обратная связь, творящая чудеса

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

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

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

Читать далее
Всего голосов 23: ↑22 и ↓1+31
Комментарии36

У меня нет конструктора, но я должен инициализироваться

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

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

Главная ошибка была в том, что ты в это вообще ввязался — в этом никаких сомнений.

Ещё когда я впервые взялся проходить курс по C++ несколько лет назад, меня учили, что, если я не предоставлю собственного конструктора, то компилятор сам подберёт ему замену — своего рода конструкторы, действующие по умолчанию. Я решил подробнее в этом разобраться, особенно меня волновали случаи, которые выглядят примерно так:

Читать далее
Всего голосов 15: ↑13 и ↓2+21
Комментарии16

Основные команды Pip для разработчиков Python

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

Pip, система управления пакетами для Python, является незаменимым инструментом для каждого программиста на этом языке. Работаете ли вы над веб-разработкой, машинным обучением, Data Science или любым другим проектом на Python, pip позволит вам легко получить доступ к обширному репозиторию библиотек и фреймворков.

Читать далее
Всего голосов 17: ↑11 и ↓6+5
Комментарии9

Что я думаю о Lua после релиза проекта на 60,000 строчек кода?

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

Интервью-ретроспектива с ведущим программистом видео-игры Craftomation 101 о использовании Lua как основного языка в проекте на 60,000 строчек кода.

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

Экран для вывода данных через COM-порт

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров9.1K
Если у компьютера нет не только монитора, но и даже видео-выхода, а показания датчиков хотелось бы видеть, то решением может быть отправлять данные в виде строки в COM-порт, который будет слушать микроконтроллер и отображать приходящую строку на своём дисплее. Под катом простейшая реализация этого на микроконтроллере ATtiny13 и 0,96'-экране SSD1306 с разрешением 128х32.


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

Стабилизатор напряжения с цифровым управлением, но без микроконтроллера

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


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

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

В отличие от других радиоконструкторов блоков питания, комплектуемых готовыми измерительными головками, здесь цифровой вольтметр нужно собирать самим, и с ним есть нюансы.
Будет интересно!
Всего голосов 24: ↑24 и ↓0+33
Комментарии20

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

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

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

И да, вынесем за скобки вопрос о том, насколько GDB в целом удобная или неудобная программа, и что в принципе лучше использовать для дебаггинга: в данной статье будет рассматриваться именно работа с GDB.

В статье будет рассматриваться отладка кода на C в ОС Linux.

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

Как подготовиться к собеседованию начинающему сетевому инженеру? Базовые знания

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


Приветствую, коллеги! Меня зовут ProstoKirReal, и я сетевой инженер.

Мир информационных технологий часто объединяют одним словом — IT. Когда знакомые меня спрашивают, кем я работаю, я всегда переспрашиваю: вам проще объяснить или сложнее? Всегда выбирают проще, и приходится говорить, что я айтишник.

Но мир IT обширен и многогранен. Один из его аспектов — сетевые технологии и, в частности, работа сетевиков. Профессия сетевого инженера трудна и шумна, особенно если проводишь время в холодных серверных, не видя солнечного света. Но если вы всё-таки хотите обучиться сетевому ремеслу, первым, с чем вы столкнётесь, будет собеседование.

Как подготовиться к собеседованию


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

На собеседовании на должность сетевого инженера могут задавать различные вопросы, касающиеся как технических знаний, так и личных качеств и опыта работы. Но если у нас нет опыта или он минимальный, то что мы должны в первую очередь знать?
Читать дальше →
Всего голосов 19: ↑19 и ↓0+26
Комментарии7

SVG-виджеты для tcl/tk. Градиентная заливка и прозрачность. Часть II

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

Продолжим знакомство с svg-виджетами для tcl/tk. Напомним, что рассматриваемые примеры, сам пакет svgwidgets и интерпретаторы tcl/tk с необходимыми пакетами можно найти на github-е. После выхода первой статьи все они претерпели изменения. Начнем мы статью с примера скрипт_button_PACK.tcl:

$/usr/local/bin64/tclexecomp140_svg_Linux64 скрипт_button_PACK.tcl

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

Моя первая встраиваемая система под управлением Linux

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

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

Первая часть статьи может показаться не совсем по теме, но в ходе прочтения вы поймёте, что она также имеет отношение к основному тексту. В общем, рекомендую терпеливо прочесть всю историю.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+65
Комментарии24

FastAPI: веб-разработка на Python

Время на прочтение14 мин
Количество просмотров13K
image Привет, Хаброжители!

FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+11
Комментарии3

Неожиданные применения 3D-печати

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

В последнее время всё больше и больше распространяются фотополимерные принтеры, делая реальным то, что вчера ещё было в области фантастики.

В связи с этим посмотрим, какие интересные возможности такой принтер может дать, и изучим несколько необычных (нет, фигурок под раскраску не будет:-) ).
Читать дальше →
Всего голосов 39: ↑38 и ↓1+54
Комментарии34
1

Информация

В рейтинге
3 635-й
Зарегистрирован
Активность