...

суббота, 16 июля 2016 г.

[Перевод] Пасхалка в Mr Robot S02E01

Security Week 28: Приватность покемонов, критическая инфраструктура онлайн, постквантовая криптография в Chrome

Новая инциатива Tropical Data Center (TDC)

Город-государство на юго-востоке Азии — Сингапур в переводе с малайского означает  «город льва», часто его называют «Диснейлэнд для взрослых», «Город запретов». Выгодное географическое положение, продуманная стратегия развития позволили Сингапуру стать одним из наиболее развитых государств мира. Интересный факт, что каждый 10-й житель этого государства — миллионер. Микрогосударство без ресурсов — экономический гигант с самыми современными технологиями. Сингапур лидирует в развитии бизнес-среды, легкости ведения бизнеса и работе электронного правительства; в развитии информационных технологий и общей конкурентоспособности; в конкурентоспособности IT.



Жесткое правление диктатора Ли Куан Ю на протяжении 30 лет привело к процветанию государства, не смотря на то, что изначально положение было плачевно: отсутствие ресурсов, зависимость от Малайзии в поставках питьевой воды, запредельной коррупция и прокоммунистическое настроения у 30% населения.

Более 4 миллионов жителей Сингапура пользуются интернетом — это 73%. Сингапур опережает своих соседей  —  Малайзию и Индонезию. По меркам Юго-Восточной Азии здесь довольно высокий уровень доступа к интернету. В 2006 году был запущен генеральный план “Интеллектуальная нация 2015”, его реализация позволила Сингапуру стать мировым лидером по проникновению ультраскоростного интернета. Сингапур и Корея могут похвастаться самым высоким процентом дата-центров со сверхбыстрым подключением, более чем 1 Гбит/с, которые готовы удовлетворить требования следующего поколения, такие как виртуализация и мобильность. Мировые корпорации такие как Google, Amazon, IBM и многие другие уже разместили свои серверные фермы на территории данного государства.

Tropical Data Center (TDC)


Остров находится у экватора, поэтому климат в Сингапуре ровный и очень влажный, государство находится в области тропического муссонного климата. Влажность достигает от 70 до 90%, днем воздух прогревается в среднем до 32 градусов, ночью охлаждается минимум до 20.

В планах сингапурских инженеров провести испытания первой в мире серверной фермы, которая будет разработана специально для тропического климата. Новая инициатива Tropical Data Center (TDC) направлена на воплощение данного плана, а также призванна стимулировать инновации и исследование возможностей для применения экологически чистых технологий в дата-центрах.

Разработчики заняты поиском новых подходов к развертыванию инфраструктуры серверной фермы в странах с жарким и влажным климатом. Цель — создать специализированное ПО для ЦОД или оптимизировать уже существующих программные решения.

Для эксперимента был выбран кампус серверной фермы Keppel Keppel Data Centre, проект должен стартовать осенью 2016 года.

Такие компании и организации как Dell, Futjitsu, Hewlett Packard Enterprise, Huawei, Intel, The Green Grid и Наньянский технологический университет (NTU- Nanyang Technological University) решили принять непосредственное участие в эксперименте, предоставив необходимую технику, аппаратное обеспечение, ПО. В ходе эксперимента будет проверяться «поведение» серверов в различных «живых» ситуациях, таких, как скачки напряжения, отсутствие температурного контроля или контроля влажности.

Согласно заявлениям сингапурских инженеров, как правило серверные фермы охлаждаются до 20-25 градусов Цельсия, а относительная влажность окружающей среды внутри них удерживается в диапазоне от 50 до 60%. Экспериментальный ЦОД TDC (пока теоретически) будет функционировать при гораздо более сложных условиях окружающей среды без дополнительных энергозатрат, что в свою очередь снизит растраты на электроэнергию до 40%, значительно уменьшит выбросы углекислого газа. Снизить энергопотребление инфраструктурой серверных ферм — задача первостепенная, ведь если верить статистике, то на их долю потребления приходится 7% из общего потребления электроэнергии страной. Из-за постоянного роста количества хранилищ данных в Сингапуре к 2030 году ожидается, что этот процент возрастет до 12.

Еще в 2014 году были попытки разработки новых технологии для охлаждения серверов. Сингапурский Институт микроэлектроники (Institute of Microelectronics — IME) создал консорциум Silicon Micro Cooler (SMC), задачей членов консорциума была разработка комплексных решений для управления температурным режимом различных полупроводниковых чипов с крайне высокими термопакетами. На данный момент в электронной промышленности наблюдается тенденция к постоянному уменьшению форм-факторов продуктов, расширению их функционала и повышение скорости обработки данных, а это может привести к появлению на поверхности мощных CPU и других чипов с высоким термопакетом «горячих точек». Из-за этого возникает необходимость в интенсификации рассеяния выделяемого чипом тепла в условиях постоянного уменьшения площади его поверхности. А вот высокая концентрация таких «горячих точек» на небольших участках поверхности чипов может стать причиной резкого роста температуры перехода, что может привести к выходу из строя чипов и находящихся рядом с ними электронных устройств.

SMC используя возможности института IME проводил исследований и разработки в области проектного обеспечения теплогидравлических характеристик (thermal and fluidics design), глубокого щелевого травления (deep trench etching) и соединения компонентов на уровне подложки чипа (wafer level bonding). Были разработаны механизмы для организации теплоотвода, созданы теплораспределители из синтетического алмаза и графена, кремниевые чипы гибридные микро-кулеры, которые справляются с тепловыделением мощных процессоров, радиочастотных усилителей и лазерных диодов.

Источник

Комментарии (0)

    This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
    Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

    Security Week 28: Приватность покемонов, критическая инфраструктура онлайн, постквантовая криптография в Chrome

    пятница, 15 июля 2016 г.

    Библиотека f для функционального программирования в Питоне

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


    Изображение с сайта ixbt.com

    Самые смелые эксперты из сферы интернет-маркетинга пророчат баннерам скорую смерть: якобы их должна вытеснить видеореклама. Один из аргументов, которые они приводят, перефразируя известное высказывание, может звучать так: «Лучше один раз увидеть, чем сто раз прочесть».

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

    Безусловно, видео в большинстве случаев поможет потенциальному клиенту принять взвешенное решение и нажать кнопку «Установить», либо отказаться от покупки.

    В одном из постов на Geektimes уже рассказывалось о возможных вариантах продвижения приложений с использованием видеорекламы: видео в Google Play Store, видео в App Store (App Previews), альтернативные App Stores, видео на личном веб-сайте, YouTube, Facebook Video ads, Instagram video ads, Twitter video ads, TrueView (Google video ads).

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

    Прогнозы


    По прогнозу компании Strategy Analytics, к концу 2022-ого года число аудитория мобильного видео вырастет до 2 миллиардов человек.

    В попытке «завоевать мир», рекламодатели будут вкладывать еще больше средств в мобильную видеорекламу, стараясь охватить как можно больше пользователей смартфонов и планшетов.

    Вей Ши, аналитик Strategy Analytics, отмечает, что наибольший рост выручки ожидается в сегменте спонсируемого брендами контента. Бюджеты в данном сегменте будут расти на 28% в год на протяжении ближайших 5-ти лет.

    К 2021 года мировой объём доходов в секторе мобильного видео достигнет отметки в 25 миллиардов долларов (22,5 миллиарда евро).

    Как видно из графика, по темпам роста выручки индустрии мобильного видео выделяются Северная Америка и Западная Европа. В Азиатско-Тихоокеанском регионе динамика роста – более насыщенная.

    Посредниками в процессе рекламной монетизации все чаще выступают Facebook, Twitter, WeChat и остальные социальные сети.

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

    Нюансы


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

    Ежедневно Facebook генерирует более 8 миллиардов просмотров. По данным сайтов LittleThings и Mic, каждый из которых генерирует по 150 миллионов просмотров на Facebook, для 30-секудных видеороликов 85% просмотров происходят без звука. Представители PopSugar аналогично подтверждают эту информацию, уточняя, что в их случае это значение находится в пределах 50-80%.

    Создатели видеорекламы и здесь нашли выход: они на всякий случай размещают на видео еще и текст объявления. Они верят, что пользователи выключают звук «по уважительной причине», а не потому, что реклама им мешает.

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

    Но не все так благополучно, как хотели бы видеть рекламодатели.

    Число владельцев смартфонов, использующих ПО для блокировки рекламы, согласно последнему отчету PageFair выросло на 90% за последний год. В общей сложности, рекламу на смартфонах блокирует почти 420 миллионов пользователей по всему миру. По статистике — это каждое пятое мобильное устройство на планете.

    Активно блокируют рекламу жители азиатско-тихоокеанского региона — там блокировщики установлены на 36% устройств. В Индии и Индонезии adblock-приложения использует две трети всех владельцев смартфонов. В Китае блокировщики установлены на 159 миллионов устройств.

    Periscope и Facebook Live


    Еще один тренд, который нельзя игнорировать, – это сервисы с помощью Periscope, Facebook Live и так далее. Они позволяют проводить онлайн-трансляции. Они быстро стали популярны среди медиакомпаний и знаменитостей, а значит, представляют интерес для рекламодателей.

    «Популярность можно объяснить несколькими тенденциями, но главное — это проникновение смартфонов и скоростного мобильного интернета, чего не было пять-шесть лет назад. Лайвстриминг занимает свою нишу в коммуникациях, закрывая те сегменты, что до этого не доступны были фотографии», — сообщил в беседе с «Газетой.Ru» главный аналитик Российской ассоциации электронных коммуникаций (РАЭК) Карен Казарян.

    Сервис микроблогов Twitter купил Periscope в 2015 году. После этого для проведения онлайн-трансляций пользователю стало достаточно своего смартфона, подключенного к интернету, и аккаунта в Twitter.

    Новый тренд оперативно подхватила и социальная сеть Facebook, представившая в августе прошлого года функцию Facebook Live. Стараются не отставать и российские сервисы «ВКонтакте» и «Одноклассники».


    Сервис Periscope взяли на вооружение СМИ: трансляции с разных событий организовывали CNN, Bild, The Guardian, The Verge и другие. Но пока у Twitter нет четкого понимания, как зарабатывать на новом сервисе.

    Ставку на медиаконтент делает и сеть Facebook, обеспечившая приоритетное положение видео на пользовательских страницах и отправляющая уведомления подписанным пользователям о начале трансляции на той или иной странице.

    На текущий момент социальные сети запустили живое потоковое видео как механизм для увеличения количества пользователей и времени, которое они проводят в социальных сетях.

    Как свидетельствуют данные Syndacast, видео обеспечивает наиболее высокий показатель конверсии по сравнению с другими типами контента. Результаты опроса Internet Retailer демонстрируют, что 96% пользователей руководствуются просмотром рекламных роликов перед принятием решения о покупке.

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

    Помогает в этом статистика, которую по завершении трансляций предоставляют Facebook Live и Periscope. В частности, наличие этой функции стало ключевым моментом в противоборстве с Meerkat, который запустился раньше своих конкурентов, но не смог предоставить полноценный фидбек по итогам живых эфиров. Негативно сказалось на приложении и отключение от Twitter.

    Наиболее очевидным способом заработка, предложенным в рунете, является реклама того или иного продукта непосредственно в самом Periscope-эфире. Для этого потребуется уже раскрученный аккаунт в соцсетях с немалой аудиторией.

    Предлагается получать прибыль и на проведении трансляций лекций или бизнес-тренингов в случае, если пользователь имеет интересные публике знания. В этом случае также понадобится уже популярный профиль в соцсетях. К тому же, он должен быть закрытым, а подписка на него — платной.

    VR-технологии


    VR-технологии и 360-градусные видео стали главным технологическим трендом в этом году. Пользователи готовы играть в специфические компьютерные игры, делать 3D-селфи для интернет-шопинга, ходить на виртуальные свидания, но этим применение данных технологий не ограничивается.

    Использование VR в рекламных целях переместило рекламу в другую плоскость – в прямом и в переносном смысле. А вместе с этим перевернулось и представление о рекламе у потребителя.

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

    Именно покупка Oculus компанией Facebook в 2014 году стала основным показателем роста рынка VR. Facebook также разрабатывает контроллеры прикосновений, которые должны дополнить уже существующие VR-технологии, которые планируется использовать в шлеме виртуальной реальности. CEO Facebook Цукерберг описал разработку как «совершенно новый уровень погружения».

    В марте 2015 года крупнейший видеохостинг Youtube представил поддержку видео с обзором 360 градусов, которое позволит просматривать ролики под разными углами. Впоследствии аналогичную функцию в своей соцсети запустила и компания Цукерберга.

    Первыми в маркетинговых целях технологию VR стали использовать создатели развлекательного контента — кинофильмов и телешоу. 360-градусные видео в качестве промо блокбастеров стали массово создаваться сразу после успеха промо-ролика новых «Звездных войн», который был выложен в Facebook и Youtube еще в сентябре прошлого года.

    К настоящему времени это стало весьма распространенным явлением среди производителей развлекательного контента. Например, канал HBO анонсировал старт нового сезона самого популярного сериала «Игра престолов» с помощью 360-градусной заставки.

    Game of Thrones Opening Credits 360 Video

    From King’s Landing to Dorne, explore the world of Westeros like never before in our immersive 360 experience.

    Опубликовано Game of Thrones 13 апреля 2016 г.

    Далее VR-технологиями заинтересовались и традиционные бренды: в этой формате выпустила новый каталог IKEA, а авиаперевозчик Etihad Airways снял рекламный фильм, в котором снялась голливудская звезда Николь Кидман. Видео «Reimagine», созданное The Barbarian Group, позволяет зрителям полностью погрузиться в уникальную атмосферу путешествия на борту Airbus A380.

    Технология VR рекламы идеально подходит для туристического бизнеса.

    The Teleporter — кабинка, похожая на традиционные британские телефонные будки, переносила жителей туманного Альбиона на теплые берега гавайских островов или в шумный Нью- Йорк. Имитация была создана с помощью очков Oculus Rift, термодатчика, подогревавшего воздух и вентилятора, имитирующего ветер.

    VR активно используется в рекламных целях менее года, однако аналитики уже просчитали эффект его использования для брендов. Аналитическая компания Newswhip выяснила, что популярность постов в соцсетях сегодня обеспечивает видеоконтент. Среди этого контента самые популярными являются именно 360-градусные ролики.

    NewsWhip проанализировал данные пабликов в Facebook 10 ведущих издателей за прошедший год. Эта группа включает в себя новые медиа — такие, как BuzzFeed и Huffington Post, а также более традиционные — The New York Times, Fox News, ВВС, Guardian и так далее. Согласно данным исследователей, 360-градусные видео просматриваются на 55% больше обычных, а расшариваются на 57% чаще.

    Сегодня VR и 360-градусные видео только входят в практику маркетологов, но аналитики отмечают, что развитие этого сегмента неизбежно приведет к замене обычных видео и полной смене модели потребления видеоконтента в интернете.

    Комментарии (0)

      This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
      Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

      [Из песочницы] Шлюз для почтового сервера

      [Из песочницы] Принцип Доверия (Trust) в HTTPS

      Впечатления от лучших докладов на International PHP Conference

      В начале июня в Берлине прошла одна из самых продвинутых конференций по PHP — International PHP Conference 2016. В качестве докладчиков в ней приняли участие такие специалисты, как Себастьян Бергман, Арне Бланкертс, Стефан Прибш и еще более 50 человек, которые вносят свой постоянный вклад в развитие PHP. Конференция проводилась в шикарном 4-х звездочном отеле Маритим Проарте. Доклады читались в несколько параллельных потоков на английском и немецком и затрагивали как непосредственно PHP-разработку, так и околодевелоперские темы: инфраструктуру, серверное ПО, open source-разработку и многое другое. Отдельно хочется отметить ключевые доклады, которые зажигали то искрометным юмором, то глубиной затрагиваемых тем. В этой статье мы собрали свои впечатления от самых крутых докладов, с ссылками на презентации и примеры.

      PHP 7: каков он? (Себастьян Бергман)


      Себастьян добирался до Берлина с приключениями — технические неполадки с самолетом, выявленные прямо перед вылетом (хорошо, что не после!). Поэтому его доклад был перенесен на более поздний срок. Но ожидание стоило того!

      Докладчик очень основательно подошел к содержанию своей речи. Основной целью его было не оставить у слушателей ни единого пробела в понимании роли и места PHP 7 в огромном мире современных языков программирования. Для этого Себастьян прошелся очень подробно по принципам работы многих языков. Было уделено особое внимание истории развития и парадигмам программирования. Докладчик показал на примерах, как язык менялся от версии к версии, какие новые черты приобретал, и на сколько лучше становился от этого. В итоге можно сказать, что PHP 7 является императивный языком, который поддерживает процедурное, а также объектно-ориентированное программирование. Он имеет ограниченную поддержку функционального программирования. Также существуют расширения для аспектно-ориентированного программирования. PHP 7 динамический, неявно, и слабо типизированный, но при желании поддерживает явную типизацию и строгую проверку типов. Благодаря этому докладу мы смогли глубже понять тот инструмент, с которым мы работаем каждый день.

      Презентация.

      Настройка балансировщика уровня Enterprise с бесплатным ПО. (Себастьян Фельдман)


      Себастьян Фельдман — ведущий разработчик в одной из IT-компании Мюнхена. Он описал, как он настраивает балансировщики нагрузок. Он делает ставку на то, что доступность является ключевым фактором в онлайн-бизнесе, и если веб-сайт или услуга не доступны для клиентов — это всегда плохо для бизнеса. Из доклада мы узнали, как настроить балансировщик, чтобы достичь высокой производительности и высокой доступности под нагрузкой с помощью бесплатного программного обеспечения Nginx и HAProxy. Доклад содержал множество примеров конфигурации, а также обзор инструментов для мониторинга. Особое внимание Себастьян уделил настройке операционной системы: агрегированию сетевых адаптеров, изменению размера TCP-буфера. Докладчик поделился информацией о том, почему увеличивается производительность соединения с использованием протоколов SPDY и http2. Также был очень познавателен его опыт перехода на SSL и проверки соответствия требованиям безопасности (с помощью https://www.ssllabs.com). Очень интересной была часть про стратегии перехода на другой хостинг для веб-серверов. После этого доклада захотелось поглубже заглянуть в настройки наших серверов и внедрить те идеи и наработки, которыми поделился Себастьян Фельдман.

      Презентация.

      Just married: NodeJs and PHP (Арне Бланкертс)


      Когда Node.js впервые открылся миру в 2009 году, многие заявили, что наступает конец PHP. Тем не менее, около шести лет спустя, обе среды живут и процветают, занимая свои ниши! Но почему бы не объединить лучшее, что есть в обоих языках — это может стать отличным решением для покрытия потребностей следующего поколения веб-приложений. Этот доклад познакомил нас с системной и программной архитектурой, которая сочетает в себе Node.js, PHP и Redis и дает действительно мощный веб-стек для решения современных задач. С помощью такого решения можно создавать приложения с постоянным websocket-соединением, в которых сам сервер посылает клиенту информацию по мере необходимости, при этом не создавая дополнительной нагрузки на сеть — ведь соединение постоянное! Доклад понравился именно тем, что данная тема тесно связана с некоторыми текущими проектами, и было очень познавательно узнать подход именно этого именитого специалиста.

      Презентация.

      Symfony2 лучшие практики из окопов (Стефан Коопмансхап)


      Symfony2 отличный фреймворк и на нем довольно легко создать свое первое приложение. У Symfony хорошая документация, но, как и с любой документацией, в ней сложно описать все нюансы и подводные камни документируемого кода.

      Многие детали и хорошие методики лучше всего познаются при работе над своим проектом. Во время этого доклада Стефан разобрал основные моменты в работе с проектами на Symfony, на которые стоит обратить внимание, поделился с присутствующими знаниями и опытом, добытыми в окопах реальных проектов.

      В обычных условиях разработчикам пришлось бы уворачиваться от таких спорных моментов, как от пуль в Матрице, самим решать, как лучше поступить, пробовать, искать решение.

      Будь то вопрос про подробности конфигурации, о которой вы всегда забывали, или как лучше абстрагировать логику в нужных местах, у Стафана, на всё есть мнение, подкрепленное опытом, и он был рад им поделиться. Например использование внедрения зависимостей, работы с конфигурацией проекта, вынесение бизнес-логики в сервисы, или вопросы стандартизации — спектр рассмотренных вопросов был довольно велик.

      Один из наших проектов, который сейчас находится в разработке, как раз написан с использованием этого фреймворка. Слушая доклад, время от времени ловили себя на мысли, что сами или поступили бы аналогично, или переделали так, как порекомендовал Стефан. Доклад будет интересен начинающим разработчикам, так и тем, кто уже разработал не один проект на Symfony, чтобы еще раз убедиться, что принятые при разработке решения были правильными. Также есть вероятность, что после доклада вы еще раз взглянете на код проекта и поймете, как его можно улучшить.

      Презентация.

      Как управлять утилитами проекта в 2016 (Арне Бланкертс, Себастиан Хойер)


      Сегодня управление зависимостями в PHP проектах осуществляется, в основном, с помощью Composer.

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

      Если бы только был способ автоматизировать это.

      Именно о phive (phar.io), который был создан для решения этой проблемы, и шла речь в докладе. Арне и Себастьян рассказали подробнее про эту утилиту и показали ее в действии. Проект все еще находится в стадии альфа-версии и для установки доступно совсем немного утилит. На данный момент это phpab, phpcpd, phpdox, phploc, phpunit, phpbu. Также возможна загрузка утилит по ссылке или с Github (указав пользователя и имя проекта). Видно. что приложение еще не достигло стабильной версии, но его уже можно пробовать использовать, возможно, сначала для небольших проектов. Идея утилиты довольно интересная, и кто знает, может, через некоторое время мы все будем ею пользоваться.

      Презентация.

      Docker в производстве (Роберт Лемке)


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

      В своем докладе Роберт озвучил основные моменты, на которые стоит обратить внимание при использовании Docker в производстве. А учесть нужно довольно много вещей — мониторинг, развертывание, дебаг, безопасность, бекапы, хранение данных.То есть вопросы, реализация которых может сильно отличаться при развертывании на одном сервере для разработки, и при развертывании в облаке на боевом окружении.

      Также Роберт помог получить более глубокое понимание работы с Docker на практике.

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

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

      Презентация.

      Прокачай свою команду (Стефан Коопмансхап)


      Как технический руководитель проекта, руководитель команды или ментор, в любой момент вы можете столкнуться с тем, что ваша команда остановилась в своем развитии. Причин тому множество: членам вашей команды может не хватать времени, мотивации, средств, желания. Между тем, каждому лиду нужно, чтобы ребята в команде работали эффективно, были способны быстро переключиться на другой проект и оставались вовлеченными в профессиональное комьюнити. Для этого тимлид должен держать руку на пульсе и стремиться не только к высоким показателям по проекту, но и к профессиональному росту каждого члена команды. Как этого добиться, рассказал Стефан Коопмансхап.

      Стефан перечислил все известные инструменты развития команды и привел примеры из личного опыта, как сделать так, чтобы разработчики сами подталкивали себя выкладываться по полной. Конечно, в докладе было много очевидных моментов, но Стефану удалось структурировать все многообразие инструментов работы с командой и создать полноценную “инструкцию”.

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

      Презентация.

      Современное приложение с Angular 2 — аккуратное, простое и понятное (Анас Раза Фирдоуси)


      Современный темп развития веб-технологий требует гибкого и стабильного фреймворка с поддержкой на длительное время. Анас Раза Фирдоуси (Anas Raza Firdous) из PayPal уверен, что именно Angular 2 способен беспрерывно эволюционировать и сможет выдержать испытание временем.

      Свой доклад Анас посвятил преимуществам Angular 2 и продемонстрировал, как думать и проектировать приложения с точки зрения Angular 2, TypeScript и реактивного программирования с RxJS.

      Анас говорил о том, что Angular 2 сочетает в себе простоту в использования Angular 1, но при этом исправляет многие подводные камни и сложности первой версии, рассказал об изменениях в Angular 2 и их причинах. На практическом примере Анас продемонстрировал особенности и некоторые возможности фреймворка, которых достаточно для начала разработки. Также докладчик посоветовал, как изучить Angular 2 более детально.

      Презентация.

      Переводим свой проект на PHP 7 (Джон Когсхолл)


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

      Джон уделил внимание как особенностям новой версии языка, так и нюансам миграции проекта на PHP 7: что нужно знать о PHP 7 для перехода, что изменилось в новой версии, каких проблем можно ожидать при миграции и как их быстро и безболезненно решить.

      Конечно, каждый разработчик может самостоятельно почитать о различиях между версиями и предположить, что и как может сломаться. Однако Джон не ограничился теорией и подкрепил доклад примерами из собственного опыта. Благодаря этому доклад получился ярким и живым.

      Презентация.

      Заключение


      International PHP Conference — это один из ключевых ивентов для PHP-разработчика. Как сказано на сайте конференции, ее основная цель — поделиться практическими ноу-хау в PHP и веб-разработке. Благодаря этой поездке мы не только получили огромное количество новой полезной информации, которая пригодится в работе, но и смогли лично пообщаться с экспертами веб-разработки мирового уровня и получить от них ответы на свои вопросы. Приятным бонусом стали доклады на «околодевелоперские» темы, которые помогли увидеть важные нюансы в работе.

      Комментарии (0)

        This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
        Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

        [Перевод] Что такое большие данные, часть 1

        Как мы тестируем взаимодействие с Facebook

        Вступление

        Привет, хаброжитель! Уже довольно давно я хотел написать статью о том, как у нас в Badoo устроена автоматизация тестирования. Хотелось написать о чем-то интересном и, в то же время, полезном. Поделиться опытом, который можно было бы легко интегрировать почти в любую систему. И вот, такая тема назрела…

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

        Для верификации пользователей у нас существует много различных способов. Некоторые из них довольно привычные, такие, как верификация по номеру телефона. Есть и более необычный — верификация по фотографии. Но самая простая и быстрая — верификация через социальные сети.

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

        Сегодня я расскажу о том, как на Badoo устроена регистрация и верификация через Facebook и о том, как мы научили selenium-тесты ее проверять.

        Итак, представим, что вы — новый пользователь сервиса Badoo. Вы заходите на сайт и видите вот такую форму регистрации. Заполнять все эти поля или кликнуть по кнопочке регистрации через Facebook? Для меня это — никогда не вопрос. Я бы заполнил все поля вручную и не стал бы привязывать свой аккаунт. Почему? Потому что я немного параноик, надеюсь, это не заразно. :)

        На самом деле Badoo никогда не разместит какую-либо информацию из стороннего источника без согласия пользователя, так что спокойно кликаем по темно-синей кнопке и регистрируемся на сайте. Один клик, 10-15 секунд, и у нас есть свой верифицированный профиль на Badoo. Ура!

        Как бы поступил настоящий QA-инженер после того, как создал профиль на сервисе так просто и быстро? Правильно, попробовал бы создать еще один. Как отреагирует сервис, если на тот же FB-аккаунт попробовать зарегистрировать еще один профиль?

        Снова открываем страничку регистрации и кликаем по иконке FB. Ничего неожиданного не произошло, Badoo “узнало” FB-аккаунт и вместо регистрации сразу авторизовало. Все в порядке.

        Первый selenium-тест на регистрацию

        Теперь представим, что вы — QA-инженер в компании Badoo. Перед вами стоит задача — автоматизировать флоу регистрации и авторизации через FB аккаунт. На первый взгляд задача простая, вот что вам понадобится:

        • аккаунт FB;
        • локатор кнопочки FB на странице регистрации;
        • метод, который ждет авторизационную cookie (чтобы убедиться, что тест залогинился на сайте);
        • локатор sign out кнопочки, чтобы разлогиниться;
        • метод, который ждет, когда авторизационная cookie пропадет.

        После того, как были написаны необходимые методы, составляем сценарий:

        • Открыть стартовую страницу;
        • Кликнуть иконку Facebook’а;
        • В открывшейся вкладке авторизоваться на Facebook;
        • Дождаться авторизации на Badoo;
        • Получить id пользователя (пусть будет first_user_id);
        • Разлогиниться;
        • Открыть стартовую страницу;
        • Кликнуть иконку Facebook’a;
        • Дождаться авторизации на Badoo;
        • Получить id пользователя (пусть будет second_user_id);
        • Убедиться, что first_user_id и second_user_id совпадают.

        Итак, сценарий готов, вы запустили тест и он прошел. Все прекрасно. Самое время вставить котика в статью:

        Коммитим код теста в ветку, кидаем задачу на ревью и идем пить кофе. Однако, не успели вы дойти до кухни, как приходит уведомление — задача не прошла ревью, тест не работает. Что-то пошло не так…

        После перезапуска теста становится ясно, что проблема в следующем — у данного FB-аккаунта уже существует профиль на Badoo. Вместо регистрации тест сразу авторизовался. Делать нечего, надо удалять профиль по завершению теста. Слава Богу, у нас есть потрясающая штука — QaApi!

        Несколько лет назад я рассказывал, как она интегрирована с нашими автотестами. Доклад назывался «Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей», найти его можно тут — http://ift.tt/29TJ7UV.

        Если коротко, это внутренний api, на который из теста можно отправить запрос и совершить некоторые манипуляции на стороне приложения. Вызывается он довольно просто:

        QaApiHelper::deleteUser(user_id);
        
        

        Само собой, QaApi умеет работать только с тестовыми пользователями и доступен только через внутреннюю сеть.

        Когда тест научился удалять пользователя за собой, он стал работать стабильно и прекрасно. Но так было не долго.

        Этапы тестирования Badoo

        О том, какие этапы тестирования существуют в нашей компании, мы рассказываем практически на каждой конференции. Здесь я перечислю коротко те, которые интересны с точки зрения selenium-тестов:

        • Тестирование на девел-окружении. Девел — это копия продакшена со своими базами и внутренними сервисами.
        • Тестирование на шоте. Шот — это продакшен-окружение, доступное из внутренней сети по определенному урлу и являющееся мержем кода мастера и тестируемой задачи.
        • Тестирование на стейджинге. Стейджинг, традиционно — это результат мержа ветки релиза и мастера.
        • Тестирование на продакшене.

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

        Второй selenium-тест на регистрацию

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

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

        Как решить нашу проблему? Как сделать так, чтобы у теста всегда был свежий пользователь FB?

        Сначала я попытался решить проблему минимально просто. Создал mysql-табличку, в которую внес несколько созданных руками FB-пользователей и проставил им статусы — свободны. Тест брал пользователя из этой таблички, меняя ему статус на “занят”. Если свободного пользователя не было, тест падал с соответствующим сообщением.

        У этой системы было несколько очевидных минусов. Прежде всего, если одновременно запускалось слишком много инстансов теста, аккаунтов не хватало и взять их было неоткуда. Также тест мог по какой-то причине не освободить пользователя в конце (например если он был остановлен нажатием “Ctrl+C”). Ничто из этого не радовало по утрам, когда до релиза оставалось меньше часа.

        Довольно быстро устав от нестабильных падений и неконтролируемых состояний FB-аккаунтов, я начал искать решение получше…

        The Graph API

        У Facebook есть замечательный api, который позволяет создавать тестовых пользователей и манипулировать ими — http://ift.tt/1tggd1T. Организована она довольно просто: мы формируем необходимый запрос и посылаем его на сервер FB, ответ возвращается в формате json.

        Пример запроса, который зарегистрирует тестового пользователя с именем Alex:

        http://ift.tt/29D2AVX}

        Application id и secret мы получаем, регистрируя наше приложение на FB (подробнее тут — http://ift.tt/29D3amo).

        Настоящий пул Facebook пользователей

        Что ж, давайте создавать пользователей! :)

        Внимательно изучив graph-api и его особенности, мы составили список нюансов:

        • Количество регистраций на одно приложение ограничено. Цитата: “Для каждого приложения можно создать не более 2000 тестовых пользователей.”.
          Вывод: нужно вести учет созданных пользователей.
        • Только что созданный тестовый пользователь может взаимодействовать только с единственным приложением. В данном случае приложение — это домен, на котором разместился сервис. В Badoo стейджинг и шоты находятся на разных доменах.
          Вывод: ведя учет пользователей, необходимо их разделять по app id.
        • Пользователь регистрируется довольно медленно. В среднем от 2 до 5 секунд.
          Вывод: удобнее иметь заранее созданного пользователя FB, чтобы тест не тратил время на его создание.
        • Тест должен иметь дело с тем аккаунтом, который наверняка не используется в каком-то еще тесте, чтобы избежать флуктуационных race condition.
          Данный пункт важен в рамках описываемого здесь теста.

        Итого: было бы круто иметь кастомный пул пользователей FB, который соответствовал бы нашим “хотелкам”. По сути это должна быть табличка, которая будет содержать следующую информацию:

        • Id пользователя;
        • Email;
        • Password;
        • App id;
        • App Secret;
        • Состояние пользователя — занят тестом или нет;
        • Timestamp создания пользователя.

        В дополнение к этой табличке нам понадобилось несколько скриптов.

        Первый ищет в нашем пуле пользователей, которые заняты более N минут и помечает их как свободных. Это сделано для того, чтобы пользователей можно было использовать не только в тесте (где можно прописать гарантированный анлок пользователя по завершении работы), но и для ручного тестирования.

        Второй решает проблему долгого создания пользователя на стороне facebook. Выглядит это следующим образом:

        Получение FB-пользователя мы обернули в специальный QaApi метод. Тест обращается к нему за свободным пользователем. Если такого нет, создается специальное задание. В рамках этого задания скрипт посылает curl-запрос к graph-api, дожидается ответа и записывает в табличку нового пользователя. Тест же получает ответ — “необходимо подождать”, закрывает коннект и делает еще одну попытку спустя несколько секунд. Таким образом мы решили две проблемы. Во-первых, логика работы с graph-api отделена от логики тестов. Во-вторых, тесты не держат долгие коннекты к сторонним сервисам, что существенно облегчает дебаг любых проблем, связанных с увеличением времени прохождения тестов.

        Далее мы переписали необходимые тесты на новую систему получения FB аккаунтов и оставили тесты гоняться на ночь с нашем CI-сервером (мы используем Teamcity). К утру результат был готов. Создалось ровно столько пользователей, сколько было необходимо для использования в тестах.

        У пула есть довольно удобный интерфейс методов. Он позволяет в любой момент времени получать соотношение свободных пользователей к общему на каждое приложение, получать количество созданных пользователей по дате. Это помогает контролировать равновесие пула при добавлении нового теста, использующего FB-аккаунты.

        А есть ли такой удобный API у других социальных сетей?

        Я интересовался у ребят из ВКонтакте:

        И у ребят из Одноклассников:

        Итог

        На данный момент пул является неотъемлемой частью нашей системы. Вокруг него появились новые скрипты и новые методы. Благодаря гибкости и простоте систему удобно развивать и контролировать.

        Немного о том, что получилось в итоге:

        • Удобный инструмент для ручного и автоматизированного взаимодействия Badoo с Facebook;
        • Более 20 уникальных тестов, использующих пул facebook-аккаунтов: регистрация/авторизация, верификация, загрузка фотографий с FB-аккаунта, поиск друзей на Badoo, шаринг наград и так далее;
        • В пуле 9 различных приложений, использующих в общей сложности примерно 1.5к активных пользователей;
        • QaApi-методы умеют создавать FB-аккаунты, делать их друзьями, заливать им фотографию, ассоциировать FB-аккаунты с нашими тестовыми пользователями;
        • Система сама поддерживает необходимое количество FB-аккаунтов и чаще всего не требует никакого ручного вмешательства.

        За более чем год использования api работал стабильно. Всего раз возникла проблема с токенами пользователей, но разработчики facebook пофиксили ее довольно быстро. Кому интересно подробнее — http://ift.tt/29D2EoC.

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

        Спасибо за внимание!

        Котов Виталий, QA-инженер по автоматизации.

        Комментарии (0)

          This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
          Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

          [Перевод] Лучшие пакеты для машинного обучения в R, часть 1

          Один из наиболее частых вопросов, с которыми сталкиваются специалисты по обработке и анализу данных — «Какой язык программирования лучше всего использовать для решения задач, связанных с машинным обучением?» Ответ на этот вопрос всегда приводит к сложному выбору между R, Python и MATLAB. Вообще говоря, никто не может дать объективный ответ, какой же язык программирования лучше. Конечно, язык, который вы выбираете для машинного обучения, зависит от ограничений конкретной задачи и данных, предпочтений самого специалиста и тех методов машинного обучения, которые нужно будет применить. Согласно опросу о любимом инструменте пользователей Kaggle для решения задач анализа данных R предпочитают 543 из 1714.

          Сейчас в CRAN доступен 8341 пакет. Кроме CRAN, есть и другие репозитории с большим количеством пакетов. Синтаксис для установки любого из них прост: install.packages(“Name_Of_R_Package”).

          Вот несколько пакетов, без которых вы вряд ли обойдетесь, как специалист по анализу данных: dplyr, ggplot2, reshape2. Безусловно, это не полный список. В этой статье мы подробнее остановимся на пакетах, применяемых в машинном обучении.

          1. Пакет MICE — позаботиться о пропущенных значениях


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

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

          Давайте рассмотрим пример использования MICE.

          dataset <- data.frame(var1=rnorm(20,0,1), var2=rnorm(20,5,1))
              dataset[c(2,5,7,10),1] <- NA
              dataset[c(4,8,19),2] <- NA
              summary(dataset)
          
          

          image

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

              install.pckages(“mice”)
              require(mice)
              dataset2 <- mice(dataset)
              dataset2<-complete(dataset2)
              summary(dataset2)
          
          

          image

          В примере по MICE мы использовали значения по умолчанию, но вы можете почитать о каждом из параметров и изменить их в соответствии с вашими требованиями.

          2. Пакет rpart: давайте разделим данные


          Пакет rpart в языке R используется для построения классификационных и регрессионных моделей с применением двухшаговой процедуры, а результат представляется в виде бинарных деревьев. Самый простой способ построить регрессионное или классификационное дерево с применением rpart — вызвать функцию plot(). Сама по себе функция plot() может не дать достаточно красивый результат, поэтому есть альтернатива — prp() — мощная и гибкая функция. prp() в пакете rpart.plot часто называют настоящим швейцарским ножом для построения регрессионных деревьев.

          Функция rpart() позволяет установить отношение между зависимой и независимыми переменными, чтобы показать дисперсию зависимой переменной на основании независимых. Например, если компания, предоставляющая онлайн-обучение, хочет узнать, как на их продажи (зависимая переменная) влияет продвижение в соц.сетях, газетах, реферальных ссылках, по сарафанному радио, т.д., в rpart есть несколько функций, которые могут помочь с анализом этого явления.

          rpart — аббревиатура, которая расшифровывается, как Recursive Partitioning and Regression Trees (рекурсивное разбиение и регрессионные деревья). С помощью rpart можно применять как регрессию, так и классификацию. Если говорить о синтаксисе, то он довольно простой:

          rpart(formula, data=, method=,control=)
          
          
          Здесь formula содержит комбинацию зависимых и независимых переменных; data — название массива данных, method зависит от цели, т.е. для классификационного дерева это будет class; control зависит от ваших требований, например, нужно, чтобы переменная с минимальным значением разделяла вершины.

          Давайте рассмотрим массив данных iris, который выглядит так:
          image
          Допустим, наша цель — прогнозировать Species по дереву решений; это можно реализовать одной строчкой кода:

              rpart_tree <- rpart(formula = Species~., data=iris, method = ‘class’)
              summary(rpart_tree)
              plot(rpart_tree)
          
          
          Вот как выглядит построенное дерево:

          image

          Здесь можно увидеть разделение разных вершин и прогнозируемый класс.

          Чтобы прогнозировать на основании нового массива данных, можно воспользоваться простой функцией predict(tree_name,new_data), которая выдаст прогнозируемые классы в качестве результата.

          3. PARTY: давайте снова разделим данные


          Пакет PARTY в R используется для рекурсивного разделения и отображает непрерывное улучшение ансамблевых методов. PARTY — еще один пакет для построения деревьев решений на основании алгоритма условного умозаключения. ctree() — главная функция пакета PARTY, она имеет широкое применение и сокращает время на обучение и возможные отклонения.

          PARTY имеет синтаксис, схожий с другими функциями прогнозной аналитики в R, т.е.

          ctree(formula,data)
          
          
          Функция построит дерево решений, взяв значения по умолчанию для многочисленных аргументов, их при необходимости можно изменить.

          Давайте построим дерево, воспользовавшись тем же примером, что и выше.

              party_tree <- ctree(formula=Species~. , data = iris)
              plot(party_tree)
          
          

          Вот как будет выглядеть построенное дерево:
          image
          В этом пакете также есть функция прогнозирования, ее хорошо использовать для прогнозирования классов по новым входным данным.

          4. CARET: Classification And REgression Training (классификация и регрессионное обучение)


          Пакет CARET — Classification And REgression Training (классификация и регрессионное обучение) — разработан для комбинирования моделей обучения и прогнозирования. В пакете есть несколько алгоритмов, подходящих для разных задач. Специалист по анализу данных не всегда может точно сказать, какой алгоритм лучше для решения той или иной задачи. Пакет CARET позволяет подобрать оптимальные параметры для алгоритма с помощью контролируемых экспериментов. Метод перекрестного поиска, реализованный в этом пакете, ищет параметры, комбинируя различные методы оценки производительности модели. После перебора всех возможных комбинаций метод перекрестного поиска находит комбинацию, которая дает наилучшие результаты.

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

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

          После установки пакета CARET можно выполнить names(getModelInfo()) и увидеть список из 217 доступных методов.

          Чтобы строить модели прогнозирования, CARET использует функцию train(). Ее синтаксис выглядит так:

          train(formula, data, method)
          
          
          Здесь method — модель прогнозирования, которую вы пытаетесь построить. Давайте воспользуемся массивом данных iris и линейной регрессионной моделью для предсказания Sepal.Length.
              Lm_model <- train(Sepal.Length~Sepal.Width + Petal.Length + Petal.Width, data=iris, method = “lm”)
              summary(lm_model)
          
          

          image

          Пакет CARET не только строит модели, но и разбивает данные на тестовые и обучающие, производит необходимые преобразования и т.д.

          Короче говоря, это обязательный к использованию пакет R, который удовлетворит все ваши требования к построению моделей прогнозирования.

          Комментарии (0)

            This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
            Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

            Свободный формат Lepton сжимает файлы JPEG на 22% без потерь

            Ученые опять «ломают голову»: Возможен ли апгрейд мозга и что стоит от него ожидать

            / фото A Health Blog CC

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

            Но наглотавшись ноотропов, проведя часы за развивающими играми и не почувствовав себя Эдди Морра, люди приходят к выводу, что идея все-таки – миф. Существенно «разогнать» мозг не получится. Но что будет, если провести его апгрейд, и стоит ли вообще его затевать?

            Ученые пока не добились успеха в пересадке мозга или его частей, зато им есть чем похвастаться в области передачи нервных импульсов. В 2013 году они установили связь между мозгами двух лабораторных крыс, одна из которых умела дергать рычаг за вознаграждение, а другая – нет.

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

            В 2014 году мозг пациентки, страдающей боковым амиотрофическим склерозом, буквально подключили к планшету Nexus 9 с помощью системы BrainGate. Врачи подсоединили массив из 100 электродов к части левого полушария мозга, отвечающей за движение.

            Благодаря этому, парализованная женщина может перемещать курсор по экрану и делать клики «виртуальным пальцем», что позволяет ей почти полноценно пользоваться планшетом. Интерфейс BrainGate связан с Nexus 9 c помощью Bluetooth и определяется как мышь. Разработчики в данный момент пытаются реализовать возможности мультитача.

            Мозг-компьютер: самые безумные предположения ученых


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

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

            Футуролог Михаил Анисимов считает, что науке нужно пройти три шага, прежде чем создание сверхразума станет возможным. Сначала необходимо научиться подключать мозг человека к внешним источникам информации. Образно выражаясь, «открыть доступ к гуглу» на телепатическом уровне.

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

            Создавая подобные интерфейсы с другими частями мозга, можно развить тактильные ощущения, слух и другие органы чувств. Наконец-то не придется доставать гаджет и запускать Shazam, когда играет классная песня – ее название будет понятно на интуитивном уровне.

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

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

            Суровая реальность


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

            Люди всегда пытались найти объяснение работы нашего сознания и интеллекта. Самое древнее обоснование – религиозное: бог создал человека из глины и вселил в него свой дух, который и является сознанием.

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

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

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

            В основе теории лежат две объективные предпосылки:

            • Компьютеры могут вести себя разумно;
            • Компьютеры – информационные процессоры.

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

            Эпштейн любит проводить следующий эксперимент. Он просить студента нарисовать на доске долларовую купюру «по памяти». После этого он закрывает получившееся изображение и предлагает студенту нарисовать купюры с натуры. Оба рисунка сравниваются, и становится видно, что первый рисунок гораздо менее детализирован, чем второй.

            Рисунок долларовой купюры, выполненный “по памяти”

            Рисунок долларовой купюры с натуры

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

            Как именно изменяется структура мозга, никто из ученых сказать не может. Для каждого человека характерен абсолютно уникальный набор нейронов в головном мозге, который иногда называют «отпечатками мозга» (brain fingerprints). Каждое событие в его жизни изменяет этот набор неизвестным нам образом.

            Таким образом, чтобы «познакомить» мозг с компьютером, необходимо выучить язык мозга, состоящий из непредсказуемых комбинаций миллиардов нейронов, триллионов связей между ними и множества состояний более 1000 белков, обеспечивающих эти связи. Все эти характеристики индивидуальны для каждого человека, и их необходимо интерпретировать в понятной для компьютера форме.

            Нужно подсоединить к мозгу миллионы электродов, при этом не факт, что с их помощью удастся декодировать информацию мозга. Напомним, что у пациентки, использующей BrainGate, в мозге присутствуют лишь 100 электродов, а максимальное количество каналов, подсоединенных к мозгу, на сегодняшний день составляет 1000.

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

            Уже имеются прецеденты подобных исследований, однако, неудачные. Генри Маркрам планировал создать полную топологию мозга с помощью суперкомпьютера к 2023 году. Его проект был профинансирован Евросоюзом на сумму 1,3 миллиардов долларов, однако вскоре после начала проект был закрыт из-за своей «мозголомности».

            Довольный Эдди Морра в фильме «Области тьмы»

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

            Как говорит президент международного сообщества исследования интеллекта Ричард Хайер: «Если бы на рынке продавалась работающая «панацея для ума», то я бы первый побежал за ней».

            Пара дополнительных материалов из нашего блога:

            Комментарии (0)

              This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
              Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

              Проверяем исходный код FlashDevelop с помощью PVS-Studio

              Особенности выбора твердотельных накопителей (SSD) для серверов и RAID-массивов

              Как и было обещано в публикации «Целесообразность и преимущества применения серверных накопителей, построение RAID-массивов, стоит ли экономить и когда?», остановимся более подробно на проблеме выбора твердотельных накопителей. Но в начале немного теории.

              Твердотельные накопители (Solid State Drives, SSD) — накопители, ориентированные на обеспечение минимальной latency (задержки до начала непосредственно операции чтения или записи) и большого количества IOPS (Input/Output Operations per Second, операций ввода/вывода в секунду). Выбирая SSD пользователь ориентируется прежде всего на то, на сколько быстрым будет накопитель для решения его задачи и на сколько надежным будет хранение данных на нем.

              Твердотельные накопители состоят из NAND-микросхем, которые образуют массив памяти, они лишены недостатков HDD-дисков, так как нет движущихся частей и механического износа, за счет чего и достигается высокая производительность и минимальная latency (в жестких дисках основная задержка связана с позиционированием головки). Каждая ячейка памяти может быть перезаписана определенное количество раз. Операции чтения не оказывают влияния на износ SSD. В основном применяют три основных типа чипов NAND: SLC (Single Level Cell), MLC (Multi Level Cell) и TLC (Three Level Cell) — чипы с одноуровневыми, многоуровневыми и трехуровнивыми ячейками. Соответственно ячейки в SLC могут использовать два значения напряжения 0 или 1 (могут хранить 1 бит информации), в MLC 00, 01, 10 или 11 (хранят 2 бита информации), в TLC 000, 001, 010, 011, 100, 101, 110 или 111 (хранят 3 бита). Становится понятно, что чем больше значений может принимать ячейка, тем больше увеличивается вероятность некорректного считывания этого значения, тем больше времени требуется на коррекцию ошибок, тем больше информации может хранить накопитель. Именно по этой причине TLC требует большего объема ECC (Error Correction Code). В то же время, количество циклов перезаписи падает с увеличением плотности хранения информации и максимально в SLC и потому эта память самая быстрая, так как считывать одно из двух значений гораздо проще.

              Теперь немного об особенностях самих микросхем. Память NAND, в отличии от NOR, применяемой во флешках, является более экономически выгодной и имеет ряд преимуществ и недостатков. Преимущества заключаются в гораздо большей емкости массива, возможности более эффективного последовательного чтения. Недостатки заключены в режиме постраничного доступа, отсутствии случайного доступа к данным, появлении дополнительных ошибок за счет большой плотности записи данных в ячейки. Каждая NAND-микросхема разделена на блоки 512 или 256 КБ, те же в свою очередь на страницы размером 4КБ. Возможно осуществлять чтение с отдельных страниц и запись, при условии, что они пусты. Однако, как только информация была помещена, ее невозможно перезаписать, пока не будет стерт весь блок страниц. В этом и состоит основной недостаток, оказывающий огромное влияние на эффективность записи и износ накопителя, так как NAND-микросхема имеет ограниченное количество циклов перезаписи. Для обеспечения равномерного износа всех ячеек, равномерной утилизации накопителя, контроллер перемещает записываемые данные с места на место при записи, тем самым увеличивая влияние WAF (Write Amplification Factor) на работу SSD, благодаря которому количество действительно записываемой информации гораздо больше, нежели логической, записываемой пользователем, в следствии чего уменьшается показатель случайного чтения. По сути данные перемещаются с места на место более одного раза, так как информация в памяти должна быть стерта перед повторной записью и чем более эффективно реализован алгоритм WAF, тем дольше проживет накопитель.

              Технология Over-Provisioning позволяет оптимизировать основной недостаток, связанный с записью / перезаписью и улучшить производительность, увеличить срок жизни накопителя. Она заключается в том, что на каждом из накопителей выделяется область, недоступная для пользователя, которую использует контроллер для перемещения данных, тем самым выравнивая показатели износа ячеек, так как для стирания ячейки 4КБ требуется стереть всю строку ячеек (на 256 или 512 КБ), что логичнее выполнять в фоновом режиме, используя для записи в первую очередь неразмеченную область. Легко понять, что чем больше область ОР, тем проще контроллеру будет выполнять возложенные на него функции, тем меньше будет WAF и эффективнее будет случайная запись и случайное чтение. Производитель закладывает под ОР от 7% до 50% от объема накопителя, за счет чего значительно увеличивается скорость записи, что видно с графиков, представленных ниже (ОР 0%, 12%, 25%, 50%).




              Как видим из графиков, производительность значительно повышается уже при ОР 25% и выше. Большинство производителей SSD позволяют управлять этим параметрам, у того же Samsung есть полезная утилита для этих целей:

              В чем же отличие серверного и desktop-накопителя? Самое важное отличие заключается в том, насколько эффективна работа с операциями записи в непрерывном режиме, а это, в основном, определяется типом чипа, применяемыми алгоритмами и областью Over-Provisioning, которая выделена производителем. К примеру для Intel 320 серии Over-Provisioning составляет 8% от емкости его микросхем, а для Intel 710, накопителя вроде бы как с идентичным типом чипа — 42%. Более того, Intel рекомендует еще минимум 20% оставить неразмеченными при создании раздела, чтоб они также автоматически могли быть использованы под Over-Provisioning, даже на серверных накопителях, где уже выделено 42%. Это удлинит срок жизни накопителя до 3-х раз, так как уменьшится WAF, и повысит производительность записи до 75%.

              Но чем же принципиально отличаются декстопные накопители от серверных? Возьмем для примера накопители Intel 320 и 520 — хорошие десктопные твердотельные накопители, в последнем применена «хитрость» в виде контроллера LSI SandForce, который сжимает записываемые данные и передает их на накопитель уже в сжатом виде, таким образом увеличивая скорость записи. И сравним их с серверным накопителем Intel 710 серии.

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

              http://ift.tt/29J0KWl — cмотрим и видим, что:

              Случайное чтение (участок 8 ГБ) — 38000 IOPS
              Случайное чтение (участок 100%) — 38000 IOPS
              Случайная запись (участок 8 ГБ) — 14000 IOPS
              Случайная запись (участок 100%) — 400 IOPS

              То есть, если мы занимаем на нашем SSD-накопителе на 120 ГБ всего лишь 8, отводя более 90% емкости под Over-Provisioning, то показатели случайной записи довольно хороши и составляют 14 KIOPS, если же мы используем все пространство — всего лишь 400 IOPS на случайную запись, производительность падает в 35 раз и оказывается на уровне пары хороших SAS-дисков!

              Теперь рассмотрим http://ift.tt/2aeVbOh, как видим, что даже при 100% заполнении доступной емкости, скорость на запись довольно прилична — 2700 IOPS, а при наличии 20% от емкости под Over-Provisioning возрастает до 4000 IOPS. Это следствие немного, но все же другой памяти, с High Endurance Technology (HET), если по-простому — это применение отборной памяти. Также применяется иная прошивка с другим алгоритмом записи, которая позволяет снизить количество ошибок и продлить жизнь накопителя. И что очень важно — используется иной алгоритм очистки свободного пространства. За счет этого производительность поддерживается при НЕПРЕРЫВНОЙ работе практически всегда на достойном уровне, на диске постоянно проходит фоновая очистка и оптимизация распределения данных. В десктопном же Intel 320 — она может несколько падать при непрерывной работе, так как процессы очистки идут не постоянно.

              Вывод — десктопный диск будет жить довольно долго на небольших объемах данных и по скорости может обеспечить довольно хорошие результаты в случае наличия большого пространства под Over-Provisioning. Когда это выгодно? Допустим есть база данных, та же 1С, к которой требуется доступ 10-20 пользователям. База имеет объем 4 ГБ. Более 90% емкости накопителя отводим под Over-Provisioning и размечаем только необходимое, с небольшим запасом, скажем, 8 ГБ. В результате имеем довольно хорошую производительность и экономичность решения с очень хорошим показателем надежности. Конечно, в случае 40-50 пользователей 1С, все же лучше будет использовать серверный накопитель, так как при непрерывной нагрузке показатели все же будут падать у десктопного SSD.

              Теперь остановимся более подробно на накопителях с контроллерами типа SandForce. Просмотрев характеристики http://ift.tt/XIwCew, приходим к выводу, что Intel 520 — очень хороший вариант в случае компрессируемых данных, обеспечивает до 80 000 IOPS на запись, однако в случае несжимаемых данных, таких, как видео, показатели падают значительно — до 13 KIOPS и менее. Помимо прочего, в небольшой сноске (под номером 2) указано, что такие фантастические скорости на запись (80 KIOPS) достижимы только в случаях, когда размечено только 8 ГБ, что в случае 180-гигабайтного накопителя составляет всего лишь порядка 3% его емкости, остальное отводится под Over-Provisioning, в результате опять же можно сделать вывод, что этот диск будет хорошо работать с небольшими базами данными и текстовыми файлами, а в случае необходимости быстрой записи несжимаемых данных, таких, как видео — все же лучше использовать полноценные серверные накопители.

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

              Справедливо будет поговорить и о накопителях от других популярных производителей — Seagate и Kingston. Чем они отличаются? Seagate Pulsar, в отличии от рассматриваемых накопителей выше, имеет интерфейс SAS, а не SATA и это является его основным преимуществом. У твердотельных накопителей с интерфейсом SATA есть контроллер сохранности данных на накопителе, есть контроллер сохранности данных на самом контроллере, но вот то, что происходит с данными на этапе их передачи, отслеживается недостаточно хорошо. Интерфейс SAS решает эту проблему и полноценно контролирует канал передачи и в случае какой-то ошибки из-за той же наводки — исправит ее, SATA-интерфейс — нет. Кроме того, тут используются преимущества надежности самого интерфейса SAS, когда вместо 512 пишется 520 байт, вместе с 8 байтами четности. Помимо прочего можем использовать преимущества дуплекса SAS-интерфейса, но где это может быть использовано — лучше будет осветить в отдельной публикации.

              Что же касается серии накопителей Kingston — это не только надежные накопители, но и весьма производительные. До недавнего времени их серверная серия была одной из самых быстрых, пока на рынке не появился Intel 3700. При этом цена на эти накопители довольно приятна, соотношение цена / производительность / надежность, является, пожалуй, наиболее оптимальными. Именно по этой причине в «новой» нашей линейке серверов в Нидерландах, с которыми мы начали распродажу, мы предложили именно эти накопители, обеспечив тем самым довольно интересное ценовое предложение, в результате которого, серверов c этими накопителями, осталось совсем немного:

              В этих накопителях 8 чипов по 32 ГБ, образуют суммарный объем в 256 ГБ, около 7% емкости выделено под Over-Provisioning, чистая квота одного накопителя выходит равной 240 ГБ. SandForce контроллер оказывает положительное влияние на прирост производительности в случае работы с компрессируемыми данными, а именно базами данных и зачастую удовлетворяет потребности в IOPS для 95% наших клиентов. В случае же некомпрессируемых данных или данных с большой энтропией, таких как видео, пользователи в основном используют его больше для раздачи контента, нежели для записи, а на чтение производительность не падает столь значительно, что также удовлетворяет потребности большинства пользователей, а если требуется обеспечить большую производительность на запись — достаточно увеличить Over-Provisioning. Как видно из графика, прирост производительности для данных с нулевой компрессией (энтропия 100%) при росте Over-Provisioning, максимальный:

              Стоит отметить еще честность производителя, тесты очень консервативны. И зачастую реальные результаты оказывались выше гарантируемых на 10-15%.

              А для тех, кто нуждается в большей емкости, мы приготовили спец. предложение:


              Трафик можно увеличить, также, как и канал, апгрейды доступны по очень приятным ценам:

              1 Gbps 150TB — +$99.00
              1 Gbps Unmetered — +$231.00
              2 Gbps Unmetered — +$491.00

              Что же касается использования твердотельных накопителей в RAID-массивах, не будем повторятся об особенностях их использования в RAID, существует волшебная авторская статья amarao, которую я рекомендую к прочтению SSD + raid0 — не всё так просто и которая поможет сформировать полноценное понимание. В этой же статье расскажу немного о SSD-накопителях с интерфейсом PCI-Express, в котором уже используется встроенный RAID-контроллер. В случае задачи построения очень быстрого решения, скажем, для нагруженной биллинговой системы, такие накопители незаменимы, так как способны обеспечить сотню KIOPS на запись и более, а также, что очень важно, очень низкую латентность. Если латентность большинства твердотельных накопителей находится в пределах 65 микросекунд, что в 10-40 раз лучше показателей латентности жестких дисков, то у топовых SSD PCI-Express достигаются значения 25 микросекунд и менее, то есть практически скорость RAM. Конечно, за счет самого интерфейса PCI-Express идет снижение быстродействия, по сравнению с RAM, тем не менее, в скором времени ожидаются заметные улучшения в плане латентности.

              Емкость накопителя с интерфейсом PCI-Express набирается «банками памяти», на плате уже имеется SandForce чип, а также аппаратный RAID-контроллер. То есть это уже зеркало со скоростью реакции 25 микросекунд со скоростью записи более 100 KIOPS, которое имеет очень высокую надежность. Эффективная емкость таких накопителей, как правило невелика и может составлять 100ГБ. Цена — также довольно внушительна (7000-14000 евро). Но в случае, как уже отмечалось, нагруженных биллинговых систем, совсем нагруженных баз данных, а также с целью быстрого формирования бухгалтерских отчетов 1С в крупных компаниях (скорость построения возрастает почти на 2 порядка, в 100 раз быстрее) — такие решения незаменимы.

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

              Комментарии (0)

                This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
                Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

                Добавляем произвольный телефон в личном кабинете оператора мобильной связи Киевстар (Украина)

                IoT-хакатон Mail.Ru Group и Intel 30–31 июля: теперь с сетями 6LoWPAN и LoRa

                Две недели назад мы уже приглашали всех желающих принять участие в хакатоне по теме «Интернета вещей», который пройдёт 30-31 июля в московском офисе Mail.ru Group — и научиться работать с такими современными IoT-платформами, как микрокомпьютеры Intel Edison и СУБД Tarantool.

                С того момента мы получили множество заявок и описаний будущих проектов — от вполне конкретизированных до «сделаю что-нибудь крутое». Авторы многих из них планировали построить прототипы целых распределённых систем сбора и обработки данных — то есть, в общем, реализовать самые настоящие IoT-проекты с областью применения от «умного дома» до количественного земледелия.

                Поэтому мы решили расширить круг оборудования, которое будет доступно участникам хакатона — и теперь в него войдут комплекты беспроводных модулей сети 6LoWPAN разработки компании Unwired Devices, которые в сочетании с Tarantool и Edison позволят осуществить всё, что бы ни задумали участники.

                Итого, участникам хакатона будут доступны технологии:

                • Набор датчиков и управляющих устройств Unwired Devices для сети 6LoWPAN
                • Шлюз между 6LoWPAN и Wi-Fi на базе микрокомпьютера Intel Edison
                • Работающая на шлюзе СУБД Tarantool, обеспечивающая обработку и надёжную репликацию данных

                Более того, хакатон посетят и представители венчурного инвестора — фонда CommIT Capital, принадлежащего компании «Ростелеком».

                Подавайте заявки и приходите!

                P.S. Что именно будет входить в наборы — под катом.

                6LoWPAN — это одна из новейших сетевых технологий, разработанная специально для «Интернета вещей»; по сути, IPv6, адаптированный для физического уровня 802.15.4 — который, в свою очередь, адаптирован для низкоскоростных беспроводных сетей с небольшим размером типичного пакета данных и очень большим количеством устройств.

                Кроме этого, на хакатоне будут представлены и модули связи для сетей LoRa (модель Unwired Range) — с радиусом действия до 30 км (прописью: тридцати километров) в прямой видимости, а также некоторые промышленные решения на базе этих технологий. Впрочем, с точки зрения работы с Tarantool большой разницы между LoRa и 6LoWPAN нет — Unwired Range и Unwired Mesh совместимы как по разъёмам, так и по API верхнего уровня, поэтому, отработав проект на одном типе модулей, можно без большого труда перенести его на другой.

                С полным списком модулей комплекта Unwired Kit можно ознакомиться на сайте компании. Модули, входящие в стандартный набор для хакатона, перечислены ниже — но если мы увидим интересные проекты, для которых могут быть полезны иные модули или даже целые устройства, мы постараемся также их предоставить.

                UMDK-EDISON

                Модуль шлюза из сетей LoRa и 6LoWPAN в Wi-Fi. Благодаря высокой производительности и объёму памяти Intel Edison, это не просто транслятор пакетов между двумя различными средами — а полноценный сервер для обработки данных, полученных из IoT-сети, и управления ею. На Edison будет установлена СУБД Tarantool, делающая решение этих задач ещё проще и эффективнее.

                Помимо собственно Edison, на модуле стоят двунаправленные трансляторы логических уровней TI TXB0108 и TXB0102 (GPIO Edison работают с 1,8 В, остальные модули набора — с 3,3 В), а наружу дополнительно выведены 8 GPIO и порт USB.

                UMDK-RF/868

                Радиомодуль сети 6LoWPAN для безлицензионного диапазона 868-869 МГц, использующий новейшее поколение чипов TI SimpleLink — CC1310. Дальность работы — до 200 метров в прямой видимости на полной скорости (50 кбит/с). К каждому радиомодулю можно подключить один или несколько датчиков и исполнительных устройств — сделанных как в собственном формате Unwired Kit, так и в формате Grove Starter Kit Plus.

                UMDK-JTAG

                Программатор с поддержкой JTAG (для модулей LoRa) и UART-загрузчика (для модулей 6LoWPAN). Позволяет быстро обновлять прошивки модулей — например, собрать из двух разных комплектов один большой, сменить радиодиапазон или добавить в прошивку готовый блок для поддержки нужного датчика при желании скомбинировать несколько датчиков на одном радиомодуле.

                UMDK-THP

                Высокоточный цифровой датчик температуры, влажности и барометрического давления — на базе чипов Sensirion SHT21 и STMicro LPS331AP. Пригодится как в «умном доме», так и, например, в поддержании климата в теплице.

                UMDK-LIT

                Высокоточный цифровой датчик внешней освещённости — на базе чипа TI OPT3001 с кривой чувствительности, соответствующей человеческому глазу. Отлично подходит для систем автоматической регулировки яркости освещения.

                UMDK-SOIL

                Емкостной высокочастотный датчик влажности и поверхностной температуры почвы. Не имеет электрического контакта с почвой, а потому, в отличие от распространённых датчиков электропроводности почвы, не подвержен коррозии. Рабочая частота 50 МГц позволяет минимизировать зависимость показаний датчика от солевого состава почвы.

                UMDK-2AA

                Модуль автономного питания с двумя батарейками формата «АА». Обеспечивает напряжение 5 В и позволяет включать модули UMDK-RF с датчиками вдали от розетки (если же розетка близко — UMDK-RF можно питать от любого зарядного устройства с разъёмом microUSB).

                UMDK-2RDC

                Два обычных реле постоянного тока. Используются высококачественные реле Omron G6D, рассчитанные на 5 А при 250 В переменного тока. Впрочем, если вам требуется коммутировать действительно мощную нагрузку — лучше выбрать модуль UMDK-1RAC со специальной схемой, устраняющей искрение контактов реле и снижающей пусковые токи.

                UMDK-GRV

                Модуль-переходник на датчики из набора Grove Starter Kit. Поддерживается большинство датчиков, способных работать от напряжения 3,3 В. Кроме того, к этому же модулю подключаются выносные датчики Unwired Devices — UMDK-ACC/T и UMDK-SOIL.

                UMDK-ACC/T

                Выносной датчик вибрации (гироакселерометр ST LSM6DS3) и поверхностной температуры (NXP LM75AD). Крайне полезен в задачах мониторинга состояния промышленного оборудования — например, по повышению температуры или амплитуды вибраций можно прогнозировать скорый отказ станка и планировать его обслуживание до того, как этот отказ случится.

                O Tarantool

                Tarantool — это универсальная IoT-платформа, которая представляет собой СУБД общего назначения с сервером приложений внутри. Tarantool предназначен для работы как на IoT-устройствах, так и в облаке, обеспечивая надежную синхронизацию между ними в обе стороны. Основная отличительная особенность Tarantool — то, что он очень нетребователен к ресурсам. Может работать на одном ядре процессора, даже очень медленном. Может работать начиная с нескольких мегабайтов памяти. Может хранить данные на медленном и ненадежном флеше, не убивая его при этом постоянными перезаписями (потому что Tarantool их вообще не делает). При этом он надежно сохраняет каждую транзакцию на диск или флеш.

                Разрабатывая с использованием Tarantool как локальной платформы на IoT-устройствах, вы получаете одинаковое состояние системы на всех устройствах и на центральном сервере. Причем каждое устройство работает независимо с текущей копией данных даже при моргающем или неработающем доступе к интернету (при восстановлении доступа все данные моментально реплицируются в обе стороны).

                Tarantool — настоящая мощная IoT-платформа для разработки полноценных и быстро работающих локальных приложений с полной синхронизацией между устройствами и центральным сервером и с почти полной независимостью от доступа к интернету.

                Oб Edison

                Intel Edison — это мощная, сверхкомпактная, высокоинтегрированная «система на модуле», оснащённая процессором Intel Atom с частотой 500 МГц, 4 ГБ флеш-памяти, 1 ГБ ОЗУ и встроенными адаптерами Wi-Fi и Bluetooth. В системах «Интернета вещей» Edison может обеспечить великолепную производительность и широкие возможности по сбору и обработке данных на шлюзе между IoT-сетью и Интернетом — и всё это при крайне скромных размерах и энергопотреблении, позволяющем при необходимости питать Edison от аккумулятора.

                Unwired Devices

                Компания Unwired Devices специализируется на разработке и производстве современной электроники, в первую очередь, встраиваемых микрокомпьютерных и сетевых коммуникационных устройств. Cфера интересов компании включает технологии Интернета вещей, Wi-Fi и ячеистых сетей (mesh-сетей), сетей LoRa, продукты для автоматизации промышленного освещения, беспроводного управления и сбора данных, а также системы «умного» дома и «умного» офиса.

                Unwired Kit — это набор электронных модулей, предназначенный для быстрой разработки устройств «Интернета вещей»: IoT-контроллеров и маршрутизаторов, ячеистых сетей, сетей LoRa большого радиуса действия, включающих различные типы датчиков, средств управления и исполнительных устройств. Помимо типовых модулей, в набор входят модули с такими широко используемыми в промышленных системах интерфейсами, как DALI, ШИМ 0-10 В или RS-485.

                CommIT Capital

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

                Приоритетными направлениями для инвестирования являются компании, разрабатывающие продукты для сетевой инфраструктуры оператора и центров обработки данных. Не менее интересны решения корпоративного класса. Фонд также рассматривает проекты с новыми продуктами и услугами для конечных клиентов «Ростелекома» в сегментах B2C, B2B и B2G.

                В портфеле фонда компания «Raidix» (разработчик систем хранения данных) и «Brain4Net» (решения для операторов и корпораций в области SDN & NFV).

                Комментарии (0)

                  This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
                  Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.

                  [Из песочницы] Введение в Iron: плавим руду на Rust

                  Как ускорить сборку с Maven

                  Как Linkmeup ходил в гости к «НТЦ Метротек»

                  [Перевод] Вышел GIMP 2.9.4

                  Отчёт о новых функциях свободного графического редактора


                  Мы только что выпустили вторую dev-версию GIMP в серии 2.9.x, ставшую результатом полугода работы. GIMP 2.9.4 представляет собой мощное обновление:
                  • обновленный интерфейс;
                  • серьёзные улучшения в управлении цветом;
                  • готовый к использованию инструмент MyPaint Brush;
                  • симметричное рисование;
                  • сплит-превью для фильтров на GEGL.

                  Вдобавок, исправлены десятки багов и сделаны многочисленные мелкие улучшения в графическом редакторе.

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

                  Исправленный интерфейс и изменения в юзабилити


                  В новой версии представлено несколько новый тем Бенуа Туше (Benoit Touchette) в разных оттенках серого: Lighter, Light, Gray, Dark, Darker. Системная тема оформления сохранилась для тех, кто предпочитает полностью единообразный вид пользовательских интерфейсов среди всех десктопных приложений.

                  Заметьте, что в дорожной карте данная функция по-прежнему имеет статус «в работе», потому что тёмные темы следует ещё немного донастроить (особенно цвет неактивных пунктов меню).

                  Новые темы UI сопровождаются пиктограммами: их изначально создали Барбара Мураус (Barbara Muraus) и Якуб Штейнер (Jakub Steiner), но впоследствии сильно дополнил и привёл в окончательный вид Клаус Штадлер (Klaus Staedtler). Существующие темы иконок из предыдущих версий GIMP также сохранены, и пользователи могут свободно переключаться между доступными темами и легко добавлять собственные пиктограммы.

                  Темы оформления и наборы пиктограмм теперь отделены друг от друга: можете смешивать любимые темы и произвольные наборы пиктограмм. Поскольку большинство тем 2.8 не работают в 2.9.х, то темы не импортируются из GIMP <2.9. Для создания кастомных тем необходимо установливать те, которые сделаны специально для GIMP 2.9/2.10.

                  Все работы Клауса Штадлера с пиктограммами выполнены в векторном формате (SVG), которые в будущем должны лучше отображаться на дисплеях HiDPI (также широко известными как «ретина»). Векторные пиктограммы — экспериментальная функция, которая активируется при использовании опции конфигурации --enable-vector-icons во время сборки билда. Обратите внимание, что в данный момент эта опция не означает поддержки HiDPI.

                  Мы немного очистили меню «Настройки» (Preferences) и разместили опции в более логичном порядке. Диалог «Управление цветом» (Color Management) переработан в соответствии со внутренними и внешними изменениями в соответствующих частях редактора GIMP (об этом ниже), а настройки «Дистанция прилипания» (Snap Distance) переместились на отдельную страницу «Прилипание» (Snapping).

                  Вдобавок, теперь стало возможным указывать размер шага предварительного просмотра для отмены сделанных изменений в диалоге «Отмена» (Undo) через диалог «Настройки» (Preferences), что раньше было возможно только с помощью редактирования вручную файла конфигурации GIMP.

                  Экран заставки при загрузке редактора теперь сопровождается индикатором загрузки, который показывает, что GIMP не завис. Вместе с фоновой инициализацией fontconfig (ещё одна новая функция GIMP 2.9.4) это сделано в связи с распространённой проблемой, когда пересборка кэша шрифтов (или изначальное создание такого кэша) занимает много времени, так что создаётся впечатление зависания программы во время её загрузки. Мы понимаем, что это не решение проблемы, а небольшая хитрость. Для настоящего решения надо копаться в fontconfig. Если вам интересна эта тема, вот соответствующий тикет.

                  Улучшенное управление цветом


                  Реализация управления цветом полностью переделана в этой версии GIMP. Вместо подключаемого модуля теперь данный функционал встроен в ядро программы. Более того, мы добавили уровень абстракции, которые уменьшает зависимость GIMP от LittleCMS. Это означает, что в будущем GIMP будет использовать нативные программные интерфейсы на Windows и OS X и/или свободную систему управления цветом OCIO.

                  На данный момент это позволило нам хорошенько вычистить код и сделать чистую реализацию управления цветом для различных частей GIMP, таких как предварительный просмотр образцов цветов и градиентов, шаблоны, различные цветовые виджеты (в том числе виджет для драг-н-дропа цветов), инструмент «Пипетка» (Color Picker), предварительный просмотр слоёв и изображения и т.д. Единственным оставшимся без изменений остался цветовой виджет в плагинах Script-Fu и Python-Fu. Более того, GIMP будет отслеживать, на каком мониторе отображается виджет (на различных мониторах работают разные профили ICC) и производить коррекцию цвета соответствующим образом.

                  Изображения в оттенках серого снова стали равноправными: с версии GIMP 2.9.4 управление цветом работает и для них тоже.

                  Поскольку сейчас редактор работает в цветовом пространстве sRGB (это изменится в будущих версиях GIMP), мы решили выставить это в пользовательском интерфейсе. Так что теперь в редакторе опция «Управление цветом на этом изображении» (‘Color-manage this image’) выставлена в двух местах: в диалоговом окне «Новое изображение» (New Image) и в подменю Изображение > Управление цветом (Image > Color Management). Это значит, что вместо использования встроенного профиля ICC (в зависимости от профиля) изображение будет просто восприниматься как sRGB. Имейте в виду, что мы хотим изменить формулировку для этой опции, чтобы более явно указать, что она делает.

                  Вдобавок, теперь появилось отдельное подменю Вид > Управление цветом (View > Color Management) для операций по управлению цветом.

                  Раздел «Управление цветом» (Color Management) в настройках тоже переделан в соответствии с последними изменениями, и снабжён более согласованными описаниями опций.

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

                  Среди более мелких изменений — новая команда Изображение > Управление цветом > Сохранить цветовой профиль в файл... (Image > Color Management > Save Color Profile to File...), которая делает именно то, что заявлено: сохраняет встроенный цветовой профиль ICC на диск в виде файла. Имейте в виду, что профили ICC могут быть обременены ограничениями интеллектуальной собственности, так что следует проявлять осторожность.

                  GEGL


                  GIMP теперь отслеживает все GEGL-фильтры, которые вы применили во время рабочей сессии, и позволяет применить их повторно из подменю Фильтры > Недавние (Filters > Recently Used), точно как старые плагины GIMP.

                  Цветовые инструменты «Постеризация» (Posterize) и «Обесцвечивание» (Desaturate) переделаны в обычные GEGL-фильтры, а оба фильтра «Черепица» (Tile) и «Загнутая страница» (Pagecurl) преобразованы для использования буферов GEGL. Довольно популярный «фотографический» фильтр Highpass, который обычно используют для повышения детализации, добавлен в подменю Фильтры > Улучшение (Filters > Enhance).

                  Но гораздо более заметной является другая новая функция — сплит-превью GEGL-фильтров. В разделённом на две половины окне вы можете сравнивать изображение до и после применения фильтра прямо в окне редактора, и передвигать границу до/после по экрану, или менять положение «до» и после» местами (щелчок мышкой по направляющей, удерживая Shift). Разделение экрана для предварительного просмотра возможно по вертикали или горизонтали (смена ориентации осуществляется (Ctrl + щелчок мышкой).

                  Darktable как плагин для обработки фотографий RAW


                  GIMP под Linux умеет использовать свободное приложение darktable для предварительной обработки исходных фотографий в «сыром» формате RAW с цифровых зеркальных камер Canon CR2, Nikon NEF и других. darktable — это потрясающий проект, в котором разработчики постоянно зависают в IRC-канале и даже присылают коммиты в GIMP (самым последним они добавили функцию считывания различных метаданных из файлов EXR).

                  Обратите внимание, что плагин file-darktable активируется только в том случае, если darktable собран с поддержкой Lua. Убедитесь, что ваш билд darktable для Linux собран надлежащим образом и поддерживает все функции.

                  По-прежнему остаётся возможность использовать другие плагины для работы с фотографиями RAW, такие как UFRaw. На случай, если у вас в системе установлено несколько таких плагинов, мы собираемся добавить опцию выбора.

                  Скриншоты


                  Код для захвата скриншотов значительно переделан. Он теперь распределён между фронтендом и несколькими бэкендами, по-разному для Windows, OS X, Wayland и X.org (системы Linux и UNIX).

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

                  Рисование


                  Инструмент MyPaint Brush


                  Новый инструмент MyPaint теперь активирован по умолчанию. Даниэль Сабо (Daniel Sabo) и Михаэль Наттерер (Michael Natterer) улучшили производительность и сделали доступными кисти MyPaint через уже знакомый закрепляемый диалоговый интерфейс, с предварительным просмотром и метками.

                  Джехан Пажес (Jehan Pagès) сотрудничал с разработчиками MyPaint и портировал libmypaint в autotools. В частности, это позволяет сделать стандартные билды для всех платформ, и сейчас ведётся работа оп выпуску дефолтных кистей в отдельном независимом пакете.

                  Симметричное рисование


                  Ещё одна важная новая функция — режим симметричного рисования, также разработанный Джеханом Пажесом, с финансовой поддержкой сообщества GIMP. Этот режим активируется через новый диалог Symmetry Painting и позволяет любым инструментам работать в разных режимах симметрии (зеркало, мандала, черепица...).
                  • «Зеркало» позволяет рисовать в горизонтальной, вертикальной (осевой) и/или центральной симметрии. Направляющие для симметрии можно размещать в любом месте холста.
                  • «Мандала» — это вращающаяся симметрия любого порядка.
                  • «Черепица» — это поступательная симметрия, которая может быть конечной (с максимальным количеством шагов) или бесконечной. В последнем случае это великолепный инструмент для создания паттернов или бесшовных тайлов, с мгновенным рендерингом конечного результата, прямо во время рисования.

                  Вот что можно нарисовать в GIMP за 1 минуту.

                  Параметры инструментов


                  Улучшено реагирование на прокручивание колёсика мыши. В сочетании с различными модификаторами, теперь оно позволяет выполнять следующие полезные действия с выделенным инструментом:
                  • Alt + прокрутка: увеличение/уменьшение прозрачности;
                  • Shift + Primary + прокрутка: увеличение/уменьшение сторон (aspect);
                  • Shift + Alt + прокрутка: увеличение/уменьшение угла;
                  • Primary + Alt + прокрутка: увеличение/уменьшение размера;
                  • Shift + Primary + Alt + прокрутка: увеличение/уменьшение интервала.

                  Примечание: модификатор Primary — это обычно Ctrl или Cmd, в зависимости от платформы.

                  Выделение


                  Для тех случаев, когда в вашем выделении много мелких невыделенных областей, вы теперь можете использовать команду Выделение > Удалить дыры (Select > Remove Holes).

                  Диалог Выделение > Граница (Select > Border) теперь предоставляет несколько вариантов стиля границы: жёсткая, мягкая или растушёвка (feathered). Граница типа «Растушёвка» создаёт выделение, которое постепенно изменяется от 1 к 0 по мере удалённости от середины границы. Мягкая граница частично сохраняет выделение (антиалиасинг) вдоль границ выделения.

                  Улучшенные инструменты


                  В инструментах «Волшебная палочка» (Fuzzy Select) и «Плоская заливка» (Bucket Fill) появилась новая функция для выделения/заполнения соседних по диагонали пикселей.

                  В инструменте градиентной заливки Blend вернулась заливка со стилем градиента «Разбивка фигуры» (Shape Burst), а управляющие регуляторы инструмента можно размещать на холсте за пределами изображения. Вдобавок, инструмент «Градиентная заливка» теперь снабжён индикатором прогресса, благодаря новой функции GEGL, которая доступна в некоторых операциях GEGL, в том числе gegl:distance-transform.

                  Инструмент «Текст» (Text) теперь полностью поддерживает продвинутые методы ввода для CJK и других незападных языков. Минимальная поддержка уже была раньше, но скомпонованный текст отображался в плавающем всплывающем окне, а не на своём месте, внутри текстовой области, и без предварительного показа стилей. Теперь текст отображается в точности как ожидается, в зависимости от вашей платформы и метода ввода (Input Method Engine). Также устранены несколько багов и причин вылета программы в связи с вводом текста.

                  Пакетная обработка в командной строке


                  Для простой обработки с помощью GIMP многочисленных файлов из командной строки доступен новый макрос with-files — эту функцию многие очень ждали.

                  Например, если хотите инвертировать цвета на всех изображениях PNG в текущей папке, а потом сохранить их в JPEG, то можете запустить следующую команду для макроса из командной строки:

                  gimp -i -b '(with-files "*.png"
                                  (gimp-invert layer)
                                  (gimp-file-save 1 image layer
                                      (string-append basename ".jpg")
                                      (string-append basename ".jpg")
                                  )
                              )
                              (gimp-quit 0)'
                  

                  Примечание: название макроса может измениться до выхода 2.10.

                  Плагин для электронной почты


                  Диалог Файл > Отправить по почте… (File > Send by email…) откроет ваш стандартный почтовый клиент и приложит к письму текущее изображение из редактора, так что можно делиться результатами текущей работы одним нажатием кнопки. Такое возможно только в операционных системах с установленным xdg-email (скорее всего, только GNU/Linux, BSD).

                  Оригинальная реализация с помощью sendmail также доступна. Но поскольку для её работы требуется прафильно сконфигурированный sendmail, что на десктопных машинах редко встречается, то следует указать явную опцию --with-sendmail во время сборки билда для замены реализации xdg-email.

                  Логи для отладки


                  В тех редких случаях, когда GIMP аварийно завершает работу, нам нужно получить как можно больше информации, чтобы выявить причину сбоя. Один из таких источников информации — исходный лог, который записывается при сбое. Теперь программа под Windows может записывать такой лог с помощью библиотеки Dr.MinGW’s ExcHndl, которая должна быть в наличии во время сборки. Логи сохраняются в %APPDATA%\GIMP\2.9\CrashLog\.

                  Что осталось сделать для GIMP 2.10


                  С момента релиза версии 2.9.2 мы в основном исправляли баги и завершали работу, начатую раньше. Мы больше не планируем добавлять новые основные функции в 2.10. Если желаете помочь выпустить версию 2.10 как можно раньше, то список баг-репортов можно найти в нашем баг-трекере.

                  Некоторая статистика по нашим потрясающим разработчикам


                  Версия GIMP 2.9.2 была выпущена 27 ноября 2015 года. С тех пор до выпуска 2.9.4 сделано 1348 коммитов, то есть в среднем 5,9 коммита в день, из которых 894 (в основном) связаны с программной базой, 241 — с пиктограммами, а 213 — обновления для переводов.

                  Как обычно, группа разработки GIMP маленькая, но исключительно предана своему делу: более трети всех коммитов сделал Михаэль Наттерер (514), за ним следуют Джехан Пажес (192) и Клаус Штадлер (187). Эти трое обеспечили 66% всех коммитов.

                  У нас появились довольно трудолюбивые новички:

                  • К нам присоединился Ell, который обеспечил значительный вклад в кодовую базу (32 коммита), в том числе реализовал выделение соседних по диагонали пикселей, команду «Устранить дыры» (Remove Holes) и многие другие исправления:
                  • Тобиас Эллингхаус (Tobias Ellinghaus), разработчик из проекта darktable, прислал 14 коммитов по интеграции darktable и улучшению поддержки EXR и PNM.

                  Конечно, с нами по-прежнему привычные люди с 10+ коммитами: это Александр Прокудин, Даниэль Сабо, Кристиан Ритвельд, Массимо Валентини и Михаэль Хеннинг.

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

                  Скачать


                  Исходный код доступен на странице для скачивания. Инсталлятор для Windows вскоре появится. Билд для Mac OS X пока не готов.

                  Комментарии (0)

                    This entry passed through the Full-Text RSS service - if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
                    Recommended article from FiveFilters.org: Most Labour MPs in the UK Are Revolting.