LINUX.ORG.RU

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

Вышла новая версия Open CASCADE Technology (OCCT) 7.5.0

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

OCCT - единственное актуальное на сегодняшний день ядро геометрического моделирования с открытым исходным кодом, распространяемое под свободной лицензией. Open CASCADE Technology является важной составляющей таких проектов, как FreeCAD, KiCAD, Netgen, gmsh, CadQuery, pyOCCT и других. Версия OCCT 7.5.0 включает в себя более 400 улучшений и исправлений по сравнению с предыдущей версией 7.4.0.

Версия Open CASCADE Technology 7.5.0 содержит новые функции большинства модулей и компонентов. В частности, Draw Harness 3D Viewer позволяет перемещаться по большим моделям реального размера, включая навигацию в стиле телепорта в режиме просмотра VR. Функциональность обмена данными была расширена благодаря поддержке записи glTF 2.0. Новые функции визуализации включают в себя дополнительные текстурные карты для улучшения визуального качества, корректную визуализацию вывода sRGB для полупрозрачных материалов и обработку градиентов, а также процесс PBR Metallic-Roughness для улучшения качества визуализации металлических объектов. Поддержка символов Unicode дополнена соответствующими улучшениями в трансляторе STEP, консоли DRAW, ресурсах сообщений и визуализации. Были представлены новые семплы, демонстрирующие использование OCCT 3D Viewer, собранного как WebAssembly в браузере, и обзор базового использования C++ API различных функций OCCT.

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

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

 , , , , occt

OCCT
()

Выделение слова под курсором в Emacs

Форум — General

Заметил, что часто приходится выделять слова стоящие под курсором, используя evil-mode, применяю комбинацию (evil-inner-word) viw/viW, но в случае когда встречаются скобки, одинарные кавычки вплотную прилегающие к слову они выделяются также, что не очень удобно.

Например, если расположить курсор на слове bounds-of-thing-at-point-mod и попытаться выделить ‘viW’,

 (funcall (get thing 'bounds-of-thing-at-point-mod))

то выделится слово с одинарной кавычкой и двумя скобками в конце.

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

В инете нашел:

(defun mark-whole-word (&optional arg allow-extend)
  "Like `mark-word', but selects whole words and skips over whitespace.
If you use a negative prefix arg then select words backward.
Otherwise select them forward.

If cursor starts in the middle of word then select that whole word.

If there is whitespace between the initial cursor position and the
first word (in the selection direction), it is skipped (not selected).

If the command is repeated or the mark is active, select the next NUM
words, where NUM is the numeric prefix argument.  (Negative NUM
selects backward.)"
  (interactive "P\np")
  (let ((num  (prefix-numeric-value arg)))
    (unless (eq last-command this-command)
      (if (natnump num)
          (skip-syntax-forward "\\s-")
        (skip-syntax-backward "\\s-")))
    (unless (or (eq last-command this-command)
                (if (natnump num)
                    (looking-at "\\b")
                  (looking-back "\\b")))
      (if (natnump num)
          (left-word)
        (right-word)))
    (mark-word arg allow-extend)))

выделяет только в право, при повторном использовании команды. Не понятно, как работают skip-syntax-(forward|backward) и looking-(at|back).

Пробовал использовать evil-select-inner-object, но понял, что в этом мало смысла, слишком связано (с evil) все, проще написать с нуля, но опыта не хватает.

 

lintiay
()

Импортозамещаемся

Форум — Talks

Поговорим о флюсах. Я уже очень долгое время использую немецкий Ersa FMKANC32, и полностью им доволен, однако он неожиданно, как приход зимы, закончился, новый я не заказал, а брать официально - я не миллиардер. Так что были куплены в ближайшем лабазе тоже именитый американский Fluxplus 612 и расово отечественный Rusflux HR-500-LK. Также в сравнении будет участвовать китайский Kingbo RMA-218.

Активность
Самый активный китаец. Американец менее, наш ещё менее. То есть для облуживания ржавых гвоздей не подойдёт. Однако это не вазелин, и его активности более чем достаточно для пайки SMD и BGA, то есть на слабоокисленных контактах.

Проводимость
Мегаомметра у меня нет, потому такие тесты не делал. Однако они есть на ютубе, и русфлюкс даже в неактивированном состоянии укладывается в ГОСТ (100 МОм). Китаец же и после активации имеет весьма высокую проводимость, особенно это будет заметно на линиях данных. Паял как-то мультиконтроллер им, курсор тачпада офигевал. Для пайки BGA использовать его нельзя категорически, только полная отмывка. Американец тут нареканий не вызывает, но его тоже желательно отмывать.

Кипучесть
Почти не кипит, даже в больших количествах. Китай, кстати, тоже не особо кипучий, а вот от флюксплюса может и микруху сдвинуть.

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

Запах
Российский вообще почти не пахнет. Америка пахнет химическим ароматизатором лимона. Мне этот запах, кстати, нравится (я токсикоман), но окружающие не в восторге. Эрса воняет химией и тухлыми носками, а кингбо как 30 эрс одновременно.

В остальных сравнениях эрса не упоминалась, поскольку примерно аналогична efd fluxplus, только менее активна.

Я сегодня отреболлил и припаял на HR-500-LK интеловский комбинированный процессор, снял и поставил на родных бессвинцовых шарах амдшный север rs880, поменял мультиконтроллер. То есть, по сути, самые сложные задачи, провода паять и канифолью можно. Впечатления отличные. С учётом того что rusflux дешевле fluxplus в 4 раза, а эрсы, если смотреть официальный ценник, в 16 (иначе в 5), а качество одинаковое по сути, то не вижу смысла платить больше. Хватит кормить Америку!

Дешевле всех, конечно, Китай. Он, можно сказать, бесплатный. Банка 100 г. стоит 370 рублей, а с каким-то купоном я её взял за 100. Для проводов и разъемов пойдёт. Для чего-то серьёзного - нет.

Закажу завтра остальной ассортимент отечественного производителя. Особенно интересен NRK-518-A, он более активен, чем обозреваемый, и работает до 350 градусов, под паяльник самое то. А этот всё же больше для бесконтактной пайки.

 , ,

K50
()

Самые обсуждаемые темы LOR'a

Форум — Talks

Кто хочет быть в курсе самых будоражащих лоровских событий?

Короче, здесь представлена десятка самых обсуждаемых тем на LOR’e (отсортированных в порядке убывания) по каждому из следующих разделов: новости, talks, development. За все годы и месяцы.

Например, за апрель 2003: https://takiz.github.io/lor-stats/2003/4.html

 ,

dadd
()

Как ни крути, а глобальное потепление - рулез.

Форум — Science & Engineering

На просторах интеренета попалось некоторое количество интересных вещиц:

Простая и наглядная, сугубо научная иллюстрация - https://climate.nasa.gov/climate_resources/3/graphic-warmer-earth-greener-north/

Канадцы тайно радуются глобальному потеплению: https://www.businessinsider.com/why-canada-secretly-loves-climate-change-2017-5

Холод убивает в 20 раз больше людей чем жара: https://www.sciencedaily.com/releases/2015/05/150520193831.htm

и т.п.

TL;DR: При дальнейшем ковырянии в гугле выяснилось, что глобальное потепление, вызванное парниковым эффектом, если таковое вообще происходит, это, на самом деле вовсе не проблема, а решение. Решение большинства проблем человечества и природы в чистом виде.

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

Повышение средней температуры: Да, ледники тают от этого, но это как раз очень хорошо - больше температура - меньше льда, меньше льда - больше воды, больше воды + больше температура - больше испарение, больше испарение - больше дождей, больше дождей - меньше пустынь. Пустыни и вечная мерзлота становятся пригодными для жизни. Кстати, оказалось что все пустыни на Земле сформировались как раз в наиболее холодные периоды земной истории, а когда на Земле был парниковый эффект и тёплый климат - никаких пустынь вообще не было.

Суммируя парниковый эффект и глобальное потепление им вызванное, получаем примерно следующее: Сейчас среднегодовая температура воздуха в Москве примерно +5 градусов, а сезонный размах колебаний температуры от -20 до +30. Эколожцы стращают, что если среднегодовая температура поднимется на 10 градусов, то все сразу сдохнут летом от жары в +40, гроб, гроб, кладбище. И вот тут-то надо эколожцам по ручонкам-то настучать. Ведь это может случится только в том случае, если орбита Земли станет ближе к Солнцу при сохранении текущего климата, что определённо не наш случай. Нас-то пугают парниковым эффектом. А в случае роста среднегодовой температуры из-за парникового эффекта всё будет совершенно иначе (см. про эоцен ниже) - количество энергии от Солнца не изменится, а средняя температура планеты возрастёт из-за уменьшения градиента температуры от экватора к полюсам. Кроме того, уменьшатся сезонные, и суточные колебания. В итоге получим, например, вместо колебаний -20 - +30 и средней +5, среднюю +15 и размах +5 - +25. Т.е. летом может стать даже немного прохладнее, а вот долбаной зимы уже не будет.

Тропики: «Всё сгорит, будут раскалённые пустыни.» Нет. Для тропиков вообще мало что изменится. Прямо сейчас суточные колебания температуры в тропиках около 10 градусов, а сезонные и того меньше. Потому что в тропиках парниковый эффект уже присутствует по полной программе, просто он локальный. Там где парникового эффекта в этих широтах нету, расположены, внезапно, пустыни, с суточными колебаниями темпартур аж в 50 градусов. Так что если парниковый эффект станет глобальным, то для тропиков почти ничего не изменится. А вот пустыни превратятся в тропики.

В истории Земли был такой период - эоцен, когда количество парниковых газов в атмосфере было выше текущего в разы, если не на порядки, а средняя темпаратура из-за парникового эффекта была на 10-15 градусов выше текущей. Т.е. страх и ужас всех эколожцев в реале на Земле. И, внезапно, именно во времена эоцена Земля была действительно зелёной планетой от полюса до полюса, без пустынь и ледников. Миллионы лет этого периода Земля была насыщена жизнью буквально на каждом квадрате поверхности. И всё благодаря парниковым газам и глобальному потеплению. Парниковый эффект присутствовал и в другие, столь же продолжительные эпохи. При этом, ледниковые периоды длились несравнимо меньше тёплых периодов и всегда заканчивались потеплением из-за парникового эффекта. Вымирания происходили при наступлении ледниковых периодов, а не при потеплении. Т.е. тёплый парниковый климат - это нормальное, естественное состояние климата Земли.

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

Почему же эколожцы так противятся глобальному потеплению? А вот тут вылезает интересная ситуация. Из-за потепления и смягчения климата огромные, мёртвые нынче территории станут пригодны для жизни, от Таймыра до Антарктиды, включая пустыни у экватора, причём не только для жизни, а для хорошей жизни, с богатым земледелием, отсутствием затрат на обогрев жилищ, добычу пресной воды и т.д. Это может кардинально изменить политический расклад в мире, да и вообще в корне решить кучу проблем, на которых сейчас наживаются транснациональные корпорации.

Для нашей страны глобальное потепление тоже сулит огромные выгоды.

Что человечество потеряет в результате? А ничего особенного. Несколько городов станут Венецией, ну может вымрут несколько видов заточенных на жизнь в экстремальных условиях. По сравнению с плюсами в виде новых огромных пригодных для жизни территорий и расширением многообразия природы - это ничтожные потери.

Итак, на самом деле эколожцы борются против того, чтобы наша планета действительно стала зелёной. Они против того, чтобы половина Земли перестала быть необитаемой. Они категорически против того, чтобы климат на Земле стал комфортным для людей и природы везде, а не только в местах проживания золотого миллиарда.

В общем, Грета стала выглядеть ещё мерзее.

ЗЫ: Эколожествующей школоте и хипстоте с горящими пердаками, притворно требующей научного пруфца в бессилии что-либо возразить:

https://advances.sciencemag.org/content/5/9/eaax1874

https://www.pnas.org/content/pnas/115/6/1174.full.pdf

https://www.pnas.org/content/pnas/102/42/14964.full.pdf Тут приведены не только среднегодовые темпаратуры эоцена для Европы, но и средние температуры самого холодного и самого жаркого месяца. Можно легко убедиться, что парниковый эффект приводит к резкому снижению сезонных колебаний температуры.

https://es.ucsc.edu/~jzachos/pubs/Tierney_etal_2017_NatGeosci.pdf

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

https://www.sciencedirect.com/science/article/pii/S0031018219304845

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

 , ,

Stanson
()

Аффинные преобразования в OpenCV и MXNet

Форум — Development

Привет всем!

Есть, значит, у меня картинка и матрица аффинных преобразований для неё. Нужно исказить картинку и обрезать под требуемый размер. Сейчас это делается так:

result = cv2.warpAffine(img, affine_matrix, (target_w, target_h), borderValue=0.0)
и всё работает. Но не быстро, т.к. на процессоре. В приложении много где используется фреймворк MXNet, который может ускоряться на GPU. Прямого аналога для warpAffine я там не нахожу. Результаты гугления по теме очень скудны, нашлось только немного документации c одним примером. В принципе, это то, что нужно, замена выглядит как-то так:
grid = mx.ndarray.GridGenerator(data=affine_matrix, transform_type='affine', target_shape=(original_h, original_w))
img_nchw = mx.ndarray.array(img)
img_nchw = img_nchw.transpose((2, 0, 1))
img_nchw = mx.ndarray.expand_dims(img_nchw, 0)
result = mx.ndarray.BilinearSampler(img_nchw, grid)
(Понятно, что картинку потом надо превести к прежнему виду, сделать transpose, squeeze...)

Но есть большая проблема: GridGenerator надо передавать совсем не такую матрицу, как в warpAffine. Некоторые элементы матрицы достаточно понятно преобразуются в вид для GridGenerator. Например, в warpAffine увеличение в два раза задаётся как 2, а для GridGenerator - 0.5. Это работает, если задавать только данные элементы, без искажений. А вот с коэффициентами для искажений не понятно совсем, подобрать их не получается.

Может быть кому-то попадалась внятная документация по mx.ndarray.GridGenerator с примерами?

P.S.: Да, можно найти другие варианты, вместо MXNet для издевательств над картинками силами GPU. Но не хочется увеличивать количество зависимостей. Кроме того, MXNet используется много для чего и важно сохранить контекст размещения данных, т.е. чтобы массивы не надо было пересоздавать.

 , , , ,

ls-h
()

emacs org-mode зависимости между событиями по датам

Форум — General

Не могу найти, каким образом можно связать события по датам. Например, есть три события А, Б, В. Событие Б должно зависеть от события А (+2 дня), а событие В должно зависеть от события Б (+1 день). Дата события А выбирается произвольно. Таким образом, при изменении даты выполнения по событию А по цепочке меняются даты по событиям Б и В.

Из коробки такого не нашел, есть ли какие-то расширения?

 ,

Yorween
()

Free as in Freedom на русском: Глава 7. Дилемма абсолютной морали

Новости — Документация
Группа Документация

Free as in Freedom на русском: Глава 1. Роковой принтер

Free as in Freedom на русском: Глава 2. 2001: Хакерская одиссея

Free as in Freedom на русском: Глава 3. Портрет хакера в юности

Free as in Freedom на русском: Глава 4. Развенчай бога

Free as in Freedom на русском: Глава 5. Ручеёк свободы

Free as in Freedom на русском: Глава 6. Коммуна Emacs

Дилемма абсолютной морали

В половину первого ночи 27 сентября 1983 года в Usenet-группе net.unix-wizards появилось необычное сообщение за подписью rms@mit-oz. Сообщение называлось коротко и крайне заманчиво: «Новая реализация UNIX». Но вместо некой готовой новой версии Unix читатель обнаруживал призыв:

В этот День Благодарения я начинаю писать новую, полностью совместимую с Unix операционную систему, которая будет называться GNU (GNU’s Not Unix). Я буду свободно раздавать её всем желающим. Мне очень нужны ваше время, деньги, код, оборудование – любая помощь.

В глазах опытного Unix-разработчика сообщение выглядело смесью идеализма с высоким самомнением. Автор не просто брался воссоздать с нуля целую операционную систему, весьма развитую и мощную, но ещё и улучшить её. Система GNU должна была вмещать в себя все нужные компоненты вроде текстового редактора, командной оболочки, компилятора, а также «ряд других вещей». Обещались и крайне привлекательные возможности, которых не было в существующих Unix-системах: графический интерфейс на языке программирования Lisp, устойчивая к сбоям файловая система, сетевые протоколы на основе сетевой архитектуры МТИ.

«GNU сможет запускать Unix-программы, но не будет идентичен системе Unix, – писал автор, – мы сделаем все нужные улучшения, которые назрели за годы работы в различных операционных системах».

Предвидя скептическую реакцию на своё сообщение, автор дополнил его кратким автобиографическим отступлением под заголовком: «Кто я такой?»:

Я Ричард Столлман, создатель оригинального редактора EMACS, один из клонов которого вы наверняка встречали. Работаю в Лаборатории ИИ Массачусетского технологического института. Имею большой опыт разработки компиляторов, редакторов, отладчиков, командных интерпретаторов, операционных систем ITS и Lisp Machine. Реализовал независимую от терминалов поддержку экрана в ITS, а также отказоустойчивую файловую систему и две оконные системы для Lisp-машин.

Так уж вышло, что затейливый проект Столлмана стартовал не в День Благодарения, как обещалось. Только в январе 1984 года Ричард с головой погрузился в разработку программного обеспечения в стиле Unix. С точки зрения системного архитектора ITS, это было всё равно что перейти от возведения мавританских дворцов к строительству пригородных торговых центров. Впрочем, разработка Unix-системы открывала и преимущества. ITS, при всей своей мощи, имела слабое место – работала лишь на компьютере PDP-10 от компании DEC. В начале 80-х годов Лаборатория отказалась от PDP-10, и ITS, которую хакеры сравнивали с оживлённым городом, превратилась в город-призрак. Unix же был изначально разработан с прицелом на переносимость с одной компьютерной архитектуры на другую, так что подобные беды ему не грозили. Разработанный младшими научными сотрудниками AT&T, Unix проскользнул мимо корпоративных радаров и нашёл спокойное пристанище в некоммерческом мире научных центров. Имея меньше ресурсов, чем их собратья-хакеры в МТИ, разработчики Unix приспособили свою систему к работе на зоопарке разносортного оборудования. Главным образом – на 16-битной PDP-11, которую хакеры Лаборатории считали непригодной для серьёзных задач, но также и на 32-битных мейнфреймах вроде VAX 11/780. К 1983 году такие компании, как Sun Microsystems, создали относительно компактные настольные компьютеры – «рабочие станции», сравнимые по мощности со старым мейнфреймом PDP-10. На этих рабочих станциях тоже поселился вездесущий Unix.

Переносимость Unix обеспечивалась дополнительным слоем абстракции между приложениями и оборудованием. Вместо того, чтобы писать программы в машинных кодах конкретного компьютера, как это делали хакеры Лаборатории, разрабатывая программы для ITS на PDP-10, разработчики Unix использовали высокоуровневый язык программирования С, который не был привязан к конкретной аппаратной платформе. При этом разработчики сосредоточили внимание на стандартизации интерфейсов, через которые части операционной системы взаимодействовали друг с другом. В итоге получилась система, где любую часть можно было переделать, не затрагивая все остальные части и не нарушая их работу. И чтобы перенести систему с одной аппаратной архитектуры на другую, тоже достаточно было переделать только одну часть системы, а не переписывать её всю целиком. Специалисты по достоинству оценили такой фантастический уровень гибкости и удобства, поэтому Unix быстро распространился по компьютерному миру.

Столлман решил создать систему GNU из-за кончины ITS, любимого детища хакеров Лаборатории ИИ. Смерть ITS была ударом для них, в том числе и для Ричарда. Если история с лазерным принтером Xerox открыла ему глаза на несправедливость собственнических лицензий, то кончина ITS подтолкнула его от неприятия закрытого софта к активному противодействию ему.

Причины гибели ITS, как и её код, уходили далеко в прошлое. К 1980 году большинство хакеров Лаборатории уже работали над Lisp-машиной и операционной системой для неё.

Lisp – элегантный язык программирования, прекрасно подходящий для работы с данными, структура которых заранее неизвестна. Его создал пионер исследований искусственного интеллекта и создатель самого термина «искусственный интеллект» Джон Маккарти, который работал в МТИ во второй половине 50-х годов. Название языка – сокращение от «LISt Processing» или «обработка списков». После того, как Маккарти ушёл из МТИ в Стэнфорд, хакеры Лаборатории несколько изменили Lisp, создав его местечковый диалект MACLISP, где первые 3 буквы обозначали проект MAC, благодаря которому, собственно, и появилась Лаборатория ИИ в МТИ. Под руководством системного архитектора Ричарда Гринблатта хакеры Лаборатории разработали Lisp-машину – специальный компьютер для выполнения программ на языке Lisp, а также операционную систему для этого компьютера – тоже, конечно, написанную на Lisp.

К началу 80-х годов конкурирующие группы хакеров основали две компании по производству и продаже Lisp-машин. Компания Гринблатта называлась Lisp Machines Incorporated или просто LMI. Он рассчитывал обойтись без внешних инвестиций и создать чисто «хакерскую компанию». Но большинство хакеров присоединились к Symbolics, обычному коммерческому стартапу. В 1982 году они уже полностью покинули МТИ.

Тех, кто остался, можно было по пальцам одной руки пересчитать, так что программы и машины чинились всё дольше и дольше, или не чинились вовсе. И что хуже всего, по словам Столлмана – в Лаборатории начались «демографические изменения». Хакеры, которые и раньше были в меньшинстве, почти исчезли, оставив Лабораторию в полное распоряжение преподавателей и студентов, чьё отношение к PDP-10 было откровенно неприязненным.

В 1982 году Лаборатория ИИ получила замену своему 12-летнему PDP-10 – DECSYSTEM 20. Приложения, написанные для PDP-10, работали на новом компьютере без проблем, потому что DECSYSTEM 20 был, по сути, обновлённым PDP-10, но вот прежняя операционная система совсем не подходила – ITS нужно было портировать на новый компьютер, а значит – почти полностью переписать. И это в то время, когда из Лаборатории ушли почти все хакеры, которые могли бы этим заняться. Так что на новом компьютере быстро воцарилась коммерческая операционная система Twenex. Немногие хакеры, что остались в МТИ, могли только смириться с этим.

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

Поначалу хакеры видели в Twenex очередное воплощение авторитарной корпократии, которое так и хотелось сломать. Даже в названии отразилась неприязнь хакеров – вообще-то, система называлась TOPS-20, указывая на преемственность с TOPS-10, тоже коммерческой системой DEC для PDP-10. Но архитектурно TOPS-20 не имела ничего общего с TOPS-10. Её сделали на основе системы Tenex, которую компания Bolt, Beranek and Newman разработала для PDP-10. . Называть систему «Twenex» начал Столлман, просто чтобы не называть её TOPS-20. «Системе было далеко до топовых решений, так что называть её официальным именем язык не поворачивался, – вспоминает Столлман, – поэтому я вставил в ‘Tenex’ букву ‘w’, чтобы получилось ‘Twenex’». (Это название обыгрывает слово «twenty», т.е. «двадцать»)

Компьютер, на котором работал Twenex/TOPS-20, иронично называли «Оз». Дело в том, что DECSYSTEM 20 требовал маленькую машину PDP-11 для работы терминала. Один хакер, впервые увидев подключение PDP-11 к этому компьютеру, сравнил это с пафосным представлением Волшебника из страны Оз. «Я великий и ужасный Оз! – продекламировал он. – Только не смотрите на мелюзгу, от которой я работаю».

А вот в операционной системе нового компьютера не было уже ничего смешного. Безопасность и контроль доступа были встроены в Twenex на базовом уровне, и её утилиты с приложениями тоже были разработаны с учётом безопасности. Снисходительные шутки над системами безопасности Лаборатории превратились в серьёзную битву за управление компьютером. Администраторы утверждали, что без систем безопасности Twenex будет нестабильна и неустойчива к ошибкам. Хакеры уверяли, что стабильности и надёжности куда быстрее можно достигнуть редактированием исходного кода системы. Но их в Лаборатории было уже так мало, что к ним никто не прислушивался.

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

Подбор паролей и запуск отладчика во время загрузки системы ничего не дали. Потерпев неудачу в «государственном перевороте», Столлман разослал сообщение всем работникам Лаборатории.

«До сих пор аристократы были повержены, – писал он, – но теперь они взяли верх, и попытка захватить власть не увенчалась успехом». Ричард подписал сообщение: «Radio Free OZ», чтобы никто не догадался, что это он. Отличная маскировка, если учесть, что все в Лаборатории знали об отношении Столлмана к системам безопасности и его издевательствах над паролями. Впрочем, отвращение Ричарда к паролям было известно далеко за пределами МТИ. На компьютеры Лаборатории под учётной записью Столлмана ходил чуть ли не весь ARPAnet – прообраз интернета тех времён. Таким «туристом» был, например, Дон Хопкинс, программист из Калифорнии, который через хакерское сарафанное радио узнал, что войти в прославленную систему ITS в МТИ можно просто введя 3 буквы инициалов Столлмана в качестве логина и пароля.

«Я бесконечно благодарен МТИ за то, что я и многие другие люди могли свободно пользоваться их компьютерами, – говорит Хопкинс, – это очень много значило для всех нас».

Эта «туристическая» политика длилась много лет, пока жила система ITS, и руководство МТИ смотрело на неё снисходительно. . Но когда машина Оз стала основным мостом из Лаборатории в ARPAnet, всё изменилось. Столлман всё так же предоставлял доступ к своему аккаунту под известными логином и паролем, но администраторы потребовали от него изменить пароль и никому его больше не давать. Ричард, ссылаясь на свою этику, вообще отказался работать на машине Оз..

«Когда пароли начали появляться на компьютерах Лаборатории ИИ, я решил следовать своему убеждению, что паролей быть не должно, – говорил позже Столлман, – а поскольку я считал, что компьютерам не нужны системы безопасности, я не должен был поддерживать эти меры по их внедрению».

Отказ Столлмана преклонить колени перед великой и ужасной машиной Оз показывал, что между хакерами и начальством Лаборатории росла напряжённость. Но напряжённость эта была лишь бледной тенью того конфликта, что бушевала в самом хакерском коллективе, который разделился на 2 лагеря: LMI (Lisp Machines Incorporated) и Symbolics.

Symbolics получила немало вложений извне, чем привлекла многих хакеров Лаборатории. Они работали над системой Lisp-машины и в МТИ, и за его пределами. К концу 1980 года компания наняла 14 сотрудников Лаборатории в качестве консультантов для разработки собственной версии Lisp-машины. Остальные хакеры, не считая Столлмана, работали на LMI. Ричард решил не занимать ничью сторону, и по привычке был сам по себе.

Первое время хакеры, нанятые Symbolics, продолжали работать и в МТИ, совершенствуя систему Lisp-машины. Они, как и хакеры от LMI, использовали для своего кода лицензию MIT. Она требовала возвращать изменения в МТИ, но не требовала от МТИ распространять эти изменения. Тем не менее, в течение 1981 года хакеры придерживались джентльменского соглашения, по которому все их улучшения вносились в Lisp-машину от МТИ и распространялись среди всех пользователей этих машин. Такое положение вещей ещё сохраняло какую-то стабильность хакерского коллектива.

Но 16 марта 1982 года – Столлман хорошо помнит этот день, потому что это был его день рождения – джентльменскому соглашению пришёл конец. Это произошло по воле руководства Symbolics, оно таким образом хотело придушить своего конкурента – компанию LMI, на которую работало намного меньше хакеров. Руководители Symbolics рассудили так: если у LMI в разы меньше сотрудников, то получается, что общая работа над Lisp-машиной выгодна именно ей, и если прекратить этот обмен наработками, то LMI будет уничтожена. С этой целью они решили злоупотребить буквой лицензии. Вместо того, чтобы вносить изменения в МТИ-версию системы, которой могла воспользоваться LMI, они начали поставлять в МТИ Symbolics-версию системы, которую они могли править как угодно. Выходило, что любое тестирование и редактирование кода Lisp-машины в МТИ шло только в пользу Symbolics.

Как человек, ответственный за сопровождение лабораторной Lisp-машины (первые несколько месяцев – при помощи Гринблатта), Столлман пришёл в ярость. Хакеры Symbolics предоставили код с сотнями изменений, которые вызывали ошибки. Расценив это как ультиматум, Столлман отключил линию связи Лаборатории с Symbolics, поклялся больше никогда не работать на машинах этой компании, и объявил о присоединении к работе над Lisp-машиной МТИ для поддержки LMI. «В моих глазах Лаборатория была нейтральной страной, как Бельгия во Вторую Мировую войну, – рассказывает Столлман, – и если Германия вторгается в Бельгию, та объявляет Германии войну и присоединяется к Британии и Франции».

Когда руководители Symbolics заметили, что их последние новшества всё так же появляются и на МТИ-версии Lisp-машины, они разозлились и стали обвинять хакеров Лаборатории в воровстве кода. Но Столлман нисколько не нарушал закона об авторском праве. Он изучил код, предоставленный Symbolics, и сделал логичные предположения о будущих исправлениях и усовершенствованиях, которые и стал реализовывать с нуля для Lisp-машины МТИ. Руководители Symbolics не верили этому. Они установили шпионскую программу на терминал Столлмана, которая записывала всё, что Ричард делал. Так они надеялись собрать улики воровства кода и показать их администрации МТИ, но даже к началу 1983 года показывать было почти нечего. Всё, что у них было, это какая-то дюжина мест, где код двух систем выглядел немного схоже.

Когда администраторы Лаборатории показали доказательства Symbolics Столлману, он опроверг их, сказав, что код был именно похожим, но не одинаковым. И обратил логику руководства Symbolics против него самого: если эти крупицы похожего кода – всё, что на него смогли накопать, то это лишь доказывает, что Столлман на самом деле не воровал код. Этого было достаточно, чтобы управляющие Лабораторией одобрили работу Столлмана, и он продолжал её до конца 1983 года. .

Но свой подход Столлман изменил. Чтобы максимально обезопасить себя и проект от претензий Symbolics, он совсем перестал смотреть в их исходные коды. Он стал писать код исключительно по документации. Самые большие новшества Ричард не ждал от Symbolics, а реализовывал сам, потом лишь добавлял интерфейсы для совместимости с реализацией Symbolics, опираясь на их документацию. Также он читал список изменений в коде Symbolics, чтобы понять, какие ошибки они исправляли, и исправлял эти ошибки самостоятельно, другими способами.

Происходящее укрепило решимость Столлмана. Создав аналоги новых функций Symbolics, он склонил сотрудников Лаборатории к МТИ-версии Lisp-машины, что обеспечило хороший уровень тестирования и поиска ошибок. А МТИ-версия была полностью открыта для LMI. «Я хотел наказать Symbolics любой ценой», – рассказывает Столлман. Это заявление говорит не только о том, что характер Ричарда далёк от пацифизма, но и о том, что конфликт вокруг Lisp-машины задел его за живое.

Отчаянную решимость Столлмана можно понять, если учесть, как происходящее выглядело для него – «разрушением» его «дома», то есть хакерского сообщества и культуры Лаборатории ИИ. Позднее Леви брал у Столлмана интервью по электронной почте, и Ричард там сравнивал себя с Иши – последним известным представителем индейской народности Яхи, которую истребили в индейских войнах 1860-1870-х годов. Эта аналогия придаёт излагаемым событиям эпический, почти мифологический размах. Хакеры, что работали на Symbolics, видели это в несколько другом свете: их компания не разрушала и не истребляла, а только делала то, что давно нужно было сделать. Переместив Lisp-машину в поле коммерции, Symbolics сменила подход к проектированию программ – вместо кройки их по твердолобым лекалам хакеров стали использоваться более мягкие и человечные нормы менеджеров. И Столлмана они расценивали не как противника-бойца на страже правого дела, а как носителя устаревшего мышления.

Масла в огонь подлили и личные раздоры. Ещё до появления Symbolics многие хакеры сторонились Столлмана, а теперь ситуация ухудшилась многократно. «Меня больше не звали в поездки до Чайна-тауна, – вспоминает Ричард, – Гринблатт дал начало обычаю: когда ты хочешь пообедать, ты обходишь коллег и зовёшь их с собой, или же шлёшь им сообщение. Где-то в 1980-1981 году меня перестали звать. Они не только не приглашали меня, но и, как признался мне потом один человек, давили на остальных, чтобы никто не говорил мне о планируемых поездах на обед».

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

 , , ,

Deleted
()

Обучаемая NER модель для русских

Форум — Development

Доброго времени суток. Нужно получить определенные сущности из текста на русском. Какую библиотеку посоветуете? Помимо стандартных сущностей вроде имени есть и специфические, поэтому нужна возможность обучить модель. Можно предлагать варианты, где обучение требуется с нуля. Знаком с несколькими библиотеками для решения этой задачи, но не могу определиться, какая будет наиболее подходящей. Не хочется тащить в проект монстра, от которого я буду использовать лишь сотую часть.

 , , , ,

Rot1
()

Redox Wireless keyboard

Галерея — Рабочие места

Процесс сборки здесь: https://imgur.com/a/1bWinqq

Давно хотел собрать беспроводную механическую клавиатуру и недавно наткнулся на Redox Wireless.

Сборка оказалась довольно простая, запечатлел процесс по просьбе Bizun.

Корпус можно купить тут: https://falba.tech/product/redox-wireless-standard-lift-bamboo-wood-case-with...

Впринципе, все описано довольно очевидно здесь: https://github.com/mattdibi/redox-keyboard/tree/master/redox-w

Работает до ~1-1.5 метров до ресивера, но на мой взгляд лучше всего прикрепить его под столом, прямо под клавиатурой.

Судя по измерениям автора - должно работать до года на батарейке.

Теперь предстоит настроить и освоить QMK.

>>> Просмотр (4032x3024, 3382 Kb)

 , ,

KoDeR
()

Beholder - как сдать соседа.

Форум — Games

Наткнулся в Стиме на сабж, купил, поиграл за управдома и до сих пор в смешанных чувствах. Сюжет причиняет мне боль, но игра шедевральна, ИМХО, все то, чего бояться ЛОРовцы, но что делают другие там есть - сбор информации о жильцах, шантаж, доносительство, работа за еду. Хочешь быть добрым дядей? Готовься потерять жену и детей. Хочешь выбраться из БП? Собирай сведения, шантажируй, закладывай полиции вон тех людей, которые только что тебе помогли. Встретил гнусного типа? Будь еще гнуснее его - ведь на кону твоя и не только жизни. И да, игра православно мультиплатформенна, разработчик - «Warm Lamp Games», издатель - «Alawar». В комплекте идет короткометражка на Ютубе и DLC «Блаженный сон».

 , русский игрострой

LongLiveUbuntu
()

Релиз языка Julia 1.0

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

Спустя 9 лет активной разработки, свет увидел язык для инженерных и технических вычислений Julia 1.0!

Авторы языка многие годы работали с такими языками, как R, Matlab, Fortran и Python. Каждый язык, по мнению авторов, имел свои изъяны и недостатки, вследствие чего было решено разработать современный универсальный специализированный язык, который заменит все вышеперечисленные языки в инженерно-технических вычислениях.

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

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

 , ,

FilosofeM
()

моменты распределения угловой величины

Форум — Science & Engineering

Имеется набор угловых значений [φₒ..φₙ], хочу определить среднее и разброс. Что бы не было проблем с 0..2π, использую формулу Эйлера и среднее определяю обычным способом от [exp(iφₒ)..exp(iφₙ)]. Как посчитать разброс? Среднеквадратичное отклонение тут не годится, так как длины чисел одинаковы.

 ,

thunar
()

Где в LaTeX for?

Форум — Desktop

Всем привет. Взялся я тут сделать в LaTeX листки с заданиями студентам: одна фамилия, один набор значений в задачке — один лист в pdf-ке на выходе. Но как сделать цикл по этим наборам? Под руку попался только \foreach из TikZ, хотя странно его подключать при том, что ничего не собираешься рисовать.

\documentclass[a4paper, 12pt, oneside]{scrartcl}

\usepackage[T2A]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[russian,english]{babel}

\usepackage{soulutf8}

\usepackage{pgfplots}
\pgfplotsset{compat=1.5}

\newcommand{\ulfill}[1]{\ul{\mbox{~~~#1~~~}}}
\newcommand{\groupnumber}{1111}

\begin{document}
	\pagestyle{empty}
	
	\foreach \studentname / \mat / \dp / \ap / \A in {
		{Иванов И. И.} / {зачернённая алюминиевая} / {10} / {1} / {1},
		{Петров Е. Е.} / {зачернённая медная} / {10} / {1} / {1}
		} {
		\begin{center}
			
			\vspace{3ex}
			ИНДИВИДУАЛЬНОЕ ЗАДАНИЕ ПО ПРАКТИЧЕСКИМ ЗАНЯТИЯМ №\ulfill{3} 
			
			\vspace{3ex}
			\textbf{МОДЕЛИРОВАНИЕ ПЕРЕХОДНЫХ ПРОЦЕССОВ В ПРИЁМНИКАХ ИЗЛУЧЕНИЯ}
		\end{center}
		
		Исходные данные:
		\begin{enumerate}
			\item Приёмная площадка: \ulfill{\mat} фольга толщиной \ulfill{\dp} мкм, площадью 
				\(A_p =\) \ulfill{\ap} \(\text{см}^2\), с неселективным коэффициентом поглощения 
				\(A =\) \ulfill{\A}.
		\end{enumerate}
		

		Студент гр. \ulfill{\groupnumber} \ulfill{\studentname}

		\clearpage
		}
\end{document}

Да и то — этот код начинает сыпать невразумительными ошибками типа Undefined control sequence.} на предпоследней строчке, если я оставляю три и больше параметра в наборе. Если закомментировать все, кроме \studentname и \mat, а также \clearpage, то собирается с грехом пополам.

P.S. Запоздало врубился, что везде на автомате ставил \usepackage{pgfplots} вместо \usepackage{tikz} напрямую, но второе зависит от первого, так что разница, вроде, невелика.

 ,

al_exquemelin
()

Запись видео в OpenCV под Linux: не работает VideoWriter::write()

Форум — Development

Спрашиваю у тех, кто в теме. Интернет завален непонятками по вопросу неработоспособности VideoWriter::write(). Создается маленький видео-файл, в котором есть только заголовок (размером 5-8кб в зависимости от используемого кодека) и все.

Среда: Debian Linux 9 Stable
OpenCV из стандартного репозитария: libopencv-dev 2.4.9.1+dfsg1-2.
FFMPEG из стандартного репозитария: ffmpeg 7:3.2.8-1~deb9u1

Кто-то пишет, что неработает из-за путанницы в пакетах ffmpeg* libav*. Кто-то пишет, что нужно экспериментальным путем подобрать кодек, но я попробовал десяток комбинаций, взятых из постов «У меня все работает!» - тоже болт. Кто-то пишет, что не работает по причине отключения флага поддержки видеозаписи в стандартных репозитариях (зачем так делать - непонятно), и надо сносить стандартный пакет и хитро собирать из исходников. Кто-то пишет, что никогда вообще не видел чтоб видеозапись работала под Linux, типа эта подсистема работает только в Windows, и разработчики под Линухом даже не тестируют и не обещают поддержку. Кто-то пишет, что неработает с 2015 года и работать не будет.

Перед тем как я уработаю систему кривыми пакетами и не менее кривыми руками, я хочу услышать у того, кто столкнулся с такой проблемой и решил ее: что делать, как заставить писать VideoWriter::write() минимальными средствами?

Краткий пример, в котором запись не работает:

https://pastebin.com/NZbjek0d

 

Xintrea
()

Книжки по машинному обучению

Форум — Talks

Привет!

Искал здесь, гуглил, кое-что нагуглилось

Real-World Machine Learning, H. Brink, J. W. Richards, M. Fetherolf

Deep Learning, I. Goodfellow, Y. Bengio, A. Courville

Есть вопрос. Хорошие ли эти книжки?

Какие книжки по машинному обучению аналогичны Кормену и Макконелу в программировании?

 

dann
()

Автор популярного расширения для Emacs — Magit собирает пожертвования для full-time работы над ним в 2018 году

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

Magit — это интерфейс к распределённой системе управления версиями Git, разработанный в качестве дополнения для популярного текстового редактора GNU Emacs.

Magit предоставляет простой, но гибкий интерфейс над большинством команд git, а также свой собственный механизм подтверждения изменений, который без труда позволяет подтвердить лишь часть сделанных изменений.

Для пользователей, которые предпочитают vi-подобную систему комбинаций клавиш доступно расширение evil-magit для интеграции magit c системой Evil (Extensible VI Layer for Emacs) и пакет дополнений Spacemacs.

Если до 1 октября кампания на Kickstarter соберёт 55000 CHF (швейцарский франк), то автор проведёт 2018 год работая над Magit full-time.

На данный момент собрано около 30000 CHF.

>>> Сайт Magit

>>> Репозиторий Magit

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

 , ,

Singularity
()

Open source:Симуляторы кинематики столкновение тел и.т.д.

Форум — Science & Engineering

В английской википедии как то так.

Multibody dynamics (MBD) and Kinematics

Интересует, что есть в опенсорс и живое, интерес скорее любопытственный, а не для производства/диплома)

Интересует ссылки на софт и кто что пробовал. Моё гугление http://www.ar-cad.com/freecad/index.html привело меня к альтернативному freecad. Есть ещё что-то MBDyn но это я так понимаю солвер/решатель, а вот задачку удобно для него составить негде?

Каст atsym

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

 ,

DR_SL
()

Туториал по R для искушённых

Форум — Development

Доброго времени суток.

Подскажите туториалы по R, где будут обозначены основные его особенности в сравнении с остальными скриптовыми ЯП а-ля Python, Perl, Ruby и т.п. Если где-то будет просто перечень ключевых слов, которые гуглить, чтобы узнать эти особенности, тоже будет очень хорошо.

Я потыкал пару туториалов, а они все для начинающих. Не хочу больше тратить время на 1+1.

Целевые инструменты: knitr, RStudio.

Заранее спасибо.

P.S. cast psv1967, Evgueni

 , , ,

nezamudich
()

OpenCV не собирается больше с ffmpeg

Форум — Development

Всем привет!

В ходе огромного количества сборок и пересборок ffmpeg и opencv, последний перестал собираться с поддержкой первого:

-- Checking for modules 'libavcodec;libavformat;libavutil;libswscale'
--   Found libavcodec, version 57.86.103
--   Found libavformat, version 57.68.100
--   Found libavutil, version 55.51.100
--   Found libswscale, version 4.3.101
-- Checking for module 'libavresample'
--   Found libavresample, version 3.2.0
-- WARNING: Can't build ffmpeg test code
*****************************************
--     FFMPEG:                      NO
--       avcodec:                   YES (ver 57.86.103)
--       avformat:                  YES (ver 57.68.100)
--       avutil:                    YES (ver 55.51.100)
--       swscale:                   YES (ver 4.3.101)
--       avresample:                YES (ver 3.2.0)

Судя по тому, какие файлы воспроизводит cmake, он ищет (и находит) заголовочники библиотеки ffmpeg в /usr/local/{include,lib}, вместо /usr/{include,lib}. Переустановка ffmpeg не помогла, -D FFMPEG_INCLUDE_DIRS=/usr/include не помогло. Как ему указать верную директорию, где установлен ffmpeg?

 ,

aido
()