LINUX.ORG.RU

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

Оптимально создать словарь с суммами по ключам на основе списка пар ключ:значение?

Форум — Development

На вход в функцию подаются пары ключ:значение

func('a', 1)
func('b', 2)
func('a', 5)

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

{'a':6, 'b':2}

Как это сделать оптимальным (с т.з. производительности) образом?

Мне всегда казалось что Ъ вариант такой

D = {}
...
D.setdedault(key, [0])[0] += value

потому что одно обращение к словарю. Можно еще вот так вот попроще

D[key] = D.get(key, 0)+value

М.б. есть еще какие то более феншуйные варианты?

 

AntonI
()

Ora2pgpro включена в СУБД Postgres Pro Enterprise, чтобы упростить конвертацию кода СУБД Oracle

Новости — Проприетарное ПО
Группа Проприетарное ПО

Компания Postgres Professional разработала утилиту ora2pgpro — решение для автоматического портирования пакетов и автономных транзакций Oracle в пакеты и автономные транзакции Postgres Pro. Утилита позволяет увеличить процент корректной конвертации кода в автоматическом режиме, что, по подсчетам Postgres Professional, поможет заказчикам сэкономить до 50% времени на перенос и снизить затраты на миграцию с Oracle.

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

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

 , , , миграции

Stacy
()

С чего начать изучение диалектического материализма?

Форум — Talks

Приветствую.

Давно считаю себя марксистом, читал Троцкого, Ленина, Грамши, Бордигу, отдельные статьи многих авторов на marxists.org, но при этом слабо понимаю философскую основу, диамат. С чего начать? Я попробовал читать «Нищету философии», но не осилил, это очень сложно.

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

Спасибо за советики.

 ,

pelmeshechka
()

Искусственный интеллект

Форум — Talks

Каковы признаки искусственного интеллекта?

Чем искусственный интеллект отличается от обычной алгоритмической программы?

 , ,

der5ys7em
()

Что я делаю в жизни не так? Деньги то так кончатся совсем.

Форум — Talks
  1. Программирую с института. С 1984 года. Программируемые калькуляторы. Машинные коды. Бейсик с циферками на магнитофонных кассетах.

  2. 2002 год - первый личный сайт. И первые попытки фрилансить. Фриланс - практически 0.

  3. 2008 год - 50 личных сайтов и нормальная прибыль с них. Фриланс - практически 0

  4. С 2016 года я, очень эпизодически, находил работу по фрилансу за 2 евро в час. Очень эпизодически

  5. 2022 - работы нет даже за 20 русских руб в час.

  • Опыт программирования - больше 5 лет;

  • Опыт php, perl, mySQL - больше 5 лет;

  • JS - 3 года;

  • вёрстка - больше 5 лет;

  • C++, Java, Python - меньше года, под десктоп.

  • сбор и обработка информации с интернета;

  • генерация pdf-документов «на лету», в программе;

  • Специализация - Drupal (уровень - написание модулей) - 10 лет;

  • Опыт работы с фреймворками есть: написание модулей на Yii около 3 лет, MODX - 2 года ;

  • ООП знаю, пишу;

Что я делаю в жизни не так? Деньги то так кончатся совсем. Спасибо

 ,

kompospec
()

Кому интересно пореверсить малварь для Линукса?

Форум — Talks

Коллега случайно открыл ssh наружу с символическим паролем

http://fanelishere.ro/arhive/

 , ,

cvv
()

Оценивать похожесть кусков текста, python

Форум — Development

Приветствую!

Сделал скрипт, который выдергивает с веб сайта поиска работы вакансии и загружает их в базу. Также этот скрипт проверяет их на уникальность по трем полям: название вакансии, название компании и локейшн. Если такая вакансия уже есть в базе, то скрипт ее пропускает.

Все работает хорошо, но хочется улучшить. Я заметил, что в базе появляются похожие вакансии, где название вакансии или название конторы немного изменены (вероятно, чтобы придать вакансии уникальность). При этом, подробное описание вакансии практически идентичное. Для меня это дубль, который засоряет базу.

Вопрос, есть ли какая-то библиотека в python, которая предоставит возможность сравнить два куска html и выдать в виде некоторой величины похожесть текста?

 ,

samson_b
()

Machine Learning.

Форум — General

Здравствуйте! Скажите, пожалуйста, что нужно для того, чтобы влиться в ML? Что нужно изучать последовательно,по порядку, чтобы ввалиться в эту сферу (или попытаться)?

 

Alexandrietz
()

sed, который «я так вижу»

Форум — Development

Решился я, наконец, выложить свой вариант sed-а, который меня устраивает. В отличии от оригинального, он работает с буфером целиком, а не построчно. Имеет дополнительный и целый стек буферов, а также счётчик, что позволяет несложно обрабатывать вложенный развесистый синтаксис, всевозможные вложенные блоки. Умеет символ '\0', правда для этого требует отсутствия любого другого символа в тексте/паттернах/заменах. Умеет перекодировать через iconv. regex-ы, подгружаемые и имена выгружаемых файлов могут быть динамически сформированы в процессе исполнения. Пока не умеет матчить номера строк, но, думаю это и не надо. Зато буковок под команды — 46.

Полное описание

В качестве примеров приложены скрипты для очистки html-ей после офисов (open/ms) и из lib.ru/samlib.ru для приемлемого результата для ручной правки или просмотра читалками.

 ,

vodz
()

Ищу работу. Golang, python. [уже нашёл]

Форум — Job

https://github.com/AnimusPEXUS/about/raw/master/Resume2.pdf

попрошу без полемики. давайте т.з. - там будет видно.

работа найдена

 , ,

PexuOne
()

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

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

Роковой принтер

Бойтесь данайцев, дары приносящих.
– Вергилий, «Энеида»

Опять новый принтер зажевал бумагу.

Часом ранее Ричард Столлман, программист Лаборатории Искусственного Интеллекта МТИ (Лаборатории ИИ), отправил 50-страничный документ печататься на офисном принтере, и погрузился в работу. А сейчас Ричард оторвался от дела, подошёл к принтеру и увидел пренеприятнейшее зрелище: вместо долгожданных 50 отпечатанных страниц в лотке лежали только 4 готовых листа. Да и те явно относились к какому-то чужому документу. Файл Ричарда на 50 страниц спутался с чьим-то недопечатанным файлом в хитросплетениях офисной сети, и принтер пасовал перед этой проблемой.

Ждать, пока машина выполнит возложенную на неё работу – обычное дело для программиста, и Столлману впору было отнестись к этой проблеме стоически. Но одно дело, когда вы даёте машине задачу и занимаетесь своими делами, и совсем другое — когда вам приходится стоять рядом с машиной и контролировать её. Далеко не в первый раз Ричарду приходилось стоять перед принтером и следить за тем, как страницы вылезают одна за одной. Как всякий хороший технарь, Столлман очень высоко ценил эффективность работы устройств и программ. Неудивительно, что этот очередной срыв рабочего процесса возбудил у Ричарда горячее желание залезть во внутренности принтера и навести там должный порядок.

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

А ведь этот принтер сотрудники Лаборатории ИИ встречали с восторгом и воодушевлением! Его подарила компания Xerox, это была её прорывная разработка – модификация быстрого светокопира. Принтер не только делал копии, но и превращал виртуальные данные из файлов офисной сети в превосходно выглядящие документы. В этом аппарате чувствовался дерзкий инновационных дух знаменитой лаборатории Xerox в Пало-Альто, он был предвестником революции в настольной печати, что полностью перевернула всю индустрию к исходу десятилетия.

Сгорая от нетерпения, программисты Лаборатории тут же включили новый принтер в сложнейшую офисную сеть. Результаты превзошли самые смелые ожидания. Страницы вылетали со скоростью 1 штука в секунду, документы стали печататься в 10 раз быстрее. Кроме того, машина была предельно педантична в своей работе: круги выглядели кругами, а не овалами, а прямые линии перестали напоминать низкоамплитудные синусоиды.

Во всех смыслах, подарок Xerox был предложением, от которого невозможно отказаться.

Однако со временем восторги пошли на убыль. Как только принтер стали нагружать по максимуму, обнаружились проблемы. Сильнее всего раздражало то, что аппарат чересчур охотно зажёвывал бумагу. Инженерное мышление программистов быстро выявило корень проблемы. Дело в том, что светокопиры традиционно требуют постоянного присутствия человека рядом. В том числе и для того, чтобы поправлять бумагу в случае надобности. И когда Xerox взялся за превращение светокопира в принтер, инженеры компании не обратили внимания на этот момент и сосредоточились на решении других, более насущных для принтера проблем. Говоря инженерным языком, у нового принтера Xerox постоянное участие человека оказалось изначально встроено в механизм.

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

Вряд ли Столлман был единственным в Лаборатории ИИ, кто заметил проблему, но он ещё и размышлял над её решением. За несколько лет до этого Ричарду довелось решить похожую проблему с прежним принтером. Для этого он на персональном рабочем компьютере PDP-11 отредактировал программу, которая работала на мейнфрейме PDP-10 и управляла принтером. Саму проблему зажёвывания бумаги Столлману решить не удалось, вместо этого он вставил код, который заставлял PDP-11 время от времени проверять состояние принтера. Если аппарат зажёвывал бумагу, программа просто рассылала на рабочие PDP-11 оповещение вроде «принтер жуёт бумагу, требуется починка». Решение оказалось эффективным – оповещение шло напрямую пользователям, которые активно пользовались принтером, так что его выходки с бумагой зачастую пресекались немедленно.

Конечно, это было решение ad-hoc – то, что программисты называют «костылём», но костыль получился довольно изящный. Он не исправлял проблему в механизме принтера, но делал лучшее из того что можно было сделать – налаживал информативную обратную связь пользователя и машины. Несколько дополнительных строчек кода экономили работникам Лаборатории ИИ по 10-15 минут рабочего времени еженедельно, избавив их от необходимости постоянно бегать проверять принтер. С точки зрения программиста, решение Столлмана держалось на коллективном разуме Лаборатории.

Вспоминая ту историю, Ричард говорил: «Получив такое сообщение, вы не должны были уповать на то, что принтер исправит кто-то ещё. Вам нужно было просто встать и пойти к принтеру. Спустя минуту или две после того, как принтер начинал жевать бумагу, к нему приходили двое-трое сотрудников. Хоть кто-то из них точно знал, что нужно делать».

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

Компании вроде Xerox намеренно дарили свою продукцию крупным сообществам хакеров. Это был расчёт на то, что хакеры начнут ею пользоваться, привяжутся к ней, и потом придут работать в компанию. В 60-е годы и на заре 70-х хакеры часто писали настолько качественные и полезные программы, что производители охотно распространяли их среди своих клиентов.

Таким образом, столкнувшись с жующим бумагу новым принтером Xerox, Столлман сразу подумал провернуть с ним свой старый трюк – «хакнуть» программу управления аппаратом. Однако его поджидало неприятное открытие – к принтеру не прилагалось никакой программы, по крайней мере, в такой форме, чтобы Столлман или другой программист мог её прочитать и отредактировать. До этого момента большинство компаний считали хорошим тоном давать файлы с исходным кодом – понятным для человека текстом, который давал полную информацию о программных командах и соответствующих функциях машины. Но Xerox в этот раз предоставил программу только в скомпилированном, бинарном виде. Если программист попытался бы прочитать эти файлы, он увидел бы только нескончаемые потоки нулей и единиц, понятные машине, но не человеку.

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

Недружелюбная политика Xerox резко противоречила обычной практике хакерских сообществ. Например, чтобы разработать для персонального компьютера PDP-11 программы для управления старым принтером и терминалами, Лаборатории ИИ нужен был кросс-ассемблер, который собирал бы программы для PDP-11 на мейнфрейме PDP-10. Хакеры Лаборатории могли написать кросс-ассемблер сами, но Столлман, будучи студентом Гарварда, нашёл похожую программу в компьютерной лаборатории университета. Она была написана для такого же мейнфрейма, PDP-10, но под другую операционную систему. Ричард понятия не имел, кто написал эту программу, поскольку в исходном коде об этом ничего не говорилось. Он просто принёс в Лабораторию копию исходного кода, отредактировал её, и запустил на PDP-10. Без лишних хлопот и забот Лаборатория получила программу, которая была необходима для работы офисной инфраструктуры. Столлман даже сделал программу мощнее, добавив в неё несколько функций, которых не было в оригинале. «Мы вовсю использовали эту программу несколько лет», – не без гордости сообщает он.

В глазах программиста 70-х годов такая модель распространения программного кода ничем не отличалась от добрососедских отношений, когда один делится с другим чашкой сахара или даёт на время дрель. Но если вы, когда одалживаете дрель, лишаете хозяина возможности ею пользоваться, то в случае с копированием программ ничего подобного не происходит. Ни автор программы, ни её другие пользователи ничего не лишаются от копирования. Зато другие люди от этого приобретают, как в случае с хакерами Лаборатории, что получили программу с новыми функциями, которых раньше даже не было на свете. И эти новые функции можно так же сколько угодно копировать и распространять среди других людей. Столлман вспоминает об одном программисте из частной компании Bolt, Beranek & Newman, который тоже получил программу и отредактировал её для запуска под Twenex – ещё одной операционной системы для PDP-10. Также он добавил в программу ряд замечательных функций, и Столлман скопировал их в свою версию программы в Лаборатории. После этого они решили сообща развивать программу, которая уже ненароком выросла в мощный продукт, работающий на разных операционных системах.

Вспоминая программную инфраструктуру Лаборатории ИИ, Столлман говорит: «Программы развивались подобно городу. Какие-то части менялись понемногу, какие-то – сразу и полностью. Появлялись новые участки. И вы всегда могли взглянуть на код и сказать, мол, судя по стилю, эту часть написали в начале 60-х, а эту – в середине 70-х».

Благодаря такой простой умственной кооперации, хакеры создали множество мощных и надёжных систем в Лаборатории и вне её. Не каждый программист, разделяющий эту культуру, назвал бы себя хакером, но большинство из них вполне разделяли настрой Ричарда Столлмана. Если программа или исправленный код хорошо решают вашу проблему, они так же хорошо решат эту проблему для кого угодно. Почему бы тогда не поделиться этим решением, хотя бы из моральных соображений?

Эту концепцию безвозмедного сотрудничества подорвало сочетание жадности и коммерческой тайны, породив причудливое сочетание секретности и кооперации. Хороший пример – начальный период жизни BSD. Это мощная операционная система, которую создали учёные и инженеры Калифорнийского Университета в Беркли на основе Unix, купленного в AT&T. Стоимость копирования BSD была равна стоимости плёнки, но с одним условием – плёнку с копией BSD школы могли получить только имея лицензию AT&T, которая стоила $50,000. Получалось, что хакеры Беркли делились программами только в той мере, в какой им позволяла это делать компания AT&T. И они не видели в этом ничего странного.

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

В конце концов, пришла хорошая новость: оказалось, что копия исходника программы для принтера Xerox есть у научного сотрудника Университета Карнеги-Меллон.

Общение с Карнеги-Меллон не сулило ничего хорошего. В 1979 году докторант Брайан Рид шокировал сообщество отказом поделиться своей программой для форматирования текста, прообразом Scribe. Она была первой программой такого типа, в которой использовались семантические команды вроде «выдели это слово» или «этот параграф – цитата» вместо низкоуровневых «напиши это слово курсивом» или «увеличь отступы для этого параграфа». Рид продал Scribe расположенной в Питтсбурге компании Unilogic. По словам Рида, в конце докторантуры он просто искал команду разработчиков, на плечи которых можно было бы перевалить заботу о том, чтобы исходники программы не попали в общее пользование (до сих пор неясно, почему Рид считал это недопустимым). Чтобы подсластить пилюлю, Рид согласился добавить в код набор привязанных ко времени функций, так называемых «тайм-бомб» – они превращали бесплатную копию программу в нерабочую по истечении 90-дневного пробного периода. Чтобы заставить программу снова работать, пользователям нужно было заплатить компании и получить «отключалку» тайм-бомбы.

Для Столлмана это было чистейшим и откровенным предательством программистской этики. Вместо того, чтобы следовать принципу «делись и раздавай», Рид встал на путь взимания платы с программистов за доступ к информации. Но он не особенно задумывался об этом, потому что нечасто использовал Scribe.

Unilogic дали Лаборатории ИИ бесплатную копию Scribe, но не удалили тайм-бомбу и даже не упомянули о ней. До поры до времени программа работала, но однажды всё-таки перестала. Системный хакер Говард Кэннон провёл многие часы за отладкой бинарного файла программы, пока, наконец, не обнаружил тайм-бомбу и не удалил её. Его по-настоящему взбесила эта история, и он не постеснялся рассказать о ней другим хакерам, и передать все свои мысли и эмоции насчёт преднамеренной «ошибки» Unilogic.

По причинам, связанным с работой в Лаборатории, Столлман отправился в кампус Карнеги-Меллон спустя пару месяцев. Он постарался найти человека, у которого, согласно услышанной новости, были исходники программы для принтера. К счастью, этот человек был у себя в кабинете.

Разговор получился откровенным и резким, в типичном для инженеров стиле. Представившись, Столлман попросил копию исходного кода программы для управления лазерным принтером Xerox. К его великому изумлению и огорчению, научный сотрудник отказал.

«Он сказал, что пообещал производителю не давать мне копию», – говорит Ричард.

Память – забавная штука. Спустя 20 лет после этого инцидента память Столлмана полна белых пятен. Он забыл не только о причине, по которой приехал в Карнеги-Меллон, но и о том, кто был его визави в этом неприятном разговоре. По словам Рида, этим человеком, скорее всего, был Роберт Спролл, бывший сотрудник научно-исследовательского центра Xerox в Пало-Альто, который впоследствии стал директором исследовательного отделения Sun Microsystems. В 70-х годах Спролл был ведущим разработчиком программ для лазерных принтеров Xerox. Где-то в 1980 году Спролл получил должность научного сотрудника в Карнеги-Меллон, где продолжал работать в том числе и над лазерными принтерами.

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

«Код, который Столлман хотел получить, был новаторской разработкой, настоящим воплощением искусства. Спролл написал его за год до того, как пришёл в Карнеги-Меллон, или около того», – рассказывает Рид. Если это действительно так, то налицо недоразумение: Столлману нужна была программа, которую МТИ использовал уже долгое время, а не какая-та новая её версия. Но в том кратком разговоре ни слова не говорилось о каких-либо версиях.

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

Столлман же воспринимал NDA совершенно иначе. Для него это был отказ Карнеги-Меллон участвовать в творческой жизни общества, наперекор доселе поощряемому взгляду на программы, как на общественные ресурсы. Как если бы крестьянин внезапно обнаружил, что многовековые ирригационные каналы пересохли, и в попытке найти причину проблемы он бы дошёл до сверкающей новизной гидроэлектростанции с логотипом Xerox.

Столлману потребовалось время, чтобы понять истинную причину отказа – новый, преисполненный секретности формат взаимодействия программиста и компании. Поначалу же он видел только личный отказ. «Меня это так разозлило, что я даже не нашёлся что сказать. Я просто развернулся и молча вышел, – вспоминает Ричард, – может, я даже хлопнул дверью, не знаю. Я помню только жгучее желание поскорее убраться оттуда. Ведь я шёл к ним, ожидая сотрудничества, и даже не думал, что буду делать, если мне откажут. И когда это произошло, я буквально потерял дар речи – настолько это ошеломило и расстроило меня».

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

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

Позже Ричард пояснил: «Если бы он отказал мне по личным мотивам, это трудно было бы назвать проблемой. Я бы мог в ответ посчитать его придурком, и на этом всё. Но его отказ был безличным, он дал мне понять, что не будет сотрудничать не только со мной, но и вообще с кем бы то ни было. И это не только создавало проблему, но и делало её по-настоящему огромной».

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

Будучи высококлассным программистом в одном из сильнейших институтов мира, Ричард не обращал особого внимания на соглашения и сделки других программистов – только бы они не мешали его основной работе. Пока в Лабораторию не прибыл лазерный принтер Xerox, Столлман имел все возможности смотреть свысока на машины и программы, от которых страдали другие пользователи. Ведь он мог изменить эти программы как считал нужным.

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

То, что Xerox давал некоторым программистам доступ к коду в обмен на соблюдение секретности, раздражало не меньше, но Столлман с болью признавал, что в более молодом возрасте, скорее всего, согласился бы на предложение Xerox. Инцидент в Карнеги-Меллон укрепил его моральную позицию, не только зарядив его подозрительностью и гневом в отношении подобных предложений в будущем, но и поставив перед ним вопрос: что, если однажды заявится хакер с аналогичной просьбой, и теперь уже ему, Ричарду придётся отказывать в копировании исходников, следуя требованиям работодателя?

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

Память об этом уроке Ричард твёрдо сохранит и в беспокойные 80-е, когда многие из его коллег по Лаборатории уйдут работать в другие компании, связав себя соглашениями о неразглашении. Наверное они говорили себе, что это неизбежное зло на пути к работе над самыми интересными и заманчивыми проектами. Однако для Столлмана само существование NDA ставит под сомнение моральную ценность проекта. Что может быть хорошего в проекте, пусть даже технически увлекательном, если он не служит общим целям?

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

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

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

«Я решил, что никогда не сделаю ни одного человека жертвой, которой стал однажды сам».

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

 , ,

Deleted
()

Инвайты в еще один инстанс Mastodon: lor.sh

Форум — Talks

Привет, котаны.

Недавно я узнал о таком проекте, как Mastodon, и таки решил поднять, о чем писал ранее.

Mastodon – это федеративный аналог Twitter на основе ActivityPub, протокола, разработанного консорциумом W3C. Вы можете общаться и «фолловить» пользователей с других серверов.

Интересная особенность Mastodon — наличие «ленты сервера», что помогает искать интересные посты от людей из комьюнити.

Кроме веб версии существует также множество клиентов, включая Android и GNU/Linux. Полный список можно посмотреть на сайте проекта.

Особенности сервера:

  1. Пингвины.
  2. Вариация на Tango в качестве основной темы.
  3. Отсутствие списков блокировки.
  4. Цензура отсутствует. Тем не менее, не следует постить очевидно противоправный контент, а также засирать ленту мусором — используйте для этого другие сервера.
  5. На данный момент регистрация доступна только по инвайтам (создание инвайтов доступно для пользователей).

Почему я просто не воспользовался другими инстансами?

  1. Мне хотелось, чтобы ядро пользователей было связано с ЛОР как комьюнити.
  2. Из предыдущего следует, что лента будет значительно интереснее, чем на любом случайном сервере.
  3. Меня не устраивали длинные доменные имена.
  4. Fediverse — это о том, чтобы инстансов было большее.

Непосредственно инвайт: https://lor.sh/invite/mEy2bknx

 , , , ,

Deleted
()

Как учиться программированию?

Форум — Development

Где и как научиться программированию, а не только синтаксису? Вернее, чтобы вообще не стоял вопрос об ЯП. Есть ли признанные книги, курсы? Может есть варианты решения: изучаешь программирование через изучение синтаксиса или наоборот?

Посоветуйте пожалуйста для уровня нуба.

К примеру вот навскидку, что-то из подобного подойдёт?

1. https://www.intuit.ru/studies/courses/3533/775/info

2. https://www.intuit.ru/studies/courses/2193/67/info

3. https://www.intuit.ru/studies/courses/11876/1156/info

Буду благодарен за советы.

P.S. Это не толксы, не нужно тут чсв показывать.

 

le_legioner
()

Что такое self в Python и для чего он нужен?

Форум — Development

Я тупой и никак не могу понять, для чего нужен self в Python. Объясните, плиз, его смысл на пальцах или на яблоках, не знаю.

 ,

Deleted
()

Посоветуйте учебник по матану для идиотов

Форум — Talks

Сабж.

Ничего со школы не помню (квадратные уравнения и сообщающиеся траншеи помню, ок). Нужно поднять матан до приемлемого уровня.

(Не только матан, но пока реквест по одной теме, чтобы не устраивать цирк с конями).

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

Если есть некий «путь вдоль учебников», «from loh to master», и не лень его описать - было бы неплохо.

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

 

stevejobs
()

Кроссплатформенное приложение на C#

Форум — Development

Всем здравия!

Нуждаюсь в совете разработчиков в решении одной задачи. Не так давно я присоеденился к разработке одного спец.девайса, который управляется с компьютера через USB (CDC). Весь софт написан на C# + IronPython и крутится на Windows.

С недавнего времени стоит задача портирования софта на Linux.

На данный момент есть одна C# DLL, через которую GUI общается с основной программой. Заставить стабильно работать GUI на Linux через Mono нам так и не удалось, хотя сам код включая IronPython прекрасно работает. То есть застряли именно на GUI.

Поэтому мы ищем возможность написания кроссплатформенного GUI, который сможет «общаться» с нашей DLL.

Посоветуйте фрэймворк, который позволяет такое. Пока в планах десктопное приложение для Windows/Linux. Но поддержка Android/iOS на будущее тоже не помешает.

 

amidos
()

Как правильно искать работу

Форум — Job

Disclaimer. Написанный ниже текст является мнением автора, основанным на многих проведенных интервью и на общении с сотрудниками HR. Не является догмой, но, тем не менее, его можно принимать во внимание.

Итак, вам нужна работа в сфере IT на админской/постсейловой/пресейловой/консалтерской должности. Я провел пару сотен собеседований, нанял около 30 (или 40?) человек, ошибался 2 или 3 раза, со всеми нанятыми работал больше года, а с некоторыми больше 5 лет, так что могу рассказать о том, как оно изнутри. Про программистов ничего не скажу, подозреваю, что плюс-минус все то же самое.

0. Зачем люди нанимают сотрудников и как они это делают?

На работу людей нанимают для того, чтобы они работали :-) Буквально, есть задача, есть бюджет, есть коллектив и есть вакансия - должен быть нанят человек, желательно до определенного числа, иначе, вакансию могут отобрать в пользу более расторопных. В ДС последние 10 лет острый дефицит вменяемых кадров, при чем чем дальше, тем хуже становится положение.

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

1. Резюме.

Напишите хорошее резюме, желательно на 2х языках. Что значит хорошее: в нем должны отражаться основные ваши достижения, их не должно быть мало, но и не должно быть много. Например, хорошо написать про общественную работу в ВУЗе, поднятие нужного бизнесу софта или синхронизацию географически удаленных БД, а про то как обжимались кабели можно не писать, так как это вызывает ощущение «больше нечем хвастаться». Нужно написать обо всех своих обучениях и сертификациях. Примеров в сети много, неплохо также завести аккаунт в Linkedin (там как раз нужная структура). Помните, что HR скорее всего не сечет в теме и ищет по ключевым словам. 95% всех резюме, которые я видел были 2х типов: «отлично знаю» == «при мне включали» и «имею представление» == «ну что я могу сказать о вопросе, которому посвятил всего 2 года напряженного труда?» Не впадайте в эти крайности.

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

На счет соц.сетей. Конечно же, первым делом из отобранных резюме извлекается имя, фамилия, дата рождения и город, а по ним ищется вконтактик, фейсбучек, жжшечка. Отсутствие аккаунта ничего не говорит. Наличие же может выйти боком: предпочтения у всех свои, я, например, буду предвзято относиться с стритсракеру со смотрЫ, кому-то могут не понравится фотографии на фоне кустов и пустых бутылок. Однозначный плюс - статьи в ЖЖ «как я компилял ядро» или «как я перепаивал этот китайский роутер». Однозначный минус - дешевые понты вроде «VIP-статус ВКОНТАКТЕ», дакфейсов или фоток на фоне ржавой крысы с видом как будто это новая семерка.

2. Первое интервью.

Говорят, что человека встречают по одежке. Говорят, что первое впечатление так и останется 80% мнения на ближайшие 5 встреч. Я не знаю на сколько это правда, но мне всегда приятно было видеть нейтрально одетых людей в чистой одежде (да, были случаи, когда соискатель совершенно буквально и объективно вонял) с чистыми волосами (и ногтями). Я разделяю любовь к джинсам, берцам, кожанкам и камуфляжу, но считаю, что в первый раз показаться лучше в классическом костюме нейтрального цвета. Потом похвастаете своим офигенным мотоэкипом и прекрасно подогнанным снаряжением, в первый раз ваша задача - не оттолкнуть. Нет костюма - постирайте джинсы и свитер, поверьте просто на слово, что это важно и это влияет.

Отдельное замечание обладательницам красивых форм: не надо их лишне подчеркивать на первом свидании. Иначе, потом будут говорить, что наняли вас за декольте или начальник подумает «вот будут говорить - нанял за декольте!». Не надо это, ни вам, ни начальнику. Потом все покажете.

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

Посмотрите на людей в коридорах. Задайте себе вопрос, хотите ли вы быть похожими на них.

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

Интервью с непосредственным руководителем. Это самый важный человек в процессе, он подбирает себе не просто специалиста, а человека, который его лично устраивает. Как правило, люди нанимают похожих на себя. Тут хороший мотоэкип или камуфляж могут отыграть хорошо, а могут навредить. Лично я - не советую, хотя сам отношусь нейтрально.

Некоторые работодатели любят устраивать форменный экзамен просто так, даже если видят, что человек не тянет, некоторые любят задавать задачи на сообразительность типа взвешивания монет и измерения высоты здания барометром. Некоторые любят вопросы типа «вы ввели linux.org.ru в строке адреса браузера и нажали „ввод“, расскажите, что произойдет после этого, постарайтесь успеть до 8 вечера». Некоторые дают тест на бумаге, некоторые просто обсуждают жизнь. Есть конторы, где принято нанимать точно соответствующего человека, есть конторы, где принято учить и воспитывать, требуя только базовые или непрофильные вещи (например: технологиям обучим с любого уровня, а вот английскому - нет).

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

3. Скиллы.

Если вы идете наниматься на техническую должность, пожалуйста, освежите в памяти модель OSI, основные топологические схемы сетей, как работает TCP/IP в крупную клетку, что такое DNS, DHCP, CIFS, FTP, HTTP, SMTP, BGP, SSL. Я раньше спрашивал про несимметричное шифрование, сейчас же очень многие не могут внятно ответить «что такое IP-адрес», имея за плечами опыт работы сисадмином, не говоря уже о просьбе отправить письмо по SMTP используя только telnet. Это не приемлемо, объем базовых курсов по сетям и любой операционной системе надо знать.

 

Shaman007
()

Курс по криптографии и типовым реализациям

Форум — Development

Посоветуйте курс на платформе типа stepic.org, что бы с максимумом практических заданий.

Основная задача - понимать как работают попсовые аутентификации и распределения ключей.

Помимо указанных в ответах ресурсов, лично мне понравился вот такой вот курс от Khan Academy.

 , stepic,

pon4ik
()

Нищие пенсионеры

Форум — Talks

Вопрос к тем, кто помнит как оно было в СССР.

Я тут прикинул, что зарплаты в совке были совсем не маленькие. Ну скажем сталевары, шахтеры получали до 800 рублей. Кто на северах работал в нефтянке, на буровой или сварщиками и до 1000 со всеми надбавками. Токарь средней квалификации, не асс, но и не алкоголик получал 300-350.

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

Вопрос в чем, куда граждане девали деньги? При тотальном дефиците всех и всего. Мог ли советский гражданин купить 4 кооперативные квартиры в Москве, или золота в ювелирке тысяч на 50?

Или все, как последние идиоты держали деньги в сбербанке?

 

Bobby_
()

Сергей Савельев: Искусственный интеллект это обман.

Форум — Talks

https://www.youtube.com/watch?v=Bqqm0hFg9Gs (короткий ролик на 8 минут с основными тезисами)

Интересует мнение зрительного зала линуксоидов и прочих айтишников о мнении известного учёного, занимающегося изучением мозга.

 

bbk123
()