Pull to refresh
1
0.1
frozzzen @frozzzen

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

Send message

Реализация сапёра в 100 строках чистого Ruby

Level of difficultyMedium
Reading time7 min
Views5.2K

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

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

В нашем случае мы проделаем это на примере старого доброго «Сапёра». Помню, как играл в него на Windows XP ещё пацаном. Если и вы разделяете аналогичные воспоминания, то приветствую вас, мои друзья-миллениалы!
Читать дальше →
Total votes 30: ↑27 and ↓3+38
Comments5

История IBM: От табуляторов до суперкомпьютеров

Reading time12 min
Views2K

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

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

В статье рассмотрим историю этой легендарной компании и проследим ее влияние на развитие компьютерной индустрии. Расскажем, благодаря какому изобретению появилась компания IBM, как она заслужила доверие правительства США. Объясним, почему компанию обвиняют в сотрудничестве с Гитлером и как Microsoft практически разорила IBM.

Читать далее
Total votes 8: ↑8 and ↓0+15
Comments6

Опыты в домашней лаборатории: собственный Let's Encrypt в OpenWRT

Level of difficultyMedium
Reading time31 min
Views6.4K

Углубляясь в тему DevOps в своей домашней лаборатории, я начал замечать, что зачастую проще задействовать TLS/mTLS, чем настраивать и отлаживать способы обойтись без него.

Задумавшись о надежном хостинге для приватного CA, обнаружил, что среди всего моего электрооборудования только у двух приборов аптайм близок к 100%: у холодильника и интернет-роутера.

Идея получать из холодильника не только напитки, но и SSL-сертификаты так грела душу, что я почти начал искать, где купить умный холодильник. Потом немного остыл и решил сначала попробовать роутер с прошивкой OpenWRT.

Читать далее
Total votes 19: ↑18 and ↓1+19
Comments1

OpenFOAM для чайников

Reading time6 min
Views23K
Некоторое время назад я искал описание операций, процессов, происходящих в библиотеке численного моделирования OpenFOAM. Нашел много абстрактных описаний работы метода конечных объёмов, классических разностных схем, различных физических уравнений. Мне же хотелось узнать более детально — откуда в таком-то выходном файле на такой-то итерации получились эти значения, какие выражения стоят за теми или иными параметрами в файлах настроек fvSchemes, fvSolution?
Для тех, кому это тоже интересно — эта статья. Те, кто хорошо знаком с OpenFOAM или с методами в нём реализованными — пишите о найденных ошибках и неточностях в личку.

На хабре уже была пара статей про OpenFOAM:
OpenFOAM на практике
OpenFOAM с точки зрения программиста-физика

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

Сегодня я на простом примере опишу операции, которые происходят в ходе расчёта в OpenFOAM.

Итак, дана геометрия — куб со стороной 1 метр:



Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments2

OpenFOAM на практике

Reading time3 min
Views27K

Open FOAM


image

OpenFOAM — свободно распространяемый инструментарий вычислительной гидродинамики для операций с полями (скалярными, векторными и тензорными). На сегодня является одним из «законченных» и известных приложений, предназначенных для FVM-вычислений.В частности пакет позволяет решать задачи гидродинамики ньютоновских и неньютоновских вязких жидкостей как в несжимаемом, так и сжимаемом приближении с учётом конвективного теплообмена и действием сил гравитации. Для моделирования турбулентных течений возможно использование RANS-моделей, LES- и DNS-методов. Возможно решение дозвуковых, околозвуковых и сверхзвуковых задач.
Читать дальше →
Total votes 28: ↑28 and ↓0+28
Comments6

OpenFOAM с точки зрения программиста-физика

Reading time11 min
Views39K

В компании Intel разрабатывается довольно много ПО для моделирования различных физических процессов. В некоторых из них мы используем пакет OpenFOAM, и в этом посте я постараюсь дать краткое описание его возможностей.
Что такое OpenFOAM? Это, пользуясь термином Википедии, открытая (GPL) платформа для численнного моделирования — в первую очередь для моделирования, связанного с решением уравнений в частных производных методом конечных объемов, и в самую первую очередь — для решения задач механики сплошных сред.
КПДВ: эволюция двух несмешивающихся жидкостей разной плотности, изначально разделенных тонкой перегородкой (пример «lockExchange» из стандартной поставки OpenFOAM). Переходные цвета обозначают ячейки сетки, где присутствует доля и той, и другой жидкости (более точно: при симуляции используется метод объёма жидкости).

Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments18

О контра- и ковариантных тензорах

Level of difficultyMedium
Reading time57 min
Views11K

Записки «чайника», травмированного тензорным исчислением

Тема, заявленная в названии, пожалуй, самая запутанная в тензорном исчислении. Высокоучёные авторы мудрых книг в большинстве случаев ограничиваются только формальными определениями понятий ко- и контравариантности, не опускаясь до подробного пояснения их геометрической и физической сути. Похоже, в этом вопросе они сознательно или бессознательно воспроизводят ситуацию, характерную для квантовой физики: «Не старайтесь понять, просто считайте!». Но если в квантовой физике подобный подход безальтернативен, то в данном случае – вряд ли.

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

Математика остаётся непонятной для многих потому, что нам её объясняют люди, которые понимают её на интуитивном уровне, или, выражаясь более изящно, «на уровне интуитивных образов» [1-7 ≡ Л.1, с. 7]. Нам же, нематематикам, для того, чтобы что-то понять, надо это «что-то» увидеть не в абстрактном («интуитивном»), а в реальном, физически представимом пространстве (по-научному это – «визуализация») или, ещё лучше, поковырять его пальцем (научный термин пока еще не придумали. Открыт приём предложений).

Читать далее
Total votes 44: ↑44 and ↓0+63
Comments58

Как загрузить, установить Office 2024 LTSC с сайта Microsoft и активировать навсегда?

Level of difficultyMedium
Reading time8 min
Views208K

Десять лет назад я писал пару статей - Как загрузить последний Office с сайта Microsoft без всякого App-V / Хабр (habr.com) и Как загрузить Microsoft Office 16 с сайта Microsoft / Хабр (habr.com), при помощи на тот момент еще мало кому известным Office Deployment Tool.

Время бежит стремительно, за Office 2016 выходит Office 2019, Office 2021, и вот сейчас подошло время для Office 2024. Что ж, посмотрим, что поменялось в плане загрузки, установки и активации продукта за десять лет.

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

Microsoft давно перешел на систему распространения продуктов семейства Office по разным, так называемым, "каналам" (channels), в зависимости от того как часто вы хотите получать нововведения и обновления.

Ключевым отличием в текущей загрузке и установке Office от того, что было актуально во времена Office 2016, является то, что вы должны определить, каким каналом распространения вы собираетесь пользоваться, - то есть с какого канала собираетесь устанвливать сам продукт. Тем, кто хотел бы подробно изучить разные каналы распространения я предложу почитать первоисточник - Обновления Office - Office release notes | Microsoft Learn. Остальным кратко резюмирую - Microsoft сейчас предпочитает всем продать подписку на Microsoft 365 (то, что ранее называлось Office 365), с регулярно обновляемыми возможностями в течении так называемой Современной политики жизненного цикла. По этой же современной политике распространяется пользовательские (коробочные, ретейл) версии Office 2021. Office 2021, например, поддерживается лишь до 13 октября 2026. А более старые версии следуют, так называемой политике фиксированного жизненного цикла, в рамках которой Office 2016 и Office 2019 поддерживаются лишь до 14 октября 2025. В целом, они не перестанут работать после, однако, перестанут обновляться. И у тех из вас, кто пользуется почтовыми сервисами на базе Microsoft Outlook.com или Office365, а возможно и пользователям Microsoft Exchange, с обновлениями выпущенными после 14 октября 2025 уже пора призадуматься об обновлении.

Читать далее об установке Office 2024
Total votes 166: ↑157 and ↓9+173
Comments248

Объяснение физической сущности явления «Подъёмная сила Крыла» без использования уравнения Бернулли

Reading time93 min
Views115K
Монин Илья Алексеевич, к.т.н., МГТУ им.Баумана., imoninpgd@gmail.com

Критика существующего Теоретического объяснения Подъёмной Силы на крыле самолёта


Прослушав курс лекций МФТИ Факультет аэромеханики и летательной техники (ФАЛТ) «Введение в Аэродинамику» и прочитав несколько разных ВУЗовских учеников по «Аэродинамике» [1-3], я был озадачен рядом явных противоречий в объяснениях физики процесса обтекания потоком воздуха (газа или идеальной жидкости) различных твёрдых предметов и формирования подъёмной силы на крыле.

  1. Основной тиражируемой Версией образования подъёмной силы на крыле заявляется разность скоростей течения воздуха (жидкости) над крылом и под крылом, и вследствие этого возникает перепад давления согласно Закону Бернулли. При этом однозначно связывают через закон Бернулли расчётную скорость потока на поверхности крыла с инструментально регистрируемым давлением на крыло, игнорируя другие возможные объяснения на основе не менее базовых законов физики.
  2. При анализе обтекания идеальной невязкой жидкостью профилей в плоских течениях удивительным образом получали кратное повышение скоростей потока в сравнение с базовой скоростью V0. То есть опровергается закон сохранения энергии, так как энергия на разгон потока берётся ниоткуда, кратно превышая энергию набегающего на крыло потока. При этом игнорируется постулат гидродинамики, что по тому же закону Бернулли при истечении струи из-под уровня скоростной напор однозначно ограничивается сверху статическим напором в сосуде, то есть скоростной напор струи после разгона на крыле не может превысить статического давление сжатой при торможении среды.
Читать дальше →
Total votes 103: ↑73 and ↓30+43
Comments652

Принципы  работы водоструйного эжектора с функцией вакуумного насоса на примере пожарного гидроэлеватора типа Г-600

Reading time22 min
Views3.4K

 Характеристики  водо-водяных струйных насосов и   гидроэлеваторов. Принцип  работы гидроэлеватора с функцией вакуумного насоса.

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

Про вакуумные гидроструйные насосы (см. ссылку).

К этой группе водо-водяных струйных насосов относятся также и «элеваторы» для систем отопления.

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

Начнём с простейших водоструйных насосов.

Струйными насосами могут быть как водо-водяные, так и водо-газовые или газо-газовые насосы (см.рис.1.)

Читать далее
Total votes 19: ↑13 and ↓6+7
Comments60

Диаграммы без боли и страданий: PlantUML

Level of difficultyMedium
Reading time9 min
Views50K

Системный аналитик всегда и везде сталкивается с бесконечным количеством диаграмм разного вида, с нотациями (правилами), чтобы нарисовать данные диаграммы и с бесконечным количеством инструментов для их описания. Но мало кто говорит о таком инструменте, как PlantUML. 

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

Читать далее
Total votes 65: ↑64 and ↓1+74
Comments35

Атмосфера Земли с точки зрения статической теории газов (СТГ)

Reading time14 min
Views4.3K

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

В случае сравнения СТГ (статическая теория газов) с традиционной КТГ (кинетическая теория газов) таким качественным преимуществом является возможность рассматривать отдельную молекулу газа  с сохранением всех свойств газа (Р, V, Т) и всех известных действующих законов состояния газов, например: закон Бойля- Мариотта и закон Клайперона-Менделеева (См.рис.1-2).

Читать далее
Total votes 13: ↑5 and ↓8-1
Comments474

Изобретая серверы — Open Compute Project

Reading time11 min
Views25K
Стартовавший в 2011 году проект Facebook под названием Open Compute Project (OCP) предполагает создание открытых стандартов и архитектур оборудования для построения энергоэффективных и экономичных ЦОД. OCP начинался как проект по разработке оборудования для дата-центра Facebook в Прайневилле (штат Орегон). В итоге в Facebook решили сделать архитектуру открытой, включая серверные платы, блоки питания, серверные шасси и стойки. Компания выпустила спецификации OCP с рекомендациями по архитектуре компактных и энергоэффективных стоечных серверов и методам охлаждения.



Под катом мы в деталях рассмотрим из чего состоят эти сервера, как они работают и что это дает.

Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments12

Конечные автоматы в Ruby

Reading time4 min
Views9.3K
Статья за авторством хабраюзера preprocessor, который не смог ее опубликовать по всем понятной причине. Так что все плюсики ему:)

Конечный автомат (Finite-state machine) — это такая штука, описывающая поведение объекта с конечным количеством состояний. Пути перехода из одного состояния в другое, условия этого перехода, действия выполняемые во время перехода или после. С теорией у меня всегда было плохо, поэтому больше вдаваться в нее не буду, вместо этого, для тех кто интересуется подробностями, могу порекомендовать посмотреть википедию (как же без нее) http://en.wikipedia.org/wiki/Finite-state_machine и http://ru.wikipedia.org/wiki/Конечный_автомат, а оттуда уже капать на сколько захочется. На практике это можно использовать много где, от парсинга строк (привет Ragel), до модели User в вашем веб-приложении.
Читать дальше →
Total votes 34: ↑27 and ↓7+20
Comments15

Автоматное программирование: определение, модель, реализация

Reading time36 min
Views11K

Термин «автоматное программирование» (АП) был введен в широкую практику в 90-х годах прошлого века [1, 2], хотя о применении автоматов в программировании шла речь задолго до этого. R первым упоминаниям уже начала 70-х годов можно отнести метод введения переменной состояния или, по-другому, метод преобразования неструктурированных программ Ашкрофта и Манны [3]. За прошедшее время сформировалось достаточное число его поклонников и не меньшее число критиков. Если говорить об их разногласиях, то в их основе отсутствие формального определения АП и поверхностное восприятие его возможностей. Из-за этого автоматное программирование формируется интуитивно, что и приводит к противоречивым его формам, порой, мало похожим на первоисточник – модель конечного автомата.

Читать далее
Total votes 10: ↑5 and ↓5+2
Comments43

Как не выстрелить себе в ногу из конечного автомата

Reading time15 min
Views28K
Конечный автомат редко применяется мобильными разработчиками. Хотя большинство знает принципы работы и легко реализует его самостоятельно. В статье разберемся, какие задачи решаются конечным автоматом на примере iOS-приложений. Рассказ носит прикладной характер и посвящен практическим аспектам работы.

Под катом вы найдете дополненную расшифровку выступления Александра Сычева (Brain89) на AppsConf, в котором он поделился вариантами применения конечного автомата при разработке неигровых приложений.


О спикере: Александр Сычев занимается iOS-разработкой восемь лет, за это время участвовал в создании как простых приложений, так и сложных клиентов для социальных сетей и финансового сектора. В данный момент является техлидом в компании Сбербанк.
Total votes 28: ↑28 and ↓0+28
Comments5

Почему FAR — центр моей компьютерной вселенной

Reading time4 min
Views55K

Какую программу вы обычно запускаете сразу после загрузки операционной системы? Кто-то сразу стартует браузер — поглядеть, кто там сегодня в Интернете (на Хабре) неправ. У многих — это редактор кода: «Я, как утром встал, сразу за дрель!». Возможно, вы сначала привычно открываете мессенджеры и почту — проверить, что там нового и важного.

Я обычно сразу после запуска операционки открываю свой Любимый Файловый Менеджер. Это «переходящее звание» — в разные периоды моего компьютерного прошлого этой чести «удостаивались» разные приложения с классическим двухпанельным интерфейсом. Сначала это был простой, но универсальный Norton Commander. Потом появился DOS Navigator со всяческими классными фичами: CD-плеер, телефонная книга с дозвоном по модему, встроенный табличный редактор и прочие прекрасные и поразительные для тех лет вещи.

Когда Windows прочно вытеснил DOS и все понемногу забыли про файл autoexec.bat, звание моего любимого файлового менеджера плавно перешло к Total Commander. Он продержался довольно долго, но в какой-то момент в мою жизнь буквально ворвался FAR...

Читать далее
Total votes 170: ↑159 and ↓11+177
Comments659

Аномальное смещение перигелиев без тензоров

Level of difficultyMedium
Reading time1 min
Views2.1K

Формулы для численного вычисления аномального смещения перигелиев без применения тензоров.
a - большая полуось орбиты в метрах
r_0 - гравитационный радиус Солнца в метрах (2953,25).
ε - эксцентриситет орбиты (Мерк. 0,20563593, Земля 0,01671123).

Интегралы не берущиеся.

Вычисление делается в электронной таблице за 500 шагов

через дельту = 0,0125663706143592 радиана.
Интегрирование по полному обороту.

L=a \int_{0}^{1} \sqrt{1-\varepsilon^2 \cos^2 (\varphi)} ~d (\varphi)

L1=\int_{0}^{1} a * \left (1- \frac{r_0}{a}\frac{(1- \varepsilon \cos (\varphi))}{(1-\varepsilon^2)}\right)^{-3/2} }*\sqrt{1-\varepsilon^2 \cos^2 ( \varphi)} ~d ( \varphi)

Смещение перигелия за сто лет в угловых секундах:

Δφsec= = \left(\frac{L_1 - L}{L} \right)

N — число оборотов планеты за сто лет.
Проверено для Меркурия (42,9) и Земли (3,8).
Проверка была и для двойных квазаров.

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

Формула получена на основе гипотезы опубликованной на странице https://beard-studio.website.yandexcloud.net/

Гипотеза по нашему времени крамольная, но мне нравится. Да и формула на её основе рабочая.

Читать далее
Total votes 17: ↑4 and ↓13-6
Comments51

Математика и физика для простой и результативной учёбы(Серия: Сельскому учителю в помощь). Часть III. Диалекты математики

Level of difficultyEasy
Reading time23 min
Views9.8K

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

Читать далее
Total votes 21: ↑16 and ↓5+16
Comments16

Information

Rating
3,502-nd
Registered
Activity