Как стать автором
Обновить
39
Карма
0
Рейтинг

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

  • Подписчики 10
  • Подписки 1
  • Публикации
  • Комментарии

Учим железки разговаривать, или ESP32 DAC и немного таймера

Программирование микроконтроллеровDIY или Сделай сам
Tutorial
В ходе разработки одного очень интересного устройства (эх, лишь бы силенок хватило) я решил, что будет неплохо, если устройство это будет говорящим. Как нельзя кстати здесь пригодилось наличие в целевом микроконтроллере, ESP32 компании Espressif Systems, двухканального 8-битного ЦАПа.

В этом туториале (если его можно так назвать) я покажу, как можно быстро и довольно просто организовать проигрывание аудиофайла силами микроконтроллера ESP32.
Читать дальше →
Всего голосов 21: ↑20 и ↓1+19
Просмотры8.7K
Комментарии 8

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

ПрототипированиеНаучно-популярноеБиотехнологииDIY или Сделай самХимия


Полтора килограмма термоядерного Тринидадского Скорпиона я в итоге собрал с одного куста на гидропонике.


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


Небольшая часть урожая


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


Сегодня в меню


  1. Что такое гидропоника и почему она гораздо проще, чем почва с червячками
  2. Никаких дорогих бутылочек. Мешаем компоненты по три рубля за ведро
  3. Питание растения как алгоритм
  4. Как быстро собрать прототип гидропонной установки
  5. Что такое capsicum chinense и как выжить при дегустации
Читать дальше →
Всего голосов 248: ↑248 и ↓0+248
Просмотры88K
Комментарии 328

Alpine.js на конкретном примере

Разработка веб-сайтовJavaScriptПрограммирование
Из песочницы
Tutorial

Возможно, вы уже слышали про Alpine.js. Если нет, то это "Vue.js на минималках". "Angular 1 для миллениалов". Называйте, как хотите, главное, чтобы вам было понятно.


Зачем нам еще один фреймворк? Ну, Alpine хорошо вписывается в свою нишу. По факту, он – альтернатива большим фреймворкам для сайтов, где эти большие фреймворки не нужны. Например, меня, модного web-developer'а, запрягли писать многостраничный сайт. Мне нужно элементарно сделать форму и всякий другой интерактив. Что я буду делать? Возьму jQuery – друзья не поймут, на чистом JS всё писать тоже не комильфо. К тому же я уже знаю реакты, ангуляры и вью, знаю, что такое data-driven подход. Как мне теперь данные до отправки в HTML хранить?


Тут и приходит на помощь Alpine.js. Можно, конечно, Vue или React прикрутить. Но React без JSX никто в здравном уме писать не будет, а Vue минифицированный через CDN весит 34 kB (против 8.1 kB у Alpine). Так и получается, что выбор падает на Alpine.

Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Просмотры15K
Комментарии 12

Alpine.js — легковесный фреймворк с удобным синтаксисом

Разработка веб-сайтовJavaScriptПрограммирование
Из песочницы

Многие разработчики полюбили лаконичный синтаксис и мощь директив Vue.js настолько, что даже пытаются использовать этот фреймворк не только в одностраничных приложениях. Сложно отказаться от использования реактивности, только потому, что вдруг понадобилось написать небольшой проект. Не возвращаться же к старому доброму jQuery или к чистому JS?!


Надо сказать, что во Vue.js (да и во многих других фреймворках) предусмотрен такой вариант его использования. Но все же он кажется слишком громоздким для такой простой работы, а функционал избыточным. И тут на помощь приходит Alpine.js.


image

Отметим некоторые особенности данного фреймворка:


  1. Он весит очень мало! 7.2kB в сжатом виде.
  2. Знакомый и простой синтаксис основанный на директивах.
  3. Не использует виртуальный DOM
  4. Подключения возможно как через CDN (по задумке авторов должно быть основным использованием), так и через npm.
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Просмотры12K
Комментарии 21

Интерактивные эксперименты с машинным обучением (на TensorFlow)

PythonJavaScriptМашинное обучениеИскусственный интеллектTensorFlow
Перевод
Tutorial

Вкратце


Я создал новый проект Интерактивные эксперименты с машинным обучением на GitHub. Каждый эксперимент состоит из Jupyter/Colab ноутбука, показывающего как модель тренировалась, и Демо странички, показывающей модель в действии прямо в вашем браузере.


Несмотря на то, что машинные модели в репозитории могут быть немного "туповатенькими" (помните, это всего-лишь эксперименты, а не вылизанный код, готовый к "заливке на продакшн" и дальнейшему управлению новыми Tesla), они будут стараться как могут чтобы:


  • Распознать цифры и прочие эскизы, которые вы нарисуете в браузере
  • Определить и распознать объекты на видео из вашей камеры
  • Классифицировать изображения, загруженные вами
  • Написать с вами поэму в стиле Шекспира
  • И даже поиграть с вами в камень-ножницы-бумагу
  • и пр.

Я тренировал модели на Python с использованием TensorFlow 2 с поддержкой Keras. Для демо-приложения я использовал React и JavaScript версию Tensorflow.


Интерактивные эксперименты с машинным обучением

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Просмотры4.4K
Комментарии 5

Я — Android-разработчик, и мне не нравилось вести ворклоги вручную

Блог компании SkyengРазработка мобильных приложенийРазработка под AndroidKotlin
Когда я устраивалась в Skyeng, солнце светило чуть ярче, трава зеленее не была (шла такая же ранняя весна), а тимлид попросил записывать в Jira, сколько времени ушло на кодинг, а сколько на разговоры и ревью. Хотя бы раз в две недели.


«По этим данным мы пробуем понять, надо ли корректировать эстимейты и нет ли проблем в коммуникации в команде», — говорили они. А вот кто такой «бабайка», так и не рассказали..

Поскольку мы все удалёнщики, идея звучала разумно. Да и мне стало интересно, куда девались эти восемь часов: вот прошли, но за чем именно? Однако логировать было непривычно. И вообще лень. Тогда я решила поискать что-нибудь, что будет вести ворклоги за меня. А в процессе исследования немного увлеклась и написала свой плагин для IntelliJ IDEA.

Ниже вы найдете субъективный обзор готовых инструментов и мой велосипед (с исходниками).
Читать дальше →
Всего голосов 19: ↑18 и ↓1+17
Просмотры8.7K
Комментарии 8

Полезная help-ссылка для работы с данными

Блог компании Mail.ru GroupPythonData MiningBig Data
Хабр, привет. Представляю вам главную help-ссылку для работы с данными. Материал в Гугл-доке подойдет как профессионалам, так и тем, кто только учится работать с данными. Пользуйтесь и прокачивайте скиллы сами + делитесь с коллегами.

Дальнейшее описание поста — это содержание help-ссылки. Поэтому, можете сразу ознакомиться с документом. Либо начать с её содержания, которую прикрепляю ниже.

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

image
Читать дальше →
Всего голосов 48: ↑47 и ↓1+46
Просмотры6.6K
Комментарии 1

15 книг по машинному обучению для начинающих

PythonПрограммированиеData MiningBig DataИскусственный интеллект
Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.
Добавляйте в закладки и делитесь с коллегами!

Книги по машинному обучению на русском


1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин.

О чем

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

2. «Верховный алгоритм» Педро Домингос.

О чем

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Просмотры78K
Комментарии 23

Вероятностное программирование и байесовский метод для хакеров

Блог компании Издательский дом «Питер»PythonАлгоритмыМатематикаМашинное обучение
Перевод
Здравствуйте, коллеги. Сегодня хотели поинтересоваться, насколько востребованной вам кажется слегка устаревшая книга "Bayesian Methods for Hackers", опубликованная в оригинале в 2015 году, но пока не переведенная на русский язык.


Книга позиционируется как прикладная, максимально избавленная от математики и неустаревающая.

Под катом — немного сокращенный перевод обзора этой книги, выложенного автором на Github.
Поучаствуйте пожалуйста в голосовании
Читать дальше →
Всего голосов 32: ↑32 и ↓0+32
Просмотры16K
Комментарии 5

Тематическое моделирование репозиториев на GitHub

Open sourceGitHubМашинное обучение
Перевод
word cloud
Тематическое моделирование — подраздел машинного обучения, посвященный извлечению абстрактных «тем» из набора «документов». Каждый «документ» представлен мешком слов, т.е. множеством слов вместе с их частотами. Введение в тематическое моделирование прекрасно описано проф. К. В. Воронцовым в лекциях ШАД [PDF]. Самая известная модель ТМ — это, конечно, Латентное размещение Дирихле (LDA). Константину Вячеславовичу удалось обобщить все возможные тематические модели на основе мешка слов в виде аддитивной регуляризации (ARTM). В частности, LDA тоже входит в множество моделей ARTM. Идеи ARTM воплощены в проекте BigARTM.

Обычно тематическое моделирование применяют к текстовым документам. Мы в source{d} (стартап в Испании) перевариваем биг дату, полученную из GitHub репозиториев (и скоро примемся за каждый публично доступный репозиторий в мире). Естественным образом возникла идея интерпретировать каждый репозиторий как мешок слов и натравить BigARTM. В этой статье пойдет речь о том как мы выполнили по сути первое в мире тематическое исследование крупнейшего хранилища open source проектов, что из этого получилось и как это повторить. docker inside!
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Просмотры11K
Комментарии 3

Автополив цветов с удаленным управлением

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

image

Концепт


При проектировании системы я отталкивался от следующих принципов:

  1. Дешево и сердито — я не хочу тратить много средств на систему, которая поливает 15 недорогих цветков. У меня не оранжерея.
  2. Автономность — она должна работать сама по расписанию, но это не исключает наличие ручного управления.
  3. Удобство — настройка полива происходит при помощи смартфона. Панельки это удобно, но не в этом случае.
  4. Гибкость — цветы в основном все разные с разными кашпо, поэтому поливать их необходимо с разной периодичностью и разным количеством воды.
  5. Удаленность — управлять можно с любой точки планеты, где есть интернет и смартфон.
Читать дальше →
Всего голосов 45: ↑44 и ↓1+43
Просмотры19K
Комментарии 46

Философ искусственного интеллекта Элиезер Юдковский о сингулярности, байесовском мозге и гоблинах в шкафу

Научно-популярноеИскусственный интеллектИнтервью
Перевод
image

Элиезер Шломо Юдковский — американский специалист по искусственному интеллекту, исследующий проблемы технологической сингулярности и выступающий за создание Дружественного ИИ. В неакадемических кругах больше известен как автор фанфика «Гарри Поттер и методы рационального мышления» под эгидой Less Wrong.

Меня всегда удивляли умные люди, верящие в вещи, кажущиеся мне абсурдными. К примеру, генетик и директор Национальных институтов здоровья Фрэнсис Коллинс верит, что Иисус восстал из мёртвых. Теоретик ИИ Элиезер Юдковский верит, что машины… Но лучше я дам слово ему самому. В 2008 я брал у него интервью на Bloggingheads.tv, но ничего хорошего из этого не получилось, поскольку я решил, что он был последователем гуру сингулярности Рэя Курцвейла. Но Юдковский ни за кем не следовал и никогда не учился в колледже. Он упрямый и оригинальный теоретик интеллекта, как человеческого, так и искусственного. Его работы (к примеру, эссе, помогшее мне понять, или давшее иллюзию понимания, теоремы Байеса) источает высокомерие самоучки, острые грани которого не были зашлифованы формальным образованием – но в этом есть часть его очарования. Даже когда он раздражает вас, Юдковский забавен, свеж, провокационен. Для подробностей его биографии смотрите его личный сайт или сайт Института исследования машинного интеллекта, в основании которого он участвовал. И почитайте это интервью с бонусом в виде комментариев от его жены Брийены.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Просмотры47K
Комментарии 31

Асинхронность 3: Субъекторная модель

Высокая производительностьПрограммированиеC++Параллельное программирование
Двое из ларца

Предисловие


Эта статья является продолжением цикла статей про асинхронность:

  1. Асинхронность: назад в будущее.
  2. Асинхронность 2: телепортация сквозь порталы.

Спустя 3 года я решил расширить и обобщить имеющийся спектр асинхронного взаимодействия с использованием сопрограмм. Помимо этих статей также рекомендуется ознакомиться с универсальным адаптером:

  1. Универсальный адаптер

Введение


Рассмотрим электрон. Что он из себя представляет? Отрицательно заряженная элементарная частица, лептон, обладающий некоторой массой. Это означает, что он может участвовать по меньшей мере в электромагнитных и гравитационных взаимодействиях.
Читать дальше →
Всего голосов 42: ↑42 и ↓0+42
Просмотры17K
Комментарии 58

Создание многопользовательской веб-игры в жанре .io

JavaScriptРазработка игрСетевые технологии
Перевод
image

Вышедшая в 2015 году Agar.io стала прародителем нового жанра игр .io, популярность которого с тех пор сильно возросла. Рост популярности игр .io я испытал на себе: за последние три года я создал и продал две игры этого жанра..

На случай, если вы никогда раньше не слышали о таких играх: это бесплатные многопользовательские веб-игры, в которых легко участвовать (не требуется учётная запись). Обычно они сталкивают на одной арене множество противоборствующих игроков. Другие знаменитые игры жанра .io: Slither.io и Diep.io.

В этом посте мы будем разбираться, как с нуля создать игру .io. Для этого достаточно будет только знания Javascript: вам нужно понимать такие вещи, как синтаксис ES6, ключевое слово this и Promises. Даже если вы знаете Javascript не в совершенстве, то всё равно сможете разобраться в большей части поста.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Просмотры25K
Комментарии 1

Практические задачи по Java — для курсов и прочих занятий

Java

Практические задачи по Java — для курсов и прочих занятий


Несколько вводных слов


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

Дело в том, что каждое моё занятие состоит из двух частей. На первой я выступаю в роли лектора — рассказываю с примерами кода о какой-то новой теме (классы, наследование, дженерики и так далее). Вторая часть — практическая. Очевидно, что нет смысла просто рассуждать о программировании, надо программировать. Приоритет на занятиях — решение задач, то есть программирование чего-то как-то. Программирование на занятиях отличается от программирования дома, так как на занятиях можно задать вопрос, показать код, получить быструю оценку кода, комментарии по улучшению, исправлению написанного. Очень легко было найти задачи для самых первых занятий. Задачи на циклы, условные операторы, и ООП (к примеру, написать класс «Собака» или класс «Вектор»). Сервисы вроде leetcode позволяют даже проверить правильность решения таких задач сразу, онлайн. Но какие задачи дать студентам на занятии, которое было посвящено коллекциям? Потокам? А аннотациям? За несколько лет я придумал, или переработал несколько таких задач, и эта статья, по сути, является сборником этих задач (к некоторым задачам прилагается решение).
Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Просмотры296K
Комментарии 18

Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

Блог компании АудиоманияРазработка мобильных приложенийРазработка игрДизайн игрЗвук
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

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

Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Просмотры59K
Комментарии 9

«Тайна третьей планеты» с улучшенной нейросетями графикой

Искусственный интеллект
Заметил, что у Хабра есть интерес к теме улучшения графики в старых играх.

Я как раз сделал мод графики для первой готики.

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

Тут кадры-сравнения.

А ниже результат:


Расскажите, стоит ли этим заниматься. Надо ли это кому-то? Или классику лучше не трогать?
Читать дальше →
Всего голосов 105: ↑99 и ↓6+93
Просмотры47K
Комментарии 116

Японские феи показывают работу master-slave триггера в новой манге по цифровой электронике

Профессиональная литератураFPGAПрограммирование микроконтроллеровБудущее здесьЭлектроника для начинающих
Сейчас в издательстве ДМК-Пресс выходит русский перевод японской манги 2013 года про цифровые схемы, созданной Амано Хидэхару и Мэгуро Кодзи. Несмотря на несерьезную форму изложения, суть этой книжки очень здравая. Например, она начинает от древних микросхем малой степени интеграции и быстро привязывает их к современному языку описания аппаратуры Verilog и программируемым логическим интегральным схемам (ПЛИС). Также манга четко определяет зачем нужны комбинационные и последовательностные схемы, и дает представление о методах оптимизации.

Манга избегает ошибок многих своих предшественников. Одну из таких ошибок совершил Чарльз Петцольд в книге «Код», которая вводила последовательностную логику не на D-триггерах, управляемых фронтом тактового сигнала (edge-triggered D-flip-flop), а на D-триггерах с работой по уровню (защелках, level-sensitive D-latch), хотя потом переключалась на правильные триггеры. Вероятно, ошибка была связана с тем, что Чарльз Петзольд, который прославился как автор учебников по программированию GUI в Microsoft Windows, не был практикующим разработчиком электроники, и для него защелки были «проще», чем триггеры с фронтом. Проблема в том, что защелки плохо совместимы со статическим анализом задержек при логическом синтезе, главной технологии проектирования цифровых схем последних 30 лет. Системы на кристалле внутри гаджетов типа айфона в качестве элементов состояния в 99% случаях используют D-триггеры переключаемые по фронту, а защелки используют только в очень специальных случаях. Давать новичкам строить схемы на защелках — это значит вводить их в заблуждение.

В этом смысле манга лучше чем Петзольд. Вот как элегантно манга объясняет работу двухступенчатого master slave D-триггера, управляемого фронтом тактового сигнала. Это делается с помощью феи «Хи-хи-хи» и феи «Ха-ха-ха»:


Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Просмотры17K
Комментарии 50

Моя история прохождения интервью в IB IT (Java разработчик, investment bank) в Лондоне с примерами типичных заданий

JavaПромышленное программированиеКарьера в IT-индустрииФинансы в ITИнтервью

Так получилось, что я хотел стать программистом еще учась в университете в Москве, но стал им уже за пределами России и не сразу — путь был долог и тернист. Я ходил на множество интервью (вначале искал я, потом уже искали меня), вникал в тонкости работы и размышлял на тему — как же стать хорошим программистом.


Один из аспектов, который актуален на протяжении всей карьеры, это поиск работы и прохождение интервью. Я сам проводил очень мало интервью (4-5), но посетил большое их количество (>100). У меня было 3-4 периода по поиску работы за последние ~7 лет, когда я ходил на интервью месяц-два, по 1-2-3 в день иногда.


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


Что бы мне было интересно узнать в комментариях — как это бывает у других, особенно в Москве/России, наверняка есть различия с Европой.

Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Просмотры19K
Комментарии 86

Как создать игровой ИИ: гайд для начинающих

Блог компании PixonicРазработка игрАлгоритмыЧитальный залИскусственный интеллект
Перевод


Наткнулся на интересный материал об искусственном интеллекте в играх. С объяснением базовых вещей про ИИ на простых примерах, а еще внутри много полезных инструментов и методов для его удобной разработки и проектирования. Как, где и когда их использовать — тоже есть.

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

UPD. Извиняюсь, но собственный перевод этой статьи на Хабре уже делал PatientZero. Прочитать его вариант можно здесь, но почему-то статья прошла мимо меня (поиском пользовался, но что-то пошло не так). А так как пишу в блог, посвященный геймдеву, решил оставить свой вариант перевода для подписчиков (некоторые моменты у меня оформлены по-другому, некоторые — намеренно пропущены по совету разработчиков).
Читать дальше →
Всего голосов 60: ↑60 и ↓0+60
Просмотры62K
Комментарии 19
1

Информация

В рейтинге
4,168-й
Зарегистрирован
Активность