Search
Write a publication
Pull to refresh
10
0.2

JavaScript-разработчик

Send message

Проблемы с поиском в интернете нужной программы

Reading time3 min
Views4.2K

Поиск нужной программы (без знаний о ее названии, а только по функционалу) усложняется год от года. Это происходит из-за того что:

1. Большое количество программ.

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

3. Большое количество дублированной информации.

4. Большое количество одинаковых сайтов с одинаковыми программами.

5. Большое количество почти одинаковых программ.

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

Пример:

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

Читать далее

Как посчитать синус быстрее всех на хабре

Reading time15 min
Views35K

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

STM32. Про синус

Reading time7 min
Views18K

В статье алгоритмическая оптимизация функции sin() для бюджетных микроконтроллеров stm32, повышающая производительность в 10 и более раз.

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

Читать далее

Создание игр для NES на ассемблере 6502: скроллинг фона

Reading time11 min
Views4.3K


Содержание:

  • Использование PPUSCROLL
  • Системы камер
  • Подготовка фонов к скроллингу
  • Реализация автоскроллинга
  • Логические фильтры
  • Подводим итог
  • Домашняя работа

Мы уже рассмотрели отрисовку и перемещение спрайтов, но фоны мы пока только отрисовывали. NES имеет возможность плавного скроллинга фонов с точностью до одного пикселя в кадр.
Читать дальше →

Регулярные выражения изнутри

Reading time5 min
Views125K
Регулярные выражения (РВ) — это очень удобная форма записи так называемых регулярных или автоматных языков. Поэтому РВ используются в качестве входного языка во многих системах, обрабатывающих цепочки. Рассмотрим примеры таких систем:

  • Команда grep операционной системы Unix или аналогичные команды для поиска цепочек, которые можно встретить в Web-броузерах или системах форматирования текста. В таких системах РВ используются для описания шаблонов, которые пользователь ищет в файле. Различные поисковые системы преобразуют РВ либо в детерминированный конечный автомат (ДКА), либо недетерминированный конечный автомат (НКА) и применяют этот автомат к файлу, в котором производится поиск.
  • Генераторы лексических анализаторов. Лексические анализаторы являются компонентом компилятора, они разбивают исходную программу на логические единицы (лексемы), которые могут состоять из одного или нескольких символов и имеют определенный смысл. Генератор лексических анализаторов получает формальные описания лексем, являющиеся по существу РВ, и создает ДКА, который распознает, какая из лексем появляется на его входе.
  • РВ в языках программирования.


В данной статье мы сначала ознакомимся с конечными автоматами и их видами (ДКА и НКА), и далее рассмотрим пример построения минимального ДКА по регулярному выражению.
Читать дальше →

Создание игр для NES на ассемблере 6502: рефакторинг

Reading time5 min
Views5.3K


8. Рефакторинг


Содержание:

  • Константы
  • Файл заголовка
  • Импорт и экспорт ca65
  • Собственная конфигурация компоновщика
  • Соединяем всё вместе
Читать дальше →

Создание игр для NES на ассемблере 6502: заголовки и векторы прерываний

Reading time12 min
Views5.6K


6. Заголовки и векторы прерываний


Содержание:

  • Заголовки iNES
  • Выделение процедур с помощью .proc
  • Векторы прерываний

В предыдущей главе мы разобрали часть «main» тестового проекта, которая задаёт цвет фона, а затем входит в бесконечный цикл. Однако этот код составляет всего 13 из 44 строк исходного кода тестового проекта. В этой главе мы изучим оставшуюся часть кода тестового проекта и узнаем ещё несколько опкодов.
Читать дальше →

Экзоатмосферная машина-убийца

Reading time8 min
Views16K
image
Raytheon

Военное искусство, как ни одно другое является наиболее ярким представителем постоянной борьбы меча и щита — любое действие рождает противодействие, и они постоянно борются друг с другом. Это было верно как в древности, так верно и сейчас. В этой статье мы попробуем рассмотреть достаточно любопытный образец для борьбы с ракетами, который был разработан в США и называется «экзоатмосферная машина-убийца».
Читать дальше →

Создание игр для NES на ассемблере 6502: краткая история NES

Reading time12 min
Views11K

Введение


Осенью 1990 года родители подарили мне набор Nintendo Entertainment System Action Set: серую угловатую консоль (Control Deck), два контроллера, ярко-оранжевый световой пистолет "Zapper" и картридж, на котором были Super Mario Bros. и Duck Hunt.


Консоль NES с одним контроллером. Фото Эвана Эмоса.

Control Deck подключалась к стоявшему в чулане большому ЭЛТ-телевизору RF-переключателем — по сути, это была антенна, подававшая видеосигнал из консоли на телевизор на канале 3. Это была моя первая видеоигровая консоль, и я её обожал.

В том году я проводил в чулане много времени. Поначалу и отец тоже — он проходил Super Mario Bros., выяснял местоположение секретных Warp Zones и пытался проскользнуть через опасных Hammer Bro (прим. пер.: кидающихся молотками черепах). Однажды ему удалось победить Баузера («дракона», как он его называл) и спасти принцессу, после чего он практически перестал играть в игры на NES.
Читать дальше →

Создание игр для NES на ассемблере 6502: приступаем к разработке

Reading time14 min
Views12K
image


2. Фундаментальные понятия


Содержание:

  • Работа с данными
  • Регистры процессора
  • Память
  • Как задаются данные
  • Как сделать данные человекочитаемыми
  • Соединяем всё вместе

Что такое компьютер?

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

Кратко и просто про геологию от геолога. Строение Земли

Reading time8 min
Views40K
Здравствуйте.

Расскажу-ка я про базовые факты и следствия из них — на основе которых строится вся геология. Ибо нередко у непосвящённых возникает ощущение, что учёные взяли и выдумали все свои теории от скуки и для поддержки чувства собственного величия.


На фото 1983 года Великий Атуин, слоны и Мир на фоне Вселенной — про них ничего не будет

Нижесказанное будет относиться к геологии, но может быть применено к любой области знаний. Чтоб воспринимать дальнейшее нужно условиться (хотя бы сделать вид), что арифметика, евклидова геометрия, физика/химия за 7-9 класс школы нами принимаются как реальность, не требующая доказательств. И, да! – Землю будем считать шарообразной – иначе не интересно. Логика тоже будет использоваться, даже если это оскорбит её противников.

Начнём с базы: Карл Маркс Гегель гравитация.
Читать дальше →

Пульт управления виртуальной камерой

Reading time6 min
Views2.1K

Практика формирования видеоряда напрямую из 3D программ, созданных на Unity/Unreal/OpenSceneGraph для создания 3D-обучающих видеофильмов показала высокую эффективность такого подхода. Качество синтезируемой модели часто практически не уступает по фотореалистичности видео, созданному “классически”, т.е. традиционным рендерингом из программ 3dMax/Maya/Cinema и т.д.

В данной статье хочется поделиться опытом управления виртуальной камерой.

Читать далее

Программирование необычных шахмат

Reading time18 min
Views20K

Написание своего шахматного движка - обширная тема, про которую пишут целые книги.

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

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

Я запрограммировал 15 шахматных вариаций - для каждой опишу неожиданные ходы и результаты партий компьютера друг с другом.

Читать далее

Brave: эфемерные куки для правильной приватности

Reading time4 min
Views5K

С самых первых релизов Brave блокировал все сторонние хранилища (куки, localStorage, indexedDB). Такая блокировка защищает наших пользователей от самых распространённых форм трекинга, но может ломать сайты. Сегодня мы поговорим об «эфемерных хранилищах», нашей стратегии работы со сторонними хранилищами в Brave, которая улучшает веб-совместимость, сохраняя при этом этот же уровень защиты конфиденциальности пользовательских данных.

Читать далее

USB на регистрах: виртуальная FAT16

Reading time15 min
Views13K

image
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage


Уже довольно давно я пытался разобраться, как же устроена классическая файловая система FAT и вот наконец критическая масса обрывочных сведений в моей голове привела к качественному скачку и закономерному воплю "а что, все действительно настолько просто?!". Нет, разумеется, в FAT полно причудливых костылей, наросших за время ее эволюции, но сама идея и правда проста. Настолько, чтобы реализовать ее эмуляцию на контроллерах вроде stm32f103, stm32l151 в достаточном для ряда задач объеме. То есть наше устройство будет прикидываться флешкой смешного объема, запись и чтение которой будут не приводить к перезаписи памяти, а обрабатываться исключительно кодом.

Читать дальше →

Какие задачи не решаются bat-файлами?

Reading time8 min
Views33K

Бат-файлы ведут свою историю со времен MS-DOS. Новые фичи добавлялись с сохранением обратной совместимости. Из-за этого многое в языке bat-файлов, как мы увидим далее, нелогично и неудобно.

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

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

Читать далее

Графическая логическая игра Льюиса Кэрролла

Reading time6 min
Views16K

В одном из выпусков библиотеки журнала «Квант» я обнаружил перевод книги Льюиса Кэрролла «Логическая игра» (The Game of Logic). В ней автор рассказывает об оригинальном графическом способе визуализации логических суждений с помощью размеченного особым образом квадратного поля и фишек двух цветов. Этот способ помогает легко оперировать логическими множествами и на основе некоторых предпосылок формулировать новые утверждения. Давайте попробуем разобраться, как это работает.

Читать далее

Знакомство с p-адическими числами. Часть 1

Reading time19 min
Views25K

Иллюстрация сложения в p-адической топологии (E. Harriss and R. Nelson)
Изображение с сайта Mathematical Art Galleries


В этой серии из двух статей я приглашаю вас заглянуть в один любопытный и не самый популярный уголок математики, в котором обитают необычные создания — p-адические числа, а попутно хочу рассказать о написанной мной Haskell-библиотеке для работы с ними, а также о двух классных инструментах: о типах-литералах (type literals) и семействах типов (type families), приближающих нас к заветным зависимым типам.


Я люблю язык Haskell и, начиная с какого-то времени, мне стало комфортно думать на нём, особенно, на математические темы. Когда понадобилось освоить новый инструмент, — p-адические числа, оказалось, что в репозитории hackage, основном для Haskell-сообщества, нет инструментов для работы с ними, даже в таких серьёзных теоретико-числовых библиотеках, как arithmetic, arithmoi или factory. В конце концов, я написал и опубликовал свой модуль padic, и во второй части этой серии расскажу о некоторых деталях его реализации. А сейчас речь пойдёт о самих p-адических числах.

Читать дальше →

Знакомство с p-адическими числами. Часть 2, практическая

Reading time13 min
Views6.5K


Эта часть продолжает неформальный рассказ о p-адических числах и она посвящена практическим аспектам работы с этой числовой системой и, в частности, некоторым деталям реализации p-адической алгебры на языке Haskell. О том, что это за система и зачем она может понадобиться, читайте в предыдущей части.


Мы поговорим об эффективном внутреннем представлении p-адических чисел, о базовых алгоритмах и методах работы с ними, а также о двух классных инструментах в системе типов языка Haskell: о типах-литералах (type literals) и семействах типов (type families).

Читать дальше →

Торпеда для паровоза

Reading time5 min
Views10K

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

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

Читать далее

Information

Rating
3,506-th
Location
Москва, Москва и Московская обл., Россия
Registered
Activity