LINUX.ORG.RU

Сообщения encyrtid

 

GHC 7.8.1

Новости — Open Source
Группа Open Source

Спустя почти год с выпуска предыдущей версии, вышла новая версия GHC 7.8.1 — одного из самых мощных и развитых на сегодняшний день компиляторов функционального языка программирования Haskell, который разрабатывается свободной рабочей группой из многочисленных разработчиков, собранных по всему миру и координируемых из лаборатории университета Глазго.

Основные изменения:

  • добавлена поддержка OS X Mavericks и XCode 5. В связи с этим GHC использует Clang для препроцессорной обработки кода для билдов Mavericks;
  • добавлено новое предупреждение по умолчанию -fwarn-typed-holes, подробнее в Typed Holes;
  • возможность выполнять вычисления над натуральными числами на уровне типов при использовании расширения DataKinds;
  • добавлены Closed Type Families;
  • при использовании расширения GeneralizedNewtypeDeriving теперь проводится проверка ролей, подробнее в Roles;
  • добавлены Overloaded Lists;
  • добавлено расширение Pattern Synonyms;
  • переработаны механизмы вывода типов, увеличена скорость, уменьшено потребление памяти;
  • по умолчанию GHC проводит unboxing всех строгих полей «малых» типов для datatype'ов. «Малые» типы — это типы, размер которых меньше, либо равен машинному слову. Это означает что больше не нужно использовать прагму UNPACK для строгих полей с типом Int. Это также относится к типам с плавающей точкой;
  • новый менеджер IO, который значительно лучше масштабируется по сравнению с предыдущим;
  • LLVM-backend поддерживает 128-и и 256-битные SIMD операции;
  • полностью переписан кодогенератор;
  • улучшена поддержка кросскомпиляции;
  • PrimOps для сравнения unboxed значений теперь возвращает Int# вместо Bool;
  • новые PrimOps для атомарных операций;
  • Typeable теперь poly-kinded, типы Typeable1, Typeable2 и т.д. объявлены устаревшими и перемещены в Data.OldTypeable;
  • добавлена возможность параллельной компиляции;
  • добавлена поддержка новой прагмы {-# MINIMAL #-}, разрешающей явную декларацию минимального полного определения класса;
  • в версии 7.10 Applicative станет суперклассом Monad, что потенциально приведет к неработоспособности большого количества кода. Для облегчения миграции GHC теперь генерирует предупреждения о конфликтах Applicative-Monad Proposal (AMP);
  • добавлено расширение InterruptibleFFI extension, подробнее Interruptible foreign calls;
  • добавлен модуль Hooks в GHC API;
  • кодогенератор LLVM теперь поддерживает динамическую линковку;
  • добавлена поддержка Unicode left/right single quotation marks (i.e. U+2018 and U+2019) для сообщений компилятора, если текущая локаль поддерживает Юникод.

Страница загрузки

>>> Подробности

 ,

encyrtid
()

MongoDB 2.6

Новости — Open Source
Группа Open Source

Сегодня объявлено о выходе новой версии документо-ориентированной СУБД MongoDB. Версия 2.6 является крупнейшим релизом MongoDB из когда-либо выходивших.

Основные изменения:

  • улучшение работы aggregation framework:
    • db.collection.aggregate() возвращает курсор, который теперь может содержать результатирующий набор любого размера;
    • aggregation pipeline теперь поддерживает оператор $explain;
    • добавлена возможность использования более эффективных external-disk-based процессов сортировки;
    • добавлены новые стадии в pipeline:
      • $out для вывода коллекции;
      • $redact для дополнительного контроля за доступом к данным.
    • добавлены новые и изменена работа существующих операторов:
  • улучшения работы insert и update:
    • MongoDB сохраняет порядок полей документов последующих операций записи за исключением следующих случаев:
      • поле _id всегда первое поле в документе;
      • обновления включающие $rename поля могут привести к изменению порядка полей.
    • добавлены новые, либо улучшена работа существующих операторов:
      • оператор $bit поддерживает операцию побитового xor;
      • операторы $min и $max выполняют условное обновление в зависимости от относительного размера указанного значения и текущего значения поля;
      • для оператора $push улучшена поддержка модификаторов $sort, $slice и $each, добавлена поддержка $position;
      • добавлен оператор $currentDate.
    • оператор $mul для мультипликативного инкремента при операциях вставки и обновления.
  • новый протокол для операций записи;
  • улучшения безопасности;
  • улучшения движка запросов;
  • улучшение механизмов построения индексов;
  • большое количество прочих изменений.

Полный changelog

Страница загрузки

>>> Подробности

 ,

encyrtid
()

Rust 0.10

Новости — Mozilla
Группа Mozilla

Вышла новая версия Rust, языка программирования разрабатываемого Mozilla. Релиз несет в себе около 1500 изменений и исправлений ошибок.

Основные изменения:

( читать дальше... )

>>> Подробности

 ,

encyrtid
()

musl libc 1.0

Новости — Open Source
Группа Open Source

Сегодня вышла версия 1.0 musl, свободной реализации стандартной библиотеки языка C. musl реализует стандарты ISO C и Posix, плюс набор расширений используемых в системах на базе Linux. Код распространяется под лицензией MIT (начиная с версии 0.9.). Основные изменения:

( читать дальше... )

>>> Подробности

 ,

encyrtid
()

Bodyfuck

Форум — Development

Оказывается есть и такое:

bodyfuck is a computer programming environment that translates bodily movement into computer programs. Each physical motion committed by the programmer/performer becomes an operation in the esoteric programming language brainfuck. Theoretically, because bodyfuck is Turing-complete, all computable operations are possible. Despite this, physical difficulty in implementing more complicated programs may prove to concede the theoretical limitations of the potentially computed output.

http://www.nikhanselmann.com/public/etc/thesis/

 bodyfuck, ,

encyrtid
()

Анонсировано кодовое имя Debian 9.0

Форум — Talks

Кодовым именем будет Zurg.

Источник

 

encyrtid
()

Firefox 27

Новости — Mozilla
Группа Mozilla

Доступна новая версия свободного браузера Mozilla Firefox. Основные изменения:

  • возможность одновременного запуска нескольких сервисов посредством Firefox SocialAPI;
  • TLS 1.1 и TLS 1.2 включены по умолчанию;
  • поддержка протокола SPDY 3.1;
  • добавлена возможность сброса стиля страниц через 'all:unset';
  • добавлена возможность деобфускации javascript в отладчике;
  • поддержка scrolled fieldsets (https://bugzilla.mozilla.org/show_bug.cgi?id=261037);
  • реализована директива allow-popups для iframe sandbox (https://bugzilla.mozilla.org/show_bug.cgi?id=766282);
  • убран префикс для ключевых слов -moz-grab, -moz-grabbing в CSS;
  • поддержка генераторов ES6 в SpiderMonkey;
  • поддержка dashed lines для Canvas;
  • поддержка рендеринга содержимого Azure/Skia в Linux;
  • исправления безопасности (список).

>>> Подробности

 

encyrtid
()

SBCL 1.1.15

Форум — Development

Позавчера вышла новая версия sbcl. Список изменений.

 ,

encyrtid
()

Rust 0.9

Новости — Mozilla
Группа Mozilla

Сегодня было объявлено о выходе очередной версии Rust — языка программирования, разрабатываемого Mozilla.

Основные изменения:

  • Язык:
    • удален тип float, для чисел с плавающей точкой используются типы f32, f64;
    • добавлена возможность включения экспериментальных фич (feature gating) на уровне crate'ов (атрибут '#[feature(foo)]');
    • managed boxes (@) теперь включаются с помощью атрибута '#[feature(managed_boxes)]' и в будущем будут удалены. Вместо них используются типы Gc и Rc;
    • '@mut' удален, вместо него используется тип 'std::cell::{Cell, RefCell}';
    • для возврата в начало цикла используется ключевое слово 'continue' вместо 'loop';
    • запрещено изменение строк через индексацию;
    • новый синтаксис для создания raw-строк ('r"foo"'). Также можно создать raw-строку с помощью совпадающих хэш-разделителей 'r###«foo»###';
    • тип '~fn' теперь пишется как 'proc (args) -> retval { ... }' и может вызываться только однажды;
    • тип '&fn' теперь пишется как '|args| -> ret';
    • тип '@fn' удален;
    • ключевое слово 'do' теперь работает только с procs-лямбдами;
    • одноэлементные tuple-like структуры больше не могут быть разыменованы для получения внутреннего значения. Более полное решение для перегрузки оператора разыменования будет предоставлено в будущем;
    • атрибут '#[link(...)]' был заменен атрибутом '#[crate_id = «name#vers»]';
    • пустые реализации (impl) должны прерываться пустыми фигурными скобками, использование ';' для этого запрещено;
    • ключевые слова больше не могут использоваться как lifetime-имена, 'self'-lifetime больше не имеет особого смысла;
    • удален макрос 'fmt!';
    • удалены макросы 'printf!' и 'printfln!', вместо них используются 'print!' и 'println!';
    • pattern matching поддерживает 'mut' ('let (mut x, y) = (1, 2);'
    • вместо синтаксиса 'extern mod foo (name = «bar»)' теперь следует использовать 'extern mod foo = «bar»';
    • новые зарезервированные слова 'alignof', 'offsetof', 'sizeof';
    • макросы могут иметь атрибуты;
    • макрос 'asm!' теперь включается feature-gated атрибутом '#[feature(asm)]';
    • комментарии могут быть вложенными;
    • значения неявно преобразуются к типам trait'ов которые они реализуют (раньше необходимо было явно использовать 'as');
  • Библиотеки:
    • std: API для 'option' и 'result' был переработан для того чтобы сделать его более простым, консистентным и композабельным;
    • std: Полностью заменен модуль 'std::io', включая планировщик. Полностью реализованы File, TCP, UDP, Unix сокеты, именованные каналы и таймеры;
    • std: в модуль 'io::util' добавлены полезные реализации типов 'Reader' и 'Writer', включая 'NullReader', 'NullWriter', 'ZeroReader', 'TeeReader';
    • std: Тип 'extra::rc' перемещен в std;
    • std: Тип 'Gc' в модуле 'gc' заменит тип '@';
    • std: Удален тип 'Either';
    • std: 'fmt::Default' может быть реализован для любого типа с помощью синтаксиса 'format!(«{}», myfoo)';
  • Инструментарий:
    • команды 'rust' и 'rusti' были удалены из-за отсутствия поддержки;
    • 'rustdoc' был полностью переписан;
    • 'rustdoc' может тестировать примеры кода из документации;
    • 'rustpkg' может тестировать пакеты с аргументом 'test';
    • 'rustpkg' поддерживает произвольные зависимости, включая библиотеки на C;
    • улучшен механизм генерации отладочной информации в 'rustc';
    • улучшены сообщения об ошибках для несбалансированных разделителей в 'rustc';
    • удалена поддержка JIT в 'rustc';
    • исполнимые файлы и статические библиотеки могут быть собраны с LTO (ключ '-Z lto');
    • в 'rustc' добавлен флаг '--dep-info' для вывода сообщения зависимостей инструментам сборки.

Детальный обзор изменений с примерами

>>> Подробности

 ,

encyrtid
()

LLVM 3.4

Новости — Open Source
Группа Open Source

Спустя 6 месяцев разработки было объявлено об очередном релизе LLVM. Этот релиз включает в себя большое количество изменений. Основные изменения:

  • clang поддерживает все возможности текущего рабочего драфта стандарта C++, временно называемого C++1y;
  • значительно улучшена поддержка С++ статическим анализатором;
  • clang включает новые возможности:
    • инструмент, называемый «clang-format» который может быть использован IDE или текстовым редактором для автоформатирования вашего кода в соответствии со встроенными стилями;
    • новый драйвер разработанный для совместимости с Visual Studio на Windows (экспериментальная поддержка).
  • значительный прирост производительности в кодогенераторе;
  • автоматическая векторизация циклов теперь включается при -Os и -O2 в дополнение к -O3 (для каждого уровня включаются, соответственным образом настроенные, эвристики);
  • автоматическая векторизация SLP («straight-line code») теперь тоже включается по умолчанию;
  • платформа R600 поддерживается по умолчанию (вместо экспериментальной поддержки);
  • несколько больших улучшений качества кода и времени генерации в кодогенераторе для PowerPC;
  • clang -O4 больше не включает link-time оптимизацию по умолчанию. LTO доступно с флагом -flto и может быть включено при любом уровне оптимизации. Старое поведение -O4 можно получить с помощью «clang -O3 -flto»;
  • llvm 3.4 будет последним релизом который будет собираться компилятором C++'98. Следующие релизы будут требовать встроенную поддержку С++'11 от компилятора.

LLVM 3.4 - это результат работы невероятного числа людей работавших вместе последние 6 месяцев, но релиз был бы невозможен без нашей команды добровольцев. Благодарности Bill Wendling за его работу по выпуску релиза, а также тестерам: Arnaud A. de Grandmaison, Ben Pope, Dimitry Andric, Duncan Sands, Erik Verbruggen, Hans Wennborg, Nikola Smiljanic, Paweł Worach, Rafael Espíndola, Renato Golin, Sebastian Dreßler, Sylvestre Ledru, and Tom Stellard.

Release Notes

Скачать

>>> Подробности

 ,

encyrtid
()

Новая система модулей для Haskell

Форум — Development

Module systems like that of Haskell permit only a weak form of modularity in which module implementations directly depend on other implementations and must be processed in dependency order. Module systems like that of ML, on the other hand, permit a stronger form of modularity in which explicit interfaces express assumptions about dependencies, and each module can be typechecked and reasoned about independently.

In this paper, we present Backpack, a new language for building separately-typecheckable packages on top of a weak module system like Haskell's. The design of Backpack is inspired by the MixML module calculus of Rossberg and Dreyer, but differs significantly in detail. Like MixML, Backpack supports explicit interfaces and recursive linking. Unlike MixML, Backpack supports a more flexible applicative semantics of instantiation. Moreover, its design is motivated less by foundational concerns and more by the practical concern of integration into Haskell, which has led us to advocate simplicity—in both the syntax and semantics of Backpack—over raw expressive power. The semantics of Backpack packages is defined by elaboration to sets of Haskell modules and binary interface files, thus showing how Backpack maintains interoperability with Haskell while extending it with separate typechecking. Lastly, although Backpack is geared toward integration into Haskell, its design and semantics are largely agnostic with respect to the details of the underlying core language.

Подробности

 backpack,

encyrtid
()

Google проверяет все файлы, загруженные на его сервисы, по базе хешей — и при необходимости отправляет данные в полицию

Форум — Talks

http://sacramento.cbslocal.com/2013/11/21/googles-role-in-woodland-child-pornography-arrest-raises-privacy-concerns/

Недавняя новость вызвала довольно большой резонанс на Западе, но полностью прошла мимо нас. В начале ноября благодаря Гуглу в Калифорнии арестовали подозреваемого в хранении детской порнографии — он залил пару известных фотографий в свой (закрытый?) альбом на Picasa.

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

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

Because of the gravity of the issue, we repeat that we don't allow materials that promote or depict unlawful or inappropriate sexual acts with children or animals. Google has a zero-tolerance policy against child sexual abuse imagery. If we become aware of child sexual abuse imagery on our properties, the content will be removed and we will report it and its owners and purveyors to the appropriate authorities. This means that you can't use our services to create, possess, or distribute child sexual abuse imagery, and you can't use our services to create a gallery of children's pictures with sexually explicit commentary, for example.

Но в статье подробно рассказывается, как на самом деле реализовано это «получим уведомление».

Google says if you have an account with them, it’s not just indiscriminately searching through your pictures, but their servers are looking for possible digital fingerprints the FBI may be interested in.

The company says its database is share with law enforcement and watchdog groups such as the Internet Watch Foundation and the National Center For Missing And Exploited Children.

When an image is found, an employee will inspect it to make sure it’s actual abuse and not just a picture of a child at bathtime.

Итого, каждая фотография, загружаемая на Пикасу (даже в закрытый альбом) проверяется на совпадение хешей с базой незаконного контента. Учитывая, что TOS одинаков и на другие сервисы Гугла, как минимум Google Drive тоже занимается аналогичными проверками, а возможно и Gmail.

В Европе и США такое поведение вызвало дискуссии, насколько оно допустимо и насколько далеко готов зайти Гугл. Проверка почты на ключевые слова и хеши файлов? Может быть, проверка локальных машин гугл хромом? Чего же не сделаешь ради защиты детей!

Добавлю, что в базе данных могут встретится и весьма неожиданные результаты, например http://en.wikipedia.org/wiki/Internet_Watch_Foundation_and_Wikipedia или хентай — в штатах он легален, но в Австралии, Канаде, Англии — нет.

http://habrahabr.ru/post/204760/

 , ,

encyrtid
()

Adblock Plus научился блокировать рекламу и комментарии на YouTube

Форум — Talks

Создатели браузерного расширения Adblock Plus, позволяющего блокировать интернет-рекламу, объявили о запуске ресурса YouTube Customizer page. Сообщение об этом 21 ноября появилось на сайте adblockplus.org. Новый портал позволит пользователям отключать рекламу на видеохостинге YouTube.

С помощью YouTube Customizer page можно отключать отображение на видеохостинге комментариев, рекомендуемых видеороликов, описаний к видео, запретить аннотации внутри видеозаписи, а также отказаться от просмотра «похожих каналов». Для настройки всех перечисленных параметров достаточно установить стандартное расширение Adblock Plus и выбрать соответствующие установки на сайте.

При этом, отключать можно не только все указанные функции YouTube сразу, но и каждую из них по отдельности. Тем не менее, на рекламу, которая показывается непосредственно перед видеозаписью, действие YouTube Customizer page не распространяется.

Расширение Adblock Plus было создано в 2006 году. AdBlock Plus позволяет пользователям блокировать на интернет-страницах нежелательную рекламную информацию и различные баннеры. Создатели проекта также составляют так называемый «белый список» площадок, реклама которых признается «приемлемой». В настоящее время в такой список входят около 150 сайтов. Adblock Plus поддерживается такими браузерами, как Google Chrome, Mozilla Firefox и Internet Explorer.

http://lenta.ru/news/2013/11/22/youtubeads/

 ,

encyrtid
()

Утвержден R7RS

Форум — Development

The final draft of R7RS-small has been ratified by a unanimous vote of the Scheme Language Steering Committee. A formal announcement will be made by the SLSC at the Scheme 2013 workshop.

Источник

Draft

 , ,

encyrtid
()

PyPy 2.2

Новости — Open Source
Группа Open Source

Вышла очередная версия PyPy — интерпретатора языка программирования Python, который написан на Python и может компилировать сам себя. PyPy 2.2 реализует поддержку языка Python версии 2.7.3. Основным нововведением является новый инкрементальный сборщик мусора, разработка которого была проспонсирована Raspberry Pi Foundation.

Основные изменения:

  • инкрементальный GC, избавляющий от большинства долгих пауз, возникавших в ходе сборки мусора;
  • изменен механизм работы счетчиков JIT (JIT counters);
  • NumPy разделен: PyPy содержит только core-модуль _numpypy. Модуль numpy перемещен в https://bitbucket.org/pypy/numpy, numpypy удален. Установка numpy производится отдельно;
  • уменьшен оверхед для non-inlined вызовов;
  • добавлена JIT-компиляция для кода, использующего sys.set_trace;
  • увеличена скорость работы JSON decoding;
  • увеличена скорость работы различных операций копирования буферов (например list-of-ints to int[] при работе с cffi);
  • полностью реализованы все отсутствующие методы os.xxx(), включая os.startfile() на Windows и небольшое количество редко используемых функций на Posix;
  • в numpy добавлено C API, которое взаимодействует с cpyext.

Скачать PyPy

>>> Подробности

 ,

encyrtid
()

ПО uProxy от Google позволит заходить на запрещённые сайты в любой стране

Форум — Talks

Google начала предлагать пакет сервисов для СМИ и групп по защите прав человека, которые поддерживают «свободу самовыражения в Сети».

На презентации в Нью-Йорке компания также показала новую технологию uProxy, которая позволяет гражданам, живущим в странах, где в интернете есть цензура, обходить государственные запреты. Изначально это ПО окажется доступно для браузеров Chrome и Firefox. Программа будет создавать зашифрованное соединение между двумя пользователями (как в VPN), при этом один из них станет предоставлять второму возможность просматривать сайты, которые в его стране закрыты.

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

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

Google показала и новую карту, которая демонстрирует кибератаки по всему миру в реальном времени.

Источник

 ,

encyrtid
()

Ceylon M6 «Virtual Boy»

Новости — Red Hat
Группа Red Hat

Представлен очередной релиз языка Ceylon M6 «Virtual Boy». Ceylon — это JVM-язык, предназначенный для написания бизнес-приложений и разрабатываемый компанией RedHat. Это первый релиз в котором полностью реализована спецификация языка. Основные изменения:

  • новый синтаксис для вызова super-interface членов;
  • nonempty variadic parameters;
  • try with resources;
  • поддержка оператора ** для умножения объектов, реализующих интерфейс Scalable ;
  • статические ссылки («static» member references);
  • метамодель, metamodel expressions и аннотации.

Загрузить (rpm, deb, zip).

>>> Подробности

 , ,

encyrtid
()

Erlang/OTP R16B02 has been released

Форум — Talks

 

encyrtid
()

Programming language Ya

Форум — Development

Наткнулся на такое творение. Для Ъ варианта не будет.

 , ,

encyrtid
()

Вышла новая версия компилятора MLton

Новости — Open Source
Группа Open Source

После трехлетнего перерыва вышла новая версия оптимизирующего компилятора MLton для языка Standard ML.

Основные изменения:

  • Компилятор
    • Улучшение сообщений об ошибках типов
    • Удалена возможность генерации байт-кода
    • Удалена поддержка .cm файлов, с помощью утилиты cm2mlb (доступной в базовой поставке) возможно сконвертировать CM проекты в MLB проекты, сохраняя область видимости идентификаторов модуля
    • Исправление ошибок, changelog
  • Runtime
    • Исправление ошибок, changelog
  • Язык
    • Директива (*#line line:col «file» *) работает с относительными путями файлов
    • В ML Basis annotations добавлена директива «resolveScope»
  • Библиотеки
    • Улучшена производительность String.concatWith
    • Используются битовые операции для REAL.class и других низкоуровневых операций
    • Поддержка дополнительных переменных в Posix.ProcEnv.sysconf
    • Исправление ошибок
    • Удален MLton.Socket
    • Обновлены: ckit library, MLRISC library, SML/NJ library
    • Добавлена MLLPT library
  • Дополнительные инструменты
    • Поддержка работы с относительными путями файлов в директиве (*#line line:col «file.lex» *) добавлена в mllex и mlyacc
    • Исправлена ошибка с обработкой комментариев в mlyacc

MLton осуществляет полнотекстовую (whole-program) компиляцию программ на SML. Полнотекстовая компиляция позволяет достичь высокого уровня оптимизации. Аналогом MLton являются Stalin для Scheme и jhc для Haskell.

MLton поддерживает стандарт SML'97, SML Basis Library, имеет свой FFI (т.е. может вызывать C-функции без оберток) и другие полезные расширения. MLton генерирует небольшие исполнимые файлы,не требующие внешнего рантайма.

Подробнее о языке SML: http://en.wikipedia.org/wiki/Standard_ML

Подробнее о компиляторе: http://mlton.org/Features

>>> Подробности

 mlton,

encyrtid
()

RSS подписка на новые темы