Продолжаю разбор материалов на тему NLP в контексте работы переводчиков, на этот раз мы с практикантами решили поразбираться в том, как работают мультимодальные модели, т. е. как машины учатся находить соответствие не только между словами из разных языков, но и между картинкой и словами. Представляем вашему вниманию перевод статьи на эту тему.
Материал местами несколько академичный, но надеюсь, будет интересен не только нам.
Пользователь
Ваш компьютер на самом деле не ваш
Вот он. Наступил. Получите и распишитесь.
Речь, конечно, идет о мире, предсказанном Ричардом Столлманом в 1997 году. О мире, о котором нас предупреждал Кори Доктороу.
В современных версиях macOS вы не можете просто включить компьютер, запустить текстовый редактор или просмотрщик электронных книг и писать или читать, не передавая и не журналируя ваши действия.
Оказывается, текущая версия macOS отправляет в Apple хэш (уникальный идентификатор) при запуске каждой программы. Многие люди не были в курсе этого, так как хэш передается незаметно и только при наличии выхода в интернет. А сегодня серверы работали очень медленно и не успевали проверять хэши. Как результат, все приложения не открывались, если имелся выход в интернет.
P. S. Перевел статью целиком только из-за того, что текущий перевод вообще не соответствует уровню статей Хабра.
Собираем недорогой 9.7" E-Ink дисплей для отображения чего угодно
Flutter. Асинхронность и параллельность
Привет, Хабр! Представляю вашему вниманию перевод статьи "Futures — Isolates — Event Loop" автора Didier Boelens об асинхронности и многопоточности в Dart
(и Flutter
в частности).
TLDR: В целом, статья ориентирована на новичков и не изобилует откровениями. Если вы знакомы с механизмами Event Loop, Future и async/await (например, в JavaScript), корутинами в Кotlin, скорее всего, вы не найдёте для себя много нового. Однако, реализация многопоточности в виде механизма Изолятов имеет особенности.
НЕ Arduino за 55 центов
Эксперимент с прикручиванию к дешевым микроконтроллерам ATTiny загрузчика и среды разработки Arduino был достаточно удачным. Конечно, с AVR неплохо живется и без Arduino. Но хорошо, когда есть возможность выбора. А потом я вляпался в STM32 и заковырялся в библиотеках и громоздких конструкциях инициализации портов. Спасением ARM-«чайника» стал проект ARM mbed. Лично мне он позволил просто взять и начать работать с STM32.
Но мигать светодиодом на плате Nucleo надоело очень быстро. Отложил я ее, ибо слишком много ножек и наворотов, и взялся за Maple Mini (STM32F103CBT6 с минимальной обвязкой). Тоже все довольно легко и просто — сервоприводы крутятся, датчики работают, экранчики показывают — все популярные библиотеки, знакомые ардуинщикам, в mbed имеются.
А третий заход отчасти повторял «Arduino за 1$». О нем я и расскажу подробно. Идея такая: хочу ARM за копейки. Открываю Aliexpress и нахожу STM32F030F4P6 за 55 центов за штучку при покупке пучка (10 чипов).
Разработка маломощного резервного источника питания с синусом на выходе. Часть 1. Постановка задачи
Рассмотрим сферу применения в быту.
В каждом доме имеется холодильник. Основные модели используют компрессор, приводимый в действие двухполюсным однофазным асинхронным электродвигателем. Мощность бытовых холодильников 100-200 Вт. Пропадание основного питания (а-ля 220 вольт) на несколько часов может привести к размораживанию холодильника. Это не критично, но неудобно. Но обычный компьютерный ИБП здесь не поможет: двигатель компрессора не обрадуется форме напряжения, предоставляемого таким ИБП. Для такого рода потребителям необходим синус на выходе ИБП.
Пример, скажем честно, самый реальный, но не самый необходимый для применения ИБП.
Определение веса значимости пользователей по отношению друг к другу на основании их действий (Tarantool+Lua)
В своей прошлой статье я описал базовые понятия и средства для начала работы с тарантулом. В этой статье попробую уделить больше внимания использованию хранимых процедур в Тарантуле на примере одной игровой задачи.
Изучаем Tarantool + Lua
Хочу поделиться опытом изучения Tarantool. Про все преимущества и особенности самого Тарантула я писать не буду, на эту тему было много статей (например, эта, эта и эта). Этот пост рассказывает о том, как начать работать с тарантулом и про некоторые особенности и вкусности которые можно получить из коробки.
Релиз mongodb 3.2 немного подробностей
На днях вышел новый стабильный релиз
mongodb
. В этой версии был добавлен ряд нововведений таких как новый GUI
для визуальной работы с mongodb
, LEFT JOIN
, валидация документа и т.д. некоторые из этих свойств мы и рассмотрим на небольших примерах ниже. - Частичный ( partial ) индекс
- Валидация
- Нововведения агрегационного фреймворка
- Новые опции в утилитах импорта экспорта
- Нововведения в CRUD
- WiredTiger и fsyncLock
- Новое GUI compass
Шпаргалка по mongodb: e-commerce, миграция, часто применяемые операции и немного о транзакциях
Этот пост — небольшая шпаргалка по mongodb
и немного длинных запросов с парой рецептов. Иногда бывает удобно когда какие-то мелочи собраны в одном месте, надеюсь, каждый, кто интересуется mongodb
, найдет для себя что-то полезное.
Не хотелось бы, чтобы пост воспринимался в ключе холиваров на тему SQL vs. NOSQL
И так понятно что везде есть свои плюсы и минусы, в данном случае это просто где-то немного справки, где-то немного примеров из того, с чем приходилось сталкиваться. Примеры на mongo shell
и на python
.
- Миграция в на новые версии в mongodb
- Запросы сравнения и логические
- Полнотекстовый поиск в Mongodb, regexp, индексы и пр.
- Атомарные операторы (модифицирующие данные )
- Немного о транзакциях в Mongodb
- Агрегационный фреймворк и JOIN-ы в Mongodb
- Примеры
- Небольшая песочница на Python
YC Combinator рекомендует: лучшие 15 книг в 2015 году, на которые стоит обратить внимание
Вот список книг, которые в уходящем 2015 году пользовались популярностью у нас в Y Combinator. Некоторые из них были опубликованы в этом году, но большинство увидели свет ранее. Хотим выразить огромную благодарность Биллу Гейтсу, чей легендарный список литературы для прочтения вдохновил нас создать свой собственный перечень рекомендованных книг.
Рассылка пуш уведомлений на Go
Если вы последний год пользовались мобильными приложениями от ВКонтакте (пусть даже не официальными), то этот материал раскроет немного данных по тому, как у нас это время работают пуш уведомления. Пушилка реализована на языке Go, и рассылает до 9 миллиардов пушей в сутки на четыре целевых платформы: GCM, APNS, MPNS, WNS.
В этом посте решил рассказать об общей архитектуре пушилки, проблемах и их обходе, нагрузках и производительности решения. Много букв и мало кода.
Иерархические структуры данных и Doctrine
Введение
Хранение иерархических данных (или попросту — деревьев) в реляционных структурах задача довольно нетривиальная и вызывает некоторые проблемы, когда разработчики сталкиваются с подобной задачей.
В первую очередь, это связано с тем, что реляционные базы не приспособлены к хранению иерархических структур (как, например, XML-файлы), структура реляционных таблиц представляет из себя простые списки. Иерархические же данные имеют связь «родитель-наследники», которая не реализована в реляционной структуре.
Тем не менее, задача «хранить деревья в базе данных» рано или поздно возникает перед любым разработчиком.
Ниже мы подробно рассмотрим, какие существуют подходы в организации хранения деревьев в реляционных БД, а также рассмотрим инструментарий, который нам предоставляет ORM Doctrine для работы с такими структурами.
Хранение иерархических структур. Симбиоз «Closure Table» и «Adjacency List»
Предположим, существует задача, предоставить возможность пользователям сайта оставлять комментарии к публикациям. Комментарии должны иметь древовидную структуру, пользователи должны иметь возможность оставить один или более комментариев к посту, а также отвечать на любые комментарии других пользователей. То есть, нужна система комментариев аналогичная той, что мы можем видеть на Habrahabr. По каким-то причинам, нам не подходят готовые решения, допустим из-за того, что предполагается дополнительная очень сложная бизнес-логика, которая должна быть интегрирована в систему комментариев.
Наша цель – разработать свою реализацию, учитывающую требования нашего приложения.
IoT за копейки: практическое руководство. Часть 1-я, аппаратная
Привет, Geektimes!
Представляем цикл статей, в котором рассмотрим, как с нуля и без пайки реализовать управляемое из облака недорогое IoT-устройство с огромными потенциалом. За основу возьмем «чистый» микрочип ESP8266, о котором недавно уже писали. Используем свежую DeviceHive-прошивку и напишем простенькое веб-приложение для обращения к cloud-серверу. К микрочипу подключим простое устройство, управлять которым можно будет с помощью пары кликов в браузере.
Перед вами первая статья цикла, из которой мы узнаем, какое именно оборудование нам понадобится.
Совсем недавно состоялся публичный релиз первой версии DeviceHive-прошивки для ESP8266. Цель наших статей — помочь каждому желающему реализовать с помощью DeviceHive собственное IoT-решение максимально дешево, быстро и без лишних сложностей.
Нам понадобится всего пять вещей:
- плата с распаянным ESP8266;
- USB ->UART-переходник;
- источник питания;
- провода;
- сам девайс, который мы хотим подружить с облаком.
Общая стоимость первых четырех пунктов не превысит $ 5. Какое устройство выбрать для экспериментов — решайте сами.
Давайте рассмотрим каждый пункт подробнее.
Такие удивительные семафоры
Поток должен ждать. Ждать до тех пор, пока не удастся получить эксклюзивный доступ к ресурсу или пока не появятся задачи для исполнения. Один из механизмов ожидания, при котором поток не ставится на исполнение планировщиком ядра ОС, реализуется при помощи семафора.
Раньше я думал, что семафоры давно устарели. В 1960‑х, когда еще мало кто писал многопоточные программы, или любые другие программы, Эдсгер Дейкстра предложил идею нового механизма синхронизации — семафор. Я знал, что при помощи семафоров можно вести учет числа доступных ресурсов или создать неуклюжий аналог мьютекса, но этим, как я считал, область их применения ограничивается.
Как сделать красивую документацию для Web API, за которую будет не стыдно
DeepDream — Визуализатор работы нейросети
С месяц назад в блоге Google research появилась запись про визуализацию работы нейросети — мол, как она видит изображения при обработке, пестрящая картинками типа этой.
Народу стало интересно как такое можно сделать самостоятельно и спустя пару недель появилась новая запись с исходниками на гитхаб, которые позволяют все проделать самостоятельно.
Но нашлись те, кому быстро стало скучно, так что осторожно, подкатом психодел.
Как не угробить архитектуру сразу же? Видео с лекции Евгения Кривошеева
Две недели назад в Москве прошла очередная встреча CodeFreeze. Нашим гостем стал Евгений Кривошеев, признанный российский эксперт в области архитектуры программных систем, консультант из Scrumtrek/Skilltrek. Евгений прочитал офигеннейшую лекцию по архитектуре, как он любит и умеет.
В рамках этой встречи Евгений предложил обсудить последовательность решений, критичных для архитектуры любой системы. Выстраданная последовательность действий такова:
- Точки зрения на систему, или Почему мы слепнем при проектировании
- Адресация ключевых рисков, или Гордыня убивает
- Учитываем контекст, или Как не долбиться в закрытую дверь
Сложно о простоте Go
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность