Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения.
Читать полностью »
Новости информационных технологий - 18830
Обзор наиболее интересных материалов по анализу данных и машинному обучению №24 (24 — 30 ноября 2014)
2014-11-30 в 16:41, admin, рубрики: big data, data mining, data science, data science digest, machine learningОбработка ошибок в Swift — меч и магия
2014-11-30 в 16:11, admin, рубрики: map, swift, обработка ошибок, применение функций, Программирование, функциональное программированиеЕсли издали видно общую картину, то вблизи можно понять суть. Концепции, которые казались мне далекими и, прямо скажем, странными во время экспериментов с Haskell и Scala, при программировании на Swift становятся ослепительно очевидными решениями для широкого спектра проблем.
Взять вот обработку ошибок. Конкретный пример – деление двух чисел, которое должно вызвать исключение если делитель равен нулю. В Objective C я бы решил проблему так:
NSError *err = nil;
CGFloat result = [NMArithmetic divide:2.5 by:3.0 error:&err];
if (err) {
NSLog(@"%@", err)
} else {
[NMArithmetic doSomethingWithResult:result]
}
Со временем это стало казаться самым привычным способом написания кода. Я не замечаю, какие загогулины приходится писать и как косвенно они связаны с тем, что я на самом деле хочу от программы:
Верни мне значение. Если не получится – то дай знать, чтобы ошибку можно было обработать.
Я передаю параметры, разыменовываю указатели, возвращаю значение в любом случае и в некоторых случаях потом игнорирую. Это неорганизованный код по следующим причинам:
- Я говорю на машинном языке – указатели, разыменование.
- Я должен сам предоставить методу способ, которым он уведомит меня об ошибке.
- Метод возвращает некий результат даже в случае ошибки.
Каждый из этих пунктов – источник возможных багов, и все эти проблемы Swift решает по-своему. Первый пункт, например, в Swift вообще не существует, поскольку он прячет под капотом всю работу с указателями. Остальные два пункта решаются с помощью перечислений.Читать полностью »
Ошибки фантастов или размышления о том, почему остановилась космонавтика
2014-11-30 в 16:02, admin, рубрики: будущее космонавтики, история космонавтики, космонавтика, Научно-популярное, физика, философия
Весь двадцатый век фантасты много и талантливо писали об освоении космоса. Герои «Хиуса» подарили человечеству богатства Урановой Голконды, пилот Пиркс работал капитаном космических сухогрузов, по Солнечной системе ходили лидер-контейнероносцы и балкер-трампы, и я уж не говорю про всякую мистику путешествий к таинственным монолитам. Однако 21 век не оправдал надежд. Человечество робко стоит в прихожей Космоса, не выбравшись на постоянной основе дальше земной орбиты. Почему так получилось и на что надеяться тем, кто хотел бы читать в новостях про повышение урожайности марсианских яблонь?
Читать полностью »
Eggs.Variant — Часть I
2014-11-30 в 15:58, admin, рубрики: c++, c++11, C++14, Eggs.Variant, Проектирование и рефакторинг, размеченное объединениеНа публикацию этого перевода меня сподвиг комментарий пользователя encyclopedist к недавней статье «Фабричный метод без размещения в динамической памяти». Статья меня заинтересовала, но беглое гугление не выявило перевода. «Непорядок.» — подумал я — «Такая интересная статья по С++ и не переведена на русский язык. Надо бы исправить.»
Оглавление
Размышления о разработке Eggs.Variant — обобщённом типобезопасном размеченном объединении на C++11/14.
Введение
Объединение — это специальный тип класса, который в один момент времени может хранить только один из своих нестатических членов. Он занимает столько места, сколько надо, чтобы вместить наибольший из его членов.
9 [class]/5 Объединение — это класс, определяемый с ключевым словом
union
; одновременно он может хранить только один из своих членов (9.5). [...]
9.5 [class.union]/1 В объединении активным может быть только один из нестатических членов, то есть, в данный момент времени в объединении может храниться значение только одного из его нестатических членов. [...] Размер объединения достаточен для вмещения наиболее большого из его нестатических членов. Каждый нестатический член аллоцируется так, словно он является единственным членом структуры. Все нестатические члены объекта объединения имеют одинаковый адрес.
9 [class]/5 A union is a class defined with the class-key union; it holds at most one data member at a time (9.5). [...]
9.5 [class.union]/1 In a union, at most one of the non-static data members can be active at any time, that is, the value of at most one of the non-static data members can be stored in a union at any time. [...] The size of a union is sufficient to contain the largest of its non-static data members. Each non-static data member is allocated as if it were the sole member of a struct. All non-static data members of a union object have the same address.
Мониторинг серверов через очередь заданий на JAVA
2014-11-30 в 14:20, admin, рубрики: java, multithreading, Серверное администрированиеНедавно был озадачен проблемой мониторинга нескольких десятков серверов (ну наверно редко кто не сталкивался с такой задачей). Проблему можно описать несколькими правилами:
- Нужно периодически пинговать сервер
- Иногда выполнять какое-либо действие с сервером (например, исполнение команды через ssh), которое засабмитил пользователь
- Действия с серверами могут нескольких типов, у каждого действия свой приоритет
- Таски (из п.1-3) нельзя выполнять одновременно для каждого сервера
- Таски могут завершаться с неудачей, например по причине отсутствия связи с сервером, нужно ждать пока связь восстановится и пытатся выполнить запланированную задачу
Изображение со спутника впервые передано по гигабитному лазерному каналу на Землю
2014-11-30 в 14:08, admin, рубрики: Alphasat, ESA, LCT, Sentinel, космонавтика, спутники, физика
Европейское космическое агентство(ESA) сообщило, что в рамках программы European Data Relay System впервые изображение со спутника Sentinel-1, находящегося на околоземной орбите, были успешно передано на Землю при помощи спутника связи Alphasat по лазерному каналу передачи данных, рассчитанному на скорость в 1.8 Гбит/с. Передача была выполнена на основе технологии Laser Communication Terminal (LCT), разрабатываемой Airbus Defence and Space в сотрудничестве с Германским аэрокосмическим центром DLR.
Читать полностью »
«Математика – один из видов искусства»: пост к столетию со дня рождения Мартина Гарднера
2014-11-30 в 13:23, admin, рубрики: game development, mathematica, wolfram language, мартин гарднер, математика, Программирование, Учебный процесс в ITПеревод поста Эда Пегга Младшего (Ed Pegg Jr) "Martin Gardner’s 100th Birthday"
Я думаю, содержание этого поста будет интересно всем, кто любит математику и ее красоту, всем, кто знаком с замечательными книгами и задачами Мартина Гарднера, а также будет полезно учителям, школьникам и студентам. Все ссылки в данном посте ведут на сайты Wolfram Demonstrations Project (коллекция бесплатных интерактивных демонстраций, созданных пользователями системы Mathematica на языке Wolfram Language с помощью технологии Computable Document Format (CDF), при этом для вас доступны исходные коды всех демонстраций, а значит, вы можете каждую из них скачать, изучить и изменить под себя) и Wolfram MathWorld (крупнейшая и самая авторитетная онлайн-энциклопедия по математике).
25 января 2003 года Рэндел Манро зарегистрировал доменное имя xkcd.com. Позже многие пытались найти смысл этого набора букв, предлагая автору свои версии: duck x назад без гласной, extreme keyboard configuration daemon и тому подобное. Но название самого популярного веб-комикса для гиков ничего не значит.
В начале нулевых Манро устал от никнеймов, которые что-то значили (Skywalker4, Animorph7 и так далее). Хотелось какое-нибудь слово, которое не надоест, которое будет принадлежать только его создателю. То было время, когда некоторые четырёхбуквенные адреса в зоне .com были свободны в отличие от сегодняшних дней тотального киберсквоттинга. Поэтому Рэндел подобрал четыре буквы, которые никто до него не использовал, которые ничего не значили и которые никак не произносились и не являлись каким-нибудь акронимом.
Домен был зарегистрирован, но не использовался до тех пор, пока Манро не начал делать маленькие зарисовки с завидной периодичностью. И по сей день новые комиксы появляются каждые понедельник, среду и пятницу. При этом автор никогда не получал никакого художественного образования.
Тогда Манро ещё работал в НАСА, но занимался достаточно мелкими проектами, чтобы иметь возможность отвлечься на какую-нибудь ерунду. К примеру, однажды во время работы над алгоритмами навигации он запрограммировал робота, который возил его по офисам космического агентства на офисном стуле с колёсиками.
Читать полностью »
Ави Рейхентал — Что будет дальше в 3D-печати?
2014-11-30 в 12:36, admin, рубрики: 3D-печать, 3d-принтер, Блог компании Vert Dider, Научно-популярное, персонализация
Как и его любимый дедушка, Ави Рейхентал является производителем вещей. Разница лишь в том, что сейчас он может использовать 3D-принтеры для того, чтобы сделать что угодно и из какого угодно материала. Рейхентал проводит тур по возможностям 3D-печати во всём, начиная с напечатанной конфеты и до сделанных по специальному заказу кроссовок.
В Новосибирске построят прототип термоядерного реактора на дейтерии
2014-11-30 в 11:26, admin, рубрики: исследования, Научно-популярное, НИИ, физика, Энергия и элементы питания
Команда ученых Института ядерной физики СО РАН собирается построить прототип ядерного реактора. Создавать реактор будут в подвале самого института, сроки реализации составляют пять лет. Создание прототипа реактора является частью проекта «Развитие фундаментальных основ и технологий термоядерной энергетики будущего».
Несмотря на то, что это прототип, бюджет проекта довольно существенный, и оставляет 500 миллионов рублей. Ученые уже получили значительную часть средств в виде федеральных грантов.