Habr.com

Ленты новостей Хабр
URL-адрес: https://habr.com/ru/all//
Обновлено: 8 мин. 50 сек. назад

Разработка гироскопического эхолокатора

2 часа 20 мин. назад

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

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

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

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

Читать далее

Создание telegram web apps и взаимодействие с ними в телеграм ботах

2 часа 23 мин. назад

В обновлении Bot API 6.0 телеграм-боты получили много новых функций. Из них для разработчиков самая примечательная - Telegram Web Apps (Веб-приложения внутри телеграм). С этим нововведением разработчики могут подключать к своим ботам web-приложения, которые открываются в дополнительном окне, что сильно расширяет инструментарий, а, следовательно и функционал ботов в телеграм.

Читать далее

Картридж с The Super Shinobi 2

вт, 05/17/2022 - 22:29

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

Читать далее

[Перевод] Очень странные дела. Что спрятано под капотом FreeDOS в современном ноутбуке

вт, 05/17/2022 - 22:17

HP Zbook Fury 17.8 G8 в режиме FreeDOS из коробки

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

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

Разработчик компьютерных игр и специалист по виртуализации Linux Хайн-Питер ван Браам-Стюарт решил разобраться и посмотреть, что скрывается под капотом современного ноутбука HP ZBook 17.8 G8. Это оказалось как раз из его профессиональной области (извините за спойлер...).

Итак, слово автору…
Читать дальше →

Эмулятор CD-Rom для SonyPlaystation который я писал больше десяти лет. Часть 2

вт, 05/17/2022 - 20:36
В первой части. Мы поверхностно посмотрели, как работает микросхема CXD2545, которая является частью контроллера CDRom и стоит между данными считываемые лазером и остальной частью приставки. Я для себя поставил задачу проэмулировать чтение оглавления диска. Это то, что делает приставка, когда пытается понять, что за диск в ней вставлен. А главное результат сего действа достаточно просто можно наблюдать во встроенном CD плеере приставки. Зная, что во время попытки чтения оглавления она не дает двигать курсор, а по окончании показывает, сколько треков было найдено.

(Также здесь будут описаны ошибки, которые я допустил, пытаясь сделать этот эмулятор, может, кого-то это убережет, от необдуманных поступков)
Итак у нас есть PS1 с платой SCPH-5502, DE1 с CycloneII на борту, клон DSLogic Plus и большое желание проэмулировать CDRom.
Читать дальше →

Установка Nextcloud на Synology. Настройка OnlyOffice и External storage

вт, 05/17/2022 - 19:53

В данном посте я хотел бы рассмотреть способ установки персонального облака на домашний сервер Synology при помощи Docker, поделиться своими ошибками и опытом использования в повседневной жизни. Я буду признателен, если более опытные пользователи habr также поделятся своим опытом и расскажут, как им помог Nextcloud в повседневной жизни или какие трудности в установке ими были пройдены.

Читать далее

Как мы закрыли все объявления частных пользователей защитными номерами

вт, 05/17/2022 - 18:54

Меня зовут Павел Голов, я инженер в юните Communications. Наш юнит развивает функционал взаимодействия пользователей на Авито.

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

Читать далее

Как ИИ помогает компаниям сократить расходы на хранение данных

вт, 05/17/2022 - 18:47

Объем информации в мире продолжает расти в геометрической прогрессии. Согласно новому исследованию Statista, опубликованному 18 марта, общий объем данных, созданных в мире в 2020 году, составил 64,2 зеттабайта. То есть 64,2 триллиона гигабайт. И ожидается, что к 2025-му на планете будет создаваться уже по 180 зеттабайт данных в год.

Никаких физических накопителей на такое не хватит, учитывая, что сейчас у нас недостаточно даже чипов для видеокарт. Неудивительно, что траты на хранение и обработку данных постоянно растут. Это постепенно становится вопросом №1. В 2021 году объем рынка Big Data достиг $162,6 млрд — хотя в 2013-м он составлял $34 млрд.

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

Читать далее

Totum — open source, self hosted база данных для непрограммистов

вт, 05/17/2022 - 17:34

Инструмент для цифровизации бизнеса в момент, когда он вырос из XLS-таблиц

Универсальный UI, логика на основе простых кодов, автоматические действия, права доступа, логирование, API и куча всего остального

Распределенные Workflow на PHP. Часть 1

вт, 05/17/2022 - 17:19

Мы занимаемся разработкой огромного количества сложного ПО для автоматизации и энтерпрайза и Workflow для нас — это большая и больная проблема. Если для вас тоже — я расскажу, как писать и оркестрировать очень сложные процессы на масштабах, и как убедиться, что они не падают. А также как делать таймеры на 30 дней внутри процессов. И самое главное, как всё это пилить на PHP.

Меня зовут Антон Титов. Я более 17 лет занимаюсь коммерческой разработкой. Являюсь соавтором Spiral Framework, RoadRunner и Cycle ORM. Основной стек: PHP и Golang. Разговор пойдет про нашу разработку Temporal PHP SDK, которая и помогает решать все вышеперечисленные сложные задачи.

Читать далее

Инструменты OSINT для геолокации: моря, горы, улицы

вт, 05/17/2022 - 17:16
Появляется всё больше и больше инструментов для выяснения точного местоположения, откуда был сделан фото- или видео-снимок. Любая деталь — дорожный знак, вывеска, линии электропередач, рельеф гор на заднем плане и даже длина тени от столба может быть подсказкой для исследователей. Предлагаем вашему вниманию подборку инструментов по геолокации от ведущих OSINT-исследователей.

Geolocation Estimaton


Платформа, которая оценивает местоположение изображения с помощью глубокого обучения/ИИ.

Тут можно смотреть на чужие фотки и вручную вбивать их местоположение, учить систему, а можно загружать свою фотку и просить систему «угадать» местоположение.

На тепловой карте указываются области, которые максимально повлияли на принятие решения.



Загрузил свою фотку из исторического района Стамбула — система не смогла определить.
Читать дальше →

Переход на UNIGINE с Unity: гайд для программистов

вт, 05/17/2022 - 16:16

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

Под катом: написание игровой логики, запуск скриптов в редакторе, триггеры, ввод, рейкастинг и другое.

Читать далее

Ноотропы: фуфломицины — хорошая идея или большая ошибка?

вт, 05/17/2022 - 16:01


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

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

Магии не будет.

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

Давайте разбираться в практических аспектах: стоит ли принимать ноотропы, действительно ли они «разгонят» вам мозг, и чем за это придётся расплачиваться, конечно же, с точки зрения научной медицины.
Читать дальше →

Состоялся релиз Kali Linux 2022.2

вт, 05/17/2022 - 15:37

Состоялся релиз Kali Linux 2022.2, который содержит много обновлений и нововведений: обновление графических сред, новые инструменты, поддержка создания снимков и поддержка Kali NetHunter для умных часов.

Читать далее

Подключаем Master устройство на шину Wishbone в системе LiteX

вт, 05/17/2022 - 15:20

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

Я уже многократно писал,  что рассматриваю LiteX как некий аналог подсистемы Qsys из среды разработки Quartus. То есть, как удобное средство составить шинно-ориентированную систему из множества готовых ядер. Но если Qsys – он только для Альтер, то LiteX – он подходит и для Altera (Intel), и для Xilinx, и для Lattice. А сейчас я по работе плотно вожусь именно с Латтисами. У Латтисов самое узкое место – это параметр FMax. И вот построение базовых систем на базе шины Wishbone у Litex получается очень красиво. Там FMax выходит достаточно высоким. Даже у Латтисов он превышает 100 МГц.

В предыдущих статьях мы уже научились добавлять в систему устройства, доступные по шине через регистры команд-состояний (CSR), а также пассивные (Slave) устройства с шиной Wishbone. Сегодня мы добавим на шину активное (Master) устройство. Поехали!

Читать далее

Войти в IT в 27 лет. Что получилось за 4 года

вт, 05/17/2022 - 15:15

4 года назад я решила уйти из маркетинга и начать работать фронтенд-разработчиком. Расскажу о том, как искала первую работу, как жила на 30 тысяч в Москве, как обучалась, как устроилась фронтом в Prequel и что сделала бы иначе, окажись в той же ситуации. Также всем желающим могу рассказать, как выровнять блок по вертикали))

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


Как все начиналось

В далеком 2007 году я заканчивала экономический факультет Тверского университета, у нас был курс информатики на семестр, где 3-4 занятия были посвящены html и css. Преподаватель объяснила основы табличной верстки, без адаптива, на уровне “Цвет текста можно поменять вот так, а картинку вставить вот так”. Далее в голодные студенческие годы я начала заниматься фотографией и для поиска клиентов сделала свой первый сайт на Joomla. Отсутствие способностей к дизайну, несколько лекций по табличной верстке и случайно купленная книжка с маркетинговым названием “Как сделать сайт, продвинуть его и начать зарабатывать” дали свой ужасающий по стилю, но вполне работающий результат.

Вычитанные в этой книге советы по SEO сработали, удалось продвинуться по некоторым средне- и низкочастотным запросам, например, “деловая фотосессия”, помогло еще и то, что я жила в городе на 400 тысяч человек с умеренной конкуренцией в фотографии. Однако после универа и переезда в Москву заниматься фотографией стало сложнее – отработать полную неделю в Москве, а на выходных встать в 5 утра на съемку свадьбы было тяжеловато физически. В одну из суббот, отсняв армянскую свадьбу на 200 человек, я осознала, что с фото пора завязывать.

Дальше была попытка работать по специальности, однако я снова пришла к SEO и 2,5 года отработала в агентстве SEO-шником, но со временем меня перестало устраивать, что в оптимизации сложно отследить точное влияние своих действий на результат. Одновременно вокруг росло количество курсов, обещающих, что ты станешь Senior Java Developer за 2 недели (нет) и друзей-программистов, обещающих 150к уже через полгода (нет, нет, нет).

Я самоуверенно решила, что верстку и так знаю, купила книгу по JavaScript и начала читать и делать упражнения. Дополнительно посмотрела пару уроков на Youtube “Как сделать сайт за 2 часа”, повторила за авторами, получила несколько лендингов. Через пару месяцев отправилась на поиски работы, сайтики с видео-уроков представила как свое портфолио, но не скрывала, что сделаны по обучающим видосам.

Читать далее

[Перевод] Как помочь компилятору повысить быстродействие вашей программы

вт, 05/17/2022 - 15:09

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

Под катом старший разработчик ПО компании Google, Minhaz A V*, рассказывает об оптимизации производительности кода. Менее чем за час работы автор ускорил код на 18%, добавив в него всего пару строк. Несмотря на то, что в большинстве примеров этого материала используется C++, статья может быть полезна широкому кругу читателей.

*Обращаем ваше внимание: позиция автора не всегда может совпадать с мнением МойОфис.

Читать далее

[Перевод] 10 лучших алгоритмов 20 века

вт, 05/17/2022 - 14:40
Прим. Эта статья была опубликована в майском номере 2000 года журнала SIAM. На рубеже веков появилась «мода» на подведение итогов уходящего столетия. И алгоритмы этой участи не избежали. В этой статье авторы делают обзор 10 лучших алгоритмов 20 века. Возможно, вам будет интересно узнать, какие алгоритмы, по мнению авторов списка, внесли наибольший вклад в развитие науки.

Algos — греческое слово, означающее боль. Algor — латинское слово, означающее холод. Но ни то, ни другое не является корнем слова «алгоритм», которое происходит от имени Аль-Хорезми – арабского ученого девятого века – чья книга «al-jabr wa’l muqabalah» (Китаб аль-джебр ва-ль-мукабала) переросла современные учебники по алгебре для средней школы. Аль-Хорезми подчеркивал важность методических процедур для решения задач. Будь он сегодня здесь, то, несомненно, был бы впечатлен вершинами математического метода, названного в его честь.

Часть из лучших алгоритмов компьютерной эры были освещены в январско-февральском выпуске 2000 года журнала Computing in Science & Engineering — совместном издании Американского института физики и Компьютерного общества IEEE. Приглашенные редакторы Jack Dongarra (Джек Донгарра) из Университета Теннесси и Francis Sullivan (Фрэнсис Салливан) из Института оборонного анализа составили список из 10 алгоритмов, который они назвали «Top Ten Algorithms of the Century».

«Мы попытались собрать 10 алгоритмов, оказавших наибольшее влияние на развитие и практику науки и техники в 20 веке», — пишут Донгарра и Салливан. По признанию авторов, как и в любом рейтинге, их выборы неизбежно будут спорными. Когда дело доходит до выбора лучшего алгоритма, кажется, что он и вовсе не существует.

Итак, вот список 10 лучших алгоритмов в хронологическом порядке. (Все даты и имена стоит воспринимать как аппроксимацию первого порядка. Большинство алгоритмов формируются в течение времени при участии многих ученых).
Читать дальше →

[Перевод] Видеоускоритель Apple и невозможный баг

вт, 05/17/2022 - 14:30
В конце 2020 года компания Apple выпустила M1 — первого представителя собственной архитектуры GPU под названием AGX, по слухам, созданной на основе серии Imagination PowerVR. С тех пор мы занимались реверс-инжинирингом AGX и созданием опенсорсных графических драйверов. В январе прошлого года я отрендерила треугольник при помощи своего собственного кода, но с тех пор нас продолжал преследовать ужасный баг:

Драйвер не справлялся с рендерингом больших количеств геометрии.

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


Частично отрендеренный по Фонгу кролик

Сложно было определить, какой объём мы можем рендерить без сбоев. Это зависело не только от сложности геометрии. Одна и та же геометрия могла рендериться с простыми шейдерами, но давать сбой со сложными.
Читать дальше →

.NET 6: PriorityQueue

вт, 05/17/2022 - 14:07

В .NET 6 появилась новая коллекция — PriorityQueue<TElement,TPriority>. До этого очереди с приоритетами уже были в .NET, но только в виде внутренних классов — они использовались под капотом разных механизмов в WPF, Rx.NET и в других частях фреймворка. 

Но в .NET 6 PriorityQueue стала новой коллекцией, которой теперь можно пользоваться из клиентского кода. Давайте посмотрим, что предлагает эта очередь, как она устроена внутри и насколько быстро работает. Под катом будет постепенное погружение: от примеров использования в коде к введению n-арные деревья.

Читать далее

Сейчас на сайте

Сейчас на сайте 0 пользователей и 0 гостей.