The 3L Project — новая ОС на кикстартере
Написана одним человеком за год на Scheme (R7RS). Лицензия: 3-clause BSD и GPLv2.
Подробности:
https://www.kickstarter.com/projects/637581271/the-3l-project
Написана одним человеком за год на Scheme (R7RS). Лицензия: 3-clause BSD и GPLv2.
Подробности:
https://www.kickstarter.com/projects/637581271/the-3l-project
Я знаю, что есть модные шеллы — zsh, fish например, которые вроде как круче, но уже давно пользуюсь bash даже без bash-completion. А вот теперь задумался, что дефолтный шелл всё-таки неидеален и стоило бы его перенастроить или вообще перейти на другой. А ещё есть tcsh, интересно, кто-то его использует ещё?
Да и эмулятор терминала, возможно, стоило бы сменить, только не знаю, на что. Сейчас пользуюсь Konsole, так как терминалы на vte (в тч Gnome Terminal и Terminal из XFCE) неприемлемы по причинам безопасности, но возможностей не хватает малость, например нету нормального сохранения и восстановления сессий — то есть имён вкладок и соответствующих им путей и корректного восстановления истории терминалов после перезагрузки. Так же с некоторыми терминалами есть проблема — они могут исполнить произвольный код просто при выводе на экран содержимого файла без экранирования или потенциально даже при ls или find на директории со специально подобранными именами файлов. Хотелось бы такой эмулятор терминала, в котором esc-последовательности строго ограничены пределами содержимого открытой вкладки, не позволяя изменить, например, её имя.
Кстати ещё есть такой эпический баг-фича: паттерны типа *.txt при раскрытии могут привести к неожиданным последствиям, если забыть поставить перед ними два дефиса точку со слешем. Интересно, в альтернативных шеллах эта проблема решена как-то?
Я просто оставлю это здесь: http://ocw.mit.edu/courses/index.htm
Всех приветствую.
Хотел спросит вездесущих СПВ лора, о электронных штуках которые сигнализируют о том, что сейчас заснешь. Обсуждаем именно такие штуки, а не «устал за руль не садись», «маж уши финалгоном» и прочие средства.
Интересует реальная эффективность. Ну чтобы заплатил денег и она точно будет пищать если начнешь клевать носом. А не так, два клевка он пропищит, а на третий забудет. Особенно интересует реальный личный опыт.
В некоторых случаях ехать нужно, а отдыхать или взбадриваться возможности нет.
Линукс тут как обычно не причем.
Собственно, как лечить? Катаешь длинный псто, лезешь в соседнюю вкладку, скажем, за ссылкой и, вернувшись, обнаруживаешь, что все с трудом написанное без предупреждения отъехало в страну вечной охоты — фокс вкладку уже заботливо выгрузил и грузит заново, уже без введенного текста. Памяти 2 Гб. Доколе?
Вообще, под синтаксисом часто понимаются разные вещи, понятие довольно расплывчатое. Кстати, есть ли четкое, абсолютно однозначная, каноническая трактовка?
Я бы, наверное, интуитивно определил это так. Не-синтаксис — это только лишь вражения языка. Сюда не входят любые макроопределения, спецформы, statements, операторы и так далее. В таком случае синтаксиса нет в том смысле, что нет такого синтаксиса, который бы нельзя было изменить средствами самого языка. Грамматика при этом, конечно, никуда не денется.
Опять же, тут есть тонкая грань. Если каждому оператору соответствует какое-либо выражение языка, то все еще можно считать, что в языке все есть выражение. В таком случае, это можно считать легкой косметикой. Например, оператору := в Io соответствует выражение setSlot. Спецформе define в Scheme не соответствует никакое выражение. Соответственно, на Io можно писать используя одни только выражения, на scheme — нет.
Таким образом, к языкам без синтаксиса(или как это лучше назвать) можно отнести те, на которых весь код может быть написан без использования препроцессора, на одних только выражениях.
Наверное, tcl сюда входит, picolisp, возможно смоллток(поправьте, если я ошибаюсь). А еще есть?
UPD точней будет, наверное, не «без синтаксиса», а «независим от синтаксиса»
какие труды/произведения по вашему стоят более чем однократного ознакомления?
ps. а не укажить ли ОЛЛ bell system technical journal Volume 63, Issue 8 на?
Emonoda — это набор программ для организации и управления коллекцией торрентов. Он поможет вам следить за актуальностью раздач, автоматически обновляя торрент-файлы с популярных в рунете трекеров, а также вычищать старые данные, просматривать мета-информацию и делать множество других вещей. В набор входят такие команды:
Кроме того, Emonoda включает специализированные скрипты для rTorrent, позволяющие реализовать групповое управление трекерами (включение-отключения для раздач) и отправки статистики в collectd.
Программы написаны на Python 3 (требуется версия >= 3.4) и могут быть установлены из PIP или AUR.
( Список трекеров и клиентов под катом )
>>> Подробности
В общем, есть у меня класс, в котором происходит относительно много мат. операций. И вследствие этого, имеется большое количество переменных. Сама суть скрипта в этих мат. операциях и заключается, поэтому к ним извне класса точно не будет надобности обращаться, в случае, если они будут глобальными.
Так вот, вопрос: с точки зрения производительности, имеет смысл делать все эти переменные локальными или оставлять их глобальными?
Некоторые документы формируются в формате PDF. Прошу вашего совета, как организовать их защиту? Требование - чтобы по выясненной утечке можно было определить человека, «слившего» информацию. Для каждого может генерироваться своя версия документа.
Возможно, в PDF есть какой-нибудь «пароль администратора», чтобы изменять основной пароль? Смысла в пароле нет, если его может изменить тот, кому не положено.
Также думаю использовать уникальные для каждого человека водяные знаки, какой библиотекой проще всего воспользоваться для их генерации?
Линукс тут при том, что генератор защищенных PDF планируется реализовать на Линуксе с применением свободного ПО.
Время от времени меня посещает такая мысль. Почему бы в ООП не ввести абстракцию эфира? Пусть объект посылает сообщение не конкретному объекту, а всем сразу, одновременно, а они, слушатели, уже сами решают, как его обрабатывать, и обрабатывать ли вообще. Пусть это будет основа, далее мы можем создавать разные эфиры, и подключать к ним те или иные объекты, так что один объект может слушать несколько эфиров сразу.
Собственно, частный случай этого уже есть, это паттерн Observer. Но можно сделать этот принцип general-моделью.
Данная модель подкупает своей простотой, изяществом, и естественностью. Последнее особенно бросается в глаза, ведь ООП — это моделирование реального мира, а в реальном мире так оно и есть — все «сообщения» широковещательны по-дефолту. И, кстати, данная модель параллельна и асинхронна по своей сути — все объекты могут обрабатывать одно сообщение одновременно.
Всем доброго дня и хорошего настроения!
Комрады, долгое время пишем проект на Flask+Python3+PGSQL. Почему? Так исторически сложилось, стечение обстоятельств. Хотя, скажу я вам - Flask вещь в себе, не плохая. Мне даже чем-то напомнила Sinatra и то, что я в своё время писал очень долгое время.
Так как с лета был «в танке» из-за большого проекта - потерял совсем чувство ориентации в трёхмерном пространстве, вылез из леса и взглянул на языки программирования, которых сейчас навыходило как грибов. Вот и появились вопросы к их адептам, которых развелось как школьников на первое сентября:
Из не совсем нового:
Ну и главный вопрос теперь? Хоть что-то из нового - годно и нужно, или все так же - улыбаемся и машем, хлебаем борщ говоря и новомодных языков и идем дальше лабать на PHP/Ruby/Python/TCl/C++?
У адептов новых языков - оно вам реально надо и помогает или просто - вы девственники, хипсторы и так модно?
Видел пару тредов, что сдесь есть читающие люди. Вы бы не могли поделиться названием книг которые вы прочитали в этом году ? или в последнее время ? или что читаете. Просто очень интерсно что читают мои друзья линуксоиды. И что бы посоветовали прочитать, (кроме изучение русс языка). Спасибо вам. В ответе просто коротко можно написать так
- Название книги (Жанр)
кроме лапты конечно :-)
то есть если планшеты подключились к одной точке доступа - во что такое можно дружно сыграть ?
PS. Android будем считать что тот же linux, и поэтому не offtop
Насколько реально использовать? Вопрос распадается на несколько.
1. Понимание языка (можно ли его понять по переводным книжкам). Тут у меня сразу есть готовое мнение: на tcl.tk лежит много информации, без которой жить нельзя, например, «как обработать двойной клик мышью». Но переводных книжек я сам не читал, может быть, там эта информация тоже есть. Существенных русскоязычных сайтов я за 5 минут не нашёл.
2. Понимание сообщений об ошибках. Здесь, понятное дело, нужна локализация. Кто-нибудь может прикинуть трудоёмкость? Имеется в виду не локализация ключевых слов языка, а локализация только сообщений и форматов.
Читаю про вывод типов, и возник вопрос по этому абзацу:
По-существу, Хиндли-Милнер (или «Дамас-Милнер») это алгоритм для вывода типов значений на основании того, как они используются. Буквально, он формализует интуитивное представление о том, что тип может быть выведен из поддерживаемых им операций. Рассмотрим следующий код на псевдо-Scala[4]:
def foo(s: String) = s.length // заметьте: без указания типов def bar(x, y) = foo(x) + y
Просто посмотрев на определение функции bar, мы можем сказать, что ее тип должен быть (String, Int)=>Int. Это не сложно вывести. Мы просто смотрим на тело функции и видим два способоа использовать параметры x и y. x передается в foo, который ожидает String. Следовательно x должен иметь тип String для того, чтобы этот код скомпилировался. Более того, foo возвращает значение типа Int. Метод + класса Int ожидает параметр, также Int, следовательно y должен быть типа Int. Наконец, мы знаем, что + возвращает Int, а значит это и есть тип, возвращаемый bar.
Но что будет в случае, если функция foo полиморфна, и принимает несколько типов, и если операцию + имеет не только число, но и строка? И еще несколько типов? Как же тогда можно вывести тип?
Предположим, производитель потребительского оборудования, выпустил бы игровую приставку, смартфон, медиаплеер или подобное устройство, на котором бы всё железо и софт были полностью открытые в том плане, что свободно доступны спецификации всех применяемых компонентов.
Кроме того, всё ПО на таком гипотетическом устройстве свободное — то есть публично доступны исходные коды и инструкции, как заменить ПО на купленном устройстве.
Но при этом устройство идёт с прошивкой по умолчанию, собранной с такими опциями, чтобы оплаченный через сервис производителя контент было невозможно сохранить, скопировать на другое устройство и тд. При этом у каждого экземпляра устройства есть некий ключ, который сохранялся в базе данных производителя. Если ты заменяешь ПО на свою сборку, то устройство продолжает работать во всех отношениях, но оригинальная прошивка сделана так, чтобы при этом затирать уникальный ключ устройства, так что купленный DRM-контент уже нельзя было бы расшифровать, а новые покупки с этого устройства будут невозможны, поскольку ключ потерян. Теоретически может быть опция восстановления оригинальной прошивки с генерацией нового ключа и добавлением его в базу, но только в авторизованном сервисном центре.
Предположим, такие устройства бы появились. Как вы думаете, с этической позиции они были бы приемлемы или нет? Стали бы вы пользоваться таким устройством?
Какое устройство было бы лучше, с проприетарной прошивкой, но без DRM или такое?
Прошу знающих подсказать:
1) Какие есть преимущества у scheme вместо питона в линуксах для самостоятельных скриптов? Guile жирноват (15 мегов оперативы интерпретатор съедает сразу против питоновских 2.7мб и запускается чуть дольше), но может оно того стоит?
2) Имеет ли смысл делать конфиги linux-only программы, написаной на си/pascale/др компилируемом языке, на scheme (подразумаваю использование guile) или лучше взять lua?
В интернетах сотни реализаций scheme, причём даже hello-world не на всех запускается, но мне понравилось, как выглядят конфиги — они более читаемые, чем на lua.
Допустим вам нужно скопировать кучу мелких файлов суммарным объёмом в несколько десятков Гбайт с одного компьютера на другой. С Linux на Windows. Каким способом вы воспользуетесь? Шифрование не нужно, оба компьютера - ваши, самому себе вы доверяете, гораздо важнее скорость.
********************************************************************************************************************************************************************************************************************************************************************************************************************************
*********************************************************************************************************************
***********************************************************************************************
**********************************************************************
***************************************************************
**********************************************************
*************************************************
Всего голосов: 552
Как-то осталась незамеченной новость о том, что 3-го декабря проект Let’s Encrypt перейдя в состояние бета-релиза начал раздавать доверенные сертификаты всем желающим (уже без необходимости регистрации).
Описание процедуры получения сертификатов: https://letsencrypt.org/howitworks/
← предыдущие | следующие → |