Pull to refresh
490
0

Довожу здравый смысл до абсурда

Введение в балансировку роторов

Level of difficulty Easy
Reading time 16 min
Views 5.1K
Systems engineering *
Tutorial

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

*Цапфа (нем. Zapfen "цапфа, шейка, шип, втулка, стержень") — часть вала или оси, на которой находится опора (подшипник). Цапфа, находящаяся на краю вала, называется шип, в средней части вала — шейка. Концевая цапфа, воспринимающая осевые нагрузки, — пята.

Читать далее
Total votes 33: ↑33 and ↓0 +33
Comments 40

Идеи для тех, кто хочет собрать свои часы

Level of difficulty Medium
Reading time 8 min
Views 13K
RUVDS.com corporate blog Developing for Arduino *Robotics DIY Electronics for beginners
Картинка twizz.ru

Каждый самодельщик рано или поздно приходит к тому, что ему вот прямо сейчас необходимо создать свои часы. Зачем, почему — никто не знает. Если вы пришли к такому же пониманию, «их есть у меня». А именно — собственный хит-парад самодельных часов, которые позволят как комплексно прокачать скиллы в сборке, программировании и т. д., так и украсят любой дом своим присутствием.

В этой статье умышленно будут обойдены вниманием известные проекты часов, изготовленные из радиоламп или вращающейся линейки светодиодов, установленной на диске вышедшего из строя старого HDD, так как мы постараемся остановиться на более неизвестных и эффектных экземплярах, и если известные проекты и будут затронуты, то совсем чуть-чуть :-)
Читать дальше →
Total votes 85: ↑79 and ↓6 +73
Comments 31

Использование GitHub в обучении студентов. Автоматизация проверок. Часть I

Reading time 3 min
Views 3.8K
.NET *C# *GitHub *Studying in IT DevOps *
Tutorial

В конце декабря 2020 года я написал несколько статей на Хабре по своему опыту использования GitHub в обучении студентов (ссылки на них будут в конце сей статьи).

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

Для меня при обучении программированию важно, чтобы студенты умели не только правильно решать задания, но и красиво писать код. В обучении и проверки заданий я использую EditorConfig, dotnet cli и GitHub Actions. Но обо всём по порядку.

Читать далее
Total votes 9: ↑9 and ↓0 +9
Comments 0

Использование GitHub в обучении студентов. Автоматизация проверок. Часть II

Reading time 2 min
Views 4K
.NET *C# *Studying in IT DevOps *
Tutorial

Это продолжение статьи про автоматизацию проверок работ студентов (первая часть).

Сегодня продолжу рассказывать про автоматизацию проверок работ студентов: проверку правильности решения (прохождение unit-тестов). И пока ещё примеры будут связаны с C#.

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

Читать далее
Total votes 11: ↑10 and ↓1 +9
Comments 2

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

Reading time 18 min
Views 22K
Wunder Fund corporate blog Algorithms *Graphic design *Game design *Design
Translation

Мне всегда нравилась визуальная эстетика дизеринга (dithering, псевдотонирование, псевдосмешение цветов), но я не знал о том, как он применяется. Поэтому я провёл кое-какие изыскания. Эта статья может содержать отголоски ностальгии, но в ней не будет никаких следов Лены.

Читать далее
Total votes 147: ↑147 and ↓0 +147
Comments 26

Как оформить серию коммитов Git, чтобы её приняли в любой проект

Reading time 8 min
Views 26K
VK corporate blog Git *GitHub *Development Management *Development for Linux *
✏️ Technotext 2021

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

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

Читать далее
Total votes 59: ↑56 and ↓3 +53
Comments 30

Разбираем алгоритмы компьютерной графики. Часть 4 – Анимация «Салют»

Reading time 7 min
Views 7.4K
Python *Programming *Computer Animation *Demoscene
Tutorial

Еще немного в копилку красивых эффектов и алгоритмов.

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

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

Читать далее
Total votes 44: ↑43 and ↓1 +42
Comments 7

Примеры ассемблерного кода для ZX Spectrum

Reading time 6 min
Views 18K
Assembler *Graphic design *Demoscene Old hardware
Tutorial

Я не буду делать длинное вступление. Один знакомый хакер однажды сказал, что 10 строк кода могут быть понятнее и интереснее, чем 1000 слов объяснений. Все эти примеры написаны на ассемблере для архитектуры Z80 и запускаются на ретро-компьютере ZX Spectrum 48k.

Что внутри?
Total votes 48: ↑48 and ↓0 +48
Comments 28

CS50`s Introduction to Game Development с русскими субтитрами — Лекция 0. Pong

Reading time 1 min
Views 5.3K
Game development *Lua *Game design *
Translation

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

Читать далее
Total votes 10: ↑10 and ↓0 +10
Comments 0

Отладка C на ZX Spectrum

Reading time 7 min
Views 13K
Debugging *C *Programming microcontrollers *Old hardware CPU
Sandbox

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

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

LOAD ""
Total votes 51: ↑51 and ↓0 +51
Comments 40

JPEG, который можно посмотреть в блокноте

Reading time 3 min
Views 37K
Abnormal programming *Open source *Programming *Algorithms *Image processing *

Если открыть произвольный JPEG-файл в блокноте, то можно увидеть лишь хаотичный набор символов. Отсюда вопрос: возможно ли закодировать изображение так, чтобы его было можно просмотреть не только обычным способом, но и в обычном блокноте, в виде ASCII-графики.

Читать далее
Total votes 216: ↑215 and ↓1 +214
Comments 50

Свод правил по работе с целыми числами в C/C++

Reading time 11 min
Views 36K
RUVDS.com corporate blog Programming *C++ *
Translation

В основу статьи легли мои собственные выработанные нелегким путем знания о принципах работы и правильном использовании целых чисел в C/C++. Помимо самих правил, я решил привести список распространенных заблуждений и сделать небольшое сравнение системы целочисленных типов в нескольких передовых языках. Все изложение строилось вокруг баланса между краткостью и полноценностью, чтобы не усложнять восприятие и при этом отчетливо передать важные детали.
Читать дальше →
Total votes 78: ↑70 and ↓8 +62
Comments 100

Обзор методов численной оптимизации. Безусловная оптимизация: метод линий

Reading time 24 min
Views 23K
Algorithms *Mathematics *Machine learning *
image

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

Введение


Оптимизация — это процесс нахождения точки экстремального значения некоторой заданной целевой функции $f(\mathbf{x})$. Это один из крупнейших краеугольных камней прикладной математики, физики, инженерии, экономики, промышленности. Область её применений необъятна и может распространяться от минимизации физических величин на микро- и макроуровнях до максимизации прибыли или эффективности логистических цепочек. Машинное обучение также заострено на оптимизации: всевозможные регрессии и нейроные сети пытаются минимизировать ошибку между предсказанием и реальными данными.

Экстремум может быть как минимумом, так и максимумом, но обычно принято изучать любую оптимизацию исключительно как поиск минимума, поскольку любая максимизация эквивалентна минимизации из-за возможности поменять знак перед целевой функцией: $f(\mathbf{x})\to -f(\mathbf{x})$. Следовательно, в любом месте ниже под оптимизацией мы будем понимать именно минимизацию.
Читать дальше →
Total votes 36: ↑36 and ↓0 +36
Comments 13

Еще больше доступной акустики — делимся обзорами трех пар примечательных систем полочного типа

Reading time 4 min
Views 31K
Аудиомания corporate blog Gadgets Computer hardware Periphery Sound

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

Читать далее
Total votes 4: ↑4 and ↓0 +4
Comments 29

Как устроен блок питания, который работает в каждом системнике

Reading time 12 min
Views 80K
Дата-центр «Миран» corporate blog Manufacture and development of electronics *Computer hardware Desktop PC's Electronics for beginners
Translation

Блок питания извлечён из корпуса. Пучок проводов слева подключается к компьютеру. Большой компонент посередине типа трансформатора — это фильтрующий индуктор. Кликабельно, как и все фотографии в статье

Вы когда-нибудь задумывались, что находится внутри блока питания (БП) вашего компьютера? Задача БП — преобразовать питание из сети (120 или 240 В переменного тока, AC) в стабильное питание постоянного, то есть однонаправленного тока (DC), который нужен вашему компьютеру. БП должен быть компактным и дешёвым, при этом эффективно и безопасно преобразовывать ток. Для этих целей при изготовлении используются различные методы, а сами БП внутри устроены гораздо сложнее, чем вы думаете.

В этой статье мы разберём блок стандарта ATX и объясним, как он работает1.
Читать дальше →
Total votes 61: ↑46 and ↓15 +31
Comments 97

Векторные игры на 32с3

Reading time 8 min
Views 4.9K
RUVDS.com corporate blog History of IT Old hardware DIY Games and game consoles
Translation

Статья раскрывает тему нашего выступления на 32-м Всемирном конгрессе хакеров (32с3), посвященного ретро-геймингу и работе с эмулятором игровых автоматов (MAME) на XY-дисплеях. В нем освещается результат моего сотрудничества с еще одним членом NYC Resistor, цифровым дизайнером Адель Лин, которая увлекается разработкой игр и игровых пространств. При желании можно посмотреть получасовое видео выступления онлайн.
Total votes 45: ↑45 and ↓0 +45
Comments 0

Операционные системы с нуля; Уровень 0

Reading time 11 min
Views 127K
System Programming *C *Rust *Programming microcontrollers *
Tutorial
Translation

Добрый день/вечер/ночь/утро! Есть один экспериментальный курс по операционным системам. Есть он в Стэнфордском университете. Но часть материалов доступно всем желающим. Помимо слайдов доступны полные описания практических занятий.


Чем этот курс отличается от прочих других? Большая часть кода пишется самостоятельно и выполняется на вполне реальном современном железе. В качестве целевой платформы выбран Raspberry Pi 3 model B. Т.е. достаточно актуальная архитектура AArch64. ARMv8 Cortex-A53, четыре ядра, 64-бита и вот это всё. В качестве основного языка программирования выбран Rust. Который безопасный, быстрый, без GC и так далее. Его, Rust, предполагается изучать во время курса.


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

Читать дальше →
Total votes 80: ↑78 and ↓2 +76
Comments 55

7 правил проектирования печатных плат

Reading time 11 min
Views 302K
Programming microcontrollers *Circuit design *Manufacture and development of electronics *DIY Electronics for beginners
Приветствую! В процессе обсуждения статьи товарища KSVl была озвучена необходимость небольшого пособия по проектированию печатных плат. Очень часто на хабре я вижу статьи в стиле «5 правил оформления кода» или «5 шагов к успешному проекту», то есть очень удобные собрания тезисов по определенной теме. К сожалению подобных статей по разработке электроники мало и это плохо…

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


Читать дальше →
Total votes 165: ↑164 and ↓1 +163
Comments 568

Ethercat для начинающих

Reading time 12 min
Views 28K
Industrial Programming *Programming microcontrollers *
Sandbox

Некоторое время назад у нас появился объект, где в техническом задании стояло требование: «Протокол Ethercat». В процессе поиска информации я полез на хабр и с удивлением обнаружил, что там разбора этого протокола нет. Да и вообще информация о нем довольно фрагментирована (забегая вперед — я просто не там искал). Проект мы сделали, а эта статья — для «более молодого меня», попытка сэкономить время кому-нибудь еще, кто собирается использовать или просто интересуется этим протоколом.


Единственный нюанс — я опишу довольно низкий уровень работы протокола (Data Layer в терминологии EtherCAT). Потому что именно он нам понадобился и им мы ограничились. Неописанными (пока?) останутся Application Layer протоколы типа CanOPEN-over-EtherCAT (CoE).


Читать дальше →
Total votes 24: ↑24 and ↓0 +24
Comments 32

Information

Rating
Does not participate
Registered
Activity