Как стать автором
Обновить
4
0
Владимир @Alhiimik

Инвестбанкир

Отправить сообщение

Конструктор для взрослых…

Время на прочтение10 мин
Количество просмотров129K

...и не только!

Это история о том, как я создал конструктор для решения повседневных проблем. Для меня он стал незаменимым помощником по жизни. Возможно, и вам придется по вкусу (древесины:))

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

Читать далее
Всего голосов 203: ↑197 и ↓6+191
Комментарии257

Как мы создали российский электросамокат, который на порядок лучше китайских аналогов

Время на прочтение12 мин
Количество просмотров23K

Добрый день! Вас снова приветствует Владимир Боровой, основатель и владелец бренда электросамокатов Halten, и это мой второй пост на Хабре. В конце своего первого поста я упоминал об инженерных разработках, которые ведет R&D-отдел нашей компании.

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

Читать далее
Всего голосов 97: ↑53 и ↓44+9
Комментарии166

Карточная игра на JavaScript и Canvas, или персональный Лас-Вегас. Часть 1

Время на прочтение11 мин
Количество просмотров30K
Однажды на досуге я придумал карточную игру и, недолго думая, создал ее электронную версию. А потом добавил еще четыре игры, включая покер Техасский Холдем. А чтобы было еще интереснее, я встроил некое подобие прогресса: выигрываешь в одной игре – открывается новая. Запланировал я разместить свою игру в двух социальных сетях и в магазине Windows Store как html5-js приложение. А также, возможно, создать еще сборки под Android и iOs. Можно играть чрез сервер с другими людьми, а можно – офф-лайн с ИИ.

Для работы я, как всегда, не использовал никакие сторонние движки и библиотеки, даже jQuery мне не понадобилось. Только функции ванильного JavaScript, включая средства работы с холстом (canvas). Холст в игре – основа для вывода всей игровой графики. В WebGL, на этот раз, не было необходимости, поэтому зоопарк поддерживаемых браузеров расширился. Средой программирования, как обычно, стал продвинутый блокнот. Игра получилась объемом 3,8 Мб, из которых 3 Мб — это семь карт спрайтов в формате png. Запускается игра по html-файлу. Сервер на PHP. В случае выбора однопользовательской игры (то есть, с ИИ), запросы к серверу не отправляются и все расчеты ведутся на клиенте. Диздок не писал – он не нужен хипстерам.


Далее – занимательная геометрия и программирование, а во второй части будет рассказ о размещении игры в социальных сетях и в магазине.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии45

Шардинг в Блокчейне

Время на прочтение12 мин
Количество просмотров11K

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


Хорошо известно, что Ethereum, самая популярная dApps платформа, обрабатывает меньше чем 20 транзакций в секунду. Из-за этого ограничения цена транзакций и время на их подтверждение очень высоки: несмотря на то, что блок в Ethereum публикуется раз в 10-12 секунд, согласно ETH Gas Station время между отправкой транзакции и тем как она действительно попадает в блок в среднем 1.2 минуты. Низкая пропускная способность, высокие цены и долгое подтверждение транзакций не позволяет запускать на Ethereum какие-либо высокопроизводительные сервисы.


Основная причина того, что Ethereum не может обрабатывать больше 20 транзакций в секунду заключается в том, что каждая нода в Ethereum должна проверить каждую транзакцию. За пять лет с выхода Ethereum было предложено много идей как решить эту проблему. Эти решения можно грубо разбить на две группы: те, которые предлагают делегировать выполнение транзакций небольшой группе нод с очень хорошим железом, и те, которые предлагают каждой ноде обрабатывать только подмножество всех транзакций. Пример первого подхода — это Thunder, в котором блоки создаются только одной нодой, что позволяет, по утверждениям разработчиков, получать 1200 транзакций в секунду, что в 100 раз больше чем у Ethereum. Другие примеры из первой категории — это Algorand, SpaceMesh, Solana. Все эти протоколы улучшают разные аспекты протокола и позволяют выполнять больше транзакций чем в Ethereum, но все ограничены скоростью одной (пусть и очень мощной) машины.

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии5

Как мы запустили роботов в маленький Чернобыль. Часть 1

Время на прочтение8 мин
Количество просмотров53K

Рождение концепции Remote Reality


История нашего «безумного» проекта началась три года назад, когда размышляя о будущих перспективах развития игровой индустрии, мой друг Леша сказал: «Представь себе будущее, в котором люди в виде развлечения, из любой части мира управляют на игровом полигоне настоящими роботами, как «аватарами»».


image

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


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


Мы сразу решили, что эти мысли укладываются больше в концепцию развлекательного аттракциона, а не компьютерной игры. Люди любят развлечения и хотят чего-то нового, и мы знали, что им предложить. Как и в любом бизнесе, сразу всплыл вопрос окупаемости, ведь на первый взгляд кажется, что наша физическая модель ограничена количеством роботов. Но умножив роботов на 24 часа и на цену часа в 5-10 долларов, сомнения отпали. Финансовая модель не являлось «Клондайком», но вполне окупалась даже при 10% загрузке.


Очень быстро у нас в голове появилось название новой концепции: Remote Reality, по аналогии с Virtual Reality и Augmented Reality.

Читать дальше →
Всего голосов 215: ↑214 и ↓1+213
Комментарии158

Транслируем видеопоток с IP-камеры с помощью WebRTC

Время на прочтение9 мин
Количество просмотров258K
Решение задачи онлайн-вещания с IP-камеры, вообще говоря, не требует применения WebRTC. Камера сама является сервером, обладает IP-адресом и может быть подключена напрямую к маршрутизатору с целью раздачи видео-контента. Так зачем же применять технологию WebRTC?

image

Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии15

Опыт применения GSM модуля в домашней автоматизации

Время на прочтение9 мин
Количество просмотров40K
На даче холодно, и вы хотите за несколько часов до своего приезда туда включить обогреватель, или вас беспокоит возможность аварийного отключения системы отопления загородного дома в ваше отсутствие. Все эти проблемы можно решить с помощью GSM модуля, который умеет отправлять и получать SMS сообщения и реагировать на них, включая и выключая нужную нагрузку. В теории все просто, на практике же на пути реализации подобного устройства есть множество подводных камней.

image
Читать дальше →
Всего голосов 37: ↑36 и ↓1+35
Комментарии62

SunCalc — JavaScript-библиотека для вычисления положения солнца и солнечных фаз

Время на прочтение3 мин
Количество просмотров13K
SunCalc

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

Сейчас же я решил выпустить код, выполняющий непосредственное вычисление этих значений, в виде отдельной библиотеки с открытым исходным кодом, и опубликовать ее вместе с примерами и документацией на GitHub: github.com/mourner/suncalc

Библиотека написана на основе формул из статьи про положение солнца на сайте Astronomy Answers, опубликована под лицензией BSD, занимает ~1.5 кб, соответствует строгим стандартам JSLint и работает не только в браузере, но и на различных серверных платформах, таких, как Node.js.

Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Комментарии12

HBO, cпасибо что напомнил… «Чернобыльская аптечка» беларуского фармацевта

Время на прочтение20 мин
Количество просмотров123K
Что бы ни сказали — не станем спорить
Что бы ни дарили — не станем верить

Егор Летов «Как листовка»

Думаю не стоит лишний раз говорить о нашумевшем сериале Чернобыль и эффективности такого «сериального» воздействия на массы. Особенно на массы, проживающие на территориях, показанных в фильме. Выход каждой новой серии сопровождается всплеском публикаций в FB. В каждой из которых горечь, страх, боль. Что в такой ситуации я могу сделать ("кто виноват и что делать?")? Могу только описать свой взгляд на терапию лучевых поражений. Спасибо родненькой кафедре химии высоких энергий и проф. Шадыро О.И., которые пестовали в своих лабораториях нас, непутевых фармацевтов-радиохимиков. Надеюсь своей статьей честь этой, легендарной некогда, кафедры я не опорочу.

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

В общем, спасибо, сценаристы HBO, за то, что всколыхнули Память. Мой посильный вклад — под катом. Рейтинг доступных (и не очень) антидотов, способных сработать при радиационном выбросе. В закладки — класть строго ВСЕМ! И прочитал сам — перекинь другу.

Читать дальше →
Всего голосов 227: ↑210 и ↓17+193
Комментарии272

8 ошибок в произношении английских звуков, которые делает большинство русскоговорящих

Время на прочтение7 мин
Количество просмотров63K


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

Причина очень проста. Звуки и звукообразование в разных языках отличается кардинально.
В японском языке отсутствует звук [l]. И на первых этапах изучения английского языка они заменяют его звуком [r]. Все потому, что в японском звук [r] ударный, а не вибрационный. Во время произношения язык прикасается к нёбу лишь на долю секунды, поэтому на выходе получается что-то среднее между знакомыми нам [р] и [л]. Именно поэтому сложно понять, что имеет в виду японец: «law» или «raw».

Конечно, при целенаправленных тренировках японцы начинают выговаривать звук [l], но крайне малая часть изучающих английский тренирует произношение настолько глубоко.
Абсолютно на же ситуация с английским и русским языками. В английском есть ряд звуков, которые очень сложно даются русскоговорящим. Просто потому, что в русском языке их нет. А еще есть нюансы между схожими звуками, которые русское ухо просто не замечает.

Нередко такие нюансы полностью меняют смысл предложения.
И вместо «I like this beach» («Мне нравится этот пляж») собеседник услышит «I like this bitch» («Мне нравится эта девушка с пониженной социальной ответственностью»).
В этой статье мы расскажем о 8 ошибках в произношении, которые часто встречаются у русскоговорящих, а также расскажем хитрости, которые помогут вам от них избавиться. Поехали.
Всего голосов 53: ↑42 и ↓11+31
Комментарии116

Подробности о JavaScript-объектах

Время на прочтение10 мин
Количество просмотров26K
Автор материала, перевод которого мы сегодня публикуем, говорит, что в JavaScript-объектах содержится много такого, о существовании чего можно и не подозревать, пользуясь ими в повседневной работе. Объекты в JavaScript очень легко создавать, с ними удобно работать, они кажутся понятными и гибкими сущностями, и многие программисты попросту не задумываются о том, что на самом деле устроены объекты не так уж и просто.


NB: Информацию из публикации на практике следует применять крайне аккуратно и под присмотром более опытных коллег.
Читать дальше →
Всего голосов 44: ↑43 и ↓1+42
Комментарии17

Морти, мы в UltraHD! Как посмотреть любой фильм в 4K, дорисовав его через малоизвестную нейросеть

Время на прочтение3 мин
Количество просмотров114K
Наверное, вы слышали про технологию Яндекса DeepHD, с помощью которой они как-то раз улучшили качество советских мультфильмов. Увы, в публичном доступе ее еще нет, а у нас, рядовых программистов, вряд ли найдутся силы написать свое решение. Но лично мне, как обладателю Retina-дисплея (2880х1800), недавно очень захотелось посмотреть «Рика и Морти». Какого же было мое разочарование, когда я увидел, как мыльно на этом экране выглядит 1080р, в котором существуют оригиналы этого мультсериала! (это прекрасное качество и обычно его вполне достаточно, но поверьте, ретина так устроена, что анимация с ее четкими линиями в 1080р выглядит мыльновато, словно 480р на FHD-мониторе)

Я твердо решил, что хочу увидеть этот мультсериал в 4К, хотя и совершенно не умею писать нейросети. Однако решение было найдено! Любопытно, что нам даже не придется писать код, понадобится лишь ~100 ГБ места на диске и немного терпения. А результат — четкое изображение в 4К, которые выглядит достойнее, чем любая интерполяция.

image
Читать дальше →
Всего голосов 222: ↑218 и ↓4+214
Комментарии187

Многопоточность в Node.js: модуль worker_threads

Время на прочтение13 мин
Количество просмотров67K
18 января было объявлено о выходе платформы Node.js версии 11.7.0. Среди заметных изменений этой версии можно отметить вывод из разряда экспериментальных модуля worker_threads, который появился в Node.js 10.5.0. Теперь для его использования не нужен флаг --experimental-worker. Этот модуль, с момента появления, оставался достаточно стабильным, поэтому и было принято решение, отражённое в Node.js 11.7.0.

Автор материала, перевод которого мы публикуем, предлагает обсудить возможности модуля worker_threads, в частности, он хочет рассказать о том, зачем нужен этот модуль, и о том, как в JavaScript и в Node.js, по историческим причинам, реализована многопоточность. Здесь же речь пойдёт и о том, какие проблемы сопряжены с написанием многопоточных JS-приложений, о существующих способах их решения, и о будущем параллельной обработки данных с использованием так называемых «потоков воркеров» (worker threads), которые иногда называют «рабочими потоками» или просто «воркерами».
Читать дальше →
Всего голосов 36: ↑32 и ↓4+28
Комментарии9

DIY тепловизор на Raspberry PI или «Кажется теперь я знаю, чем займусь этим летом»

Время на прочтение6 мин
Количество просмотров101K
image

Всем привет!

Пришла зима, а с ней и задача проверить теплоизолирующие свойства построек загородной резиденции дачи. А тут ещё оказалось, что на известном китайском сайте появились вполне доступные тепловизионные модули. Не собрать ли себе экзотическую и, возможно, даже полезную вещь — самодельный тепловизор? Почему бы и нет, вроде и Raspberry где-то валялась… Что из этого вышло — расскажу под катом.
Читать дальше →
Всего голосов 142: ↑142 и ↓0+142
Комментарии192

Как работать с async/await в циклах JavaScript

Время на прочтение3 мин
Количество просмотров148K

Как запустить асинхронные циклы по порядку или параллельно в JavaScript?


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

Читать дальше →
Всего голосов 31: ↑24 и ↓7+17
Комментарии33

Разработка навыков для Алисы. Опыт работы с голосовыми интерфейсами, советы начинающим

Время на прочтение9 мин
Количество просмотров51K
Всего месяц назад мы захотели попробовать себя в создании расширения для функционала Алисы — навыков. По опыту общения в чате поддержки Яндекс Диалогов сложилось впечатление что уже есть, чем поделиться с начинающими особенностями работы над голосовыми интерфейсами.

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



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

Почему стоит обратить внимание на Алису?
Зачем все это: голос, навыки?
Как создать навык?
Общий подход и типичные ошибки.
Текущие недостатки платформы.
Читать дальше →
Всего голосов 18: ↑17 и ↓1+16
Комментарии11

Мобильный доступ — использование смартфона в системах контроля доступа

Время на прочтение21 мин
Количество просмотров90K


Более 20 лет в системах контроля доступа превалирующим типом идентификатора была бесконтактная RFID-карта. Современное вытеснение смартфонами всего и вся, похоже добралось до крайне консервативной отрасли СКУД.

Тем более, что преимущества смартфона в СКУД, по сравнению с пластиковыми картами, абсолютно уничтожительные. Под катом уничтожим карточные СКУД и еще кого нибудь.
Читать дальше →
Всего голосов 25: ↑19 и ↓6+13
Комментарии65

Руководство по JavaScript, часть 8: обзор возможностей стандарта ES6

Время на прочтение10 мин
Количество просмотров18K
Сегодня, в восьмой части перевода руководства по JavaScript, мы сделаем обзор возможностей языка, которые появились в нём после выхода стандарта ES6. Мы, так или иначе, сталкивались со многими из этих возможностей ранее, где-то останавливаясь на них подробнее, где-то принимая как нечто само собой разумеющееся. Этот раздел руководства призван, наряду с раскрытием некоторых тем, которых мы ранее не касались, упорядочить знания начинающего разработчика в области современного JavaScript.

Часть 1: первая программа, особенности языка, стандарты
Часть 2: стиль кода и структура программ
Часть 3: переменные, типы данных, выражения, объекты
Часть 4: функции
Часть 5: массивы и циклы
Часть 6: исключения, точка с запятой, шаблонные литералы
Часть 7: строгий режим, ключевое слово this, события, модули, математические вычисления
Часть 8: обзор возможностей стандарта ES6
Часть 9: обзор возможностей стандартов ES7, ES8 и ES9


Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии0

Руководство по обработке ошибок в JavaScript

Время на прочтение17 мин
Количество просмотров54K
Ошибки — это хорошо. Автор материала, перевод которого мы сегодня публикуем, говорит, что уверен в том, что эта идея известна всем. На первый взгляд ошибки кажутся чем-то страшным. Им могут сопутствовать какие-то потери. Ошибка, сделанная на публике, вредит авторитету того, кто её совершил. Но, совершая ошибки, мы на них учимся, а значит, попадая в следующий раз в ситуацию, в которой раньше вели себя неправильно, делаем всё как нужно.



Выше мы говорили об ошибках, которые люди совершают в обычной жизни. Ошибки в программировании — это нечто иное. Сообщения об ошибках помогают нам улучшать код, они позволяют сообщать пользователям наших проектов о том, что что-то пошло не так, и, возможно, рассказывают пользователям о том, как нужно вести себя для того, чтобы ошибок больше не возникало.
Читать дальше →
Всего голосов 27: ↑23 и ↓4+19
Комментарии0

Крестики нолики «Без границ»

Время на прочтение14 мин
Количество просмотров27K
Крестики-нолики… в них играли все, я уверен. Игра притягательна своей простотой, особенно когда ты тянешь часы где-нибудь на уроке, паре, а под рукой нет ничего, кроме тетрадного листа и простого карандаша. Уж не знаю, кто первым когда-то догадался рисовать кресты и кружки в 9 квадратах, но с тех пор игра нисколько не потеряла в востребованности, тем более, что народ придумал огромное множество её вариаций.



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

  1. Поле может быть сколь угодно большим (На сколько хватит тетради)
  2. Побеждает тот, кто поставит 5 фигур (если их можно так назвать) в ряд.

Все просто… и в то же время сложно: исход игры не может быть просчитан заранее, как в классическом аналоге. Этот «маленький проектик» отнял у меня много времени и нервов. Надеюсь, что вам будет интересно.
Читать дальше →
Всего голосов 24: ↑21 и ↓3+18
Комментарии21
1

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность