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

Все потоки

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

Симулятор x86 подобного процессора на машине Тьюринга

Assembler *JavaScript *Алгоритмы *Программирование *
Из песочницы

Привет, Хабр! В свободное от работы время по вечерам мне нравится воплощать в жизнь свои сумасшедшие идеи. В один из таких вечеров родилась мысль реализовать компилятор кода в машину Тьюринга. Осознав всю тщетность бытия сложность реализации, было принято решение начать с чего-то более простого – симулятора простенького процессора со своим собственным ассемблером, в котором команды выполнялись бы с помощью различных состояний машины Тьюринга, а данные хранились бы на одной ленте. В конечном итоге удалось осуществить практически первоначальную задумку, а именно получить одну единственную машину Тьюринга, способную выполнять скомпилированную из NASM подобного ассемблера программу без какого-либо внешнего взаимодействия.

Читать далее
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 312
Комментарии 0

Новости

Полное лунное затмение 16 мая 2022

Астрономия Научно-популярное


Если вы помните, Друзья, этому лунному затмению предшествовало затмение солнечное — всего лишь частное. Но лунное будет полным — почти центральным. Это означает, что Луна глубоко погрузится в земную тень. И где-то там — где затмение будет видно — Луна внезапно ущербится, померкнет, потемнеет, окрасится густым багрянцем, причем случится это в разгар ночи полнолуния…

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



Теперь же — в огнях крупного мегаполиса — пропажу Луны скорее всего мало кто заметит. А в России и сопредельных государствах затмение произойдет тогда, когда Луна будет под горизонтом — досадно, но ничего не поделаешь.

Благо, в Интернете, который нас пока стороной не обходит, полное лунное затмение 16 мая 2022 наверняка можно будет посмотреть онлайн. Причем, если бы оно было видно с балкона, и погода была бы самой подходящей, все равно очень многие предпочли смотреть его онлайн — по привычке.
Читать дальше →
Рейтинг 0
Просмотры 942
Комментарии 0

C++ магистрали потоков и древо алгоритма

Программирование *C++ *Машинное обучение *

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 401
Комментарии 0

Как подружить openssl и powershell, или подпись на основе RSA для самых маленьких

Информационная безопасность *PowerShell **nix *

В один прекрасный день наш сертификат подписи кода протух.

Ну протух и протух, случается. У нас же есть новый сертификат! Щас переподпишем, и всё заработает!

А вот и нет. У нового сертификата - новая цепочка доверия, а владельцы системы куда мы ставимся не настроены устанавливать сертификаты от (в принципе весьма известного) CA в своё хранилище доверенных сертификатов.

Но они готовы использовать на своей стороне скрипт на powershell, который будет проверять валидность, а потом устанавливать без проверки подписей. Да и мы хотим быть уверены, что устанавливаться будет именно наш код. А пакуем мы код на машине, на которую powershell ставить не хочется.

Так что призовём на помощь криптографию, и набьём немного шишек.

Читать далее
Рейтинг 0
Просмотры 312
Комментарии 0

Разработка Gamio AI. Сквозь боль и баги

Программирование *Машинное обучение *Искусственный интеллект Natural Language Processing *

Gamio AI - текстовое приключение на русском языке, основанное на искусственном интеллекте.

Как бы пафосно это не звучало, мне удалось создать рабочую версию этой амбициозной идеи.

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 597
Комментарии 16

Shelby

Работа с 3D-графикой *DIY или Сделай сам

Всем привет, это Денис Вебер.

Давным-давно, даже страшно вспоминать когда, я уже создавал в Blender модель LEGO Jeep. И вот, спустя время, я снова загорелся идеей создания такой анимации. Долго выбирать набор для моделирования не пришлось, я просто остановился на том, какой бы сам хотел купить. Этим набором стал Ford Mustang Shelby GT 500.

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 663
Комментарии 0

Знакомство с ООП на примере JavaScript

Блог компании RUVDS.com JavaScript *Программирование *ООП *
Перевод
Tutorial

Всем привет! В этой статье мы рассмотрим основные характеристики объектно-ориентированного программирования (ООП) на практических примерах JS-кода. В ходе обсуждения мы осветим основные принципы ООП, а также ответим на вопросы, почему и когда этот стиль может быть полезен.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Просмотры 1.3K
Комментарии 4

Необычные MIDI-контроллеры

Блог компании Аудиомания Гаджеты Периферия Звук

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 674
Комментарии 0

Дайджест недели (мобильная разработка) – #2

Разработка под iOS *Разработка мобильных приложений *Разработка под Android *Kotlin *Flutter *

Главным событием этой недели было Google I/O, на которой представили некоторые нововведения, зарелизили ряд новых версий библиотек и инструментов. Из интересного: вышла вторая Beta Android 13, запустили сервис Google Play SDK Index, представили Flutter 3, выложили исходники приложения Now in Android. Все ссылки в дайджесте.

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

Android 🤖

• 13 Things to know for Android developers at Google I/O!
• Google Play SDK Index
• Что нового в инструментах Android-разработки
• Что нового в Jetpack Compose (Beta 1.2)
• Now in Android - a new, open source, real-world sample app
• Вышла вторая Beta Android 13
• Android Lint. Подборка
• Fragula – swipe-to-dismiss extension for navigation component library for Android
• Письмо счастья: как мы разделили наши сборки для AppGallery и Google Play
• Compose performance
• Jetpack DragAndDrop Released 1.0.0
• Here's a productivity hack to save tens of engineering hours* when working with Jetpack Compose!
• Android Studio Chipmunk Released
• Understand Proguard Generated Files and Manually De-obfuscate Stacktrace
• Build a Custom IntelliJ Code Inspection Plugin
• How To Use Android’s Proto DataStore With Kotlin Support
• The Guide To Your First Annotation Processor with KSP (And Becoming A Kotlin Artist)
• Airbnb uses Jetpack Compose to empower devs to do their best work

iOS 🍏

• Apple отключила оплату в App Store со счёта мобильного у «Мегафона», Yota и Tele2
• Write Beautiful Code With Swift Result Builder
• Modeling errors in Swift
• A flexible way to handle and alert errors in SwiftUI
• How do we use SwiftUI in the Medium iOS application
• Заполнители типа в Swift: что это такое и когда их следует использовать
• On iOS applications architecture
• 5 актуальных расширений Xcode для оптимизации разработки
• 10 Tips and Tricks for Swift Developers
• How to Read Websites in SwiftUI — Data Scraping in iOS
• Swift: A few tips for improving code quality
• SSL/Certificate Pinning — iOS 14.0 Never easy before
• Clean Architecture: iOS App
• Creating hex-based colors in UIKit, AppKit and SwiftUI
• Core Data Relationship in Swift 5— made simple
• Building a document scanner in SwiftUI
• Bottom Sheet, shall we drop the formalities?
• Introduction to Dependency Injection with Needle - The Uber Way
• SwiftUI Still Isn’t Production-Ready

Читать далее
Всего голосов 2: ↑0 и ↓2 -2
Просмотры 193
Комментарии 0

Отношения с IT. Часть одиннадцатая. Как продавать то, чего нет

Управление продажами *IT-компании

 

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

С уходом зарубежных мастер-систем, российский рынок it приободрился.

- Какого хрена вы не продаете наш новый продукт? Мы что зря придумали продавать hcm? – возмущенно спрашивает у монитора развивающий директор.

- Мы не знаем, что продавать, обещать и как отвечать на вопросы заказчика.

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

Возможно, вечер за просмотром «Волка с Уолл Стрит» превратил развивающего директора в мотивационного оратора и гения продаж со сцены, решившего, что благодаря ему продажники начнут продавать на миллионы долларов продукт, которого еще нет. Чтобы это произошло развивающему стоит только как следует пох**сосить команду коммерческого отдела во время очередного совещания и научить «обещать все».

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

Примерно с марта 2022 года стало все чаще звучать слово «импортозамещение». И если раньше это касалось улиток, сыра и деликатесов, то сейчас речь идет в большей степени о более интеллектуальных и стратегических товарах, в том числе в it-отрасли. 

Читать далее
Всего голосов 6: ↑0 и ↓6 -6
Просмотры 754
Комментарии 1

Четыре всадника апокалипсиса джуниора Android разработчика

Разработка под Android *
Из песочницы

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

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

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 1.1K
Комментарии 1

Киллер игорных слотов в браузере своими руками для хабровцев

Веб-дизайн *
Recovery mode

Здравствуйте!

Я вот заметил, что почти любой софт имеется платный и бесплатный. Но я не видел чтобы был какой-нибудь движок для казино в свободном доступе. Но я это не гуглил, может и имеется. Но что толку если Вы сами не попробовали это сделать? Если не хватает знаний и сил - то дерзайте, покупайте или скачивайте пиратский софт (библиотеку или движок), но мне на разбор чужого детища не хватает сил, да и я никогда таким не занимался.

Сейчас уже такое время, что людям трудно даже программу установить на ПК или смартфон, а может разучились и не знают что так можно? Мельчают юзеры, да к тому же печатные машинки сейчас наверное остались только у разработчиков. Везде смартфоны - на андроиде или IOS, но они радуют поддержкой веб-технологий в своих браузерах. Просто открыл сайт и вуаля! Играй не хочу или сёрфь интернет, что-то смотри, читай. Не знаю как сейчас пользователи гаджетов и ПК занимают своё свободное время, как я понял сидят в соцсетях судя по количеству интернет трафика. Но это дело избранных, а тем кому не повезло в жизни ищут как бы заработать. Я кокрас из таких. Насколько я знаю заработать можно своим делом или работая на кого-то. Если рассматривать обычных людей, а не айтишников, то выбор не большой. Смотреть рекламу за копейки, разносить закладки(если понимаете), постить рекламу на всяких сайтах, раскачивать персов в играх на продажу, в случае если ничего не умеете конечно, есть конечно там перепродажа всякой всячины, стать блогером и(или) ютубером, про работу в оффлайне не говорю и наше любимое-вечное: покер и казино. А конкретно слоты - это "однорукий бандит"(запрещены в РФ, если на деньги конечно, да и не только в РФ). Я за всю жизнь играл в них 2 раза, один раз за день когда их запретили в РФ проиграл где-то 3000 рублей ставя на гонку собак, а 2 раз несколько недель назад проиграл 1000 рублей на известном сайте в слоты. Это конечно меня разозлило и я решил нанести удар по индустрии. Конечно удар муравьиный, но начало положено.

Читать далее
Всего голосов 11: ↑4 и ↓7 -3
Просмотры 1K
Комментарии 7

Надгробья современного геймдева. Феномен самораздувающихся сроков

Разработка игр *IT-стандарты *

Материал содержит применяемые в отрыве от современной политики именования и отсылки, а так же длинные слова, которые огорчают Винни-Пуха.

Cyberpunk 2077. Был перенесён больше, чем на полгода.
Atomic Heart. Как ждали бета-версию в конце 2019 года, так и ждём.
Escape from Tarkov. Бета-тестирование длится уже почти пять лет.
Vampire: The Masquerade – Bloodlines 2. Перенесён на бооооольше, чем два года, сильно больше...
Bayonetta 3. За прошедшее с момента первого анонса время уже можно было выпустить игру, спин-офф, тизер сиквела и начать снимать сериал для Netflix - но неееет, всё ещё ждём...
И прочие, и прочие, и прочие.

Ладно, "Побег из Таркова" и Atomic Heart: амбиции, нехватка опыта, технологическая болтанка. Допустим.
Но остальные игры - их как минимум продьюсировали видные деятели в этой сфере. Это не первое их родео в мир ААА-проектов. Что ж так не повезло то им?

А если сместить фокус с геймдева и окинуть взглядом IT в целом?
Куда ни глянь - "не попали в дедлайн", "кранч", "лучше MVP в проде, чем срыв сроков в ххх", etc, etc...

Вдобавок, две недавних публикации (о проектировании в IT в целом и о YOLO-разработке в геймдеве) напомнили мне в очередной раз о потенциальной причине этого феномена.
И имя ему - "феномен самораздувающихся сроков".

Что за феномен?
Всего голосов 13: ↑5 и ↓8 -3
Просмотры 2.4K
Комментарии 22

Российско-китайская компания выпускает материнскую плату на базе китайского чипа Zhaoxin

Блог компании Selectel Гаджеты Компьютерное железо Процессоры IT-компании

На днях стало известно о том, что производитель и разработчик электроники, компания Dannie со штаб-квартирами в РФ и Китае, создала материнскую плату, которая рассчитана на работу с китайскими процессорами Zhaoxin. Плата получила название MBX-Z60A. Насколько известно, компания собирается выпустить большое количество таких плат, причем за их разработку отвечает как раз российское подразделение компании Dannie – ООО «Дэнни». Что это за платы, процессор — рассказываем под катом.
Читать дальше →
Всего голосов 29: ↑24 и ↓5 +19
Просмотры 10K
Комментарии 46

Опасен ли внезапный взрыв сверхновой поблизости от Солнца?

Научно-популярное Астрономия


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

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

Читать дальше →
Всего голосов 36: ↑29 и ↓7 +22
Просмотры 5.4K
Комментарии 22

Регулярно спрашивайте себя: а не ерунду ли мы делаем?

Развитие стартапа
Tutorial

Любая организация, от госструктуры до стартапа, всегда имеет некоторый набор принципов и задач, которыми руководствуются менеджеры при принятии решений и распределении ресурсов. Иногда он формализован, и тогда есть документ с названием вроде “Стратегия общества “Рога и Копыта” на 20ХХ-20ХХ годы”. Иногда написанного документа нет, но есть установки вроде “отобрать долю у конкурента Х”, “повысить прибыльность до Х%”, “запустить продукт Х”, “выйти на рынок Х”, или, например, как у моего знакомого собственника небольшой компании, “заработать за год Х, чтобы построить себе дом взамен сгоревшего”. Насколько бы ни были формализованы эти установки, их можно назвать стратегическими задачами и приоритетами, так как именно исходя из них де факто будут исходить руководители при принятии решений.

Сами эти задачи могут быть хорошими или плохими, в зависимости от профессиональных и личных качеств руководства, но они всегда есть, даже если их никто никогда не формулировал. Например, “делать как раньше” - тоже стратегия, в которой, правда, редко признаются. Или может существовать установка “поддерживать лидерство на старых сегментах рынка” в то время, как весь рынок сужается или захватывается конкурентом с совершенно новым продуктов и / или моделью ведения бизнеса. Такая стратегия скорее всего будет глупостью, как в случае с американскими производителями автомобилей в 1970е, которые стремительно уступали рынок японским компаниям, но мало меняли свои продукты и методы работы. Тем не менее, плохая стратегия - это тоже стратегия.

Читать далее
Всего голосов 4: ↑2 и ↓2 0
Просмотры 1.5K
Комментарии 3

Концепция умного указателя static_ptr<T> в C++

Программирование *C++ *

В C++ есть несколько "умных указателей" - std::unique_ptr, std::shared_ptr, std::weak_ptr. Также есть более нестандартные умные указатели, например в boost: intrusive_ptr, local_shared_ptr.

В этой статье мы рассмотрим новый вид умного указателя, который можно назвать static_ptr. Больше всего он похож на std::unique_ptr без динамической аллокации памяти.

Читать далее
Всего голосов 25: ↑22 и ↓3 +19
Просмотры 3.8K
Комментарии 35

PProto: бинарный rpc протокол для Qt framework (часть 2)

Программирование *C++ *Сетевые технологии *

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Просмотры 707
Комментарии 0

Ускоряем java-рефлексию в 2022

Java *
Из песочницы

После прочтения заголовка у среднестатистического читателя наверняка возникнет весьма логичный вопрос: «Кто такая эта ваша рефлексия и зачем её ускорять?»

И если первая часть будет волновать только совсем уж откровенных неофитов (ответ тут), то вторая точно нуждается в пояснении.

К текущему моменту рефлексия (и особенно рефлективные вызовы методов) так или иначе используется в прорве самых разных фреймворков, библиотек и просто любых приложениях, по какой-либо причине требующих динамические возможности.

Однако в java рефлексия реализована не самым быстрым (зато надёжным) методом, а именно, через использование JNI-вызовов. JNI (Java Native Interface) – очень полезная штука, позволяющая машине вызывать код из «внешнего мира», библиотек, написанных на C/C++ или ассемблере.

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

Тем не менее, рефлексия работает именно так: машина «выходит наружу», копается в своих внутренностях и «возвращается обратно», доставляя пользователю полученную информацию или вызывая методы/конструкторы.

А теперь представьте примерное быстродействие какого-нибудь фреймворка, который в процессе работы постоянно осуществляет рефлективные вызовы…

Читать далее
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 2.6K
Комментарии 14

Давайте знакомиться. Я руковожу производством электровакуумных приборов

Развитие стартапа История IT Старое железо
Из песочницы

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

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

Итак, в СССР на 1990 год действовали несколько крупных заводов по производству телевизионных кинескопов в городах Львов, Паневежис, Воронеж, Елец, Москва, Запрудня МО, Новосибирск, Новгород, Брянск, Нальчик. Ряд специальных ЭЛТ так же производился в нескольких НИИ. Это достаточно был достаточно мощный сравнительной высокотехнологичный индустриальный кластер, где работали более 70 тысяч человек (а со смежной цепочкой кооперации более 100 тысяч!). Ряд упомянутых заводов параллельно делали ещё другие электровакуумные приборы, в том числе осциллографические ЭЛТ и другие "приборные", ФЭУ, ЭОПы, имели свои сборочные производства телевизоров, компьютерных мониторов и разных стеклянных изделий бытового назначения.

Но всё равно, весь этот индустриальный кластер держался на массовом выпуске бытовых кинескопов, который с развалом СССР и началом реформ Гайдара-Ельцина начал резко стагнировать и уменьшаться в первую очередь из за очевидного проигрыша иностранным массовым образцам кинескопов по технико-экономическим параметрам. Наиболее длительно существовать на уменьшающемся рынке смогли заводы, которые либо выпускали только чёрно-белые бытовые кинескопы (для конкуренции с которыми западных массовых образцов приборов уже не было на рынке) и электровакуумные приборы для специальных применений, либо заводы, у которых была как большая номенклатура и цветных ( ЦЭЛТ ), и чёрно-белых кинескопов, а так же диверсификация в направлении другой бытовой и специальной техники. Массовое производство цветных кинескопов в РФ фактически остановилось в 1997-98 годах. После единственным и достаточно успешным наследником кинескопной промышленности СССР стал литовский завод "Экранас" ( г. Паневежис ). Его специалисты для увеличения мощности производства на европейские кредиты смогли фактически по цене металлолома скупить значительную часть советского оборудования последней модификации с остановившихся предприятий аналогичного профиля и провести работу модернизации такого оборудования на базе западной автоматики. Так же качество выпускаемых литовцами кинескопов резко возросло в связи с переходом предприятия на снабжение западными материалами и комплектующими. "Экранас" проработал до 2006 года и на пике в 2003-2004 годах выпускал цветных кинескопов порядка 5-6 миллионов в год, что было соизмеримо с мощностью всех советских кинескопных заводов вместе взятых.

Читать далее, как
Всего голосов 118: ↑115 и ↓3 +112
Просмотры 13K
Комментарии 137