Обновить

Промышленная инженерия

Сначала показывать
Порог рейтинга

Представлена открытая библиотека Reduino, которая поможет программировать микроконтроллеры на Python. Знания сложного и запутанного C++ не нужны, разбираться в нюансах Arduino больше не надо. Можно легко запрограммировать RGB-ленты, датчики, сенсоры и другие девайсы на простом Python. Ресурс помогает использовать все синтаксические структуры без кучи манипуляций с памятью: условия, циклы, массивы, кортежи и понятное ООП. Библиотека преобразует код в C++.

Теги:
Всего голосов 3: ↑3 и ↓0+4
Комментарии6

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

Делимся анонсом нашего следующего вебинара по печатным платам!
Приглашаем принять участие всех желающих!

🗓 Ждём вас 11 ноября в 11:00!

Регистрация на вебинар


Обсудим 2 темы:

⁃ Новые вызовы в логистике в области печатных плат.

Новости логистики и обзор наших возможностей: высокий сезон, сроки доставки, "таможенные препятствия" и многое другое.

⁃  СВЧ-материалы, примеры их использования.

Почему СВЧ материалы так называются? Для каких приложений и для каких частот имеет смысл применять такие материалы? Почему не надо заказывать контроль импеданса для СВЧ плат?


Семинары и вебинары ГРАН всегда бесплатные.

Теги:
Рейтинг0
Комментарии0

Питон - предмет обожания секты питонистов, которые ходят по домам и всем говорят "Как, вы еще не выучили Питон? Он же учится за две недели!"

Допустим, но вот два практически идентичных репозитория (1, 2), которые я только что приготовил как форки от двух других практически идентичных репозиториев. Один для создания чипа на немецкой фабрике IHP (The Leibniz Institute for High Performance Microelectronics), а другой для создания чипа на американской фабрике SkyWater (аналог зеленоградского Микрона для военных).

И вот в одном репозитории на питоне нужно писать:

clock = Clock(dut.clk, 10, units="us")
assert not ((dut.uio_out.value >> 4) & 1);

а в другом:

clock = Clock(dut.clk, 10, unit="us")
assert not dut.uio_out.value [4];

Если во втором написать не "unit", а "units", оно пожалуется:

DeprecationWarning: The 'units' argument has been renamed to 'unit'.

DeprecationWarning: The 'units' argument has been renamed to 'unit'.

И типы данных поменялись:

unsupported operand type(s) for >>: 'LogicArray' and 'int'

А все почему? У питониcтов все время меняются версии, и в их коммьюнити не принято поддерживать обратную совместимость:

"Просто используй другую версию!", "Просто поставь виртуальные среды!", "Как, ты еще не используешь Докер? С ним это решается элементарно!" - "Ты просто не pythonian!"

Так можно две недели колупаться, после того как за две недели выучить питон.

Теги:
Всего голосов 30: ↑18 и ↓12+10
Комментарии42

Совместили то, что мы все с вами любим, сталь и видеоигры, в новом проекте «Охотники за сталью».

Мы прекрасно знаем, что среди вас есть как топовые покорители игровых миров, так и просто любители, но в этом проекте ваши навыки не играют роли.

Предлагаем отправиться в видеоигровые миры на поиски хорошо вам знакомых объектов производств «Северстали». Доменные печи, конвертеры, рельсовые краны — всё это предстоит распознать среди шейдеров и объектов игровых реальностей и сделать фото/скриншот так, чтобы была видна схожесть с объектом из задания, а затем загрузить на сайт проекта.

Самые похожие работы попадут в ТОП-20, а уже среди них пользователи выберут тех, кто заберет призы:


1 раунд — микрофон;

2 раунд — веб-камера;

3 раунд — геймпад;

4 раунд — клавиатура;

5 раунд — наушники.


Удачи!

Теги:
Рейтинг0
Комментарии0

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

Делимся анонсом нашего следующего вебинара по печатным платам!
Приглашаем принять участие всех желающих!

🗓 Ждём вас 14 октября в 11:00!

Регистрация на вебинар


Обсудим 2 темы:

⁃ Финишные покрытия.

- Зачем нужны разные финишные покрытия и каково их назначение?

- Чем обусловлен выбор того или иного финишного покрытия?

- Как можно классифицировать финишные покрытия по технологии изготовления и применению.

⁃ Заполнение сквозных и глухих отверстий.

Обсудим основные типы заполнения сквозных и глухих отверстий. А также рассмотрим примеры плат с разными типами заполнения отверстий.


Семинары и вебинары ГРАН всегда бесплатные.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Вышла нейросеть для инженеров, которая умеет генерить сложные 3D-модели в CAD. Просто закидываете чертёж и получаете готовую модель детали, которую можно отредактировать промптом или задействовать в AutoCAD для ручного редактирования.

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Премьера nanoCAD BIM Строительство 25: год развития, опыт и новые горизонты

Провели онлайн-презентацию новой версии BIM/ТИМ-решения nanoCAD BIM Строительство 25 в *.dwg-среде для архитекторов и конструкторов.

В VK и RuTube трансляцию посмотрели около тысячи человек. Сегодня выкладываем для вас полезные таймкоды видеопрезентации.

Денис Ожигин, технический директор компании «Нанософт»:

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

С выходом nanoCAD BIM Строительство 25 мы предоставляем проектировщикам еще больше контроля над проектом как в плане создания модели будущего здания, так и в управлении атрибутивной информацией. При этом пользователь остается в привычной *.dwg-среде: от умного копирования элементов по этажам и управления марками в Диспетчере до встроенной проверки на коллизии без необходимости экспорта модели в формат IFC или другие программные продукты. Это не просто обновление версии, а мощный инструмент повышения точности, скорости и качества проектирования зданий и сооружений с применением технологии информационного моделирования».

Важным шагом в развитии nanoCAD BIM Строительство стало появление официальной библиотеки материалов и объектов водосточных систем от компании «ТЕХНОНИКОЛЬ». Полностью интегрированная в библиотеку программного продукта, библиотека «ТЕХНОНИКОЛЬ» включает 82 материала, 48 объектов водосточных систем и кровельных элементов. Среди функциональных особенностей объектов поддержка параметризации (объекты изменяют свою геометрию при изменении соответствующих параметров) и интерактивное взаимодействие (в объектах реализованы «ручки» и точки подключения для упрощения процесса размещения и редактирования)

Смотрите самые интересные темы презентации:

02:54 Развитие интерфейса
04:58 Копирование объектов по этажам
08:13 Режим «Марка» в Диспетчере задач
11:04 Размещение проемов
12:09 2D-представление проемов
12:49 Новая «ручка» управления булевыми операциями
15:17 Проверка на коллизии объектов NBIM
17:39 Работа со сводными моделями
18:20 Единая среда анализа модели
19:05 Экспорт аналитической модели в формат DXF
24:46 Обновление библиотеки объектов
30:41 Интеграция библиотек «ТЕХНОНИКОЛЬ»
32:41 Обновление SDK
33:58 Обновление API
39:17 Полезные ресурсы
40:18 Где скачать nanoCAD BIM Строительство 25?
40:36 Где приобрести nanoCAD BIM Строительство 25?
42:39 Сессия вопросов и ответов

Тестировать nanoCAD BIM Строительство 25 можно прямо сейчас, скачав бесплатную 30-дневную пробную версию на официальном сайте nanocad.ru.

nanoCAD BIM Строительство 25 доступно в трех конфигурациях:

1. конфигурация «nanoCAD BIM Строительство» – для проектирования архитектурной и конструктивной частей зданий/сооружений в *.dwg-среде;

2. конфигурация «nanoCAD BIM Архитектура» – для проектирования архитектурной части зданий/сооружений с применением технологии информационного моделирования в *.dwg-среде;

3. конфигурация «nanoCAD BIM Конструкции» – для проектирования металлических, железобетонных и деревянных конструкций зданий/сооружений в *.dwg-среде.

Действующий прайс-лист представлен на сайте в разделе «Цены».

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии1

ИТ-завод запущен успешно: пора забирать призы

Пришло время подвести итоги и наградить победителей ИТ-пинбола!

Напомним, что участникам предстояло активировать 5 цехов виртуального ИТ-завода и запустить его. «Мастеров шара» оказалось немало, но лишь несколько добрались до вершины рейтинга. Они получат фирменный мерч с логотипом «Северстали».

Теперь к призам.

Стильные рюкзаки теперь будут носить: 
@RAZEX0LOL
@marrainfue
@Vedun824

Греться в худи с логотипом «Северстали» смогут:
@Adhmor
@Ruhinger
@OCTAGRAM.

Слушать музыку в AirPods 4 будет @Zzingy

Крутые наушники Sony послужат занявшему @Artem_Dolgii

И, наконец, новенькие AirPods Max достаются покорителю пинбола — @zkingfinn

Это ещё не всё! Хабравчане, активировавшие в игре все 5 цехов ИТ-завода, скоро полюбуются ачивкой «Я — стальной» в своих блогах.

Поздравляем победителя и призёров! Мы уже написали вам в личку все детали)

Не грустите, что наш конкурс завершился. Кто знает, вдруг вам совсем скоро снова пригодятся полученные скилы? : )

Теги:
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Время от времени я вольно или невольно возвращаюсь к теме RS-триггера. Время проходит, а «народ», как не понимал его, так и не понимает. Таблица истинности (ТИ), запрещенные состояния упорно всплывают, как непотопляемый Ванька-встанька. Но сколько раз твердили миру, что ТИ – это про истинно комбинационные схемы, а RS-триггер - посконно последовательностная схема (последовательностная – это не ошибка). А запрещенные состояния? Кто, где и каким указом запретил их?  Так он и послушался?! Все в сумме - верх безграмотности! Чем бы это не оправдывалось. Например, желанием упростить описание.

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

Может, я что-то не понимаю? Конечно, не в RS-триггере.  С ним мне давно все ясно, как и понятна его роль в нынешнее бурное время становления параллелизма.

Но беда в том, что искусственный интеллект в лице того же DeepSeek «гонит» о триггере все ту же чушь. Его несложно, правда, убедить  в обратном. Конечно, обосновывая, конечно, доказывая. И надо отдать ему должное  он все схватывает буквально на лету, а  о чем-то, что тоже поражает, даже догадывается. Это обнадеживает. Не зря ли только?   

Однако, ИИ быстро забывает, чему его учишь. А это уже другая беда. Возможно, не такая уж большая, т.к. учить – не проблема. При этом, у человечества есть все, чтобы поставить точку в понимании RS-триггера, а заодно и параллелизма и, исправив учебники, научить этому и ИИ. Но оно почему-то эту точку не ставит? Что мешает?

А что вы думаете о RS-триггере? И в целом о ситуации?      

Теги:
Всего голосов 6: ↑2 и ↓4-2
Комментарии6

Работа с Bluetooth Low Energy (BLE):основные протоколы и практические советы.

Почему BLE до сих пор “ТОП”?
Потому что даёт годами работать от батарейки -“таблетки”, держит связь в шумной среде и уже давно вышел за рамки «умных браслетов». Ниже - короткая, но практичная шпаргалка: что в BLE за что отвечает, где производительность «прячется», и на чём чаще всего спотыкаются.

BLE-стек делится на две большие части:
- GAP - «как знакомимся и подключаемся»: роли Central/Peripheral, сканирование, реклама (advertising) и параметры соединения.
- GATT/ATT - «как обмениваемся данными после подключения»: сервисы, характеристики, дескрипторы и операции чтения/записи/уведомлений. (PunchThrough, cardinalpeak.com)

Основное - по делу:
1) Реклама и роли
Legacy vs Extended Advertising: в Bluetooth 5 появилась расширенная реклама(Extended) и Periodic Advertising - удобно для «маячинга» и многоприёмников без подключения. (Novel Bits)Роли: Peripheral «светится» и ждёт подключения; Central сканирует и подключается. Это — GAP-уровень. (Punch Through)

2) Скорость, дальность и каналыPHY 1M - базовый; 2M PHY - больше скорость; Coded PHY (S=2/S=8) - для дальности и шумных сред; итоговый выбор - компромисс «скорость/дальность/надёжность». (RIOT Summit)
Для широковещания и энергосбережения в BLE 5.4 усилили «витаминку» для ESL/маячков: PAwR (Periodic Advertising with Responses), EAD (Encrypted AdvertisingData) и пр. - полезно для систем с множеством датчиков и электронных ценников. (Bluetooth Technology Website, silabs.com)

3) Пропускная способность: где «лежит» throughputATT MTU и Data Length Extension (DLE) увеличивают полезную нагрузку пакета (вплоть до ~251 байта данных на пакет) — ключ для высокой реальной скорости. (Punch Through, devzone.nordicsemi.com)
Настраивайте интервал соединения, slave latency и supervision timeout под задачу: меньше интервал — ниже задержка и выше пропускная способность, но больше расход батареи. Для потоков «почти-реального времени» ориентируйтесь на уведомления (см. ниже) и 2M PHY (если качество радио позволяет). Практические потолки зависят от хоста/ОС — тестируйте на целевых телефонах/ПК. (devzone.nordicsemi.com)

4) GATT-модель и событияNotify vs Indicate: оба «толкают» данные от сервера к клиенту; Indicate требует подтверждения на уровне протокола (надёжно, но медленнее), Notify — без подтверждения (быстрее, меньше оверхеда). Всегда добавляйте CCCD для (де)активации уведомлений. (Сообщество NXP, Thesis Pte Ltd, Reddit)Дизайн GATT: группируйте характеристики логически, минимизируйте количество сервисов и «глубокие» иерархии — это ускоряет discovery и упрощает кросс-платформенное поведение. (cardinalpeak.com)

5) Безопасность и приватностьLE Secure Connections (ECDH) — базовый стандарт для шифрования.Privacy: используйте RPA/Filter Accept List, а в BLE 5.4 — EAD для шифрованной рекламы (актуально для «маячков» с приватными данными). (Bluetooth Technology Website)

6) Мобильные ОС: подводные камниAndroid 12/13+: нужны runtime-разрешения BLUETOOTH_SCAN/CONNECT/ADVERTISE(диалог Nearby devices). Без них сканирование/подключение просто не начнётся.(Android Developers) iOS: в фоне реклама и сканирование ограничены — обычные рекламные PDU из бэкграунда не шлются; для сканирования в фоне задавайте конкретные UUID и включайте соответствующие background-моды. (Stack Overflow, Apple Developer)

7) Стек и инструментыДля «железа»: Zephyr Bluetooth Host (широко применим на MCU), NimBLE (легковесный стек от Apache Mynewt), BlueZ (Linux). Выбор стека влияет на доступность фич (DLE, Coded PHY, Periodic Adv). (docs.zephyrproject.org, Argenox)

8) Новшества, на которые стоит поглядыватьBLE 5.4 (PAwR, EAD) — для массовых устройств-«полок» и защищённой рекламы. (Bluetooth Technology Website)
Core 6.0: уточнения по таймингу кадра/интервалам в изохронных потоках (актуально для LE Audio/ISO). Если делаете аудио через BLE — изучите. (Bluetooth Technology Website)

Теги:
Всего голосов 4: ↑2 и ↓2+1
Комментарии4

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

Хотим поделиться, что в течение года мы проводим вебинары, где делимся своим опытом в производстве печатных плат. Обычно такие анонсы мы делаем в нашем Telegram-канале, но хотели бы поделиться им и тут, на Хабр. Если вам интересно такое мероприятие, то мы будем рады видеть всех желающих!

🗓 Ждём вас 16 сентября в 11:00!

Регистрация на вебинар


Обсудим 2 темы:

⁃ Факторы стоимости печатных плат.

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

⁃ High Speed материалы, примеры использования.

Материалы платы для выполнения высокоскоростных интерфейсов передачи данных. Рассмотрим параметры диэлектриков и меди. Какие современные популярные диэлектрики лучше использовать? Как заказать плату с медью с нужной вам шероховатости?

Регистрацию закончим 11 сентября!
Семинары и вебинары ГРАН всегда бесплатные.

Теги:
Рейтинг0
Комментарии0

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

Дослушиваю сейчас роман "Колеса" Артура Хейли, очень здорово там в книге — люди на своих должностях работают, делают дело, живут, пересекаются между собой, решают бытовые, социальные и профессиональные проблемы.
Хочу продолжить жить в этих мирах инженеров, промышленников и ученых (особенно — автомобильной промышленности и автоспорта). Но найти такие произведения, а тем более — фильмы, трудно. Про музыку вообще молчу.

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

Книги, фильмы и музыка об этом очень нужна моей душе. Это должно быть вовсе не "1984" и подобные превозмогания под гнетом режима, и не космические приключения ученых. Напротив, это про счастливое существования среди конвейеров, кульманов и автогонок из стали и резины, но без пластика в 20х-80х годах 20 века.

Фильмы, что я знаю, об этом:
• Такер и его мечта (о создателе и создании уникальной машины, которого съела большая тройка)

• Карл и Берта (о создании первого авто и большая заслуга жены изобретателя)

• Новые времена" (с Чарли Чаплином)

• Штамм «Андромеда» (именно фильм 1971 года, все остальное от лукавого)

Поделюсь и скудным набором музыки, которая почти что об этом:

• Complex Numbers — В дни чудес (о проблеме отсутствия фундаментальных открытий в физике в последние десятилетия)

• Complex Numbers — Неизбежность (о замедлении вселенной и утрате всей кинетической энергии)

• The Machinist — Texhnocrate (sid-метал, без слов)

• Алексей Покровский — Песня о фабричном гудке (ностальгия о былой жизни и работе на заводе)

• Георг Отс — Я люблю тебя, жизнь (порыв счастья из-за выработки эндорфина после тяжелого дня на работе)

Теги:
Всего голосов 3: ↑3 и ↓0+5
Комментарии3

Готовы запустить ИТ-завод? На кону — крутые призы и награда на Хабре!

«Северсталь» запустила совместный проект с Хабром, игру в пинбол. В ней можно проверить свою ловкость, а также узнать интересные факты об ИТ-проектах в промышленности. Цель проста: набрать максимум очков, активируя цеха и открывая карточки с фактами.

Самые меткие игроки получат классные наушники, худи и рюкзак, а те, кто соберет все факты, гарантированно получат ачивку «Я — стальной» в свой блог на Хабре. У вас есть три жизни, чтобы показать лучший результат, а после победы можно играть бесконечно.

Участие в ИТ-пинболе — это отличная возможность больше узнать об информационных технологиях «Северстали». Переходите по ссылке, играйте, соревнуйтесь и активируйте собственный ИТ-завод!

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии3

Ближайшие события

«Клей» для GPIO в QEMU

В прошлой статье мы пришли к выводу, что QMP — это лучше, чем ничего. Но хочется большего — библиотеку или программу (желательно, уже готовую), которая умеет читать/писать и узнавать об изменении состояния через poll() / pselect() / select() / epoll() / read(). 

В таком случае для каждой модели GPIO нужен «клей», похожий на тот, что используется с chardev — мы включаем его прямо в модифицированный QEMU. Очевидное название такого «клея» — gpiodev. Вот его основные функции, которые сейчас почти полностью соответствуют GPIO UAPI в Linux:

  • сообщать количество линий, конфигурацию, название и потребителя каждой линии,

  • читать и задавать состояние линии,

  • отслеживать изменения состояния и конфигурации линии (вход/выход, запрос/освобождение).

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

  • LineInfoHandler() — информация о линии: имя, флаги и потребитель,

  • LineGetValueHandler() — состояние линии: условный 0 или 1,

  • LineSetValueHandler() — задать состояние линии: 0 или 1.

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

Можно ли организовать прозрачное взаимодействие с устройствами внутри QEMU — использовать те же библиотеки и инструменты, как и для реальных устройств? Читайте во второй части трилогии о долгом пути до GPIO в QEMU.

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

🛏 Робот Lume от SyncereAI — это будущее вашего дома!

📌 Стартап из Стэнфорда представил устройство, которое выглядит как настольная лампа, но умеет гораздо больше. Эта робо‑лампа способна самостоятельно складывать одежду и заправлять кровать — аккуратно, без складок и усилий с вашей стороны.

🤖 Что умеет лампа

🔹 Складывает любую одежду — футболки, рубашки, брюки
🔹 Разглаживает ткань в процессе — помогает избежать замятостей
🔹 Заправляет постель — равномерно натягивает простыню и покрывало
🔹 Работает как роботизированный ассистент: мягко, точно и бесшумно

💬 Управление — с телефона или голосом. Можно задать сценарий «утро»: кровать заправляется и одежда аккуратно складывается за пару минут, пока вы пьёте кофе.

💸 Сколько стоит и когда ждать

🔹 Сейчас открыт предзаказ по цене $49 (~4000 рублей)
🔹 Точная дата массовой поставки не объявлена, но интерес уже высокий — устройство активно обсуждают в соцсетях
🔹 В России пока не представлено официально, но, вероятно, аналогичные решения не заставят себя ждать

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

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Пошаговые инструкции сборки — больше не ад для техписов

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

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

На данный момент мы собрали из исходников документы для 647 конфигураций серверов. Даже при таком сравнительно небольшом количестве инструкций мы простым делением получаем затраты на один документ в размере 2 человеко-часов. Это в 12,5 раз дешевле, чем писать отдельные инструкции вручную — выше мы оценивали затраты такого подхода. В итоге с документацией справляются шесть человек — а если бы мы делали инструкции вручную, потребовалось бы не меньше 13 сотрудников. После внедрения конструктора мы оценили дальнейшие трудозатраты, продолжили работу с динамической документацией, и уже через несколько месяцев система начала окупаться.

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

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Есть для альтернатива Delphi в 2025 году для простых кроссплатформенных приложений?

Навеяно обсуждением статьи про Дельфи в 2025.

Q1: Если сейчас есть задача по-быстрому сбацать что то с формами под винду - какая есть альтернатива дельфи?

Q2: А если так же быстро накидать, только кроссплатформенное приложение и без зависимостей?

И мой ответ

A: Не находишь, что 3000$ за кроссплатформенный дизайнер форм слишком дорого? Даже за хороший.

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

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

С чем то я работал, с чем то нет, актуальные версии вживую не проверял.

  1. GNOME Builder (ex.Anjuta). GTK multilang IDE

  2. Cambalache (ex.Glade) - GTK form builder

  3. Qt Creator

  4. FLUID for FLTK

  5. wxFormBuilder for wxWidgets 

  6. Projucer for JUCE

  7. Ultimate++ 

  8. NetBeans GUI design tool for Java Swing 

  9. TKproE (TCL/TK Programming Environment)

  10. Lazarus

  11. MSEide+MSEgui Pascal

  12. GTK# Visual Designer MonoDevelop (retired)

  13. Xamarin.Forms GTK Backend (discontinued for NET MAUI)

  14. JavaFX Scene Builder

  15. Pygubu Tkinter a GUI for Python

    Может еще что и забыл, либо не попалось на глаза.

Теги:
Всего голосов 8: ↑4 и ↓40
Комментарии15

А что б не вспомнить такой носитель данных, как перфолента?

Вот смотрите: допустим, 5 мкм лавсан, потом 1 мкм алюминий и снова 5 мкм лавсан. УФ-лазер с механическим приводом перфорирует поперёк ленты дорожки с шагом, скажем, тот же 1 мкм (УФ может и лучше, но пока не будем пальцы гнуть). Поскольку механика позиционирует луч с точностью до «куда-то туда» — применяем старые добрые старт- и стоп-биты.

На ленте шириной в 5 мм мы легко пробьём 4096 бит, старты, стопы и ещё останется запас с краёв. А чтобы прочитать её значительно быстрее, чем мы это макраме вымучивали — берём линейную ПЗС-матрицу от сканера (разрешение 1×16384 или примерно того порядка), сканируем всю ширину ленты разом, ну и (ваш Кэп) просто её протягиваем. Перекосы головки чтения относительно головки записи решаются кольцевым буфером — там хранится несколько последних строчек и нет никаких проблем найти там реальное положение дорожек, я такие синхронизации за пучок пятачок делал, задача детская.

В результате наши 4 килобита на микрон дают 512 терабайт в габаритах кассеты C-90, минус Рид-Соломон. Если я, конечно, по причине крайней усталости в нулях не запутался. Вот такая вот перфоленточка…

Теги:
Всего голосов 2: ↑2 и ↓0+3
Комментарии21

Как создать простейшую модель GPIO для QEMU

Предлагаю два варианта, которые я условно решил назвать MMIO и PCI. Последний — тоже MMIO, но в QEMU они добавляются разными путями. Начнем с сердца любой MMIO-модели — апертуры.

Апертура и адресное пространство

Как я упоминал в одной из своих статей, любое MMIO-устройство — это MemoryRegion с заданными шириной доступа и размером. Для того, чтобы он был виден CPU или другому устройству, такому как DMA, его нужно разместить в соответствующем адресном пространстве — например, пространстве, назначенном для cpu0:

      0x0                                    0xffffffffffffffff
      |------|------|------|------|------|------|------|------|
0:    [                    address-space: cpu-memory-0        ]
0:    [                    address-space: memory              ]
                    0x102000           0x1023ff
0:                  [             gpio        ]

В любое время можно посмотреть существующие адресные пространства и регионы памяти в мониторе QEMU:

(qemu) info mtree
[...]
address-space: cpu-memory-0
address-space: memory
  0000000000000000-ffffffffffffffff (prio 0, i/o): system
    0000000000102000-00000000001023ff (prio 0, i/o): gpio
[...]

Тогда в модели устройства нам нужно всего лишь создать такой регион и назначить ему соответствующие функции записи и чтения:

static const MemoryRegionOps mmio_mmio_ops = {
    .read = mmio_gpio_register_read_memory,
    .write = mmio_gpio_register_write_memory,
    .endianness = DEVICE_NATIVE_ENDIAN,
    .valid = {
        .min_access_size = 4,
        .max_access_size = 4,
    },
};
 
[...]
memory_region_init_io(iomem, obj, &mmio_mmio_ops, s,
                      "gpio", APERTURE_SIZE);
[...]

Фактически это означает, что все семейство инструкций Load/Store будет вызывать mmio_gpio_register_read_memory()/mmio_gpio_register_write_memory() при совпадении адреса чтения/записи с адресом региона в адресном пространстве.

static uint64_t mmio_gpio_register_read_memory(void *opaque, hwaddr addr, unsigned size);
static void mmio_gpio_register_write_memory(void *opaque, hwaddr addr, uint64_t value, unsigned size);

Передаваемые аргументы и возвращаемое значения интуитивно понятны. Отмечу, что hwaddr addr — это адрес относительно начала нашего региона, а не абсолютный адрес.

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

gpio = qdev_new(TYPE_MMIO_GPIO);
sysbus_mmio_map(SYS_BUS_DEVICE(gpio), 0, ADDRESS);

Почти десять лет назад Никита Шубин, ведущий инженер по разработке СнК в YADRO, сделал возможность чтения и записи GPIO для QEMU. Читайте первую часть трилогии о долгом пути до GPIO в QEMU.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Фото из офиса xAI стало вирусным прямо перед запуском Grok 4 — и это совсем не то, чего можно было ожидать. Высокотехнологичная штаб-квартира превратилась в настоящий палаточный лагерь. В связи с тем, что последние усилия по выпуску чат-бота была уже на подходе, работа над ним шла настолько интенсивна, что разработчикам буквально приходится ночевать в палатках. Один из членов команды xAI даже пошутил: «Это не может быть наш офис — здесь должно быть гораздо больше палаток».

Теги:
Всего голосов 4: ↑4 и ↓0+7
Комментарии5