Search
Write a publication
Pull to refresh
-2
0.1
Send message

Искусство шаманства или кастомная прошивка для Olinuxino. UBOOT Часть 2

Reading time4 min
Views20K
Все это собиралось из под Ubuntu 16.04.

Решение собрать прошивку родилось из за отсутствия в свободном доступе образа для этой платы (Olimex A13-Olinuxino). А производитель предлагал преобрести SD карту с образом и стоило что то около 10 евро на тот момент, что очень не устроило, к тому же она была рассчитана на наличие монитора.

Конфигурирование загрузчика будем формировать для загрузки с SD карты. Поскольку NAND памяти на плате нету а все остальные варианты загрузки слегка кривоваты (у кого получиться собрать uboot для загрузки с USB носителя, пусть сделает два шага вперед и поделится). Алгоритм загрузки процессора allwinner a13 можно найти на сайте производителя. Или вот вырезка из даташита.


Читать дальше →

OZON изнутри: feels like a startup

Reading time4 min
Views69K
Ozon.ru — почти ровесник Рунета, в свои 20 лет мы старше многих наших клиентов. Из книжного интернет-магазина компания выросла в e-commerce платформу, которая объединяет инфраструктуру fulfillment-центров и логистики, веб и мобильные приложения, выдерживает и набеги десятков миллионов пользователей во время распродаж, и атаки интернет-мошенников.



В этом посте мы немного расскажем про себя: о том, как перестраиваем и развиваем платформу, одновременно обслуживая 1,2 млн пользователей ежедневно. А заодно покажем офис, где трудится IT-лаборатория OZON, ну и пару шикарных видов из его окон.
Читать дальше →

Метод плавательных дорожек

Reading time6 min
Views19K
Есть на свете такая штука, называется «бизнес-программирование». Я вам о ней еще не рассказывал. И не уверен, что вам она будет интересна.

Бизнес-программирование — это программирование бизнеса, как системы. Вот вы же чего-то программируете? Сервис там, сайт, мобильное приложение, корпоративную систему. Она работала, никого не трогала, а вы — раз, и изменили чего-то, и стало лучше, быстрее, удобнее. Ну, или… Всяко ведь бывает.

Аналогично можно менять бизнес, принципы те же самые. Только есть отличия в деталях. Например, там есть люди, которые ни черта не хотят делать. И даже слушать вас не хотят. И вообще не хотят ничего, кроме получки, сериала про ментов и пиваса.

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

Нейросеть с амёбой решили задачу коммивояжера для 8 городов

Reading time3 min
Views28K

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

Группа японских исследователей из Университета Кейо в Токио продемонстрировала, что амёба способна генерировать приближённые решения удивительно сложной математической задачи, известной как задача коммивояжера.

Топ-10 фильмов про ИТ

Reading time7 min
Views172K
Привет, Хабр!

Летом в нашем ланитовском блоге мы делали подборку сериалов про ИТ (и хакеров), а теперь в преддверии Нового года пришло время полного метра. Такие «Топ-10 фильмов про ИТ» появляются примерно раз в год, и список там примерно один и тот же: «Хакеры» с Джоли, «Пароль «Рыба-меч» и «Матрица».

Кстати, о последней. При всем уважении к братьям сёстрам Вачовски и трилогии, мы таки не относили бы «Матрицу» к фильмам про айтишников или хакеров. То, что мистер Андерсон работает программистом, а вне работы немного хакерит, всё же не является сюжетной канвой фильма. Рискуем возобновить старый холивар, но «Матрица» — это таки киберпанк. Контраргументы приветствуются.

Так вот, про подборку. Мы решили предложить вам  фильмы посвежее. Под катом нет Джоли и знаменитой сцены из «Пароль „Рыба-меч“», но есть фильмы про ИТ, суперкомпьютеры, и информационную безопасность, большинство из которых выпущены в 2010–2018 годах.

Кадр из фильма «Апгрейд»

Slack извиняется за ошибочную блокировку аккаунтов

Reading time3 min
Views6K
На прошлой неделе небольшой переполох вызвала ситуация с удалением аккаунтов Slack. Отдельным пользователям начали приходить сообщения от компании Slack Technologies про санкции США «к определённым странам и регионам, таким как Куба, Иран, Северная Корея, Сирия и регион Украины Крым».

Как сказано в письме, в связи с экономическими санкциями компания вынуждена закрыть аккаунт пользователя немедленно («closing the account effective immediately»).

Известно, что проблема затронула не всех пользователей из Крыма, а только некоторых. Исследование показало, что фильтрация «запрещённых» аккаунтов со стороны Slack идёт как минимум с февраля 2018 года. Тем не менее, в этот раз количество забаненных аккаунтов оказалось необычно высоким (см. тред на HN). Ситуация получила широкий резонанс — и в конце концов компании Slack пришлось извиняться и восстанавливать удалённые аккаунты.
Читать дальше →

Математик-любитель обнаружил наименьшее универсальное покрытие

Reading time5 min
Views24K

Путём трудных геометрических подсчётов Филип Гиббс обнаружил наименьшее из известных покрытий для любой возможной формы



Такое универсальное покрытие, как шестиугольник, можно описать вокруг любой формы

Филип Гиббс – не профессиональный математик. Поэтому когда ему хотелось поразмышлять над какой-либо задачей, он искал такую, с которой может справиться и любитель. Он обнаружил трудную задачу, которая может свести с ума даже лучшие умы. И в работе, опубликованной в этом году, Гиббс значительно продвинулся в решении вопроса столетней давности, зависящего от способности точно измерять площадь вплоть до атомных масштабов.

Первым эту задачу предложил французский математик Анри Леон Лебег, в письме к своему другу Юлиусу Палу, написанному в 1914 году. Лебег спросил: какова форма наименьшей возможной площади, способной полностью покрыть большое количество других форм (имеющих одно общее свойство, о котором ниже)?
Читать дальше →

RoadRunner: PHP не создан, чтобы умирать, или Golang спешит на помощь

Reading time8 min
Views55K


Привет, Хабр! Мы в Badoo активно работаем над производительностью PHP, поскольку у нас достаточно большая система на этом языке и вопрос производительности — это вопрос экономии денег. Более десяти лет назад мы создали для этого PHP-FPM, который сначала представлял собой набор патчей для PHP, а позже вошёл в официальную поставку.

За последние годы PHP сильно продвинулся вперёд: улучшился сборщик мусора, повысился уровень стабильности — сегодня на PHP можно без особых проблем писать демоны и долгоживущие скрипты. Это позволило Spiral Scout пойти дальше: RoadRunner, в отличие от PHP-FPM, не очищает память между запросами, что даёт дополнительный выигрыш в производительности (хотя этот подход и  усложняет процесс разработки). Мы сейчас экспериментируем с этим инструментом, но у нас пока нет результатов, которыми можно было бы поделиться. Чтобы ждать их было веселее, публикуем перевод анонса RoadRunner от Spiral Scout.

Подход из статьи нам близок: при решении своих задач мы тоже чаще всего используем связку PHP и Go, получая преимущества от обоих языков и не отказываясь от одного в пользу другого.

Enjoy!
Читать дальше →

Небольшое исследование свойств простой U-net, классической сверточной сети для сегментации

Reading time18 min
Views23K
Cтатья написана по анализу и изучению материалов соревнования по поиску корабликов на море.

image

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

Машинное обучение с Node.js при помощи библиотеки Tensorflow.js

Reading time10 min
Views33K
Привет всем, коллеги!

Возможно, поклонники библиотеки Tensorflow, уже заметившие у нас в предзаказе эту книгу, также присматривались к возможностям машинного и глубокого обучения в браузере, тем более, что тему не обошел вниманием и сам Франсуа Шолле. Интересующихся приглашаем под кат, где рассказано, как при помощи библиотеки Tensorflow.js распознаются изображения.
Читать дальше →

Как отличить шампунь от шампиньонов, а шампуры от шампанского… Elasticsearch — поиск товаров в магазинных базах данных

Reading time10 min
Views12K

Задача


Одна из больших задач приложения для хранения и анализа покупок — поиск одинаковых или очень близких продуктов в базе данных, где собраны разномастные и непонятные наименования продуктов, полученные из чеков. Есть два вида входного запроса:


  1. Специфичное название с сокращениями, которое может быть понятно только кассирам местного супермаркета, либо заядлым покупателям.
  2. Запрос на естественном языке, введенный пользователем в поисковую строку.

Запросы первого вида, как правило, исходят из продуктов в самом чеке, когда пользователю нужно подыскать продукты подешевле. Наша задача заключается в том, чтобы подобрать максимально похожий аналог товара из чека в других магазинах поблизости. Здесь важно подобрать наиболее соответствующую марку продукта и по возможности объём.


Читать дальше →

Векторные представления товаров, или еще одно применение модели Word2Vec

Reading time6 min
Views14K
image

Каждый день полтора миллиона людей ищут на Ozon самые разные товары, и к каждому из них сервис должен подбирать похожие (если пылесос все-таки нужен помощней) или сопутствующие (если к поющему динозавру нужны батарейки). Когда видов товаров тоже много, решить задачу помогает модель Word2Vec. Разбираемся, как она работает и как создавать векторные представления для произвольных объектов.

Читать дальше →

Металл-воздушный транзистор продлит действие закона Мура — как работает технология

Reading time4 min
Views23K
Австралийские специалисты представили металл-воздушный транзистор, принцип действия которого напоминает работу вакуумных транзисторов. Рассказываем, в чем суть технологии.

Читать дальше →

Гениальный нейробиолог, у которого, возможно, есть ключ к созданию настоящего искусственного интеллекта

Reading time12 min
Views37K
Принцип свободной энергии Карла Фристона может быть наиболее всеобъемлющей идеей со времён теории естественного отбора Чарльза Дарвина. Но чтобы понять его, необходимо заглянуть в разум самого Фристона.



Когда король Англии Георг III к концу правления начал проявлять признаки острого маниакального поведения, слухи о безумии короля быстро распространились в народе. В одной легенде говорится, что Георг попытался пожать руку дереву, считая, что видит перед собой прусского короля. В другой описывалось, как его тайно перевезли в здание на Квин-сквер лондонского района Блумсбери, чтобы там лечить его вместе с его подданными. Также утверждается, что его супруга, королева Шарлотта Мекленбург-Стрелицкая, арендовала целый подвал в местном пабе, чтобы хранить там припасы для кормления короля, пока он находился под опекой врачей.
Читать дальше →

Высокодоступный и масштабируемый Elasticsearch в Kubernetes

Reading time13 min
Views18K

image
В предыдущем посте мы масштабировали набор реплик MongoDB и познакомились со StatefulSet. Сейчас мы займемся оркестрацией кластера высокой доступности Elasticsearch (с другими мастер-нодами, нодами данных и клиентскими нодами) и задействуем ES-HQ и Kibana.


Вам понадобятся:


  1. Базовое представление об Elasticsearch, его типах нод и их ролях.
  2. Работающий кластер Kubernetes как минимум с тремя нодами (не меньше четырех ядер, 4 ГБ).
  3. Умение работать с Kibana.
Читать дальше →

Генератор клиента к базе данных на Golang на основе интерфейса

Reading time12 min
Views17K

Генератор клиента к базе данных на Golang на основе интерфейса.



Для работы с базами данных Golang предлагает пакет database/sql, который является абстракцией над программным интерфейсом реляционной базы данных. С одной стороны пакет включает мощную функциональность по управлению пулом соединений, работе с prepared statements, транзакциями, интерфейсом запросов к базе. С другой стороны приходится написать немалое кол-во однотипного кода в веб приложении для взаимодействия с базой данных. Библиотека go-gad/sal предлагает решение в виде генерации однотипного кода на основе описанного интерфейса.

Читать дальше →

Где Agile ужасен, особенно Scrum

Reading time15 min
Views96K
Гибкость — без сомнения хорошая вещь, и в манифесте Agile есть смысл. По сравнению с хрупкой практикой под названием «водопад», Agile заметно лучше. Тем не менее, на практике гибкие подходы часто наносят глубокий вред, и в действительности вряд ли здесь уместна дихотомия Agile/Waterfall.

Я видел, как множество вариантов Agile, называемых Scrum, реально убивают компанию. Под «убивают» я имею в виду не «ухудшение культуры», а скорее когда акции компании падают почти на 90% за два года.

Что такое Agile?


Agile вырос из среды веб-консалтинга, где он приносил определённую пользу: при работе с привередливыми клиентами, которые не знают, чего они хотят, обычно приходится выбирать из двух вариантов. Или одолеть клиента: установить ожидания, соответствующую оплату за переделки и поддерживать отношения равенства, а не подчинения. Или принять некорректное поведение клиента (как, скажем, приходится многим дизайнерам) и ориентировать рабочий поток вокруг клиентской дисфункции.
Читать дальше →

Торговые боты для крипторынка. С чего начать?

Reading time5 min
Views39K

image


Разобраться в торговых ботах сложно. Настроить бота и стабильно закрывать сделки в плюс — ещё сложнее. Но я на практике убедился, что это возможно. В статье базовая информация, которая поможет новичку разобраться в теме и принять самостоятельное решение: подходит это для него или нет.

Читать дальше →

Уязвимость генератора псевдослучайных чисел в Bitcoin

Reading time3 min
Views43K
Приватные Биткоин-ключи — это целочисленное значение от 1 до 115792089237316195423570985008687907852837564279074904382605163141518161494337 или в HEX 1 до 0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141. В главной сети Биткоина существуют адреса начинающиеся на 1: compressed, uncompressed; адреса на 3: SigScript и обратно совместимые с SegWit, а так же нативные SegWit адреса начинающиеся на bc1. К тому же есть уже порядка семидесяти форков, имеющие другие префиксы, но те же корни что и основного Биткоина.

Биткоин-адреса рассчитываются криптографической функцией подписи ECDSA ( ) основанной на эллиптической кривой.

Алгоритмы оптимизации торгового робота: эффективный способ наторговать миллион задним числом

Reading time10 min
Views21K
тизер

Я прочитал авторитетную книгу о торговых стратегиях и написал своего торгового робота. К моему удивлению, робот не приносит миллионов, даже торгуя виртуально. Причина очевидна: робот, как гоночный автомобиль, нуждается в «тюнинге», в подборе параметров, адаптированных к конкретному рынку, конкретному периоду времени.

Так как параметров настройки у робота достаточно, перебрать все их возможные комбинации в поисках лучшей, слишком затратная по времени задача. В свое время, решая задачу оптимизации, я не нашел обоснованного выбора алгоритма поиска квазиоптимального вектора параметров торгового робота. Потому решил самостоятельно сравнить несколько алгоритмов…
Читать дальше →

Information

Rating
5,797-th
Registered
Activity