LINUX.ORG.RU

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

О том, как написать OS

Форум — Development

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

Короче, вот плейлист*: https://www.youtube.com/playlist?list=PLHh55M_Kq4OApWScZyPl5HhgsTJS9MZ6M
GitHub с сорцами: https://github.com/AlgorithMan-de/wyoos

Дерзайте, кому интересно...

* требуется знание английского языка и некоторых языков программирования и инструментов; а также желание доучиться самому.

 , , ,

KennyMinigun
()

Ресурс, где можно сделать хипстерские изображения с кодом

Форум — Development

Проскакивал когда-то сайт, где можно к своему коду применить любую тему а потом еще фильтры (как в Инстаграмчике). Кто-то помнит как оно называлось и где найти?

 ,

KennyMinigun
()

Яндекс банит почтовые ящики по ключевым словам

Форум — Talks

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

Проблемы начались в январе 2017 года. Каждый случай я записывал в блокнот, т.к. с самого первого случая бана на яндексе понял, что это не спроста.

1) Первый раз мой аккаунт на яндексе забанили в январе 2017 года. Что делал: зашел на один из основных акков, которым пользовался для интернет-покупок с 2008 года, написал в сапорт VPN-провайдера, т.к. собирался менять свой VPN на новый, задал несколько вопросов по поводу надежности и абузоустойчивости их VPN. Вечером при попытке войти в ящик, яндекс написал, что доступ заблокирован по подозрению во взломе. Хотя я всего-лишь отправил письмо. Для восстановления доступа потребовали номер телефона, чего я естественно давать не собирался, ибо нефиг.

2) Через несколько дней я повторил это с другим яндекс ящиком. Я взял другой свой компьютер, зашел на другой яндекс-ящик (тот был для соцсетей), и повторил тот же самый эксперимент, только уже с другим VPN-провайдером, т.е. написал письмо с примерно такими же вопросами о приватности и абузоустойчивости. Вечером и этот акк забанили «по подозрению во взломе». Тут я уже призадумался, 2 акка потеряно, тут есть связь.

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

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

4) Летом, когда начали раскручивать хайп про Матильду, я сидел на работе. И пока жрал свой бургер, с рабочей почты (она тоже была на яндексе) написал письмо в ближайший кинотеатр, с вопросом когда начнется предзаказ на Матильду. Почта, которой я ежедневно пользовался 3 года, была забанена в течении 2х часов, опять «по подозрению на взлом». Восстанавливать не стал, т.к. это была не корпоративная рабочая почта, а просто почта, которой я пользовался только на работе.

5) Далее сентябрь. Взял совсем новый комп, с совсем новой чистой осью, и даже с новым интернетом, который был резервный домашний интернет. Зарегал новый акк на яндексе, и написал письмо в другой кинотеатр, с вопросом будут ли показывать Матильду? К вечеру акк забанили. Опять «подозрительная активность». Пишу в их говеный сапорт, говорю идите нафиг, все нормально с моей активностью, верните доступ. В ответ хрен вам сударь, будьте добры ввести номер телефона и достоверные паспортные данные! О как.

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

По сути я понял что происходит. Яндекс начал заниматься цензурой, активно парсит наши письма не только с целью навязывания таргетированной рекламы, но и с целью забанить всех, кто выполняет неугодные запросы. Система скорее всего автоматическая, банит в течении дня. Для восстановления акка требуют телефон и ввод паспортных данных.

Подозрения на вирусы сразу отметаются, и дома, и на рабочем месте всегда стояли линуха, последние 6-7 лет везде всегда ходил через VPN. Все вышеперечисленное связываю только с какой-то лютой бешеной цензурой и блокировкой по ключевым словам.

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

 , , , ,

zorro34
()

Какой есть фильм(хф,рисованный, любой) с наикрутейшим логическим замесом?

Форум — Talks

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

 , ,

Siado
()

Возможно ли удалённо получить весь список ssh fingerprint?

Форум — Admin

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

Как обычно, на хосте у ssh есть несколько ключей - на каждый поддерживаемый тип ключа - dsa, rsa, ecdsa, ed25519

Локально fingerprint'ы можно увидеть примерно так:

# for file in $( ls /etc/ssh/ | grep '^ssh_host_.*_key$' ); do 
  echo;
  echo $file;
  echo "    " $( ssh-keygen -l -E md5 -f "/etc/ssh/$file" );
  echo "    " $( ssh-keygen -l -E sha256 -f "/etc/ssh/$file" );
done

Можно ли то же самое получить удалённо?

ssh-keygen -l -F $host

покажет отпечаток только дефолтного типа. Ключ "-t" молча игнорирует

Да, задача странная :)

 ,

router
()

vim doublecommander startify - проблема века

Форум — Desktop

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

Но захотелось использовать Ф4 хоткей (редактрировать файл) через dc. Добавил туда gvim --remote-tab-silent, ибо хочу в табах. Если вим уже открыт - то все в порядке. Но если окно не запущено он запускает вначале вкладку со стартифи и потом в другой вкладке сам файл, что очень неудобно (открывать закрывать по две вкладки). Искал, что нибудь типа --remote-tab-silent -c tabclose [имя вкладки] - но такого в вим не завезли. Спасайте.

 ,

arcan7777
()

Поиск фойловой системы по сигнатурам

Форум — General

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

 , , ,

ne-vlezay
()

Стек технологий для реверсинга

Форум — Development

Для начала, посоветуйте современные свободные/открытые аналоги IDA и PVS-Studio. Которые еще и могут работать не только под винду, но и под линукс. И под 64 бита. Неплохо бы из асма какой-то си-подобный псевдокод или прям си. А для поисковщика ошибок ориентацию на C++.

Гугл у нас общий, но там куча каких-то полудохлых проектов, IDEшек на тикле от одного вида которых задница перекусывает чугунный лом, какие-то шеллскрипты для аппликух от которых уже и исходников не осталось... Вообще получасовое гугление протащило как будто по задворкам начала 2000х, хаос ужос и запустение. Я из Java и Javascript мира с няшными глянцевыми IDEшками, и все эти остатки ушедших в небытие цивилизаций создают тягостное ощущение..

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

 , ,

stevejobs
()

При восстановлении файла из бекапа duplicaty выдает «Volume was signed by key xxx, not yyy»

Форум — General

Здравствуйте. Настроил duplicaty для бекапа, используются два ключа - для шифрования и подписи, полный бекап выполнился без ошибок и ворнингов, но при восстановлении какого-либо файла выводится следующее сообщение:

Volume was signed by key 6153741E3C2904F1, not 3C2904F1
При этом сам файл успешно восстанавливается. Что это за сообщение, как понять почему duplicaty заявляет, что том был подписан не тем ключём?

З.Ы. Работаю с duplicaty через обвёртку duplicity-backup.sh, в конфиге которой прописаны оба ключа -

GPG_ENC_KEY="13A3ADB1"
GPG_SIGN_KEY="3C2904F1"
Откуда duplicaty взял ключ 6153741E3C2904F1 - непонятно.

 ,

kt368
()

exceptions в C++

Форум — Development

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

Кто-нибудь может накидать каких-нибудь технических статей на тему как следует или не следует применять эксепшены в плюсах?

UPD:
Из любопытного
почитать (стр. 32)
посмотреть

 ,

morse
()

Рекурсивный поиск по всем файлам в директории

Форум — Desktop

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

Подскажите, пожалуйста, есть ли такая программа, которая рекурсивно будет искать фразу по всем текстовым файлам, PDF (также сканированным PDF и DJVU с OСR слоем слоем), документам DOC, DOCX, ODT, XLS и т.д.?

Желательно консольное. Понимаю, что хочу многого. Для начала можно удовлетвориться поиском по текстовым файлам и изначально компьютерным PDF.

 , , ,

aquadon
()

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

Форум — Development

Пример задачи - оставить только уникальные записи в хистори.

Ищется простой, лаконичный способ на каждый день, для разнообразных однострочников.

Пока, самый короткий вариант таков:

while read -r; do printf '%s\n' "$REPLY"; done < <(history | sed "s/^[ ]*[0-9]*  //g" | sort | uniq)

 

pon4ik
()

vim - маппинг клавиш с Esc-последовательностями

Форум — Talks

Мучал гугол, но нужного ответа не нашёл.

Хочу сделать перемещение курсора по atl+hjkl. В моём случае alt+h даёт ввод ^[h. Другие буквы аналогично. Делаю map <Esc>[h - первое же нажатие выводит из режима вставки (что логично, ведь указан <Esc>). Замена на ^ ситуацию не меняет. Как сделать так, чтобы он не выходил из режима вставки?

Можно, конечно воткнуть обратно переход в режим вставки, но это ж какой оверхед будет, на каждое нажатие кнопки скакать между режимами?

 , , ,

ekzotech
()

Вопрос с собеседования.

Форум — Development

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

T() исключений не кидает, память внутри не выделяет.
f() память внутри не выделяет, возвращает int, но может кинуть исключение.

std::shared_ptr<T> t(new T( f() ) );
Я ответил такой бред: перед конструкированием объекта (вызовом T()) должна быть выделена память. Тогда возможна последовательность: malloc (от new), f(), T(). Если f() кинуло исключение, то выделенная память, в которой должен конструироваться объект, никем не освободится. Но это лютый бред, поскольку, вроде как если в ходе new летит исключение, то память, которую сам оператор new выделил, гарантированно освободится обратно. Да, исключение полетело не из конструктора T(), а при вычислении аргументов для передачи в конструктор, но я всегда думал что в случае оператора new это всё то же самое, как если бы полетело из конструктора.

Короче, я стал сомневаться в том, что собеседующий был вменяем. Течёт скорее всего у него где-то в другом месте.

 

hlamotron
()

thunderbird: назначить браузер по умолчанию

Форум — Desktop

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

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

Thunderbird перестал открывать ссылки вообще.

Как настроить thunderbird открывать ссылки файрфоксом?

 ,

pol01
()

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

Форум — Development

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

 , , ,

pon4ik
()

Подскажите аналоги WebArchive

Форум — General

Особенно которые могут сохранять или скриншотить JS страницы

нашел простенький без JS:
http://www.webcitation.org

 

sanyock
()

как посмотреть конфиг ядра?

Форум — Development

Всем привет!

Положим, у нас есть ядро (uImage), скомпиленное под определенный процессор. Как узнать, с какими флагами оно было скомпилено без предварительной загрузки?

В смысле, я знаю пока только 2 пути посмотреть конфиг ядра:

cat .config в директории с отконфигурированным ядром.

zcat /proc/config.gz из загруженной системы.

 

aido
()

Корки странно читаются на разных машинах

Форум — Development

Ситуация такая:

Есть rhel6 с rt ядром. Есть локально убунточка с lowlatency ядром. Есть докер контейнер с centos6

Версии софта в centos6 и rhel6 совпадают, согласно диффанью выхлопа rpm -q.

Когда читаю корку с rhel6, что под убунточкой, что под centos6 получаю различия выхлопа вполть до разной глубины стектрейса и количества потоков.

Как такое вообще может быть, куда смотреть? Что влияет на формат core dump'a и то как оно читается, и где про это почитать?

Корки смотрел как от падений, так и снятые gcore. Бинари я ессно проверил что одни и те же.

Тащу корку с помощью scp, предварительно пожав gzip'om.

Версии gdb везде 7.11.

 , ,

pon4ik
()

g++ -E для template

Форум — Development

Есть ли возможность «раскрыть» шаблоны? (не в уме).

К примеру результат препроцессора можно посмотреть g++ -E, есть ли что-то похожее для шаблонов?

К примеру:

template<typename T>
T add(T& t1, T& t2)
{
        return t1 + t2;
}
                                                                                                                     
int main()                                                                                                           
{                                                                                                                    
        int i1 = 1, i2 = 2;                                                                                          
        add(i1, i2);                                                                                                 
}

чтоб раскрылось в
int add(int& t1, int& t2)
{
        return t1 + t2;
}
                                                                                                                     
int main()                                                                                                           
{                                                                                                                    
        int i1 = 1, i2 = 2;                                                                                          
        add(i1, i2);                                                                                                 
}

 , , ,

ymuv
()