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

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

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

Терминал для работы с COM-портом TerminalTMB

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

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

Читать далее
Всего голосов 12: ↑13 и ↓-1+14
Комментарии20

Как калькуляторы вычисляют синус?

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

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

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

Читать далее
Всего голосов 99: ↑97 и ↓2+95
Комментарии52

Why so heavy, Windows? Новая версия ОС Tine Core Linux «весит» всего 24 Мб. Что это за дистрибутив

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

Tiny Core Linux около 15 лет, и он до сих пор актуален, обновляется и модифицируется своими авторами. Правда, с момента выхода версии 1.2 он немного «поправился» — сейчас его объём составляет 24 Мб вместо 10 Мб. Но всё равно это исчезающе малый «вес» по сравнению с другими дистрибутивами и операционными системами, хоть современными, хоть не очень. Подробности о новой версии — под катом.

Читать далее
Всего голосов 47: ↑42 и ↓5+37
Комментарии38

Константность в C++

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


Продолжаем серию «C++, копаем вглубь». Цель этой серии — рассказать максимально подробно о разных особенностях языка, возможно довольно специальных. Это седьмая статья из серии, список предыдущих статей приведен в конце в разделе 10. Серия ориентирована на программистов, имеющих определенный опыт работы на C++. Данная статья посвящена концепции константности в C++.


Переменные являются основой любого языка программирования. Если значение переменной нельзя изменить после инициализации, то такие переменные называются неизменяемыми (immutable) переменными или константными переменными или просто константами. Константные переменные в том или ином виде поддерживаются во всех языках программирования и играют в них важную роль. Такие переменные помогают компилятору оптимизировать код, улучшают читаемость и надежность кода, позволяют выявлять бОльшее количество ошибок на стадии компиляции. Константы помогают решать проблемы, связанные с многопоточным доступом к переменным. Использование константных переменных влияет на проектные решения в объектно-ориентированном программировании, а функциональное программирование изначально исходит из неизменяемости используемых переменных.


В C++ концепции константности уделяется значительное место. Для переменных используется два вида константности, имеются ссылки и указатели на константу, константные функции-члены, константные итераторы. Попробуем разобраться во всех этих понятиях.

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

Backblaze: надёжность жёстких дисков падает год от года. Это актуально для HDD большинства производителей

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

Компания Backblaze, провайдер облачных сервисов, регулярно публикует отчёты о выходе из строя жёстких дисков, находящихся у неё в эксплуатации. HDD — сотни тысяч, поэтому статистика получается интересной. Правда, обычно такие отчёты выглядят более-менее одинаково: какие-то модели дисков выходят из строя чаще, какие-то реже.

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

Читать далее
Всего голосов 69: ↑68 и ↓1+67
Комментарии130

Anki — настолько круто, что я даже представить не мог

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

Если вдруг кто не знает, Anki - это бесплатная opensource программа для запоминания слов (и не только). Есть версии под декстоп и мобилы. Она довольно популярна при этом имеет интуитивно-НЕпонятный интерфейс. Мне понадобилось много лет, чтобы понять, насколько она крута, т.к. базовые статьи и туториалы этого не описывают. А многие люди используют ее даже не понимая ее возможностей.

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

Читать далее
Всего голосов 84: ↑75 и ↓9+66
Комментарии145

Моя большая практическая шпаргалка SQL (SQLite) с готовыми запросами

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

Привет, Хабр)

Публикую шпаргалку по SQL, которая долгое время помогала мне, да и сейчас я периодически в неё заглядываю.

Все примеры изначально писались для СУБД SQLite, но почти всё из этого применимо также и к другим СУБД.

Здесь есть и примеры довольно сложных запросов с агрегирующими функциями, триггерами, длинными подзапросами, с оконными функциями. Помимо этого, часть примеров посвящена работе с SQL в Python, используя sqlite3, pandas, polars. Этот список запросов с комментариями можно использовать как наглядное пособие для изучения SQL.

Читать далее
Всего голосов 125: ↑122 и ↓3+119
Комментарии7

Мы добавили markdown-режим в новый редактор

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

Вы просили — мы сделали.

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

Мой вам подарок к Новому году или как наконец запустил то, что надо было давно запустить…

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

КДПВ


Немножко истории


Начну с истории вопроса.


Очень давно я написал Fresh IDE – навороченнoe IDE для программирования на ассемблере, а точнее на FlatAssembler.


Fresh IDE долгие годы меня полностью устраивал, поэтому я с перерывами выпустил 2 главные версии и начал просто его использовать, время от времени внося какие-то исправления и изредка новые функции.


Когда перешел полностью на Linux, оказалось, что Fresh IDE прекрасно работает под WINE, и я продолжил им пользоваться без угрызений совести. В процессе даже удалось исправить несколько багов WINE (вот, вот и вот).


Как бы то ни было, но я начал писать библиотеку для переносимости ассемблерных программ между Linux и Windows (и KolibriOS). Одновременно с этим задумался и над тем, чтобы сделать Fresh IDE переносимым. Из-за архитектуры библиотеки, огромная часть кода уже и так была переносимой. А точнее все, что не касалось GUI. К сожалению, GUI был полностью написан на Win32 API и его нельзя просто так перенести на другие платформы.


Поэтому и пришлось начинать все сначала. И третья версия Fresh IDE писалась почти с нуля.

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

Process Memory Map

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

Я программист, а то что я еще и реверсер - ну... так совпало. И как любому из людей занимающимся реверсом мне всегда не хватает функционала отладчика. Постоянно приходится допиливать под конкретную задачу какие-то утилитарные вещи и однажды...
Однажды я решил - хватит, каждый раз пилить новое достаточно утомительно, а что если взять и объединить все наработки в один инструмент и пользоваться именно им!
Это будет скорее рекламный пост - но не спешите минусовать, возможности утилиты, о которой пойдет речь, а называется она Process Memory Map, весьма обширны, и возможно вам понравится :)

Итак - что это такое? Она похожа на всем известный инструмент от Марка Руссиновича VMMap (которая кстати частично основана на коде Джефри Рихтера), её задача проанализировать сторонний процесс и вытащить из него максимум данных, о которых она знает.

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

Забота о домашних: делаем бэкап ноутбука или десктопа с помощью бесплатных Veeam Agents

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

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

Полагаю, что многие из вас уже используют для этого Veeam Agent for Microsoft Windows или Veeam Agent for Linux. Если же ещё нет — то, возможно, вас заинтересует сегодняшний краткий обзор. Итак, добро пожаловать под кат.


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

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0

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

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Первый релиз Qucs, на котором основан Qucs-S, состоялся в 2003 году. В декабре этого года программе исполняется 20 лет. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. Далее будет рассказано о функциях, добавленных в релизах, вышедших в этом году.

Осторожно! Далее имеются анимированные GIF.

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

Генеративный ИИ — это просто «замыленный JPEG интернета», который убедительно косит под интеллект

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

ИИ чат‑боты любят ловить глюки и выдавать всякую чушь. Так массово, что словом 2023 года признали «галлюционировать». В чем причина такого явления? Является ли генеративный ИИ интеллектом (спойлер — и да, и нет)? И что общего у ChatGPT и копировального аппарата Xerox? Разбираемся, осмысляя неочевидный нюанс в логике работы больших языковых моделей.

Читать далее
Всего голосов 87: ↑84 и ↓3+81
Комментарии216

Как запускать старые игры в 2023 — VmWare/Wrapper/GoG… Или PCeMv17

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

Ещё один способ играть в старые игры на современном железе. Шок от первого использования PCeM v17. И то, как он вернул радостные ощущения от игры с настоящим «Voodoo» без NGlide Wrapper.

Как и всегда, полно дилетантства, непрофессионализма и прочей ереси.

🤪 Устанавливать все игры! 🤪
Всего голосов 49: ↑48 и ↓1+47
Комментарии48

Путешествие сквозь секреты прошивок: исследование основ

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

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

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

Ортографическая проекция в фотографии и прочие интересные фокусы с объективами

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

С тем как работает фотоаппарат мы знакомимся еще со школьной программы. Однако привычное нам из школьного курса сведение объектива к "тонкой линзе" на самом деле не отвечает на массу практических вопросов. Например как удается создавать объективы с ортографической проекцией применяемые в системах технического зрения?

Да-да, такие тоже бывают не только в компьютерной графике, но и в фотографии: попробуйте-ка это объяснить оперируя исключительно в терминах "тонкой линзы". Размер изображения предмета в таких системах (почти) не зависит от того на каком расстоянии от объектива они находятся и это весьма удобно для измерения размеров предмета. В этой статье мы поговорим о том как этого удается добиться, как работает автофокус и пленоптические камеры и о многих других интересных вещах

Так как же работает объектив?
Всего голосов 162: ↑161 и ↓1+160
Комментарии38

Собираем и запускаем калькулятор из Windows XP в среде Windows 10 c помощью GCC x64

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

Привет всем.

В данной статье мы немного проанализируем код Windows XP, a также соберем калькулятор c использованием GCC x64 в среде Windows 10. Будут показаны ошибки, с которыми я столкнулся в процессе сборки и подробно расписаны способы их решения. В конце будет продемонстрирован рабочий билд приложения calc.exe.

Всем приятного прочтения!

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

Неизвестный UART: теория

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

Можно с уверенностью сказать, что с момента публикации первой версии стандарта RS‑232 в мае 1960 года и по настоящее время, было написано приблизительно 109 независимых реализаций UART на всём, чём угодно. Однако, подобно «Hello world» в мире прикладного ПО, а также мигания светодиодом — «Hello world» в мире цифровой электроники (сигнализирующий об успешной настройке оборудования и среды разработки) — процесс написания UART способен проиллюстрировать особенности языка или платформы, демонстрируя применение тех или иных синтаксических конструкций для решения практических, насущных и понятных проблем.

В данном цикле статей будет рассказано про написание модуля UART на SystemVerilog, про синтез данного модуля на различных платформах и про некоторые другие аспекты применения UART в ПЛИС. Но прежде, чем писать код, поговорим про сам протокол и про особенности аппаратной части вне контекста ПЛИС.

СТАРТ_БИТ
Всего голосов 91: ↑91 и ↓0+91
Комментарии33

Введение в IDAPython

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


На русском языке (и на Хабре, в частности) не так много статей по работе с IDAPython, попытаемся восполнить этот пробел.


Для кого. Для тех, кто уже умеет работать в IDA Pro, но ни разу не писал скрипты на IDAPython. Если вы уже имеете опыт написания скриптов под IDAPython, то вряд ли найдёте здесь что-то новое.


Чего здесь не будет. Мы не будем учить программированию на Python и базовой работе в IDA Pro.

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

Обзор FPGA платы MCY112

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


Что-то давно на Хабре не было статей про FPGA и я решил немножко восполнить этот пробел. Расскажу про нашу новую плату на ПЛИС Cyclone I. Да-да, вы правильно прочитали. На плате стоит первый циклон компании Альтера. Микросхеме больше десяти лет, но еще поработает. Причины использования этого чипа думаю всем понятны: санкции и плюс недавно случившийся мировой кризис полупроводников, который еще не вполне закончился.

Цель разработки этой платы — создать по возможности недорогую FPGA плату для студентов из минимального числа доступных и имеющихся в наличии компонентов. Далее давайте рассмотрим плату подробнее.
Читать дальше →
Всего голосов 8: ↑8 и ↓0+8
Комментарии4
1
23 ...

Информация

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