Pull to refresh
25
0
Send message

Краткий обзор методик обучения визуально-языковых (мультимодальных) моделей

Level of difficultyMedium
Reading time12 min
Views1.9K

Продолжаю разбор материалов на тему NLP в контексте работы переводчиков, на этот раз мы с практикантами решили поразбираться в том, как работают мультимодальные модели, т. е. как машины учатся находить соответствие не только между словами из разных языков, но и между картинкой и словами. Представляем вашему вниманию перевод статьи на эту тему.
Материал местами несколько академичный, но надеюсь, будет интересен не только нам.

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments1

Ваш компьютер на самом деле не ваш

Reading time15 min
Views68K

Вот он. Наступил. Получите и распишитесь.

Речь, конечно, идет о мире, предсказанном Ричардом Столлманом в 1997 году. О мире, о котором нас предупреждал Кори Доктороу.

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

Оказывается, текущая версия macOS отправляет в Apple хэш (уникальный идентификатор) при запуске каждой программы. Многие люди не были в курсе этого, так как хэш передается незаметно и только при наличии выхода в интернет. А сегодня серверы работали очень медленно и не успевали проверять хэши. Как результат, все приложения не открывались, если имелся выход в интернет.

P. S. Перевел статью целиком только из-за того, что текущий перевод вообще не соответствует уровню статей Хабра.

Расшифровать хэши за Apple
Total votes 86: ↑79 and ↓7+72
Comments102

Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно

Reading time2 min
Views71K
Всем привет. Давно хотел собрать большой E-Ink дисплей, который можно поставить на стол и отображать на нем полезную информацию (погоду, календарь и т.д.) В этой статье расскажу, как можно собрать такое устройство на базе ESP32 и дисплея от Kindle DX значительно дешевле, чем Waveshare.


Читать дальше →
Total votes 135: ↑132 and ↓3+129
Comments202

Flutter. Асинхронность и параллельность

Reading time11 min
Views46K

Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в DartFlutter в частности).


TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments18

НЕ Arduino за 55 центов

Reading time3 min
Views104K


Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.

Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.

А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Читать дальше →
Total votes 49: ↑48 and ↓1+47
Comments26

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

Reading time7 min
Views22K
Источники бесперебойного питания (ИБП) нашли широкое применение, как в быту, так и в промышленности. Они призваны обеспечить необходимым питанием оборудование из резервных источников в случае «пропажи» основного питания. Резервными источниками в таких ИБП в основном служат аккумуляторы. Поэтому эти ИБП обеспечивают питанием оборудование ограниченное время, от нескольких минут до пары тройки часов. В продаже имеется огромное количество подобного оборудования, как говорится, на любой вкус и цвет «карман», с различными характеристиками и разнообразными функциями.

Рассмотрим сферу применения в быту.

В каждом доме имеется холодильник. Основные модели используют компрессор, приводимый в действие двухполюсным однофазным асинхронным электродвигателем. Мощность бытовых холодильников 100-200 Вт. Пропадание основного питания (а-ля 220 вольт) на несколько часов может привести к размораживанию холодильника. Это не критично, но неудобно. Но обычный компьютерный ИБП здесь не поможет: двигатель компрессора не обрадуется форме напряжения, предоставляемого таким ИБП. Для такого рода потребителям необходим синус на выходе ИБП.



Пример, скажем честно, самый реальный, но не самый необходимый для применения ИБП.
Давайте ближе к телу
Total votes 16: ↑16 and ↓0+16
Comments36

Определение веса значимости пользователей по отношению друг к другу на основании их действий (Tarantool+Lua)

Reading time13 min
Views10K
Есть система с множеством пользователей. Каждый пользователь системы может осуществлять действия по отношению друг к другу. На основании этих действий рассчитывается вес. Необходимо иметь возможность для каждого пользователя получать список остальных пользователей системы, отсортированный в порядке убывания веса. Характеристики весов у бездействующего пользователя меняться не должны.



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

Читать дальше →
Total votes 39: ↑36 and ↓3+33
Comments3

Изучаем Tarantool + Lua

Reading time6 min
Views26K
logo
Хочу поделиться опытом изучения Tarantool. Про все преимущества и особенности самого Тарантула я писать не буду, на эту тему было много статей (например, эта, эта и эта). Этот пост рассказывает о том, как начать работать с тарантулом и про некоторые особенности и вкусности которые можно получить из коробки.
Далее
Total votes 67: ↑60 and ↓7+53
Comments13

Релиз mongodb 3.2 немного подробностей

Reading time19 min
Views26K

На днях вышел новый стабильный релиз mongodb. В этой версии был добавлен ряд нововведений таких как новый GUI для визуальной работы с mongodb, LEFT JOIN, валидация документа и т.д. некоторые из этих свойств мы и рассмотрим на небольших примерах ниже.

Читать дальше →
Total votes 20: ↑19 and ↓1+18
Comments25

Шпаргалка по mongodb: e-commerce, миграция, часто применяемые операции и немного о транзакциях

Reading time40 min
Views66K

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


Не хотелось бы, чтобы пост воспринимался в ключе холиваров на тему SQL vs. NOSQL И так понятно что везде есть свои плюсы и минусы, в данном случае это просто где-то немного справки, где-то немного примеров из того, с чем приходилось сталкиваться. Примеры на mongo shell и на python.


  1. Миграция в на новые версии в mongodb
  2. Запросы сравнения и логические
  3. Полнотекстовый поиск в Mongodb, regexp, индексы и пр.
  4. Атомарные операторы (модифицирующие данные )
  5. Немного о транзакциях в Mongodb
  6. Агрегационный фреймворк и JOIN-ы в Mongodb
  7. Примеры
  8. Небольшая песочница на Python

Читать дальше
Total votes 47: ↑42 and ↓5+37
Comments14

YC Combinator рекомендует: лучшие 15 книг в 2015 году, на которые стоит обратить внимание

Reading time5 min
Views19K
Новогодние праздники – это замечательное время для того, чтобы проводить время за чтением.



Вот список книг, которые в уходящем 2015 году пользовались популярностью у нас в Y Combinator. Некоторые из них были опубликованы в этом году, но большинство увидели свет ранее. Хотим выразить огромную благодарность Биллу Гейтсу, чей легендарный список литературы для прочтения вдохновил нас создать свой собственный перечень рекомендованных книг.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments2

Рассылка пуш уведомлений на Go

Reading time9 min
Views29K

Если вы последний год пользовались мобильными приложениями от ВКонтакте (пусть даже не официальными), то этот материал раскроет немного данных по тому, как у нас это время работают пуш уведомления. Пушилка реализована на языке Go, и рассылает до 9 миллиардов пушей в сутки на четыре целевых платформы: GCM, APNS, MPNS, WNS.

В этом посте решил рассказать об общей архитектуре пушилки, проблемах и их обходе, нагрузках и производительности решения. Много букв и мало кода.
Читать дальше →
Total votes 33: ↑29 and ↓4+25
Comments31

Иерархические структуры данных и Doctrine

Reading time15 min
Views81K

Введение



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

В первую очередь, это связано с тем, что реляционные базы не приспособлены к хранению иерархических структур (как, например, XML-файлы), структура реляционных таблиц представляет из себя простые списки. Иерархические же данные имеют связь «родитель-наследники», которая не реализована в реляционной структуре.

Тем не менее, задача «хранить деревья в базе данных» рано или поздно возникает перед любым разработчиком.

Ниже мы подробно рассмотрим, какие существуют подходы в организации хранения деревьев в реляционных БД, а также рассмотрим инструментарий, который нам предоставляет ORM Doctrine для работы с такими структурами.
Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments41

Хранение иерархических структур. Симбиоз «Closure Table» и «Adjacency List»

Reading time6 min
Views45K
Когда перед нами встаёт задача хранения и управления иерархическими структурами данных всегда приходится выбирать из довольно ограниченного набора паттернов. Для того чтобы найти наиболее подходящий шаблон необходимо проанализировать особенности каждого способа хранения и обработки данных и оценить их с учётом задачи и специфики используемой СУБД.

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

Наша цель – разработать свою реализацию, учитывающую требования нашего приложения.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments22

IoT за копейки: практическое руководство. Часть 1-я, аппаратная

Reading time5 min
Views35K


Привет, Geektimes!

Представляем цикл статей, в котором рассмотрим, как с нуля и без пайки реализовать управляемое из облака недорогое IoT-устройство с огромными потенциалом. За основу возьмем «чистый» микрочип ESP8266, о котором недавно уже писали. Используем свежую DeviceHive-прошивку и напишем простенькое веб-приложение для обращения к cloud-серверу. К микрочипу подключим простое устройство, управлять которым можно будет с помощью пары кликов в браузере.

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

Совсем недавно состоялся публичный релиз первой версии DeviceHive-прошивки для ESP8266. Цель наших статей — помочь каждому желающему реализовать с помощью DeviceHive собственное IoT-решение максимально дешево, быстро и без лишних сложностей.

Нам понадобится всего пять вещей:
  • плата с распаянным ESP8266;
  • USB ->UART-переходник;
  • источник питания;
  • провода;
  • сам девайс, который мы хотим подружить с облаком.


Общая стоимость первых четырех пунктов не превысит $ 5. Какое устройство выбрать для экспериментов — решайте сами.

Давайте рассмотрим каждый пункт подробнее.
Читать дальше →
Total votes 25: ↑21 and ↓4+17
Comments19

Такие удивительные семафоры

Reading time9 min
Views136K
От переводчика: Джефф Прешинг (Jeff Preshing) — канадский разработчик программного обеспечения, последние 12 лет работающий в Ubisoft Montreal. Он приложил руку к созданию таких известных франшиз как Rainbow Six, Child of Light и Assassin’s Creed. У себя в блоге он часто пишет об интересных аспектах параллельного программирования, особенно применительно к Game Dev. Сегодня я бы хотел представить на суд общественности перевод одной из статей Джеффа.

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

Раньше я думал, что семафоры давно устарели. В 1960‑х, когда еще мало кто писал многопоточные программы, или любые другие программы, Эдсгер Дейкстра предложил идею нового механизма синхронизации — семафор. Я знал, что при помощи семафоров можно вести учет числа доступных ресурсов или создать неуклюжий аналог мьютекса, но этим, как я считал, область их применения ограничивается.
Читать дальше →
Total votes 38: ↑37 and ↓1+36
Comments1

Как сделать красивую документацию для Web API, за которую будет не стыдно

Reading time3 min
Views40K
Я хотел бы рассказать вам об утилите, с которой вы сможете забыть о боли создания документации для Web API. О том как это сделать прошу всех под кат.


Все вкусняшки тут
Total votes 45: ↑39 and ↓6+33
Comments25

DeepDream — Визуализатор работы нейросети

Reading time1 min
Views59K

С месяц назад в блоге Google research появилась запись про визуализацию работы нейросети — мол, как она видит изображения при обработке, пестрящая картинками типа этой.
Народу стало интересно как такое можно сделать самостоятельно и спустя пару недель появилась новая запись с исходниками на гитхаб, которые позволяют все проделать самостоятельно.
Но нашлись те, кому быстро стало скучно, так что осторожно, подкатом психодел.
Читать дальше →
Total votes 45: ↑44 and ↓1+43
Comments35

Как не угробить архитектуру сразу же? Видео с лекции Евгения Кривошеева

Reading time1 min
Views59K
Всем привет!

Две недели назад в Москве прошла очередная встреча CodeFreeze. Нашим гостем стал Евгений Кривошеев, признанный российский эксперт в области архитектуры программных систем, консультант из Scrumtrek/Skilltrek. Евгений прочитал офигеннейшую лекцию по архитектуре, как он любит и умеет.



В рамках этой встречи Евгений предложил обсудить последовательность решений, критичных для архитектуры любой системы. Выстраданная последовательность действий такова:
  • Точки зрения на систему, или Почему мы слепнем при проектировании
  • Адресация ключевых рисков, или Гордыня убивает
  • Учитываем контекст, или Как не долбиться в закрытую дверь

Краткое содержание и видеозапись
Total votes 46: ↑43 and ↓3+40
Comments12

Сложно о простоте Go

Reading time10 min
Views28K
Читая о языке Go, вы часто будете слышать слово “простота”. Но разные люди трактуют это слово по разному, особенно в контексте разработки ПО, а многие, зачастую, даже не осознают, почему это вообще используется, как характеристика языка. В этой статье мы попытаемся концептуально подойти к вопросу “сложности” и “простоты” в разработке ПО, и посмотрим, почему и зачем язык Go поставил простоту как краеугольный камень своего дизайна.


Читать дальше →
Total votes 54: ↑35 and ↓19+16
Comments203
1
23 ...

Information

Rating
Does not participate
Registered
Activity