LINUX.ORG.RU

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

KDE Plasma 5.11

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

10 октября состоялся релиз KDE Plasma 5.11. Данный выпуск включает в себя переработанный интерфейс настроек, улучшения уведомлений, более продвинутый менеджер задач и Vault — систему, которая позволяет пользователю шифровать наборы документов, используя дружественный графический интефейс оболочки.

( Более детальное описание )

>>> Полный список изменений (англ.)

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

 , , , ,

KennyMinigun ()

plibsys — кросс-платформенная системная библиотека на C

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

Недавно ко мне обратились с вопросом, не хочу ли я написать новость об одной из разрабатываемых библиотек (plibsys). В принципе, я не против, поэтому эксклюзивно для LOR.

Что такое plibsys?

plibsys — это кросс-платформенная системная библиотека, написанная на чистом C. Основной упор был изначально сделан на портируемость и поддержку широкого спектра компиляторов. Для достижения этих целей у библиотеки отсутствуют (небольшим исключением является SCO OpenServer 5 ввиду отсутствия на ней потоков) какие-либо зависимости — используются только те вызовы, которые доступны в целевой ОС. Также никакого ассемблера и использования прочих недокументированных возможностей. Для сборки нужен только рабочий компилятор и CMake.

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

  • Платформо-независимые типы данных
  • Потоки и средства синхронизации: мьютексы, условные переменные, блокировки чтения-записи, спинлоки, атомарные операции
  • Межпроцессное взаимодействие: семафоры, разделяемая память, кольцевой буфер
  • Сокеты (UDP, TCP) с поддержкой IPv4 и IPv6
  • Хэш-функции: MD5, SHA-1, SHA-2, SHA-3, GOST (R 34.11-94)
  • Бинарные деревья: несбалансированное, красно-черное, АВЛ
  • Загрузка разделяемых библиотек
  • Работа с памятью: mmap, установка собственного аллокатора
  • Замер времени исполнения (по возможности — в высоком разрешении)
  • Базовая работа с файлами и директориями
  • Парсер файлов INI
  • Макросы для определения архитектуры ЦПУ, ОС и компилятора
  • Различные вспомогательные структуры данных типа связанного списка, хэш-таблицы, обработка строк

На все есть документация.

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

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

 , , ,

HardCode ()

Макросы в Scala против макросов в Common Lisp

Форум — Development

Я почитал туториал от 2016 года и написал очень краткую выжимку из него.

Что можно сказать? Во-первых, CL как язык для МП устаревает и теряет привлекательность буквально у нас на глазах. В scala, конечно, МП менее удобно из-за более сложного синтаксиса, зато в Scala появилась концепция семантической БД - это результат семантического анализа текста со всеми типами данных и декларациями. В CL такой семантической БД нет. Притом что Scala - это даже не первый такой язык. Если я правильно понял, clang тоже такое умеет.

Среди не афишируемых целей проекта Яр есть цель сделать именно такую семантическую БД. Теперь нет смысла это скрывать.

Поимимо этого, кто не в курсе - Common Lisp _не является_ гомоиконным языком, потому что есть #. , квазицитаты частично обрабатываются, а комментарии теряются. Другие побочные эффекты чтения - это создание символов в пакетах. macro character-ы назначенные пользователем, могут делать что угодно, вплоть до запуска ракеты. Т.е. нельзя зачитать файл лиспа и проанализировать его средством без последствий для среды. Вообще нельзя. Для Java и C это сделать можно, а для лиспа - нет. Фига себе, да? Ещё одной целью проекта Яр является создание истинно гомоиконного языка. Причём это не моя прихоть, а обязательное условие для создания полноценной IDE, а не набора костылей, каковым является SLIME.

Если ещё остались энтузиасты лиспа, можно попробовать сделать семантическую БД для CL. Есть augment-environment, к-рая поддерживается в CCL. В ней есть кое-какая информация о типах. Хотя на самом деле скорее всего придётся патчить компиляторы.

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

И ещё одно странное наблюдение - похоже, что макросы в Scala никому особо не нужны.

 , ,

den73 ()

Как организовать refresh DRAM при перетыкании с компа на комп?

Форум — Linux-hardware

В общем, имеется комп, в памяти которого сидит руткит от ЦРУ. Даже примерно уже понятно где. Имеется плата куда можно воткнуть планку..

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

Для этого надо обеспечить общую землю между мамкой и платой для наказаний. Это просто. Далее, надо загнать планку в режим сна, при котором она тристейтит все входы, кроме CKE и обновляет сама себя. В принципе, все что нам нужно это подпаять жырный ионистор параллельно питанию планки памяти и добавить достаточно высокоомную подтяжку для CKE к нулю, чтоб когда проц загонит память в self refresh, она там и осталась после выдирания.

Что меня смущает: ионистор может очень много тока жрать. Нет предложит ли кто способ заряжать его плавно?

через диод и резистор с зарядной цепи на ионистор + диод с ионистора на питание микросхем. 1.8вольт+0.6+0.6=это 3 вольта. ну можно еще германиевый сунуть последовательно, до 3.3 докатить. Кто нибудь видит явные косяки в этой реализации? Может я что-то не углядел.

Еще вопрос: может кто-то работал в DDR3 и подскажет, достаточно ли просто подтянуть CKE через 4.7к к земле, как на DDR2? На форумах пишут что так делали и брат был жив, но возможно у кого-нибудь есть альтернативное мнение.

 ,

ckotinko ()