Search
Write a publication
Pull to refresh
0
0
Майоров Роман @remez

User

Send message

Аквапоника своими руками с применением микроконтроллера

Reading time5 min
Views159K
image

Всем привет. Как-то на просторах Интернета мне попался интересный американский проект. Суть проекта в том, что можно выращивать различные агрокультуры, используя не почву, а, так сказать, симбиоз рыб с растениями. Получается замкнутый цикл. Вы кормите и выращиваете рыб, их продукты жизнедеятельности, растворённые в воде, являются питательной средой для растений. А эти растения, получая питательные вещества для роста из воды, очищают её. Весь процесс повторяется по кругу. Данный метод называется «аквапоника».
Читать дальше →

Material Design: на Луну и обратно

Reading time11 min
Views391K
“Это унылое диалоговое окно действительно нужно?”



В этой статье я изложил главные принципы Material Design и дал советы по их воплощению. Текст написан по следам мастер-класса для разработчиков, который мы, Роботы, устраивали совместно с российским офисом Google (Think Mobile).


Когда-то все продукты Google выглядели по-разному плохо. Даже один продукт на разных платформах выглядел неконсистентно.

Все стало меняться в 2011 году, когда в Google начали усиленно работать над унификацией визуальной части экосистемы своих продуктов и назвали все это Project Kennedy.

При чем тут Кеннеди?
Легенда такова: президент Кеннеди инициировал программу полёта человека на Луну (если верить, что этот полёт когда-либо был). А большой начальник в Google Ларри Пейдж исповедует принцип, что продукты нет смысла улучшать на 10% — они должны быть в 10 раз лучше, чем у конкурентов. Если уж запускать продукт, то сразу на Луну. Вот и здесь было решено круто всё переделать.

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

Лекции Технопарка. 1 семестр. С/С++

Reading time6 min
Views110K
Мы продолжаем наши еженедельные публикации учебных материалов Технопарка. Предыдущие лекции были посвящены web-технологиям в целом, а также алгоритмам и структурам данных. В третьем блоке лекций рассказывается о языках С и С++.

Лекция 1. Язык С. Основы организации и использования оперативной и сверхоперативной памяти


Лекция начинается с введения в язык С: рассказывается об истории его появления, особенностях, преимуществах и недостатках, о сферах применения. Описываются основы препроцессорной обработки, рассматриваются вопросы управления памятью (модели управления памятью, области видимости объектов хранения) и производительность программ на языке С. Обсуждается связывание объектов хранения и их инициализация. Затем рассказывается о классах памяти в языке С. Следующая часть лекции посвящена проблематике указателей, а также работе с одномерными массивами. В заключение рассматривается стандарт POSIX и вопросы переносимости.


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

Доказательство некорректности алгоритма сортировки Android, Java и Python

Reading time13 min
Views76K
Тим Петерс разработал гибридный алгоритм сортировки Timsort в 2002 году. Алгоритм представляет собой искусную комбинацию идей сортировки слиянием и сортировки вставками и заточен на эффективную работу с реальными данными. Впервые Timsort был разработан для Python, но затем Джошуа Блох (создатель коллекций Java, именно он, кстати, отметил, что большинство алгоритмов двоичного поиска содержит ошибку) портировал его на Java (методы java.util.Collections.sort и java.util.Arrays.sort). Сегодня Timsort является стандартным алгоритмом сортировки в Android SDK, Oracle JDK и OpenJDK. Учитывая популярность этих платформ, можно сделать вывод, что счёт компьютеров, облачных сервисов и мобильных устройств, использующих Timsort для сортировки, идёт на миллиарды.

Но вернёмся в 2015-й год. После того как мы успешно верифицировали Java-реализации сортировки подсчётом и поразрядной сортировки (J. Autom. Reasoning 53(2), 129-139) нашим инструментом формальной верификации под названием KeY, мы искали новый объект для изучения. Timsort казался подходящей кандидатурой, потому что он довольно сложный и широко используется. К сожалению, мы не смогли доказать его корректность. Причина этого при детальном рассмотрении оказалась проста: в реализации Timsort есть баг. Наши теоретические исследования указали нам, где искать ошибку (любопытно, что ошибка была уже в питоновской реализации). В данной статье рассказывается, как мы этого добились.

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

Из Oracle да в Postgres

Reading time10 min
Views72K
Так уж случилось, что с Oracle организация наша работает давно и плотно. Сам я познакомился с Oracle Database ещё во времена 6-ой версии и, с тех пор, какого либо дискомфорта не испытывал. Всё испортили рыночные отношения. С недавних пор, мы начали замечать, что Заказчик гораздо благосклоннее смотрит на наши проекты если в них используются бесплатные СУБД. О портации одного из таких проектов и будет мой рассказ... 
Читать дальше →

Как Elasticsearch может помочь в поиске подозрительной активности на сайте

Reading time6 min
Views12K
Предлагаю читателям «Хабрахабра» перевод статьи «Spotting bad actors: what your logs can tell you about protecting your business» из официального блога Elasticsearch. Статья рассказывает о том, как можно использовать возможности Elasticsearch для анализа логов веб-сервера с целью обнаружения подозрительной активности на сайте.

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

Но на сколько бы изменилась ситуация, если бы мы могли заблаговременно получать развернутую информацию обо всех IP-адресах и подсетях, которые проявляют подозрительную активность и блокировать именно их? Звучит здорово, не правда ли?

Мы можем легко сделать это вместе с Elasticsearch.
Читать дальше →

Сэм Альтман: Как сформировать команду и культуру стартапа?

Reading time31 min
Views32K


Cтэнфордский курс CS183B: How to start a startup. Стартовал в 2012 году под руководством Питера Тиля. Осенью 2014 года прошла новая серия лекций ведущих предпринимателей и экспертов Y Combinator:


Первая часть курса

Disclaimer: осторожно, трафик (объемный материал + слайды лекции).
Читать дальше →

Жонглирование. Теория. Практика

Reading time5 min
Views43K
Настороженно отношусь к непрофильным топикам, но решил написать этот по следующим причинам:
  • У жонглирования есть своя теория — стройная и математически привлекательная!
  • Мы живем не только работой. Жонглирование — отличное развлечение и разминка после долгого сидения за компом.
  • В пятницу приятно немного расслабиться и почитать не очень серьезные статьи. К тому же, будет чем заняться на выходные, особенно если у вас не было определенных планов.

Теория


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

Как обмануть Корпорацию Добра или покупаем Nexus 7 в России без гуглолотереи

Reading time4 min
Views260K
В недавней статье на Хабре уже шла речь о том, как закупаться на Google Play в разделе Devices прямо из нашего захолустья. Тема бесспорно интересная: Nexus 7 пока в России и близлежащих странах вообще не водится, а Galaxy Nexus, скорее всего, просто обойдется вам значительно дороже, если, конечно, вы не живете в Москве или Питере. Проблема только в том, что рецепт оказался несколько нестабильный: лично меня Самая Добрая Корпорация небезосновательно заподозрила в подтасовке личных данных, а судя по комментариям – я такой оказался далеко не один.

Неделя мучений и попыток обмануть Google Wallet привела-таки к положительному результату в виде возможности покупать что угодно и где угодно на Google Play, более того, решение, строго говоря, лежало на поверхности и никаких сложных действий не требовало.

Под катом новый рецепт и совсем чуть-чуть скриншотов.
Читать дальше →

Создан высокопроизводительный графеновый транзистор

Reading time2 min
Views22K


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

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

144-ядерный процессор Чарльза Мура поступил в продажу по $20

Reading time2 min
Views45K
Чарльз Мур, создатель языка программирования Форт (Forth), довёл до стадии промышленного производства уникальную разработку — многоядерный процессор GA144. Чип размером 10х10 мм уже поступил в продажу по цене $20 (при заказе от десяти штук), также доступны материнские платы для него. Фактически, это аппаратное воплощение самого языка программирования Форт.

Крайне необычный процессор по ряду параметров не имеет себе равных среди CPU:
  • 144 независимых ядра, которые активируются только при поступлении инструкции, то есть у этого процессора нет такой характеристики как «тактовая частота»;
  • скорость выполнения инструкций 1400 пикосекунд (эквивалент 700 МГц);
  • энергопотребление 7 пикоджоулей на одну инструкцию;
  • энергопотребление в «спящем» режиме менее 100 нановатт;
Читать дальше →

Видео всех лекций с «Курсов информационных технологий» от «Яндекса»

Reading time1 min
Views31K
Для тех, кто не смог посетить Курсы информационных технологий, видеоролики всех лекций выложены в свободный доступ. Это лекции по полтора-два часа на базовые темы: операционные системы; архитектура ЭВМ; устройство GNU/Linux; системы хранения данных; файловые системы; сети и протоколы; виртуализация; безопасность.
Читать дальше →

А давайте действительно заблокируем правительству доступ к сайтам?

Reading time1 min
Views285K
Прочитал шутку-комментарий, где предлагалось закрыть электронному правительству доступ к сайту и возник вопрос «А почему бы и нет?».
Мизуразматики каждый день рыщут в поисках сайтов, которые бы да заблокировать, при этом сами пользуются тем же самым контентом.

image
Давайте же отлучим от наших интернетов!
Читать дальше →

Как я выиграл суд с EMS Почта России

Reading time10 min
Views204K
Как я выиграл суд с EMS.
Итак, как было обещано в вопросе habrahabr.ru/qa/19545, я публикую свой опыт по подаче иска к «EMS – Почта России», который завершился положительно для меня. Впрочем, обо всем по порядку.
Big Update — сегодня, 6.03.2013 получил деньги. Кафкианский процесс завершен. Ура!
Читать дальше →

RAR Print — самодельный 3D принтер из CD rom'ов

Reading time2 min
Views185K


В начале декабря 2013 попался в руки фотополимерный 3D-принтер Muve3D. Принтер пришел кит набором, напрямую из США. Проект этот был запущен на краудфандинговой платформе в апреле 2013 и успешно реализован. Однако конструкция потребовала достаточно трудоемкой сборки и настройки. Ко всему прочему были различного рода недоработки. Тем не менее получилось собрать и запустить принтер. Получил первый опыт.
Читать дальше →

Высшее образование в Германии стало бесплатным. Для иностранных студентов тоже

Reading time2 min
Views531K
Прекрасная возможность учиться в Германии появилась у желающих со всего мира. С нового учебного года 2014/2015 высшее образование в Германии стало бесплатным на всей территории страны. Последней из семи федеральных земель об отмене платы за обучение распорядилась Нижняя Саксония в декабре 2013 года. Доротея Штапельфельдт, сенатор Комитета по науке в Гамбурге, назвала платное образование «социальной несправедливостью», пишет «Таймс» (via). Сенатор по науке считает, что ключевой задачей политики является предоставление молодёжи в Германии возможности учиться и получать качественное высшее образование бесплатно.


Фото Шона Гэллапа, Getty Images
Читать дальше →

Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в степень

Reading time20 min
Views84K
Пусть мы хотим вычислить десятимиллионное число Фибоначчи программой на Python. Функция, использующая тривиальный алгоритм, на моём компьютере будет производить вычисления более 25 минут. Но если применить к функции специальный оптимизирующий декоратор, функция вычислит ответ всего за 18 секунд (в 85 раз быстрее):


Дело в том, что перед выполнением программы интерпретатор Python компилирует все её части в специальный байт-код. Используя метод, описанный хабрапользователем SkidanovAlex, данный декоратор анализирует получившийся байт-код функции и пытается оптимизировать применяющийся там алгоритм. Далее вы увидите, что эта оптимизация может ускорять программу не в определённое количество раз, а асимптотически. Так, чем больше будет количество итераций в цикле, тем в большее количество раз ускорится оптимизированная функция по сравнению с исходной.

Эта статья расскажет о том, в каких случаях и каким образом декоратору удаётся делать подобные оптимизации. Также вы сможете сами скачать и протестировать библиотеку cpmoptimize, содержащую данный декоратор.
Читать дальше →

Алгоритмы поиска путей на JavaScript

Reading time1 min
Views32K


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

Information

Rating
Does not participate
Location
Ижевск, Удмуртия, Россия
Date of birth
Registered
Activity