Ассортимент компании BitFenix пополнился компонентами для моддинга Alchemy 2.0. Они адресованы энтузиастам, желающим, с одной стороны, придать своим системам индивидуальность, а с другой стороны — использовать оптимально подходящие компоненты. Скажем, блоки питания с модульными кабельными системами дают возможность включать в систему только необходимые кабели. Компоненты для моддинга Alchemy 2.0 позволяют сделать следующий шаг, выбрав отдельно кабели в оплетке, разъемы для них и гребенки для аккуратной укладки кабелей.
Архив за 11 апреля 2016 - 6
BitFenix выпускает компоненты для моддинга Alchemy 2.0: кабели, разъемы и гребенки
2016-04-11 в 11:13, admin, рубрики: Новости, метки: новостиПоиск экзопланет под вопросом: космический телескоп «Кеплер» перешел в аварийный режим работы
2016-04-11 в 11:04, admin, рубрики: космонавтика, Научно-популярное, проблемы, телескоп кеплер, экзопланеты
В космосе на благо науки трудится не один и не два космических аппарата, запущенных людьми, подобных систем уже десятки. Одним из таких аппаратов является «Кеплер» — космический телескоп NASA, который предназначен для поиска экзопланет. Его основная миссия уже завершилась (в 2012 году), но аппарат продолжал работать, делая удивительные открытия.
Например, телескоп обнаружил (вернее, это обнаружили ученые, анализирующие данные, переданные телескопом), что в течение последних нескольких лет несколько раз менялась яркость объекта KIC 8462852. И эти изменения в яркости нельзя объяснить наличием планеты или облаком пыли. Некоторые ученые (не говоря уж об «уфологах») заговорили о наличии у этого светила сферы Дайсона. Открытий было множество (открыто около 1000 экзопланет, эти открытия подтверждены), и ученые рассчитывали на дальнейшее продолжение работы с телескопом «Кеплер». Но сейчас ситуация изменилась — неожиданно система перешла в аварийный режим работы.
Читать полностью »
Роботы-официанты стали причиной закрытия нескольких ресторанов в Китае
2016-04-11 в 10:57, admin, рубрики: будущее здесь, китай, Научно-популярное, официанты, робототехника, роботы, сфера обслуживания
Мы построили роботов, которые могут ходить, говорить, играть в невероятно сложные настольные игры, но использовать их для работы в китайских ресторанах оказалось не такой уж и хорошей идеей — два ресторана, которые воспользовались роботизированными официантами закрылись, а в третьем оставили только одного робота для привлечения клиентов и вернулись к традиционным формам обслуживания, сообщает shanghaiist.
Официанты жаловались на своих бывших коллег. «Роботы были не в состоянии нести суп или другую пищу, требующую устойчивости и часто ломались. Директор ресторана решил больше никогда не использовать их снова», рассказал один из сотрудников.
Читать полностью »
Фитнес-трекер впервые помог спасти жизнь человека
2016-04-11 в 10:49, admin, рубрики: Здоровье гика, кардиоверсия, Носимая электроника, реанимация, фитнес-трекер, электроимпульсная терапия
42-летний мужчина из Нью-Джерси попал в отделение скорой помощи после сердечного приступа. Изучив данные с его фитнес-трекера Fitbit Charge HR, врачи приняли правильное решение провести кардиоверсию — электроимпульсную терапию для депорялизации миокарда и восстановления ритма сердца. Клинический случай, описанный в научном журнале по реаниматологии — первый известный случай, когда фитнес-трекер помог спасти жизнь человеку.
Читать полностью »
Релиз СУБД InterSystems Caché 2016.1
2016-04-11 в 10:41, admin, рубрики: cache, dbms, intersystems, release, text mining, Администрирование баз данных, Блог компании InterSystems, релиз, СУБД, субд CachéВсем привет! Рады представить вам новую версию Caché 2016.1, релиз которой состоялся во второй половине марта. Важных и интересных изменений действительно много, поэтому предлагаю сразу перейти к ним.
Разбавляем асинхронное программирование функциональным на Scala
2016-04-11 в 10:38, admin, рубрики: asynchronous, functional programming, scala, scalaz, tutorial, параллельное программирование, функциональное программированиеПриветствую! В этой статье будет показано, как, имея на руках обычные Future-ы, сделать в scala подобие корутин и асинхронные stream-ы. Этакий небольшой туториал по функциональному программированию.
Что это и зачем
К сожалению, простое последовательное комбинирование 2х и более асинхронных операций (загрузить конфиг, а потом картинку по адресу из конфига как пример) — это все, на что способны обычные Future-ы в качестве монад. Они не позволяют ни сохранять состояние, ни делать циклы из асинхронных операций, ни выдавать несколько (или бесконечно много) значений. Вот этими недостатками мы сейчас и займемся.
Давайте для определенности представим некий виджет. Он ждет конфиг, который обновляется с определенной периодичностью, загружает по адресу из конфига значение (например, температуру), и рисует на экране текущее значение, минимум, максимум, среднее и так далее. И все это делает в цикле, да еще и асинхронно.
Применив знания из этой статьи, мы сможем этот процесс описать примерно так:
// Про 'FState' - далее, пока же просто примем, что это - такая необычная Future
def getNextConfig: FState[Config]
def getTemperature(from: String): FState[Int]
case class State(temperature: Int, sumTemp: Long, count: Int) {
def isGood = ...
}
// Как видим, получается единый асинхронный алгоритм с состоянием,
// которое извне этого алгоритма не видно
val handle =
while_ ( _.isGood)
{ for (
config <- getNextConfig();
if (config.isDefined); // пустой конфиг - прекращаем выполнение
nextValue <- getTemperature(config().source); // грузим значение температуры
state <- gets[State]; // тут мы берем текущее состояние
newState = State(nextValue, state.sumTemp + nextValue, state.count + 1);
_ <- puts(newState); // .. и меняем его
_ <- runInUiThread { drawOnScreen(newState) }
) yield() }
Или вот так:
val configs: AsyncStream[Config] = ... // получаем откуда-то stream конфигов
def getTemperature(from: String): FState[Int]
case class State(temperature: Int, sumTemp: Long, count: Int)
// Получается то же самое, только вместо зависимости 'getNextConfig'
// мы, по сути, передаем сами данные - stream из конфигов
val handle =
foreach(configs) {
config => for (
nextValue <- getTemperature(config().source); // грузим значение температуры
state <- gets[State]; // тут мы берем текущее состояние
newState = State(nextValue, state.sumTemp + nextValue, state.count + 1);
_ <- puts(newState); // .. и меняем его
_ <- runInUiThread { drawOnScreen(newState) }
) yield()
}
Всех, кто заинтересовался, прошу под кат.
Читать полностью »
Какие критерии важны крупному клиенту при выборе агентства на веб-разработку?
2016-04-11 в 10:33, admin, рубрики: ruward, Блог компании Ruward, веб-дизайн, критерии выбора веб-разработчика, разработка, Разработка веб-сайтов, рейтинг веб-студий 2016, метки: критерии выбора веб-разработчика, рейтинг веб-студий 2016Привет! Предлагаю сегодня обсудить, на какие ключевые критерии в первую очередь должен смотреть крупный заказчик (несколько больших функциональных сайтов на разные продукты или группы ЦА, ряд промо-сайтов, пул задач на развитие, много работы по поддержке) при выборе подрядчика на проектирование, дизайн, разработку и поддержку.
Для затравки мы взяли руководителей пяти ведущих веб-продакшенов России (на основе только что опубликованного нами единого рейтинга веб-разработчиков 2016) и задали им простой вопрос:
«На какие самые важные моменты/критерии должен обращать внимание крупный заказчик в процессе подбора потенциальных агентств-кандидатов (участников тендера) на комплексное продакшн-обслуживание всего своего парка интернет-проектов (проектирование, разработка, интеграция, развитие, поддержка и пр.)?»
И вот что они думают на этот счет:
Михаил Токовинин, со-основатель и управляющий партнер AIC+QSOFTЧитать полностью »
Перегружаем стандартные DataAnnotation атрибуты для использования с custom resource provider
2016-04-11 в 10:17, admin, рубрики: .net, ASP, asp.net mvc, C#, ПрограммированиеПредставьте, что у вас есть legacy проект Asp.NET MVC версии 5, которому немало лет. В нем используется самописный ResourceProvider, который умеет доставать из базы ресурс и показывать его на UI. В зависимости от различных условий (например, от того, откуда пользователь пришел на сайт), ресурсы будут показаны разные. Теперь пришло время сделать так, чтобы все намертво захардкоженные строки в Data Annotation атрибутах, такие как:
[Display(Name = "Username")]
[Required(ErrorMessage = "Please enter the username")]
[StringLength(64, ErrorMessage = "Username cannot exceed 64 characters")]
public string Username{ get; set; }
тоже могли получать свои значения, используя ResourceProvider. Как это сделать, используя немного наследования и доступной в Asp.NET MVC кастомизации, я покажу под катом.
Читать полностью »
6 причин провала мобильной игры на международном рынке
2016-04-11 в 10:15, admin, рубрики: азия, Блог компании Plarium, игры, локализация, Локализация продуктов, перевод, разработка, разработка игр, разработка мобильных приложений, рынок, страны, Тестирование игр Согласно прогнозам издания Wall Street Journal, в 2017 году объем глобального рынка мобильных игр увеличится в 8 раз по сравнению с 2010 годом – с $3,77 млрд до $29,6 млрд. Сегодня доминирующую позицию на рынке занимает Азиатско-Тихоокеанский регион во главе с Китаем и Японией. На его долю приходится 48 % доходов всей индустрии, а также в 3 раза больше игроков, чем во втором по величине регионе – Северной Америке.
Читать полностью »