LINUX.ORG.RU

Избранные сообщения x4DA

Anonymous запустили новую социальную сеть на основе блокчейна

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

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

Новая социальная сеть, Minds.com, запущенная при поддержке группы активистов Anonymous, выступающей против цензуры в интернете, надеется посоперничать с Facebook и другими крупными социальными сетями. Прежде всего — за счет строгой приватности конфиденциальной информации, безопасности и наличия прозрачного принципа в продвижении постов.

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

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

На сайте этот принцип работы социальной сети описывается так: “сеть, которая вознаграждает тебя охватом”. Такой механизм намного более понятен, чем алгоритм Facebook, который мало обсуждается представителями компании и, похоже, работает на основе сложного сочетания активности пользователей, кликов и времени, проведённого при просмотре некоторых постов.

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

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

 

Yaremi_Roman ()

Анализ пользователей Common Lisp и Racket

Форум — Development

Common Lisp разрабатывался и используется в предположении, что пользователь программы — программист. Поэтому из языка намеренно исключены сложные для понимания конструкции (пользователь не обязательно квалифицированный программист), поэтому в языке мощнейший отладчик, позволяющий без остановки программы переопределять функции и вообще делать что угодно. Но из-за этого документация по большей части библиотек Common Lisp существует только в виде docstring и комментариев в коде (некоторые вообще считают, что код сам себе документация). Из-за этого обработка ошибок почти всегда оставляется на отладчик (главное сделать рестарт «перезапустить с последней итерации», а там пользователь сам разберётся). Из-за этого в программе проверяется только happy path (пользователь ведь «тоже программист»).

Racket разрабатывался и используется в предположении, что пользователь программы не программист, а задача разработчика написать программу так, чтобы она корректно работала при любых входных данных (если данные некорректны, то сообщала об этом в том месте, где данные были введены). Поэтому в языке эффективная библиотека для написания тестов, система контрактов на уровне модулей, макимально широкий спектр инструментов программирования (разработчик должен быть профессионалом!). Также реализована идея инкапсуляции: считается, что пользователь модуля не должен знать особенности реализации и, более того, не может в своём коде изменить функцию чужого модуля если это явно не разрешено разработчиком того модуля. Исходный код разумеется доступен, но его не требуется смотреть, чтобы использовать модуль. Достаточно документации. Поэтому реализована мощнейшая система документировния Scribble, а при реализации макроса есть возможность обеспечить указание на ошибки в коде, предоставленном макросу пользователем, не показывая потроха макроса.

И поэтому в Racket нет CLOS (есть как минимум две реализации, но не используются) - провоцирует заплаточное программирование (monkey patching), поэтому отладчик намеренно ограничен (если ты отлаживаешь программу, значит ты не знаешь как она должна работать!), поэтому нет разработки в образе (image based) - она провоцирует разработку через отладку (а значит непонимание программы и проверку только happy path).

Таким образом, Racket и Common Lisp несмотря на внешнее сходство являются очень разными языками. И я рекомендую писать на Racket, если только конечными пользователями программы не являются исключительно программисты на Common Lisp.

Взято с http://racket-lang.blog.ru/#post214726099

Хотелось бы знать, что по этому поводу думают пользователи ЛОРа. А также, мне кажется, что для Java и C++ будет где-то такая же разница.

 , ,

monk ()

Не понимаю, что такое замыкание (closure)

Форум — Development

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

Но если прочитать вики, то «Замыкание (англ. closure) в программировании — функция, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции и не в качестве её параметров (а в окружающем коде).» Ну и что? Получается просто, что процедура использует глобальные переменные, ничего примечательного тут вроде и нет.

Так что такое замыкание? Помогите разобраться.

 ,

mentalmenza ()

Отключить переключение раскладки для единственного приложения

Форум — General

Которое называется emacs. Как? Любые методы, кроме установки систем ввода типа scim приветствуются (X11/KDE)

 ,

pashazz ()

Рекламные ролики програмных продуктов от Symbolics из прошлого

Форум — Talks

 , ,

gensym ()

vim to emacs migration

Форум — General

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

До сего дня юзал vim на уровне среднего пользователя. Поэтому терять особо нечего.

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

1) Как сменить визуальную схему? Есть ли более «адаптивные» (что ли) для редактируемого кода схемы? (сужу по vim, в котором привык видеть perl-код. Раскраска вплоть до переменных внутри двойных кавычек - в емаксе не заметил такого, увы)

2) Как ставить плагины? Подозреваю, что нужно отредактировать основной файл настроек, но отсюда следующий вопрос.

3) Где основной файл настроек хранится?

4) Сегодня узнал, что можно плагины включать не закрывая емакс. Надо что-то нажать, чтобы выполнился код, который включает плагин. Что нажимать надо?

5) как включить нумерацию строк? Вычитал, что нужны плагины, а их требуется как-то включить, а это - вопросы 3) и 4)

6) кто может поделиться своими удобными емакс-окружениями, чтобы я понял, к чему захочу устремить свою закрутку настроек и плагинов?

 , ,

bvn13 ()

Отпадный WebGL

Форум — Talks

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

Volcanic
Cloudy Terrain
Clouds
The road to Hell
Elevated
Flame
Main Sequence Star
Insect
The Cave
Catacombs
Cubes And Spheres
furball
Electron
The Inversion Mac
Simplicity
More Spheres
Apollonian
Smaller Cosmos
Star Nest
Angelic Particles

 , , , ,

birdie ()

лямбды в новых язычках - PR или реальные полезняшки?

Форум — Talks

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

Ну что есть lambda в каком-нибудь lisp я представляю и даже понимаю зачем оно и как им пользоваться. В lisp'е. А что имеется ввиду под «лямбдой» например, в C#?

Хотелось бы увидеть не только цитаты из википедии, а простенькие примеры того, как эта лямбда сильно упрощает жизнь, удобство даёт и всё такое. В виде примера кода, разумеется, с пояснениями почему тут именно лямбда крута и без неё некузяво.

Только чтобы это не было аналогом перлового однострочника типа

perl -e 'print sub{ $_[0] + $_[1]; }->(1,2)."\n";'
ибо в этом никаких новшеств и преимуществ нету.

Просто сдаётся мне что «лямбда» в нынешних сишарпах это пиарное название допотопных безымянных функций которые даже в перле есть и никаких новшеств в этом на самом деле нету.

 , ,

Stanson ()

xmonad, emacs, wl,dired,erc

Галерея — Скриншоты

xmonad, 2 монитора через xinerama.

сверху - xmobar + trayer

Неспешно лазаю по исходникам gallium, а так же сижу в IRC через ERC, читаю mailing листы в wanderlust и лор в w3m-emacs.

Плюс (на скрине не видно) использую bitlbee для сидения в жабирах, асечках и прочих вконтактиках.

emacs на втором экране (снизу) запущен на другой машине, окно emacsclient рисуется через X11, почти не тормозит.

Цветовая тема - попсовая solarized-dark, ШГ - битмапный terminus.

Система - debian testing с самособранным 3.6-rc1.

P.S движок не дает вставить изображение шире 3 килопикселя, поэтому сфотошопил второй монитор под первый.

>>> Просмотр (1920x2160, 149 Kb)

 ,

x4DA ()

Инициатива по созданию легковесного десктопа на NetBSD

Форум — Talks

Джереми Рид (Jeremy C. Reed), входящий в управляющий совет организации NetBSD Foundation, представил проект по созданию десктоп-ориентированной сборки NetBSD «light-desktop», построенной на базе пользовательского окружения LXDE и использующего некоторые идеи по организации интерфейса, реализованные в Linux-дистрибутиве Lubuntu. В итоге планируется создать нетребовательное к ресурсам, эффективное с точки зрения энергопотребления, быстрое и отзывчивое десктоп-окружение, оптимизированное для работы с NetBSD и поддерживаемое сообществом NetBSD.

Выбор в пользу LXDE и стиля Lubuntu сделан так как у данного окружения уже сформировалась своя аудитория, компоненты LXDE поддерживать проще, чем GNOME, KDE и XFce, и они изначально развиваются как легковесные. В состав окружения включены такие компоненты, как lxsession (менеджер сессий и демон управления настройками Xsettings), lxpanel (меню, панель, область уведомлний), openbox (оконный менеджер), pcmanfm (файловый менеджер и менеджер рабочего стола). Отмечается, что некоторые из запланированных функций потребуют выполнения работы по написанию для NetBSD альтернативных решений для ряда возможностей, специфичных для Linux (например, планируется портировать simple-scan, завязанный на udev).

Для выполнения офисных задач пользователю предложен редактор документов AbiWord и табличный процессор Gnumeric. Для обмена сообщениями задействован Pidgin, для прослушивания музыки - Audacious, для работы в web - Firefox. Среди других приложений и компонентов, которые использованы в окружении: cups, foomatic-filters, dbus, dejavu-ttf, liberation-ttf, elementary-icon-theme, leafpad, xpad, gnome-system-tools (без библиотек GNOME), evince, file-roller, galculator, scrot. Для обеспечения работы окружения в фоне запущены процессы dbus-daemon, dbus-launch, openbox, pcmanfm, menu-cached, lxsession и lxpanel. Настройка параметров проводного и беспроводного соединения будет производиться через апплет nm-applet (NetworkManager). Для управления питанием будет задействован xfce4-power-manager.

Готовые установочные образы пока отсутствуют, но в репозиторий pkgsrc-wip уже добавлен специальный метапакет light-desktop, позволяющий ознакомиться с текущими наработками проекта. После установки метапакета для запуска окружения можно использовать команду start-netbsd-light-desktop. В рамках пакета netbsd-light-desktop-default-settings подготовлена готовая к использованию конфигурация с визуальной темой в стиле NetBSD и набором вспомогательных скриптов.

Из планов на будущее отмечается создание Live-сборки, создание GUI-интерфейса для управления пакетами через pkgin, формирование элементов оформления в стиле NetBSD и пиктограмм, тестирование system-config-printer-gnome и gnome-system-tools (в том числе интерфейс для совершения привилегированных операций из GUI), создание пакетов для guvcview, chromium, software-properties-gtk, xfburn и xfce4-power-manager.

http://www.opennet.ru/opennews/art.shtml?num=34002

 ,

derlafff ()

Операционная система GNU Emacs завоевывает десктоп! :)

Галерея — Скриншоты

Операционная система GNU Emacs получила новые возможности! Собрал волю в кулак и написал библиотеку, которая практически полностью реализует протокол X11. Библиотека незамысловато называется x11 и написана на чистом Emacs Lisp, но пока имеет статус technical preview, хотя в принципе уже можно писать что-то реальное. За основу пока взяты описания протокола на XML из проекта XCB, которые разворачиваются в реализацию. В результате имеем практически все расширения. Работа с протоколом осуществляется в асинхронном стиле подобно XCB. Чего пока нет:

  • MIT-SHM. Запросы реализованы, но работать через разделяемую память из операционной системы Emacs мы пока не можем, поэтому Будем через сокет закидывать. Тем более, что разница в скорости, говорят (видел где-то в инете замеры), не такая сумасшедшая.
  • XKB. Просто забыл реализовать пару конструкций XML, используемых для описания этого расширения. Это я скоро реализую, поэтому расширение будет работать в полном объеме.
  • Big-requests. Тоже будет реализовано. Расширение содержит всего один запрос. Он реализован. Но именно для этого расширения надо несколько перелопатить процедуры формирования запросов к серверу X, так как подсчет размеров запросов изменяется с этим расширением.
  • GLX. Огромнейший пласт. За него возьмусь сильно позже. Тут же еще надо полностью сгенерировать протокол GL, а он очень обширный.

Остальные расширения вроде бы должны работать, если их описания правильные и если я что-то не упустил принципиального. Я работу всех расширений даже не проверил, так как очень спешу радостью поделиться. :)

(размер экрана уменьшил до 1024x768, чтобы скриншот поменьше был)

На скриншоте сверху робкая демонстрашка в стиле LSD основного протокола X11 (Core protocol). Ну с arcs, rectangles и core fonts все и так понятно. А вот как выведены фотографии? Я пока не настолько крут, чтобы писать растеризацию jpg и png на Emacs Lisp. Пораскинув мозгами, пошел смотреть, чем может помочь ImageMagick. Оказалось, есть там возможность получить дамп картинки в нужном формате. Так и сделал: надо отобразить картинку - дергаем stream, она нам отдает дамп в буфер, мы его отсылаем в сервер X. «Привет, Isden» написана мышкой. Демка отслеживает событие motion-notify и рисует маленький квадратик под указателем. По кнопке «q» - выход (отслеживается событие key-press)

На скриншоте снизу робкая и неумелая демонстрашка расширения XRender. Тоже в стиле LSD. На ней мы видим linear gradient, radial gradient, треугольник и отрисовку сглаженных окружностей. Окружности состоят из трапезоидов. Алгоритм рассечения (tessellation) я применил первый, какой мне пришел в голову - горизонтальными трапециями. Какая есть проблема? Сглаженный текст! Что-то мне писать растеризацию TrueType или Type1 на Emacs Lisp не улыбается. Есть идея написать программку на Си с помощью Xft, которую я буду что-то просить растеризовать, а она результат будет отдавать в Emacs. То есть примерно как и с ImageMagick поступить.

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

Так что есть потенциальная возможность воплотить мечту atoku в жизнь. :)

Традиционная ссылка на обоину: #888888. Старую удалил, так как она надоела, а новую еще не искал. Этот серый цвет реально бесит. :)

>>> Просмотр (1024x1536, 254 Kb)

 , ,

Zubok ()

Быстрая Scheme в численных расчетах

Форум — Development

Многие реализации CL грешат тем, что вещественные числа «приводятся к указателю», как только эти числа покидают пределы функции. То есть, происходит то, что называется в Java и .NET боксингом. А как с этим обстоит дело в Scheme и Racket? Можно ли сделать так, чтобы вещественные числа возвращались без преобразования? Вообще, возможно ли такое в динамическом языке в принципе?

Вопрос возник в связи с тем, что я слышал о том, что некоторые реализации схемы, такие как Stalin, очень и очень быстры. Нид хэлп, buddhist

 ,

dave ()