LINUX.ORG.RU

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

продажа свободных программ

Форум — Talks

ознакомился с мат. частью: https://www.gnu.org/philosophy/selling.html, так и не понял, как можно жить с продаж свободного ПО. жить только на донаты или продавать диски/флешки в африку или антарктиду, где нет инета? не удивительно, что автор ищет койкоместо. зачем покупать то, что можно скачать без нарушения прав?

про поддержку за деньги, с которой живет красношапка там речь не идет

 ,

chenbr0
()

Отслеживание падений

Форум — General

Хочу отслеживать любые завершения процессов на локалхосте с ненулевым кодом выхода. Как такое огрынизовать?

 , , ,

xvostostrel
()

Как импортировать rwz (правила из out'глюка) в thunderbird...?

Форум — Desktop

На работе решили уйти от мелкософтовского офиса. Выбор пал на libre, а почтовый клиент выбран thunderbird. Экспортировал почтовые правила в файл *.rwz. Как теперь это всё добро запихать в thunderbird...? Правил (или как называется в thunderbird'e) около 500. Руками создавать всё это заново - геморройно.
P.S. Возможно кто предложит альтернативу почтовому клиенту лучше...?

 

Shprot
()

Неэффективно работаю.

Форум — Talks

Всем привет. Я backend разработчик в вебе. Пишу на пыхе, использую Ларавел (в основном). Знаю неплохо сам js и умею немного в MERN (коммерческого опыта не было но парочка небольших пет проектов есть с redux, jwt, websocket). Немного понимаю питон (запилил бложик на flask). Современный пых знаю неплохо. Есть опыт работы с docker.

Так вот, проблема в том что я, по словам работодателей работаю довольно неэффективно. Общий стаж работы 2 года. На первой работе продержался год почти.

Но потом пошла полоса неудач. Поменял 2 места работы с периодичностью 2 недели (в одном взялся за задачу в которую въезжал неделю и это показалось слишком долгим для работодателя, в другом за 5 дней я написал «слишком мало кода» для нового проекта который «пилится за неделю»). После устроился на работу где копался в куче ужасного говнокода и меня постоянно упрекали в том что я «работаю слишком медленно и заказчику от силы предъявлял менеджер 50% моего затраченного времени». Через пол года я уволился не выдержав давления. На третьей работе - такая же история + довольно высокомерный руководитель, который тебя вообще не слушает. Медленно закрываю таски. Недавно вообще дали старый проект на Друпале, которого я вообще не знаю, и разворачивал его локально почти весь день, манагер написывал каждый час «ну что, получилось»? После того, как я его развернул, возникла еще хренова туча проблем из - за htaccess и тд. А с меня уже требуют выполненных тасков. Теперь думаю менять место работы. Но мне кажется что слишком уж я часто меняю места работы. Мне 28 лет.

Перемещено jollheef из general

 

Kompot
()

Расскажите, как заработать денег, но не по-людоедски

Форум — Talks

Расскажите пожалуйста, о каком-нибудь полностью свободном проекте, который тем не менее зарабатывает деньги? Свободный не только в плане FOSS лицензии, а еще и в смысле отсутствия тайн, чтобы была 146% прозрачность

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

Очень хотелось бы найти какой-нибудь такой проект, чтобы вся его жизнь происходила на 146% прозрачно. Чтобы весь код был под FOSS лицензией на гитхабе. Чтобы вся документация лежала в открытом доступе в вики. Чтобы можно было в любой момент открыть трансляцию рабочего стола (и вообще квартиры) на YouTube, держать круглосуточную трансляцию, и не нанести никакого вреда бизнесу. И чтобы при этом было достаточно денег, чтобы заплатить за квартиру, пожрать и купить новое железо, когда старое сломается.

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

 

stevejobs
()

Хочу запилить email клиент - есть желающие взяться за вебморду?

Форум — Web-development

гугл закрыл инбокс, гмыло неудобное, TB неудобен. кучу менее известных открытых и не только перепробовал за последние пол года - все не то...
у меня есть вполне сформированное понимание, какой именно почтовый клиент я хочу:
* отдельный бек, с возможностью простого разворачивания на сервере
* тотже бек должен уметь работать локально на десктопной машине\мобильном устройстве
* мультиаккаунты
* поиск вместе с фильтрами по меткам\ярлыкам\аккаунтам\датам\адресатам и т.д.
* возможность масштабирования бека в виде одноранговой конфигурации с поддержкой избыточных узлов (чисто для того, чтобы писать на чем нибуть высокоуровневом и при этом не иметь проблем при работе с огромными почтовыми ящиками - достаточно просто поднять несколько нод)
* возможность в рамках одного бекенда иметь несколько изолированных аккаунтов (многопользовательская конфигурация)
* удобное и достаточно мощное апи для работы с беком (для начала через web протоколы)
* cli клиент хотябы с базовым функционалом
* возможность запуска бекенда в режиме минимального потребления ресурсов (например если это ноут\мобила и осталось мало заряда или просто слабый конфиг или очень дорогой\медленный инет)
* код бекенда легко переносимый и кроссплатформерный
* в случае если бек запущен на десктопе - показ уведомлений хотябы средствами DE
* гуй клиенты, общающиеся с беком через то самое апи (в приоритете модно-молодежная адаптивная веб-морда, которую позже можно будет обернуть в мобильное приложение)
* мобильная версия (для начала на базе веб-морды + сервис для показа уведомлений от бека)

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

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

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

вообщем зачем я тут все это изливаю - возможно комуто интересно поучавствовать? но тут очень важно, чтобы вам самим этот потенциальный емэйл клиент был нужен.
вообщем если ктото заинтересовался - пишите на гуглопочту genryrar.

 , ,

genryRar
()

Надёжные фирмы по продаже б/у Thinkpad

Форум — Talks

Есть у кого опыт покупки и обслуживания? Раньше был smartbooks.org но они “слились“ в последний год. Интересуют фирмы в РФ.

Перемещено jollheef из development

 

AUX
()

Удобный поиск российских аналогов ПО

Форум — General

Существует ли какой-то сервис для удобного поиска российского по чтобы можно было вбить там например cubase и тебе предложило список российских аналогов? или же как проще всего искать в «Единый реестр российских программ для электронных вычислительных машин и баз данных» входишь и пишешь там категорию нужного ПО и листаешь?

 

mefisto74
()

О судьбе свободного ПО

Форум — Talks

вот читал тут недавно на форуме, что мол нужно объединиться и начать работать общими усилиями над одним серьезным проектом а не городить 100500 велосипедов я согласен на все 100

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

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

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

 

w1nner
()

PyTest и системное тестирование

Форум — Development

Хочется тестировать (не питоновые) программы, с автоматическим tear up / tear down тестовой среды (докер или виртуалка). Запустить пачку сервисов, дать валидную / невалидную нагрузку, поубивать их там в случайном порядке. И вывод в виде читаемой html. PyTest похож на то, что нужно, но судя по всему, обычно используется для unit-тестирования. Поделитесь опытом в описанном use-case. Понравилось? Не понравилось? Есть что-то получше?

 ,

kirk_johnson
()

Android, зонды, безопасность, СПО, паранойя

Форум — Mobile

Disclaimer1: Проблема с данным маном в том, что местной аудитории, например, плевать на ведроид, а тому же 4pda наплевать на фанатичный СПО и избавление от зондов. Рискнем и запостим здесь.

Disclaimer2: Все описанное является суммой наклопленного мной опыта вперемешку с моим личным мнением. Пишите комменты, будем улучшать-дополнять-чинить

Уровень прошивки

Практически все стоковые прошивки на сегодняшний день идут с gapps (Google Apps). Что же это за зверь:

  • Любое приложение (даже не требуещее никаких прав) может с ним общаться.
  • Gapps имеют доступ к сети.
  • Gapps позволяют Google в любой момент установить/удалить с вашего телефона любое приложение.
  • Gapps постоянно держат открытое сетевое соединение с серверами гугла (для нужд push-нотификаций).
  • Gapps — нереальное огромное количество кода. Стоковый образ (если верить opengapps) будет весить около 700Мб.

ААААА, как это удолить этот рассадник потенциальных уязвимостей и жора батарейки?

Сложный вопрос, на самом деле. Есть три варианта действий:

  • Новый и простой, и профитный способ. Появилась прошивка «LingeageOS for microG». Если ваше устройство поддерживает её, просто ставьте её и наслаждайтесь. Fdroid+MicroG+пуши+signature spoofing+unlp+OTA-обновления из коробки
  • Самый простой способ. Если ваш андроид достаточно старый (на достаточно новом не удастся отключить самый главный компонент gapps), из Настройки->Приложения отключите все, связанное с Google (особенно, Google Service Frameworks):
    • root не требуется;
    • push-уведомления работать не будут;
    • на устройстве останется огромная и потенциальная куча гугловского дерьма, хоть и менее активная.
  • Способ посложнее. Накатываем root и вручную удаляем все пакеты и библиотеки, требуемые гуглу:
    • требуется root и разблокировка загрузчика;
    • минимальное количество зондов без смены прошивку на полностью опенсорсную;
    • увы, в последних версиях андроида вам, скорее всего, придется оставить несколько пакетов (вроде GoogleSetupWizard), иначе система не загрузится.
  • Самый профитный способ. Ставим альтернативную прошивку (или мотаем до следующей секции и покупаем устройство с пгавославной прошивкой без зондов из коробки). Наслаждаемся.
    • Требуется root, разблокировка загрузчика, шаманство и местами смена устройства.

Я тут начал наслаждаться, но вдруг понадобились пуши, да и Uber требует зонды. Что делать?

Вдоль

Попробовать поставить MicroG, свободную реализацию клиентской части гуглозондов. Самая больная часть: помимо собственно MicroG вам нужно будет запилить себе Signature Spoofing. Коротко говоря, это обход защитного механизма, не позволяющего прикидываться gapps'ами кому попало. Для этого необходимо либо патчить прошивку при помощи Xposed/Needle/Haystack, либо использовать совместимую прошивку (смотрите список, по ссылке, их стало очень много). Все подробности по той ссылке.

MicroG позволяет завести пуши, сервисы геолокации (со множеством бекендов, ищите nlp location backend в f-droid) и большое количество софта (когда я в последний раз тыкал, работали даже покемоны).

Уровень софта

Без гуглозондов жить есть!

https://f-droid.org/ — каталог с опенсорсным софтом.

Предлагаю вам следующий список приложений, способный заменить типичный набор проприетари из типичной вендорской прошивки. Аналогичный список: https://github.com/Datenschutz/awesome-FOSS-apps

  • Yalp store. Позволяет ставить приложения из Google Play (да, иногда это все-таки нужно), в том числе через общий аккаунт. Не требует зондов.
    • Позволяет так же выкачивать купленные приложения (но не факт, что они заработают: они при работе могут проверять лиценизию через gapps, возможно, тут может помочь microg).
    • Альтернативно, воспользуйтесь моим решением для выкачивания софта прямо в свой репозиторий f-droid.
  • K-9 Mail. Почтовый клиент.
  • DAVDroid. Синхронизация контактов с owncloud/nextcloud.
  • Gadgetbridge. Синхронизация с умными часами и браслетами (pebble, mi band и некоторые другие)
  • NewPipe. Клиент для YouTube. Умеет воспроизводить видео в фоновом режиме как музыку, загружать файлы.
  • Odyssey. Просто материальный музыкальный плеер, но в последнее время очень нужный, т.к. вендоры повадились заменять в прошивке плеер на Google Music.
  • Набор простых и красивых затычек для различных приложений — simple mobile tools.
  • Файрволл AFWall+ файрволл (имеет Xposed модуль для расширения возможностей)
  • Amplify Battery Extender.
  • DNS66.
  • KDE Connect.
  • OpenKeychain.
  • OpenVPN FOSS.
  • Картография и навигация: Maps.Me (приз симпатий от комментаторов), OsmAnd (приз глюкалова от меня, но щито поделать).
  • Список стал очень жирным. Пока новые элементы не добавляю, думаю над критериями включения в него софта.

Если вы будете ставить проприетарный софт, помните о следующем:

  • Желательно зайти в настройки приложения и вручную запретить доступ ко всем ненужным разрешениям, дабы не промахнуться в нужный момент.
  • Отключите приложению фоновый доступ к сети (если у вас свежий Android) или вообще доступ к сети (если у вас стоит файрволл).
  • Малвари вроде «Сбербанк Онлайн» вообще лучше создать отдельный аккаунт на телефоне.
  • Яндексовским приложениям нельзя давать доступ к местоположению. Вообще никаким — все сливают.
  • Проприетарь может читать названия аккаунтов, даже не принадлежащих ей. Называйте их максимально обще, т.е. вместо «sportloto@syncserver.com» делайте «contacts sync».

Права суперпользователя

Читая васянский 4pda вы часто можете увидеть «ну и накатываем SuperSU.zip». Не делайте этого. Есть прекрасный опенсорсный superuser, совместимый со свежими ведроидами. Нужно лишь поставить zip (используйте beta на android >=6) и apk.

Если ваша прошивка основана на LineageOS, то все еще проще. Где-то рядом с загрузками в директории extra должен валяться zip, включающий встроенные и интегрированные в прошивку права суперпользователя. Профит.

XPosed

XPosed — опенсорсный фреймворк для низкоуровневых хаков.

  • Не доступен для свежих андроидов.
  • Позволяет заставить не увидеть root всякие «Сбербанки Онлайн».
  • Имеет кучу некрофильских и неопенсорсных модулей. Осторожнее.
  • Легким движением руки может окирпичить прошивку.
  • Полезные модули:
    • PlayPermissionsExposed
    • YouTubeAdAway (но все-таки советую использовать NewPipe, LightTube, WebTube, SkyTube или MiniTube. Тысячи их!)
    • XPrivacy — по своей сути это «песочница» для любого, даже системного, ПО. Xprivacy применяет правила ко всему ПО. Эти правила можно создавать самому или качать готовые. То есть, к примеру, если установлено нечто местами полезное, но попутно показывающее свою рекламу, Xprivacy можно просто запретить этому ПО доступ в сеть. Или если очередная косынка хочет интернет, список контактов, доступ к микрофону и камере, то с Xprivacy это легко и просто запрещается конкретно этой гадости и она даже будет при этом работать не имея доступа к тому, что ей будет запрещено.

Уровень устройства

Тут тоже всё плохо. Выбор:

  • Рандомный флагман с хорошей поддержкой LineageOS (CyanogenMod). Поддержка, вероятно, будет хорошей, секьюрити-апдейты будут приходить долго (например, для htc desire hd цианоген обновлялся до самого конца — декабря 2016 года), но вот версия андроида, скорее всего, застрянет. Обычно дорого. Можно искать по списку официально поддерживаемых линейкой устройств.
  • OneplusOne / Wileyfox Swift 1. Поставлялись с CyanogenOS, имеют хорошее коммьюнити разработчиков, будут долго обновляться в софтовой части. В железной — все плохо. 1+1 уже довольно старый и хорошие запчасти купить сложно. Wileyfox изначально имел несколько проблем, в т.ч. слабенькую батарейку. Компенсируется ценой, местами можно найти новое в продаже. Довольно бюджетно.
  • Fairphone 2. Очень дорого, очень хорошо. Но это в теории, как там на практике — хз, не пользовался, отпишитесь.
  • Рандомный телефон с официальным портом los. Сойдет, главное, чтобы фатальных багов в порте не было. Долгой жизни порта не ждите.
  • Рандомный телефон с васянским los. Совсем плохо, но если телефон уже куплен, ничего не поделать.
  • Рандомный телефон с васянским ведроидом, основанным на стоковой прошивке / без исходников / проч. Лучше такое не ставить, а подготовить прошивку самостоятельно, смотрите выше и ниже.

Следует также заметить, что:

  • Существует несколько устройств с CyanogenOS, без доступной Cyanogenmod. В комплекте идут сервисы microsoft, gapps и много разной другой блотвари. Исходники обычно зажабены. Пример устройств: Wileyfox Spark, Wileyfox Swift 2(|+|x).
  • Выбирая устройство, так же загляните на его страничку на 4pda. Ресурс хоть и васянский, но очень полезный: можно увидеть список доступных прошивок, FAQ по типичным проблемом, список самых вероятных заводских проблем (которые можно проверить еще перед покупкой).

Уровень физической безопасности

Для чего нужна физическая безопасность:

Допустим, ваш девайс попал в руки злоумышленнику.

  • Во-первых, вы хотите, чтобы он не имел никакой возможности прочитать важные файлы с вашего телефона (кейз ФБ-1).
  • Во-вторых, вы хотите узнать, не добавил ли он кейлоггеров в ваш загрузчик (кейз ФБ-2).

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

Я бы на вашем месте на это не рассчитывал.

  • Аппаратные защиты часто не надежны и опираются на принципах безопасности через неясность, в них переодически находят уязвимости
  • На прекрасных, казалось бы, телефонах Xiaomi вы не сможете разблокировать загрузчик, если с Xiaomi что-либо случится: разблокировка производится с участием интернета при помощи (работающей только под Windows) программы, требующей их аккаунта и доступа к интернету. У HTC похожая ситуация, но в несколько более мягких условиях.
    • Скорее всего, это доставит неудобств именно вам, а не злоумышленнику
  • Всякие проприетарные системы полнодискового шифрования тоже не выдерживают проверок специалистами.

Выводы:

  • Для хранения ваших секретных файлов в безопасности от ФБ-1 используйте, к примеру, Secrecy.
  • «Таблеток» от ФБ-2 на сегодняшний день нет. Промбируйте телефон при помощи скотча и волос и не расставайтесь с ним.
  • Лучше все-таки не хранить никакие важные данные на телефоне.

Модули сотовой связи

В каждом мобильном телефоне, почти каждом планшете есть GSM-модуль мобильной связи. Это —

  • Фактически отдельное устройство, обычно имеющее максимальный доступ к процессору, памяти и переферии. Зачем это делают — черт знает. Возможны исключения, нужно уточнять в каждом отдельном случае.
  • Идентифиционный модуль, который постоянно разговаривает с воздухом.
  • Куча проприетарного кода, который никто не анализировал. В тех немногих случаях, когда анализировали — находили кучу всего интересного.
  • Работает это все на протоколах, местами разработанные в 80-х годах.

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

Вроде, все, что хотел сказать. Выдыхаю

 , , , ,

derlafff
()

Документация к языкам программирования

Форум — Development

Всевозможные учебники и книги - это хорошо, но обычно их предлагают купить и часто не совсем дёшево, даже если они описывают базовый уровень. Бесплатным решением, очевидно, является официальная документация. Когда я открыл документацию к python, я был приятно удивлён, что она написана практически как учебник. Для Java вроде бы тоже всё относительно неплохо в этом плане, хотя хотелось бы отдельный оффлайновый pdf.

Мне захотелось скачать себе документацию в подобном виде для C и C++. Зашёл на их официальные сайты, там описание стандарта предлагают получить на сайте ISO за немалые суммы денег. Да и само описание стандарта далеко не для обучения. Хорошо, подумал я, попробую тогда посмотреть документацию к одной из реализаций языка - GCC-CPP, и вижу, что описанное там тоже вовсе не подходит для обучения. Даже описания типов и примеров объявления нет (может плохо искал, но в заголовках не заметил).

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

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


Update

C, C++
Online-ресурсы и учебные пособия для начинающих:

Как дополнение: Рабочая версия стандарта C++14 от 19 ноября 2014 г. (с официального сайта стандарта)


Fortran


Python
В дополнение к официальной документациипереводу руководства Python 3.1):


Object Pascal. Lazarus

Перемещено Klymedy из talks

 , , , ,

grem
()

Книга дня от PacktPub.com (бесплатно) (2)

Форум — Talks

На сайте PacktPub.com ежедневно можно бесплатно добавить в аккуант и скачать книгу, которая участвует в этот день в акции. Для загрузки необходима регистрация на сайте. Книга добавляется в аккаунт навсегда. Книги доступны в форматах PDF, MOBI, ePub, Kindle. Так же есть возможность скачать все исходные файлы (примеры из книги).

Книга дня на PacktPub.com (доступна до 02:00 MSK)

Новые книги будут добавлятся в виде комментариев - подписывайтесь на текущую тему для получения уведомлений

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

slaykovsky, bormant, i-rinat, xaizek, Revent, atsym, FRWHate router

Старая тема ушла в архив, вроде никто не создал новый тред, мб не заметил, если, что дайте знать.

 ,

Licwin
()

Вечер срыва покровов о том, как душат микро бизнес в России

Форум — Talks

ИП со стажем 7 лет.
В т.ч. большой опыт работы с госзаказом.

Задавайте ваши вопросы (кому интересно). На все корректные отвечу.

АТО (с) очень много волос у меня выпадает, когда читаю перлы про микробизнес в России.

 

dk-
()

Безопасно ли разрешать юзерам встраивать SVG в сообщения?

Форум — Web-development

Хотел бы разрешить на форуме юзерам добавлять в сообщения SVG-картинки как data-uri. Было бы удобно для встраивания всяких графиков и диаграмм (не надо заморачиваться с отдельным выкладыванием).

Это может нести в себе какие-то проблемы с безопасностью? Типа, если внутри SVG окажется яваскрипт который вылезет наружу в DOM страницы. Я не очень шарю в продвинутом SVG, не знаю какие там бывают варианты.

 

Vit
()

Разные «аккаунты» для git

Форум — Development

Когда коммичу в разные проекты использую разные email адреса (gmail.com, fedoraproject.org, gnome.org, redhat.com) и не очень удобно после git-clone делать git config user.email, есть какие-нибудь расширения для гита, которые, например, на базе remote URL настроят email? Или только алиасами в шелле?

P.S. гуглить лень, да и последний раз ничего хорошего не нашёл

 ,

i_gnatenko_brain
()

Чебурнет ближе, чем вы думаете

Форум — Talks

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

Как многие из вас слышали, почти год назад русские хакеры, потратив 100к баксов на рекламу в мордокниге, взломали мозги американским избирателям, и выбрали американцам Трампа вместо президента.

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

Так вот, в США начали всплывать живительные идеи огораживания населения в свободном демократическом чебурнете. Предлагаю заслушать точку зрения, озвучиваемую в империалистической газетенке форбс:

The internet we know is killing the foundational institutions on which democracy depends. We need a new internet, and for that, we need Congressional action, not obstructionism.

Опа, интернет враг демократии. За такие обвинения не одну страну разбомбили.

Короче, в статье толкают речугу про то, что в конгрессе идут дебаты: оставить ли в живых net neutrality. Эта «нейтральность» обвиняется ни много ни мало в underminingе честных выборов клинтонши, в том, что через интернет sex traffickers передают в сжатом виде баб для секса, уничтожении приватности, кормлении информационных монополий гугла и амазона, угнетению свободы слова, и разрушению копирастической индустрии. Также интернет обвиняется в том, что информация в нем слишком свободно течет и угрожает цивилизации:

the free flow of information is only one of our information civilization’s potential problems — one that introduces problems of its own: it was the very freeness with which information flows on today’s internet that enabled Russia to undermine the last presidential election.

В общем, интернет будут бомбить.

Впечатление же от всего этого цирка невеселое. Люди уже открыто пишут в самом форбсе, что мы будем цензурить интернет, потому что он слишком свободный и угрожает свободе слова.

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

А линукс тут вообще при всём. Ну хотя бы потому, что интернет обвиняется и в разрушении копирастов(дословно - devastating publishing industries). А что хотят копирасты? зонд. То есть зонд под винду и мак, чтоб проприетарщина была кругом. А линукс? а линукс дизлайкают корпорации.

 , ,

ckotinko
()

Вопрос о packagist

Форум — Talks

Добрый вечер!

Слушайте, народ, а какова вообще политика добавления пакета в репозиторий composer? Какие ограничения, кто фильтрует пакеты, следит за актуальностью, безопасностью и т.д.?

И вообще возможна ли там такая ситуация, как было в полтора года назад с npm — https://www.theregister.co.uk/2016/03/23/npm_left_pad_chaos/ ?

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

sudo cast no-such-file, deep-purple

 , ,

Twissel
()

Написание свободной(Free as in Freedom) книги-самоучителя по программированию: планы, цели, задачи

Форум — Development

Итак, я решил написать(или как вариант, собрать из кусочков) книгу-самоучилель по программированию, в которой бы не было глупых и нелепых ограничений на распространение. Однако копилефт я все же считаю приемлемым в данном случае. Общественным достоянием это не будет т.к. вполне могут найтись желающие использовать результат в своих проприетарных книгах, а проприетарные книги — плохо. Лицензия самого текста книги-учебника будет или Creative Commons Attribution-ShareAlike (что позволит без каких-либо проблем переиспользовать текст из википедии) или что-то вроде GNU Free Documentation License (без неизменяемых разделов естественно).

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

Теперь к теме того, на кого книга ориентирована, какие начальные знания предполагаются, чему книга будет учить, какой первый ЯП взять и каков будет авторский самысел: С этим моментом я пока что не определился окончательно, и тут есть что обсудить. В частности, я не вижу особого смысла объяснять какие-то базовые понятия комбинаторики, об этом можно доступным языком прочитать из школьных учебников. Системы счисления(СС), перевод из одной СС в другую - вот это еще можно. One's и two's complement представления знаковых чисел — про это тоже можно написать. Если же человек не понимает комбинаторику, он ее быстро поймет на примере кода, который будет достаточно наглядно это показывать, и который всенепременно будет.
Пока что в качестве первого языка я склоняюсь к Си, и тому есть причины. Все прочие распространенные языки (кроме ассемблера, хотя его трудно назвать распространенным) не настолько близки к аппаратному уровню. Про нужность понимания на низком уровне написано тут http://russian.joelonsoftware.com/Articles/BacktoBasics.html https://habrahabr.ru/company/piter/blog/271347/ , не вижу смысла повторяться. Приведу лишь цитату:

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

Притом еще один важный момент: Си будет изучаться параллельно с ассемблером. Если речь идет об изучении ассемблера, необходимо четко зафиксировать то, на какой архитектуре это все происходит и в какой ОС. Так вот, ОС будет GNU/Linux а архитектура x86-64. Будут постоянно проводиться параллели между тем, что из себя представляет код на Си в текстовом виде, и тем, в какой текст на ассемблере его превращает компилятор. В связи с этим, первым делом будет рассказано о goto и конструкции if(условие) goto метка;. Про конструкции вида

if(условие)
{
  что-то_делаем;
}
else
{
  что-то_другое_делаем;
}
Будет рассказано немного позже, притом это будет рассказано и словами, и через написание эквивалентного кода через if(условие) goto метка;. Циклы, for(){} while{}, do{}while(), конструкция switch-case и break continue внутри них будут так же объясняться через все тот же if(условие) goto метка; притом будет делаться явный акцент на том, что намного лучше использовать нормальные циклы, чем лепить всюду этот условный goto. Кроме того, будет так же рассказано про Labels as Values. Почему так важна эта странная штука, if(условие) goto метка;? Потому что она имеет наипрямейшее отношение к тому, как работают ЭВМ, а всякие циклы СКРЫВАЮТ это. Рекурсия в Си будет объясняться только после того, как будет объяснено, что такое стекфрейм и соглашения вызова, будет сказано про оптимизацию хвостовой рекурсии, и о проблеме забивания стека, если такая оптимизация не происходит, притом это будет наглядно показано в ассемблере. Учиться отлаживать код надо будет тоже «с пеленок», притом отлаживать и ассемблер, и всякие там Си. Будет и про асм-вставки в Си, clobber list. В качестве ассемблера будет рассматриваться GAS, а никакой не NASM т.к. GCC умеет выплевывать ассемблер именно в GAS синтаксисе. Насчет выбора Intel или AT&T синтаксиса - тут я склонюсь пожалуй к тому, что надо ЗНАТЬ И УМЕТЬ ПОНИМАТЬ ОБА. Кроме того, GAS давно уже умеет в оба синтаксиса, так что проблем с этим не будет. Единственная проблема с GAS в том, что это однопроходной ассемблер, так что можно освоить и какой-нибудь NASM, YASM.

Первые хеллоуворды будут написаны вообще в особом стиле, без использования printf() и вообще без библиотеки Си; Будут использованы куски на ассемблере, которые делают системный вызов write и read, и с ними можно(нужно) будет линковаться, чтоб что-то вывести на экран. Будет рассказано и про printf естественно, но только когда будет совершенно четко ясно, что такое вообще va_list. Будет куча отсылок к драфту стандарта Си (недрафт почему-то платный). Будет так же рассказано про устройство ОС. В конце скорее всего будет дано задание сделать свою игрушечную ОС так что предполагается что человек к тому моменту должен уже отлично понимать всякие там связные списки, графы, очереди, спинлоки-аллокаторы свои уметь делать на асме при желании. Алгоритмы сортировки, обхода графов, хеш-таблицы, все это будет объяснено на языке Си, и плюсов вообще касаться я не буду.

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

Кроме того, после моей книги предполагается, что человек должен уметь заниматься такими ненужными (в GNU/Linux) на первый взгляд вещами, как крякинг, реверсинг, исправление ошибок в бинарниках, не обладая исходным текстом. Восстановление логики работы программы по дизасму. Ну и программирование в машинных кодах (без ассемблера, одним HEX редактором).

Как-то уж слишком дофига, не находите? Может быть не надо так глубоко во все это нырять? Жду предложений и критики по поводу того, что нужно, а чего не нужно писать. Возможно что я слишком много хочу.

cast ASM be_nt_all mister_VA

UPD: Программирование и отладка на C/ASM - Первые программы. Знакомство с C и ассемблером. Компиляция, линковка, код возврата. Вывод текста.

 , , ,

SZT
()