Pull to refresh
Ivan Gavryushin @dcc0 read⁠-⁠only

Пользователь

Send message

Мой опыт публикации книги на ridero.ru

Reading time 2 min
Views 2.7K

Недавно я решил собрать часть своих публикаций на habr.com и соорудить из них книгу - сборник статей. Поскольку часть моих заметок так или иначе связана с комбинаторикой, то навскидку у меня вырисовывалось вполне полноценное издание. Я быстренько скомпоновал PDF документ из 9 глав по одной теме, слегка подредактировав и добавив одну краткую главу. Составлением предисловия я себя утруждать не стал, сборник - это сборник, можно обойтись и без книжной формальной лирики. Хотя, конечно, - предисловие, - как говорил один очень умный человек, - это самое главное, что есть в книге. Ведь иногда достаточно прочитать предисловие, и саму книгу можно уже не читать. Руководствуясь и этой мыслью тоже, я собрал маленькую книженцию. Но встал насущный вопрос...

Читать далее
Total votes 21: ↑14 and ↓7 +7
Comments 7

mov Программирование на Ассемблере без знаний Ассемблера, habr

Level of difficulty Hard
Reading time 4 min
Views 3.6K

Пролог

Решил поделиться своими мыслями и кратким двухдневным опытом написания (собирания по частям) программы на Ассемблере без чтения учебников, больших статей и в целом без опыта программирования на этом языке. На одном из форумов я набрёл на задачу вывода десятичного числа в консоль. Если на языке C или PHP эта операция совершенно элементарна, то на Ассемблере всё не так просто, как может показаться на первый взгляд. Для решения задачи я выбрал nasm (правда, выбора и не было), немножко поигравшись предварительно с вставками nasm (синтаксис AT&T) в код C (ссылка на форум с моими опытами в конце статьи).

Философское отступление
Остановись, дорогой читатель! И прежде чем читать дальше, задай себе вопрос: возможно ли начать ковать без обучения кузнечному делу?!

Я оставлю этот вопрос без ответа. Только скажу, что в нём нет ни капли иронии, издёвки, намёка на назидательность и т.д. Это вопрос без какого-либо дополнительного подтекста.

Поиски
Информации по Ассемблеру в Интернете очень много и заблудиться в разных видах Ассемблера (для различных систем) крайне просто. Я не единственный задавался вопросом в поиске «how to print a number in asm». Ответы на разных диалектах языка относительно легко можно найти на Stack Overflow, однако это совершенно не означает, что будет легко запустить найденный код на своей машине. Велика вероятность того, что что-нибудь не сойдётся. Научиться отличать синтаксис AT&T и intel можно за несколько минут, а вот с узнаванием tasm, fasm, masm, nasm - несколько сложнее. Единственное, что можно предположить и (почти) не прогадать: базовые инструкции во всех Ассемблерах имеют (почти) одинаковые мнемоники.

Читать далее
Total votes 10: ↑7 and ↓3 +4
Comments 0

Самая маленькая система управления перезагрузкой для Linux

Reading time 3 min
Views 5K

Введение

После установки системы Gentoo Linux на свой нетбук я неожиданно обнаружил, что в системе нет штатного средства выключения и перезагрузки от обычного пользователя без использования sudo.

Защитное слово автора

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

История вопроса

После установки системы Gentoo Linux на свой неутбук я неожиданно обнаружил, что в системе нет штатного средства выключения и перезагрузки от обычного пользователя без использования дополнительных средств вроде программы sudo, а исследование файла /etc/group показало, что в нём нет группы operator. Любые попытки добавить эту группу и пользователя в неё не принесли желаемого результата - компьютер не перезагружался от простого пользователя.

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

Скрипт запускался раз в минуту от root, проверял файл в директории пользователя на наличие в нём управляющего символа и осуществлял перезагрузку или выключение, записывал в этот файл код 0 для бездействия, чтобы компьютер не начал перезагружаться бесконечно. Я и сам не заметил, что своими руками создал уязвимость в системе (хотя подозрения были). Спасибо участникам форума Linux.org.ru, которые вовремя указали мне на ошибки и дали ряд дельных советов по улучшению моей скромной системы.

Читать далее
Total votes 18: ↑2 and ↓16 -14
Comments 38

Gentoo на нетбуке, философия самоограничения и шахматы с системой

Reading time 3 min
Views 4.9K

Так сложилось, что с этим дистрибутивом я уже примерно 13 лет, с большими перерывами. Первый раз система мной была установлена на ноутбук Sony Vaio. Теперь это уже далёкий 2009 год. В сети где-то даже сохранилась моя шпаргалка об этом опыте. И вот в 2022-м, на пороге 2023-го, у меня появилась мысль поменять свой прекрасно работающий 32-х битный Calculate Linux на 64 бита. И всё задуманное было осуществлено в одночасье, за пару часов настроено до идеального состояния.
Нетбук у меня примерно 2009 года выпуска: hp mini с процессором Atom N570, 1.66GZ (2 ядра, 4 потока), 2GB DDR3RAM, графическим адаптером от intel и т.д., и т.п.

Когда я рассматривал вывод команды cat /proc/cpuinfo, у меня появилась ещё одна интересная мысль: а не установить ли мне на это железо Gentoo Linux?!

Как мне думается, у меня вышел интересный эксперимент по установке Gentoo в недельный срок классическим способом, - по Handbook - предварительно использовав для некоторых операций дистрибутив Calculate Linux.

Обо всём по порядку

Читать далее
Total votes 15: ↑10 and ↓5 +5
Comments 16

Вышел OpenChatPhp-1.1

Reading time 3 min
Views 2.5K

Недавно, - если быть точным - 3 года назад, я начал делать чат на PHP для собственных нужд. Буквально на днях я доработал пару функций и решил его всё-таки выпустить в мир. Технология, которую использует данная система, уже считается устаревшей: PHP (ООП, MVC), AJAX (XMLHttpRequest), HTML5, MYSQLI, CSS3. На одном из каналов Telegram кто-то пошутил и назвал чат ламповым, по аналогии с ламповыми телевизорами. Что тут скажешь?! Метафорически точно и остроумно подмечено! Изначально система задумывалась для замены чата на файлах в движке одной браузерной игры. Основная задача была: сделать максимально простую систему.

В 2022 году считается, что чаты на Ajax уже не делают, но почему-то продолжают делать системы комментариев к блогам, новостям и доскам объявлений. В моем представлении системы, которые называют message board и chat в целом имеют схожую схему работы, а порой вообще отличаются только названием. Система, которая получилась у меня, - что-то среднее между доской сообщений и чатом.

Читать далее
Total votes 12: ↑5 and ↓7 -2
Comments 49

Два в шестой степени

Reading time 2 min
Views 6K

Или один очевидный факт о Книге Перемен

Есть такой памятник древнекитайской письменности, называемый «Книга Перемен». Подробно о нём можно почитать в Википедии. Я лишь напомню, что этот текст считается гадательным.

Читать далее
Total votes 13: ↑0 and ↓13 -13
Comments 10

Комбинаторные свойства русского текста

Level of difficulty Hard
Reading time 3 min
Views 2.9K

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

Читать далее
Total votes 14: ↑5 and ↓9 -4
Comments 54

Benchmark testing and quick analysis of permutations algorithms

Reading time 2 min
Views 1.3K
I decided to write this small review in English, hoping to start a new trend, which I expect will improve intercommunication (Don't mind! It is just globalistic idea of a young kosmopolit).

image I urge you to reply this post in English, even you have some difficulties with this language. I am not writing a poem right now and I think we can avoid embarrassment about our English skills. However I am going to talk about some poetical issues
Читать дальше →
Total votes 14: ↑9 and ↓5 +4
Comments 9

Компания «Z»

Reading time 3 min
Views 3.7K
Как-то, году так в 2010, будучи еще зеленым и недозрелым программистом, но уже (в самом соку) техническим писателем, если не сказать акулой пера в этой сфере, я ходил устраиваться в одну крупную международную компанию (назовем её компания «Z»), на позицию младшего программиста — он же junior developer. Вакансию через социальную сеть мне прислал знакомый.
Читать дальше →
Total votes 17: ↑5 and ↓12 -7
Comments 14

Ray casting в мире веб сегодня

Reading time 4 min
Views 8.6K
Публикация содержит часть перевода статьи Джейкоба Сейделина (Jacob Seidelin) о создании трёхмерной игры с применением метода «бросания лучей» — Ray casting, на JavaScript и HTML, а также несколько примеров реализации этого метода. Цель публикации — продемонстрировать возможности Ray casting и познакомить читателя с проектом упомянутого автора.

Читать дальше →
Total votes 11: ↑7 and ↓4 +3
Comments 5

О матрице поворота простыми словами

Level of difficulty Medium
Reading time 4 min
Views 47K
Когда Пифагор плыл по реке Хуанхэ, он увидел у берега, в лодке, задремавшего рыбака, в конической шляпе и с бамбуковой удочкой в руках.
Читать дальше →
Total votes 23: ↑17 and ↓6 +11
Comments 27

О трехмерных шутерах на CSS +HTML [перевод]

Reading time 3 min
Views 15K
Привет, Хабр! Представляю вашему вниманию перевод статьи Building a 3D Game with CSS + HTML автора Michael Bromley.

Не так давно я изучал редко используемые функции CSS — функцию анимации и 3D, а после общения в конференции по JavaScript я собрал вот это demo. Пока я трудился над ним, мне стало любопытно, как далеко можно зайти в конструировании трёхмерной графики на чистом CSS.

image
(скриншот выполнен переводчиком)
Читать дальше →
Total votes 14: ↑12 and ↓2 +10
Comments 10

Видео на электронной книжке. Попытка использовать е-ink reader в качестве второго монитора в linux

Reading time 4 min
Views 22K
Данное сочинение навеяно вот этой публикацией за 2012 год, в которой изложен отличный способ избежать покупки пока единственного существующего в мире usb-монитора на жидких чернилах очень высокой стоимости. Марку, модель и цену озвучивать не буду. Если читать историю ночных экспериментов желания нет, то в конце страницы есть видео с результатом.

image

Читать дальше →
Total votes 26: ↑24 and ↓2 +22
Comments 42

Путешествие из Москвы в Казань через Санкт-Петербург или процесс разработки алгоритма поиска всех путей

Reading time 6 min
Views 2.4K
Данный материал публикуется с расчетом на начинающих программистов и неспециалистов...

Однажды вечером после чтения книжек о путешествиях, — кажется, это были знаменитое «Путешествие из Петербурга в Москву» Радищева и «Тарантасъ» Владимира Соллогуба — я сел смотреть лекцию об алгоритме Дейкстры. Смотрел, рисовал что-то на бумажке и нарисовал ориентированный граф. После некоторых размышлений мне стало интересно, как бы я реализовал алгоритм поиска всех путей из одной начальной точки (a) в какую-то другую единственную конечную точку (f) на ориентированном графе.
Читать дальше →
Total votes 12: ↑7 and ↓5 +2
Comments 1

Об оптимизации комбинаторных алгоритмов

Reading time 3 min
Views 7.5K
Не знаю, стоило ли делать отдельную заметку по оптимизации уже опубликованных алгоритмов или нужно было просто добавить в старую статью revised code. Я решил, что все же новенькое будет интереснее. Сразу должен сказать, что данная заметка предназначена не для профессиональных программистов.
Читать дальше →
Total votes 10: ↑7 and ↓3 +4
Comments 15

Нерекурсивный алгоритм генерации всех разбиений и композиций целого числа

Level of difficulty Hard
Reading time 5 min
Views 13K
Привет, Хабр! Вдруг снова захотелось написать сюда! Так как было время на выходных, я снова решил поиграться с алгоритмизацией и написал вот эту статейку. Хотел даже отправить в какой-нибудь рецензируемый журнал, но оценить тривиальность/нетривиальность данного материала я не в состоянии, так как программирование всего лишь мое хобби и то эпизодическое, поэтому, как обычно, заранее прошу прощения, если все окажется слишком простым и до боли знакомым.

Спасибо администрации Хабра за отзывчивость и молниеносную оперативность при восстановлении аккаунта!

Итак, плоды усилий долгих...
Читать дальше →
Total votes 20: ↑15 and ↓5 +10
Comments 32

Размышления об алгоритмах и методах. Представление полного алгоритма порождения сочетаний + размещений с повторением

Reading time 7 min
Views 9K
Эта статья содержит ряд наблюдений, касающихся проблем алгоритмизации, минимизации ошибок, понимания и изучения чужого кода, а также рассуждения о полном представлении алгоритмов и небольшой эксперимент.
Читать дальше →
Total votes 4: ↑3 and ↓1 +2
Comments 21

Программирование глазами (и руками ) гуманитария. Личный опыт. Немного философии

Reading time 5 min
Views 13K
У каждого, наверное, есть какая-то своя излюбленная тема в IT, помимо повседневной практической работы, приносящей порой лишь хлеб насущный. Может быть, кто-то в свободное время делает мультфильмы или работает над какой-нибудь игрой, может быть, участвует в разработке какого-нибудь социального проекта или просто изучает что-то новое без особенной на то практической нужды, одним словом — делает что-то для себя, так сказать, для души.
Читать дальше →
Total votes 26: ↑19 and ↓7 +12
Comments 28

Приключения ножниц в цифровом мире (пара строк о DevelStudio)

Reading time 2 min
Views 3.8K
Эта заметка будет совсем коротенькой, даже короче, чем лирическое отступление к ней. Вы, наверное, видели фильм Акиры Куросавы — «Еще Нет»?! Японцы ведь действительно знают толк во всем, что касается краткости и точности. Вот это ёмкое «еще нет» вертелось в моей голове с той поры, когда я услышал и переварил десяток не самых лестных комментариев о среде разработки DevelStudio 2012…
Total votes 17: ↑12 and ↓5 +7
Comments 11

К рекурсии через перестановки

Reading time 4 min
Views 12K
Поскольку речь пойдет о рекурсии, начну с конца — со списка использованной литературы:

1) Хорошая общая статья о рекурсии: habrahabr.ru/post/256351 (в ней автор говорит, что рекурсивный код легче для восприятия. Честно говоря, пока я не готов согласиться с таким выводом, именно поэтому появилась эта заметка).

2) Разбор работы рекурсии на “самом низком уровне”, тут много ассемблера, но всё достаточно понятно: club.shelek.ru/viewart.php?id=205 (особенно советую обратить внимание на тот момент, где идет речь об адресе возврата. Этот эпизод сильно облегчает понимание).

Лирическое отступление:
Данная статья настолько рекурсивная, что написана автором для самого автора, а также для тех пользователей, которые, как и автор, не уверены в стопроцентном понимании данной темы.
Читать дальше →
Total votes 20: ↑11 and ↓9 +2
Comments 2
1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Редактор
From 80,000 ₽