Как стать автором
Обновить
25
0

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

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

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

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров1.9K

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии1

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

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

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

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

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

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

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

Расшифровать хэши за Apple
Всего голосов 86: ↑79 и ↓7+72
Комментарии102

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

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


Читать дальше →
Всего голосов 135: ↑132 и ↓3+129
Комментарии202

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

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

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


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

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

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


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

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

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

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

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

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

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



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

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

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



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

Читать дальше →
Всего голосов 39: ↑36 и ↓3+33
Комментарии3

Изучаем Tarantool + Lua

Время на прочтение6 мин
Количество просмотров26K
logo
Хочу поделиться опытом изучения Tarantool. Про все преимущества и особенности самого Тарантула я писать не буду, на эту тему было много статей (например, эта, эта и эта). Этот пост рассказывает о том, как начать работать с тарантулом и про некоторые особенности и вкусности которые можно получить из коробки.
Далее
Всего голосов 67: ↑60 и ↓7+53
Комментарии13

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

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

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

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

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

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

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


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


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

Читать дальше
Всего голосов 47: ↑42 и ↓5+37
Комментарии14

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

Время на прочтение5 мин
Количество просмотров19K
Новогодние праздники – это замечательное время для того, чтобы проводить время за чтением.



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

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

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

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

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

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

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

Введение



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

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

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

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

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

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

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

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

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

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


Привет, Geektimes!

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

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

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

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


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

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

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

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

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

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

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

Время на прочтение3 мин
Количество просмотров40K
Я хотел бы рассказать вам об утилите, с которой вы сможете забыть о боли создания документации для Web API. О том как это сделать прошу всех под кат.


Все вкусняшки тут
Всего голосов 45: ↑39 и ↓6+33
Комментарии25

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

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

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

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

Время на прочтение1 мин
Количество просмотров59K
Всем привет!

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



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

Краткое содержание и видеозапись
Всего голосов 46: ↑43 и ↓3+40
Комментарии12

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

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


Читать дальше →
Всего голосов 54: ↑35 и ↓19+16
Комментарии203
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность